1. MODELO RELACIONAL
M.SC. ALDO VALDEZ ALVARADO
Preparado como parte de los contenidos de la Asignatura
Diseño y Administración de Base de Datos
UNIVERSIDAD MAYOR DE SAN ANDRÉS
CARRERA DE INFORMÁTICA
4. El modelo relacional lo propuso por primera vez
Codd en 1970, en un ensayo titulado “A Relational
Model of Data for Large Shared Data Banks”. Gran
parte de las primeras investigaciones acerca del
modelo la realizaron Codd y sus asociados en el
laboratorio de investigación de IBM, anteriormente
en San José, California.(Ricardo, 2006)
5. El modelo relacional se basa en la noción
matemática de relación. Codd y otros extendieron
la noción para aplicarla al diseño de bases de
datos. Por ende, fueron capaces de sacar ventaja
del poder de la abstracción matemática y de la
expresividad de la notación matemática para
desarrollar una estructura simple, pero poderosa,
para las bases de datos. (Ricardo, 2006)
8. Relación
• El modelo relacional se basa en el concepto de
relación, que se representa físicamente como una
tabla o arreglo bidimensional.
• En este modelo, las tablas se usan para contener
información acerca de los objetos a representar
en la base de datos.
• Al usar los términos del modelo entidad-relación,
los conjuntos de entidades y de relaciones se
muestran usando tablas. (Ricardo, 2009)
9. Relación
• Una relación se representa como una tabla
bidimensional en la que las filas de la tabla
corresponden a tuplas individuales y las
columnas corresponden a atributos.(Ricardo,
2009)
• Una relación esta compuesta de una cabecera y
un cuerpo. (Sharma et. al, 2010)
10. Relación
• La cabecera consiste de un conjunto fijo de
atributos.
• El cuerpo consiste en un conjunto de tuplas que
varían en el tiempo, donde cada tupla a su vez
consiste en un conjunto de pares de atributos y
valores. (Sharma et. al, 2010)
11. Relación
Características de una relación
• Un grado de la relación es equivalente al número
de atributos de esa relación. Una relación de
grado uno se llama unaria, una relación de grado
dos binaria, una relación de grado tres ternaria, y
así sucesivamente. Una relación de grado n se
llama naria.(Sharma et. al, 2010)
12. Relación
Características de una relación
• La cardinalidad de la relación es equivalente con
el número de tuplas de esa relación. La
cardinalidad de una relación cambia con el
tiempo, mientras que el grado no cambia con
tanta frecuencia.(Sharma et. al, 2010)
13. Relación
Características de una relación
• El estado en el que existe una relación en un
momento en el tiempo se denomina instancia de
la relación. Por lo tanto, durante la vida de una
relación puede haber muchas instancias de
relación. (Sharma et. al, 2010)
14. Relación
Propiedades
• No hay tuplas duplicadas en una relación
• Las tuplas están desordenadas (de arriba a
abajo)
• Los atributos están desordenados (de izquierda a
derecha)
• Todos los valores de los atributos son atómicos.
(Sharma et. al, 2010)
15. Atributos
• Un dato característico del mundo real, modelado
en la base de datos, estará representada por un
atributo.
• Un atributo debe tener un nombre, por lo que
puede referirse a una característica, y el nombre
debe ser lo más relevante posible para esa
característica. (Sharma et. al, 2010)
16. Atributos
• Los términos informales utilizados para definir un
atributo son: columna en una tabla o campo en
un archivo de datos. (Sharma et. al, 2010)
17. Dominio
• Un dominio es un conjunto de valores atómicos
que son todos del mismo tipo.
• Un valor es la unidad de datos más pequeña en el
modelo relacional.
• Un atributo siempre tiene un dominio asociado a
él.
• Este dominio proporciona los valores posibles
para ese atributo. (Sharma et. al, 2010)
18. Dominio
• Dos o más atributos se pueden definir en el
mismo dominio.
• Un dominio tiene un nombre, por lo que podemos
hacer referencias a él, y una dimensión.
• La dimensión viene dada por la cantidad de
valores que tiene el dominio.
• Los dominios son principalmente de naturaleza
conceptual. (Sharma et. al, 2010)
19. Dominio
• En la mayoría de los casos, no están almacenados
explícitamente en la base de datos.
• Los dominios deben especificarse como parte de
la definición de la base de datos y, luego, cada
definición de atributo debe incluir una referencia
al dominio correspondiente, de modo que el
sistema conozca los atributos que son
comparables entre sí. (Sharma et. al, 2010)
20. Tupla
• Una tupla es un conjunto ordenado de valores
que describen las características de los datos en
un momento determinado.
• Otro término formal utilizado para definir una tupla
es n-tupla.
• Los términos informales utilizados para las tuplas
son: fila en una tabla o registro en un archivo de
datos. (Sharma et. al, 2010)
21. Esquema
• Un esquema de base de datos es una descripción
formal de todas las relaciones (tablas) en las
bases de datos y todas las relaciones existentes
entre ellas. (Sharma et. al, 2010)
22. Claves
• El modelo relacional usa claves para definir a los
identificadores de las tuplas de una relación. Las
claves se usan para imponer reglas y/o
restricciones en los datos de la base de datos.
• Esas restricciones son esenciales para
mantener la consistencia y corrección de los
datos. (Sharma et. al, 2010)
23. Claves
• El SGBD relacional permite la definición de
dichas claves y, a partir de este punto, el SGBDR
es responsable de verificar y mantener la
corrección y la coherencia de los datos de la base
de datos.(Sharma et. al, 2010)
24. Claves
Claves candidatas
• Una clave candidata es un identificador único
para las tuplas de una relación. Por definición,
cada relación tiene al menos una clave candidata
(la primera propiedad de una relación). En la
práctica, la mayoría de las relaciones tienen
múltiples claves candidatas.(Sharma et. al, 2010)
25. Claves
Claves candidatas
• Un conjunto de claves candidatas, son
candidatas, si y solamente si, satisfacen las
siguientes dos propiedades independientes del
tiempo.
• En un momento dado, no hay dos tuplas
distintas de la Relación que tengan el mismo
valor para cualquiera de sus atributos. (Sharma
et. al, 2010)
26. Claves
Claves candidatas
• No se puede descartar ninguna de las claves
candidatas, sin destruir la anterior propiedad.
• Una clave candidata, es llamada algunas veces
clave única.
• Si una relación tiene más de una clave candidata,
la que se elige para representar la relación se
denomina clave principal, y las demás claves
candidatas se denominan claves alternativas.
27. Claves
Claves primarias
• Una clave principal es un identificador único de
las tuplas en una relación. Como se mencionó
anteriormente, se trata de una clave candidata
que se elige para representar la relación en la
base de datos y para proporcionar una manera
única de identificar cada tupla de la relación. Una
relación en la base de datos siempre tiene una
clave principal. (Sharma et. al, 2010)
28. Claves
Claves primarias
• Los valores de estos atributo deben ser únicos y
no nulos para todas las tuplas de todas las
instancias de la relación.
• Hay situaciones del mundo real de los datos, en
las que la característica modelada por esa
relación, no tiene valores únicos. (Sharma et. al,
2010)
29. Claves
Claves primarias
• En esos casos, la solución adoptada es
introducir otro atributo, como un ID, sin
significado para los datos del mundo real, que
tendrá valores únicos y se utilizará como clave
principal. (Sharma et. al, 2010)
30. Claves
Claves primarias
• Este atributo generalmente se llama clave
sustituta. A veces, en la literatura sobre bases de
datos, también encontrará que se hace referencia
a ella como clave artificial. (Sharma et. al, 2010)
31. AUTOMÓVIL
Tipo Fabricante Modelo Año_fabricación Color
Combustibl
e Nro_chasis Nro_motor Placa
Minibus Suzuky Mini 2001Blanco Gas
WQW-
151515
ER-12223-
ERD 2345-JLP
Particular Toyota RAV4 2010Azul Gasolina
ERT-
1357908
TR-12345-
JKL 3967-MDR
Van SUzuky MDL 2015Verde Gas
DFC-
3435445
TG-23547-
KML 4198-NJI
Particular Nissan Sunny 2000Rojo Gasolina
GVB-
5678956
XC-46579-
OKI 1928-ASD
Particular Suzuky Celerio 2016Blanco Gasolina
EDF-
2938474
ZX-92836-
LMJ 4238-EFR
Minibus Toyota VEL 2001Rojo Gas BNM-346289
I-23767-45-
JK 1978-ALD
CABECERA
CUERPO
Tupla
Atributo
Valor
Claves candidatas
Clave principal
32. Claves
Claves foráneas o externas
• Una clave foránea es un atributo (o combinación
de atributos) en una relación R2 cuyos valores son
necesarios para coincidir con los de la clave
primaria de alguna relación R1 (R1 y R2 no
necesariamente distintos). Tenga en cuenta que
una clave foránea y la clave principal
correspondiente se deben definir en el mismo
dominio subyacente. (Sharma et. al, 2010)
33. Claves
Claves foráneas o externas
• Las coincidencias de clave-foránea-principal
representan referencias de una relación a otra.
• Son el pegamento que mantiene unida la base de
datos.
• Otra forma de decir esto es que las coincidencias
de clave-foránea-principal representan ciertas
relaciones entre tuplas. (Sharma et. al, 2010)
34. Claves
Claves foráneas o externas
• No obstante, tenga en cuenta que no todas las
relaciones de este tipo están representadas por
coincidencias de clave-foránea-principal.(Sharma
et. al, 2010)
35. DUEÑO
ID
Pri_Nombr
e Apellido_P Ciudad Calle Número Teléfono Placa
1Vladimir Lopez La Paz Arce 12 24345672345-JLP
2Miguel Caballero Santa Cruz Primer A. 123 32454653967-MDR
3Adolfo Ugarte La Paz Villazón 11 23143344198-NJI
4Lucy Alvarado La Paz Torres 56 28838381928-ASD
5Victoria Chavez Cochabamba Bartolina 23 12324354238-EFR
6Claudia Caballero Chuquisaca Indepen. 53 3445461978-ALD
Clave Primaria Clave Foránea
37. En el modelo relacional, la integridad de los datos
se puede lograr usando reglas o restricciones de
integridad. Esas reglas son generales, y se
especifican en el nivel de esquema de la base de
datos y deben ser respetadas por cada instancia
del esquema. Si queremos tener una definición de
la base de datos relacional correcta, tenemos que
declarar tales restricciones.
38. Si un usuario intenta ejecutar una operación que
violaría la restricción, entonces el sistema debe
rechazar la operación o, en situaciones más
complicadas, realizar alguna acción de
compensación en alguna otra parte de la base de
datos. (Sharma et. al, 2010)
39. Integridad de la Entidad
La restricción de integridad de la entidad dice que
ningún atributo que participe en la clave primaria de
una relación puede aceptar valores nulos.
La justificación para la restricción de integridad de la
entidad es:
• Las relaciones de la base de datos corresponden
a entidades del mundo real y, por definición, las
entidades en el mundo real son distinguibles,
tienen una identificación única de algún tipo.
40. Integridad de la Entidad
• Las claves primarias realizan la función de
identificación única en el modelo relacional.
• Por lo tanto, un valor de clave primaria nulo sería
una contradicción en los términos porque estaría
diciendo que hay alguna entidad que no tiene
identidad, que no existe. (Sharma et. al, 2010)
41. Integridad Referencial
La restricción de integridad referencial dice que si
una relación R2 incluye una clave externa FK que
coincide con la clave primaria PK de otra relación
R1, entonces cada valor de FK en R2 debe ser igual
al valor de PK en alguna tupla de R1 o ser
completamente nulo (cada valor de atributo que
participa en ese valor de FK debe ser nulo). R1 y R2
no son necesariamente distintos.(Sharma et. al,
2010)
42. Integridad Referencial
La justificación para la restricción de integridad
referencial es:
• Si alguna tupla t2 de la relación R2 hace
referencia a alguna tupla t1 de la relación R1,
entonces la tupla t1 debe existir; de lo contrario,
no tendría sentido.(Sharma et. al, 2010)
43. Integridad Referencial
• Por lo tanto, un valor de clave foránea dado debe
tener un valor de clave primaria coincidente en
algún lugar de la relación a la que se hace
referencia, si ese valor de clave foránea es
diferente de nulo.
• A veces, por razones prácticas, es necesario
permitir que la clave foránea acepte valores
nulos.(Sharma et. al, 2010)
44. Integridad Semántica
• Una restricción de integridad semántica se refiere
a la exactitud del significado de los datos.
• Una restricción de integridad semántica se puede
considerar como un predicado, que deben cumplir
todos los estados correctos de las instancias de
relaciones de la base de datos.(Sharma et. al,
2010)
45. Integridad Semántica
Restricciones de Dominio
• Una restricción de dominio implica que un atributo
particular de una relación se define en un dominio
particular. Una restricción de dominio simplemente
establece que se requiere que los valores del
atributo en cuestión, pertenezcan a los valores
establecidos que constituyen el dominio
subyacente.(Sharma et. al, 2010)
46. Integridad Semántica
Restricción Nula
• Una restricción nula especifica que los valores de
los atributos no pueden ser nulos. En cada tupla,
de cada instancia de relación, ese atributo debe
tener un valor que exista en el dominio de atributo
subyacente.(Sharma et. al, 2010)
47. Integridad Semántica
Restricción Única
• Una restricción única, especifica que los valores
de atributo deben ser diferentes. No es posible
tener dos tuplas en la relación con los mismos
valores para ese atributo.(Sharma et. al, 2010)
48. Integridad Semántica
Restricción de Verificación
• Una restricción de verificación, especifica una
condición (un predicado) en una relación de
datos, que siempre se verifica cuando se
manipulan los datos. El predicado indica qué
verificar y, opcionalmente, qué hacer si la
verificación falla (respuesta de infracción).
(Sharma et. al, 2010)
49. Integridad Semántica
Restricción de Verificación
• Si se omite esta respuesta de violación, la
operación se rechaza con un código de retorno
adecuado. Cuando se ejecuta la restricción, el
sistema verifica si el estado actual de la base de
datos satisface la restricción especificada. Si no lo
hace, la restricción se rechaza, de lo contrario se
acepta y se aplica desde ese momento.(Sharma
et. al, 2010)
51. 1. Mapeo de entidades fuertes. Elaboré una nueva
tabla (relación) para cada entidad fuerte y haga que
la clave indicada de la entidad fuerte sea la clave
principal de la tabla. Si se indica más de una clave
candidata en el diagrama de ER, elija una para la
clave principal.
2. Mapeo de atributos atómicos. Para entidades
con atributos atómicos, asigne la entidad a una tabla
y forme columnas para cada atributo atómico.
52. 3. Mapeo de atributos compuestos. Para entidades
con atributos compuestos, asigne la entidad a una
tabla y forme columnas con cada parte elemental
(atómica) de los atributos compuestos.
4. Mapeo de atributos multivalor. Elabore una tabla
separada para el atributo multivalor. Registre una fila
para cada valor del atributo multivalor junto con la
clave de la tabla original.
53. La clave de la nueva tabla será la concatenación del
atributo multivalor más la clave de la entidad
propietaria. Elimine el atributo multivalor de la tabla
original.
Ejemplos: Ejercicios de la Práctica 1 del modelo ER.
54. 5. Mapeo de relaciones binarias M:N. Para cada
relación M:N, cree una nueva tabla (relación) con las
claves principales de cada una de las dos entidades
(entidades propietarias) que se relacionan en la
relación M:N. La clave principal de esta nueva tabla
serán las claves concatenadas de las entidades
propietarias. Incluya cualquier atributo que la relación
M:N pueda tener en esta nueva tabla.
55. 6. Mapeo de relaciones binarias 1:1. Cuando uno
de los lados de la relación tiene participación
completa y el otro tiene participación parcial,
entonces almacene la clave primaria de la relación
con la restricción de participación parcial, en la
relación con la restricción de participación completa
como clave foránea. Incluya cualquier atributo en la
relación en el mismo lado al que se agregó la clave.
56. 7. Mapeo de relaciones binarias 1:1. Cuando
ambos lados tienen restricciones de participación
parciales, se puede usar una de las siguientes dos
formas:
7A. Seleccione una de las relaciones para almacenar
la clave de la otra.
7B. Dependiendo de la semántica de la situación,
puede crear una nueva relación para albergar la
relación que contendría la clave de las dos entidades
relacionadas (como se hace en la regla de mapeo 5).
57. 8. Mapeo de relaciones binarias 1:1. Cuando
ambos lados tienen restricciones de participación
total o completa. Use la semántica de la relación
para seleccionar cuál de las relaciones debe
contener la clave de la otra. Si esta opción no está
clara, entonces use la regla de mapeo 7B.
9. Mapeo de relaciones binarias 1:N. Cuando la
relación del lado N tiene participación completa.
Incluya la clave principal de la relación en el lado 1
como una clave foránea en el lado N.
58. 10. Mapeo de relaciones binarias 1:N. Cuando la
relación del lado N tiene participación parcial. Esta
situación se manejaría como una relación M:N
binaria con una tabla separada para la relación. La
clave de la nueva relación consistiría en una
concatenación de las claves de las entidades
relacionadas. Incluya los atributos que estaban en la
relación en esta nueva tabla.
Ejemplos: Ejercicios de la Práctica 2 del modelo ER.
59. 11. Mapeo de entidades débiles. Elabore una
nueva tabla (relación) para cada entidad débil. Como
en el caso con la entidad fuerte. Incluya cualquier
atributo atómico de la entidad débil en la tabla. Si hay
un atributo compuesto, incluya solo las partes
atómicas del atributo compuesto para no perder
información. Para relacionar la entidad débil con su
propietario, incluya la clave primaria de la entidad
propietaria en la relación débil.
60. La clave principal de la relación débil será la clave
parcial de la entidad débil concatenada con la clave
primaria de la entidad propietaria.
Si una entidad débil posee otras entidades débiles,
entonces la entidad débil que está conectada a la
entidad fuerte debe mapearse primero. La clave de
la entidad propietaria débil debe definirse antes de
que se pueda mapear la entidad "más débil" (la más
alejada de la entidad fuerte).
61. 12. Mapeo de relaciones recursivas 1:N. Vuelva a
incluir la clave principal de la tabla con la relación
recursiva en la misma tabla, dándole otro nombre.
13. Mapeo de relaciones recursivas M:N. Cree una
tabla separada para la relación (como en la regla de
mapeo 5).
14. Mapeo de relaciones n-arias. Para cada
relación n-aria, crea una nueva relación. En la nueva
relación, incluye las claves de las entidades
conectadas y cualquier atributo de la relación.
62. Haga que las claves de las entidades conectadas
sean la clave primaria concatenada de la nueva
relación.
15. Mapeo de generalizaciones y
especializaciones con subclases disjuntas o
superpuestas y con restricciones de
participación total o parcial (con pocos o muchos
atributos en las especializaciones). Para cada
situación de generalización/especialización, cree una
relación (tabla) para la entidad de generalización y
para cada especialización.
63. Agregue los atributos para cada entidad a sus
respectivas relaciones. Incluye la clave principal de la
entidad de generalización en las relaciones de
especialización. La clave principal de las relaciones de
especialización será la misma que la clave primaria de
la relación de generalización.
16. Mapeo de generalizaciones y especializaciones
con restricciones de relación disjuntas y
participación total entre generalizaciones y
especializaciones. Cree una relación separada
(subclase) para cada entidad de especialización.
64. Incluya los atributos para cada entidad de
especialización en sus respectivas relaciones de
subclase. También incluya la clave principal y otros
atributos de la entidad de generalización en todas las
relaciones de subclase. La clave principal de las
relaciones de subclase será la clave principal de la
entidad de generalización.
17. Mapeo de generalizaciones y
especializaciones con relaciones disjuntas,
restricciones de participación total o parcial y
predicado definido con atributos de tipo único.
65. Cree una relación única que incluya los atributos de
la generalización (superclase), así como los atributos
de las especializaciones (subclases) en una relación.
La clave principal de la relación será la clave
principal de la generalización (superclase).
18. Mapeo de relaciones superpuestas y
generalizaciones / especializaciones con más de
un indicador. Cree una relación única que incluya
los atributos de la generalización (superclase) y los
atributos de las especializaciones (subclases) y el
indicador de subclase.
66. La clave principal de la relación es la clave principal
de la superclase.
19. Mapeo de subclases compartidas. En general,
los mismos criterios que se utilizan para determinar
qué regla sería mejor para el mapeo de
generalizaciones y especializaciones se pueden
aplicar al mapeo de subclases compartidas. Sin
embargo, la regla que genera la mejor base de datos
generalmente es la regla 15.
67. 20. Asignación de categorías o tipos de unión
cuando las superclases tienen las mismas claves
principales. Cree una nueva relación para la
subclase (o tipo de unión) e incluya la clave primaria
de la superclase (o superclases) en la subclase (o
tipo de unión) como clave principal. Incluya los otros
atributos de la subclase en esta relación. Cree
relaciones separadas para cada una de las otras
superclases y asígnelas como lo haría con las
entidades regulares.
68. 21. Asignación de categorías o tipos de unión
cuando las superclases tienen claves principales
diferentes. Cree una nueva relación para la
subclase (o tipo de unión). Cree una clave sustituta
para esta relación. La clave sustituta será la clave
principal para esta relación. Incluya cualquier otro
atributo de esta subclase en esta relación. Cree
relaciones separadas para cada una de las
superclases y mapeelos como lo haría con las
entidades regulares. Agregue la clave sustituta a las
relaciones de superclase como una clave externa.
69. Aldo Ramiro Valdez Alvarado
Licenciado en Informática
Master en Dirección Estrategica en
Tecnologías de la Información
Máster en Business Intelligence y Big Data
Docente Titular de Pregrado en la UMSA
Docente de Postgrado en la UMSA
Ex - Coordinador del Postgrado en
Informática UMSA
Conferencista Nacional e Internacional
http://aldovaldezalvarado.blogspot.com/
https://www.linkedin.com/in/msc-aldo-
valdez-alvarado-17464820
aldo_valdez@hotmail.com
Muchas Gracias!!!