42
1 5. MODELO RELACIONAL - MR 5.1. Estructura El modelo Relacional se Divide en: 1. Estructura de datos. Se refiere a todos los elementos necesarios para modelar una Base de Datos Relacional. Estática Permitidos (Dominios, Relaciones (Afinidad), Atributos) No permitidos (Inherentes, Semánticos) Dinámica Algebra Relacional. Conjunto de operaciones sobre relaciones. Cálculo Relacional. Lenguaje basado en el cálculo de predicados de primer orden. No procedimental, se expresa qué se quiere obtener y no cómo. 2. Integridad de datos. Se refiere al mantenimiento de la consistencia de los datos, sus relaciones y restricciones. 3. Manipulación de datos. Se refiere a la posibilidad de gestionar los datos que se almacenan en las tablas del modelo relacional. Guía 3. Diseño y Modelado. Modelo Relacional

5. MODELO RELACIONAL - MR 5.1. Estructuraartemisa.unicauca.edu.co/~cardila/BD1_Guia_03... · Algebra Relacional. Conjunto de operaciones sobre relaciones. Cálculo Relacional. Lenguaje

Embed Size (px)

Citation preview

Page 1: 5. MODELO RELACIONAL - MR 5.1. Estructuraartemisa.unicauca.edu.co/~cardila/BD1_Guia_03... · Algebra Relacional. Conjunto de operaciones sobre relaciones. Cálculo Relacional. Lenguaje

1

5. MODELO RELACIONAL - MR

5.1. Estructura

El modelo Relacional se Divide en:

1. Estructura de datos. Se refiere a todos los elementos necesarios paramodelar una Base de Datos Relacional.

EstáticaPermitidos (Dominios, Relaciones (Afinidad), Atributos)No permitidos (Inherentes, Semánticos)

DinámicaAlgebra Relacional. Conjunto de operaciones sobre relaciones.Cálculo Relacional. Lenguaje basado en el cálculo de predicados de primer orden.No procedimental, se expresa qué se quiere obtener y no cómo.

2. Integridad de datos. Se refiere al mantenimiento de la consistencia de losdatos, sus relaciones y restricciones.

3. Manipulación de datos. Se refiere a la posibilidad de gestionar los datos quese almacenan en las tablas del modelo relacional.

Guía 3. Diseño y Modelado. Modelo Relacional

Page 2: 5. MODELO RELACIONAL - MR 5.1. Estructuraartemisa.unicauca.edu.co/~cardila/BD1_Guia_03... · Algebra Relacional. Conjunto de operaciones sobre relaciones. Cálculo Relacional. Lenguaje

2

5. MODELO RELACIONAL - MR

5.1. Estructura. Elementos permitidos

Relación. Es la estructura básica del modelo relacional. Con una relación esposible representar tanto instancias de una entidad del universo real comointerrelaciones entre entidades de distinto tipo.Una manera informal de representarla es mediante una tabla, pero se debe dejar

claro que: Relación ≠ Tabla

Dominio. Es el conjunto válido de valores de referencia para definir propiedades oatributos. Un dominio es un conjunto nominado y homogéneo de valores.

Cada dominio puede definirse de dos maneras:

• Por extensión (enumeración de sus elementos):días de la semana = {lunes, martes, miércoles, jueves, viernes, sábado, domingo}

• Por intensión (mediante una propiedad que recoja el recorrido de sus valores admisibles):edad: entero / 0≤edad<123

Un dominio compuesto se puede definir como una combinación de dominios simples a la quese puede aplicar ciertas restricciones.

Ej.: el dominio compuesto denominado Fecha se construye por agregación de los dominiossimples Día, Mes y Año, incorporando las restricciones a fin de que no aparezcan valoresinválidos como: 29/2/2003, 31/4/2004.

Guía 3. Diseño y Modelado. Modelo Relacional

Page 3: 5. MODELO RELACIONAL - MR 5.1. Estructuraartemisa.unicauca.edu.co/~cardila/BD1_Guia_03... · Algebra Relacional. Conjunto de operaciones sobre relaciones. Cálculo Relacional. Lenguaje

3

5. MODELO RELACIONAL - MR

5.1. Estructura. Elementos permitidos

Atributo.

Representa las propiedades de la relación. Un atributo, necesariamente ha dedefinirse sobre un dominio. Su representación informal es una columna.

Un atributo (A) es la interpretación de un determinado dominio en una relación,es decir el “papel” que juega el dominio en la misma.

D = Dom (A) ⇒ D es el dominio de A

• Un atributo está siempre asociado a una relación, mientras que un dominiotiene existencia propia con independencia de las relaciones que existan en elmodelo.

• Un atributo representa una propiedad de una relación.• Un atributo toma valores de un dominio.• Varios atributos distintos (de la misma o de diferentes relaciones) pueden

tomar sus valores del mismo dominio.

Guía 3. Diseño y Modelado. Modelo Relacional

Page 4: 5. MODELO RELACIONAL - MR 5.1. Estructuraartemisa.unicauca.edu.co/~cardila/BD1_Guia_03... · Algebra Relacional. Conjunto de operaciones sobre relaciones. Cálculo Relacional. Lenguaje

4

5. MODELO RELACIONAL - MR

5.1. Estructura. Otros términos

Tupla. Es una ocurrencia o instancia dentro de una relación. Una tupla permitereferenciar una instancia de una entidad en el universo o la interrelaciónespecífica o concreta entre instancias de entidades. Su representación informales una fila. Una relación tiene un “conjunto” de tuplas.

Grado. Se define como el número de dominios Di

Cardinalidad. Se define como el número de tuplas de la relación.

