índex de contingut - XTECaarmeng4/c3/teoria/u2/tU.pdf · c3.adbd ud2.disseny de bases de dades i...

19
c3.adbd ud2.disseny de bases de dades i model entitat-relació índex de contingut 2 Disseny de bases de dades i model entitat-relació......................................................................... 2 2.1 Etapes en el disseny d'una base de dades.............................................................................. 2 2.1.1 Fases del disseny d'una base de dades, model 1:............................................................... 2 2.1.2 Fases del disseny d'una base de dades, model 2:............................................................... 3 2.1.3 Fases del disseny d'una base de dades, model 3:............................................................... 4 2.1.4 Nivell de modelatge a una base de dades....................................................................... 4 2.1.4.1 Esquema de BD................................................................................................ 4 2.1.4.2 Model abstracte de dades................................................................................... 5 2.1.4.3 Tipus de Models abstractes:................................................................................. 5 2.2 L'esquema conceptual i el model entitat-relació..................................................................... 6 2.2.1 Entitats............................................................................................................... 6 2.2.1.1 Conjunt d''entitats (Conjunt d'instàncies d'una Entitat)................................................. 7 2.2.1.2 Bases de Dades................................................................................................ 7 2.2.2 Relacions............................................................................................................. 7 2.2.2.1 Grau i Cardinalitat de les relacions ....................................................................... 8 2.2.2.2 Obligatorietat de participació, Opcionalitat d'una relació............................................. 9 2.2.2.3 Interrelacions reflexives..................................................................................... 9 :: són aquelles que relacionen una entitat amb ella mateixa.................................................... 9 2.2.3 Atributs............................................................................................................... 9 2.2.4 Quadre resum del model Entitat-Interrelació:................................................................ 11 2.3 Model estès – Model Orientat a Objectes............................................................................. 12 2.3.1 Abstracció en el disseny conceptual de Bases de Dades..................................................... 12 2.3.1.1 Abstracció de classificació................................................................................. 12 2.3.1.2 Abstracció d'agregació...................................................................................... 12 2.3.1.3 Abstracció de generalització............................................................................... 13 2.3.1.4 Propietats de les correspondències entre classes...................................................... 13 2.3.1.5 Els models de dades......................................................................................... 16 2.4 Disseny d'una base de dades............................................................................................ 17 2.5 Models de sistemes gestors de bases de dades...................................................................... 17 1 De 19

Transcript of índex de contingut - XTECaarmeng4/c3/teoria/u2/tU.pdf · c3.adbd ud2.disseny de bases de dades i...

Page 1: índex de contingut - XTECaarmeng4/c3/teoria/u2/tU.pdf · c3.adbd ud2.disseny de bases de dades i model entitat-relació 2.1.4 Nivell de modelatge a una base de dades 2.1.4.1 Esquema

c3.adbd ud2.disseny de bases de dades i model entitat-relació

índex de contingut 2 Disseny de bases de dades i model entitat-relació......................................................................... 2

2.1 Etapes en el disseny d'una base de dades.............................................................................. 2 2.1.1 Fases del disseny d'una base de dades, model 1:............................................................... 2 2.1.2 Fases del disseny d'una base de dades, model 2:............................................................... 3 2.1.3 Fases del disseny d'una base de dades, model 3:............................................................... 4 2.1.4 Nivell de modelatge a una base de dades....................................................................... 4

2.1.4.1 Esquema de BD................................................................................................ 4 2.1.4.2 Model abstracte de dades................................................................................... 5 2.1.4.3 Tipus de Models abstractes:................................................................................. 5

2.2 L'esquema conceptual i el model entitat-relació..................................................................... 6 2.2.1 Entitats............................................................................................................... 6

2.2.1.1 Conjunt d''entitats (Conjunt d'instàncies d'una Entitat)................................................. 7 2.2.1.2 Bases de Dades................................................................................................ 7

2.2.2 Relacions............................................................................................................. 7 2.2.2.1 Grau i Cardinalitat de les relacions ....................................................................... 8 2.2.2.2 Obligatorietat de participació, Opcionalitat d'una relació............................................. 9 2.2.2.3 Interrelacions reflexives..................................................................................... 9:: són aquelles que relacionen una entitat amb ella mateixa.................................................... 9

2.2.3 Atributs............................................................................................................... 9 2.2.4 Quadre resum del model Entitat-Interrelació:................................................................ 11

2.3 Model estès – Model Orientat a Objectes............................................................................. 12 2.3.1 Abstracció en el disseny conceptual de Bases de Dades..................................................... 12

