modelo relacional2

51
Modelo Relacional L.I. María Luisa Velasco Ramírez

Upload: maria-luisa-velasco

Post on 26-May-2015

12.775 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Modelo relacional2

Modelo Relacional

L.I. María Luisa Velasco Ramírez

Page 2: Modelo relacional2

La estructura de las bases de datos relacionales

• Una base relacional consiste en un conjunto de tablas, a cada una de las cuales se le asigna un nombre exclusivo.

Page 3: Modelo relacional2

Ejemplo: La Tabla Cuenta

Número_cuenta

Nombre_Suc Saldo

C-101 Centro 500

C-102 Navacerrada 400

C-201 Galapagar 900

C-215 Becerril 700

C-217 Galapagar 750

C-222 Moralzarzal 700

C-305 Collado Mediano

350

Page 4: Modelo relacional2

Dominio

• Para cada atributo existe un conjunto de valores permitidos, llamado dominio del atributo.

Page 5: Modelo relacional2

Relación y Tupla

• En el modelo relacional se utilizarán los términos de relación y tupla en lugar de los términos tabla y fila.

Page 6: Modelo relacional2

Propiedades de las relaciones• Cada relación tiene un nombre y éste es distinto del nombre de todas

las demás.

• Los valores de los atributos son atómicos: en cada tupla, cada atributo toma un solo valor. Se dice que las relaciones están normalizadas.

• No hay dos atributos que se llamen igual.

• 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.

• El orden de las tuplas no importa: las tuplas no están ordenadas.

Page 7: Modelo relacional2

Claves o LLaves

• Ya que en una relación no hay tuplas repetidas, éstas se pueden distinguir unas de otras, es decir, se pueden identificar de modo único. La forma de identificarlas es mediante los valores de sus atributos.

Page 8: Modelo relacional2

Superllave

• Es un conjunto de uno o más atributos que, tomados colectivamente, permiten identificar de forma única una relación en el conjunto de relaciones.

Page 9: Modelo relacional2

Llave candidata

• Suponer que una combinación de nombre_ cliente y calle_cliente, es suficiente para distinguir entre los miembros de la relación cliente. Entonces los conjuntos de id_cliente y nombre_cliente,calle_cliente son llaves candidatas.

Page 10: Modelo relacional2

Llave primaria

• Se utiliza para denotar una llave candidata que es elegida por el diseñador de la base de datos como elemento principal para identificar la relación.

Page 11: Modelo relacional2

Llave Foránea

• Atributo que es llave primaria en otra relación y sirve para crear una asociación entre dos tablas o relaciones.

Page 12: Modelo relacional2

Esquema y ejemplar de la base de datos

• Diseño Lógico de la base de datos

• Una instantánea de los datos de la misma en un momento dado

Page 13: Modelo relacional2

Reglas de integridad

• Son reglas de integridad que los datos almacenados en dicha estructura deben cumplir para garantizar que son correctos.

Page 14: Modelo relacional2

Nulos

• Cuando en una tupla un atributo es desconocido, se dice que es nulo. Un nulo no representa el valor cero ni la cadena vacía, éstos son valores que tienen significado. El nulo implica ausencia de información, bien porque al insertar la tupla se desconocía el valor del atributo, o bien porque para dicha tupla el atributo no tiene sentido.

Page 15: Modelo relacional2

Regla de integridad de entidades

• Ninguno de los atributos que componen la clave primaria puede ser nulo.

Page 16: Modelo relacional2

Regla de integridad referencial

• Si en una relación hay alguna clave ajena, sus valores deben coincidir con valores de la clave primaria a la que hace referencia, o bien, deben ser completamente nulos.

Page 17: Modelo relacional2

Reglas de negocios

• Los usuarios o los administradores de la base de datos pueden imponer ciertas restricciones específicas sobre los datos, denominadas reglas de negocio.

Page 18: Modelo relacional2

Grado y Cardinalidad

• El grado de una relación es el número de atributos

• Cardinalidad es el número de tuplas

Page 19: Modelo relacional2
Page 20: Modelo relacional2
Page 21: Modelo relacional2

De clases a tablas

• Cada tipo de entidad se convierte en una relación. Cada relación que corresponda a un tipo de entidad llevará su mismo nombre. Para su definición usamos la sentencia SQL CREATE TABLE.

Page 22: Modelo relacional2

Atributos Compuestos y multivaluados

• Cada atributo compuesto se puede transformar según las siguientes dos alternativas:

a. Eliminar el atributo compuesto considerando todos sus componentes como atributos individuales, o

• eliminar los componentes individuales y considerar el atributo compuesto entero como un sólo atributo

Page 23: Modelo relacional2
Page 24: Modelo relacional2

Esquemas relacionales:

a. Persona (Rut, Nombre, Calle, Número, Ciudad)

b. Persona (Rut, Nombre,Dirección)

Page 25: Modelo relacional2

Rut Nombre Calle Número Ciudad

Persona

O

Persona

Rut Nombre Dirección

Page 26: Modelo relacional2

Atributos Multivaludos

• Los atributos multivaluados requieren la introducción de relaciones nuevas; cada atributo multivaluado distinto requiere una relación en la cual pueda estar representado como atributo monovalente.