Representación de una relación en forma de tabla

Guía 3. Diseño y Modelado. Modelo Relacional

Page 5: 5. MODELO RELACIONAL - MR 5.1. Estructuraartemisa.unicauca.edu.co/~cardila/BD1_Guia_03... · Algebra Relacional. Conjunto de operaciones sobre relaciones. Cálculo Relacional. Lenguaje

5

5. MODELO RELACIONAL - MR

5.1. Estructura. Otros términos

Representación de la relación “Autor”

Guía 3. Diseño y Modelado. Modelo Relacional

Page 6: 5. MODELO RELACIONAL - MR 5.1. Estructuraartemisa.unicauca.edu.co/~cardila/BD1_Guia_03... · Algebra Relacional. Conjunto de operaciones sobre relaciones. Cálculo Relacional. Lenguaje

6

5. MODELO RELACIONAL - MR

5.1. Estructura. Otros términos

Relaciones vs tablas. Existen diferencias entre ambas estructuras.

Tabla:• Un orden definido para las filas.• Un orden definido para los valores de los atributos.

Relación:• Ni las tuplas ni los valores de los componentes de una tupla se referencian por su

posición relativa (no hay un orden predefinido para el conjunto).• No pueden repetirse tuplas, pues un conjunto no tiene elementos repetidos.

Guía 3. Diseño y Modelado. Modelo Relacional

Page 7: 5. MODELO RELACIONAL - MR 5.1. Estructuraartemisa.unicauca.edu.co/~cardila/BD1_Guia_03... · Algebra Relacional. Conjunto de operaciones sobre relaciones. Cálculo Relacional. Lenguaje

7

5. MODELO RELACIONAL - MR

5.1. Estructura. Intensión y extensión de una relación

Podemos precisar mejor el concepto de relación si lo definimos en base a susatributos, distinguiendo entre esquema de relación y relación:

un esquema de relación se compone de un nombre de relación R, de unconjunto de n atributos {Ai} y de un conjunto de m dominios (no necesariamentedistintos) {Di}, donde cada atributo será definido sobre un dominio:

Una relación r(R) es un conjunto de m elementos denominados tuplas {tj}. Cadatupla, es conjunto de pares

donde cada Ai es el nombre de un atributo y vij es un valor del correspondiente

dominio Di sobre el que está definido el atributo:

Guía 3. Diseño y Modelado. Modelo Relacional

Page 8: 5. MODELO RELACIONAL - MR 5.1. Estructuraartemisa.unicauca.edu.co/~cardila/BD1_Guia_03... · Algebra Relacional. Conjunto de operaciones sobre relaciones. Cálculo Relacional. Lenguaje

8

5. MODELO RELACIONAL - MR

5.1. Estructura. Intensión y extensión de una relación

De acuerdo con la definición de relación y esquema de relación dadas anteriormente, sepueden distinguir dos conceptos ligados a la noción de relación:

Intensión de una relación: Parte definitoria y estática (invariante en el tiempo) de larelación, es lo que llamaremos esquema de relación.

Extensión: Conjunto de tuplas que, en un instante determinado, satisfacen elesquema de relación y se encuentran almacenadas en la base de datos; es lo que sesuele llamar, simplemente, relación. La extensión varía en el transcurso del tiempo.

A veces se utiliza el término relación en un sentido genérico para referirse a un esquema derelación con sus posibles extensiones.

Estos dos conceptos están vinculados con la abstracción de clasificación.

La intensión se corresponde con el tipo, el cual se obtiene por clasificación de unconjunto de objetos (en este caso tuplas) en un ente de un nivel superior (más abstracto);

cada tupla es un ejemplar del tipo, y la extensión en un determinado momento será elconjunto de ejemplares que, en ese momento, pertenecen al tipo y están almacenadosen la base de datos.

Guía 3. Diseño y Modelado. Modelo Relacional

Page 9: 5. MODELO RELACIONAL - MR 5.1. Estructuraartemisa.unicauca.edu.co/~cardila/BD1_Guia_03... · Algebra Relacional. Conjunto de operaciones sobre relaciones. Cálculo Relacional. Lenguaje

9

5. MODELO RELACIONAL - MR

5.1. Estructura. Intensión y extensión de una relación

Guía 3. Diseño y Modelado. Modelo Relacional

Page 10: 5. MODELO RELACIONAL - MR 5.1. Estructuraartemisa.unicauca.edu.co/~cardila/BD1_Guia_03... · Algebra Relacional. Conjunto de operaciones sobre relaciones. Cálculo Relacional. Lenguaje

10

5. MODELO RELACIONAL - MR

5.1. Estructura. Elementos no permitidos: manejo de restricciones

Restricciones inherentes.

Son las restricciones derivadas de la misma estructura del modelo, que no tienen que serdefinidas por el usuario e imponen limitaciones a la hora de modelar el mundo real:

De la estructura del modelo relacional, al disponer solamente de un constructor, larelación, no permite diferenciar entre objetos y asociaciones entre ellos;

De su misma definición matemática, ya que, al definirse la relación como un conjunto, nose permite la existencia de tuplas duplicadas (un conjunto no puede tener elementosiguales, concepto de unicidad –mandato UNIQUE-) y de ahí la obligatoriedad deuna clave primaria o identificador (conjunto mínimo de atributos que identifican deforma unívoca las tuplas de una relación).

De la definición matemática de relación, se imponen restricciones inherentes como laprohibición de que en el cruce de una fila y una columna haya más de un valor, esdecir, las relaciones son tablas planas — de dos dimensiones— no admitiéndose losgrupos repetitivos; cada atributo sólo puede tomar un valor del dominio simplesubyacente (es lo que se conoce como primera forma normal, como veremos al estudiarla teoría de la normalización).

