Download modelo relacional - Universidad Nacional de Colombia : Sede
Document related concepts
Transcript
El Modelo Relacional Francisco Moreno 09/08/2017 Curso Bases de Datos 1 Antecedentes • El artículo que inició todo: Edgar Frank Codd, “A Relational Model of Data for Large Shared Data Banks”, 1970. • Modelo lógico basado en teoría de conjuntos: operaciones sobre conjuntos de datos. • Es sencillo comparado con otros modelos lógicos (red, jerárquico). 09/08/2017 Curso Bases de Datos 2 Introducción • Los datos se almacenan en relaciones. • El concepto de relación en el modelo relacional es diferente del concepto de relación en el modelo E-R. • Informalmente, en el modelo relacional: relación = tabla • Se apoya en el álgebra y en el cálculo de relaciones • Originó los RDBMS (SGBD Relacionales). 09/08/2017 Curso Bases de Datos 3 Introducción Modelo lógico (Relacional) Modelo conceptual (E-R) Transformación ERROR FRECUENTE: CONFUNDIR LOS CONCEPTOS DEL MODELO E-R CON LOS DEL MODELO RELACIONAL. Ej: el concepto de clave primaria no hace parte del modelo E-R 09/08/2017 Curso Bases de Datos 4 Ventajas • • • • Separación clara del nivel lógico y el físico. Sencillo y maduro. Fácil modificación de datos y del esquema. Operadores con gran poder de manipulación de los datos álgebra y cálculo relacional • Fundamentación teórica sólida (teoría de conjuntos). • Compatibilidad y estandarización. 09/08/2017 Curso Bases de Datos 5 Ventajas • Garantiza la independencia de los datos. • Soportado por numerosos sistemas comerciales que garantizan conectividad con los lenguajes de programación más usados (Java, C#, PHP, Visual Basic, etc.) • Muy difundido: se consigue fácilmente apoyo técnico. 09/08/2017 Curso Bases de Datos 6 Desventajas • No incluye comportamiento a diferencia de los modelos objetual y objeto relacional. • Dificultad o imposibilidad para representar – reglas complejas de negocio – reglas de conocimiento (inferencia)*. • Dificultad para manejar herencia (se trata de simular). • Descompone un elemento de interés en varias tablas*. • El manejo de datos “complejos” (cf. con los atributos grupales y multivaluados del modelo conceptual semántico) podría llevar a diseños complejos. * Por medio de vistas se puede suplir en parte este aspecto. * Esto implica que hay que reconstruir el elemento de interés. 09/08/2017 Curso Bases de Datos 7 Elementos del modelo relacional • Relación (tabla): – Concepto abstracto. Estructura: filas (tuplas) y columnas (atributos). – Se pueden definir por comprensión y por extensión*: • Ej.: Por comprensión: Estudiante = {x | x (carné, nombre, teléfono) es estudiante de la Universidad Nacional de Colombia} *Implica listar individualmente, los elementos de la relación. 09/08/2017 Curso Bases de Datos 8 Elementos del modelo relacional • Relación: Conjunto de tuplas – Propiedades: • Cada “celda” (intersección de una fila con una columna) es atómica* o univaluada. • Cada columna tiene un nombre único dentro de la relación. • Las columnas no tienen orden. • Las tuplas no tienen orden. • No hay tuplas repetidas. * Desde el punto de vista del modelo, aunque es un concepto muy elusivo. 09/08/2017 Curso Bases de Datos 9 Las relaciones en: Matemáticas Modelo relacional Sin restricciones en el tipo de Valores atómicos (de nuevo, el valores. concepto “atómico” es muy elusivo). Columnas sin nombre. Columnas con nombre. Distinción de columnas por su posición. Distinción de columnas por su nombre. Constantes en el tiempo. Variables en el tiempo (aunque algunos autores diferencian entre relación y variable de relación (varrel)). 09/08/2017 Curso Bases de Datos 10 Elementos del modelo relacional • Tupla: Una relación es un conjunto de tuplas: – Cada instancia (fila o registro) de una relación. – Sirve para representar la instancia de una entidad del modelo E-R. – Cardinalidad o extensión de una relación: número de tuplas. 09/08/2017 Curso Bases de Datos 11 Elementos del modelo relacional • Atributo: – Cada campo o columna de una relación. – Grado o aridad de una relación: número de atributos. – El conjunto de atributos forman la cabecera de la relación. – Cada atributo está valuado o basado sobre un dominio. 09/08/2017 Curso Bases de Datos 12 Elementos del modelo relacional • Dominio: – – – – Colección, lista de valores. Un dominio es un tipo de datos. Pueden valuar a varios atributos. Una definición formal de relación: Es el subconjunto del producto cartesiano de los dominios D1, D2, …, Dn. (no necesariamente diferentes): R D1 D2 … Dn 09/08/2017 Curso Bases de Datos 13 Claves (Keys)* • Clave candidata de una relación: – Atributo (puede ser compuesto) cuyos valores diferencian a una tupla de las demás. – Debe cumplir unicidad y minimalidad (irreducibilidad). – ¿Por qué toda relación tiene al menos una clave candidata? *Algunos autores usan el término “llaves”. 09/08/2017 Curso Bases de Datos 14 Claves • Clave primaria de una relación: – Elegida a partir de las claves candidatas de la relación. Las no elegidas (si las hay) se denominan claves alternativas o secundarias. – Equivale al identificador único (#, |) del modelo E-R y al identificador único (ID) del modelo semántico. ¡No confundir clave primaria (modelo relacional) e identificador único (modelo E-R y semántico)! 09/08/2017 Curso Bases de Datos 15 Claves Regla de integridad de una clave primaria: “Ningún componente de la clave primaria acepta nulos” ¿Qué son? Algunos autores ni siquiera los consideran como parte del modelo relacional… 09/08/2017 Curso Bases de Datos 16 Claves • Clave foránea (ajena o externa): – Atributo (puede ser compuesto) en una relación R1 que referencia a la clave primaria (o alternativa) de una relación R2 (R1 y R2 no necesariamente diferentes). – Especifica de forma explícita la forma en que dos relaciones* se relacionan**. * Relaciones en el sentido del modelo relacional. La clave foránea es ** Relacionan en el sentido del modelo E-R. 09/08/2017 Curso Bases de Datos un concepto del 17 modelo relacional NO del modelo E-R. Claves Regla de integridad referencial: “Ningún componente de una clave foránea puede contener valores que no están presentes en la clave primaria (o alternativa) a la que referencia”. • ¿Puede una clave foránea aceptar nulos? • ¿Cómo es el dominio de una clave foránea con respecto al dominio de la clave primaria (o alternativa) a la que referencia? 09/08/2017 Curso Bases de Datos 18 Claves • ¿Qué sucede si se pretende borrar el valor al que referencia (“padre”) una clave foránea? • Posibles cursos (políticas) de acción: - Cascada. - Restringido. - Nulificación (no siempre es posible ¿cuándo lo es?). - Programada. • ¿Qué pasa si se actualiza el valor al que referencia (“padre”) una clave foránea? 09/08/2017 Curso Bases de Datos 19 Otros tipos de claves • • • • • Superclave. Natural. Inteligente. Artificial o surrogada. Solapadas. 09/08/2017 Curso Bases de Datos 20 Comparativo de términos Relacional formal Informal Sistema de archivos Relación Tabla Archivo Tupla Fila Registro Atributo Columna Campo Instancia de una relación Conjunto de filas de una tabla Conjunto de registros de un archivo Cardinalidad Número de filas Número de registros Grado o aridad Número de columnas Número de campos Clave primaria Llave, identificador Sin equivalente Clave foránea Llave externa o ajena, interrelación Sin equivalente Dominio Conjunto de valores válidos Conjunto de valores válidos 09/08/2017 Curso Bases de Datos 21 Una relación CURSO: Cabecera CP Cuerpo código nombre profesor hora semestre 667 BD 1 Megan Fox MJ 6-8 2011-1 201 BD 2 Megan Fox WV 6-8 2011-1 333 Álgebra en chino 666 BD 1 Björk López Angelina Demonia WV 2-4 2010-2 S 8-12 2010-2 Tuplas 09/08/2017 Cardinalidad: 4 Grado: 5 Curso Bases de Datos 22 • En la relación anterior, ¿hay claves alternativas? • ¿Qué pasaría si hubiese dos profesores con el mismo nombre y apellido? Ej. Dos Megan Fox Colocar mejor el número de identificación del profesor en CURSO y en otra relación cada profesor con sus atributos (identificación, nombre, etc.) 09/08/2017 Curso Bases de Datos 23 Relación CURSO: CP código nombre car_prof 667 BD 1 201 BD 2 hora semestre 1 MJ 6-8 1 WV 6-8 2011-1 2011-1 … Clave foránea hacia PROFESOR Relación PROFESOR: identificación CP nombre 1 Megan Fox 2 Björk López … 09/08/2017 Curso Bases de Datos 24