• La nueva relación contiene el atributo multivaluado más el identificador de la entidad original; el identificador de la nueva relación es el conjunto de todos sus atributos.

Page 27: Modelo relacional2

Esquema relacional:

Persona(Rut, Nombre)

Dirección(Rut, Calle, Número, Ciudad)

Con Rut clave foránea que referencia a Persona

Persona

Rut

NombreCalle

Número

Ciudad

Page 28: Modelo relacional2

Rut Nombre

Rut Calle Número Ciudad

Rut como llave primaria

Rut como llave Foránea sola

Page 29: Modelo relacional2

Atributos identificadores

• El o los atributos identificadores de cada tipo de entidad pasan a ser la clave de la relación si es que son los identificadores principales. Se usa la cláusula PRIMARY KEY.

Page 30: Modelo relacional2

Otros identificadores

• Los atributos no identificadores pasan a ser columnas de la tabla, las cuales tienen permitido tomar valores nulos, a no ser que se indique lo contrario.

Page 31: Modelo relacional2

Relaciones

• Dependiendo del tipo de correspondencia de la relación, variará la manera de realizar la transformación del esquema.

Page 32: Modelo relacional2
Page 33: Modelo relacional2
Page 34: Modelo relacional2

Relaciones 1:1

• Aquí consideramos dos alternativas, la integración en una relación y la definición de una relación aparte.

• La opción de integración en una relación tiene sentido cuando la participación de las dos entidades en la relación es total (cardinalidad mínima 1).

Page 35: Modelo relacional2

• a. Las dos entidades tienen las mismas claves primarias. En este caso las dos relaciones correspondientes se integran en una relación combinando todos los atributos e incluyendo la clave primaria sólo una vez.

Page 36: Modelo relacional2

El esquema relacional resultante:

Envío-Cliente( num-cliente, nombre-cliente, dirección-envío)

Page 37: Modelo relacional2

• b. Las dos entidades tienen claves primaria diferentes.

• Supongamos que Cliente e Info Envío tienen claves primarias diferentes, num-cliente y dirección-envío respectivamente. En este caso también se integran en una relación combinando todos los atributos e incluyendo las claves primarias de ambas. La clave primaria de la relación será una de las dos, por ejemplo, la relación que sigue usa num-cliente como clave primaria:

Page 38: Modelo relacional2

Esquema resultante

Num_Cliente Nombre Dirección-envío

Envío-cliente

Page 39: Modelo relacional2

Participación parcial• a. Una entidad tiene participación parcial y

la otra parcial

El esquema relacional resultante:

Cliente (num-cliente, nombre-cliente)

Tarjeta Crédito ( Número_tarjeta, crédito, num_cliente)

Page 40: Modelo relacional2

b. Las dos entidades tiene participación parcial

El esquema relacional resultante:

Hombre (RFChombre, nombre)

Mujer (RFCmujer, nombre)

Matrimonio (RFChombre, RFCmujer, fecha)

Page 41: Modelo relacional2
Page 42: Modelo relacional2
Page 43: Modelo relacional2

Relaciones 1:N

Page 44: Modelo relacional2

Una región se conforma de varias ciudades y cada ciudad corresponde a una sola región.

El esquema relacional resultante:

Región( Número-Región, nombre, habitantes)

Ciudad( Nombre-Ciudad, habitantes,número-región)

Page 45: Modelo relacional2

Relaciones N:M

• Un tipo de relación N:M se transforma en una relación que tendrá como clave primaria la concatenación de los identificadores de los tipos de entidad que asocia

Page 46: Modelo relacional2

• Cada uno de los atributos que forman la clave primaria de una relación derivada de un tipo de relación N:M son clave foránea respecto de cada una de las relaciones derivadas de los tipos de entidad que relaciona. Esto se especifica a través de la claúsula FOREIGN KEY dentro de la sentencia de creación de la tabla.

Page 47: Modelo relacional2

El esquema relacional resultante:

Autor (cod-autor)

Libro(cod-libro, título)

Escribe(cod-libro, cod-autor ) con cod-libro clave

cod-libro foránea que referencia a Libro y cod-autor clave foránea que referencia a Autor

Page 48: Modelo relacional2

Atributos en las relaciones

• Si la relación se transforma en una tabla, todos sus atributos pasan a ser columnas de la tabla.

• En caso de que la relación se transforme mediante propagación de clave, sus atributos migran junto con la clave a la relación que corresponda, aunque puede ser mejor crear una nueva relación para representar un relación que tiene atributos.

Page 49: Modelo relacional2

Relaciones exclusivas

Libro(Id-Libro, ..., Id-Editorial, Id-Universidad)

Universidad (Id-Universidad, ...)

Editorial (Id-Editorial, ...)

Page 50: Modelo relacional2

Atributos Derivados

• No existe para los atributos derivados una representación directa y concreta en el modelo relacional y sus SGBD. En este caso, los atributos se tratan de la forma usual, implementando los procedimientos que calculen el valor del atributo derivado cada vez que inserten o borren las ocurrencias de los atributos que intervienen en el cálculo de este y añadir las restricciones correspondientes.

Page 51: Modelo relacional2

Transformación de dependencias en identificación y en existencia

LIBRO(cod_libro,...)

 EJEMPLAR(cod_libro, cod_ejemplar,...)