2.3.1.1 Abstracció de classificació................................................................................. 12 2.3.1.2 Abstracció d'agregació...................................................................................... 12 2.3.1.3 Abstracció de generalització............................................................................... 13 2.3.1.4 Propietats de les correspondències entre classes...................................................... 13 2.3.1.5 Els models de dades......................................................................................... 16

2.4 Disseny d'una base de dades............................................................................................ 17 2.5 Models de sistemes gestors de bases de dades...................................................................... 17

1 De 19

Page 2: índex de contingut - XTECaarmeng4/c3/teoria/u2/tU.pdf · c3.adbd ud2.disseny de bases de dades i model entitat-relació 2.1.4 Nivell de modelatge a una base de dades 2.1.4.1 Esquema

c3.adbd ud2.disseny de bases de dades i model entitat-relació

2 Disseny de bases de dades i model entitat-relació

2.1 Etapes en el disseny d'una base de dades

2.1.1 Fases del disseny d'una base de dades, model 1:

2 De 19

Page 3: índex de contingut - XTECaarmeng4/c3/teoria/u2/tU.pdf · c3.adbd ud2.disseny de bases de dades i model entitat-relació 2.1.4 Nivell de modelatge a una base de dades 2.1.4.1 Esquema

c3.adbd ud2.disseny de bases de dades i model entitat-relació

Captació i anàlisi de requeriments

Caracteritzar de forma complerta les necessitats que desitgen els usuaris de la base de dades, tant en les dades com en les operacions a realitzar amb les dades.

Entrevistes amb els futurs usuaris de la BD per captar necessitats.

Resultat:

• requisits de dades: necessitats de dades. Especificació de la informació que es vol guardar.

• requisits funcionals: necessitats de manipulació de dades. Especificació de les operacions a realitzar amb les dades.

Disseny conceptual de la base de dades

Un cop triat el model abstracte que es vol utilitzar, el dissenyador aplica conceptes d'aquest model per traduir els requisits de dades de l'usuari al model abstracte, formant l'esquema conceptual de la BD.

Validar l'esquema conceptual sobre les transaccions específiques en els requisits funcionals (consultes, actualitzacions, esborrats i insercions)

La implementació del model conceptual sobre el sistema de BD concret es realitza en dues fases: disseny lògic i disseny físic.

Disseny Lògic

Conversió de l'esquema conceptual de la BD al model de dades que implementa el sistema de BD (usualment model de BD relacional).

Esquema de BD

Definició del conjunt de relacions base que constitueixen el nivell conceptual de l'arquitectura ANSI/SPARC.

Disseny Físic

Definir les característiques físiques de la BD a partir de l'esquema de la BD.

Definició del conjunt de fitxers que constitueixen l'esquema intern de l'arquitectura ANSI/SPARC.

2.1.2 Fases del disseny d'una base de dades, model 2:

3 De 19

Page 4: índex de contingut - XTECaarmeng4/c3/teoria/u2/tU.pdf · c3.adbd ud2.disseny de bases de dades i model entitat-relació 2.1.4 Nivell de modelatge a una base de dades 2.1.4.1 Esquema

c3.adbd ud2.disseny de bases de dades i model entitat-relació

Anàlisi de requeriments:

• Quina informació ha de contenir la B.D.

• Quines restriccions d’integritat s’han de complir ( o regles d’empresa que s’han d’aplicar)

Disseny Conceptual: descripció d’alt nivell del contingut de la BD + restriccions que s’han de complir.

• Un mètode és el Model Entitat/Relació (ER).

• S’han de traduir el model ER a un conjunt de relacions en la BD.

2.1.3 Fases del disseny d'una base de dades, model 3:

Un cop s'ha fet una observació i un anàlisi de la part del món real que volem modelitzar caldrà trobar les entitats que intervenen i com estan relacionades entre si. Aquest model es basa en conjunts (amb els seus atributs) i de les relacions entre aquestes, d'aquí el seu nom: model entiat-relació. És l'eina bàsica per a començar a fer el disseny de la base de dades, ja que permet obtenir el disseny conceptual de la base de dades a partir dels requeriments que haurà de complir l'aplicació. En aquest disseny conceptual hi haurà una descripció detallada de:

• tipus d'entitats. Caldrà fer una abstracció del món real i veure quines entitats hi intervenen en el nostre model.

• Relacions entre entitats. Les diferents entitats estaran relacionades entre si.

• Restriccions. Les relacions entre entitats tindran unes restriccions.