Integridad de Entidad. Es una restricción inherente, debida a la necesidad de quetodas las tuplas de una relación sean distintas, la cual establece que: “Ningún atributoque forme parte de la clave primaria puede tomar valores nulos” –mandato NOT NULL-

Guía 3. Diseño y Modelado. Modelo Relacional

Page 11: 5. MODELO RELACIONAL - MR 5.1. Estructuraartemisa.unicauca.edu.co/~cardila/BD1_Guia_03... · Algebra Relacional. Conjunto de operaciones sobre relaciones. Cálculo Relacional. Lenguaje

11

5. MODELO RELACIONAL - MR

Restricciones semánticas.

Son facilidades proporcionadas por el modelo establecidas para recoger en elesquema de relación la semántica del universo del discurso que afectan.

Las hay de tres tipos:

a) Condición y acción específicas

b) Condición general y acción específica (entre ellas están las de verificación(“CHECK”) y las aserciones (“ASSERTION”).

Una aserción (ó Aserto) es un predicado que expresa una condición que sedesea que la base de datos satisfaga siempre. Las restricciones de dominio ylas de integridad referencial son formas especiales de los asertos.

c) Condición general y acción general (Disparadores ó "triggers")

Nos concentraremos en las restricciones de condición y acción específicas.

5.1. Estructura. Elementos no permitidos: manejo de restricciones

Guía 3. Diseño y Modelado. Modelo Relacional

Page 12: 5. MODELO RELACIONAL - MR 5.1. Estructuraartemisa.unicauca.edu.co/~cardila/BD1_Guia_03... · Algebra Relacional. Conjunto de operaciones sobre relaciones. Cálculo Relacional. Lenguaje

12

5. MODELO RELACIONAL - MR

Restricciones semánticas. (De condición y acción específicas)

Además de las de unicidad y obligatoriedad, se encuentran: las de clavecandidata, clave ajena y la integridad referencial.

Clave Candidata.

Es un conjunto no vacío de atributos (descriptor) que identifican unívocamente cada tupla deuna relación. En toda relación siempre hay, al menos, una clave candidata, ya que elconjunto de atributos que constituye la relación gozará de la propiedad de unicidad (por ladefinición misma de relación no puede haber dos tuplas iguales).

Una relación puede tener más de una clave candidata, entre ellas cabe distinguir:

Clave primaria (Primary key): Es la clave candidata que el usuario elegirá, porconsideraciones ajenas al modelo relacional, para identificar las tuplas de la relación. Losatributos que forman parte de la clave primaria no pueden tomar valores nulos.

Claves alternativas. Son aquellas claves candidatas que no han sido elegidas comoclaves primarias de la relación.

En el caso de la clave primaria, la definición de la misma es equivalente a las restricciones deobligatoriedad y unicidad.

Por ejemplo, en la diapositiva 9 se eligió como clave primaria el Código de curso y,suponiendo que los nombres no se repitiesen, el Nombre sería una clave alternativa.

5.1. Estructura. Elementos no permitidos: manejo de restricciones

Guía 3. Diseño y Modelado. Modelo Relacional

Page 13: 5. MODELO RELACIONAL - MR 5.1. Estructuraartemisa.unicauca.edu.co/~cardila/BD1_Guia_03... · Algebra Relacional. Conjunto de operaciones sobre relaciones. Cálculo Relacional. Lenguaje

13

5. MODELO RELACIONAL - MR

Restricciones semánticas. (De condición y acción específicas)

Clave Ajena.

Una clave ajena -foreign key-de una relación R2 es unconjunto no vacío de atributoscuyos valores han de coincidircon los valores de la claveprimaria de una relación R1 (R1y R2 pueden ser la mismarelación). Se dice que R2 es larelación que referencia,mientras que R1 es la relaciónreferenciada.

En la figura se muestra unejemplo de clave ajena, dondelos valores del atributoCod_prog de la relaciónCURSO_DOCTORADO (relaciónque referencia) deben coincidircon los que es la clave primariade la relación PROGRAMA(relación referenciada).

5.1. Estructura. Elementos no permitidos: manejo de restricciones

Guía 3. Diseño y Modelado. Modelo Relacional

Page 14: 5. MODELO RELACIONAL - MR 5.1. Estructuraartemisa.unicauca.edu.co/~cardila/BD1_Guia_03... · Algebra Relacional. Conjunto de operaciones sobre relaciones. Cálculo Relacional. Lenguaje

14

5. MODELO RELACIONAL - MR

Restricciones semánticas. (De condición y acción específicas)

Integridad Referencial.

“Si una relación R2 tiene un descriptor CA que es clave ajena que referencia a la claveprimaria CP de la relación R1, todo valor de CA debe coincidir con un valor de CP, o ser nulo”.

Ésta es la condición de la restricción, la cual puede expresarse como un predicado:

R2.CA = R1.CP

Los descriptores CA y CP han de estar definidos sobre el mismo dominio y se permite quesobre CA se defina, si es necesario, la restricción de obligatoriedad

En "Alquiler" no se podrá incluir ningún código que no esté en "Cliente"

5.1. Estructura. Elementos no permitidos: manejo de restricciones

Guía 3. Diseño y Modelado. Modelo Relacional

Page 15: 5. MODELO RELACIONAL - MR 5.1. Estructuraartemisa.unicauca.edu.co/~cardila/BD1_Guia_03... · Algebra Relacional. Conjunto de operaciones sobre relaciones. Cálculo Relacional. Lenguaje

