Você está na página 1de 38

TEMA 5

DISEÑO DE UNA BASE DE DATOS

1. Fases de diseño de una BD . . . . . . . . . . . . . . . . . . . 2

2. Captación y análisis de requerimientos . . . . . . . . . 3

3. Diseño conceptual de la BD . . . . . . . . . . . . . . . . . . . 5

4. Diseño lógico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

5. Ejemplos de diseño lógico . . . . . . . . . . . . . . . . . . . . 29

6. Diseño fı́sico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

1
Fases de diseño de una BD

Realizar les fases de diseño de una BD sobre un ejemplo


de BD bancaria, utilizando el modelo conceptual E-R y
el modelo relacional.

FASES:

1. Captación y análisis de requerimientos

2. Diseño conceptual de la BD

3. Diseño lógico

4. Diseño fı́sico

2
1. Captación y análisis de requerimientos

Especificaciones obtenidas a partir de entrevistas con


los usuarios.

Requisitos de datos:

• El banco está organizado por sucursales.


Cada sucursal éstá en una única ciudad, identificada por un
nombre único.
El banco controla los activos de cada sucursal.

• Los clientes se identifican por DNI.


El banco almacena el nombre, calle y ciudad de sus clientes.
Clientes pueden tener cuentas y pueden solicitar préstamos.
Cliente puede estar asociado con un empleado particular, como
responsable del préstamo o como banquero personal.

• Los empleados se identifican por DNI.


El banco almacena el nombre y teléfono del empleado, nom-
bres de los subordinados que tiene y el DNI de su jefe, ası́
como la fecha en que lo contrataron y el tiempo que lleva
trabajando.

3
• El banco tiene dos tipos de cuentas: corriente y de ahorro.
Las cuentas pueden asociarse a más de un cliente, y un cliente
puede tener más de una cuenta.
Cada cuenta tiene un número único.
Banco mantiene el saldo de la cuenta y la fecha de acceso
más reciente.
Cada cuenta de ahorro almacena un tipo de interés y cada
cuenta corriente almacena su descubierto.

• Un préstamo se realiza en una sucursal particular y puede estar


asociado a uno o más clientes.
Un préstamo se identifica con un número único de préstamo.
Banco mantiene el importe del préstamo y los pagos realiza-
dos.
Por cada pago se guarda el número de pago, la fecha y el
importe.
Número de pago identifica un pago particular de un préstamo
concreto.
Número de pago de un préstamo no identifica de forma única
el pago entre todos los pagos de préstamos realizados en el
banco.

En un banco real además se mantiene información sobre


los movimientos de las cuentas corrientes y de ahorro
(abonamientos y cargos), que para simplificar el modelo
no se tiene en cuenta.

4
2. Diseño conceptual de la BD

Se diseña un esquema E-R con las especificaciones an-


teriores, que consta de una colección de ENTIDADES
y RELACIONES descritos en un DIAGRAMA E-R.

ENTIDADES:

• CLIENTE(Nombre-Cliente,DNI,Calle-Cliente,Ciudad-Cliente)

• EMPLEADO(DNI-E, Nombre-Empleado, Número-Teléfono,


Sueldo, Jefe, Nombre-Subordinado,Fecha-Inicio,Antigüedad)
con
– Nombre-Subordinado: Atributo multivalorado.
– Antigüedad: Atributo derivado de Fecha-Inicio.

• CUENTA(Número-Cuenta,Saldo) con subgrupos


– CUENTA-AHORRO(Tipo-Interés)
– CUENTA-CORRIENTE(Descubierto)

• SUCURSAL(Nombre-Sucursal,Ciudad-Sucursal,Activos)

• PRÉSTAMO(Número-Préstamo,Importe) con entidad débil


– Préstamo-Pago(Número-Pago,Fecha-Pago, Importe-Pago)

5
INTERRELACIONES:

• PRESTATARIO: Interrelación n−n entre CLIENTE y PRÉSTAMO


Expresa que un cliente puede tener n préstamos y que un
préstamo puede tener n clientes que lo hayan solicitado.

• PRÉSTAMO-SUCURSAL: Interrelación n−1 entre PRÉSTAMO


y SUCURSAL
Expresa que un préstamo está en una única sucursal, y que
una sucursal puede tener n préstamos.

• IMPOSITOR(Fecha-Acceso): Interrelación n−n entre CLIENTE


y CUENTA
Expresa que un cliente tiene n cuentas y una cuenta puede
ser compartida por n clientes.

• BANQUERO-CONSEJERO(Tipo): Interrelación n − 1 entre