Una vegada fet això, caldrà transformar aquest model de dades conceptual en el que s'anomena disseny lògic de la base de dades obtenint l'esquema de la BD en el model (nosaltres sempre model relacional) de daes amb el que es treballa. Finalment, un cop obtingut el disseny lògic de les dades ja es podrà entrar l'esquema de la base de dades a l'ordinador i, a partir d'aquí, fer els desenvolupaments oportuns (transaccions, programes d'aplicació, querys, manteniment de registres,..)

4 De 19

Page 5: índex de contingut - XTECaarmeng4/c3/teoria/u2/tU.pdf · c3.adbd ud2.disseny de bases de dades i model entitat-relació 2.1.4 Nivell de modelatge a una base de dades 2.1.4.1 Esquema

c3.adbd ud2.disseny de bases de dades i model entitat-relació

2.1.4 Nivell de modelatge a una base de dades

2.1.4.1 Esquema de BD

• estructura lògica i semàntica per registrar un conjunt de fets d'una entitat concreta.

• Esquema obtingut a partir del model conceptual de BD triat.

2.1.4.2 Model abstracte de dades

:: descripció que possibilita la creació d'esquemes conceptuals de BD utilitzats per aplicacions concretes.

• També anomenat model conceptual de dades o model semàntic de dades

• Capturar la semàntica o significat de l'entorn que es pretén modelar en la BD

modelat semàntic de dades

• Desenvolupat per incrementar l'efectivitat i la precisió del disseny de la BD.

model de fàcil conversió a altres models (jeràrquic,

relacional, en xarxa).

2.1.4.3 Tipus de Models abstractes:

• Model Binari-Semàntic (Abril, 1974)

• Model Entitat-Relació (Chen, 1976)

• Model Semàntic de Dades – SMD (Hammer-McLeod, 1981)

• Model de Dades Funcional (Shipman, 1981)

• Model Orientat a Objectes – Model E-R estès

5 De 19

Page 6: índex de contingut - XTECaarmeng4/c3/teoria/u2/tU.pdf · c3.adbd ud2.disseny de bases de dades i model entitat-relació 2.1.4 Nivell de modelatge a una base de dades 2.1.4.1 Esquema

c3.adbd ud2.disseny de bases de dades i model entitat-relació

2.2 L'esquema conceptual i el model entitat-relació

Es tracta d’un model semàntic, tot i que només consta d’estructura. Va ser proposat per primera vegada per Chen l’any 1976. Posteriorment ha estat refinat afegint-hi nous objectes dotant-lo d’una gran potència de

representació.

Serveix per dissenyar BD des d’un punt de vista organitzatiu i utilitza tècniques de diagrames per representar el disseny.

Aquest model també se l'anomena: Entity-Relationship Model, Model Entitat-Interrelació, Model Entitat-Vincle. Per abreujar usarem: model ER o model E-R.

El model ER bàsic, representa tres tipus d’objectes:

1. Entitats. conjunt d'events (objectes o accions) bàsics.

2. Interrelacions. conjunt d'interrelacions entre les entitats

A partir d'aquests conceptes, el Model E-R en defineix d'altres que són utilitzats per construir el model abstracte de la BD.

• Atribut

• lligams de correspondència

• claus

• entitats fortes i febles

Aquests conceptes es representen gràficament mitjançant el diagrama E-R.

2.2.1 Entitats

:: Esdeveniment (objecte o acció) del món real que és distingible de la resta.

• Entitat concreta (objecte): Persona, llibre, etc.

• Entitat abstracte (acció): préstec, vacances, etc.

