¿Debo aprender primero sobre bases de datos o estructuras de datos?

Si eres un estudiante de secundaria, te sugiero que te aferres a tu trabajo de curso y te preocupes por esta pregunta más tarde.

Si usted es un estudiante universitario, el plan de estudios de su curso debe definir qué materia es un requisito previo para la otra.

Si usted es alguien que intenta ingresar al campo de desarrollo de software sin obtener un título en Ciencias de la Computación o equivalente, buena suerte porque está tratando de ingresar atajando el crecimiento profesional temprano y la educación necesaria para tener éxito.

Ahora para la respuesta real …

Tome la ruta de la estructura de datos primero porque las opciones de almacenamiento disponibles al definir un esquema de base de datos requieren conocer la estructura de datos subyacente. Por ejemplo, algunas opciones son b-tree, heap e isam. Saber qué estructura de datos funciona mejor (con el conjunto de campos clave primarios definidos) ayudará a obtener la mejor eficiencia de la base de datos al realizar consultas.

Además, las estructuras de datos son una habilidad de conocimiento base necesaria para ser un desarrollador de software exitoso.

Puede retroceder y aprender primero la teoría de la base de datos y conseguir un trabajo, pero estará expuesto muy pronto como una persona que carece de habilidades muy rápidamente y le mostrará la puerta antes de que pueda demostrar su valía.

Definitivamente no son un requisito previo el uno para el otro.
Pero puede entenderlo como estructuras de datos que son la capa oculta subyacente debajo de las bases de datos.

Entiéndalo así, suponga que las Estructuras de datos son sus contenedores y la Base de datos como su estantería o estante para libros.
Puede haber varios tipos de contenedores como cajones, cajas, bolsas, porta archivos, etc. De manera similar, las estructuras de datos lo ayudan a almacenar los datos en un contenedor particular según sus requisitos y uso. Algunas de las estructuras de datos más comunes son matrices, listas enlazadas, árboles, mapas hash, etc.
Ahora, en su estantería o estante para libros, puede guardar cajas o archivadores y luego sus cosas en esas cajas. Esto te ayudará a mantener tus cosas organizadas y será más fácil encontrar algo. Pero también puedes usar tus cajas en cualquier otro lugar. No está obligado a usarlos solo en sus estantes de libros.
De manera similar, en las bases de datos reales, sus datos se almacenan en estructuras de datos como árboles equilibrados o tablas hash. Nunca lo verás mientras usas las bases de datos. Así es como se han implementado las bases de datos en los niveles inferiores. Y Databases es uno de los muchos lugares (en realidad, en todas partes) donde se utilizan estructuras de datos.

Las bases de datos se utilizan normalmente para almacenar algunos datos relevantes estructurados que se relacionan con otros datos. Y en las bases de datos, aprende cómo obtener la información deseada de los datos almacenados, cómo analizarlos, cómo almacenarlos de manera eficiente, transacciones, etc. Esto cubre principalmente el back-end de cualquier aplicación.

Las estructuras de datos son principalmente los bloques de construcción o tokens para cualquiera de sus diseños lógicos que lo ayudan a codificar su lógica. Si la programación es en inglés, entonces las estructuras de datos son ABC D.

Me sorprendería si uno fuera un requisito previo para el otro. Son cosas realmente muy diferentes.

Las estructuras de datos son formas de almacenar sus datos, generalmente en la memoria. Algunos de ellos son bastante sencillos, como una matriz. Algunos de ellos son estructuras de propósito general que tienen muchas aplicaciones, como un Diccionario o un HashSet. Algunos son específicos para algoritmos particulares.

Una base de datos es diferente: es un lugar que puede almacenar datos, generalmente en el disco. Si utiliza una base de datos correctamente, puede almacenar muchos datos y devolver las partes que desea de manera eficiente.

Estructuras de datos. Esa es la primera clase en la mayoría de los cursos universitarios que no se trata de los conceptos básicos del lenguaje de programación. Le resultará difícil entender cualquier otro curso de Informática sin él.

Son dos temas diferentes y ninguno es un requisito previo para el otro.

Si está aprendiendo a programar, necesitará aprender sobre estructuras de datos tan pronto como tenga lo básico fuera del camino.

En general, aprender sobre bases de datos es aprender sobre cómo usar un paquete de base de datos en particular y no es esencial conocer los detalles de cómo se almacenan los datos.

Por supuesto, si está aprendiendo a escribir su propio paquete de base de datos desde cero, primero deberá conocer las estructuras de datos.

Si solo planea hacer la recuperación de datos y similares, probablemente pueda salirse con cualquiera de ellos. Sin embargo, si planea escribir cualquier código, obtendrá más de un curso de base de datos (entendiendo la estructura del software y las cosas que podría hacer con sus datos en un programa) si primero toma el curso de estructuras de datos.

Imagine la diferencia entre aprender Microsoft Excel (u otro programa de hoja de cálculo) y contabilidad. En teoría, podría no importar cómo los tome, pero un contador sabría mejor qué características y técnicas buscar en Excel que alguien que viene de la calle (y solo quiere usar Excel para hacer listas de compras) no puede ver .

More Interesting

¿La disciplina de la programación de computadoras / ingeniería de software está separada de cualquier lenguaje de programación en particular, y si es así, cómo?

¿Hay clases y recursos que cubren la ética en el desarrollo de software / informática?

¿Qué certificado debe tener cada desarrollador?

¿Qué herramientas / gadgets utilizas para ser un ingeniero de software productivo?

¿Puede IBM suministrar software de buena calidad (a diferencia del hardware) aunque sea de su tamaño y sus intereses demasiado extendidos?

¿Qué idiomas se usan más para desarrollar software de sistema?

¿Cuáles son los mayores problemas para un Gerente de proyectos técnicos en desarrollo de software o desarrollo web?

¿Cuánto más desordenada es la condición de trabajo de los ingenieros de software en India que en Estados Unidos?

¿Qué significa en realidad la Transferencia de estado representacional (REST)?

¿Cuál es la diferencia entre informática especificada en software e ingeniería de software? ¿Cual es mejor?

¿Cuáles son algunas excelentes herramientas de software para proveedores de alojamiento web?

¿Cómo ha evolucionado el trabajo de prueba de control de calidad en los últimos 10 años de la industria del software?

¿Los principales desarrolladores de software se quedan en Singapur? Si es así, ¿a dónde van?

¿Se pagará a los desarrolladores web a la par de los desarrolladores de software?

¿Las empresas tecnológicas contratan pasantes de ingeniería de secundaria?