“Bases de datos I”
Unidad 3– Modelo relacional
Docente: Ing. Mario J. Fernández
Unidad 3– Modelo relacional
• Modelo relacional
Los SGBD se pueden clasificar de acuerdo con el modelo lógico
que soportan, el número de usuarios, el número de puestos, el
coste… La clasificación más importante de los SGBD se basa en el
modelo lógico, siendo los principales modelos que se utilizan en
el mercado los siguientes: Jerárquico, en Red, Relacional y
Orientado a Objetos.
La mayoría de los SGBD comerciales actuales están basados en el
modelo relacional, en el que nos vamos a centrar, mientras que
los sistemas más antiguos estaban basados en el modelo de red o
el modelo jerárquico.
Modelo relacional
Los motivos del éxito del modelo relacional son fundamentalmente dos: - Se basan en el
álgebra relacional que es un modelo matemático con sólidos fundamentos. En esta sección
se presenta el modelo relacional. Realizaremos la descripción de los principios básicos del
modelo relacional: la estructura de datos relacional y las reglas de integridad. Ofrecen
sistemas simples y eficaces para representar y manipular los datos. - La estructura
fundamental del modelo relacional es precisamente esa, la «relación», es decir una tabla
bidimensional constituida por filas (registros o tuplas) y columnas (atributos o campos). Las
relaciones o tablas representan las entidades del modelo E/R, mientras que los atributos de
la relación representarán las propiedades o atributos de dichas entidades. Por ejemplo, si en
la base de datos se tienen que representar la entidad PERSONA, está pasará a ser una
relación o tabla llamada «PERSONAS», cuyos atributos describen las características de las
personas. Cada tupla o registro de la relación «PERSONAS» representará una persona
concreta.
Modelo relacional
Estructura de datos relacional: una RELACIÓN del MODELO RELACIONAL es
sólo la definición de la estructura de la tabla, es decir su nombre y la lista de
los atributos que la componen. Una representación de la definición de esa
relación podría ser la siguiente:
Para distinguir un registro de otro, se usa la «clave primaria o clave
principal».
En una relación puede haber más combinaciones de atributos que permitan
identificar unívocamente una fila (estos se llamarán «llaves o claves
candidatas»), pero entre éstas se elegirá una sola para utilizar como llave
primaria. Los atributos de la llave primaria no pueden asumir el valor nulo.
Modelo relacional
Elementos y propiedades del modelo relacional
Relación (tabla): Representan las entidades de las que se quiere almacenar información en la BD. Esta formada
por: Filas (Registros o Tuplas): Corresponden a cada ocurrencia de la entidad.
Columnas (Atributos o campos): Corresponden a las propiedades de la entidad. Siendo rigurosos una relación
está constituida sólo por los atributos, sin las tuplas.
Las tablas tienen las siguientes propiedades:
Cada tabla tiene un nombre y éste es distinto del nombre de todas las demás tablas de la misma BD.
No hay dos atributos que se llamen igual en la misma tabla.
El orden de los atributos no importa: los atributos no están ordenados.
Cada tupla es distinta de las demás: no hay tuplas duplicadas. (Como mínimo se diferenciarán en la clave
principal)
El orden de las tuplas no importa: las tuplas no están ordenadas.
Clave candidata: atributo que identifica unívocamente una tupla. Cualquiera de las claves candidatas se podría
elegir como clave principal.
Clave Principal: Clave candidata que elegimos como identificador de la tuplas.
Clave Externa o foránea o ajena: el atributo o conjunto de atributos que forman la clave principal de otra relación.
Que un atributo sea clave ajena en una tabla significa que para introducir datos en ese atributo, previamente han
debido introducirse en la tabla de origen.
Transformación de un esquema E/R a esquema
relacional
El objetivo del diseño lógico (Modelo relacional) es convertir los esquemas
conceptuales (E/R) locales en un esquema lógico global que se ajuste al modelo
de SGBD sobre el que se vaya a implementar el sistema. Mientras que el objetivo
fundamental del diseño conceptual es la compleción y expresividad de los
esquemas conceptuales locales, el objetivo del diseño lógico es obtener una
representación que use, del modo más eficiente posible, los recursos que el
modelo de SGBD posee para estructurar los datos y para modelar las restricciones
Modelo relacional - transformación
REGLAS DE TRANSFORMACIÓN
Lo primero que hay que realizar en la fase de diseño lógico, es obtener el esquema lógico
estándar, a partir del esquema conceptual obtenido en la primera fase. Las reglas que permiten
pasar del modelo E/R al esquema lógico, son las que a continuación se explican:
• Cada entidad se transforma en una tabla y los atributos de dicha entidad en atributos o
campos de la tabla. Esto es, cada entidad genera una tabla, con sus mismos atributos,
incluyendo las claves.
• Las relaciones de muchos a muchos se transforman en tablas cuya clave estará formada por la
clave primaria de las entidades relacionadas, convirtiéndose esta en una relación de muchos a
muchos o de muchos a uno.
• Las relaciones de uno a muchos propagan la clave principal de la entidad cuya cardinalidad es
uno pasa a la entidad de cardinalidad muchos (n).
Modelo relacional - transformación
EJEMPLO 1.
Veamos el paso a tabla de una entidad SOCIO que tiene 6 atributos. Observe
que la entidad se convierte en una tabla cuyos atributos forman las columnas
de dicha tabla. Las filas de la tabla se llaman registros.
Modelo relacional - transformación
EJEMPLO 2. Supongamos el siguiente modelo entidad-relación para una
relación de muchos a muchos:
En este caso la relación “compra” se transforma en una nueva tabla cuya clave
primaria estará formada por los atributos DUI que es la clave primaria de
cliente y Cod_Prod que es la clave primaria de producto. Además tendrá como
campo fecha compra, ya que este atributo forma parte de la relación.
El modelo relacional quedaría de la siguiente forma:
Modelo relacional - transformación
Representado en otra forma:
Modelo relacional - transformación
EJEMPLO 3. Supongamos el siguiente modelo entidad-relación para una
relación de uno a muchos. Un empleado pertenece a un único departamento
(debe pertenecer a uno obligatoriamente), y un departamento tiene uno o más
empleados.
Modelo relacional - transformación
Las relaciones 1 a 1, no generan tabla intermedia, elegimos la clave principal de
una de ellas y la introducimos como clave ajena en la otra tabla. Se elegirá una
u otra forma en función de como se quiera organizar la información para
facilitar las consultas.
Si alguna entidad, pero no las dos, participa con participación mínima 0 (0,1),
entonces se pone la clave ajena en dicha entidad, para evitar en lo posible, los
valores nulos.
Casos especiales
Relaciones Recursivas o Reflexivas
En este tipo de relaciones se trata como una relación normal, la diferencia está
es que es posible que al pasarlo al Modelo Relacional se repita dos veces un
mismo campo para relacionarlo con sí mismo.
Se tratará como una relación 1:N. Se generará una única tabla con todos los
atributos que pueda tener, incluyendo los posibles campos de relación si los
hubiere, haciendo repetición de la clave primaria como clave foránea para
relacionarla consigo mismo.
Casos especiales
Relaciones de herencia / jerárquicas.
Investigar…