Modelos de Datos y Lenguajes de Consulta
Los modelos de datos son los marcos conceptuales que especifican cómo se estructuran, relacionan y restringen los datos, y los lenguajes de consulta son las notaciones formales utilizadas para recuperar y manipular datos dentro de esos modelos.
Definition
Un modelo de datos es una colección de herramientas conceptuales para describir datos, relaciones de datos, semántica de datos y restricciones de consistencia; un lenguaje de consulta es una notación para solicitar información y modificar una base de datos expresada en dicho modelo.
Scope
Esta área abarca las abstracciones utilizadas para describir datos —el modelo relacional, los diagramas entidad-relación y los modelos semistructurados y de documentos— junto con los lenguajes declarativos y algebraicos, principalmente el álgebra relacional y SQL, utilizados para expresar consultas y actualizaciones sobre ellos. Trata cómo un modelo define esquemas, instancias, claves y restricciones de integridad, y cómo la expresividad de un lenguaje de consulta se relaciona con el modelo subyacente. Excluye el almacenamiento físico, la indexación y la ejecución de consultas (cubierto en procesamiento y optimización de consultas) y la disciplina de diseño para refinar esquemas (cubierto en diseño y normalización de bases de datos).
Sub-topics
Core questions
- ¿Cómo representa un modelo de datos las entidades, relaciones y restricciones?
- ¿Cuál es la relación entre el modelo relacional y el álgebra relacional y SQL?
- ¿Cómo se mapea un diseño conceptual entidad-relación a un esquema relacional lógico?
- ¿Cómo intercambian los modelos semistructurados y de documentos esquemas rígidos por flexibilidad?
- ¿Qué determina el poder expresivo y los límites de un lenguaje de consulta?
Key concepts
- relación, tupla y atributo
- esquema e instancia
- claves y restricciones de integridad
- álgebra relacional
- SQL
- diagrama entidad-relación
- datos semistructurados
- modelos de documentos y JSON
- independencia de datos
Key theories
- El modelo relacional
- El modelo relacional de Codd representa todos los datos como relaciones (conjuntos de tuplas sobre atributos nombrados), separando la vista lógica de los datos de su almacenamiento físico y proporcionando una base matemática basada en la teoría de conjuntos y la lógica de predicados.
- Completitud relacional
- Un lenguaje de consulta es relacionalmente completo si puede expresar cada consulta expresable en el álgebra relacional; este criterio, introducido por Codd, establece una base para el poder expresivo de lenguajes prácticos como SQL.
- El modelo entidad-relación
- El modelo entidad-relación de Chen describe el mundo en términos de entidades, sus atributos y las relaciones entre ellas, proporcionando una notación de diseño conceptual de alto nivel que puede traducirse sistemáticamente en esquemas relacionales.
Clinical relevance
Los modelos de datos y los lenguajes de consulta son la base de esencialmente todos los sistemas de información: el modelo relacional y SQL sustentan las bases de datos empresariales, los sistemas financieros y los back ends web, mientras que el modelado entidad-relación estructura el análisis de requisitos, y los modelos de documentos y semistructurados apoyan el almacenamiento flexible de datos web, de registro y de configuración.
History
Las primeras bases de datos utilizaban modelos jerárquicos y de red (CODASYL) con navegación ligada al almacenamiento físico. El modelo relacional de Codd de 1970 introdujo la independencia de datos y un álgebra declarativa; esto llevó a System R e Ingres en la década de 1970 y a SQL, que se convirtió en un estándar ISO. El modelo entidad-relación de Chen de 1976 añadió una capa de diseño conceptual, y los modelos semistructurados y de documentos surgieron con la web y XML a finales de la década de 1990.
Key figures
- Edgar F. Codd
- Peter Chen
- Jeffrey D. Ullman
- Jennifer Widom
Related topics
Seminal works
- codd1970
- chen1976
- silberschatz2019
Frequently asked questions
- ¿Cuál es la diferencia entre el álgebra relacional y SQL?
- El álgebra relacional es un lenguaje matemático procedimental de operadores (selección, proyección, unión, etc.) sobre relaciones, utilizado para razonar y optimizar consultas. SQL es el lenguaje declarativo práctico utilizado en sistemas reales; se basa en el álgebra y el cálculo relacional, pero añade características como agrupación, agregación, manejo de nulos y semántica de multiconjuntos (bolsas).
- ¿Por qué modelar datos conceptualmente antes de diseñar tablas?
- Los modelos conceptuales, como los diagramas entidad-relación, capturan los requisitos en términos que los usuarios entienden —cosas y las relaciones entre ellas— independientemente de la implementación. Traducir un diseño conceptual validado a tablas relacionales reduce la redundancia y los errores de diseño en comparación con la invención directa de tablas.