OI, Disseny BD, model Relacional

31
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

description

Notes sobre el model relacional, i la conversió dels models ER I EER al relacional

Transcript of OI, Disseny BD, model Relacional

Page 1: OI, Disseny BD, model Relacional

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

Page 2: OI, Disseny BD, 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

Page 3: OI, Disseny BD, model Relacional

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

Page 4: OI, Disseny BD, model Relacional

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)}

Page 5: OI, Disseny BD, model Relacional

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 .

Page 6: OI, Disseny BD, model Relacional

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

Page 7: OI, Disseny BD, model Relacional

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)

Page 8: OI, Disseny BD, model Relacional

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

Page 9: OI, Disseny BD, model Relacional

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ó

Page 10: OI, Disseny BD, model Relacional

Organització Informació / Disseny BD. Model Relacional Jordi Regincós Isern, UdG, 2012

Conversió esquemes ER i EER aesquemes relacionals

Page 11: OI, Disseny BD, model Relacional

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.

Page 12: OI, Disseny BD, model Relacional

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

Page 13: OI, Disseny BD, model Relacional

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

Page 14: OI, Disseny BD, model Relacional

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

Page 15: OI, Disseny BD, model Relacional

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

Page 16: OI, Disseny BD, model Relacional

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

Page 17: OI, Disseny BD, model Relacional

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

Page 18: OI, Disseny BD, model Relacional

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

Page 19: OI, Disseny BD, model Relacional

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

Page 20: OI, Disseny BD, model Relacional

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.

Page 21: OI, Disseny BD, model Relacional

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

Page 22: OI, Disseny BD, model Relacional

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.

Page 23: OI, Disseny BD, model Relacional

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

Page 24: OI, Disseny BD, model Relacional

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.

Page 25: OI, Disseny BD, model Relacional

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

Page 26: OI, Disseny BD, model Relacional

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.

Page 27: OI, Disseny BD, model Relacional

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

Page 28: OI, Disseny BD, model Relacional

28/

Organització Informació / Disseny BD. Model Relacional Jordi Regincós Isern, UdG, 2012

Page 29: OI, Disseny BD, model Relacional

Organització Informació / Disseny BD. Model Relacional Jordi Regincós Isern, UdG, 2012

Exemples i exercicis

Page 30: OI, Disseny BD, model Relacional

30/

Organització Informació / Disseny BD. Model Relacional Jordi Regincós Isern, UdG, 2012

Proper tema:

SQL (Structured Query Language)

Page 31: OI, Disseny BD, model Relacional

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 [email protected]