CLIENTE y EMPLEADO
Expresa que un cliente puede tener un único consejero, mien-
tras que un empleado puede aconsejar a n clientes.

• TRABAJA-PARA: Interrelación 1−n unaria entre EMPLEADO


con papeles:
– JEFE: Un empleado tiene un único jefe.
– TRABAJADOR: Un empleado(jefe) puede tener n traba-
jadores.

6
DIAGRAMA E-R:

7
3. Diseño lógico

Conversión del esquema E-R a un esquema relacional,


basado en relaciones y atributos.

 Conceptos de diseño muy


Model E-R 
parecidos, permetiendo
Model BD relacional  pasar fácimente de un
modelo a otro.

CONVERSIÓN DE UN ESQUEMA E-R A RELA-


CIONES:
Transformar diferentes elementos del modelo E-R a rela-
ciones preservando el nombre de los elementos E-R.
Passos:

(a) Conversión de entidades fuertes

(b) Conversión de entidades débiles

(c) Conversión de interrelaciones

(d) Conversión de atributos multivalorados

(e) Conversión de especializaciones (y generalizaciones)

(f) Conversión de agregaciones

(g) Normalización de las relaciones (tema 6)

8
(a) Conversión de entidades fuertes

Proposición: Sea E una entidad fuerte con atributos


a1 , a2 , . . . , an , con llave primaria CP (E) = ai . . . aj , con
ai , aj ∈ E,

la entidad E se representa mediante una relación E con


cabecera
{a1, a2 , . . . an }

y Clave Primaria

CP (Relación E) = CP (Entidad E) =
= {ai . . . aj }

Añadir una instanciación ≡ Insertar una tupla


a la entidad a la relación

9
Ejemplo: Entidad PRÉSTAMO.

se representa mediante la relación PRÉSTAMO

10
Ejemplo: Entidad CLIENTE.

se representa mediante la relación CLIENTE

11
(b) Conversión de entidades débiles

Proposició: Sea A una entidad débil con atributos a1 ,


a2 , . . . an , con discriminante ai . . . aj (ai , aj ∈ A), que de-
pende de la entidad fuerte B, con CP (B) = b1 , b2 , . . . bn ,

la entidad A se representa mediante la relación A con


cabecera
{a1 , a2 , . . . an } ∪ {b1 , b2 , . . . bn }

y clave primaria

CP (Relación A) = {ai . . . aj } ∪ {b1, b2 , . . . bn }

12
Ejemplo: Entidad PAGO(Número-Pago,Fecha-Pago, Importe-Pago)
con CP (PRÉSTAMO) = Número-Préstamo

se representa mediante la relación PAGO

13
(c) Conversión de interrelaciones

Proposición: Sea R una interrelación con a1 , a2, . . . an


la unión de las claves primarias de las entidades que
participan en R, y b1 , b2 . . . bn los atributos descriptivos
de la interrelación R,

la interrelación R se representa mediante la relación R


con cabecera

{a1 , a2, . . . an } ∪ {b1 , b2 . . . bn }

clave primaria

CP (R) = {a1 , a2 , . . . an }

y por cada entidad E que participa en R se define una


clave externa que referencia E como

CE(R → E) = {ai . . . aj }

siendo {ai . . . aj } los atributos de la relación R que cor-


responden a la CP (E).

14
Ejemplo: Interrelación PRESTATARIO sin atributos entre las enti-
dades CLIENTE y CUENTA, con CP (CLIENTE) = DNI y
CP (PRÉSTAMO) = Número-Préstamo.

Esta interrelación se representa mediante la relación PRESTATA-


RIO

CP (prestatario) = dni,numero-préstamo
CE(prestatario → cliente) = dni
CE(prestatario → préstamo) = numero-préstamo

Esquema relacional:

15
Casos especiales:

(c1) Redundancia de relaciones

(c2) Combinación de relaciones

16
(c1) Redundancia de relaciones

Interrelación sin atributos entre una entidad fuerte y una


entidad débil crea relaciones redundantes.

Proposición: Sea R una interrelación entre la entidad


fuerte B y la entidad débil A. La interrelación R se con-
vierte a las siguientes relaciones:
Entidad fuerte B(b1 , b2 . . . bn ) con CP (B) = (br , . . . bs )
↓ relación
B(b1 , b2 . . . bn ) con CP (B) = (br . . . bs )

Entidad débil A(a1 , a2 . . . am ) con discriminante DIS(A) = (ai . . . aj )


↓ relación
A(a1 , a2 . . . am , br . . . bs ) con CP (A) = (ai . . . aj , br . . . bs )

