18/04/2015curso bases de datos1 el modelo relacional francisco moreno
TRANSCRIPT
21/04/23 Curso Bases de Datos 1
El Modelo Relacional
Francisco Moreno
21/04/23 Curso Bases de Datos 2
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).
21/04/23 Curso Bases de Datos 3
Introducción
• Los datos se almacenan en relacionesrelaciones.• 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).
Introducción
21/04/23 Curso Bases de Datos 4
Modelo conceptual (E-R)
Transfor-mación
Modelo lógico (Relacional)
ERROR FRECUENTE: CONFUNDIR LOS CONCEPTOS DEL MODELO E-R CON
LOS DEL MODELO RELACIONAL. Ej: el concepto de clave primariaclave primaria no hace parte del modelo E-
R
21/04/23 Curso Bases de Datos 5
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.
21/04/23 Curso Bases de Datos 6
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.
21/04/23 Curso Bases de Datos 7
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.
21/04/23 Curso Bases de Datos 8
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.
21/04/23 Curso Bases de Datos 9
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 ordenLas columnas no tienen orden.
• Las tuplas no tienen ordenLas tuplas no tienen orden.
• No hay tuplas repetidas.
* Desde el punto de vista del modelo, aunque es un concepto muy elusivo.
21/04/23 Curso Bases de Datos 10
Las relaciones en:Matemáticas Modelo relacional
Sin restricciones en el tipo de valores.
Valores atómicos (de nuevo, el
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)).
21/04/23 Curso Bases de Datos 11
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.
21/04/23 Curso Bases de Datos 12
• 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.
Elementos del modelo relacional
21/04/23 Curso Bases de Datos 13
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
21/04/23 Curso Bases de Datos 14
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”.
21/04/23 Curso Bases de Datos 15
• 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.
Claves
¡No confundir clave primaria (modelo relacional) e identificador único (modelo E-R y semántico)!
21/04/23 Curso Bases de Datos 16
Claves
Regla de integridad de una clave primaria:
“Ningún componente de la clave primaria
acepta nulos”
¿Qué son? Algunos autores ni siquiera losconsideran como parte del modelo relacional…
21/04/23 Curso Bases de Datos 17
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.** Relacionan en el sentido del modelo E-R.
La clave foránea es un concepto del modelo relacional NO del modelo E-R.
21/04/23 Curso Bases de Datos 18
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?
21/04/23 Curso Bases de Datos 19
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?
21/04/23 Curso Bases de Datos 20
Otros tipos de claves
• Superclave.
• Natural.
• Inteligente.
• Artificial o surrogada.
• Solapadas.
21/04/23 Curso Bases de Datos 21
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
Comparativo de términos
21/04/23 Curso Bases de Datos 22
Una relación CURSO:
código nombre profesor hora semestre667 BD 1 Megan
FoxMJ 6-8 2011-1
201 BD 2 Megan Fox
WV 6-8 2011-1
333 Álgebra en chino
Björk López
WV 2-4 2010-2
666 BD 1 Angelina
Demonia
S 8-12 2010-2
Cabecera CP
Tuplas
Cardinalidad: 4Grado: 5
Cuerpo
21/04/23 Curso Bases de Datos 23
• 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.)
21/04/23 Curso Bases de Datos24
código nombre car_prof hora semestre
identificación nombre
Relación CURSO:CP
CP
Relación PROFESOR:
Clave foránea hacia PROFESOR
667 BD 1 1 MJ 6-8 2011-1
201 BD 2 1 WV 6-8 2011-1
…
1 Megan Fox
2 Björk López
…