R2.1 - Modelo Relacional (Diapositivas) PDF
Document Details
Uploaded by Deleted User
Tags
Summary
This document is a presentation on the relational model. It discusses different types of relationships in relational databases and details on database transformations.
Full Transcript
TEMA 2: MODELO RELACIONAL Tema 1: Introducción 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 u...
TEMA 2: MODELO RELACIONAL Tema 1: Introducción 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. Tema 1: Introducción Los motivos del éxito del modelo relacional son fundamentalmente dos: 1. Se basan en el álgebra relacional que es un modelo matemático con fundamentos sólidos: la estructura de datos relacional y las reglas de integridad. 2. 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. Tema 1: Estructura de datos relacional Una RELACIÓN del MODELO RELACIONAL es la definición de la estructura de la tabla, es decir su nombre y la lista de los atributos que la componen: 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. Tema 1: 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. Propiedades de las relaciones – Cada relación tiene un nombre y éste es distinto del nombre de todas las demás relaciones de la misma BD. – No hay dos atributos que se llamen igual en la misma relación. – 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 Tema 1: Elementos y propiedades del modelo relacional (II) Clave candidata: atributo que identifica unívocamente una tupla. Cualquiera de las claves candidatas se podría elegir como clave principal. (PK) Clave Principal: Clave candidata elegida como identificador de la tuplas. Clave Alternativa: Toda clave candidata que no es clave primaria (las que no hayamos elegido como clave principal) Una clave principal no puede asumir el valor nulo (Integridad de la entidad). Dominio de un atributo: Conjunto de valores que pueden ser asumidos por este. (FK) 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. Es decir, los valores presentes en la clave externa tienen que corresponder a valores presentes en la clave principal correspondiente (Integridad Referencial). Tema 1: Elementos y propiedades del modelo relacional (II) A continuación se detallan las normas para traducir del Modelo E/R al modelo relacional basándonos en los principales elementos del modelo Entidad/Relación: – Entidades – Relaciones binarias (de grado 2) – Relaciones de dependencia (Siempre de grado 2 y cardinalidad 1:N) – Relaciones de grado mayor que 2 – Relaciones reflexivas – Jerarquías Tema 1: Transformación MER a Modelo Relacional: Entidades Cada entidad se transforma en una tabla – PK: El/los identificador/es de la entidad pasa/n a ser la clave principal de la relación y aparece subrayada o con la indicación: PK. – Clave alternativa (si hay) se pone en “negrita”. Tema 1: Transformación MER a MR: Binarias de N:M Se crea una tabla – FK: cada una de las claves de las entidades que participan en la relación. – PK: La clave principal de esta nueva tabla está compuesta por las FK de las entidades que participan en la relación. – Atributos Los atributos de la relación se incorporan en la tabla de la relación. Orden de los atributos: conviene poner 1º aquel/los atributos por los que se va a realizar la consulta. Tema 1: Transformación MER a MR: Binarias de N:M Paso a tablas de la relación N:M entre MÓDULO (1,n) y ALUMNO (1,n). Este tipo de relación siempre genera tabla y los atributos de la relación, pasan a la tabla que ésta genera Tema 1: Transformación MER a MR: Binarias de 1:N Si la entidad del lado “1” presenta participación (0,1), – Se crea una nueva tabla para la relación FK: las claves de ambas entidades PK: La clave principal de la relación será sólo la clave de la entidad del lado “N”. Para el resto de situaciones – No se crea tabla nueva FK: la clave de la entidad del lado “1”. Atributos: incorpora los atributos propios de la relación. Tema 1: Transformación MER a MR: Binarias de 1:N Paso a tablas de la relación 1:N entre MÓDULO (1,1) y TEMA (1,n) Como no hay participación mínima “0” en el lado 1: no genera tabla la clave principal del lado “1” pasa como foránea al lado “n”. Tema 1: Transformación MER a MR: Binarias de 1:N Paso a tablas de la relación 1:N entre PROFESOR (1,n) y EMPRESA (0,1) Como en el lado “1” encontramos participación mínima 0: se generará una nueva tabla: «TRABAJA»: Tema 1: Transformación MER a MR: Binarias de 1:1 Si las dos entidades participan con participación (0,1) – Se crea una nueva tabla para la relación Si sólo una entidad participa con participación mínima 0 (0,1) – No se crea tabla nueva FK: se pone la clave ajena en la entidad que participa con participación mínima 0 (para intentar evitar valores nulos). Si ninguna entidad tiene participación mínima 0 – Elegimos la PK de una de ellas y la introducimos como FK en la otra tabla (se elige de forma que se faciliten las consultas) – Los atributos propios de la relación pasan a la tabla donde se introduce la FK Tema 1: Transformación MER a MR: Binarias de 1:1 Paso a tablas de la relación 1:1 entre ALUMNO (1,1) y BECA (0,1). Como BECA tiene participación mínima 0, incorporamos en ella, como FK, la clave de ALUMNO. Tema 1: Transformación MER a MR: Dep. Existencia de 1:N Relaciones de dependencia en existencia (grado 2 y cardinalidad 1:N) Se comportan como una 1:N normal PK: normal. La clave principal del lado 1 pasa al lado “N” como foránea (hacia adonde apunta la flecha) FK: las claves de ambas entidades Se crea una Si la entidad del nueva tabla lado “1” presenta PK: La clave principal de para la participación (0,1), la relación será sólo la relación clave de la entidad del RELACIONES lado “N”. BINARIAS Relaciones 1:N No se crea tabla nueva FK: la clave de la Para el resto de entidad del lado situaciones “1”. Entidad del lado “N” Atributos: incorpora los atributos propios de la relación. Tema 1: Transformación MER a MR: Dep. Identificación de 1:N Relaciones de dependencia en identificación (grado 2 y cardinalidad 1:N) Suelen ser 1:1 o 1:N y se comportan como una 1:N normal La clave de la entidad fuerte debe introducirse en la tabla de la entidad débil como FK y, además en este caso, formar parte de la clave de ésta Se crea una FK: las claves de ambas Si la entidad del entidades nueva tabla lado “1” presenta para la participación (0,1), relación PK: La clave principal de RELACIONES la relación será sólo la BINARIAS clave de la entidad del Relaciones 1:N lado “N”. No se crea tabla nueva FK: la clave de la Para el resto de entidad del lado situaciones “1”. Entidad del lado “N” Atributos: incorpora los atributos propios de la relación. Tema 1: Transformación MER a MR: Dep. Identificación de 1:N Tema 1: Transformación MER a MR: Relaciones N-arias Relaciones N-arias (de grado mayor que 2) Siempre generan tabla – FK de la nueva tabla: formada por las PKs de las entidades que participan – PK: formada por las PKs de las entidades de los lados «n» – Atributos: incluye los atributos de la relación Tema 1: Transformación MER a MR: Relaciones reflexivas Si cardinalidad = 1:1 – No genera tabla – PK de la entidad = clave – FK de la entidad = clave Si cardinalidad = 1:N – Si en el lado 1 hay participación 0 Genera tabla – Si en el lado 1 NO hay participación 0 Puede generar tabla o no Si cardinalidad = N:N – Genera tabla Tema 1: Transformación MER a MR: Relaciones reflexivas Paso a tablas de la relación reflexiva de ALUMNO. – Como no tiene participación mínima “0” en el lado 1: no genera tabla. – La clave principal de ALUMNOS, volverá a aparecer en ALUMNOS como clave foránea, igual que en cualquier relación 1:N. Ahora bien, como no puede haber dos campos con el mismo nombre en la misma tabla, deberemos cambiar un poco el nombre de la clave principal, para que haga referencia al papel que ocupa como clave foránea. Tema 1: Transformación MER a MR: Jerarquías Eliminación de las relaciones jerárquicas Algunas guías que sirvan de referencia para la eliminación de las relaciones jerárquicas son las siguientes, pero en la mayoría de los casos, va a depender del problema concreto: – Se creará una tabla para la entidad supertipo, a no ser que tenga tan pocos atributos que dejarla sea una complicación. – Si la entidad subtipo No tiene atributos y no está relac. con ninguna otra entidad desaparece Si tiene algún atributo se crea una tabla. Si no tiene clave propia hereda la de la entidad supertipo. Si la relación es exclusiva el atributo que genera la jerarquía se incorpora en la tabla de la entidad supertipo. – Si se ha creado una tabla por cada una de las entidades subtipo no es necesario incorporar dicho atributo a la entidad supertipo.