15

5. MODELO RELACIONAL - MR

Restricciones semánticas. (De condición y acción específicas)

Integridad Referencial.

En cuanto a la acción, es de tipo específico (aunque no es de rechazo en todoslos casos).

Si se intenta insertar una tupla en la tabla que referencia R2, que no cumpla lacondición, la acción es de rechazo. Si la condición falla debido a una operación deborrado de tuplas o de modificación de la clave primaria en la tabla referenciadaR1, existe en SQL92 la posibilidad de elegir entre cuatro opciones, tanto para laoperación de borrado como para la de modificación:

• NO ACTION (rechazar la operación) -opción por defecto-

• CASCADE (propagar la modificación o borrar las tuplas de la tabla quereferencia)

• SET NULL (poner valor nulo en la CA de la tabla que referencia)

• SET DEFAULT (poner valor por defecto en la CA de la tabla que referencia)

5.1. Estructura. Elementos no permitidos: manejo de restricciones

Guía 3. Diseño y Modelado. Modelo Relacional

Page 16: 5. MODELO RELACIONAL - MR 5.1. Estructuraartemisa.unicauca.edu.co/~cardila/BD1_Guia_03... · Algebra Relacional. Conjunto de operaciones sobre relaciones. Cálculo Relacional. Lenguaje

16

5. MODELO RELACIONAL - MR

Restricciones semánticas. (De condición y acción específicas)

Integridad Referencial. Ejemplos de definición de claves ajenas con sus opciones:

5.1. Estructura. Elementos no permitidos: manejo de restricciones

Guía 3. Diseño y Modelado. Modelo Relacional

Page 17: 5. MODELO RELACIONAL - MR 5.1. Estructuraartemisa.unicauca.edu.co/~cardila/BD1_Guia_03... · Algebra Relacional. Conjunto de operaciones sobre relaciones. Cálculo Relacional. Lenguaje

17

5. MODELO RELACIONAL - MR

5.2. Transformaciones del esquema conceptual al lógico.

Las tres reglas básicas para convertir un esquema en el modelo E/R alrelacional son las siguientes:

1) Todo tipo de entidad se convierte en una relación.

2) Todo tipo de interrelación N:M se transforma en una relación.

3) Para todo tipo de interrelación 1:N se realiza lo que se denominapropagación de clave (regla general), o bien se crea una nueva relación.

Observación: Esto implica una pérdida de semántica conrespecto al esquema E/R, ya que las interrelaciones N:Mno se distinguen de las entidades y las 1:N serepresentan mediante una propagación de clave,desapareciendo incluso el nombre de la interrelación.

Guía 3. Diseño y Modelado. Modelo Relacional

Page 18: 5. MODELO RELACIONAL - MR 5.1. Estructuraartemisa.unicauca.edu.co/~cardila/BD1_Guia_03... · Algebra Relacional. Conjunto de operaciones sobre relaciones. Cálculo Relacional. Lenguaje

18

5. MODELO RELACIONAL - MR

5.2. Transformaciones del esquema conceptual al lógico.

DEPARTAMENTO pertenece PROFESOR imparte CURSO

N:M1:N

Cod_dep Cod_prof Cod_curso

DEPARTAMENTO (Cod_dep, Nombre, ... )

PROFESOR (Cod_prof, Nombre_p, ... , Cod__dep)

IMPARTE (Cod_curso, Cod_prof)

CURSO (Cod_curso, Nombre, Num_horas)

Clave ajena

Clave ajenaClave ajena

Guía 3. Diseño y Modelado. Modelo Relacional

Page 19: 5. MODELO RELACIONAL - MR 5.1. Estructuraartemisa.unicauca.edu.co/~cardila/BD1_Guia_03... · Algebra Relacional. Conjunto de operaciones sobre relaciones. Cálculo Relacional. Lenguaje

19

5. MODELO RELACIONAL - MR

5.2. Transformaciones del esquema conceptual al lógico.

1. Transformación de dominios. En el MR estándar un dominio es un objeto más, propiode la estructura del modelo que, como tal, tendrá su definición concreta en el Lenguaje deDefinición de Datos -LDD- (ejemplo: SQL estándar).

Como ejemplo podemos crear el dominio de los estados civiles, que es un conjunto devalores de tipo carácter, de longitud 1, que puede tomar los valores 'S', 'C', 'V' o 'D‘.

A esto lo llamanLenguaje Lógico Estándar (LLS)

Guía 3. Diseño y Modelado. Modelo Relacional

Page 20: 5. MODELO RELACIONAL - MR 5.1. Estructuraartemisa.unicauca.edu.co/~cardila/BD1_Guia_03... · Algebra Relacional. Conjunto de operaciones sobre relaciones. Cálculo Relacional. Lenguaje

20

5. MODELO RELACIONAL - MR

5.2. Transformaciones del esquema conceptual al lógico.

2. Transformación de entidades. Según lo indicado en la introducción de este capítulo,"cada tipo de entidad se convierte en una relación". Esto es, el modelo lógico estándarposee el objeto RELACIÓN o TABLA mediante el cual representamos las entidades. La tablase llamará igual que el tipo de entidad de donde proviene.

Guía 3. Diseño y Modelado. Modelo Relacional

Page 21: 5. MODELO RELACIONAL - MR 5.1. Estructuraartemisa.unicauca.edu.co/~cardila/BD1_Guia_03... · Algebra Relacional. Conjunto de operaciones sobre relaciones. Cálculo Relacional. Lenguaje

21

5. MODELO RELACIONAL - MR

