“Es parte del resultado del diseño conceptual y da como resultado una descripción de la estructura de la base de datos en términos de las estructuras de datos que puede procesar un tipo de SGBD.” (Pita, 2021)
2. DISEÑO LÓGICO – MODELO RELACIONAL
“Es parte del resultado del diseño conceptual y da como resultado una
descripción de la estructura de la base de datos en términos de las estructuras
de datos que puede procesar un tipo de SGBD.” (Pita, 2021)
3.
4.
5. ¿Por que es necesario transformar del modelo E-R al modelo
Relacional?
6. Modelo Relacional
Creado porTed Codd a Principios de los 70
Modelo de implementación, orientado a registro
Usa una colección de tablas para representar
tanto los datos como sus relaciones
Sólida base teórica
Implementado en muchos SGBD (relacionales)
Relación
• Igual que en el esquema ER.
• Las entidades particulares se representan como tuplas o filas
de la tabla.
Atributo
• Igual que en el esquema ER.
• Se representan como las columnas de la tabla.
• Los valores de los atributos de las tuplas deben ser atómicos.
• No puede haber atributos compuestos
• O se representan sus componentes individuales como
atributos
• O se junta toda la información en un único atributo
Ej: secretaría => domicilio como atributo simple con toda
la información
• No puede haber atributos multivalor
Terminología del modelo relacional
7. • Esquema de una tabla o relación
• viene dado por el nombre de la tabla y una lista de atributos.
• Estudiante (Id_Identificación,Apellidos, Nombre, teléfono, acceso)
• El orden de los atributos en la lista no importa.
• Lo fijamos porque nos viene bien para representarlo como tabla, pero
cualquier permutación es válida.
• Instancia de una tabla => Conjuntos de entidades particulares.
• Cada entidad particular se representa como una tupla.
• Cada componente de la tupla corresponde con el valor del atributo
correspondiente, según el orden enunciado en el esquema de la tabla.
Terminología del modelo relacional
8. Modelo Relacional
En el modelo relacional
se basa en el concepto
matemático de relación.
En este modelo, la
información se
representa en forma de
“tablas” o relaciones,
donde cada fila de la
tabla se interpreta como
una relación ordenada de
valores.
El modelo relacional,
como todo modelo de
datos, tiene que ver con
tres aspectos de los
datos: Estructura de
datos, integridad de
datos, manejo de datos.
El objetivo principal del
modelo relacional es
proteger al usuario de la
obligación de conocer las
estructuras de datos
físicas con las que se
representa la
información de una base
de datos.
Algebra relacional: Define un conjunto de
operaciones algebraicas que operan sobre
las tablas y devuelven tablas como
resultados. Estas operaciones se pueden
combinar para obtener expresiones que
definan las consultas deseadas, el álgebra
define operaciones básicas usadas en los
lenguajes de consulta relacionales.
Operaciones del álgebra
relacional
• Operaciones básicas
• Operaciones adicionales que se pueden expresar en
términos de las operaciones básicas.
• Operaciones extendidas, algunas de las cuales añaden
mayor poder expresivo al álgebra relacional.
9. Estructura de las bases de datos
relacionales
En la terminología del modelo relacional, una fila se denomina tupla, una
cabecera de columna es un atributo y la tabla es una relación. El tipo de
datos describe los tipos de valores que pueden aparecer en cada columna se
llama dominio.
Dominio: es un conjunto de valores
atómicos. Por atómico queremos
decir que cada valor del dominio es
indivisible en lo que se refiere al
modelo relacional. Por ejemplo:
FechaNacimiento: conjunto de
fechas de nacimientos de personas.
Atributo: se dice que un atributo A
es el papel que juega un
determinado dominio D en una
relación; se dice que D es el
dominio deA y se denota como
dom(A), así el atributo grado de la
tabla ESTUDIANTE, nos indica que
dicho dominio tiene el papel de
grado del estudiante referido en la
tabla en mención.
Relación: se compone de un
nombre de relación y una lista de
atributos. Cada atributo es el
nombre de un papel desempeñado
por algún dominio. Por ejemplo,
en el siguiente esquema de
relación, tenemos una relación de
grado 13, que describe un
estudiante: ESTUDIANTE
(IdEstudiante, NombreApellido,
FechaNac, Direccion,Teléfono, E-
mail, Celular, Edad, Peso,Talla,
Grado, Grupo, Jornada)
10. Características de las relaciones
Orden de las tuplas en una relación
• Los elementos no están ordenados, por tanto, las tuplas de una relación no tienen
un orden específico.
• El ordenamiento de las tuplas no forma parte de la definición de una relación,
porque la relación interna representa los hechos a nivel lógico o abstracto.
Orden de los valores dentro de una tupla
•una n-tupla es una lista de n-valores, así que el orden de los valores de una
tupla es importante. No obstante, en un nivel lógico, el orden de los
atributos y de sus valores en realidad no es importante en tanto se mantenga
la correspondencia entre atributos y valores
Valores en las tuplas
•Cada valor en una tupla es un valor atómico; esto es, no es divisible en
componentes en lo que respecta al modelo relacional.
Representación de una relación
• el esquema de una relación se puede representar como una aclaración o
como un tipo de afirmación.
El esquema de relación ESTUDIANTE, se observa que esta entidad tiene
atributos, IdEstudiante, IdDocente, NombreApellido, FechaNac, Dirección,
Teléfono, E-mail, Celular, Edad, Peso, Talla, Grado, Grupo y Jornada, así, cada
tupla de la relación se puede representar como un hecho particular de una
declaración. Por ejemplo, la segunda tupla de la entidad ESTUDIANTE, mostrada
en figura 4, establece un hecho de que existe un Estudiante, que tiene por
nombre Eder José Abad Puentes, con número de identificación 110048423, con
fecha de nacimiento 02/11/2007y así sucesivamente.
12. Relation Schema and
Instance
▪ A1, A2, …, An are attributes
▪ R = (A1, A2, …, An ) is a relation schema
Example:
instructor = (ID, name, dept_name, salary)
▪ A relation instance r defined over schema R is
denoted by r (R).
▪ The current values a relation are specified by a
table
▪ An element t of relation r is called a tuple and is
represented by a row in a table
Database System Concepts_7ma_Silberschatz_Korth_Sudarshan
13. Attributes
▪ The set of allowed values
for each attribute is called
the domain of the attribute
▪ Attribute values are
(normally) required to be
atomic; that is, indivisible
▪ The special value null is a
member of every domain.
Indicated that the value is
“unknown”
▪ The null value causes
complications in the
definition of many
operations
Database Schema
▪ Database schema -- is the logical structure of the database.
▪ Database instance -- is a snapshot of the data in the database
at a given instant in time.
▪ Example:
– schema: instructor (ID, name, dept_name, salary)
– Instance:
Database System Concepts_7ma_Silberschatz_Korth_Sudarshan
14. Keys
▪ Let K R
▪ K is a superkey of R if values for K are sufficient to identify a unique tuple of each possible relation r(R)
– Example: {ID} and {ID,name} are both superkeys of instructor.
▪ Superkey K is a candidate key if K is minimal
Example: {ID} is a candidate key for Instructor
▪ One of the candidate keys is selected to be the primary key.
– Which one?
▪ Foreign key constraint:Value in one relation must appear in another
– Referencing relation
– Referenced relation
– Example: dept_name in instructor is a foreign key from instructor referencing department
Database System Concepts_7ma_Silberschatz_Korth_Sudarshan
15. Schema Diagram for University Database
Database System Concepts_7ma_Silberschatz_Korth_Sudarshan
16. Esquema de la bases de datos relacional
Para representar el esquema de una base de datos relacional se debe dar el nombre de sus
relaciones, los atributos de estas, los dominios sobre los que se definen estos atributos, las
claves primarias.
19. Transformación del modelo E-R al modelo
relacional
Por cada tipo normal de
entidades E del esquema E-R,
se crea una relación R que
contenga los atributos
simples de E. Se elige uno de
los atributos clave de E como
clave primaria de R.
Paso 1
Se determinan los atributos
de cada entidad y se integran
al modelo relacional, al
mismo tiempo se escoge la
clave primaria para cada uno
de las relaciones.
Paso 2
Se establece la integridad de
entidades, en la cual se
estable que ningún valor
puede de la clave primaria
puede ser nulo, al mismo
tiempo se verifica la
restricción de integridad
referencial en la que se
especifica entre dos
relaciones y sirve para
mantener la consistencia
entre tuplas de las relaciones.
Paso 3
20. Se debe tener encuenta
Los nombres de las
entidades se vuelven
plurales.
Se crean los atributos
correspondientes a las
relaciones.
Se definen los tipos de datos.
Se eliminan los subtipos y se
“transforman” en atributos
21. Correspondencias entre los elementos y restricciones
del modelo E-R y el modelo relacional.
MODELO E-R MODELO RELACIONAL
Tipo de entidades Relación “Entidad”
Tipo de vínculos 1:1 o 1:N Calve externa (o relación “vinculo”)
Tipo de vínculos M:N Relación “vinculo” y dos claves externas
Tipo de vínculos n-arios Relación “vinculo” y n claves externas
Atributos simples Atributos
Atributo compuestos Conjunto de atributos componentes simples
Atributo multivalorado Relación y clave externa
Conjunto de valores Domino
Atributo clave Clave primaria (o secundaria)
22. Pag. 22
Caso de estudio I
Dado el siguiente modelo entidad – relación
convertirlo al modelo relacional
23. 1. Transformación de Entidades
2. Transformación de relaciones
https://www.dbdesigner.net/
Autores
Editores
Libros
ContieneLibros
CestaCompras
Almacenas
Almacenes
Clientes
32. Transformación de Entidades
(Paso 1)
Para cada tipo normal (no débil)
de entidad E del modelo E-R se
define una relación R.
En la relación R se incluyen
todos los atributos simples de E.
Se incluyen en R los atributos
simples que sean componentes
de los atributos compuestos.
Se eligen todos los atributos
clave de E como atributos claves
de R.
36. Transformación de Entidades Débiles (Paso 2)
Para cada entidad débil D del modelo ERE y su respectivo
vínculo con su entidad propietaria E se define una relación R.
La relación R tiene todos los atributos de la entidad débil D
más los atributos que conforman la clave primaria de la
entidad propietaria E.
La clave primaria de la relación R está formada por los
atributos de la clave primaria de la entidad propietaria E más
los atributos de la clave parcial de D.
38. Transformación de Vínculos 1:N (Paso 3)
Para cada vinculo 1:N entre
dos entidades (no débiles) E y
F donde F está del lado N del
vínculo, se añade a la relación
correspondiente a la entidad F
de alguna de las entidades la
clave primaria de la otra
entidad relacionada.
40. Transformación de Vínculos 1:1 (Paso 4)
Para cada vinculo 1:1 entre dos
entidades (no débiles) E y F se
añade a la relación de alguna
de las entidades, a modo de
clave foránea, la clave primaria
de la otra entidad relacionada.
Se especifica una restricción
que define que la clave foránea
añadida debe ser única (no se
puede repetir, porque de
hacerlo entonces sería una
relación 1:N
44. Transformación de Vínculos M:N (paso 5)
Para cada vinculo M:N entre
dos entidades se crea una
relación R.
Los atributos de la relación R
serán las claves primarias de
las entidades relacionadas
mas los atributos propios del
vinculo.
La clave primaria de la
relación R será el conjunto
de todos los atributos que
sean claves primarias de las
entidades relacionadas.
46. Transformación de Atributos Multivaluados (Paso 6)
Para cada atributo
multivaluado se creará una
relación R.
Los atributos de la relación R
serán la clave primaria de las
entidad a la cual pertenece el
atributo multivaluado más el
(o los) atributos
correspondientes al atributo
multivaluado.
La clave primaria de la
relación R será la clave
primaria de la entidad a la
cual pertenece el atributo
multivaluado más el (o los)
atributos correspondientes al
atributo multivaluado
48. Transformación de Vínculos n-arios (paso 7)
Para cada vinculo M:N entre
tres o más entidades se crea
una relación R.
Los atributos de la relación R
serán las claves primarias de
todas las entidades
relacionadas más los atributos
propios del vinculo.
La clave primaria de la elación
R será el conjunto de todos los
atributos que sean claves
primarias de todas las
entidades relacionadas.
50. Transformación de modelo E-R extendido
Modelo Entidad Relación
(Extendido), transformación
al modelo Relacional de:
• Generalización (o
Especialización)
Definir una serie de esquemas de
relaciones equivalentes
52. Transformación de modelo E-R extendido
Existen cuatro estrategias para
transformar una relación de
generalización (o especialización) al
modelo Relacional
59. Tener en cuenta
Recomendaciones de Atributos
Al asignar atributos a una entidad se debe tener en cuenta:
❖ Es propiedad de entidad y no de relación
❖ Debe ser de valor único (atomicidad)
❖ Debe tener un tipo de dato: texto, número, fecha, hora, imagen,…
❖ Algunos atributos pueden ser entidades, dependiendo del CONTEXTO.
❖ Algunos atributos no se modelan porque son CAMPOSVIRTUALES (se calculan a partir de otros campos)
Tipos de atributos
• Opcional: no es necesario para el funcionamiento del negocio, pero se puede almacenar.
• Obligatorio: es necesario almacenarlo.
Otros tipos de atributos
• Llaves primarias –PrimaryKey -PK: identifican un registro como único.
• Llaves foráneas -ForeignKey -FK: identifican que un registro tiene una relación con otra tabla.
• Check–CK -UQ: identifican restricciones en un atributo.Como dominios: Persona (Empleado, Jefe), tomar valores
determinados.
• Unique: el atributo no puede tener valores repetidos. No hay necesidad que el atributo sea llave primaria.
60. Tener en cuenta
Recomendaciones de Relaciones
Para crear una relación se debe considerar:
• La existencia de la relación
• Un nombre adecuado para la relación
• Determinar opcionalidad y cardinalidad
Cardinalidad en la relación
Se refiere a la cantidad (grado) de relaciones que
hay entre entidades o entidad.
61. Tener en cuenta
Opcionalidad en la relación
Se refiere al tipo de dependencia de la relación
Implementando la Opcionalidad
La opcionalidad se puede establecer de la
siguiente forma:
Todo MENSAJE es enviado a un USUARIO?
Todo USUARIO recibe un MENSAJE?
63. Tener en cuenta
Dependencias
Son relaciones que se producen entre las
entidades fuerte y las débiles.
• En existencia: la entidad débil depende
de la fuerte solo para existir. Es
independiente para todo lo demás.
• En identificación: la entidad débil
necesita de la fuerte para existir y para
identificarse. En estos casos la débil
necesita de la clave de la fuerte para
formar su clave primaria (llave
compuesta).
65. Tener en cuenta
Existen atributos que es mejor
modelarlos como entidades para
evitar redundancia y consistencia
de datos.
Hay atributos que quedan “volando”.
Cantidad
67. Restricciones de integridad
Restricción de DOMINIO: Se indica a un atributo los posibles valores que puede tomar.
Restricción de CLAVE: “En una relación no puede haber ninguna tupla repetida”.
68. Restricción de INTEGRIDAD de ENTIDAD: “Ninguna tupla de una relación puede tomar valores nulos en los
atributos que forman parte de su clave primaria”.
Restricciones de INTEGRIDAD REFERENCIAL: “Si una tupla de una relación R1 hace referencia a una relación
R2, debe referirse a una tupla que exista realmente en R2”.