Post on 03-Jul-2015
description
1/
Organització Informació / Disseny BD. Model Relacional Jordi Regincós Isern, UdG, 2012
Organització informació
Mòdul de Bases de Dades
Disseny Bases de Dades
model Relacional
Organització Informació / Disseny BD. Model Relacional Jordi Regincós Isern, UdG, 2012
Models de dades
Físic
Model Entitat InterRelació (ER)
Model relacional
Model físic
Lògic
Realitat
Conceptual
Els 3 móns
Real
Conceptual
Representacions
Organització Informació / Disseny BD. Model Relacional Jordi Regincós Isern, UdG, 2012
Model relacional
Basat en els conceptes de:
Relacions (taules)
CapçaleraAtributs (Columnes)
Dominis (Tipus)
CosTuples (files)
Restriccions
De domini
De clau
D'integritat d'entitat, integritat referencial i claus foranes
Organització Informació / Disseny BD. Model Relacional Jordi Regincós Isern, UdG, 2012
Definicions
Relació: formada per una capçalera i un cos
Capçalera: conjunt de parelles (atribut,domini)
Atribut: identificador (propietat del que representa la relació). Exemple: Nom, DNI, codi, dataInici,...
Domini: Conjunt de valors que pot prendre l'atribut. Exemple: Cadena de caràcters, nombre natural, data, {vermell, verd, blau},...
En general, capçalera: {(a1,d1), (a2,d2),... (an,dn)}
Organització Informació / Disseny BD. Model Relacional Jordi Regincós Isern, UdG, 2012
Definicions (cont)
Relació:
Cos: conjunt de tuples associats a una capçalera
Tuple: llista ordenada de valors corresponent a cada un dels atributs de la capçalera:
{(v1,v2 ... vn)}
Cada element vi d'un tuple o bé és el valor especial NULL (desconegut), o bé pertany al domini Di corresponent a l'atribut Ai .
Organització Informació / Disseny BD. Model Relacional Jordi Regincós Isern, UdG, 2012
Exemple relació (taula)
Codi FIDE Nom Cognom Títol Federació ELO Any Naixam.
Sexe
1503014 Magnus Carlsen g NOR 2835 1990 M
4100018 Garry Kasparov g RUS 2812 1963 M
13300474 Levon Aronian g ARM 2805 1982 M
4101588 Vladimir Kramnik g RUS 2801 1975 M
5000017 Viswanathan Anand g IND 2799 1969 M
Files(tuples)
Columnes(atributs)
Cos
Capçalera
Clau primària
Organització Informació / Disseny BD. Model Relacional Jordi Regincós Isern, UdG, 2012
Definicions (cont)
Restriccions
de Domini: Per cada atribut Ai tots els valors que apareguin al cos de la relació han de pertànyer a Di . Es fa una única excepció pel cas del valor NULL (desconegut).
de Clau: Tots els tuples d'una relació han de ser diferents. Per tant, hi ha d'haver algun subconjunt d'atributs mínim que sigui únic per tots els tuples. A cada un d'aquests conjunts l'anomenem clau candidata.
S'escull una de les claus candidates com clau primària (CP d'ara endavant)
Organització Informació / Disseny BD. Model Relacional Jordi Regincós Isern, UdG, 2012
Definicions (cont)
Restriccions
d'integritat d'entitat: Cap atribut d'una clau primària (o candidata) pot ser NULL.
d'integritat referencial: Si un tuple en una relació fa referència a un tuple d'una altra, aquest darrer ha d'existir
Clau forana (CF d'ara endavant): Donades 2 relacions R1 i R2, un conjunt d'atributs CF de R1 és clau forana sí:
CF és clau primària a R2Tot valor no NULL de CF a R1 ha d'existir en un tuple d'R2
Exemple: si factura (R1) fa referència a un client (R2), aquest client ha d'existir a la relació de clients.
No cal que els noms dels atributs siguin els mateixos. Cal que
Organització Informació / Disseny BD. Model Relacional Jordi Regincós Isern, UdG, 2012
Codi FIDE Nom Cognom Títol Federació ELO Any Naixam.
Sexe
1503014 Magnus Carlsen g NOR 2835 1990 M
4100018 Garry Kasparov g RUS 2812 1963 M
13300474 Levon Aronian g ARM 2805 1982 M
4101588 Vladimir Kramnik g RUS 2801 1975 M
5000017 Viswanathan Anand g IND 2799 1969 M
... ... ... ... ... ... ... ...
Exemple claus foranes
Codi Descripció
g Gran Mestre
i Mestre Internacional
... ...
Codi NomPais
NOR Noruega
RUS Rússia
... ...
IND Índia
... ...
ARM Armènia
... ...
Jugador
TítolFederació
Organització Informació / Disseny BD. Model Relacional Jordi Regincós Isern, UdG, 2012
Conversió esquemes ER i EER aesquemes relacionals
Organització Informació / Disseny BD. Model Relacional Jordi Regincós Isern, UdG, 2012
(E)ER a relacional
Esquema ER (i EER):
Graf d'entitats i interrelacions entre elles
Ampliat amb el concepte de subclasses (EER)
Atributs propis d'entitats i d'interrelacions
Esquema Relacional
Conjunt de relacions (o taules)
Pas d'(E)ER a Relacional ben definit, en 8 passos.
Organització Informació / Disseny BD. Model Relacional Jordi Regincós Isern, UdG, 2012
(E)ER a Relacional: 8 casos
Entitats no dèbils
Una relació amb tots els atributs excepte els múltiples (cas 6)
Cas especial atributs compostos:
Una atribut a la relació per cada un dels seus components. Nota: si el SGBD proporciona el tipus compost (p.e. data) llavors es deixa com un sol atribut a la relació
CodiA Títol CrTeoria CrPract ...
... ... ... ... ...
AssignaturaAssignatura
CodiA
Titol Crèdits
...
CrTeoria
CrTeoria
Organització Informació / Disseny BD. Model Relacional Jordi Regincós Isern, UdG, 2012
(E)ER a Relacional: 8 casos
Entitats febles
Una relació amb tots els atributs excepte els múltiples (cas 6), juntament amb els atributs que són CP a l'entitat de la que depèn (que serà clau forana aquí). La CP de la nova relació serà la unió de la CP de l'entitat forta més la clau “parcial” de la feble.
Cas especial atributs compostos (igual que cas 1)
GrupAssignatura
Té Assignatura
CodiACodi
GAula
Titol
CodiA CodiG Aula
... ... ...
GrupAssignatura
CodiA Títol ...
... ... ...
Assignatura
Organització Informació / Disseny BD. Model Relacional Jordi Regincós Isern, UdG, 2012
(E)ER a Relacional: 8 casos
Interrelacions binàries 1:1
Si hi ha una interrelació 1:1 entre E1 i E2, identifiquem les relacions corresponents a E1 i E2 (R1 i R2). N'escollim una que tingui participació total (sinó, qualsevol de les dues).
Si escollim R1, afegim la CP d'R2 com a CF a R1, junutament amb els atributs de la interrelació.
Si escollim R2, el cas simètric.
CodiE Nom Cognoms ...
... ... ... ...
CodiD Nom Director Desde
... ... ... ...
Departament
Empleat
Empleat Dirigeix Departament1 1
CodiE
NomCogno
ms
CodiD Nom
Data
Organització Informació / Disseny BD. Model Relacional Jordi Regincós Isern, UdG, 2012
(E)ER a Relacional: 8 casos
Interrelacions binàries 1:n
Si hi ha una interrelació 1:n entre E1 i E2, identifiquem les relacions corresponents a E1 i E2 (R1 i R2) i identifiquem la que té cardinalitat n
Si és R1, afegim com a CF a R2 la CP d'R1
Si és R2, afegim com a CF a R1 la CP d'R2
En tots els casos afegim també els atributs de la interrelació
Factura Té Client
CodiCNum Data
Nom
1 n
Num Data CodiC ...
... ... ... ...
Factura
CodiC Nom ...
... ... ...
Client
Organització Informació / Disseny BD. Model Relacional Jordi Regincós Isern, UdG, 2012
(E)ER a Relacional: 8 casos
Interrelacions binàries n:m
Si hi ha una interrelació n:m entre E1 i E2, identifiquem les relacions corresponents a E1 i E2 (R1 i R2) i definim una nova relació R3 amb:
CP d'R1 i R2 com a CFs
Unió de CP d'R2 i R2 com a CP
Atributs de la interrelació
ProfessorImpartei
x Assignatura
Crèdits
Codi NomNom
m n
Cognoms
Codi Nom Cognoms ...
... ... ... ...
CodiA Nom ...
... ... ...
Assignatura
Professor
Professor Assignatura Crèdits...
... ... ...
Imparteix
Organització Informació / Disseny BD. Model Relacional Jordi Regincós Isern, UdG, 2012
(E)ER a Relacional: 8 casos
Atributs multivaluats
Per cada atribut multivaluat Ai d'una entitat E1 (convertida la relació R1), es defineix una nova relació Ri:
CP d'R1 com a CF
L'atribut Ai
La CP d'R2 serà la unió de CP d'R1 amb Ai
Professor
Codi NomTelèf
on
Codi Nom Cognoms ...
... ... ... ...
Professor
Codi Telèfon
... ...
ProfessorTelefons
Organització Informació / Disseny BD. Model Relacional Jordi Regincós Isern, UdG, 2012
(E)ER a Relacional: 8 casos
Atributs multivaluats (alternativa)
Acotar el nombre possible de valors (n) i afegir n atributs.
Inconvenients:Limitem el nombre de valors per cada element de l'entitat
Podem tenir molt espai desaprofitat
Avantatge:No definim una nova relació
Professor
Codi NomTelèf
on
Codi Nom Cognoms Tel1 Tel2 Tel3 ...
... ... ... ... ... ... ...
Professor
SOVINT ES DESACONSELLA FER SERVIR MULTIVALUATS EN ELS ESQUEMES E/R
Organització Informació / Disseny BD. Model Relacional Jordi Regincós Isern, UdG, 2012
(E)ER a Relacional: 8 casos
Interrelacions n-àries
Sigui una interrelació n-ària entre les entitats E1, E2,... En (convertides a les relacions R1, R2 ... Rn). Definim una nova relació S amb:
CPs d'R1, R2 i Rn com a CFs d'S
Atributs de la interrelació
La CP d'S serà la unió de totes les CPi
Autobús Servei Conductor
RutaCodi Codi
Codi
Bus Ruta Conductor ...
... ... ... ...
Servei
CP Autobús
CP Ruta
CP Conductor
Organització Informació / Disseny BD. Model Relacional Jordi Regincós Isern, UdG, 2012
(E)ER a Relacional: 8 casos
Subclasses (EER)
8a. Cas general
Tenim una entitat E i un conjunt de subclasses SE1, SE2,...SEn. Ho convertim en n+1 relacions:
Una relació R (equivalent a E)
n relacions Ri, una per cada una de les subclasses SEi. La CP de cada Ri serà la CP de R.
Organització Informació / Disseny BD. Model Relacional Jordi Regincós Isern, UdG, 2012
(E)ER a Relacional: 8 casos
EER 8a. Cas general
Empleat
DNI Nom Data
Neix
D
M
A
CodiAdr
eça
Administratiu Tècnic Comercial
d
∩
∩∩
Títol
PermísConduir
Nivell
Codi DNI Nom DataNai ...
... ... ... ... ...
Empleat
Codi Nivell ...
... ... ...
Administratiu
Codi Títol ...
... ... ...
Tècnic
Codi Permís ...
... ... ...
Comercial
Organització Informació / Disseny BD. Model Relacional Jordi Regincós Isern, UdG, 2012
(E)ER a Relacional: 8 casos
Subclasses (EER)
8b) per especialitzacions disjuntes i totals
Tenim una entitat E i un conjunt de subclasses SE1, SE2,...SEn, formant un especialització disjunta i total. Ho convertim en n relacions:
n relacions Ri, una per cada una de les subclasses SEi, amb tots els atributs d'SEi i els d'E. La CP de cada Ri serà la CP de R.
Organització Informació / Disseny BD. Model Relacional Jordi Regincós Isern, UdG, 2012
(E)ER a Relacional: 8 casos
EER 8b per especialitzacions disjuntes i totals
Codi DNI Nom DataNai ... Nivell
... ... ... ... ... ...
Administratiu
Empleat
DNI Nom Data
Neix
D
M
A
CodiAdr
eça
Administratiu Tècnic Comercial
d
∩
∩∩
Títol
PermísConduir
Nivell
Codi DNI Nom DataNai ... Títol
... ... ... ... ... ...
Tècnic
Codi DNI Nom DataNai ... Permís
... ... ... ... ... ...
Comercial
Organització Informació / Disseny BD. Model Relacional Jordi Regincós Isern, UdG, 2012
(E)ER a Relacional: 8 casos
Subclasses (EER)
8c) per especialitzacions disjuntes
Tenim una entitat E i un conjunt de subclasses SE1, SE2,...SEn, formant un especialització disjunta. Ho convertim en 1 relació:
1 relació amb tots els atributs d'E, i els de totes les SEi. La CP serà la CP d'E. Si cal, s'hi afegeix un atribut que indiqui a quina subclasse pertany.
Organització Informació / Disseny BD. Model Relacional Jordi Regincós Isern, UdG, 2012
(E)ER a Relacional: 8 casos
EER 8c) per especialitzacions disjuntes
Empleat
DNI Nom Data
Neix
D
M
A
CodiAdr
eça
Administratiu Tècnic Comercial
d
∩∩∩
Títol
PermísConduir
Nivell
Codi DNI Nom DataNai ... Tipus Nivell ... Títol ... Permís ...
... ... ... ... ... ... ... ... ... ... ... ...
Empleat
Organització Informació / Disseny BD. Model Relacional Jordi Regincós Isern, UdG, 2012
(E)ER a Relacional: 8 casos
Subclasses (EER)
8d) Per especialitzacions no disjuntes
Tenim una entitat E i un conjunt de subclasses SE1, SE2,...SEn, formant un especialització no disjunta. Ho convertim en 1 relació:
1 relació amb tots els atributs d'E, i els de totes les SEi. La CP serà la CP d'E. Per cada SEi s'hi afegeix un atribut booleà que ens diu si pertany o no a aquesta subclasse.
Organització Informació / Disseny BD. Model Relacional Jordi Regincós Isern, UdG, 2012
(E)ER a Relacional: 8 casos
EER 8d) Per especialitzacions no disjuntes
Empleat
DNI Nom Data
Neix
D
M
A
CodiAdr
eça
Administratiu Tècnic Comercial
o
∩∩∩
Títol
PermísConduir
Nivell
Codi DNI Nom DataNai ... esAdministratiu
Nivell ... esTecnic
Títol ... esComercial
Permís ...
... ... ... ... ... ... ... ... ... ... ... ... ... ...
Empleat
28/
Organització Informació / Disseny BD. Model Relacional Jordi Regincós Isern, UdG, 2012
Organització Informació / Disseny BD. Model Relacional Jordi Regincós Isern, UdG, 2012
Exemples i exercicis
30/
Organització Informació / Disseny BD. Model Relacional Jordi Regincós Isern, UdG, 2012
Proper tema:
SQL (Structured Query Language)
Aquesta obra, excepte on s'indiqui el contrari, està subjecta a una llicència de Reconeixement-CompartirIgual 3.0 No adaptada de Creative Commons
Jordi Regincós Isern, Universitat de Gironahttp://jordi.regincos.cat jordi.regincos@udg.edu