5.2. Transformaciones del esquema conceptual al lógico.

3. Transformación de atributos de entidades.

Un atributo de una entidad se transforma en un atributo (columna) de la relación en lacual se ha transformado la entidad; si el atributo estaba definido sobre un dominio, enel modelo relacional queda también definido sobre el mismo dominio (con la excepciónde los atributos multivaluados).

1.- Identificador principal (IP): Se transforma en la clave primaria de la relación.

2.- Identificadores alternativos (IA): Se transforman en claves alternativas en elmodelo relacional.

3.- Atributos obligatorios: Se transforman en una columna de la relación en la cual seha transformado la entidad, no admitiendo valores nulos.

4.- Atributos opcionales: Se transforman en una columna de la relación en la cual seha transformado la entidad, admitiendo valores nulos.

5.- Atributos multivaluados: Se crea una nueva relación formada con la claveprimaria de la entidad y el atributo multivaluado, siendo ambos clave primaria de lanueva relación.

6.- Atributos compuestos: Se transforma en los atributos simples (campos) quecomponen el atributo compuesto, desapareciendo este como tal de la relación.

Guía 3. Diseño y Modelado. Modelo Relacional

Page 22: 5. MODELO RELACIONAL - MR 5.1. Estructuraartemisa.unicauca.edu.co/~cardila/BD1_Guia_03... · Algebra Relacional. Conjunto de operaciones sobre relaciones. Cálculo Relacional. Lenguaje

22

5. MODELO RELACIONAL - MR

5.2. Transformaciones del esquema conceptual al lógico.

3. Transformación de atributos de entidades.

Guía 3. Diseño y Modelado. Modelo Relacional

Ejemplo de transformación de una entidad con atributos opcionales, compuestos ymultivaluados:

Page 23: 5. MODELO RELACIONAL - MR 5.1. Estructuraartemisa.unicauca.edu.co/~cardila/BD1_Guia_03... · Algebra Relacional. Conjunto de operaciones sobre relaciones. Cálculo Relacional. Lenguaje

23

5. MODELO RELACIONAL - MR

5.2. Transformaciones del esquema conceptual al lógico.

4. Transformación de interrelaciones.

4.1. Interrelaciones N:M. Se transforma en una relación que tendrá como clave primaria laconcatenación de los AIP de los tipos de entidad que asocia.

Cada uno de los atributos que forman la clave primaria de estarelación son claves ajenas que referencian a las tablas en que se haconvertido las entidades interrelacionadas (claves primarias).

Guía 3. Diseño y Modelado. Modelo Relacional

Page 24: 5. MODELO RELACIONAL - MR 5.1. Estructuraartemisa.unicauca.edu.co/~cardila/BD1_Guia_03... · Algebra Relacional. Conjunto de operaciones sobre relaciones. Cálculo Relacional. Lenguaje

24

5. MODELO RELACIONAL - MR

5.2. Transformaciones del esquema conceptual al lógico.

4. Transformación de interrelaciones.

4.2. Interrelaciones 1:N. Primera alternativa: Propagar los AIP del tipo de entidad que tienede cardinalidad máxima 1 a la que tiene N, es decir en el sentido de la flecha,desapareciendo el nombre de la interrelación, con lo cual se pierde semántica (ésta es laregla habitual).

Guía 3. Diseño y Modelado. Modelo Relacional

Page 25: 5. MODELO RELACIONAL - MR 5.1. Estructuraartemisa.unicauca.edu.co/~cardila/BD1_Guia_03... · Algebra Relacional. Conjunto de operaciones sobre relaciones. Cálculo Relacional. Lenguaje

25

5. MODELO RELACIONAL - MR

5.2. Transformaciones del esquema conceptual al lógico.

4. Transformación de interrelaciones.

4.2. Interrelaciones 1:N. Segunda alternativa: Transformarla en una relación, como si setratara de una interrelación N:M ; sin embargo en este caso, la clave primaria de la relacióncreada es sólo la clave primaria de la tabla a la que le corresponde la cardinalidad N.

Caso: Cuando elnúmero de ejemplaresinterrelacionados de laentidad que propaga suclave es muy pequeñoy, por tanto, existiríamuchos valores nulosen la clave propagada.

Guía 3. Diseño y Modelado. Modelo Relacional

Page 26: 5. MODELO RELACIONAL - MR 5.1. Estructuraartemisa.unicauca.edu.co/~cardila/BD1_Guia_03... · Algebra Relacional. Conjunto de operaciones sobre relaciones. Cálculo Relacional. Lenguaje

26

5. MODELO RELACIONAL - MR

5.2. Transformaciones del esquema conceptual al lógico.

4. Transformación de interrelaciones.

4.3. Interrelaciones 1:1. Se puede usar la regla de creación de relación ó la regla depropagación de clave (al ser 1:1 la propagación puede efectuarse en ambos sentidos). Loscriterios para aplicar una u otra regla se basan en las cardinalidades mínimas.

a) Si TODAS poseen cardinalidades (0,1). Enla figura, evitando valores nulos que apareceríanen caso de propagar la clave de MUJER a la tablaHOMBRE o viceversa, ya que como reflejan lascardinalidades no todos los hombres ni todas lasmujeres se encuentran casados.

c) Si TODAS presentan cardinalidades (1,1),se puede propagar la clave de cualquiera de ellasa la tabla resultante de la otra.

b) Si UNA de las entidades posee cardinalidades(0,1), mientras que en la otra son (1,1),conviene propagar la clave de la entidad concardinalidades (1,1) a la tabla resultante de laentidad de cardinalidades (0,1).

Guía 3. Diseño y Modelado. Modelo Relacional

