Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Tema02 SGBD PDF
Tema02 SGBD PDF
Informtica GRUPO A
2.1.
Conceptos
En este apartado se estudia un modelo de datos de alto nivel que nos permite disear el esquema
conceptual de una BD.
El modelo entidad-relacin se incluye a veces entre los modelos orientados a objetos por lo
nocin de distinguibilidad de entidades (similar a la identidad de objetos). Se basa en los
conceptos de: entidad, tipo de entidad, atributo y relacin.
Toda esta informacin se representar en los diagramas entidad-relacin.
Algunos conceptos y vocabulario que emplearemos en el resto del tema:
Entidad:
Def.: Menor objeto con significado en una instancia.
Por Ej.:, para el anlisis de la BD secretara, el alumno con los siguientes datos:
DNI = 01234567Z,
nombre y apellidos = Manuel Vzquez Prieto,
Telfono = 91-12345678
domicilio = Calle del Jazmn 7, 4 Izq.
COU = SI
constituye una entidad. Igual sucede con cada asignatura concreta, cada profesor, etc.
Intuicin: En el caso del enfoque clsico correspondera a cada registro guardado en un
fichero.
Atributo:
Def.: Componentes que determinan una entidad. Cada atributo tiene asociado un dominio:
Conjunto de valores que puede tomar.
Ej.: La entidad del Ej.: anterior viene determinada por los valores de sus atributos DNI,
Nombre y Apellidos, Telfono, Domicilio y COU.
Notacin: A veces, las entidades se representan como conjuntos de la forma
{atrib1=v1,...atribn=vn} donde cada atributo de la entidad aparece una y slo una vez.
Ej.: {DNI=01234567Z, nombre y apellidos = Manuel Vzquez Prieto, Telfono = 9112345678 ,
domicilio = Calle del Jazmn 7, 4 Izq, COU = SI}
Intuicin: En el enfoque clsico seran los campos de los registros.
Atributos monovalorados y multivalorados:
Def.: Se llaman atributos multivalorados a aquellos que pueden contener ms de un valor
simultneamente, y monovalorados a los que slo pueden contener un valor.
Ej.:
Una persona puede tener varios nmeros de telfono (casa, trabajo, mvil) y puede que nos
interese tenerlos todos. En este caso haremos de telfono un atributo multivalorado.
Atributos simples y compuestos:
Def.: Se dice que un atributo es compuesto cuando puede descomponerse en otros
componentes o atributos ms pequeos, y simple en otro caso.
Ej.:
En el caso del domicilio puede que nos interese descomponerlo a su vez en calle, el nmero
y la ciudad por separado.
Clave:
Def: Atributo o conjunto de atributos cuyos valores identifican unvocamente cada entidad.
Ej.: DNI es un atributo clave de la entidad Alumno.
Tipo de entidad:
Es el conjunto de entidades que comparten los mismos atributos (aunque con diferentes
valores para ellos).
Ej.: En nuestro caso Alumnos ser un tipo de entidad que representa cualquier
multiconjunto de entidades en el que todas tengan como conjunto de atributos {DNI,
Nombre y Apellidos, ...} y valores dentro de los dominios correspondientes. Asignaturas
ser otro tipo de entidad, etc.
Intuicin: En el enfoque clsico sera el tipo de los registros. Estamos describiendo el
esquema.
Relaciones:
Def: Conjuntos de la forma {(e1, ..., en) | e1 E1, e2 E2, ..., en En} con ei entidades y
Ei conjuntos de entidades del mismo tipo.
Ej.: Sea {a1, a2, a3, a4} un conjunto de entidades de tipo alumno (i.e. alumnos concretos) y
{b1,b2,b3} 3 asignaturas concretas. Una posible relacin: {(e1,b1), (e2,b1), (e1,b2) }
diciendo que e1 est matriculado tanto en b1 como en b2 y e2 en b1.
Tipos de relacin:
Representan a todas las posibles relaciones entre conjuntos del mismo tipo. Se identifican
mediante los tipos de entidades que relacionan (y los atributos si tienen). Es el producto
cartesiano E1xE2x...xEn, siendo Ei conjuntos de entidades.
Ej.: El tipo de relacin matrcula relaciona el tipo de entidad alumnos con el tipo de entidad
asignaturas.
Observacin: Las relaciones tambin pueden tener atributos.
Cuando un mismo tipo de entidad aparece 2 o ms veces en un tipo de relacin se asigna un
nombre a cada papel que hace el tipo de entidad en el tipo de relacin.
Ej.: En el Ej.: de secretara, algunos profesores tienen un supervisor, por lo que definiremos
un tipo de relacin supervisa que va de profesores a profesores, el primero (por Ej.:) tendr
el papel de supervisor y el segundo de supervisado.
Jerarquas Isa:
Def: Se dice A isa B si el conjunto de entidades B es una generalizacin del conjunto de
entidades A. attrib(B)attrib(A). A hereda de B (en el mismo sentido de la programacin
orientada a objetos).
Atributos clave prestados (borrowed key attributes)
En una jerarqua Isa A isa B, los atributos clave de A pueden serlo tambin de B.
Notacin:
En el diseo del modelo E-R se describen tipos (de entidades y de relaciones).
Cada tipo representa a un conjunto (de multiconjuntos de entidades o de relaciones). Sin
embargo, a menudo diremos cosas del estilo:
a) sea R un tipo de relacin y (a1,a2) R Esto es un abuso de notacin que se puede traducir
como:
b) sea R un tipo de relacin, r una relacin de tipo R cualquiera y (a1,a2) ) r.
Sin embargo utilizaremos la notacin a) porque est claro en que caso R representa un tipo o
una relacin cualquiera del tipo.
Observaciones:
El diseo del modelo E-R a partir del anlisis inicial NO es directo. A un mismo anlisis le
corresponden muchos diseos candidatos.
Cul escoger? Muchos criterios, ninguno definitivo.
De un buen diseo depende:
- eficiencia: Muy importante en las BD (grandes cantidades de datos).
- simplicidad del cdigo: Menos errores
- flexibilidad: Fcil de modificar
Atributos: Elipses. Se conectan mediante lneas a los tipos de entidades o tipos de relacin.
Telfono
Alumnos
Nmero
Ciudad
Domicilio
Alumnos
Matricul
Asignaturas
Calle
Apell. y Nombre
Nmero
Domicilio
Ciudad
Telfono
COU
Cdigo
Nm.
Crditos
Ttulo
DNI
Alumnos
Matrcula
Asignaturas
Nota
Supervisa
Supervisor
Supervisado
Profesores
Aulas
Imparte
DNI
Apellidos y Nombre
Domicilio
Telfono
Edificio
Nmero
2.4 Restricciones
Con los elementos anteriores tenemos una primera aproximacin a los diagramas ER, en la que
tenemos definidos los elementos principales de los diagramas. Sin embargo, en el modelo ER
tambin se pueden definir numerosas restricciones sobre los tipos de entidades y tipos de
relaciones.
Ej.: En la relacin supervisa un profesor puede tener a lo sumo un supervisor, pero el diagrama
anterior permite
SUPERVISOR
SUPERVISADO
({DNI=666666,}, {DNI=444444,})
({DNI=000001,}, {DNI=444444,})
Que no debera ser una instancia vlida de la relacin.
Def:
Las restricciones son propiedades que se asocian a un tipo de entidad o de relacin.
Las instancias vlidas del tipo de entidad o relacin son aquellas en las que se verifique el
conjunto de restricciones asociadas.
Observaciones:
Las restricciones son parte del diseo de la BD igual que los tipos de entidades o de relaciones.
Los SGBD se encargan de comprobar que la instancia verifica las restricciones ms usuales.
Ej.: En el caso anterior, una vez incluida la restriccin, el SGBD no nos permitira insertar la
segunda tupla.
R
Nacida
Personas
Pas
Cada persona tiene un nico pas de nacimiento, es decir, fijada una persona, existe un
pas,
Por lo que parece lgico poner la restriccin =1 para el tipo de entidad pas en el tipo de
relacin nacida. Sin embargo, fijado un pas hay una cantidad no determinada en
general de personas nacidas all, por lo que no ponemos ninguna restriccin sobre el
tipo de entidad personas.
2. Fijado un alumno puede haberse matriculado en cualquier nmero de asignaturas no hay
restriccin sobre asignatura en la relacin matrcula.
Fijada una asignatura, puede haberse matriculado sobre ella un nmero cualquiera de
alumnos no hay restricciones sobre el tipo de entidad alumnos en la relacin matrcula.
3. El supervisor de un profesor, si lo tiene, es nico. El tipo de entidades profesor, en el papel
supervisor tiene cardinal <=1. El tipo de entidades profesor, en el papel supervisado no
tiene ninguna restriccin de cardinal: un profesor puede supervisar a un nmero
indeterminado de profesores.
4. Tipo de relacin imparte:
Dado un profesor y una asignatura, existe a lo sumo (si es profesor de la asignatura) un
aula en la que se imparte clase. Restriccin de cardinal para aulas: <= 1.
Dada una asignatura y un aula, puede haber varios profesores (ej.: uno de maana y otro
de tarde) o ninguno.
NOTA: Durante el diseo de la BD se nos plantean problemas que no estaban aclarados desde
el principio y que nos haban pasado inadvertidos:
Dado un profesor y un aula, puede ser que el profesor imparta varias asignaturas en ese
aula, o ninguna.
Diagramas ER
Hay dos formas de expresar las restricciones de cardinalidad sobre tipos de relaciones en los
diagramas:
O bien poniendo la restriccin directamente sobre la lnea (=1, <= 10) o, ms comn:
a) Restricciones de una a muchas, de muchas a una , de una a una
Concepto:
Dado un tipo de relacin R entre tipos de entidad E1, E2, ., En se puede especificar una
restriccin de cardinalidad distinguiendo si el tipo de entidad tiene restriccin <= 1 o =1
diremos que participa con cardinalidad una o no tiene ninguna restriccin (cardinalidad
muchas).
Si A participa con cardinalidad una en el tipo de relacin R lo representaremos:
A
El caso de muchas se representa con una lnea sin flecha (como hasta ahora, porque no tiene
restriccin).
Ej.:s
1.
R
Nacida
Personas
Pas
O bien
R
Nacida
Personas
=1
Pas
3. Profesores y supervisores:
Profesor
Supervisado
Supervisor
Supervisa
Imparte
Profesor
Aula
Existen otras formas alternativas de mostrar la participacin, por ejemplo mostrar las
relaciones 1 a 1 poniendo un 1 sobre cada extremo de la lnea, o un 1 y un smbolo
para relaciones de una a muchas.
2.4.2
Sea r una relacin definida sobre los tipos de entidades E1, , Em y sea Ej {E1,Em}:
Participacin:
Def.: Se dice que la participacin de la entidad e Ej en r es n ( n N) si e Ej aparece en
n tuplas de la relacin.
Participacin total:
Def.: Se dice que Ej tiene participacin total en r si cada entidad ej Ej se encuentra en
alguna tupla de r. En otro caso se dice que la participacin es parcial.
Asignatura
Imparte
(0,6)
Profesor
Aula
Matrcula
Asignatura
2.4.3
Las entidades deben poder distinguirse unas de otras a travs de los valores de sus atributos.
Interesa encontrar un conjunto de atributos lo ms pequeo posible que nos permita distinguir
unas entidades de otras. Estos conjuntos sern las claves.
Superclave.
Def.: Dado un tipo de entidades E en una BD, se llama superclave a cualquier conjunto de
atributos que permita distinguir a todas las entidades de cualquier instancia vlida de E en la
BD.
Si alguno de los atributos de la superclave corresponde a otro tipo de entidad F se debe
verificar:
- E y F deben participar en un tipo de relacin binaria R en la que F debe tener una
restriccin de cardinalidad <= 1.
- Los atributos que F aporta para la clave candidata de E deben ser atributos de una clave
candidata de F.
- La participacin de E en R debe ser total.
Observacin:
La segunda parte de la Def.: se refiere al caso particular de los tipos de entidades dbiles
que explicaremos ms adelante. En general los atributos de la superclave pertenecen al tipo
de entidad.
Ejs.:
- En el caso de alumnos, el conjunto {telfono} NO es una superclave, porque puede
haber varias personas con el mismo nmero de telfono (ej. 2 hermanos). Tampoco
podemos tomar como superclave ApellidosyNombre porque puede repetirse. Una
posible superclave es {DNI}.
- El caso de profesores es anlogo al anterior
- Para asignaturas tenemos en principio 2 superclaves {ttulo} y {cdigo}.
- Para aulas la nica superclave es {Edificio, nmero}.
Propiedad:
Si S es una superclave y S S, entonces S superclave
Ej.:
En el caso de asignaturas tenemos en realidad 6 superclaves
{ttulo} , {cdigo}, {ttulo, nm.creditos}, {cdigo, nm.crditos}, {ttulo, cdigo}, {ttulo,
cdigo, nm.creditos}.
Clave candidata.
Def.: Se llama clave candidata de un tipo de entidad a una superclave que no contiene
ningn subconjunto que tambin sea superclave. (Conjunto mnimo de atributos que forma
una superclave).
Clave primaria.
Se llama clave primaria a la clave candidata seleccionada por el diseador para distinguir
entre las entidades de cada instancia.
Ejs.:
En el caso de alumnos tenemos una nica clave candidata {dni} que ser tambin la clave
primaria.
En el caso de profesores es idntico: tenemos una nica clave candidata {dni} que ser
tambin la clave primaria.
En el caso de asignaturas tenemos dos claves candidatas {cdigo} y {ttulo}. Elegimos
como clave primaria {cdigo}, porque:
1) es posible que en el futuro haya dos asignaturas con el mismo ttulo (ej. : cambio de
planes de estudio) pero parece sensato obligar a que siempre tengan cdigos distintos.
Diagramas ER
En los diagramas ER los atributos de la clave primaria se representan con sus nombres
subrayados.
2.4.4 Tipos de entidad dbiles
Un tipo de entidades que no tiene suficientes atributos para formar una clave primaria se
denomina tipo de entidades dbil.
Ej.:
Supongamos que estamos diseando una BD para CDs de msica. Vamos a utilizar la siguiente
informacin:
CD : Ttulo del CD, intrprete, nm. serie
Cancin: Ttulo, duracin
Tambin deseamos relacionar las canciones con el CD al que pertenecen. Esta relacin ser de
muchas a una entre canciones y CDs (a cada cancin le corresponde un CD).
canciones
ttulo
en
duracin
CDs
Nm.serie
ttuloCD
intrprete
Ahora bien:
El nm.serie del CD no se puede repetir en dos CDs diferentes.
En cambio, en diferentes CDs puede aparecer la misma cancin (mismo ttulo) y puede darse
(desgraciada casualidad) con la misma duracin.
Por Ej.: supongamos que la cancin Only You aparece en un CD de The Platters y
en un CD de Cranberries y con la misma duracin. Sin embargo, son canciones diferentes
(diferentes intrpretes), es decir, entidades diferentes:
{ {ttulo=Only You, Duracin=230}, { ttulo =Only You, Duracin=230}} (
multiconjunto! )
Por tanto {ttulo, duracin} no es superclave y el tipo de entidad no puede tener una clave
primaria formada slo por sus atributos.
Sin embargo, si incluimos el nm de serie del CD en la clave s que tendremos una superclave,
clave candidata y clave primaria.
Clave primaria del tipo de entidad canciones: {nm.serie, ttulo, duracin} .
Utilidad de las entidades dbiles
Tambin queremos relacionar cada cancin con su autor o autores. Un autor viene dado por su
DNI que no puede repetirse.
compositores
DNI
Autor
canciones
ttulo
CDs
en
duracin
Nm.serie
ttuloCD
intrprete
Diagrama ER
Los tipos de entidad dbiles se representan con rectngulos dobles, y el tipo de relacin
(o los tipos) que permiten formar la clave se indican con un doble rombo.
canciones
ttulo
CDs
en
duracin
Nm.serie
ttuloCD
intrprete
2.5.1
Generalizacin
Def.:
Un tipo de entidades E es una generalizacin de un tipo de entidades R cuando los atributos de
E estn incluidos en los atributos de R.
Ejs.:
El tipo de entidades personas con atributos DNI, ApellidosyNombre y domicilio es una
generalizacin de alumnos (que tiene adems el atributo COU).
El tipo de entidades personas con atributos DNI, ApellidosyNombre y domicilio es una
generalizacin de profesores.
Un tipo de entidades pelcula puede ser una generalizacin de los tipos de entidades
musical, documental, melodrama
Observacin:
La idea de generalizacin est prxima a la de herencia en la programacin orientada a objetos.
Diagramas EER
La generalizacin se representa con un tringulo que incluye el texto is a
DNI
Apellidos y Nombre
Domicilio
Telfono
personas
is a
COU
alumnos
2.5.2
profesores
Agregacin
Casa
Partido
Resultado
rbitros
Sin embargo, si es necesario incluir las empresas que publicitan sus productos en un partido,
cmo se logra?
Sera necesario introducir un tipo de entidad Empresas y un tipo de relacin Anuncia. Anuncia
debera relacionar Empresas con Partidos, pero no existe esta entidad.
Posibilidad: una nueva entidad ternaria entre Equipos y Empresas, pero esto dara lugar a
redundancia en los atributos de Partido.
Solucin: una agregacin denominada Partidos, que se tratar como un tipo de entidad y que
puede relacionarse con Empresas.
Partidos
Equipos
Fuera de casa
Casa
Juega
con
Resultado
Anuncia
Arbitra
Empresas
rbitros
Diagrama ER completado
Calle
Apell. y Nombre
Nmero
Domicilio
Ciudad
Telfono
COU
Cdigo
Nm.
Crditos
Ttulo
DNI
Alumnos
Matrcula
Asignaturas
Nota
Supervisa
Supervisor
Supervisado
Profesores
Aulas
Imparte
(0,6)
DNI
Apellidos y Nombre
Domicilio
Telfono
Edificio
Observaciones:
- Adems de representar el diagrama se deben indicar todas las suposiciones que se han
realizado (las especificaciones nunca son completas).
2.6 Conclusiones
Modelo ER
|
|
|
V
SGBD
Modelo ER
|
modelo X (ej. relacional)
|
V
SGBD
Nmero