¡Descarga Diseño Lógico de Bases de Datos: Transformación de Modelos - Prof. Rabassa y más Apuntes en PDF de Sistemas de Gestión de Bases de Datos solo en Docsity!
TEMA 4. DISSENY LÒGIC.
TEMARI
**1. Dissenyy de la B.D.
- Regles de transformació** 2.1. Entitats. Dominis. Associacions n‐m. Entitats associatives. Associacions 1 ‐n. Reflexives. Entitats febles. Associacions 1 ‐1. Generalitzacions. Restriccions. 3. Millores del model
DISSENY DE LES B.D.
Especificació dep requisitsq
Disseny Conceptual
Model de dades Conceptual (.cdm)
Disseny Lògic
Model de dades Lògic Relacional (.ldm)
Disseny Físic
Model de dades Físic (.pdm)
DISSENY DE LES B.D.
- A partir del model de dades lògic és genera el model de dades físic depenen del SGBD concret que s’ha escollit.
- El pas de model de dades lògic a model de dades físic requereix un coneixement a fons del sgbd a usar. Quan es realitza aquesta transformació es poden donar dos situacions:
1.El sgbd suporta tots els conceptes del model lògic sense
restriccions. La transformació serà quasi directa. Només
ss ha’ha de transcriure a la sintaxis pròpia del sgbd usat de transcriure a la sintaxis pròpia del sgbd usat.
2.El sgbd no suporta certs conceptes o els suporta amb
restriccions. Caldrà usar nous objectes, realitzar una
programació complementària,...
TRANSFORMACIÓ DE DOMINIS
- En el model un domini és un objecte més. Amb una definició concreta en el LDD
.cdm .ldm .pdm
Si el SGBD no permet les sentències per a la definició de dominis: Quan es defineixi la columna cal especificar el tipus de dades, la longitud i les restriccions pertinents (CHECKS).
ASSOCIACIONS N_M
• Una associació n:m es transforma en una relació que té
com a clau primària la concatenació dels atributs identificadors de les entitats que associaentitats que associa.
- Cadascun dels atributs que formen la clau primària també són claus foranes que referencien a les relacions en que s’han convertit les entitats interrelacionades.
- Per a cada clau forana s’ha d’estudiar quins són els modes d’esborrat i modificació adequats - operació restringidaoperació restringida - assignar valors nuls - posar el valor per defecte - operació en cascada
EXEMPLE‐ 1
EMPLEAT (dni, nom) PROJECTE(codi, nom) TREBALLAR(projecte,empleat) on {empleat} referencia a empleat (dni) {projecte} referencia a projecte (codi)
.cdm (^) .ldm
EXEMPLE‐ 1
.pdm
ASSOCIACIONS 1 ‐N
Es propogan els identificadors de l’entitat que té cardinalitat màxima 1 a la que en té N (Propagació de clau)
.cdm
.ldm
.pdm
EXEMPLE
.cdm
.ldm
.pdm
ASSOCIACIONS REFLEXIVES
.cdmcdm
.ldm .pdm
ENTITATS FEBLES
.cdm
.ldm
.pdm
ENT-A atributa1 not null atributa2 not null
ENT-B atributb1 not null atributa1 <fk,ak> not null atributb2 not null
atributa1=atributa upd(C); del(R)
ENT-A atributa1 not null atributb1 <fk,ak> not null atributa2 not null
ENT-B atributb1 not null atributb2 not null atributb1=atributb upd(C); del(R)
ENT-A atributa1 not null atributb1 <fk,ak> not null atributa2 not null
ENT-B atributb1 not null atributa1 <fk,ak> not null atributa1=atributa1 atributb2 not null upd(C); del(R)
atributb1=atributb upd(C); del(R)
EXEMPLE
PROFESSOR ASSIGNATURA dni nom cognom cognom
codi_assig nom
PROFESSOR dni not null codi_assig not null nom not null cognom1 not null cognom2 null nom_assig not null
EXEMPLE
CLIENT TARJA codi nom cognom cognom
numero tipus limit
CLIENT TARJA codi not null nom not null cognom1 not null cognom2 null
TARJA numero not null client <fk,ak> not null tipus not null codi=client limit not null upd(C); del(R)
EXEMPLE
HOME dni nom
DONA dni nom
CASAR
HOME dni=dona DONA dni not null dona <fk,ak> null nom not null
DONA dni not null home <fk,ak> null nom not null dni=home upd(C); del(R)
dni=dona upd(C); del(R)
- Des de un punt de vista exclusivament semàntic la millor opció és la b) i
- • Des de el punt de vista deDes de el punt de vista de ll eficiència’eficiència ss ha’ha de tenir en compte de tenir en compte
- Opció a): l’accés a una fila que reflexi tota la informació d’una determinada taula és molt més ràpid (no fa falta combinar taules)
- Opció b): La menys eficient
- Opció c): S’augmenta l’eficiència davant determinades consultes (les que afecten a tots els atributs, tant comuns com propis, d’un subtipus) però es redueix en d’altres. Aquesta solució és la que perd més semàntica; a més a més, si hi ha solapament s’introdueix redundància que ha de ser controlada si es vol evitar inconsistències.
EXEMPLE
PERSONA (^) PERSONA dni nom adreça data_naixament
PERSONA dni not null nom not null adreça not null data_naixament not null
dni=dni upd(C); del(C)
dni=dni upd(C); del(C)
ESTUDIANT curs especialitat
PROFESSOR departament títol
ESTUDIANT dni <pk,fk> not null curs not null especialitat not null
PROFESSOR dni <pk,fk> not null departament not null títol not null
p ( ); ( )
EXEMPLE
ATLETA dni nom data_naixament club
ATLETA dni not null nom not null data_naixament not null club not null
VELOCISTA temps 100m temps 200m
FONDISTA temps 1500m temps 5000m
tipus not null temps 100m null temps 200m null temps 1500m null temps 5000m null
EXEMPLE
EMPLEAT dni nom salari
DIRECTIU dni not null nom not null salari not null àrea not null
ADMINISTRATIU OFICIAL
DIRECTIU àrea
ADMINISTRATIU nivell
OFICIAL especialitat
ADMINISTRATIU dni not null nom not null salari not null nivell not null
OFICIAL dni not null nom not null salari not null especialitat not null
COMPONENTS D’UNA RESTRICCIÓ
- En una restricció d’integritat és possible distingir els següents components:
- Operació d’actualització (inserir, esborrar o modificar), la seva execució provoca la comprovació del compliment de la restricció.
- Condició que s’ha de complir (normalment és una proposició lògica) definida sobre un o varis elements del model de dades, que pot prendre com a valors cert o fals.
- Acció que s’ha de portar a terme depenen del resultat d’avaluar la condició.
- Al produir‐se l’operació , es comprova una condició i depenen del seu resultat es posa en marxa una acció: - rebutjar l’operació - corregir l’error: portar a terme accions compensatòries - informar a l’usuari..
RESTRICCIONS
- Afecten a un sol atribut d’una relació.
- AfAf ecten a mésé d’d’ un atributib d’d’ una relació.l ió
- Afecten a diferents atributs de diferents relacions.
MILLORES MODEL
- Comprovar si és possible eliminar físicament files de les
diferents taules.
- Moltes vegades ens trobem que semànticament és necessari poder eliminar files, però que “relacionalment” hi ha problemes, sobretot per què la fila eliminada és clau forana d’alguna altra taula.
- Cal afegir un atribut del tipus “actiu” que tingui com a domini un valor booleà. L’esborrat serà lògic i consistirà en posar l’atribut a fals.
- Comprovar l’existència de claus alternatives
- Triar la clau primària Si cap clau candidata és una bona opcióTriar la clau primària. Si cap clau candidata és una bona opció
crear‐ne una. Clau artificial o tècnica o subrogada.
- Aquesta columna no conté cap mena d’informació i per tan l’usuari no ha de poder ni veure‐la ni modificar‐la.
- Tenir en compte l’acció referencial de les claus foranes.