Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Diseño Lógico de Bases de Datos: Transformación de Modelos - Prof. Rabassa, Apuntes de Sistemas de Gestión de Bases de Datos

El proceso de diseño lógico de bases de datos, enfocándose en las reglas de transformación de un modelo conceptual a un modelo relacional. Se abordan conceptos como entidades, dominios, asociaciones, generalizaciones y restricciones.

Tipo: Apuntes

2012/2013

Subido el 04/11/2013

ximo112
ximo112 🇪🇸

4.5

(2)

9 documentos

1 / 17

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
TEMA4.DISSENYLÒGIC.
TEMARI
1. Dissen
y
delaB.D.
y
2. Reglesdetransformació
2.1.Entitats.Dominis.Associacionsnm.Entitatsassociatives.Associacions1n.Reflexives.
Entitatsfebles.Associacions11.Generalitzacions.Restriccions.
3. Milloresdelmodel
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff

Vista previa parcial del texto

¡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.

  1. 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.