Interrelació R
↓ relación
R(ai . . . aj , br . . . bs ) con CP (R) = (ai . . . aj , br . . . bs )
CE(R → B) = (ai . . . aj )
CE(R → A) = (ai . . . aj , br . . . bs )


Relación R REDUNDANTE

EN CONSECUENCIA, La relación obtenida de una interrelación


entre una entidad fuerte y una débil NO SE GENERA, pues es
redundante.
Únicamente se generan las relaciones que provienen de la entidad
fuerte y débil.
La CE(R → B) se transmite a la relación A convertida en CE(A →
B)
CE(A → B) = (ai . . . aj )

17
Ejemplo: Interrelación PRÉSTAMO-PAGO

Entidad fuerte PRÉSTAMO con CP (PRÉSTAMO) = Número-Préstamo


↓ relación
PRÉSTAMO(Número-Préstamo,Importe) con
CP (PRÉSTAMO) = Número-Préstamo

Entidad débil PAGO con discriminante


DIS(PAGO) = Número-Pago
↓ relación
PAGAMENT(Número-Préstamo, Número-Pago,
Data-Pagament,Import-Pago)
con CP (PAGO) = Número-Préstamo,Número-Pago

Interrelación PRÉSTAMO-PAGO
↓ relación
PRÉSTAMO-PAGO(Número-Préstamo,Número-Pago) con
CP (PRÉSTAMO-PAGO) = Número-Préstamo,Número-Pago
CE(PRÉSTAMO-PAGO → PRÉSTAMO) = Número-Préstamo
CE(PRÉSTAMO-PAGO → PAGO) =
= Número-Préstamo,Número-Pago


Relación PRÉSTAMO-PAGO redundante
respecto relación PAGO
18
Ejemplo: Interrelación PRÉSTAMO-PAGO

↓ relaciones

19
(c2) Combinación de interrelaciones

Proposición: Dada una interrelación R de correspon-


dencia n − 1 entre dos entidades A y B, se definen tres
relaciones R,A,B.

Si la PARTICIPACIÓN de la entidad A en la interrelación


R es TOTAL (toda instanciación de la entidad A está
en la interrelación R), se pueden combinar las relaciones
A y R para crear una única relación formada por la unión
de los atributos de las dos relaciones.

Ejemplo: Interrelación CUENTA-SUCURSAL, de n − 1 entre las


entidades CUENTA y SUCURSAL,

Participación de CUENTA a CUENTA-SUCURSAL es TOTAL (un


cuenta no puede existir sin estar asociada a una sucursal).

Según la proposición anterior,

Entidades CUENTA, SUCURSAL e


interrelación CUENTA-SUCURSAL

↓ relaciones

SUCURSAL(Nombre-Sucursal,Ciudad-Sucursal,Activos)
COMPTE(Número-Cuenta,Saldo)
CUENTA-SUCURSAL(Número-Compte,Nom-Sucursal)

⇓ combinación

SUCURSAL(Nombre-Sucursal,Ciudad-Sucursal,Activos)
CUENTA(Número-Cuenta,Saldo,Nombre-Sucursal)

20
Ejemplo: Entidades CUENTA, SUCURSAL e interrelación
COMPTE-SUCURSAL

↓ relaciones

21
(d) Conversión de atributos multivalorados

Atributo simple de entidad ⇒ Atributo simple de una


relación.
Atributo multivalorado de una entidad ⇒ Relación.
Proposición: Dado un atributo multivalorado m en una
entidad o interrelación E, con CP (E) = a1 . . . ap ,
el atributo m se representa mediante la relación M con
cabecera
a1 . . . ap ∪ m
clave primaria
CP (M ) = a1 , . . . ap ∪ m
y clave externa
CE(M → E) = a1 . . . ap

donde cada valor del atributo multivalorado m corres-


ponde a una tupla de la relación M.
Ejemplo: Atributo Nombre-Subordinado en la entidad EMPLEADO

se convierte con una relación NOM-SUB(Nombre-Subordinado,DNI-


E) con CP(NOM-SUB)=DNI-E, Nombre-Subordinado y
CE(NOM-SUB → EMPLEADO)=DNI-E.

22
(e) Conversión de especializaciones
Dos métodos diferentes de conversión a relaciones, una
de ellas por el caso concreto de una especialización dis-
junta y completa.
Conversión de un único nivel de especialización.

(e1) Caso general