Page 27: 5. MODELO RELACIONAL - MR 5.1. Estructuraartemisa.unicauca.edu.co/~cardila/BD1_Guia_03... · Algebra Relacional. Conjunto de operaciones sobre relaciones. Cálculo Relacional. Lenguaje

27

5. MODELO RELACIONAL - MR

5.2. Transformaciones del esquema conceptual al lógico.

5. Transformación de atributos de interrelaciones.

Todos sus atributos pasan a ser columnas de la relación. Por ejemplo, la interrelaciónImparte entre PROFESOR y CURSO de la figura tiene un atributo Num_Horas (número dehoras que imparte) que pasa a ser una columna de la tabla que se crea a partir de ella.La transformación es directa y no hay pérdida de semántica.

Guía 3. Diseño y Modelado. Modelo Relacional

Page 28: 5. MODELO RELACIONAL - MR 5.1. Estructuraartemisa.unicauca.edu.co/~cardila/BD1_Guia_03... · Algebra Relacional. Conjunto de operaciones sobre relaciones. Cálculo Relacional. Lenguaje

28

5. MODELO RELACIONAL - MR

5.2. Transformaciones del esquema conceptual al lógico.

6. Transformación de restricciones.

Como complemento a lo indicado en la primera transformación, otra posibilidad esutilizar la cláusula CHECK dentro de la descripción de la tabla para expresar unacondición que deben cumplir un conjunto de atributos de la tabla, o la cláusulaaserción si la comprobación afecta a atributos de más de una tabla.

Por ejemplo, para que lafecha de inicio de un cursosea siempre menor que la definalización, en la creación dela tabla tendríamos lassiguientes sentencias:

CREATE TABLE Curso (Cód_Curso Cursos,Nombre Nombres,Num_Horas Horas,Fecha_I Fechas,Fecha_F Fechas,PRIMARY KEY (Cód_Curso),

CHECK (Fecha_I < Fecha_F));

Guía 3. Diseño y Modelado. Modelo Relacional

Page 29: 5. MODELO RELACIONAL - MR 5.1. Estructuraartemisa.unicauca.edu.co/~cardila/BD1_Guia_03... · Algebra Relacional. Conjunto de operaciones sobre relaciones. Cálculo Relacional. Lenguaje

29

5. MODELO RELACIONAL - MR

5.2. Transformaciones del esquema conceptual al lógico.

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

Se utiliza el mecanismo de propagación de clave, creando una clave ajena, con nulos nopermitidos, en la relación de la entidad dependiente, con la característica de obligar a unamodificación y un borrado en cascada. Además, en el caso de dependencia en identificaciónla clave primaria de la relación en la que se ha transformado la entidad débil debe estarformada por la concatenación de las claves de las dos entidades participantes en lainterrelación (ver la figura).

Guía 3. Diseño y Modelado. Modelo Relacional

Page 30: 5. MODELO RELACIONAL - MR 5.1. Estructuraartemisa.unicauca.edu.co/~cardila/BD1_Guia_03... · Algebra Relacional. Conjunto de operaciones sobre relaciones. Cálculo Relacional. Lenguaje

30

5. MODELO RELACIONAL - MR

5.2. Transformaciones del esquema conceptual al lógico.

8. Transformación de Tipos y Subtipos.

En lo que respecta a tipos y subtipos, no son objetos que se puedan representarexplícitamente en el modelo relacional. Se plantean 3 opciones:

Opción a: Englobar todos los atributos de la entidad y sus subtipos en una sola relación.En general, se adopta esta solución cuando los subtipos se diferencien en muy pocosatributos y las interrelaciones que los asocian con el resto de las entidades del esquemasean las mismas para todos (o casi todos) los subtipos.

Opción b: Crear una relación para el supertipo y tantas relaciones como subtipos haya,con sus atributos correspondientes. Ésta es la solución adecuada cuando existen muchosatributos distintos entre los subtipos y se quieren mantener de todas maneras losatributos comunes a todos ellos en una relación. Al igual que en el caso anterior, habráque crear las restricciones y/o aserciones oportunas.

Opción c: Considerar relaciones distintas para cada subtipo, que contengan, además delos atributos propios, los atributos comunes. Se elegiría esta opción cuando se dieran lasmismas condiciones que en el caso anterior —muchos atributos distintos— y los accesosrealizados sobre los datos de los distintos subtipos siempre afectan a atributos comunes.

Se indica que desde un punto de vista exclusivamente semántico, la Opción b es la mejor,pero es la menos eficiente en cuanto a implementación

Guía 3. Diseño y Modelado. Modelo Relacional

Page 31: 5. MODELO RELACIONAL - MR 5.1. Estructuraartemisa.unicauca.edu.co/~cardila/BD1_Guia_03... · Algebra Relacional. Conjunto de operaciones sobre relaciones. Cálculo Relacional. Lenguaje

31

5. MODELO RELACIONAL - MR

5.2. Transformaciones del esquema conceptual al lógico.

8. Transformación de Tipos y Subtipos.

En lo que respecta a tipos y subtipos, no son objetos que se puedan representarexplícitamente en el modelo relacional. Se plantean 3 opciones:

Guía 3. Diseño y Modelado. Modelo Relacional

Page 32: 5. MODELO RELACIONAL - MR 5.1. Estructuraartemisa.unicauca.edu.co/~cardila/BD1_Guia_03... · Algebra Relacional. Conjunto de operaciones sobre relaciones. Cálculo Relacional. Lenguaje

32

5. MODELO RELACIONAL - MR

5.2. Transformaciones del esquema conceptual al lógico.

