Professional Documents
Culture Documents
Mdulo A
Unidad didctica 1: Introduccin a las Bases de Datos
Unidad didctica 2: Metodologas de desarrollo de Bases de Datos
3
19
Mdulo B
Unidad didctica 1: Fase de anlisis de requisitos Modelo E/R
Unidad didctica 2: Modelo Relacional
Mdulo C
33
1113
189
199
MDULO A
UNIDADES DIDCTICAS:
MDULO A
OBJETIVOS
x
x
x
x
UNIDAD DIDCTICA 1
ndice de la unidad:
1.
Informacin
ficheros.
recuperacin
mantenimiento)
as
como
controlar
las
de
permitir
su
uso
correcto
permanente.
El
2.
aparece
con
datos
distintos
en
distintas
partes
de
la
BD).
distintas perspectivas.
parcela del mundo real (por ejemplo, una biblioteca, una empresa
BD, mantener separados los datos de los tratamientos que los utilizan.
discos, cintas, etc. que hacen que los datos no desaparezcan "cuando no
podan utilizarse por otra aplicacin. En las BD, los datos se encuentran
se estn usando").
integradas con los mismos datos. Posteriormente se ver que los datos
En secciones posteriores estudiaremos que se habla de tres niveles (conceptual, lgico y fsico) en la
arquitectura de una BD. Por ahora, nos basta saber que el nivel fsico concierne a cmo se almacenan
los datos en los ficheros de la BD.
2 En las siguientes secciones se ver que la descripcin de los datos es lo que se denomina estructura o
esquema de la BD.
Procesos
3.
de
actualizacin
recuperacin
bien
establecidos:
la
realiza de acuerdo a
de
Datos3
instrumentos
(SGBD).
necesarios
El
para
SGBD
el
tambin
mantenimiento
proporcionar
de
la
los
proporcionar.
seguridad
coordinado
de
programas,
procedimientos,
lenguajes,
Aplicacin 1
Aplicacin 2
Aplicacin 3
SGBD
Base de
Datos
En el siguiente apartado se estudiar que es un SGBD. Por ahora, slo decir que el conjunto de
programas y herramientas que nos permite crear, actualizar, manipular y mantener una BD.
10
...
Aplicacin n
De
4.
de un sistema de BD; en ella se observa que el SGBD hace de interfaz entre los
A continuacin, vamos a definir cul es la arquitectura de una BD segn la
visin que de ella tienen los distintos tipos de usuario. En una BD se identifican
diferentes. Para poder dar soporte a estos usuarios el SGBD debe proporcionar
almacenamiento.
BD.
-
Funcin de control: esta funcin ana los interfaces que requieren los
11
12
5.
Lenguajes de un SGBD
6.
Herramientas de un SGBD
De acuerdo a las funciones a las que debe dar soporte un SGBD estudiadas
el apartado 4, los SGBD deben proporcionar un lenguaje para que los distintos
tipos de usuario puedan comunicarse con la BD. As, en los SGBD relacionales se
diseo
implementacin
de
BD
que
generalmente
incluyen
sta ya est preparada para cargar los datos en las estructuras definidas
14
interfaz grfica. Los sistemas servidores satisfacen las peticiones generadas por
7.
de BD cliente-servidor).
vuelta).
Servidores de datos (el servidor enva los datos a las mquinas clientes
distribuidos).
paralelas son:
(no
permite
que
varios
usuarios
puedan
acceder
simultneamente a la BD)
-
15
16
Las ventajas que proporcionan los sistemas distribuidos frente a los sistemas
la
niveles de abstraccin.
- El nivel externo
- El nivel lgico
- El nivel fsico
Un Sistema de Gestin de Bases de Datos (SGBD) es un conjunto
coordinado de programas, procedimientos, lenguajes, herramientas, etc.,
que suministra, tanto a los usuarios no informticos como a los analistas,
programadores o administradores de una BD, los medios necesarios para
describir y manipular los datos integrados en la BD, manteniendo su
integridad , confidencialidad y disponibilidad. Sus principales funciones son
las de definicin, manipulacin y control.
En una arquitectura de bases de datos se reflejan aspectos como la
conexin en red, el paralelismo y la distribucin. Segn estos aspectos
distinguimos sistemas centralizados, sistemas cliente-servidor, sistemas
paralelos y sistemas distribuidos.
Sistemas Centralizados
Monousuario
Multiusuario
Sistemas Cliente-Servidor
Servidores de transacciones
Servidores de datos
Sistemas paralelos
Sistemas distribudos
17
18
Transacciones Locales
MDULO A
OBJETIVOS
Metodologas de Desarrollo
de Bases de Datos
UNIDAD DIDCTICA 2
ndice de la unidad:
Modelado Conceptual
3.2
Transformacin de esquemas
conceptuales E/R a esquemas
relacionales
3.3
Diseo fsico
x
x
x
Qu es metodologa
En qu consiste el diseo de una base de datos
Descripcin de una metodologa propia de diseo de una base de
datos, basada en la construccin de esquemas E/R, creacin del
modelo relacional y posterior optimizacin de la base de datos.
SOPORTE
CASE
Automatizadas
TCNICAS
Incorporadas
Se apoyan en
METODOLOGA
MODELOS
incorporan. Los entornos CASE no solo deben automatizar las tcnicas aisladas
de
desarrollo
mediante
la
incorporacin
de
un
conductor
de estos elementos.
Las tcnicas representan cmo llevar a cabo cada una de las actividades o
21
22
Datos
represente fielmente la parcela del mundo real1 que se quiere almacenar. Ello se
tipos:
de la BD (Figura 1.3).
Mundo
Real
semnticas
(o
de
usuario):
son
las
Modelo
de Datos
"todo
empleado
debe
pertenecer
un
Esquema
(Estructura
de Datos)
los
datos
que
estn
reflejados
en
el
Lenguaje
de
convenciones que nos permiten especificar y manipular los datos que queremos
del modelo) que permiten definir los datos y sus restricciones asociadas
elementos no permitidos:
(E/R) para modelado conceptual y el Modelo Relacional para diseo lgico de BD.
24
Modelo E/R
Modelo Relacional
Elementos
permitidos
Restricciones
inherentes
Dinmica
Representacin -
Restriccin de unicidad.
Restriccin de obligatoriedad.
Integridad referencial (clave ajena).
Restricciones de verificacin.
Restricciones
semnticas
Lenguaje SQL-92.
Grafos
Grafos y tablas.
MUNDO REAL
OBJETOS CON SUS SUCESOS,
PROPIEDADES,
ASOCIACIONES Y
RESTRICCIONES SEMNTICAS
Modelado Conceptual
ESQUEMA
CONCEPTUAL
MODELO
E/R
Transformacin
al modelo lgico estndar
MODELO
RELACIONAL
(SQL-92)
ESQUEMA
LGICO
ESTNDAR
MODELO
RELACIONAL
(SQL-92)
Transformacin
al modelo lgico especfico
MODELO
RELACIONAL
(SGBD)
MODELO
INTERNO
(SGBD)
ESQUEMA
LGICO
ESPECFICO
MODELO
RELACIONAL
(SGBD)
ESQUEMA
INTERNO
MODELO
INTERNO
(SGBD)
26
3. 1 Modelado Conceptual
los
en
la
BD)
en
especificaciones
la
exhaustivo a seguir con el fin de traducir todos los constructores del modelo
textuales
esquemas
(esquemas
conceptuales
descriptivos)
E/R.
que
Mediante
describan
Esta primera fase de anlisis tiene como objetivo poder validar con el
ello, los esquemas E/R son los de mayor nivel de abstraccin (capacidad para
un producto comercial.
ser para una BD como los planos de un arquitecto son imprescindibles para
una casa: algo necesario a priori en la construccin de una BD. Sin estos
planos
es
imposible
conocer
cules
son
los
requisitos
que
debern
contemplarse en la BD.
pues depender de la labor intelectual que lleve a cabo cada uno en su visin
Por ejemplo, Oracle, Access, SQL-Server, Informix, etc. son SGBD comerciales que no implementan de igual manera
el modelo relacional.
2 Aunque en este libro slo se estudia el modelo relacional como modelo para Diseo Lgico de BD
existen otros modelos (jerrquico, en red, etc.).
27
28
relacionales
29
30
MDULO B
UNIDADES DIDCTICAS:
MDULO B
OBJETIVOS
UNIDAD DIDCTICA 1
ndice de la unidad:
1. Introduccin
2. Elementos Bsicos del Modelo Entidad/Relacin
3. Extensiones del Modelo Entidad/Relacin
4. Diseo Caso Prctico Mentor
5. Diseo Caso Prctico Historia
6. Diseo Caso Prctico Constructora
7. Diseo Caso Prctico Arte
x
x
x
Qu es el modelo Entidad/Relacin
Cules son los elementos bsicos del modelo Entidad/Relacin y su
representacin grfica.
Cules son los pasos para obtener el Modelo Entidad/Relacin a partir
de los requisitos previos.
1.
Introduccin
organizacin o empresa. Una buena gestin de los datos puede influir de manera
caso de una entidad bancaria y pensemos en los miles de clientes con cuyos
de la base de datos debe hacer tantas entrevistas como sean necesarias con los
usuarios para conseguir clarificar todas las especificaciones del problema. Una
Datos.
utensilios de diseo, pero todos ellos se basan en los mismos conceptos tericos,
En este captulo se explican cules son los elementos bsicos que componen
disear bases de datos a nivel conceptual (y por tanto muy cercana al usuario) y
una parte esttica y otra dinmica; en este captulo nicamente nos referiremos
a la esttica del modelo E/R, pues la parte dinmica carece de utilidad al no ser
soportada por ningn SGBD actual.
as
diversas
variantes
del
modelo
(distintas
formas
de
representacin de los objetos), pero todas ellas parten del mismo concepto: el
36
ellos.
2. 1 Entidades
Las entidades, tambin llamadas tipos de entidad, representan conjuntos
D.N.I.
Nombre Direccin
Telfono
ALUMNO
Nacionalidad
(generalmente un sustantivo).
Por ejemplo, si queremos disear una base de datos para gestionar todos
los alumnos de los cursos Mentor, entre los tipos de entidad que deberamos
CURSO
Por lo tanto los valores de los atributos constituyen una parte importante
de los datos que almacenaremos posteriormente en la Base de Datos. Es
Figura 2.1: Dos ejemplos de entidades
2. 2 Atributos
atributo). As, si estuviramos modelando una Base de Datos para una tienda
de sus atributos podra ser Color (roja, negra, etc.). Sin embargo, si
de color puede tener tal importancia que pase a ser una entidad COLOR, pues
38
Tipos de atributos
Opcional que nos informa de que existen alumnos que puede que no tengan
cuando los valores de un atributo van a ser desconocidos o por alguna otra
indica es que el atributo o propiedad DNI es nico para cada ejemplar del tipo
Supongamos que para el tipo de entidad CURSO es importante recoger las
entidad ALUMNO.
entidad, el modelo E/R obliga a que cada vez que definimos un tipo de
nombre, ya que cada curso tiene un nombre distinto, la direccin Web sera
Por lo tanto en todos los tipos de entidad tiene que aparecer de forma
obligatoria una caracterstica que identifique de forma nica cada uno de los
ejemplares.
Nombre
Libro de
consulta
Direccin Web
identificador
principal, pero pueden existir distintos atributos que tambin identifiquen los
CURSO
que es nica para cada uno de los alumnos. El atributo e-mail sera un
estos conceptos.
crculo mitad negro mitad blanco, indicando que su valor es nico para cada
ejemplar del tipo de entidad ALUMNO.
D.N.I.
Nombre Direccin
e-mail
Telfono
ALUMNO
Nacionalidad
Figura 2.3: La entidad ALUMNO y sus atributos
39
40
estn relacionadas con sus clientes, las editoriales se relacionan con los
D.N.I. Nombre Direccin
e-mail
libros que publican, los tutores de los cursos Mentor tienen asignados una
serie de alumnos, etc.
Telfono
ALUMNO
a los tipos de entidad mediante lneas; dentro del rombo se escribe el nombre
Nacionalidad
en infinitivo.
Volviendo al ejemplo anterior veamos como se representa la relacin
existente entre los alumnos que realizan cursos. Podramos definir una
interrelacin Realizar entre ambas entidades, como muestra la figura 2.7.
ALUMNO
CURSO
Realizar
Telfono
ALUMNO
Nacionalidad
Nacionalidad
Nacionalidad
= (Espaola, Extranjera)
bancaria (uno) pero una entidad bancaria posee varias sucursales (muchos).
Tambin existen las relaciones muchos a muchos, como por ejemplo un
curso Mentor tiene asociados tutores (muchos) y los tutores pueden tutorar
distintos cursos Mentor (muchos).
Para
poder
recoger
estas
caractersticas
que
nos
distinguen
unas
representacin textual.
2. 3 Interrelaciones
cardinalidad.
Las interrelaciones representan asociaciones del mundo real entre una o
El grado de una interrelacin es el nmero de entidades que intervienen en
ella, debe ser como mnimo dos, es decir, el nmero de entidades que
cursos del Mentor como entidades sin ningn tipo de relacin, pero para poder
mundo real; algunos ejemplos son: las sucursales de una entidad bancaria
41
42
lnea que une el tipo de entidad con la interrelacin, donde x indica el nmero
mnimo e y el nmero mximo. Adems, y cuando la cardinalidad mxima es
M:N
ALUMNO
(1,n)
Realizar
CURSO
N:M
ALUMNO
Realizar
CURSO
Si, por el contrario, en las especificaciones del problema se nos dijera que
siguiente forma:
M:N
ALUMNO
N:1
ALUMNO
Realizar
(1,40)
Realizar
CURSO
CURSO
Figura 2.11: Ejemplo de cardinalidades
2.12.
Esta representacin se puede generalizar en el caso de grado n, de la forma X:Y:Z:.....
43
44
M:N
ALUMNO
(1,n)
(1,n)
Realizar
CURSO
Veamos otro ejemplo con la relacin que existe entre los empleados de
NSS
EMPLEADO
Telfono
Un
razonamiento
similar
nos
llevar
representar
la
entidad
modelo E/R?.
figura 2.16.
DEPARTAMENTO
nico para cada empleado ser un atributo alternativo ya que hemos elegido
el cdigo como identificador principal por especificaciones del problema
(figura 2.14).
Figura 2.16: Atributos de la entidad DEPARTAMENTO
Cdigo
DNI
EMPLEADO
Por
ltimo,
se
indican
las
cardinalidades
EMPLEADO
que
recogen
45
46
Cdigo
Nombre Direccin
e-mail
D.N.I.
N:1
NSS
Nombre
F_Comienzo
Telfono
EMPLEADO
Trabajar
(1,1)
DEPARTAMENTO
WWW
M:N
(1,n)
ALUMNO
Libro
F_Finalizacin
Realizar
Telfono
(1,n)
CURSO
Nacionalidad
Figura 2.17: Interrelacin Trabajar
el mundo real, los valores nos vienen dados de la siguiente forma: Juan ha
Cdigo
N:1
NSS
EMPLEADO
(1,n)
Trabajar
(1,1)
DEPARTAMENTO
relacionados,
junto
con
los
atributos
propios
de
la
interrelacin.
La
Telfono
establezca la relacin entre los tipos de entidad que las une, como pueden ser
48
mejor forma posible todas las especificaciones del problema de manera que
Grado de una
en una interrelacin.
Tipo
de
binarias
Elementos del
Representacin
Grfica
Descripcin
Ejemplar
en
de
Un
una entidad
ejemplar,
tambin
de
manera
nica
los
Identificador
Distingue
alternativo
de
manera
nica
los
Atributo
Obligatorio
Atributo
Opcional
Interrelacin
mnimo
de
de
interrelacin
Un
ejemplar,
ejemplar,
de
una
tambin
denominado
interrelacin
es
la
participantes en la interrelacin.
Identifica
de entidad.
Identificador
mximo
interrelaciones
binaria
principal
Nmero
una
(x, y)
Mxima
Ejemplar
denominado
Atributo
binarias
1:1
Cardinalidades
Mnima
Entidad
interrelaciones
el momento:
1:N
Correspondencia en
Veamos un cuadro resumen de los conceptos del Modelo E/R tratados hasta
modelo E/R
interrelacin
entidades.
49
50
pueden serlo por dos motivos: bien porque la existencia de sus ejemplares en
la base de datos depende de una entidad fuerte bien porque sus ejemplares
Posteriormente al modelo E/R propuesto por Chen se realizaron algunas
aadido nuevos conceptos para que el modelo se adapte mejor a la realidad que
Por ejemplo, los ejemplares correspondientes a los alumnos del MENTOR
ello la entidad ALUMNO es una entidad fuerte. Sin embargo, en el caso de una
HABITACIN dependiente del tipo de entidad HOTEL ya que para que existan
la empresa.
figura 2.20.
N:1
DEPARTAMENTO
Telfono
(1, 1)
(1, n)
Trabajar
EMPLEADO
DNI
DNI
ENTIDAD DBIL
NSS
Nombre Direccin
3. 2 Interrelaciones binarias
3. 1 Entidades
atributos identificadores.
52
soluciones:
numerosa.
1
Para saber los familiares que dependen de cada empleado debemos crear
Abeto
Roja
SI
SI
n_habitacin nombre WC
habitacin perteneciente al
Hotel MAR
habitacin perteneciente al
Hotel SOL
HABITACIN
EMPLEADO que este relacionado con l; es decir, los familiares slo existen en
N:1
(0, n)
FAMILIAR
fuerte.
Telfono
EMPLEADO
Encargado
As,
cada
ejemplar
de
HABITACIN
est
identificada
por
la
(1, 1)
DNI
DNI
Nombre
Parentesco
Nombre Direccin
Telfono
anterior en que, adems de que los ejemplares del tipo de entidad dbil
(1, n)
HABITACIN
I
Posee
(1, 1)
HOTEL
Nombre WC
Figura 2.24:
54
N:1
Nombre Direccin
Ejemplo de una interrelacin con Dependencia en Identificacin
ejemplares de una entidad como de otra entidad. As, por ejemplo, una
"Persona" es un "Animal" y un "Reptil" es un "Animal"; en este caso, "Animal"
puede considerarse el supertipo y "Persona" y "Reptil" son subtipos de
Nombre
Primer Apellido
Direccin
e-mail
Nombre Completo
Telfono
EMPLEADO
D.N.I.
Nacionalidad
los subtipos.
Figura 2.26: Ejemplo de atributo compuesto
Nombre
Ubicacin
atributos
Nmero de empleados
DEPARTAMENTO
Nombre director
Telfono contacto
PUBLICACIONES
Facturacin
RECURSOS
HUMANOS
INFORMTICA
e-mail de
contacto
multivaluados
simples
opcionales,
univaluados
compuestos
Nmero de equipos
3. 3 Atributos
En este apartado ampliaremos nuestro conocimiento acerca de las
restricciones semnticas sobre los atributos de las entidades y de las
interrelaciones para de esta forma poder representar ms fielmente los
requisitos que nos piden para el diseo de una determinada base de datos.
55
56
Base de Datos que recoja informacin acerca del proyecto llevado a cabo por el
Ministerio de Educacin denominado MENTOR. Hay que tener en cuenta que los
administradores de aula.
57
24
serie de pasos que nos ayudarn a identificar los elementos bsicos del modelo.
diseador puede ver el mundo real de distinta forma, dando lugar a distintos
esquema E/R refleja mejor que otro los supuestos semnticos del enunciado. No
hay que olvidar que en el esquema E/R de una base de datos hay que recoger la
una persona experta puede ser tutora de varios cursos y que adems
posible.
almacenar los datos de los tutores y por otro lado vemos que se
caractersticas tales como, DNI del alumno, nombre del curso, etc.
hemos detectado.
direccin.
Definitivamente
aula
es
una
entidad,
ya
nos
han
60
Los tipos de entidades que hemos localizado son: ALUMNO, CURSO, TUTOR,
interrelacin.
una persona experta puede ser tutora de varios cursos y que adems
un coordinador de curso es un tutor. La informacin que se quiere
almacenar en la BD acerca de los tutores es la siguiente: DNI,
nombre completo y direccin de correo electrnico. De este prrafo
podemos extraer que, por un lado necesitamos una entidad para
almacenar los datos de los tutores y por otro lado vemos que se
reflejada por un verbo dentro de una oracin que relaciona dos objetos.
un alumno.
direccin.
Definitivamente
aula
es
una
entidad,
ya
nos
han
62
D.N.I.
Nombre
Direccin
ALUMNO
WWW
Telfono
ALUMNO
Interrelaciones
ALUMNO
CURSO
Libro
Nombre
CURSO
Matricular 1
TUTOR
AULA
ADMINISTRADOR
TUTOR
AULA
Pertenecer 3
Matricular
CURSO
Nacionalidad
ADMINISTRADOR
Asociar 2
Coordinar?
Mantener 4
matriculan uno o varios alumnos, cardinalidad (1,n). Adems, para saber las
fechas en las que un alumno inici y finaliz un curso se introducen dos atributos
en el resto de las celdas. Adems de las interrelaciones extradas del texto hay
que estudiar si en las celdas vacas deberan aparecer nuevas interrelaciones.
As, podra existir la interrelacin Coordinar entre TUTOR y CURSO; dejaremos
esta interrelacin entre interrogaciones con el fin de estudiar posteriormente si
debe reflejarse de esta forma.
D.N.I.
Nombre Direccin
e-mail
Nombre
F_Comienzo
Telfono
Libro
WWW
F_Finalizacin
M:N
ALUMNO
(1,n)
Matricular
(1,n)
CURSO
Nacionalidad
Figura 2.28: Interrelacin Matricular con cardinalidades y atributos en la interrelacin
Interrelacin Matricular
Tanto los atributos de CURSO como de ALUMNO se presentaron a lo largo
del captulo, pero recordamos que el IP (identificador principal) de CURSO es
Interrelacin Asociar
identificadores alternativos, es decir, los valores que toman para cada elemento
del tipo de entidad CURSO o ALUMNO son nicos; Los atributos Libro y Telfono
son opcionales. La figura 2.27 muestra el esquema E/R correspondiente a la
interrelacin Matricular.
tutores es: DNI, nombre completo y direccin de correo. De estos tres atributos
tenemos que elegir cual de ellos puede ser el IP. Elegiremos el DNI aunque bien
podra ser la direccin de correo si esta es nica. Por lo que el e-mail ser un
atributo alternativo y el nombre completo un atributo obligatorio.
63
64
El tipo entidad
datos siempre estarn ocupados con algn curso. Nos quedamos con la primera
figura 2.29.
Nombre
completo
DNI
Nombre
completo e-mail
Nombre
interrelacin.
Libro
WWW
N:M
(0,n)
CURSO
Asociar
TUTOR
puede realizar sus labores en varios cursos y que en un curso puede ser tutorado
por varias personas expertas (tutores) por lo tanto la correspondencia es N:M o
muchos a muchos.
Nombre
completo e-mail
Nombre
Libro
CURSO (figura 2.32). Un curso como mnimo ha de ser tutorado por un TUTOR
WWW
N:M
Asociar
TUTOR
DNI
Nombre
completo e-mail
Nombre
Libro
WWW
N:M
(1,n)
TUTOR
(0,n)
Asociar
CURSO
cursos. Volviendo a releer el texto nos preguntamos qu pasa con la figura del
con lo que supondramos que todos los tutores que tenemos en nuestra base de
66
figura 2.34; el curso Diseo de BD tiene tres tutores cuyos DNI son 3446721,
realizar dos labores: tutor y coordinador. Por lo que una solucin puede ser
dentro del dominio Verdad que toma los valores (SI, NO), y el cual nos indicar
Nombre
completo e-mail
Nombre
Libro
WWW
N:M
(1,n)
(0,n)
CURSO
Asociar
TUTOR
DNI
Nombre
completo
Nombre
Libro
WWW
N:M
Coordinador
Coordinador est definido dentro del Dominio VERDAD = (SI,NO)
(1, n)
TUTOR
(0, n)
CURSO
Asociar
1:N
(1, 1)
(0, n)
Coordinar
interrelacin Asociar; esto significa que como un determinado curso puede tener
ms de un tutor y el atributo Coordinador podra tomar el valor de SI en esas
3446721
7423412
4567433
Asociar
TUTOR
TUTOR
SI
Asociar
TUTOR
CURSO
CURSO
Asociar
CURSO
Diseo de BD
curso (ver figura 2.36). Para controlar esta ltima restriccin habra que incluir
SI
NO
Diseo de BD
Diseo de BD
67
68
Interrelacin Pertenecer
3446721
7423412
4567433
TUTOR
TUTOR
TUTOR
CURSO
Asociar
CURSO
Asociar
CURSO
Asociar
Diseo de BD
obligatorios.
Diseo de BD
2223456
Diseo de BD
Coordinar
TUTOR
Telfono
1:N
CURSO
ALUMNO
Pertenecer
AULA
Nacionalidad
Diseo de BD
Cdigo_aula
DNI
DescripcinDireccin
Nombre
Direccin
la
primera
propuesta
de
solucin
(considerar
el
atributo
adems, un AULA puede tener asociados varios ALUMNOS (figura 2.38). Las
Nombre
DNI completo e-mail
TUTOR
(1, n)
Asociar
(0, n)
F_Comienzo
Coordinador
1:N
CURSO
AULA
(1, n)
(1,1)
F_Finalizacin
Matricular
(1, n)
Direccin
Cdigo_aula Descripcion
N:M
Telfono
Pertenecer
Telfono
(1,n)
ALUMNO
Nacionalidad
e-mail
DNI Nombre Direccin
Nacionalidad
El esquema E/R obtenido hasta el momento es el mostrado en la figura 2.40.
DNI
e-mail
Nombre Direccin
69
70
Nombre
DNI completo e-mail
Nombre
DNI completo e-mail
N:M
N:M
TUTOR
(1, n)
Asociar
(0, n)
TUTOR
CURSO
F_Comienzo
Coordinador
Asociar
(1, n)
Matricular
(0, n)
CURSO
F_Comienzo
Coordinador
F_Finalizacin
(1, n)
N:M
(1, n)
F_Finalizacin
Matricular
N:M
(1, n)
(1,n)
(1,1)
Pertenecer
AULA
DNI
ALUMNO
1:N
Telfono
Nacionalidad
Pertenecer
AULA
e-mail
Nombre Direccin
DNI
(1, n)
(1,n)
(1,1)
ALUMNO
Telfono
Nacionalidad
e-mail
Nombre Direccin
(1,1)
1:N
Mantener
(1,n)
ADMINISTRADOR
e-mail
DNI
Interrelacin Mantener
La interrelacin Mantener se da entre las entidades ADMINISTRADOR y
Nombre
AULA. Los atributos del tipo de entidad ADMISTRADOR son DNI, nombre
completo y e-mail y representan el IP, un atributo obligatorio y otro alternativo,
Observando el esquema E/R final, las entidades TUTOR y ADMINISTRADOR
respectivamente.
los subtipos. Puede ocurrir que los subtipos no tengan atributos propios, como es
tambin las cardinalidades: (1,n) para el tipo de entidad AULA y (1,1) para el
el caso que nos ocupa; en ese caso, slo existirn subtipos si stos van a
PERSONA con los atributos DNI, nombre y e-mail y los subtipos TUTOR y
Como se ha mencionado al principio del ejercicio, esta representacin conceptual no es nica; puede
haber diversas interpretaciones. Lo importante es que el usuario o la persona que nos ha encargado el
diseo este conforme con este y refleje lo ms fielmente posible las caractersticas del problema.
propuesta.
71
72
Nombre
DNI completo e-mail
PERSONA
TUTOR
73
74
mismos pasos que seguimos en el ejemplo anterior con el fin de identificar los
CRUZADA y REY.
elementos bsicos del modelo. Recordemos que las soluciones no son nicas, y
cada pueden existir distintos esquema E/R vlidos.
2 paso: Identificar y enumerar las posibles interrelaciones, teniendo en
cuenta la siguiente heurstica: en general, una interrelacin viene reflejada por
1 paso: Identificar y enumerar las posibles entidades teniendo en
hemos detectado.
nacimiento y apodo.
En esta poca tambin fueron muy importantes los reyes, de los que
En esta poca tambin fueron muy importantes los reyes, de los que
76
continuacin
realizaremos
la
matriz
de
interrelaciones,
donde
Fecha_Nac
Apodo Nombre
.
Denominacin Num_Hab
Interrelaciones
CABALLERO
PROVINCIA
REY
Participar 2
CABALLERO
PROVINCIA
CRUZADA
PROVINCIA
Gobernar
Gobernar 1
CRUZADA
REY
Reinar 3
Ascender 4
simtricas.
Interrelacin Gobernar
Por ltimo vemos que nos hablan de dos atributos: Ao de inicio y nmero
de aos que un caballero estuvo gobernando una provincia. Como vemos, son
Ao_inicio
Denominacin Num_Hab
Num_Aos
M:N
CABALLERO
(1,n)
(0,n)
Gobernar
PROVINCIA
77
78
Interrelacin Participar
contrario.
Fecha_Inicio
Nombre
Fecha_Fin
N:M
Nombre Fecha_Inicio
Fecha_Fin
CABALLERO
(1,n)
(1,n)
CRUZADA
Participar
CRUZADA
Historia 5: Cardinalidad de CABALLERO y CRUZADA en la interrelacin Participar
El siguiente paso ser establecer las cardinalidades entre las dos entidades
de esta interrelacin PARTICIPAR, donde intervienen las entidades CRUZADA y
Ahora bien, tambin interesa conocer para cada caballero que particip en
CABALLERO.
de cada uno de los caballeros que particip en una cruzada, por lo tanto, son
atributos de la interrelacin PARTICIPAR:
Nombre
Apodo completo Fecha_Nac
Nombre
Fecha_Inicio
Fecha_Fin
Nombre
Apodo completo Fecha_Nac
(1,n)
CABALLERO
Participar
CRUZADA
CABALLERO
(1,n)
Nombre
F_Retirada
F_Incorpor
Resultado
N:M
(1,n)
Participar
79
80
Fecha_Inicio
CRUZADA
Fecha_Fin
Esta interrelacin asocia las relaciones PROVINCIA y REY. Sus atributos son:
(1,n)
PROVINCIA
Reinar
Fecha_Nac
Nombre
Denominacin Num_Habitantes
Interrelacin Reinar
Corona
REY
Nombre
Completo Fecha_Nac
Corona
REY
Fecha_Nac
Nombre
Denominacin Num_Habitantes
Corona
N:1
PROVINCIA
Nombre
Denominacin Num_Habitantes
Fecha_Nac
(1,n)
Reinar
(1,1)
REY
Corona
Historia 10 : Cardinalidad de la interrelacin
PROVINCIA
Reinar
REY
Interrelacin Ascender
En esta interrelacin participa nicamente la relacin REY relacionada
consigo misma.
81
82
Nombre Fecha_Nac
Completo
Corona
Apodo Nombre
.
REY
Fecha_Nac
Ao_inicio
Denominacin
Num_Aos
Num_Hab
M:N
CABALLERO
(1,n)
(0,n)
PROVINCIA
Gobernar
(1,n)
(1,n)
Ascender
M:N
Nombre
F_Retirada
F_Incorpor
Resultado
Participar
Fecha_Inicio
M:N
Reinar
Fecha_Fin
(1,n)
Nombre Fecha_Nac
Completo
CRUZADA
Corona
(1,n)
REY
Nombre Fecha_Nac
Completo
Ascender
Corona
REY
Historia 13 : Diagrama Entidad- Relacin completo
(1,n)
(1,n)
Ascender
(1,n)
N:M
83
84
N:M
caractersticas. Por ejemplo, DNI del alumno, nombre del curso, etc.
hemos detectado.
fecha de contratacin.
sucursal.
fecha de contratacin.
Los clientes reales son aquellos que tienen alquilado algn inmueble.
sucursal.
Los clientes reales son aquellos que tienen alquilado algn inmueble.
86
Las
entidades
que
hemos
encontrado
son:
SUCURSAL,
COMERCIAL,
continuacin
realizaremos
la
matriz
de
interrelaciones,
donde
reflejada por un verbo dentro de una oracin que relaciona dos objetos.
Interrelaciones
SUCURSAL
COMERCIAL
INMUEBLE
SUCURSAL
Depender 5
COMERCIAL
Trabajar 1
INMUEBLE
Gestionar 2
CLIENTE
CLIENTE
REAL
POTENCIAL
Alquilar 3
CLIENTE REAL
De los inmuebles que gestiona2 cada sucursal interesa conocer el
CLIENTE
Atender 4
POTENCIAL
Los clientes reales son aquellos que tienen alquilado3 algn inmueble.
semnticas.
88
paso:
Dibujar
las
interrelaciones
(estudiando
el
tipo
de
Cod_Suc.
Cod_Postal
Direccion Poblacin Telfono
Nombre
Apellidos Fecha_Contrato
DNI
SUCURSAL
Interrelacin Trabajar
(1,n)
COMERCIAL
Trabajar
Interrelacin Trabajar
contratacin.
1:1 (Como mnimo trabajara en una sucursal y como mximo tambin en una
nica sucursal).
Cod_Suc.
Cod_Postal
Direccion Poblacin Telfono
Cod_Suc.
Cod_Postal
Direccion Poblacin Telfono
Nombre
Apellidos Fecha_Contrato
DNI
Nombre
Apellidos Fecha_Contrato
DNI
1:N
SUCURSAL
(1,1)
(1,n)
Trabajar
SUCURSAL
Trabajar
Constructora 3::
Constructora 1::
COMERCIAL
COMERCIAL
Interrelacin Trabajar
Interrelacin Trabajar
Interrelacin Gestionar
Para el estudio de las cardinalidades, nos preguntaremos lo siguiente:
baos, y el
90
Cod_Postal
Direccin.
Num_Baos
Cod_Inmueble. Num_Habitaciones.
Importe_Alquiler
Cod_Suc.
Cod_Postal
Direccion Poblacin Telfono
1:N
Direccin. Poblacin
Num_Baos
Num_Habitaciones.Importe_Alquiler
Cod_Inmueble. Cod_Postal
(1,n)
(1,1)
SUCURSAL
INMUEBLE
INMUEBLE
Gestionar
Interrelacin Alquilar
Esta
interrelacin
ALQUILAR
asocia
las
entidades
CLIENTE
(real)
Cod_Postal
Direccin.
Num_Baos
Cod_Inmueble. Num_Habitaciones.
Importe_Alquiler
Cod_Suc.
Cod_Postal
Direccion Poblacin Telfono
(1,n)
SUCURSAL
Gestionar
DNI.
Nombre
Apellidos
Telfono
INMUEBLES
CLIENTE (real)
continuacin
estableceremos
las
cardinalidades
91
92
de
la
interrelacin
e INMUEBLE. Para
- Un cliente Cuntos inmuebles puede alquilar? Puede ser que alquile como
mnimo 1, y como mximo muchos (N), ya que puede alquilar diferentes
inmuebles a lo largo del tiempo.
DNI.
Nombre
Apellidos
Telfono
Cod_Postal
Direccin.
Num_Baos
Cod_Inmueble. Num_Habitaciones.
Fecha_InicFecha_Fin
Importe_Alquiler
Importe_Max
N:M
(1,n)
CLIENTE (real)
DNI.
Nombre
Apellidos
Cod_Postal
Direccin.
Num_Baos
Cod_Inmueble. Num_Habitaciones.
Importe_Alquiler
Telfono
(1,n)
CLIENTE (real)
Alquilar
(1,n)
Alquilar
INMUEBLE
INMUEBLE
Interrelacin Atender
Constructora 8: Cardinalidad de CLIENTE en la interrelacin ALQUILAR
COMERCIAL.
Los atributos de la entidad CLIENTE (potencial) son: DNI, nombre, apellidos,
- Un inmueble, por cuntos clientes es alquilado? Como mnimo estar
telfono, y precio mximo que est dispuesto a pagar por el alquiler. Elegiremos
alquilado por un cliente y como mximo por muchos (N), ya que un inmueble
DNI.
Nombre
Apellidos
Telfono
N:M
(1,n)
CLIENTE (real)
Cod_Postal
Direccin.
Num_Baos
Cod_Inmueble. Num_Habitaciones.
Importe_Alquiler
(1,n)
Alquilar
CLIENTE
dos
subtipos:
CLIENTES
(real)
CLIENTE
INMUEBLE
Nombre
DNI
Apellidos
Telfono
CLIENTE
Precio_Max
importe mximo mensual que un cliente pag por ese alquiler. Esos atributos no
son propios ni de la entidad Cliente (real), ni de la entidad Inmueble, sino que
son propios de la relacin.
CLIENTE (REAL)
CLIENTE POTENCIAL
94
(potencial).
La
Como la entidad cliente y cliente real, tienen los mismos atributos puesto
DNI
Apellidos
Nombre
Telfono
Nombre
Apellidos Fecha_Contrato
N:1
DNI
(1,n)
(1,1)
Atender
Constructora 13::
CLIENTE
COMERCIAL
CLIENTE POTENCIAL
Por lo tanto, hemos visto que la cardinalidad entre las entidades CLIENTE
POTENCIAL Y COMERCIAL es N:1.
Interrelacin Depender
Para
finalizar,
analizaremos
la
interrelacin
Depender.
La
entidad
Direccin Poblacin
Cod_Postal Telfono
Cod_Sucural
DNI
Apellidos
Precio_Max
Nombre
Telfono
Nombre
Apellidos Fecha_Contrato
DNI
CLIENTE
POTENCIAL
(1,1)
Atender
Constructora 12::
SUCURSAL
COMERCIAL
Cardinalidad de Cliente
Depender
95
96
Diagrama Entidad-Relacin
Direccin Poblacin
Cod_Postal Telfono
Cod_Sucural
SUCURSAL
N:1
1:1
Depender
(1,n)
(1,1
Depender
Cod_Postal
Direccin.
Num_Baos
Cod_Inmueble. Num_Habitaciones.
Importe_Alquiler
Cod_Suc.
Cod_Postal
Direccion Poblacin Telfono
1:N
(1,1)
SUCURSAL
(1,n)
INMUEBLE
Gestionar
una.
(1,1)
(1,n)
Importe_Max
Fecha_Fin
Fecha_Ini
Direccin Poblacin
Cod_Postal Telfono
Cod_Sucural
Trabajar
Alquilar
1:N
N:M
SUCURSAL
(1,n)
1:N
1:1
DNI.
Nombre
Apellido
Telfono
(1,n)
COMERCIAL
CLIENTE
DNI
Depender
Fecha_Contrato
Nombre
Apellidos
(1,1)
N:1
Constructora 16: Interrelacin Depender
DNI
1:N
Atender
Precio_Max
Apellidos
Nombre
Telfono
(1,n)
CLIENTE
POTENCIAL
97
98
identificaremos
los
principales
elementos
del
modelo.
hemos detectado.
electrnico.
surrealista,
electrnico.
Un
artista
puede
trabajar
distintos
estilos
(cubista,
Un
artista
puede
trabajar
distintos
estilos
(cubista,
surrealista,
de la tcnica empleada.
la que tuvo cabida. Una obra puede haber sido expuesta en varias
de la tcnica empleada.
99
100
tambin un tipo de entidad, pero parece ser que solo interesa conocer el valor de
Interrelaciones
ARTISTA
ESTILO
ARTISTA
ESTILO
TCNICA
OBRA
SEDE
TECNICA
OBRA
Trabajar 1
Trabajar 2 Crear 3
Pertenecer 4
Emplear 5
SEDE
Exponer 6
paso:
Dibujar
las
interrelaciones
(estudiando
el
tipo
de
atributos correspondientes.
Interrelacin Trabajar 1
entidad ARTISTA presenta los atributos DNI, nombre, apellidos, sexo, apodo
cada uno de los artistas. La entidad ESTILO contar con los atributos Cdigo de
Estilo y Descripcin.
la que tuvo cabida. Una obra puede haber sido expuesta en varias
sedes y en una misma sede varias veces, por lo que es importante
almacenar la fecha en la que se realizo la exposicin.
101
102
DNI
DNI
Cod_Estilo
Fecha_Nac
Apellidos
Nombre Sexo Apodo E-mail
Descripcion
Cod_Estilo
Fecha_Nac
Apellidos
Nombre Sexo Apodo E-mail
Descripcion
N:M
ARTISTA
Artistas 1:
ARTISTA
ESTILO
Trabajar
Trabajar.
Para
ver
Interrelacin Trabajar
la
(1,n)
ESTILO
Trabajar
Interrelacin Trabajar 2
(1,n)
cardinalidad
de
la
entidad
Artista,
preguntaremos:
o ms de
uno. (1:N)
La figura 1: Interrelacin Trabajar muestra el esquema parcial E/R:
DNI
Cod_Estilo
Fecha_Nac
Apellidos
Nombre Sexo Apodo E-mail
Descripcion
DNI
ARTISTA
(1,n)
Trabajar
Cod_Tcnica
Fecha_Nac
Apellidos
Nombre Sexo Apodo E-mail
Descripcion
ESTILO
ARTISTA
Trabajar
Artistas 4:
TCNICA
Interrelacin Trabajar
103
104
Fecha_Nac
Apellidos
Nombre Sexo Apodo E-mail
porque una obra ser creada por un nico artista y un artista crear una o varias
Cod_ Tcnica
Descripcion
ARTISTA
(1,n)
TCNICA
Trabajar
DNI
Fecha_Nac
Apellidos
Nombre Sexo Apodo E-mail
Valor_Subasta
Valor_Tasador
Nombre Dimensiones
1:N
ARTISTA
(1,1)
(1,n)
OBRA
Crear
DNI
Fecha_Nac
Apellidos
Nombre Sexo Apodo E-mail
Interrelacin Pertenecer
Cod_Tcnica
Descripcion
N:M
ARTISTA
(1,n)
(1,n)
Trabajar
OBRA y ESTILO.
TCNICA
Interrelacin Crear
Valor_Subasta
Valor_Tasador
Nombre Dimensiones
Cod_Estilo
Descripcion
(1,1)
Pertenecer
ESTILO
- Un estilo, a cuntas
OBRA
obras.
Artistas 7: En tidad
OBRA
105
106
obra pertenece?
Cod_Estilo
Valor_Subasta
Valor_Tasador
Nombre Dimensiones
Descripcion
Interrelacin Exponer
N:1
OBRA
(1,1)
(1,n)
ESTILO
Pertenecer
Artistas 10:
Interrelacin Emplear
Esta interrelacin tambin relaciona dos entidades que ya han sido
Nombre
Valor_Subasta
Valor_Tasador
Nombre Dimensiones
Direccin
OBRA
SEDE
Exponer
tcnica predominante.
Cod_Tcnica
Valor_Subasta
Valor_Tasador
Nombre Dimensiones
Descripcion
(1,1)
Emplear
- Una obra, en cuntas sedes ha estado expuesta? Una obra puede haber sido
expuesta en varias sedes.
Nombre
Valor_Subasta
Valor_Tasador
Nombre Dimensiones
Direccin
ms obras.
(1,n)
OBRA
Exponer
Cod_Tcnica
Valor_Subasta
Valor_Tasador
Nombre Dimensiones
SEDE
Descripcion
N:1
OBRA
(1,n)
(1,1)
Emplear
107
108
Diagrama Entidad-Relacin
Nombre
Valor_Subasta
Valor_Tasador
Nombre Dimensiones
Direccin
N:M
OBRA
(1,n)
(1,n)
SEDE
Exponer
DNI
Apellidos
Fecha_Nac
Nombre Sexo Apodo E-mail
Cod_Estilo
Descripcion
N:M
ARTISTA
(1,n)
Trabajar
ESTILO
(1,1)
(1,1)
Adems, nos indican que Una obra puede haber sido expuesta en una
Cod_Tcnica
(1,n)
misma sede varias veces, por lo que es importante almacenar la fecha en la obra
Descripcion
N:M
1:N
(1,1)
se expuso en la sede.
Crear
Trabajar
(1,n)
TCNICA
(1,n)
Valor_Subasta
Dimensiones
Valor_Tasador
Nombre
OBRA
Valor_Subasta
Valor_Tasador
Nombre Dimensiones
Nombre Direccin
Fecha_Exposicin
N:M
(1,n)
(1,n)
Exponer
Nombre
Direccin
Fecha_Exposicin
N:M
(1,n)
(1,n)
OBRA
(1,n)
(1,n)
Exponer
SEDE
N:1
Emplear
N:1
Pertenecer
109
110
SEDE
111
MDULO B
OBJETIVOS
Modelo Relacional
x
x
x
UNIDAD DIDCTICA 2
En esta unidad aprenders:
1. Introduccin
2. Elementos Bsicos del Modelo Relacional
3. Esttica del Modelo Relacional
4. Reglas bsicas para la transformacin del modelo E/R
al modelo relacional
- Modelo Relacional - Caso Prctico Mentor
- Modelo Relacional - Caso Prctico Historia
- Modelo Relacional - Caso Prctico Constructora
- Modelo Relacional - Caso Prctico Arte
5. Introduccin a las formas normales
6. Formas Normales
- Normalizacin Caso Prctico Mentor
x
x
Modelo Relacional
1.
2.
Introduccin
existentes hasta ese momento por el investigador Edgar Codd, tomando como
distinguir varios tipos de elementos: su nombre, los atributos que contiene y que
tambin podemos incluir los dominios que son aquellos conjuntos de donde los
final.
investigacin por parte de diversos centros, pero a medida que la tecnologa fue
que en ellos se pueden visitar, a travs del modelo de datos relacional. De cada
MUSEO
Nombre
Direccin
Zona
Salas
Arqueolgico
Serrano, 13
Madrid
43
Santa Isabel, 52
Madrid
21
Alcal de Henares
Sofa
Universidad de
Alcal de Henares
En este captulo nos vamos a centrar en definir los elementos bsicos del
modelo y explicaremos una metodologa de diseo de bases de datos
relacionales mediante la traduccin de los objetos del modelo E/R explicado en
captulo anterior.
116
Modelo Relacional
3.
dicho que las relaciones son tablas, pero estas tablas tienen sus limitaciones, no
siguiente manera:
son las tablas que normalmente manejamos; por ejemplo, en estas tablas se
prohibe que exista ms de un valor en cada celda, este tipo de prohibiciones
Definicin de relacin:
ARTISTA (Nombre; Nacionalidad: Nacionalidades; Especialidad: Especialidades)
Contenido de la relacin:
ARTISTA
Nombre
Nacionalidad
Especialidad
Agustn Redondella
Dolores Dahlahaus
Mario Scifano
Nacional
Internacional
Internacional
Pintura
Fotografa
Fotografa
117
118
Modelo Relacional
vistas. Las relaciones base son relaciones con existencia propia, las vistas son
lector que este supuesto es tan descabellado, por ejemplo podra darse
sera la relacin ARTISTA de la figura 2.45, una vista sera la relacin obtenida
trate.
puede ser un Cdigo de Artista. De esta forma cada tupla sera distinta
de las dems.
Hasta este momento nicamente hemos hablado de los objetos del modelo
relacional, pero no hemos hecho mencin de cmo interactan estos objetos en
modelo. Para ello debemos previamente comentar las restricciones, tanto las
inherentes al modelo, como las restricciones de usuario, que son aquellas que
permiten recoger con la mayor fidelidad posible el mundo real objeto de nuestro
clave.
diseo.
Esto es lo mismo que decir que en cada una de las celdas de una tabla
distinta sera que en nuestro mundo real un artista pudiera tener varias
ocuparan ms.
obstante
Nombre
Fecha
de
nacimiento
sera
tambin
un
ms adelante en el captulo.
una relacin, no lo ha sido por otros motivos, como pueden ser motivos
- Todas las tuplas de una relacin deben ser distintas.
de eficiencia, etc.
Ntese que hemos dado un nombre a la vista, pues una vista es un tipo de relacin y por tanto debe
constar de los elementos de toda relacin.
119
120
Modelo Relacional
porque la clave puede estar formada por varios atributos pero siempre
- Integridad Referencial.
ser una sola clave. Una clave primaria es aquella que identifica cada
tupla
podramos
de
una
relacin
de
manera
mnima,
es
decir,
tambin las podemos identificar, la clave estar formada por esos tres.
informacin no necesaria.
Esta regla hace referencia a que ningn atributo que forme parte de la
haber dos artistas con el mismo nombre, esto hara que el atributo
- Atributos que deben tener siempre valores para todas las tuplas de la
relacin.
y la relacin
que existe entre cada escuela y los artistas de nuestra base de datos,
Por ejemplo, y en el caso que nos ocupa, supongamos que no est
121
122
Una clave candidata es aquel atributo o conjunto de atributos que pueden ser clave de una relacin.
Modelo Relacional
Cod_artista
0010508
0012454
1200004
Nombre
Especialidad
Nacionalidad
Agustn Redondella
Dolores Dahlahaus
Mario Scifano
Nacional
Internacional
Internacional
Pintura
Fotografa
Fotografa
Qu hacer entonces?
005-4
234-3
123-5
Nombre
Caminos de hierro
Ballantines
Caja Madrid
Cod_artista
1200004
1200004
0010508
tendremos a cada artista con las distintas escuelas a las que pertenece y
cada escuela con todos sus artistas, como se puede ver en la figura 2.5.
Podemos incluir dos nuevos atributos Fecha inicio y Fecha fin 7, para
determinada.
Por
ltimo,
tanto
Cod_artista
como
Este atributo puede tomar valores nulos pues los artistas de una determinada escuela pueden seguir
perteneciendo a ella en la actualidad.
123
124
Modelo Relacional
ARTISTA
Cod_artista
0010508
0012454
1200004
Especialidad
Nacionalidad
Nombre
Agustn Redondella
Dolores Dahlahaus
Mario Scifano
Pintura
Fotografa
Fotografa
Nacional
Internacional
Internacional
PERTENECE
Cod_escuela
123/7
142/8
241/1
123/7
241/6
Cod_artista
Fecha inicio
Fecha
1200004
1200004
0010508
0012454
0010508
12/10/1965
12/4/1986
1/5/1969
16/2/1975
25/7/1991
12/12/1979
--24/16/1987
-----
ARTISTA
Cod_artista
0010508
0012454
1200004
Nombre
Nacionalidad
Especialidad Cod_artista_maestro
Pintura
Fotografa
Fotografa
0125000
1200004
------
ESCUELA
Nombre
Cod_escuela
123/7
142/8
241/1
241/6
Impresionismo fotogrfico
Surrealismo de luz y sombras
Modernismo Ingls
Cubismo
125
126
Modelo Relacional
ejemplo
en
la
relacin
ARTISTA
con
la
clave
ajena
4.
modelo relacional
operacin.
existe ningn Sistema Gestor de Bases de Datos que soporte el modelo E/R. Esta
D.N.I.
Nombre Direccin
e-mail
Telfono
propios de la escuela.
Nacionalidad
Segn la regla de transformacin esta entidad pasa a ser una relacin cuyo
por tanto, se llamar ALUMNOS. Esta relacin tendr como clave primaria
consulte.
128
Modelo Relacional
Y por ltimo, tenemos un atributo que puede admitir valores nulos, Telfono
nueva relacin compuesta de dos atributos, el DNI del Alumno y el Nombre del
curso donde ambos formarn la clave primaria:
modelo: la interrelacin.
esta
forma
nos
aseguramos
que
los
valores
de
estos
atributos
estn
que un alumno no puede realizar un curso o lo que es lo mismo, que exista una
WWW
Figura 2.53: Transformacin de una interrelacin N:M
Telfono
N:M
ALUMNO
Matricular
CURSO
Nacionalidad
relaciones correspondientes:
130
Modelo Relacional
BC:MC
BC:MC
De
Figura 2.54: Transformacin de una interrelacin N:M con las opciones de borrado y modificacin
esta
departamento
manera
y
que
recogemos
un
que un
departamento
empleado
puede
tener
trabaja
en
asociados
un
solo
distintos
tercera
ltima
regla
nos
indica
que
la
transformacin
de
Nombre LocalizacinTelfono
N:1
NSS
EMPLEADO
Trabajar
DEPARTAMENTO
Telfono
131
132
Modelo Relacional
Transformacin al modelo
Entidad: ALUMNO
telfono
ALUMNO
nacionalidad
e-mail
DNI nombre direccin
Obligatorios:
Nombre,
Direccin y Nacionalidad
Atributos
NOT
NULL:
Nombre,
Direccin y Nacionalidad
Nombre
DNI completo e-mail
Entidad:AULAS
nombre
WWW
libro
AULA
N:M
TUTOR
(1, n)
Asociar
(0, n)
cdigo_aula
CURSO
F_Comienzo
Coordinador
Transformacin al modelo
relacional - Relacin: AULAS
nombre
direccin
Identificadorprincipal: Cdigo_Aula
Direccin
Direccin
(1, n)
F_Finalizacin
Matricular
N:M
Una vez transformadas las entidades, veamos que tipo de interrelacin las
coordinador = (SI, NO)
1:N
(1, n)
(1,n)
(1,1)
Pertenecer
AULA
ALUMNO
telfono
nacionalidad
direccin
cdigo_aula
DNI
descripcion
e-mail
nombre direccin
(1,1)
1:N
Mantener
(1,n)
ADMINISTRADOR
e-mail
DNI
nombre
pensar en las propiedades del mismo, es decir, si el atributo admite nulos o no, y
134
Modelo Relacional
qu haramos con los alumnos, Juan Lpez y Olga Calle, asignados a esta aula?
esquema conceptual.
restringuido.
La opcin de modificacin ser en cascada.
Un alumno pertenece a un
y solo un aula
La
1:N
(1,1)
Pertenecer
AULA
(1,n)
DNI
cdigo_aula descripcdireccin
ALUMNO
interrelacin
MANTENER
asocia
la
entidad
AULA
con
la
entidad
telfono
nacionalidad
e-mail
nombre direccin
ADMINISTRADOR
DNI
Nombre
Direccin
Telfono
Nacionalidad
Aula
Pez,15
4674039
Espaola
Jl@mec.es
01
4801325
Espaola
as@mec.es
03
Principe,18
7771482
Espaola
La Cruz,1
4671482
No_espaola
oc@mec.es
JP@mec.es
DNI
nombre
01
02
Descripcin
Direccin
01
02
03
Los
Carrascales
El Hayedo
La Nogalera
Avd. de Espaa 3,
Cercedilla
Gran Va 10, Coslada
Irn 49,
acerca del cdigo del aula a la que esta asignado un determinado administrador.
136
Modelo Relacional
ALUMNO
Objetos en el modelo E/R
Transformacin al modelo
relacional - Relacin: CURSOS
DNI
Nombre
Direccin
Telfono
Nacionalidad
Aula
07545658
Juan Lpez
Pez,15
4674039
Espaola
Jl@mec.es
01
Entidad: CURSO
56321411
Andrea Sols
Bronce,25
4801325
Espaola
as@mec.es 03
36952144
Olga Calle
Principe,18
7771482
Espaola
oc@mec.es 01
85669900
Jos Prez
La Cruz,1
4671482
No_espaola
JP@mec.es 02
CURSO
nombre WWW
libro
MATRICULAR
Alumno
Curso
F_Comienzo
F_Finalizacin
07545658
Access 97
23-05-2000
19-12-2000
07545658
Access 2000
23-05-2000
30-01-2001
CURSO
CURSOS ( Nombre, WWW, Libro*)
Curso
WWW
Access 97
www.mentor.es/access97.html
Access 2000
www.mentor.es/accss2000.html
Libro
137
138
Modelo Relacional
BC:MC
MATRICULAR?
Pues parece normal que asi sea, ya que si el alumno se da de baja es mejor
BR:MC
interrelacin.
DNI
D.N.I.
Nombre
Direccin
e-mail
Nombre
completo
Transformacin al modelo
Entidad: TUTOR
relacional - Relacin:TUTORES
TUTOR
Libro
Nombre
F_Comienzo
Telfono
WWW
(1,n)
Matricular
completo
completo
F_Finalizacin
M:N
ALUMNO
(1,n)
CURSO
Nacionalidad
La interrelacin ASOCIAR es del tipo N:M por lo que tendremos que crear
una nueva relacin.
La mejor opcin de borrado en ese caso sera la restringida, de esta forma
eliminacin.
Para las opciones de modificacin en ambas claves ajenas sern en cascada.
La clave primaria estar formada por dos atributos, Tutor y Curso, que a su
vez sern claves ajenas que referenciarn a las relaciones TUTORES y CURSOS,
respectivamente.
139
140
Modelo Relacional
BR/MC
DNI
Nombre
completo e-mail
Nombre
Libro
WWW
N:M
(1,n)
CURSO
Asociar
TUTOR
ADMINISTRADORES (
BR/MC
AULAS ( Cdigo_Aula , Descripcin, Direccin)
BR/MC
Sin embargo, la opcin de borrado para la clave ajena tutor ser restringida,
BR:MC
TUTORES dejemos a algn curso sin tutor, esto producira una inconsistencia con
BC/MC
DNI
Nombre
completo
Nombre
Libro
WWW
N:M
(1,n)
TUTOR
(0,n)
Asociar
CURSO
141
142
e-mail)
Modelo Relacional
Ao_inicio
Denominacin Num_Hab
Num_Aos
M:N
CABALLERO
Apodo Nombre
.
Fecha_Nac
Ao_inicio
Denominacin
Num_Aos
(1,n)
(0,n)
Gobernar
PROVINCIA
Num_Hab
M:N
CABALLERO
(1,n)
(0,n)
PROVINCIA
Gobernar
(1,n)
M:N
Nombre
(1,n)
Apodo Nombre
Apellido
.
Fecha_Nac
F_Retirada
F_Incorpor
Resultado
Participar
Fecha_Inicio
Transformacin al modelo
relacional - Relacin:
Entidad: CABALLERO
M:N
CABALLEROS
CABALLERO
Reinar
Fecha_Fin
Apellido, Fecha_Nac
(1,n)
CRUZADA
Nombre Fecha_Nac
Completo
Corona
(1,n)
Objetos en el modelo E/R
REY
Transformacin al modelo
relacional
Entidad: PROVINCIA
(1,n)
Denominacin Num_Hab
(1,n)
Relacin: PROVINCIAS
PROVINCIA
Ascender
Identificador principal:
N:M
Denominacin
Atributos NOT NULL:
Atributos Obligatorios:
Num_Habitantes
143
144
Num_Habitantes
Modelo Relacional
relaciones:
BR:MC
GOBERNAR ( Apodo, Denominacin, Ao_Inicio, Num_Aos)
BR:MC
Una vez transformadas las entidades, vemos que las cardinalidades entre
ambas en N:M, por lo que aplicando la regla de transformacin para esta
se compone de los dos atributos que son clave primaria en las entidades:
modelo entidad-relacin:
Nombre
Apodo completo Fecha_Nac
CABALLERO
(1,n)
Nombre
F_Retirada
F_Incorpor
Resultado
N:M
(1,n)
Participar
Fecha_Inicio
Fecha_Fin
CRUZADA
dentro
de
la
relacin
GOBERNAR
(Apodo,
Denominacin,
Ao_Inicio,Num_Aos).
Transformacin al modelo
relacional
Nombre
Fecha_Inicio
Fecha_Fin
Entidad: CRUZADA
Relacin: CRUZADAS
Atributos Obligatorios:
Fecha_Inicio, Fecha_Fin
Fecha_Inicio, Fecha_Fin
La interrelacin PARTICIPAR es del tipo N:M por lo que crearemos una nueva
relacin donde la clave primaria ser la unin de las claves primarias de las
146
Modelo Relacional
interrelacin:
Nombre
Denominacin Num_Habitantes
BR:MC
Fecha_Nac
Corona
M:N
(1,n)
(1,n)
REY
Reinar
BR:MC
CRUZADAS (Nombre_Cruzada, Fecha_Inicio, Fecha_Fin)
centraremos
las
las
entidad
entidades
REY
ya
que
que
intervienen.
la
entidad
En
este
PROVINCIA
caso,
la
nos
vimos
anteriormente.
Analizaremos por ltimo para esta interrelacin las opciones de borrado y
modificacin. Como no debemos perder la informacin de las cruzadas en las
que participaron los caballeros, el borrado en la relacin PARTICIPAR debe ser
Objetos en el modelo E/R
Fecha_Nac
Corona
Transformacin al modelo
relacional
Entidad: REY
Relacin: REYES
REY
147
148
Atributos Obligatorios:
Fecha_Nac, Corona
Fecha_Nac, Corona
Modelo Relacional
Nombre Fecha_Nac
Completo
Vemos que la interrelacin Reinar tiene una cardinalidad M:N, por lo que la
Corona
REY
(1,n)
(1,n)
N:M
Vemos que la cardinalidad en este caso es N:M. Recodemos que este tipo de
cardinalidades
se
resuelven
en
el
modelo
relacional
REINAR.
transformando
la
149
150
Modelo Relacional
aplicaremos
la
correspondiente
regla
transformacin.
N:1
Depender
BR:MC
(1,n)
(1,1
BR:MC
Cod_Postal
Direccin.
Num_Baos
Cod_Inmueble. Num_Habitaciones.
Importe_Alquiler
1:N
(1,1)
SUCURSAL
BR:MC
(1,n)
INMUEBLE
Gestionar
(1,1)
(1,n)
Importe_Max
Fecha_Fin
Fecha_Ini
Trabajar
Alquilar
1:N
REY (Nombre_Rey, Fecha_Nac, Corona)
N:M
BR:MC
(1,n)
BR:MC
DNI.
Nombre
Apellido
(1,n)
COMERCIAL
CLIENTE
DNI
Fecha_Contrato
Nombre
Apellidos
(1,1)
BR:MC
DNI
1:N
Atender
151
152
Apellidos
Nombre
Telfono
(1,n)
CLIENTE
POTENCIAL
Telfono
de
Modelo Relacional
las
entidades
SUCURSAL
COMERCIAL.
Recordaremos
su
Nombre
Apellidos Fecha_Contrato
DNI
SUCURSAL
(1,1)
(1,n)
Trabajar
que
nos
dar
informacin
sobre
la
1:N
COMERCIAL
Cod_Suc.
Cod_Postal
Direccion Poblacin Telfono
Transformacin al modelo
Transformacin de una interrelacin 1:N
relacional
Entidad: SUCURSAL
Relacin: SUCURSALES
SUCURSAL
Identificador principal: Cod_Suc
caso, no debemos permitir eliminar los comerciales de una sucursal cuando sta
se elimine de la base de datos, por lo que el borrado ser restringido; sin
embargo la modificacin de una sucursal debe propagarse a los comerciales que
trabajan en ella, por lo que la actualizacin debe realizarse en cascada.
Nombre
Apellidos Fecha_Contrato
DNI
COMERCIAL
MC:BR
Transformacin al modelo
relacional - Relacin:
Entidad: COMERCIAL
COMERCIALES
Apellidos, Fecha_Contrato
Apellidos, Fecha_Contrato
GESTIONAR,
que
relaciona
las
entidades
INMUEBLE
153
154
Modelo Relacional
Cod_Postal
Direccin.
Num_Baos
Cod Inmueble. Num Habitaciones.
Importe_ Alquiler
Cod_Suc.
Cod_Postal
Direccion Poblacin T elfono
baja en la base de datos, por lo que el borrado ser restringido. Ahora bien, si
una Sucursal cambiara de cdigo, la actualizacin se propagara en cascada a
1 :N
(1,n)
(1,1)
SUCURSAL
INMUEBLE
Gestionar
Nombre
Apellidos Fecha_Contrato
DNI
COMERCIAL
BR:MC
Transformacin al modelo
relacional - Relacin:
Entidad: INMUEBLE
Identificador principal:
INMUEBLES
Cod_Inmueble
Direccin, Cod_Postal,
Cod_Postal, Num_Habitaciones,
Num_Habitaciones, Num_Baos,
Num_Baos, Importe_Alquiler
Importe_Alquiler
DNI.
Nombre
Apellidos
T elfono
Cod_Postal
Direccin.
Num_Baos
Cod Inmueble. Num Habitaciones.
Fecha_InicFecha_Fin
Importe_ Alquiler
Importe_Max
N:M
(1,n)
CLIENTE (real)
(1,n)
Alquilar
INMUEBLE
entidades en relaciones:
DNI.
Nombre
Apellidos
Telfo
Transformacin al modelo
relacional - Relacin: CLIENTES
Entidad: CLIENTE
CLIENTE (real)
155
156
Apellidos y Telfono
Apellidos y Telfono
Modelo Relacional
La interrelacin ALQUILAR es del tipo N:M por lo que crearemos una nueva
CLIENTE ( DNI, Nombre, Apellidos, Telfono)
relacin donde la clave primaria ser la unin de las claves primarias de las
BR:MC
borrado y actualizacin
DNI
Apellidos
Precio_Max
Nombre
Telfono
Nombre
Apellidos Fecha_Contrato
N:1
CLIENTE
POTENCIAL
(1,n)
DNI
(1,1)
Atender
COMERCIAL
DNI.
Apellidos
Nombre Telfono Precio_Max
CLIENTE
POTENCIAL
157
158
Transformacin al modelo
relacional - Relacin: CLIENTES
POTENCIALES
Modelo Relacional
Direccin Poblacin
Cod_Postal Telfono
Cod_Sucural
SUCURSAL
COMERCIAL ( DNI, Apellidos, Fecha_Contrato, Cod_Suc)
1:N
1:1
N:1
159
160
Modelo Relacional
BR:MC
analizando cada una de las interrelaciones tal y como hemos hecho hasta ahora.
DNI
Apellidos
Fecha_Nac
Nombre Sexo Apodo E-mail
Cod_Estilo
Descripcion
N:M
ARTISTA
(1,n)
Trabajar
BR:MC
ALQUILAR (DNI, Cod_Inmueble, Fecha_Inicio, Fecha_Fin, Importe_Max)
ESTILO
(1,1)
BR:MC
(1,1)
BR:MC
Cod_Tcnica
(1,n)
Descripcion
N:M
1:N
(1,1)
Crear
Trabajar
(1,n)
TCNICA
(1,n)
Valor_Subasta
Valor_Tasador
Nombre Dimensiones
OBRA
Nombre Direccin
Fecha_Exposicin
N:M
(1,n)
(1,n)
Exponer
(1,n)
(1,n)
N:1
Emplear
N:1
Pertenecer
161
162
SEDE
Modelo Relacional
La interrelacin TRABAJAR presenta una cardinalidad del tipo N:M por lo que
crearemos una nueva relacin donde la clave primaria ser la unin de las claves
DNI
Cod_Estilo
Fecha_Nac
Apellidos
Nombre Sexo Apodo E-mail
Descripcion
N:M
ARTISTA
(1,n)
(1,n)
Trabajar
ESTILO
DNI
Fecha_Nac
Apellidos
Nombre Sexo Apodo E-mail
Transformacin al modelo
Una
vez
obtenido
este
modelo
relacional,
analizaremos
para
esta
Entidad: ARTISTA
relacin existente entre los artistas y sus estilos, no debemos permitir el borrado
ARTISTA
Apodo, E- Mail
Apodo, E- Mail
Descripcion
Transformacin al modelo
BR:MC
Entidad: ESTILOS
ESTILO
Identificador principal:
Cod_Estilo
Atributos NOT NULL:
Atributos Obligatorios:
Cod_Estilo, Descripcin
Cod_Estilo, Descripcin
163
164
Modelo Relacional
Cod_Tcnica
Fecha_Nac
Apellidos
Nombre Sexo Apodo E-mail
cascada.
Descripcion
N:M
ARTISTA
(1,n)
(1,n)
Trabajar
TCNICA
Transformacin al modelo
relacional
Entidad: TCNICA
Cod_Tcnica
Descripcion
TCNICA
Relacin: TCNICAS
Identificador principal:
Cod_Tcnica
DNI
Atributos NOT NULL:
Atributos Obligatorios:
Fecha_Nac
Apellidos
Nombre Sexo Apodo E-mail
1:N
Cod_Tcnica, Descripcin
Valor_Subasta
Valor_Tasador
Nombre Dimensiones
Cod_Tcnica, Descripcin
ARTISTA
(1,1)
(1,n)
Crear
OBRA
Objetos en el modelo
Transformacin al modelo
E/R
relacional
Entidad: OBRA
Identificador principal:
Relacin: OBRAS
Nombre
Atributos NOT NULL:
Dimensiones, ValorSubasta,
Dimensiones,
ValorTasador
ValorSubasta, ValorTasador
165
166
Modelo Relacional
Esta vez, la interrelacin CREAR, presenta una cardinalidad del tipo 1:N.
Para su transformacin al modelo relacional, aadiremos un nuevo atributo en la
Cod_Estilo
Valor_Subasta
Valor_Tasador
Nombre Dimensiones
relacin OBRA que nos dar informacin sobre el ARTISTA que la cre.
Descripcion
N:1
OBRA
(1,n)
(1,1)
Pertenecer
ESTILO
De nuevo nos encontramos con una cardinalidad del tipo 1:N. Para su
transformacin al modelo relacional, aadiremos un nuevo atributo en la relacin
modificamos los datos del estilo se modificarn en cascada todas las obras de
dicho estilo.
167
168
Modelo Relacional
Cod_Tcnica
Valor_Subasta
Valor_Tasador
Nombre Dimensiones
Descripcion
N:1
OBRA
(1,n)
(1,1)
Emplear
Nombre
Valor_Subasta
Valor_Tasador
Nombre Dimensiones
OBRA
Direccin
Fecha_Exposicin
N:M
(1,n)
(1,n)
Exponer
SEDE
tipo N:1, aadiremos un nuevo atributo en la relacin OBRA que nos dar
informacin sobre la tcnica empleada.
Transformacin al
modelo relacional
Entidad: SEDE
Nombre
Direccin
tcnica de nuestra base de datos mientras tenga obras realizadas con dicha
tcinica. Si una Tcnica cambiara de cdigo, la actualizacin se propagara en
Relacin: SEDES
transformacin, por lo que crearemos una nueva relacin donde la clave primaria
BR:MC
169
170
Modelo Relacional
BC:MC
BC:MC
BC:MC
BC:MC
realizar en cascada.
BC:MC
SEDE (Nombre, Direccin)
SEDE (Nombre, Direccin)
BC:MC
171
172
Modelo Relacional
1FN
Se dice que una relacin est en 1FN cuando no existen tuplas repetidas.
Todas las relaciones tienen que estar, al menos en 1FN.
NOMBRE
TITULACIN
NOMBRE
Miguel
Pintor
Miguel
TITULACIN
Pintor
Isabel
Industrial
Isabel
Industrial
Felipe
Felipe
Felipe
Felipe
Para:
Felipe
Agrnomo
Felipe
Agrnomo
Miguel
Pintor
Existen seis niveles de normalizacin de una relacin (1FN, 2FN, 3FN, FNBC,
2FN
- Se encuentra en 1FN
MATRCULA
y Dependencias funcionales:
DNI
DNI
determinan el
ASIGNATURA
ASIGNATURA
173
174
determinan una
NOMBRE
determinan
NOTA
APELLIDOS
CURSO
DNI, ASIGNATURA
(DNI,ASIGNATURAJNOTA)
(ASIGNATURA J CURSO)
Modelo Relacional
DNIJ APELLIDOS
ASIGNATURA
3FN
Se dice que una relacin est en 3FN si satisface la 2FN y cada atributo no
J CURSO
Solucin:
y Clave primaria:
ASIGNATURA
y Dependencias funcionales:
ASIGNATURA
J AULA
AULA
J LUGAR
ASIGNATURA
J LUGAR
(ASIGNATURA,
MATRCULA
(DNI,
La relacin
CURSO)
primaria
AULA
LUGAR
Solucin:
Descomposicin de la relacin
ASIGNATURA
primaria y el atributo
IMPARTE
LUGAR
en:
DNIJ APELLIDOS
Solucin:
Descomponer la relacin MATRCULA (DNI,
en:
ALUMNOS
(DNI,
MATRICULACIN
NOMBRE, APELLIDOS)
(DNI,
ASIGNATURA, NOTA)
ALUMNOS
(ASIGNATURA,
MATRCULA
ALUMNOS
(DNI,
(DNI,
y Dependencias funcionales:
IMPARTE
(DNI,
y Clave primaria:
Conclusin:
DNI
J NOMBRE_APELLIDOS
DNIJLOCALIDAD
LOCALIDADJPROVINCIA
CURSO)
ASIGNATURA, NOTA)
NOMBRE, APELLIDOS)
DNI
JDIRECCIN
DNIJPROVINCIA
176
ALUMNOS
(DNI,
NOMBRE_APELLIDOS, DIRECCIN,
Modelo Relacional
ALUMNOS
(DNI,
LOCALIDADES
PERSONAL
(LOCALIDAD, PROVINCIA)
4FN
PROFESOR
MATERIA
CENTRO
Juan Juanas
Informtica
C1
Juan Juanas
Informtica
C2
Susana Lus
Biologa
C1
Susana Lus
Geologa
C2
Susana Lus
Biologa
C1
visto
hasta
ahora.
El
principal
motivo
son
las
dependencias
restriccin ms.
NOMBRE
APELLIDOS
PROFESIN
DIRECCIN
TLF
000000
Juan
Prez
Juez, Pintor
Margarita,1
666666666
111111
Ana
Juanas
Fiscal, Pianista
Geranio,2
555555555
222222
Raquel
Martn
Profesora
Jacinto, 44
777777777
PROFESORES-MATERIAS
PERSONAL
PROFESOR, MATERIA)
PROFESOR
MATERIA
Juan Juanas
Informtica
Juan Juanas
Informtica
Susana Lus
Biologa
Susana Lus
Geologa
Susana Lus
Biologa
ya que por cada una de las titulaciones de cada persona se repiten todos
sus datos personales.
Solucin:
PERSONAL
PROFESORES-CENTROS
PERSONAL
MATERIAS-CENTROS
DNI, PROFESIN)
PROFESOR
MATERIA
C1
Juan Juanas
C2
Susana Lus
C1
Susana Lus
C2
Susana Lus
C1
MATERIA, CENTRO)
PROFESOR
MATERIA
Informtica
C1
5FN
Informtica
C2
Biologa
C1
Para que una relacin est en 5FN, deber estar en 4FN y la relacin no podr
Geologa
C2
Biologa
C1
177
178
PROFESOR, CENTRO)
Juan Juanas
PROFESIONES
Modelo Relacional
DNI e-mail
DNI aula
1 FN
El modelo relacional obtenido del caso prctico Mentor fue el siguiente:
Se dice que una relacin est en 1FN cuando no existen tuplas o registros
repetidos.
ADMINISTRADORES (
2FN
BR/MC
AULAS ( Cdigo_Aula , Descripcin, Direccin)
BR/MC
- Se encuentra en 1FN
BC:MC
funcional completa respecto del atributo que es clave, siempre que esta
clave est compuesta por ms de un atributo. Si la clave primaria est
BR:MC
3FN
e-mail)
Se dice que una relacin est en 3FN si satisface la 2FN y cada atributo no
primario no depende de forma transitiva de la clave primaria, es decir,
dependern directamente de la clave primaria.
Pasamos a estudiar cada una de las relaciones
FNBC
El antecedente de cada dependencia funcional debe ser clave primaria.
Observamos que en todas las dependencias funcionales el antecedente es
clave primaria luego la relacin est en FNBC.
179
180
Modelo Relacional
CDIGO_AULA DIRECCIN
3FN
FNBC
En
ALUMNO,CURSO->F_FINALIZACIN
1 FN
repetidos.
2FN
caso
no
existe
ninguna
dependencia
dependencia
entre
FNBC
DNI DIRECCIN
DNI AULA
DNI TELFONO
DNI NACIONALIDAD
DNI NOMBRE
repetidos.
2FN
CURSOS NOMBRE
CURSOSWWW
CURSOSLIBRO
182
Modelo Relacional
1 FN
repetidos.
(1) Dependencias funcionales obtenidas:
2FN
DNINOMBRE_COMPLETO
3FN
de
la
clave
primaria,
no
habiendo
1 FN
primaria *
repetidos.
DNIE-MAIL
2FN
FNBC.
3FN
directamente
libro
de
la
clave
primaria,
no
habiendo
primaria *
Observamos que en todas las dependencias funcionales el
1 FN
repetidos.
2FN
DNI
NOMBRE_COMPLETO
54258652
lperez@gmail.com
42568745
Mfernandez@gmail.com
41203657
cprieto@gmail.com
41875964
luisperez@gmail.com
184
Modelo Relacional
185
MDULO C
UNIDADES DIDCTICAS:
1. Algebra Relacional
2. SQL Lenguaje de Consulta Estructurado
MDULO C
OBJETIVOS
lgebra Relacional
x
x
UNIDAD DIDCTICA 1
ndice de la unidad:
1. Qu es el lgebra relacional
2. Para qu sirve el lgebra relacional
- Operadores algebraicos o bolanos
- Operadores relacionales
Algebra Relacional
1. Algebra Relacional
586
401
586
690
586
690
333
401
- Interseccin ()
Para crear una relacin o tabla a partir de una o varias relaciones utilizando
para ello operadores relacionales. La nueva relacin o tabla de salida
contendr solamente la informacin que hemos demandado a travs de
R ( A B C)
R ( E F H)
179
333
179
345
179
586
586
401
690
586
- Diferencia (-)
Los que estn en la primera relacin y no estn en la segunda
R ( A B C)
R ( E F H)
179
333
345
179
586
401
690
586
-S
345
690
segunda relacin.
R ( A B C)
R ( E F H)
RUS
179
333
179
345
179
345
191
192
Algebra Relacional
756984B
Elena
R ( A B C)
R ( E F H)
179
333
345
179
586
401
x S (A B C E F H)
Operadores unarios
179333
179179
- Seleccin ()
179401
586
179586
condicin.
345333
345179
1.
curso=1(ALUMNOS)
345401
345586
586333
D resultado
687698 P
Ana Huete
586179
586401
586586
- Proyeccin ()
Utilizado
delante
del
atributo,
el
nombre
de
la
para
obtener
columnas
de
una
relacin
obtenido.
correspondiente.
Ejemplo: Obtener los nombre de la tabla alumnos.
nombre=1(ALUMNOS) D
resultado
Juan M. Kimla
Antonio Prez
Ana Huete
Elena
NOMBRE
CURSO
120546M
Juan M. Kimla
478965J
Antonio Prez
687698P
Ana Huete
relacin.
193
194
Algebra Relacional
Operadores binarios
Ejemplo: Dados los siguientes esquemas de relacin
Obtener los pilotos capaces de manejar todos los aviones
disponibles.
PILOTO
tablas donde se
- Divisin (/)
PILOTO
ZGT-090
Paula Parla
ZGT-090
ZGT-099
Gonzalo vila
ZGT-099
ZGT-190
Paula Parla
ZGT-190
Juan Toledo
ZGT-099
Paula Parla
ZGT-099
Paula Parla
ZGT-090
Gonzalo vila
ZGT-099
Paula Parla
ZGT-190
Juan Toledo
ZGT-099
Paula Parla
ZGT-099
PILOTOS
AVIONES(AVIN)
AVIN
ZGT-090
ZGT-099
ZGT-190
AVIONES(AVIN)
AVIN
AVIONES
PILOTOS
Paula Parla
195
196
Algebra Relacional
- Operadores relacionales
- Seleccin ()
- Proyeccin ()
- Concatenacin (ZY) (Natural Join)
- Divisin (/)
197
MDULO C
OBJETIVOS
UNIDAD DIDCTICA 2
ndice de la unidad:
x
x
Las operaciones que se pueden hacer sobre la base de datos son las
siguientes:
- Altas
- Bajas
operaciones son:
- Modificaciones
- Consultas
SELECT
operaciones
se
expresan
mediante
lenguajes
de
manipulacin
PELCULA
Cod_pelcula
Ttulo
Entrevista con un Vampiro
Fecha_estreno
1/5/1997
202
PELCULA
Cod_pelcula
Ttulo
1/5/1997
7/3/1998
necesitamos unir varias tablas para obtener un resultado. Las consultas las
Fecha_estreno
podemos dividir en consultas sobre una tabla y consultas sobre varias tablas.
Supongamos que tenemos la ejemplar del esquema relacional del videoclub
que aparece en la Figura 2.53:
Cod_pelcula
2
PARTICIPA
ACTOR
PELCULA
Ttulo
Abre los Ojos
Fecha_estreno
7/3/1998
Fecha_fin
Cod_actor
Nombre
Nacionalidad
TomCruise
Norteamericana
1/1/1996
1/3/1996
BradPitt
Norteamericana
4/3/1996
30/12/1996
PenlopeCruz
Espaola
1/5/1997
31/10/1997
JavierBardem
Espaola
1/5/1997
31/12/1997
PELCULA
Cod_pelcula
Ttulo
Fecha_estreno
EntrevistaconunVampiro
1/5/1997
AbrelosOjos
7/3/1998
UPDATE PELCULA
SET Fecha_estreno=25/3/1998
WHERE Ttulo =Abre los Ojos
PELCULA
Cod_pelcula
Ttulo
Fecha_estreno
1/5/1997
25/3/1998
204
SELECT *
FROM PELCULA
Cod _pelcula
Ttulo
Fecha_estreno
Ttulo
Fecha_estreno
1/5/1997
1/5/1997
7/3/1998
7/3/1998
Nombre
Titulo
Tom Cruise
Brad Pitt
Penlope Cruz
Javier Bardem
Seleccin de ciertos los atributos de una tabla que cumplen una determinada condicin:
SELECT Nombre
FROM ACTOR
WHERE Nacionalidad = Espaola
Nombre
Penlope Cruz
Javier Bardem
SELECT Nombre
unir las tablas1 que intervienen en la consulta. Esta unin se realiza por
206
Nombre
Tom Cruise
Brad Pitt
Penlope Cruz
Javier Bardem
hemos pretendido dar una visin general de las operaciones que se pueden
efectiva.
realizar sobre una base de datos, no obstante existen otras muchas funciones
que se pueden aplicar sobre los atributos de una o varias tablas para recuperar
curso.
207
208
209
210
introducir el cdigo de receta en LIBRO, lo que significara es que por cada libro
(Figura 2. 58).
Antonio slo sac una receta (recurdese que en el modelo relacional no puede
haber ms de un valor en cada celda de una tabla). El ISBN introducido en la
relacin RECETA es clave ajena de sta y referencia a la relacin LIBRO.
estar formada por los dos primeros atributos y de esta forma tendremos qu
por
tanto
contendr
los
mismos
atributos
que
cualquier
receta;
si
claves ajenas pueden hacerse en cascada, pues a lo nico que afectara sera a
ingrediente en s.
valor, nos dir de qu otra receta proviene (si no contiene ningn valor es
porque la receta correspondiente a la fila en la que este atributo no tiene valor
es una receta original).
Cod_receta_padre es una clave ajena de la relacin RECETA que se
referencia a s misma. Si eliminamos una receta que es una variacin de otra, no
debemos permitir que se borre la receta padre, por lo que el borrado debemos
considerarlo restringido (DR), en cambio la modificacin de una receta
211
212
LIBRO
84-404-9666-4
84-324-8776-3
84-403-6999-5
DC/UC
COMPUESTA ( Cod_ingrediente, Cod_receta, Cantidad)
DC/UC
Autor
Ttulo
ISBN
K.C.Chin
Karlos Arguiano
Karlos Arguiano
RECETA
Cod_receta
Tipo
Fecha creacin
Ttulo original
ISBN
Cod_receta_padre
Pasta
8/3/1999
Cintas a la Crema
84-324-8776-3
Pasta
13/6/1999
84-324-8776-3
Pasta
26/6/1999
84-403-6999-5
10
Verduras
30/6/1999
Puerros con
bechamel
84-324-8776-3
Descripcin
-------
------
COMPUESTA
DR/UC
Cod_receta
INGREDIENTE
Cod_ingrediente
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
DC/UC
COMPUESTA (Cod_ingrediente, Cod_receta, Cantidad)
DC/UC
INGREDIENTE Cod_ingrediente, Nombre)
(
213
214
Nombre
Cintas
Yemas de huevo
Queso rallado
Nata lquida
Brecol
Anchoas
Aceitunas negras
Lonchas de queso
Coliflor
Espinacas
Puerros
Zanahorias
Judas verdes
Ajos
Pimientos
Bechamel
7
7
7
7
8
8
8
8
8
9
9
9
9
9
9
9
9
9
9
9
10
10
10
10
Cod_ingrediente
4
5
6
7
4
8
9
10
11
4
8
9
10
11
12
13
14
15
16
17
14
18
19
6
Cantidad
300 grs.
4
---1 vasito
200 grs.
250 grs.
8
1 puado
4
200 grs.
250 grs.
8
1 puado
4
200 grs.
200 grs.
100 grs.
100 grs.
100 grs.
1 diente
6
6 medianos
1/2 litro
50 grs.
- Consultas de unin:
1. Recetas en las que intervienen las Lonchas de queso
- Consultas de seleccin
junio de 1999.
de queso
SELECT *
FROM LIBRO
SELECT Tipo, Descripcin, Fecha_creacin, Ttulo_original,
Cantidad
FROM RECETA, COMPUESTA, INGREDIENTE
WHERE Nombre = Lonchas de queso AND
INGREDIENTE.Cod_ingrediente = COMPUESTA. Cod_ingrediente
AND COMPUESTA.Cod_receta = RECETA.Cod_receta
Resultado:
LIBRO
Autor
Ttulo
ISBN
84-404-9666-4
84-324-8776-3
84-403-6999-5
K.C.Chin
Karlos Arguiano
Karlos Arguiano
Resultado:
Cantida
d
4
Pasta
Descripcin
Tipo
junio de 1999
Resultado:
RECETA
Descripcin
Ttulo_original
Resultado:
215
216
Ttulo
Descripcin
3.
Ttulo original
Puerros con
bechamel
Resultado:
Nombre
Cintas
Yemas de huevo
Queso rallado
Nata lquida
donde:
Cantidad
300 grs .
4
---1 vasito
217
218
UNIVERSIDAD
empleados.
Tablas:
3.2 Valores para las tablas de las BD que nos servirn de ejemplo
UNIVERSIDAD
Alumno
cod_matricula
101
102
202
300
103
Nombre
Juan Montero
Alicia Cristobal
Ana Vallejo
Ignacio Lpez
Leticia Martnez
Grupo
Cod_grupo
BIBLIOTECA
Ciudad
Alcorcn
Legans
Legans
Mstoles
Alcorcn
cod_grupo
11
11
21
31
--
Turno
Curso
Tablas:
11
12
21
22
31
Profesor
Cod_profesor
1p
2p
3p
4p
5p
6p
7p
EMPRESA
Tablas:
Empleado(nombre, numero_dept, salario, fecha_nac, ext_telefnica)
Departamento(numero_dept, nombre)
219
220
1
1
2
2
3
Nombre
D. Cuadra
E. Nieto
P. Martnez
C. Nieto
A. Sierra
C. Garca
J. Montero
M
T
M
T
T
Ciudad
Madrid
Las Rozas
Alcorcn
Madrid
Madrid
Madrid
Madrid
Categora
T1
T2
T1
T2
T3
T1
T3
Salario
200.000
250.000
225.000
150.000
120.000
135.000
125.000
Impartir
Cod_grupo
11
11
21
31
Cod_profesor
1p
2p
1p
2p
Asignatura
Intr. Informtica
SGBD
Ficheros y BD
Diseo de BD
Escribe
Nombre
Miguel de Cervantes
Emily Bronte
Isaac Asimov
Christian Jacq
Christian Jacq
Ken Follet
Paloma Martnez
P. Isasi
D. Borrajo
Horas
20
15
12
20
BIBLIOTECA
Autor
Nombre
Miguel de Cervantes
Emily Bronte
Isaac Asimov
Christian Jacq
Ken Follet
Paloma Martnez
P. Isasi
D. Borrajo
Fecha_nac
9-10-1547
2-9-1818
23-4-1930
30-6-1947
5-8-1949
2-9-68
3-4- 66
23-8-65
Documento
Cod_documento Ttulo
11
El Quijote
12
Cumbres Borrascosas
Nacionalidad
Espaola
Inglesa
Americana
Francesa
Inglesa
Espaola
Espaola
Espaola
Tipo_documento
Novela
Novela
EMPRESA
Empleado
Nombre
Pablo Montero
Beatriz Cristobal
J.Luis Martn
Almudena Lpez
Angel Vallejo
Pedro Garca
Precio Num_copias
5000
22
4000
12
13
14
2000
2000
15
10
15
Introduccin a la
Divulgativo
ciencia
Los Pilares de la Tierra Novela
Gramticas, Lenguajes Tcnico
y Autmatas
4500
13
6000
3500
7
6
16
17
Cod_documento
11
12
15
13
14
16
17
17
17
Departamento
Numero_dept
11
13
14
221
222
Numero_dept
14
13
11
13
14
11
Salario
220.000
300.000
150.000
350.000
400.000
200.000
Fecha_nac
10-11-67
20-9-68
25-6-77
4-5-60
15-4-72
12-3-70
Nombre
Contabilidad
Marketing
Informtica
Ext_telefnica
6543
6577
6433
6422
6321
6323
Resultado:
Nombre
Isaac Asimov
Miguel de Cervantes
Paloma Martnez
P. Isasi
D. Borrajo
Christian Jacq
Emily Bronte
Ken Follet
Nacionalidad
Fecha_nac
Americana
Espaola
Espaola
Espaola
Espaola
Francesa
Inglesa
Inglesa
23-4-1930
9-10-1547
2-9-68
3-4- 66
23-8-65
30-6-1947
2-9-1818
5-8-1949
Resultado:
Ttulo
El Quijote
Cumbres Borrascosas
La Pirmide Asesinada
La Ley del Desierto
Tipo_documento
Novela
Novela
Novela
Novela
Precio *1,15
5750
4600
2300
2300
Introduccin a la ciencia
Los Pilares de la Tierra
Gramticas, Lenguajes y
Autmatas
Divulgativo
Novela
Tcnico
5175
6900
4025
3.3.3
3.3.2
224
Resultado:
Nombre
Miguel de Cervantes
Paloma Martnez
P. Isasi
D. Borrajo
Nacionalidad
Espaola
Espaola
Espaola
Espaola
Fecha_nac
9-10-1547
2-9-68
3-4- 66
23-8-65
SELECT *
FROM alumno
WHERE cod_matricula BETWEEN 200 AND 400
Resultado:
cod_matricula
202
300
nombre
Ana Vallejo
Ignacio Lpez
ciudad
Legans
Mstoles
cod_grupo
21
31
SELECT nombre
FROM autor
WHERE nacionalidad <> alemana AND fecha_nac> 02/09/1945
Resultado:
Resultado:
Nombre
Christian Jacq
Ken Follet
Paloma Martnez
P. Isasi
D. Borrajo
cod_matricula
103
SELECT nombre
FROM autor
WHERE nacionalidad IS NOT NULL
Resultado:
SELECT *
FROM alumno
WHERE ciudad IN (Getafe, Legans)
Nombre
Miguel de Cervantes
Emily Bronte
Isaac Asimov
Christian Jacq
Ken Follet
Paloma Martnez
P. Isasi
D. Borrajo
Resultado:
nombre
Alicia Cristobal
Ana Vallejo
ciudad
Alcorcn
cod_matricula
102
202
nombre
Leticia Martnez
ciudad
Legans
Legans
cod_grupo
11
21
225
226
cod_grupo
--
SELECT *
FROM autor
WHERE nombre LIKE I%
Resultado:
Nombre
Isaac Asimov
Fecha_nac
23-4-1930
Nacionalidad
Americana
empresa.
Resultado:
Resultado:
Nacionalidad
Espaola
Inglesa
Americana
Francesa
Nmero de Empleados
6
3.3.4
A las funciones que en vez de actuar sobre una solo fila actan
sobre un grupo de filas se las denomina funciones de grupo y
devuelven un solo valor por cada grupo. El argumento de estas
227
228
Media
270.000
Mnimo
150.000
Resultado:
Mximo
400.000
Tipo_documento
Novela
Divulgativo
Tcnico
SUM(precio)
19.000
4500
3500
AVG(precio)
3800
4500
3500
Resultado:
Ejemplo 16: calcular la suma de los precios y el precio
2
2
de 1970?
SELECT SUM(precio), AVG(precio), tipo_documento
FROM documento
GROUP BY tipo_documento
Resultado:
Resultado:
Tipo_documento
Novela
Divulgativo
Tcnico
Nmero de Empleados
3
El grupo por defecto es la tabla entera. Si se quiere dividir la tabla
en grupos se utiliza GROUP BY con la que se especifican la(s)
columna(s) por las que se quiere agrupar.
SUM(precio)
19.000
4500
3500
AVG(precio)
3800
4500
3500
curso
230
GROUP BY curso
Ejemplo 20: Hallar para cada categora de profesorado
Resultado:
de
Madrid
el
sueldo
mximo
mnimo
ordenado
por
Curso
1
2
3
COUNT(*)
2
2
1
Resultado:
Categora
T1
T3
Resultado:
MAX(salario)
200.000
125.000
MIN(salario)
135.000
120.000
Curso
3
3.4 Consultas basadas en ms de una tabla
Ejemplo 19: media del nmero de copias de los
Hasta ahora slo hemos seleccionado datos de una nica tabla. Por
medio de la combinacin de tablas se pueden seleccionar datos
de tablas diferentes.
La unin de dos tablas es otra tabla que tiene por columnas la unin
de las columnas de las dos y por filas el producto cartesiano (cada
fila de la primera tabla se concatena con todas y cada una de las
filas de la otra). Tendr que haber una condicin de combinacin
para restringir las filas del producto cartesiano que realmente nos
interesan.
Resultado:
Tipo_documento AVG(num_copias)
Novela
13,2
Divulgativo
13
Tipos de combinacin:
x - Producto cartesiano: sin restricciones
232
Resultado:
Nombre
Miguel de Cervantes
Paloma Martnez
P. Isasi
D. Borrajo
Nacionalidad
Espaola
Espaola
Espaola
Espaola
Cod_documento
11
17
17
17
Para las combinaciones no comunes se puede utilizar >, <, >=, <>,
BETWEEN AND. Se pueden unir tantas tablas como se quiera
pero siempre deber haber n-1 condiciones de combinacin para
que la informacin sea coherente (n= nmero de tablas).
puede
estar
escrito
por
varios
autores).
Nombre
Miguel de Cervantes
Emily Bronte
Isaac Asimov
Christian Jacq
Christian Jacq
Ken Follet
Paloma Martnez
P. Isasi
D. Borrajo
Nacionalidad
Espaola
Inglesa
Americana
Francesa
Francesa
Inglesa
Espaola
Espaola
Espaola
Cod_documento
11
12
15
13
14
16
17
17
17
Resultado:
Nombre
Miguel de Cervantes
Emily Bronte
Isaac Asimov
Christian Jacq
Christian Jacq
233
234
Tipo_documento
Novela
Novela
Divulgativo
Novela
Novela
Ken Follet
5-8-1949
Inglesa
16
Paloma Martnez
2-9-68
Espaola
17
P. Isasi
3-4- 66
Espaola
17
D. Borrajo
23-8-65
Espaola
17
Los Pilares de la
Tierra
Gramticas,
Lenguajes y
Autmatas
Gramticas,
Lenguajes y
Autmatas
Gramticas,
Lenguajes y
Autmatas
Novela
Pedro Garca
200.000 6321
Angel Vallejo
Tcnico
Tcnico
Tcnico
Resultado:
Empleado
Nombre
Pablo Montero
Beatriz Cristobal
J.Luis Martn
Almudena Lpez
Angel Vallejo
Pedro Garca
Numero_dept
14
13
11
13
14
11
Salario
220.000
300.000
150.000
350.000
400.000
200.000
Fecha_nac
10-11-67
20-9-68
25-6-77
4-5-60
15-4-72
12-3-70
Ext_telefnica
6543
6577
6433
6422
6321
6323
Jefe
Beatriz Cristobal
-Beatriz Cristobal
Angel Vallejo
-Angel Vallejo
Resultado:
Nombre
Pablo Montero
Beatriz Cristobal
J.Luis Martn
Almudena Lpez
Angel Vallejo
Salario
220.000
300.000
150.000
350.000
400.000
Ext_telefnica
6577
-6577
6321
--
Jefe
Beatriz Cristobal
-Beatriz Cristobal
Angel Vallejo
-235
236
Nombre
D. Cuadra
E. Nieto
P. Martnez
Resultado:
Nombre
Miguel de Cervantes
Paloma Martnez
P. Isasi
D. Borrajo
Emily Bronte
Ken Follet
Nacionalidad
Espaola
Espaola
Espaola
Espaola
Inglesa
Inglesa
Resultado:
Nombre
C. Nieto
A. Sierra
C. Garca
J. Montero
Coordinador
Cod_coord
1p
2p
3p
Nombre
D. Cuadra
E. Nieto
P. Martnez
Ciudad
Madrid
Las Rozas
Alcorcn
Categora
T1
T2
T1
Salario
200.000
250.000
225.000
238
Las operaciones que se pueden hacer sobre la base de datos son: Altas,
bajas, modificaciones y consultas.
239