modelo relacional2

Post on 26-May-2015

12.780 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Modelo Relacional

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

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.

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

Dominio

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

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.

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.

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.

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.

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.

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.

Llave Foránea

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

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

Reglas de integridad

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

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.

Regla de integridad de entidades

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

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.

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.

Grado y Cardinalidad

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

• Cardinalidad es el número de tuplas

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.

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

Esquemas relacionales:

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

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

Rut Nombre Calle Número Ciudad

Persona

O

Persona

Rut Nombre Dirección

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.

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

Rut Nombre

Rut Calle Número Ciudad

Rut como llave primaria

Rut como llave Foránea sola

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.

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.

Relaciones

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

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

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

El esquema relacional resultante:

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

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

Esquema resultante

Num_Cliente Nombre Dirección-envío

Envío-cliente

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)

b. Las dos entidades tiene participación parcial

El esquema relacional resultante:

Hombre (RFChombre, nombre)

Mujer (RFCmujer, nombre)

Matrimonio (RFChombre, RFCmujer, fecha)

Relaciones 1:N

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)

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

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

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

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.

Relaciones exclusivas

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

Universidad (Id-Universidad, ...)

Editorial (Id-Editorial, ...)

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.

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

LIBRO(cod_libro,...)

 EJEMPLAR(cod_libro, cod_ejemplar,...)

top related