9. Transformación de Agregaciones.

Guía 3. Diseño y Modelado. Modelo Relacional

Page 33: 5. MODELO RELACIONAL - MR 5.1. Estructuraartemisa.unicauca.edu.co/~cardila/BD1_Guia_03... · Algebra Relacional. Conjunto de operaciones sobre relaciones. Cálculo Relacional. Lenguaje

33

5. MODELO RELACIONAL - MR

5.2. Transformaciones del esquema conceptual al lógico.

9. Transformación de Agregaciones.

Guía 3. Diseño y Modelado. Modelo Relacional

BALNEARIO ( id_balneario , nombre )

TRATAMIENTO ( id_ttmto , nombre )

OFERTA ( id_balneario , id_ttmto , coste )

PENSIONISTA ( id_pensi , nombre )

SOLICITUD ( id_pensi , aceptado , id_balneario , id_ttmto )

TERAPEUTA ( id_terapeuta , nombre , id_balneario , id_ttmto )

SUPERVISOR ( id_supervisor , nombre , id_balneario , id_ttmto )

Page 34: 5. MODELO RELACIONAL - MR 5.1. Estructuraartemisa.unicauca.edu.co/~cardila/BD1_Guia_03... · Algebra Relacional. Conjunto de operaciones sobre relaciones. Cálculo Relacional. Lenguaje

34

5. MODELO RELACIONAL - MR

5.3. Teoría de Normalización

Se dice que un esquema de relación está en una determinada forma normal sisatisface un cierto conjunto específico de restricciones.

Cuanto más alta sea la forma normal en la que se encuentran los esquemas derelación, menores serán los problemas que aparecen en el mantenimiento de labase de datos (menos redundancias y evitar posibles anomalías en lasinserciones, actualizaciones y borrados).

Codd propuso inicialmente tres formas normales:primera (1FN), segunda (2FN) y tercera forma normal (3FN).

Cuando un esquema de relación está en una Forma Normal, implícitamentetambién está en las formas normales inferiores a ésta. Es decir, un esquema derelación en 3FN está en 2FN y 1FN. Lo contrario no es cierto, un esquema derelación en 2FN puede no estar en 3FN.

Guía 3. Diseño y Modelado. Modelo Relacional

Page 35: 5. MODELO RELACIONAL - MR 5.1. Estructuraartemisa.unicauca.edu.co/~cardila/BD1_Guia_03... · Algebra Relacional. Conjunto de operaciones sobre relaciones. Cálculo Relacional. Lenguaje

35

5. MODELO RELACIONAL - MR

5.3. Teoría de Normalización

Primera forma normal (1FN)

La primera forma normal (1FN) es una restricción inherente al modelo relacional,por lo que su cumplimiento es obligatorio y afecta al número de valores quepueden tomar los atributos de una relación.

Recordemos que para que una tabla pueda ser considerada una relación no debeadmitir grupos repetitivos, esto es, debe estar en primera forma normal.

Definición. Se dice que una relación está en 1FN cuando cada atributo sólo tomaun valor del dominio simple subyacente. Es decir, está en 1FN si sus atributoscontienen valores atómicos.

Objetivo Se busca la eliminación de todos los grupos repetidos.

Guía 3. Diseño y Modelado. Modelo Relacional

Page 36: 5. MODELO RELACIONAL - MR 5.1. Estructuraartemisa.unicauca.edu.co/~cardila/BD1_Guia_03... · Algebra Relacional. Conjunto de operaciones sobre relaciones. Cálculo Relacional. Lenguaje

36

5. MODELO RELACIONAL - MR

5.3. Teoría de Normalización

Primera forma normal (1FN)

Para explicar con un ejemplo en que consiste cada una de las reglas, vamos aconsiderar los datos de la siguiente tabla.

Al examinar estos registros, podemos darnos cuenta que contienen un grupo repetido paraNUM_ITEM, DESC_ITEM, CANT y PRECIO.

La 1FN prohíbe los grupos repetidos, por lo tanto tenemos que convertir a la primera formanormal. Los pasos a seguir son:

• Tenemos que eliminar los grupos repetidos.• Tenemos que crear una nueva tabla con la PK de la tabla base y el grupo repetido.

Guía 3. Diseño y Modelado. Modelo Relacional

Page 37: 5. MODELO RELACIONAL - MR 5.1. Estructuraartemisa.unicauca.edu.co/~cardila/BD1_Guia_03... · Algebra Relacional. Conjunto de operaciones sobre relaciones. Cálculo Relacional. Lenguaje

37

5. MODELO RELACIONAL - MR

5.3. Teoría de Normalización

Primera forma normal (1FN)

Los registros quedan ahora conformados en dos tablas que llamaremos ORDENESy ARTICULOS_ORDENES

Guía 3. Diseño y Modelado. Modelo Relacional

Page 38: 5. MODELO RELACIONAL - MR 5.1. Estructuraartemisa.unicauca.edu.co/~cardila/BD1_Guia_03... · Algebra Relacional. Conjunto de operaciones sobre relaciones. Cálculo Relacional. Lenguaje

38

5. MODELO RELACIONAL - MR

5.3. Teoría de Normalización

Segunda forma normal (2FN)

Definición. Se dice que una relación está en 2FN si:• Está en 1FN.• Cada atributo no principal tiene dependencia funcional completa respecto de cada una

de las claves, en otras palabras, para determinar cada atributo no clave se necesita laclave primaria completa, no vale con una subclave.

La segunda forma normal no se cumple cuando algún atributo no principal dependefuncionalmente de algún subconjunto de la clave.

Objetivo Asegurar que todas las columnas que no son llave seancompletamente dependientes de la llave primaria (PK).

Se puede afirmar que cualquier relación binaria se encuentra siempre en 2FN; así comotambién está en 2FN cualquier relación en la que todas las claves son simples, es decir,contienen un solo atributo.

Igualmente, está en 2FN cualquier relación en la que todos sus atributos son principales, esdecir, forman parte de alguna clave.

Siempre es posible transformar un esquema de relación que no esté en 2FN, en esquemasde relación en 2FN, sin que se produzca pérdida de información.

Guía 3. Diseño y Modelado. Modelo Relacional

Page 39: 5. MODELO RELACIONAL - MR 5.1. Estructuraartemisa.unicauca.edu.co/~cardila/BD1_Guia_03... · Algebra Relacional. Conjunto de operaciones sobre relaciones. Cálculo Relacional. Lenguaje

39

5. MODELO RELACIONAL - MR

5.3. Teoría de Normalización

Segunda forma normal (2FN)

La 2FN se aplica a las relaciones que tienen claves primarias compuestas por dos o másatributos. Si una relación está en 1FN y su clave primaria es simple (tiene un solo atributo),entonces también está en 2FN.

Ahora procederemos a aplicar la segunda formal normal en el ejemplo, es decir, tenemos queeliminar cualquier columna no llave que no dependa de la llave primaria de la tabla.

Los pasos a seguir son:

• Determinar cuáles columnas que no son llave no dependen de la llave primaria de latabla.

• Eliminar esas columnas de la tabla base.• Crear una segunda tabla con esas columnas y la(s) columna(s) de la PK de la cual

dependen.

Guía 3. Diseño y Modelado. Modelo Relacional

Page 40: 5. MODELO RELACIONAL - MR 5.1. Estructuraartemisa.unicauca.edu.co/~cardila/BD1_Guia_03... · Algebra Relacional. Conjunto de operaciones sobre relaciones. Cálculo Relacional. Lenguaje

40

5. MODELO RELACIONAL - MR

5.3. Teoría de Normalización

Segunda forma normal (2FN)

ARTICULOS

La tabla ORDENES ya está en 2FN. Cualquier valor único de ID_ORDEN determina un sólo valor para cadacolumna. Por lo tanto, todas las columnas son dependientes de la llave primaria ID_ORDEN.

Por su parte, la tabla ARTICULOS_ORDENES no se encuentra en 2FN ya que las columnas PRECIO yDESC_ITEM son dependientes de NUM_ITEM, pero no son dependientes de ID_ORDEN. Lo que haremos acontinuación es eliminar estas columnas de la tabla ARTICULOS_ORDENES y crear una tabla ARTICULOS condichas columnas y la llave primaria de la que dependen.

Las tablas quedan ahora de la siguiente manera:

Guía 3. Diseño y Modelado. Modelo Relacional

Page 41: 5. MODELO RELACIONAL - MR 5.1. Estructuraartemisa.unicauca.edu.co/~cardila/BD1_Guia_03... · Algebra Relacional. Conjunto de operaciones sobre relaciones. Cálculo Relacional. Lenguaje

41

5. MODELO RELACIONAL - MR

5.3. Teoría de Normalización

Tercera forma normal (3FN)

La tercera forma normal (3FN) está basada en el concepto de dependencia transitiva.

Una dependencia transitiva es aquella en la cual las columnas que no son llave sondependientes de otras columnas que tampoco son llave.

Definición. Un esquema de relación R está en tercera forma normal si, y sólo si:

• Está en 2FN.• No existe ningún atributo no principal que dependa transitivamente de alguna clave de R.

Objetivo Eliminar cualquier dependencia transitiva.

La tercera forma normal no se cumple cuando existen atributos no principales que dependenfuncionalmente de otros atributos no principales.

Se puede afirmar que toda relación binaria se encuentra automáticamente en 3FN, así comotoda relación cuyos atributos son todos principales, o bien cuando hay un único atributo noprincipal.

Siempre es posible transformar un esquema de relación que no está en 3FN, en esquemas derelación en 3FN, sin que se produzca pérdida de información.

Guía 3. Diseño y Modelado. Modelo Relacional

Page 42: 5. MODELO RELACIONAL - MR 5.1. Estructuraartemisa.unicauca.edu.co/~cardila/BD1_Guia_03... · Algebra Relacional. Conjunto de operaciones sobre relaciones. Cálculo Relacional. Lenguaje

42

5. MODELO RELACIONAL - MR

5.3. Teoría de Normalización

Tercera forma normal (3FN)

La tercera forma normal nos dice que tenemos que eliminar cualquier columna no llave que seadependiente de otra columna no llave. Los pasos a seguir son:

• Determinar las columnas que son dependientes de otra columna no llave.• Eliminar esas columnas de la tabla base.• Crear una segunda tabla con esas columnas y con la columna no llave de la cual son dependientes.

Continuando con el ejemplo, al observar las tablas que hemos creado, nos damos cuenta que tanto latabla ARTICULOS, como la tabla ARTICULOS_ORDENES se encuentran en 3FN.

Sin embargo la tabla ORDENES no lo está, ya que NOM_CLIENTE y ESTADO son dependientes deID_CLIENTE, y esta columna no es la llave primaria. Para normalizar esta tabla, moveremos las columnasno llave y la columna llave de la cual dependen dentro de una nueva tabla CLIENTES. Las nuevas tablasCLIENTES y ORDENES se muestran a continuación.

--------------------------------------------- FIN DEL DOCUMENTO

Guía 3. Diseño y Modelado. Modelo Relacional