:: És un objecte (o fet) que existeix, es diferenciable dels altres i sobre el que ens cal guardar informació de les seves característiques (per exemple un alumne, una transacció bancària sobre un compte, un producte d'un supermercat,..).

::U n objecte real o abstracte que forma part del sistema o problema i que compleix les següents propietats :

1. Té existència pròpia. Des del punt de vista del sistema i del nivell d’abstracció, la entitat existeix com un element que intervé en el comportament global del sistema.

2. És distingible de la resta d’entitats que intervenen en el sistema.

3. Les entitats d’un mateix tipus estan definides en base a un mateix conjunt d’atributs.

L’entitat tipus s’anomena CLASSE i cadascun dels seus elements OCURRÈNCIES:

Les entitats es representen mitjançant un rectangle:

6 De 19

Page 7: índex de contingut - XTECaarmeng4/c3/teoria/u2/tU.pdf · c3.adbd ud2.disseny de bases de dades i model entitat-relació 2.1.4 Nivell de modelatge a una base de dades 2.1.4.1 Esquema

c3.adbd ud2.disseny de bases de dades i model entitat-relació

Podem distingir dos tipus d’entitat:

1. Entitat forta: la seva existència no depèn de l’existència de cap altre tipus d’entitat (en el domini del problema).

2. Entitat dèbil: la seva existència depèn de l’existència d’una entitat forta.

Les entitats dèbils es representen amb un rectangle amb línia doble.

Exemple:

2.2.1.1 Conjunt d''entitats (Conjunt d'instàncies d'una Entitat)

:: col·lecció d'instàncies del mateix tipus que comparteixen propietats

Exemple:

• conjunt de persones clients d'un banc → conjunt d'entitats CLIENT.

• Conjunt de tots els préstecs concedits per un banc → Conjunt d'entitats PRÉSTEC BANCARI.

Extensió d'un conjunt d'entitats:: les entitats individuals (instàncies) que constitueixen un conjunt

Exemple: tots els clients d'un banc són l'extensió cel conjunt d'entitats CLIENT.

El conjunt d'entitats no és necessàriament disjunt.

Exemple:

• empleat: conjunt d'entitats de tots els empleats d'un banc.

• Client: conjunt d'entitats de tots els clients d'un banc.

Una entitat persona (Marc Rigau) pot estar a extensió d'EMPLEAT, de CLIENT o d'ambdós conjunts d'entitats alhora.

2.2.1.2 Bases de Dades

:: col·lecció de conjunts d'entitats cadascuna de les quals conté un nombre d'entitats del mateix tipus.

Per simplificar la nomenclatura usarem:

conjunt d'entitats → entitat

entitat → instanciació (ocurrència) d'entitat

:: col·lecció d'entitats, cadascuna de les quals conté un nombre d'ocurrències d'entitat del mateix tipus.

2.2.2 Relacions

:: una relació matemàtica entre n tipus d’entitats, de la següent manera:

on R és la interrelació, ex són els elements de les entitats, i Ex són les entitats.

També podem definir interrelació com a vincle entre dos o més entitats.

7 De 19

Page 8: índex de contingut - XTECaarmeng4/c3/teoria/u2/tU.pdf · c3.adbd ud2.disseny de bases de dades i model entitat-relació 2.1.4 Nivell de modelatge a una base de dades 2.1.4.1 Esquema

c3.adbd ud2.disseny de bases de dades i model entitat-relació

Les interrelacions es representen amb un rombe on i consta el nom de la relació en majúscules.

Representació d’una interrelació.

2.2.2.1 Grau i Cardinalitat de les relacions

Grau:: el nom bre de tipus d’entitats que hi participen . Inicialment es treballarà sempre amb relacions binàries (dues entitats), però es pot extendre a relacions d'ordre superior, ternàries (per exemple un proveïdor subministra components per un projecte).

Connectivitat d’una interrelació:: descriu la correspondència entre ocurrències de les entitats associades per la interrelació.

Rol o nom del paper:: tot tipus d'entitat que participa en un tipus de relació realitza un determinat paper (pe. A la relació “peratny a” un empleat pertany a un departament i, per tant, l'empleat fa el paper d'empleat i el departament de departament). Aquest aspecte pot semblar poc important, però en hi ha algun tipus de relació es el que és essencial per entendre el seu funcionament (sobretot en relacions reflexives).

En una interrelació binària poden ser:

En el primer cas (1 a 1), significa que cada ocurrència (objecte) de l’entitat E1, només es pot associar a un i només un objecte de l’entitat E2 i viceversa.

En el cas segon, un objecte de l’entitat E1, es pot associar a varis objectes de l’entitat E2, però en canvi un objecte de E2 només es pot associar a un i només un objecte de l’entitat E1.

En l’últim cas, varis objectes de l’entitat E1, els podem associar a varis objectes de l’entitat E2.

Algunes consideracions sobre les associacions n-àries (direm que una interrelació és n-ària quan participin en ella tres o més entitats):

En un tipus de interrelació ternària, no podem tenir associacions amb els tres elements iguals, reflexives:

En cas de tenir una relació ternària amb alguna entitat amb cardinalitat igual a 1, com en el cas següent el que no podríem fer és establir simultàniament una relació d’un polític en una data a dos partits diferents.

8 De 19

Page 9: índex de contingut - XTECaarmeng4/c3/teoria/u2/tU.pdf · c3.adbd ud2.disseny de bases de dades i model entitat-relació 2.1.4 Nivell de modelatge a una base de dades 2.1.4.1 Esquema

c3.adbd ud2.disseny de bases de dades i model entitat-relació

2.2.2.2 Obligatorietat de participació, Opcionalitat d'una relació

:: determina si totes les ocurrències de l’entitat han de tenir correspondència obligatòria o no amb ocurrències de l’altra entitat que participa en la interrelació.

L’opcionalitat d’una interrelació, es marca amb una rodona al costat contrari de l’entitat a la qual correspon.

En el primer exemple, interpretarem que l’entitat COTXES, sempre tindrà una correspondència amb les MATRÍCULES (és a dir que tots els cotxes tenen obligatòriament matrícula), en canvi, no totes les MATRÍCULES tenen una correspondència amb els COTXES (és a dir, que hi ha matrícules que no tenen relació amb cap cotxe).

En el segon exemple, s’interpreta que hi ha dones que poden no tenir fills, en canvi tots els fills tenen mare.

En l’últim exemple, pot ser que no tots els magatzems tinguin productes (que estiguin buits), i també pot ser que hi hagi productes que no estiguin en cap magatzem.

2.2.2.3 Interrelacions reflexives

:: són aquelles que relacionen una entitat amb ella mateixa.

Exemples:

2.2.2.4 Cardinalitat

:: especifica el nombre d'exemplars/ocurrències de cada entitat que participen en una relació.

En el cas de les relacions binàries es poden tenir els següents casos:

• una a una (1:1):: una entitat d'A està associada, com a molt, a una entitat de B i una entitat de B està relacionada com a molt amb una entitat d'A. Per exemple, la relació “estar matriculat” entre sotxes i matrícula és una relació 1 a 1, ja que un cotxe pot tenir només una matrícula i una matrícula està associada a un sol cotxe; o bé la relació “dirigir un Departament” entre directors i departaments és 1 a

9 De 19

Page 10: índex de contingut - XTECaarmeng4/c3/teoria/u2/tU.pdf · c3.adbd ud2.disseny de bases de dades i model entitat-relació 2.1.4 Nivell de modelatge a una base de dades 2.1.4.1 Esquema

c3.adbd ud2.disseny de bases de dades i model entitat-relació

1, ja que un director només dirigeix un departament i un departament només té un únic director.

• Una a moltes (1:N):: una entitat d'A està associada a un nombre qualsevol d'entitats de B i una entitat de B està relacionada com a molt amb una entitat d'A. Per exemple, la relació “pertany a” entre departaments i empleats, la relació “tenir per fill” entre mares i fills, la relació “responsable de” entre professors i assignatures, són relacions 1:N.

• Moltes a moltes (N:M):: una entitat d'A està associada a un nombre qualsevol d'entitats de B i una entitat de B està relacionada a un nombre qualsevol d'entitats d'A. Per exemple, la relació “estar matriculat de” entre alumnes i assignatures.

2.2.2.5 Restriccions de participació

Es poden distingir dos tipus de participació:

• total:: en que tota entitat d'A està relacionada amb alguna entitat de B (dependència d'existència)