Proposición: Dada una entidad de alto nivel A con
atributos a1, a2 , . . . , an y CP (A) = ai , . . . aj , donde ai , aj ∈
A, y un conjunto de entidades de bajo nivel B (1) , B (2) , . . . B (p)
con atributos b(i) (i) (i) (i)
1 , b2 , . . . bm(i) para la entidad B , donde
m(i) es el número de atributos de la entidad B (i) ,
la entidad A se representa mediante la relación A con la
cabecera
{a1, a2 , . . . an }
y con clave primaria
CP (A) = {ai , . . . aj }

Para cada entidad de bajo nivel B (i) se crea una relación


B − i con cabecera
{ai . . . aj } ∪ {b(i)
1 , . . . b (i)
m(i)
}
clave primaria
CP (B − i) = {ai , . . . aj }
y clave externa que referencia A como
CE(B − i → A) = {ai , . . . aj }

23
Ejemplo: Entidad de alto nivel CUENTA con entidades de nivel
bajo CUENTA-CORRIENTE y CUENTA-AHORRO.

Se forman las relaciones siguientes:


CUENTA(Número-Cuenta,Saldo)

CUENTA-AHORRO(Número-Cuenta,Tipo-Interés)

CUENTA-CORRENT(Número-Cuenta,Descubierto)

con
CP (CUENTA) = CP (CUENTA-AHORRO) =
CP (CUENTA-CORRIENTE) = Número-Cuenta
CE(COMPTE-AHORRO → CUENTA) = Número-Compte
CE(COMPTE-CORRIENTE → CUENTA) = Número-Cuenta

Esquema relacional:

24
(e2) Especialización disjunta y completa

Proposición: Dada una entidad de alto nivel A con


atributos a1, a2 , . . . , an y CP (A) = ai , . . . aj , on ai , aj ∈ A,
y un conjunto de entidades de bajo nivel B (1), B (2) , . . . B (p)
con atributos b(i) (i) (i) (i)
1 , b2 , . . . bm(i) por la entidad B , donde
m(i) es el número de atributos de la entidad B (i) , y
suponiendo una especialización disjunta y completa,

para cada entidad de bajo nivel B (i) se crea una relación


B − i con cabecera

{a1 . . . an } ∪ {b(i) (i)


1 , . . . bm(i) }

y clave primaria

CP (B − i) = {ai . . . aj }

Si en esta conversión se aplica para los casos:

Especialización ⇒ REDUNDÁNCIA
solapada

Especialización ⇒ Pérdida de información


no completa (tuplas no representadas)

25
Ejemplo: Entidad de alto nivel CUENTA con entidades de nivel bajo
CUENTA-CORRIENTE y CUENTA-AHORRO, con generalización
DISJUNTA y COMPLETA.

Se forman las relaciones siguientes:


CUENTA-AHORRO(Número-Cuenta,Saldo,Tipo-Interés)

CUENTA-CORRIENTE(Número-Cuenta,Saldo,Descubierto)
con
CP (CUENTA-AHORRO) =
CP (CUENTA-CORRIENTE) = Número-Cuenta

Esquema relacional:

26
(f) Conversión de agregaciones
Proposición: Sea AG una interrelación con atributos
b1 . . . bw entre la entidad A(a1 . . . an ) con CP (A) = (ai . . . aj )
y la agregación G que consta de

• E1 . . . En , una colección de entidades dentro G.

• R1 . . . Rm una colección de interrelaciones en G, donde


la unión R0 (r10 . . . rs0 ) con CP (R0 ) = (rr0 . . . rt0 ) s’inter-
relaciona con AG.

La interrelación AG se representa mediante las siguien-


tes relaciones:

• Por cada entidad Ei en G se crea una relación E − i.

• Por cada interrelación Rj en G se crea una relación


R − j.

• Se define una relación AG con cabecera

{ai . . . aj } ∪ {rr0 . . . rt0 } ∪ {b1 . . . bw }

clave primaria
CP (AG) = {ai . . . aj } ∪ {rr0 . . . rt0 }
= CP (A) ∪ CP (R0 )
y claves externas
CE(AG → Ri ) = {rp0 . . . rq0 } = CP (Ri )
∀y = 1 . . . m p, q ∈ {r . . . t}

CE(AG → A) = {ai . . . aj } = CP (A)

27
Ejemplo: Interrelación RESPONSABLE-PRÉSTAMO entre la en-
tidad EMPLEADO y la agregación CPP.

Esquema relacional:

28
Exemples de disseny lògic

Exemple 1.1: Secretaria Universitat

Esquema E-R:

Codi-A Horari
Aula Nota
Nom-P DNI-P Nom-A DNI-E Nom-E

Professor imparteix Estudiant

Esquema Relacional:

29
Exemple 1.2: Secretaria Universitat

Esquema E-R:

Esquema Relacional:
ASSIGNATURA
Codi-A
Nom-A
Aula
PROFESSOR Horari
DNI-P DNI-P
Nom-P

ESTUDIANT ESTUDIA
DNI-E DNI-E
Nom-E Codi-A
Nota

30
Exemple 1.3: Secretaria Universitat

Esquema E-R:

Esquema Relacional:
CLASSE
Horari
ASSIGNATURA Aula
Codi-A Codi-A
PROFESSOR Nom-A
DNI-P DNI-P
Nom-P

ESTUDIANT ESTUDIA
DNI-E DNI-E
Nom-E Codi-A
Nota

31
Exemple 2: Companyia transportista.

Esquema E-R:

Esquema Relacional:

MAGATZEM ENVIAMENT
Codi-M Codi_M BOTIGA
Ciutat-M Codi_B Codi-B
Codi-E Ciutat-B
Pes
Volum VIATGE TRANSPORTA
Codi-V Codi-V Codi-V CAMIÓ
Num-E Codi-C Codi-C
Data-V Pes
Capacitat

32
Exemple 3: BD d’una lliga de bàsquet.

Esquema E-R:

Esquema Relacional:
JUGADOR
DNI-J
Nom-J
Núm-Fitxa
Adreça EQUIP
Nom-E Nom-E
TANTEIG Adreça
DNI-J
Nom-EC
Nom-EF
Punts PARTIT
Nom-EC
Nom-EF
Jornada

33
Exemple 4: Companyia de discos.

Esquema E-R:

Esquema Relacional:

MUSIC TOCA
DOMICILI DNI-M DNI-M INSTRUMENT
Adreça Adreça Codi-I Codi-I
Població Població Nom-I
Telèfon Nom-M Clau

INTERPRETA PRODUEIX
DNI-M
CANÇÓ DNI-M
Codi-A
Títol Títol
Durada ALBUM
Codi-A Codi-A
Títol-A
Data-A
Velocitat

34
Exemple 5: Cadastre municipal.
Esquema E-R:

Esquema Relacional:
PERSONA
DNI-P
VIVENDA Nom-P
Carrer Carrer-Viu
Número Número-Viu
m2
BARRI DNI-P
Nom-B Nom-B
CAP-DE-FAMÍLIA
Extensió
DNI-Cap
DNI-P

PIS BLOC PISOS CASA


Carrer Carrer Carrer
Número Número Número
Escala Num-Plantes
Planta
Pis

35
Exemple 6: BD Hospital
Esquema E-R:

Esquema Relacional:
PACIENT
DNI-P METGE
Nom-P DNI-M
Edat Nom-M
Adreça Especialitat
DNI-MP RECEPTA Experiència
DNI-P
DNI-M MEDECINA
Nom-R
Nom-R
Data
Fòrmula
Quant
Nom-C

VENDA
Nom-R FARMACIA CONTRACTE
Nom-F Nom-F Nom-F COMPANYIA
Preu Adreça Nom-C Nom-C
Data-Inici Adreça
Data-Fi Telèfom
Supervisor
Texte

36
Exemple 7: BD Universitat

Esquema E-R:

Esquema Relacional:

PROFESSOR PARTICIPA BECA ESTUDIANT CONSELLER


DNI-P DNI-P PROJECTE DNI-E DNI-E DNI-E
Nom-P Núm-P Núm-P Núm-P Nom-E DNI-E-Cons
Edat Data-Inici DNI-Sup Edat
Categoria Data-Fi Estudis
Dept-Cap Sponsor Dept-Estud
Quantitat
DNI-Direct

DEPARTAMENT
Codi-D
Nom-D
Adreça
TREBALLA DNI-Cap
DNI-P
Codi-D
Dedicació

37
4. Diseño fı́sico

Definición de los ficheros y estructuras de almacena-


je correspondientes al conjunto de relaciones.

Estructures de almacenamiento sobre los ficheros mejo-


ran el tiempo de acceso a la información.

Estructuras de almacenamiento (indexación, tablas ha-


shing) sobre ficheros en función del número de consultas
que se hagan a los diferentes campos de información,
según las especificaciones de diseño.

Conceptos ampliados en el TEMA 7.

Ejemplo BD bancaria:

• FICHEROS: Un fichero por cada relación.


El conjunto de campos de información del fichero
corresponde a los atributos de la relación que re-
presenta.

• ESTRUCTURAS DE ALMACENAJE: Según nom-


bre y tipos de transacciones a los ficheros.

38

Você também pode gostar