Está en la página 1de 35

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
https://db-engines.com/en/ranking
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

También podría gustarte