• parcial:: en que no totes les entitats d'A han d'estar relacionades amb alguna entitat de B (les representacions parcials s'indiquen amb 0,1 ó 0,N)

Exemples:

• la relació “tenir per fill” entre mares i fills és total, ja que tota mare (pel fet de ser-ho) té un o més fills i tot fill té una mare.

• La relació “tenir per fill” entre dones i fills és parcial, aj que no totes les dones tenen fills, encara que tots els fills tinguin una dona per mare.

• La relació “dirigir” entre directors i departaments és total, ja que cada director dirigeix un departament i tot departament és dirigit per un director.

• La relació “dirigir” entre empleats i departaments és parcial ja que no tot empleat dirgeix un departament , encara que tots els directors tinguin un empleat com a director.

2.2.2.6

2.2.3 Atributs

:: són les propietats o característiques específiques de cada entitat. Cada atribut tindrà un determinat valor

10 De 19

Page 11: índex de contingut - XTECaarmeng4/c3/teoria/u2/tU.pdf · c3.adbd ud2.disseny de bases de dades i model entitat-relació 2.1.4 Nivell de modelatge a una base de dades 2.1.4.1 Esquema

c3.adbd ud2.disseny de bases de dades i model entitat-relació

(per exemple per l'entitat alumne, tindrem els atributs “Dni”,”Nom”, “Cognom1”... que per cada entitat/ocurrència diferent tindran uns determinats valors “77615932”, “pere”, “pi”, per un altre alume “4536783”, “Maria”, “Vidal”..). També es pot veure un atribut com una funció que assigna a una ocurrència uns determinats valors.

Hi ha dos tipus d’atributs:

1. Atributs identificadors (clau): atribut o conjunt d'atributs tal que els seus valors identifiquen de manera única una determinada ocurrència d'una entitat (registre). No pot tenir valor nul.

2. Atributs descriptors: complementen les característiques de cada ocurrència.

Tots els atributs poden ser atòmics o simples (un de sol) o compostos (formats per altres atributs simples).

A la vegada, els atributs identificadors, es poden classificar en:

1. Clau candidata: són totes aquelles que podem triar per a ser clau primària.

2. Clau primària: de totes les possibilitats existents, seria la que nosaltres triem per determinar cada ocurrència.

3. Clau alternativa: són aquelles que un cop escollida la clau primària, ens queden per poder elegir.

Propietats d’un atribut clau:

• Una clau ha de ser mínima, això vol dir que si en trèiem algun atribut, deixa de ser clau.

• Una clau només és necessari que tingui atributs identificadors.

• Com menys atributs tingui una clau millor.

Cal tenir en compte que les entitats dèbils s’identifiquen a partir de l’identificador de l’entitat de la qual depèn.

Domini d'un atribut:: representa el conjunt de valors permesos per aquest atribut.

Atributs multievaluats:: la majoria de les entitats disposen d'atributs d'un valor únic, però poden existir-ne algunes que tinguin un conjunt de valors associats (pe. Centre on està ubicat un determinat departament). Generalment no usarem mai els atributs multivaluats, si no que es crearà una nova relació per poder-los representar.

Atributs compostos:: són atributs que es poden dividir (pe. El nom complert d'una persona es pot dividir en Nom Cognom1 i Cognom2).

Atribut derivat:: és el que es pot deduir a partir d'un altre (pe. L'edat a partir de la data de naixement). Generalment no es guarden.

Representació dels atributs.

Els atributs es representen amb un punt connectat amb l’entitat o relació a la qual pertanyen.

En funció de les seves característiques es representaran:

El nom de l’atribut el el model ER el posarem en minúscules.

Si un atribut pogués prendre més d’un valor, posarem el símbol # abans del nom de l’atribut.

Exemples:

11 De 19

Page 12: índex de contingut - XTECaarmeng4/c3/teoria/u2/tU.pdf · c3.adbd ud2.disseny de bases de dades i model entitat-relació 2.1.4 Nivell de modelatge a una base de dades 2.1.4.1 Esquema

c3.adbd ud2.disseny de bases de dades i model entitat-relació

Atributs de les relacions:: una relació pot tenir atributs descriptius (pe. En la relació “estar matriculat de” entre ALUMNE i ASSIGNATURA podem veure que té atributs específics de la relació com nota, convocatòria, etc.. i en la relació “està format per” entre PRODUCTE i COMPONENT veiem que tenim un atribut específic d'aquesta relació que pot ser el nombre d'un determinat componet per formar aquell producte.

Atributs de relació:

2.2.4 Quadre resum del model Entitat-Interrelació:

Exercici:

Suposem que volem crear una Base de Dades on pretenem emmagatzemar la informació referent a concerts que realitzen unes orquestres per una casa de representacions artístiques, que treballa amb una sèrie de patrocinadors.

El responsable de l’empresa promotora ens ha donat la següent informació:

• Un patrocinador pot patrocinar un sol concert, però un concert

• pot tenir diferents patrocinadors.

• Un concert l’interpreta una orquestra.

12 De 19

Page 13: índex de contingut - XTECaarmeng4/c3/teoria/u2/tU.pdf · c3.adbd ud2.disseny de bases de dades i model entitat-relació 2.1.4 Nivell de modelatge a una base de dades 2.1.4.1 Esquema

c3.adbd ud2.disseny de bases de dades i model entitat-relació

• Una orquestra resideix en una ciutat.

• En un concert, s’interpreten vàries obres, i una obra es pot interpretar en varis concerts.

• Un concert es fa en un dia i un lloc determinat (ciutat).

• De cada obra tocada en un concert es vol obtenir una crítica musical.

En l’enunciat, hem destacat en negreta les possibles entitats que es derivaran de l’enunciat, i en cursiva tenim destacat les possibles interrelacions que existeixen entre les diferents entitats (cal dir que no sempre serà tant senzill com en aquest cas).

13 De 19

Page 14: índex de contingut - XTECaarmeng4/c3/teoria/u2/tU.pdf · c3.adbd ud2.disseny de bases de dades i model entitat-relació 2.1.4 Nivell de modelatge a una base de dades 2.1.4.1 Esquema

c3.adbd ud2.disseny de bases de dades i model entitat-relació

2.3 Model estès – Model Orientat a Objectes

• Model E-R estès

• Model abstracte de dades més utilitzat actualment.

• Basat en el model E-R de Chen, incorporant conceptes de programació orientada a objectes en els models semàntics de dades:

• Especialització – Generalització

• Agreagció

• Estudia el comportament de les dades, no de les estructures.

• Busca formes de manipular les dades, no les estructures.

2.3.1 Abstracció en el disseny conceptual de Bases de Dades

Definim abstracció com:

Procés mental que s’aplica al seleccionar algunes característiques i propietats d’un conjunt d’objectes i excloure’n altres de no pertinents.

Es fa abstracció al fixar l’atenció en les propietats considerades com essencials d’un conjunt de coses.

Exemple: abstracció de l’objecte bicicleta:

En el disseny conceptual de Bases de Dades, s’utilitzen tres tipus d’abstracció:

• Classificació

• Agregació

• Generalització

2.3.1.1 Abstracció de classificació

S’utilitza per definir un concepte com una classe d’objectes de la realitat, caracteritzats per propietats comunes.

Exemple:

Els mesos de l’any: es fa una abstracció de les característiques específiques de cada més (nombre de dies) i es destaquen els aspectes comuns de tots els mesos: grups de dies amb límits ben definits i amb dimensions aproximadament iguals.

Esquema:

També poden existir classificacions múltiples.

2.3.1.2 Abstracció d'agregació

14 De 19

Page 15: índex de contingut - XTECaarmeng4/c3/teoria/u2/tU.pdf · c3.adbd ud2.disseny de bases de dades i model entitat-relació 2.1.4 Nivell de modelatge a una base de dades 2.1.4.1 Esquema

c3.adbd ud2.disseny de bases de dades i model entitat-relació

Defineix una nova classe a partir d’un conjunt d’altres classes que representen parts components de la nova classe.

Exemple:

S’aplica aquesta abstracció quan a partir de les classes RODA, PEDAL, MANILLAR,... es forma la classe BICICLETA.

També s’aplica si a partir de NOM, SEXE i SALARI s’obté la classe PERSONA o EMPLEAT.

Esquema:

Hem de tenir en compte, que es poden combinar diferents tipus d’abstraccions:

2.3.1.3 Abstracció de generalització

Aquesta abstracció defineix una relació de subconjunt entre els elements de dos o més classes.

Exemple:

La classe VEHICLE és una generalització de la classe BICICLETA ja que totes les bicicletes són vehicles.

La classe PERSONA és una generalització de les classes HOME i DONA.

2.3.1.4 Propietats de les correspondències entre classes

Les abstraccions d’agregació i generalització estableixen correspondències entre classes.

Podem definir entre:

� Agregacions binàries.

� Agregacions n-àries.

� Generalitzacions.

2.3.1.4.1 Agregació binària

És una correspondència que s’estableix entre dos classes.

Exemple:

VIU és una agregació binària de PERSONA i EDIFICI.

15 De 19

Page 16: índex de contingut - XTECaarmeng4/c3/teoria/u2/tU.pdf · c3.adbd ud2.disseny de bases de dades i model entitat-relació 2.1.4 Nivell de modelatge a una base de dades 2.1.4.1 Esquema

c3.adbd ud2.disseny de bases de dades i model entitat-relació

ÉS_PROPIETARI és una agregació binària de PERSONA i EDIFICI.

Cada correspondència es caracteritza per tenir propietats diferents. Aquestes propietats es refereixen a la cardinalitat.

Considerem una agregació A entre les classes C1 i C2.

• Cardinalitat mínima: (card_min) és el menor número de correspondències que els elements de la classe poden tenir en l’agregació.

• Cardinalitat màxima: (card_max) és el major número de correspondències que els elements de la classe poden tenir en l’agregació.

• Cardinalitat: (card) és el parell format per la cardinalitat mínima i la màxima card(C,A) = (m,M).

En funció de la cardinalitat de les classes podem definir el tipus d’agregació:

• un a un: si card_max(C1,A) = 1 i card_max(C2,A) = 1.

• un a n: si card_max(C1,A) = 1 i card_max(C2,A) = n.

• n a un: si card_max(C1,A) = n i card_max(C2,A) = 1.

• n a m: si card_max(C1,A) = n i card_max(C2,A) = n.

Exemples:

16 De 19

Page 17: índex de contingut - XTECaarmeng4/c3/teoria/u2/tU.pdf · c3.adbd ud2.disseny de bases de dades i model entitat-relació 2.1.4 Nivell de modelatge a una base de dades 2.1.4.1 Esquema

c3.adbd ud2.disseny de bases de dades i model entitat-relació

2.3.1.4.2 Agregació n-ària

És una correspondència establerta entre tres o més classes.

Exemple:

Les cardinalitats d’aquest tipus de correspondència es defineixen en els mateixos termes que per l’agregació binària.

2.3.1.4.3 Generalitzacions

Estableixen una correspondència entre la classe genèrica i les classes subconjunt.

A la vegada les generalitzacions es poden classificar segons siguin:

• De cobertura total o parcial:

o És total si cada element de la classe genèrica correspon almenys a un element de les classes subconjunt.

o És parcial si existeix algun element de la classe genèrica que no correspon a les classes subconjunt.

• De cobertura exclusiva o superposada:

o És exclusiva si cada element de la classe genèrica es correspon a un i només un element de les classes subconjunt.

17 De 19

Page 18: índex de contingut - XTECaarmeng4/c3/teoria/u2/tU.pdf · c3.adbd ud2.disseny de bases de dades i model entitat-relació 2.1.4 Nivell de modelatge a una base de dades 2.1.4.1 Esquema

c3.adbd ud2.disseny de bases de dades i model entitat-relació

o És superposada si existeixen elements de la classe genèrica que es corresponen a més d’una classe subconjunt.

Exemples:

2.3.1.5 Els models de dades

Definim model de dades com: abstraccions mitjançant les quals es pot realitzar una representació dels problemes en estudi.

Així mateix el model de dades es divideix a la vegada en dos submodels:

1. El submodel encarregat de definir les propietats estàtiques del sistema; aquelles característiques que són invariants en el temps i que identifiquen el sistema i cadascun dels objectes constituents.

2. Un submodel encarregat de descriure les propietats dinàmiques del sistema; les accions que pot prendre el sistema i cadascun dels objectes que el constitueixen. Aquestes accions fan que el sistema evolucioni i pugui passar d’un estat (E1) a un altre (E2).

Existeixen molts models de dades, i cadascun es fonamenta en una teoria per ser representat.

De forma general, tots els models presenten:

1. Un conjunt de regles mitjançant les quals pot ser representat gràficament un problema. Aquestes regles estan suportades per un conjunt de símbols pels que poden ser representats tots els objectes del sistema. Les regles també permeten representar les restriccions del problema.

2. Un pseudollenguatge, format per un conjunt reduït de morfemes i una sintaxi perfectament establerta. Aquest pseudollenguatge permet definir les propietats estàtiques i dinàmiques del sistema.

3. Un conjunt de restriccions que limiten l’àmbit d’actuació del model.

Els models de dades permeten la representació del problema a tres nivells d’abstracció:

1. Nivell conceptual:

a. Estructura: descripció dels objectes del món real, dels seus atributs i propietats i de les relacions entre els objectes.

b. Comportament: descripció del comportament dels objectes, les accions, operacions i processos que aquests objectes realitzen sobre altres objectes, així com les que són realitzades sobre els objectes del sistema.

2. Nivell lògic (organitzatiu):

18 De 19

Page 19: índex de contingut - XTECaarmeng4/c3/teoria/u2/tU.pdf · c3.adbd ud2.disseny de bases de dades i model entitat-relació 2.1.4 Nivell de modelatge a una base de dades 2.1.4.1 Esquema

c3.adbd ud2.disseny de bases de dades i model entitat-relació

a. Estructura: descripció dels objectes, així com les relacions existents entre els objectes lògics, identificant els atributs pels quals aquests objectes poden ser identificats.

b. Comportament: descripció de les tasques que s’han de realitzar per representar el comportament dels objectes. Aquestes tasques s’agrupen en fases i procediments.

3. Nivell físic (procedimental):

a. Estructura: descripció dels objectes físics l’estructura i relacions dels objectes són representades de forma adequada pel seu posterior emmagatzematge, recuperació i tractament.

b. Comportament: descripció de les accions elementals que s’han de realitzar per representar el comportament dels objectes. aquestes accions són representades sota les limitacions del llenguatge que s’utilitzi per la seva implementació.

2.4 Disseny d'una base de dades

2.5 Models de sistemes gestors de bases de dades

19 De 19