Vous êtes sur la page 1sur 68

2

Ao

1970

Codd publica las bases del modelo relacional. 2.1. Introduccin Primeros desarrollos tericos. Primeros prototipos de BBDD relacionales: System R (IBM). En este sistema se desarrolla Sequell que con el tiempo cambiara su nombre a SQL.
La Universidad de Berkeley desarrolla Ingres, un SGBD relacional. Utiliza el lenguaje Quel. Aparece el lenguaje de acceso relacional QBE (Query By Example) para los ficheros VSAM de IBM.

Hecho

1971-72 1973-78

1974 1978

1979

Aparece Oracle, primer SGBD relacional comercial. Implementa SQL y se convertir en el SGBD relacional lder. Codd revisa el modelo y sale el modelo RM/T
Aparece Informix como SGBD per Unix.

1981

Ao

1983 1984 1986 1987 1988 1989

Aparece DB2, el SGBD relacional de IBM. 2.1. Introduccin Aparece la BD Sybase (llega a ser la segunda ms popular). ANSI normaliza SQL (SQL/ANSI). Ya es el lenguaje principal de gestin de BBDD relacionales. ISO normaliza SQL. SQL ISO (9075). La versin 6 de Oracle incorpora el lenguaje procedimental PL/SQL. ISO publica el estndar SQL Addendum. Microsoft y Sybase desarrollan SQL Server.

Hecho

1990

Versin 2 del modelo relacional (RM/V2) por Codd. Propuesta de Michael Stonebraker para aadir al modelo relacional capacidades de orientacin a objetos.
ISO publica el estndar SQL 92 (el ms utilizado).

1992

Ao

1995

Aparece el modelo objeto/relacional. 2.1. Introduccin

Hecho

Aparece MySQL, una BD relacional de cdigo abierto con licencia GNU, que se hace muy popular entre desarrolladores web. ANSI normaliza el lenguaje procedimental basado en SQL: SQL/PSM. Aparece PostgreSQL (de cdigo abierto). ISO publica SQL 99 (o SQL 200). ISO publica el estndar SQL 2003 (incluye SQL/PSM). Estndar ISO. SQL 2006. Estndar ISO. SQL 2008. Sun compra MySQL Oracle compra Sun

1996

1999 2003 2006 2008 2008 2009

2.2. Relacin (o tabla)


Elemento fundamental en el modelo relacional. Relacin (Codd) Relacin (Chen) Las relaciones constan de:
Atributos: referidos a cada propiedad de los datos que se almacenan en la relacin. Tuplas: referido a cada elemento de la relacin.

2.2. Relacin (o tabla)


Se representa en forma de tabla.
Las columnas son los atributos. Las filas son las tuplas.

2.2. Relacin: tupla


Cada una de las filas de la relacin. Se corresponde con la idea clsica de registro. Representa cada elemento individual de la relacin.
Ejemplo: relacin que almacena personas, una tupla representa una persona en concreto.

Caractersticas:
Cada tupla se corresponde con un elemento del mundo real. No pueden haber dos tuplas iguales (con todos los valores iguales).

2.2. Relacin: dominio


Conjunto de todos los valores posibles que puede tomar un determinado atributo. Dos atributos diferentes pueden tener el mismo dominio. Tcnicas para indicar el contenido de un dominio:
Intencin: se define el dominio indicando la definicin exacta de sus posibles valores. Por ejemplo, edad de los trabajadores: entre 16 y 65. Extensin: se indican algunos valores y se sobreentiende el resto. Por ejemplo, dominio de localidad: Barcelona, LHospitalet de Llobregat, Sabadell, Sant Boi de Llobregat...

Tipos:
Generales: los valores estn comprendidos entre un mximo y un mnimo. Restringidos: solo pueden tomar un conjunto de valores.

2.2. Relacin: dominio y atributo


