Modelo Relacional
de Bases de Datos
Bases de datos I
René F. Navarro
Introducción
2
Ranking SMBD
Rank Score
Aug Jul Aug DBMS Database Model Aug Jul Aug
2021 2021 2020 2021 2021 2020
1. 1. 1. Oracle Relational, Multi-model 1269.26 +6.59 -85.90
2. 2. 2. MySQL Relational, Multi-model 1238.22 +9.84 -23.36
3. 3. 3. Microsoft SQL Server Relational, Multi-model 973.35 -8.61 -102.53
4. 4. 4. PostgreSQL Relational, Multi-model 577.05 -0.10 +40.28
5. 5. 5. MongoDB Document, Multi-model 496.54 +0.38 +52.98
6. 6. 7. Redis Key-value, Multi-model 169.88 +1.58 +17.01
7. 7. 6. IBM Db2 Relational, Multi-model 165.46 +0.31 +3.01
8. 8. 8. Elasticsearch Search engine, Multi-model 157.08 +1.32 +4.76
9. 9. 9. SQLite Relational 129.81 -0.39 +3.00
10. 11. 10. Microsoft Access Relational 114.84 +1.39 -5.02
3
[Link]
Ranking SMBD (Relacionales)
Rank Score
Aug Jul Aug DBMS Database Model Aug Jul Aug
2021 2021 2020 2021 2021 2020
1. 1. 1. Oracle Relational, Multi-model 1269.26 +6.59 -85.90
2. 2. 2. MySQL Relational, Multi-model 1238.22 +9.84 -23.36
3. 3. 3. Microsoft SQL Server Relational, Multi-model 973.35 -8.61 -102.53
4. 4. 4. PostgreSQL Relational, Multi-model 577.05 -0.10 +40.28
5. 5. 5. IBM Db2 Relational, Multi-model 165.46 +0.31 +3.01
6. 6. 6. SQLite Relational 129.81 -0.39 +3.00
7. 7. 7. Microsoft Access Relational 114.84 +1.39 -5.02
8. 8. 8. MariaDB Relational, Multi-model 98.98 +0.99 +8.06
9. 9. 10. Hive Relational 83.93 +1.26 +8.64
10. 10. 11. Microsoft Azure SQL Database Relational, Multi-model 75.15 -0.06 +18.31
4
Fundamentos teóricos del modelo relacional
El modelo relacional fue creado por Edgar F. Codd como un modelo general de
los datos, y posteriormente desarrollado por Chris Date y Hugh Darwen entre
otros.
Su propósito es proporcionar un método declarativo para la especificación de
datos y consultas:
◼ los usuarios especifican directamente la información que contiene la base de datos y la
información que requieren;
◼ el SMBD describe las estructuras de datos para almacenar y los procedimientos de
recuperación de datos para responder a las consultas.
5
Fundamentos teóricos del modelo relacional
Si consideramos dos conjuntos, D1 y D2, donde:
◼ D1 = {2, 4} y D2 = {1, 3, 5}.
El Producto Cartesiano, D1×D2, es el conjunto de todos los
pares ordenados tales que el primer elemento del par es un
elemento de D1 y el segundo es un elemento de D2.
◼ D1 × D2 = {(2, 1), (2, 3), (2, 5), (4, 1), (4, 3), (4, 5)}
Una forma alternativa es encontrar todas las combinaciones
tomando D1 primero y en después D2.
6
© Pearson Education Limited 1995, 2005
Fundamentos teóricos del modelo relacional
Cualquier subconjunto del producto cartesiano es una Relación;
e.g.
◼ R = {(2, 1), (4, 1)}
Podemos especificar que pares están en una relación usando
alguna condición para la selección:
◼ El segundo elemento es 1:
R = {(x, y) | x D1, y D2, y = 1}
◼ El primer elemento siempre es el doble del segundo:
S = {(x, y) | x D1, y D2, x = 2y}
7
© Pearson Education Limited 1995, 2005
Fundamentos teóricos del modelo relacional
Considera tres conjuntos con producto Cartesiano D1 D2 D3;
e.g.
◼ D1 = {1, 3} D2 = {2, 4} D3 = {5, 6}
◼ D1 D2 D3 = {(1,2,5), (1,2,6), (1,4,5), (1,4,6), (3,2,5), (3,2,6), (3,4,5),
(3,4,6)}
Cualquier subconjunto de esta serie de tripletas es una relación.
(1,2,5) (2,5) (1,5) (1,2,5) (2,6)
(1,2,6) (4,5) (1,6) (1,4,5) (4,6)
(1,4,5) (4,6) (3,5) (3,2,5)
(1,4,6) (2,6) (3,6) (3,4,5)
(3,2,5)
(3,2,6)
(3,4,5) 8
(3,4,6) © Pearson Education Limited 1995, 2005
Fundamentos teóricos del modelo relacional
El producto Cartesiano de n conjuntos (D1, D2, . . ., Dn) es:
◼ D1 D2 . . . Dn = {(d1, d2, . . . , dn) | d1 D1, d2 D2, . . . , dn Dn}
normalmente escrito como:
◼ n
◼ XDi
◼ i=1
Cualquier conjunto de n-tuplas de este producto Cartesiano es una
relación de n conjuntos.
9
© Pearson Education Limited 1995, 2005
Terminología del modelo relacional
Una relación es una tabla con columnas y filas.
◼ Solo se aplica a la estructura lógica de la base de datos, no a la
estructura física
Un atributo es una columna con nombre de una relación.
Un dominio es un conjunto de valores permitidos para uno o
más atributos.
10
© Pearson Education Limited 1995, 2005
Terminología del modelo relacional
Una tupla es una fila (renglón) de una relación.
El grado de una relación es el número de atributos que contiene.
La cardinalidad de una relación es el número de tuplas que
contiene.
Base de datos relacional es una colección de relaciones
normalizadas en la que cada relación tiene un nombre distintivo.
11
© Pearson Education Limited 1995, 2005
Instancias de las relaciones Branch y Staff
12
© Pearson Education Limited 1995, 2005
Ejemplos de dominios de atributos
13
© Pearson Education Limited 1995, 2005
Terminología alternativa
Término formal Alternativa 1 Alternativa 2
Relación Tabla Archivo
Tupla Renglón Registro
Atributo Columna Campo
14
© Pearson Education Limited 1995, 2005
Relaciones en una base de datos
Esquema de relación
◼ Una relación, con un nombre, formada por un conjunto de parejas
de atributos y nombres de dominio (e.g. empleados, cursos,
puestos)
Esquema de una base de datos relacional
◼ Un conjunto de esquemas de relación, cada uno con un nombre
distinto.
15
© Pearson Education Limited 1995, 2005
Relaciones en una base de datos
16
Propiedades de las relaciones
La relación tiene un nombre distinto de los demás nombres de
relación del esquema relacional.
Cada celda de la relación contiene exactamente un solo valor atómico
(único).
Cada atributo (columna) tiene un nombre distintivo único.
Los valores de un atributo pertenecen todos al mismo dominio.
17
© Pearson Education Limited 1995, 2005
Propiedades de las relaciones
En una relación cada tupla es diferente, no hay tuplas
duplicadas.
El orden de los atributos no tiene importancia.
◼ El orden de las tuplas no tiene importancia, teóricamente.
18
© Pearson Education Limited 1995, 2005
Claves relacionales
Superclave (superkey)
◼ Atributo, o conjunto de atributos, que identifica de forma unívoca cada tupla dentro
de una relación.
Clave candidata (candidate key)
◼ Una superclave (K) tal que ningún subconjunto propio de la misma es una superclave
de la relación.
Propiedades de la clave candidata
◼ Unicidad: En cada tupla de R, los valores de K identifican unívocamente a la tupla.
◼ Irreducibilidad: Ningún subconjunto propio de la misma es una superclave de la
relación.
19
© Pearson Education Limited 1995, 2005
Claves relacionales
Clave principal (primary key)
◼ La clave candidata seleccionada para identificar las tuplas de forma univoca dentro
de la relación.
Claves alternas (altern key)
◼ Las claves candidatas que no se seleccionan como clave principal.
Clave externa, Clave foranea (foreign key)
◼ Un atributo, o conjunto de atributos, dentro de una relación que corresponde con la
clave candidata de alguna (posiblemente la misma) relación.
20
© Pearson Education Limited 1995, 2005
Repaso
Para cada tabla indicar el
grado.
Para cada tabla indicar su
cardinalidad.
Indicar claves primarias para
cada tabla
Inidcar claves foraneas para
cada tabla
21
Repaso
Cual es el producto cartesiano de Customer X Order
22
Restricciones de integridad
La integridad de la base de datos se refiere a la exactitud y
consistencia interna de la misma.
Un estado legal de la base de datos es aquel que cumple con
todas las reglas de integridad.
Parte del trabajo de SMDB es implementar restricciones de
integridad para asegurar que cualquier operación mantenga
el estado legal de la base de datos.
23
© Pearson Education Limited 1995, 2005
Restricciones de integridad
Valores nulos (NULL)
◼ Representa un valor para un atributo que actualmente se
desconoce o no es aplicable para esta tupla.
◼ Trato de datos incompletos o excepcionales.
◼ Representa la ausencia de un valor y no es lo mismo que
cero o espacios, que son valores.
24
© Pearson Education Limited 1995, 2005
Restricciones de integridad
Integridad de entidad
◼ En una relación ningún atributo de una clave principal puede ser
nulo.
Integridad referencial
◼ Si hay una clave externa en una relación, el valor de la clave
externa debe corresponder con el valor de la clave candidata de
alguna tupla en su relación de origen o el valor de la clave externa
debe ser nulo.
25
© Pearson Education Limited 1995, 2005
Restricciones de integridad
Restricciones generales
◼ Son reglas adicionales especificadas por los usuarios o
administradores de la base de datos que definen o
restringen algún aspecto de la organización.
◼ e.g. Ningún maestro puede impartir más de 3 cursos, no se
pagan horas extras los fines de semana, hay que ser mayor
de edad para comprar alcohol.
26
© Pearson Education Limited 1995, 2005
Vistas (Views)
Relación base
◼ Una relación nominada correspondiente a una entidad del esquema conceptual,
cuyas tuplas están almacenadas físicamente en una base de datos.
Vista
◼ Resultado dinámico de una más operaciones sobre relaciones base para
producir otra relación.
◼ Una vista es una relación virtual que no necesariamente existe en la base de
datos, sino que puede producirse cuando se solicite por parte de un usuario
concreto, generándosela en el momento de la solicitud.
27
© Pearson Education Limited 1995, 2005
Vistas
El contenido de una vista se define como una consulta sobre
una o más relaciones base.
Las vistas son dinámicas, lo que significa que los cambios
que se hagan en las relaciones base afectan a la vista se
reflejan inmediatamente en está.
28
© Pearson Education Limited 1995, 2005
Vistas
29
Ejemplo vista
30
Ejemplo vista
31
Propósito de las vistas
Provee un mecanismo de seguridad potente y flexible al
ocultar partes de la base de datos a ciertos usuarios.
Permite a los usuarios acceder a los datos en forma
personalizada para sus necesidades, de forma que unos
mismos datos pueden ser vistos en forma distinta por
diferentes usuarios simultáneamente.
Puede simplificar las operaciones complejas sobre las
relaciones base.
32
© Pearson Education Limited 1995, 2005
Actualización de las vistas
Todas las actualizaciones a una relación base deben verse
inmediatamente reflejadas en todas las vistas que hagan
referencia a esa relación base.
Si se actualiza la vista, la relación base subyacente debe reflejar
el cambio.
33
© Pearson Education Limited 1995, 2005
Actualización de las vistas
Existen restricciones en los tipos de modificaciones que se
pueden efectuar a través de las vistas:
◼ Se permiten actualizaciones a través de una vista definida mediante
una consulta simple en la que se incluya una única relación base;
que contenga la clave principal o una clave candidata de la relación
base.
◼ No se permiten las actualizaciones mediante vistas que impliquen
múltiples relaciones base.
◼ No se permiten las actualizaciones mediante vistas que impliquen
operaciones de agregación o agrupación.
34
© Pearson Education Limited 1995, 2005
Actualización de las vistas
Se han definido clases de vistas que son:
◼ Teóricamente no actualizables;
◼ Teóricamente actualizables;
◼ Parcialmente actualizables.
35
© Pearson Education Limited 1995, 2005