Ejemplo 1:
Define Dominio expediente entero (4) Fin definicin; Define Dominio primer-nombre carcter (15) Fin definicin; Define Dominio final-nombre carcter (40) Fin definicin; Define Dominio estudios entero (2) Fin definicin; Define Dominio nota real (4) Fin definicin; Define Relacin Alumno (matricula#: Dominio expediente, nombre: Dominio primer-nombre, apellidos: Dominio final-nombre, curso: Dominio estudios, nota: Dominio nota);

10

2.2. Relacin: dominio y atributo


Ejemplo 2:
Define Dominio expediente entero (4) Fin definicin; Define Dominio primer-nombre carcter (15) Fin definicin; Define Dominio final-nombre carcter (40) Fin definicin; Define Dominio estudios entero (2) Fin definicin; Define Dominio nota real (4) Fin definicin; Define Relacin Alumno (matricula#: Dominio expediente, nombre: Dominio primer-nombre, apellidos: Dominio final-nombre, curso: Dominio estudios, nota: Dominio nota edad Dominio estudios);

11

2.2. Relacin: dominio y atributo


Ejemplo 1: se han definido cinco dominios y, basndose en ellos definimos cinco atributos de la relacin. El dominio puede, o no, tener asignado el mismo nombre que el atributo mediante el cual se define la relacin. Ejemplo 2: pueden definirse ms de un atributo sobre un mismo dominio.

12

2.2. Relacin: grado y cardinalidad


Grado: indica el tamao de una relacin en base al nmero de atributos (columnas) de la misma.
Mayor grado Mayor complejidad de manejo. Podemos tener relaciones unarias, binarias, ternarias, etc.

Cardinalidad: indica el tamao de una relacin en base al nmero de tuplas (filas) de la misma. Cardinalidad depende del momento Grado no

13

2.2. Relacin
TRMINOS 1
(nomenclatura relacional)

Los trminos anteriores tienen diferentes (nomenclatura tabla) (nomenclatura sinnimos dependiendo de la ficheros) nomenclatura Relacin = Tabla = Fichero utilizada. Tupla = Fila = Registro
Atributo Grado Cardinalidad = Columna = N columnas = N filas = Campo = N campos = N registro

TRMINOS 2

TRMINOS 3

14

2.2. Relacin
ALUMN O

Ejemplo: indicar el grado, la cardinalidad, y 3456 Jos Fernndez de 1 la siguiente 5.25 los dominios de los Prez atributos 0101 Mara Abad Sastre 2 7.80 relacin.
8743 1234 5674 0678 0345 2985 Lourdes Antonio Luis Pilar Dolores Manuel Snchez Ramos Santiago Vias Gonzlez Sillas Gonzlez Badajoz Martn Mrquez Martnez Fuentes 1 3 1 2 3 3 4.50 6.35 3.20 5.50 7.30 3.50

matricula #

nombre

apellidos

curso

nota

15

2.2. Relacin
Nombre relacin
3456 0101 8743

ALUMN O

matricula #

nombre
Jos

apellidos
Prez Fernndez Abad Sastre Snchez Ramos

curso
1 2 1

nota
5.25 7.80 4.50

Relacin de grado 5
Mara Lourdes

1234

Antonio
Luis Pilar Dolores Manuel

Santiago Vias
Gonzlez Sillas Gonzlez Badajoz Martn Mrquez Martnez Fuentes

3
1 2 3 3

6.35
3.20 5.50 7.30 3.50

Relacin de 5674 cardinalidad 0678 8


0345 2985

Dominio de nota: de 0 a 10.

16

2.2. Relacin: definicin formal


Formada por:
Nombre: identifica la relacin. Cabecera: conjunto de todos los pares atributodominio de la relacin. Cuerpo: conjunto de m tuplas que forman la relacin. Cada tupla es un conjunto de pares atributo-valor. Esquema: se forma con el nombre de la relacin y la cabecera. Estado de la relacin: se forma con el esquema y el cuerpo.

17

2.2. Relacin: definicin formal


Ejemplo:
Cliente

DNI
12333944C 12374678G 28238232H

Nombre
Ana Eva Martn

Edad
52 27 33

Esquema: Cliente(DNI: DNI, Nombre: Nombre, Edad: Edad) Cuerpo: {(DNI: 12333944C, Nombre: Ana, Edad: 52), (DNI: 12374678G, Nombre: Eva, Edad: 27), (DNI: 28238232H, Nombre: Martn, Edad: 33)}

18

2.2. Relacin: propiedades


Cada relacin tiene un nombre diferente. Cada atributo de la relacin tiene un nico valor en cada tupla. Cada atributo tiene un nombre diferente en cada tabla (aunque pueden coincidir en tablas diferentes). Cada tupla es nica (no hay tuplas duplicadas). El orden de los atributos no importa. El orden de las tuplas no importa.

19

2.2. Relacin: clave


Clave candidata: conjunto de atributos que identifican inequvocamente cada tupla de la relacin. Toda relacin debe tener al menos una clave candidata (pueden haber ms). Clave primaria (principal): clave candidata que se coge como identificador de las tuplas. Se elige como primaria la candidata que identifica mejor a cada tupla en el contexto de la BD. Clave alternativa: cualquier clave candidata que no sea primaria.

20

2.2. Relacin: claves


Clave secundaria(externa, fornea, ajena): son los atributos de una relacin (tabla), los valores de los cuales estn relacionados con atributos de otra relacin (tabla).

21

2.2. Relacin: claves


Ejemplo:
Equipo F.C. Barcelona Real Madrid Sevilla C.F. Nmero equipo 1 2 3

Nmero jugador
1 2 3 4

Nombre jugador
Jess Navas Villa Messi

Nmero equipo
3 1 1

Cristiano Ronaldo 2

22

2.2. Relacin: claves


Ejemplo:
La clave primaria de la relacin Equipo es el nmero de equipo. El nmero de equipo de la relacin Jugador sirve para relacionar el jugador con el equipo al que pertenece.

El atributo nmero de equipo de la relacin Jugador es una clave secundaria.

23

2.3. Reglas de integridad


Reglas para garantizar la consistencia de la informacin. Integridad de la clave: ningn atributo que forme parte de una clave candidata de una relacin podr tomar valores nulos en ninguna tupla de la relacin. Integridad de referencia: los atributos que sean claves secundarias slo podrn tener valores que estn relacionados con la llave primaria de la relacin (tabla) que relacionen, o bien valores nulos.

24

Alquiler Cliente 2.3. Reglas de integridad Cod_alquil Fecha Cod_client Cod_client Nombre er 1 2

Ejemplo de integridad de referencia: e e


12/9/2009 12/9/2009 121 121 97 113

Apellidos Crespo lvarez

Arturo Sara

3
4 5

15/9/2009
16/9/2009 16/9/2009

97
113 129

121
123 129

Josu
Alba

Lopetegui
Pereira

Gonzalo Prez

En la relacin Alquiler no se podr incluir ningn cdigo que no est en la relacin Cliente. Lo prohbe la integridad referencial.

25

2.3. Reglas de integridad


Qu pasa si borramos o modificamos datos de la relacin Cliente?
Pueden quedar tuplas de la relacin Alquiler con la clave secundaria haciendo referencia a un valor que ya no existe en Cliente.

Opciones:
Prohibir la operacin. Transmitir la operacin en cascada: si se modifica o se borra un cliente, tambin se modificarn o se borrarn los alquileres relacionados con l. Colocar nulos. Utilizar un valor por defecto.

26

2.3. Reglas de integridad


Regla de validacin: condicin que debe cumplir un atributo en concreto para ser vlido. Por ejemplo, valor mnimo y mximo, lista de valores, etc. Disparadores o triggers: pequeos programas almacenados en la BD que se ejecutan automticamente cuando se cumple una determinada condicin. Permiten realizar restricciones muy potentes, pero difciles de crear.

27

2.4. Traduccin del modelo E-R a relacional


LIBRO # Trabajo previo: preparacin del modelo Eeditorial R.
isbn autor

1. Eliminacin de atributos mltiples.


N:N (1,n) (1,n)

LIBRO

AUTOR
autor

isbn editorial

28

2.4. Traduccin del modelo E-R a relacional


Trabajo previo: preparacin del modelo EPERSO PERSO R. NA NA
2. Eliminacin de atributos compuestos. nombre_completo nombre
nombre primer_apellido segundo_apellido primer_apellido segundo_apellido dni dni

29

2.4. Transformacin de entidades


Entidades: pasan a ser tablas. Atributos: pasan a ser columnas o atributos de la tabla. Identificadores principales: pasan a ser claves primarias. Identificadores candidatos: pasan a ser claves candidatas.

30

2.4. Transformacin de relaciones


Idea general: transformamos cada relacin del modelo E-R en una tabla en el modelo relacional. Casos:
Relaciones 1:N Relaciones N:M Relaciones 1:1 Relaciones reflexivas Relaciones jerrquicas

31

2.4. Transformacin de relaciones


Relaciones 1:N: las relaciones binarias de tipo uno a varios no requieren ser transformadas en una tabla al modelo relacional. La tabla del lado varios (tabla relacionada) incluye como clave secundaria el identificador de la entidad del lado uno (tabla principal).

32

2.4. Transformacin de relaciones


Relaciones 1:N. Ejemplo:
Entidad 1 identificador_1
atributo_1 ({0|1},n) atributo_2 (1,1)

Entidad 2 identificador_2
atributo_3

Entidad 1(identificador_1, atributo_1, identificador_2, atributo_2) Entidad 2(identificador_2, atributo_3)

33

2.4. Transformacin de relaciones


Relaciones 1:N: si la entidad que interviene con cardinalidad mxima 1 participa en la relacin de forma parcial (cardinalidad mnima 0), podemos crear una tabla para cada entidad y otra para la relacin. sta estar formada por los identificadores de las entidades relacionadas y por los atributos de la relacin.
La regla vista con anterioridad tambin describir el problema correctamente.

34

Entidad 2.4. Transformacin de relaciones 2


atributo_1 Relaciones 1:N. Ejemplo:

Entidad 1 identificador_1

({0|1},n)

(0,1)

atributo_2

identificador_2 atributo_3

A.

Entidad 1 (identificador_1, atributo_1, identificador_2, atributo_2) Entidad 2 (identificador_2, atributo_3) B. Entidad 1 (identificador_1, atributo_1) Entidad 2 (identificador_2, atributo_3) Relacin (identificador_1, identificador_2, atributo_2)

35

2.4. Transformacin de relaciones


Relaciones 1:N:
Opcin A: el atributo identificador_2 de la tabla Entidad 1 podr tomar valores nulos. Opcin B: el atributo identificador_2 de la tabla Relacin no podr tomar valores nulos.

36

2.4. Transformacin de relaciones


Relaciones N:M: cada entidad que participa en la relacin se transforma en una tabla, y se genera una nueva tabla para la propia relacin. Esta tabla estar formada por los identificadores de las entidades y por todos los atributos asociados a la relacin. La clave principal de esta tabla ser la agregacin de los identificadores de las entidades que participan en la relacin.

37

2.4. Entidad Transformacin de relaciones Entidad


(1,n) (1,n)

1 identificador_1 Relaciones N:M. Ejemplo: atributo_2


atributo_1

identificador_2 atributo_3

Entidad 1 (identificador_1, atributo_1) Entidad 2 (identificador_2, atributo_2) Relacin (identificador_1, identificador_2, atributo_2)

38

2.4. Transformacin de relaciones


Relaciones N:M de orden n: las relaciones ternarias, cuaternarias y n-arias, que unen ms de dos relaciones se transforman en una tabla que contiene los atributos de la relacin ms los identificadores de las entidades relacionadas. La clave la forman las claves externas.

39

Entidad 2.4. Transformacin de relaciones 2


atributo_1 Relaciones N:M de orden n. atributo_2 Ejemplo: (1,n) Entidad 1 identificador_1 (1,n) identificador_2 atributo_3

Entidad 3 identificador_3
atributo_4

Entidad 4 identificador_4
atributo_5

Entidad 1 (identificador_1, atributo_1) Enditad 2 (identificador_2, atributo_3) Entidad 3 (identificador_3, atributo_4) Entidad 4 (identificador_4, atributo_5) Relacin (identificador_1, identificador_2, identificador_3, identificador_4, atributo_2)

40

2.4. Transformacin de relaciones


Relaciones 1:1: la transformacin de las relaciones binarias en que las entidades participan con cardinalidad mxima 1 depender del valor de la cardinalidad mnima.
Las dos entidades participan de forma completa en la relacin: cardinalidad mnima de ambas = 1. Una entidad participa de forma parcial en la relacin: cardinalidad mnima = 0. Las dos entidades participan de forma parcial: cardinalidad mnima de ambas = 0.

41

2.4. Transformacin de relaciones


Relaciones 1:1: participacin completa.
Las dos entidades tienen el mismo identificador:
Obtenemos una nica tabla formada por la agregacin de los atributos de las dos entidades. La clave de la tabla es el identificador de las entidades.

Las dos entidades tienen diferente identificador:


Cada entidad se convierte en una tabla con sus identificadores y atributos propios. Adems, cada tabla tendr como clave secundaria el identificador de la otra entidad con la que se relaciona.

42

2.4. Transformacin de relaciones


Relaciones 1:1: participacin completa. (1,1) (1,1)
identificador_1 atributo_1 atributo_2

Entidad_2Ejemplo: LasEntidad_1 dos entidades tienen el mismo identificador.


identificador_1 atributo_3 atributo_4

Entidad_1 (identificador_1, atributo_1, atributo_2, atributo_3, atributo_4) (*) Normalmente estas relaciones no tienen atributos que les cualifiquen.

43

2.4. Transformacin de relaciones


Relaciones 1:1: participacin completa. (1,1) (1,1)
Entidad_1
identificador_1 atributo_1 atributo_2

Las dos entidades tienen diferente identificador. Ejemplo:


identificador_2 atributo_3 atributo_4

Entidad_2

Entidad_1 (identificador_1, atributo_1, atributo_2, identificador_2) Entidad_2 (identificador_2, atributo_3, atributo_4, identificador_1)

44

2.4. Transformacin de relaciones


Relaciones 1:1: participacin parcial de una entidad.
Cada entidad se convierte en una tabla y... 2 opciones:
Opcin A: en la tabla con cardinalidad mnima 0 se coloca como clave secundaria la clave primaria de la otra tabla. No se construye tabla para la relacin. Si sta tena algn atributo, ste se pondra en la tabla de la entidad que participa de forma parcial. Opcin B: se construye una tabla para la relacin formada por los identificadores de las entidades que participan.

45

2.4. Transformacin de relaciones


Entidad_2 Relaciones 1:1: participacin parcial de una identificador_1 atributo_5 identificador_2 entidad. Ejemplo: atributo_1 atributo_3
atributo_2 atributo_4

Entidad_1

(1,1)

(0,1)

A.

Entidad_1 (identificador_1, atributo_1, atributo_2) Entidad_2 (identificador_2, atributo_3,atributo_4, identificador_1, atributo_5) B. Entidad_1 (identificador_1, atributo_1, atributo_2) Entidad_2 (identificador_2, atributo_3, atributo_4) Relacin (identificador_1, identificador_2, atributo_5)

46

2.4. Transformacin de relaciones


Relaciones 1:1: participacin parcial de una entidad:
Opcin A: el atributo identificador_1 de la tabla Entidad_2 no tomar nunca valores nulos, ya que todas las entidades_2 siempre estarn relacionadas con al menos una entidad_1. Opcin B: no habr valores nulos, pero el esquema creado es ms grande (una tabla ms).

47

2.4. Transformacin de relaciones


Relaciones 1:1: participacin parcial de ambas entidades.
Cada entidad se convierte en una tabla. Se construye una tabla para la relacin. Sus atributos sern los identificadores de las entidades relacionadas, definidos como claves secundarias. La clave primaria ser el identificador de una de las entidades, dejando la otra como clave alternativa.

48

2.4. Transformacin de relaciones


Relaciones 1:1: participacin parcial de ambas (0,1) (0,1) Entidad_1 Entidad_2 entidades. Ejemplo:
identificador_1 atributo_1 atributo_2 atributo_5 identificador_2 atributo_3 atributo_4

Entidad_1 (identificador_1, atributo_1, atributo_2) Entidad_2 (identificador_2, atributo_3, atributo_4) Relacin (identificador_1, identificador_2, atributo_5)

49

2.4. Transformacin de relaciones


Relaciones recursivas: se pueden presentar dos casos:
La entidad participa en los dos roles con cardinalidad mxima N: se procede de la misma forma que con las relaciones N:N. La entidad participa en uno de sus roles, o en ambos, con cardinalidad mxima 1: hay dos opciones.
Opcin A: se crea una tabla para la entidad y se aade como clave secundaria el identificador de la entidad para representar la relacin recursiva Opcin B: se crea una tabla para la entidad y otra para la relacin con el identificador de la entidad como clave primaria, y otra vez este identificador como clave secundaria.

50

2.4. Transformacin de relaciones


Est_formado
(1,n) Relaciones recursivas: cardinalidades Objeto capa mximas N. Ejemplo: id tamao color (1,n) Forma_parte_de

Objeto(id, tamao, color) Objeto_Objeto (id_continente, id_contenido, capa)

51

2.4. Transformacin de relaciones


Est_formado

Relaciones recursivas: cardinalidad mxima 1. capa Objeto Ejemplo: (1,1)


id tamao color Forma_parte_de

(1,n)

A. B.

Objeto(id_contenido, tamao, color, id_continente, capa) Objeto (id, tamao, color) Objeto_Objeto (id_contenido, capa, id_continente)

52

2.4. Transformacin de relaciones


Eliminacin de las relaciones jerrquicas: tres reglas.
Eliminacin del supertipo de entidad. Eliminacin de los subtipos de entidad. Eliminacin de la jerarquia.

53

Cultivo Herbicida 2.4. Transformacin de relaciones


htrias nombre
(1,1)

(1,n)

(1,n)

lugar Ejemplo:
(0,1)

tipo

cantidad

nombre composicin precio

(0,1)

Uso_comercial

Secano
(1,1)

Regadio
(1,n)

clase_regadio

litros Ayuda cantidad organismo


(0,n)

(1,n)

empresa coste

Subvenci n

Abastecimient o

54

2.4. Transformacin de relaciones


Eliminacin del supertipo de entidad: se borra la superentidad transfiriendo todos sus atributos a cada uno de los subtipos, adems de las relaciones en las que participaba la superentidad. El atributo calificador se puede eliminar. Si la relacin jerrquica es exclusiva, los subtipos intervienen de forma parcial (cardinalidad mnima 0) en las relaciones transferidas desde el supertipo de entidad.

55

Ejemplo:
(1,n)

composicin

2.4. Transformacin de relaciones


Herbicida
cantidad nombre lugar uso_comercial htrias litros Ayuda
(0,n) (1,n) (0,n)

(1,n)

nombre precio
(0,n)

cantidad nombre lugar clase_regadio htrias

Secano
(1,1)

Regadio
(1,n)

empresa coste

cantidad organismo

Subvencin

Abastecimient o

56

2.4. Transformacin de relaciones


Ejemplo: el esquema relacional sera el siguiente:
Herbicida (nombre, composicin, preu) Secano (nombre, lugar, htrias, uso_comercial) Regado (nombre, lugar, htrias, clase_regadio) Subvencin (ayuda#, organismo, cantidad, nombre_cultivo, lugar) Abastecimiento (empresa, coste) Herb_Rega (nom_herb, nom_cult, lugar, cantidad) Herb_Seca (nom_herb, nom_cult, lugar, cantidad) Rega_Abas (nom_cult, lugar, empresa, litros)

57

2.4. Transformacin de relaciones


Eliminacin del supertipo de entidad: slo se utilizar esta norma cuando:
La relacin jerrquica es exclusiva total. El nmero de atributos del supertipo sea pequeo y no existan muchas relaciones en las que participe el supertipo.

58

2.4. Transformacin de relaciones


Eliminacin de los subtipos de entidad: se borran los tipos de entidad transfiriendo todos los atributos al supertipo, adems de las relaciones en las que participaban los subtipos. Si la jerarqua es exclusiva, el supertipo participar de forma parcial (cardinalidad mnima 0) en las relaciones transferidas desde los subtipos. Si la jerarqua es inclusiva, el supertipo participar en las relaciones con las mismas cardinalidades que lo hacan los subtipos.

59

2.4. Transformacin de relaciones


Eliminacin de los subtipos de entidad: el atributo calificador pasar a formar parte del supertipo de la siguiente forma:
Si la jerarqua es exclusiva no formar parte de la clave. Si la jerarqua es inclusiva formar parte de la clave. Si la jerarqua es parcial podr tomar valores nulos.

60

Herbicida 2.4. Transformacin de relaciones Cultivo


(1,n)

htrias

tipo

(1,n)

nombre

lugar Ejemplo: uso_comercial clase_regadio


(0,1) (0,n)

cantidad

nombre composicin precio

litros Ayuda
(0,n) (0,n)

empresa coste

cantidad organismo

Subvenci n

Abastecimient o

61

2.4. Transformacin de relaciones


Ejemplo: el esquema relacional sera el siguiente:
Herbicida (nombre, composicin, precio) Cultivo (nombre, lugar, tipo, htrias, uso_comercial, clase_regadio) Subvencin (ayuda, organismo, cantidad, nom_cult, lugar, S) Abastecimiento (empresa, coste) Abas_Cult (nom_cult, lugar, R, empresa, litros) Herb_Cult (nom_herb, nom_cult, lugar, tipo, cantidad)

62

2.4. Transformacin de relaciones


Eliminacin de los subtipos de entidad: esta regla se puede utilizar en cualquiera de los cuatro tipos de relaciones jerrquicas.
Obtendremos un esquema ms simple. En el caso de relaciones exclusivas y/o parciales habr muchos posibles valores nulos para los atributos transferidos desde los subtipos de entidad.

63

2.4. Transformacin de relaciones


Eliminacin de la jerarqua: transformamos la relacin jerrquica en tantas relaciones uno a uno como subtipos estn presentes, mantenindose todas las relaciones en las que participan tanto los subtipos como el supertipo. En las nuevas relaciones creadas, los subtipos participarn:
Con cardinalidad mnima 0 si la jerrquica es exclusiva. Con cardinalidad mnima 0 o 1 si la jerrquica es inclusiva.

El supertipo participa con cardinalidades (1,1) en estas nuevas relaciones.

64

Herbicida 2.4. Transformacin de relaciones Cultivo


(1,n)

htrias

tipo

(1,n)

nombre

lugar Ejemplo: nombre lugar uso_comercial

(1,1)

(1,1)

cantidad
nombre lugar clase_regadio litros

nombre composicin precio

(0,1)

(0,1)

Secano
(1,1)

Regado
(1,n)

ayuda
(0,n) (1,n)

empresa coste

cantidad organismo

Subvenci n

Abastecimient o

65

2.4. Transformacin de relaciones


Ejemplo: el esquema relacional sera el siguiente:
Herbicida (nombre, composicin, precio) Cultivo (nombre, lugar, htrias, tipo) Secano (nombre, lugar, uso_comercial) Regadio (nombre, lugar, clase_regadio) Subvencin (ayuda, organismo, cantidad, nom_cult, lugar) Abastecimiento (empresa, coste) Herb_Cult (nom_herb, nom_cult, lugar, cantidad) Abas_Cult (nom_cult, lugar, empresa, litros)

66

2.4. Transformacin de relaciones


Eliminacin de la jerarqua: es la regla de aplicacin ms general.
Se puede utilizar en cualquiera de los cuatro tipos de relaciones jerrquicas. El esquema resultante preserva la representacin de las relaciones existentes entre el supertipo y los subtipos. En el caso de relaciones exclusivas y/o parciales habr muchos posibles valores nulos para los atributos transferidos desde los subtipos de entidad.

67

2.5. Representacin grfica


Grafos relacionales: hay lneas que enlazan las claves primarias con las claves secundarias para representar las relaciones:
Existencias (tipo, modelo, n_almacen, cantidad)

Pieza (tipo, modelo, nombre)


Suministro (tipo, modelo, cod_empresa, precio)

Empresa (CIF, cod_empresa, nombre, direccin)

68

2.5. Representacin grfica


Esquema relacional con Access: