Model relacional i normalització

32
Desenvolupament aplicacions multiplataforma (DAM) Mòdul 2 – Bases de dades Durada mòdul: 231 hores UF1 - Introducció a les bases de dades Tema 1 – Model entitat-relació Durada UF: 48 Hores Durada: hores Total hores: Objectius 1. Coneixements previs Model enitat-relació (ER). Entitat i conjunt d'entitats. Entitats fortes i dèbils Atributs Domini Null Identificador Multivalor Compost o jeràrquic Calculat o derivat Relacions Tipus de relació i cardinalitat màxima i mínima Participació total / parcial Ternàries (n-àries) Reflexives Especialització i generalització Total o parcial Disjunta o solapada Autor: Miquel Boada Pàgina 1 de 32

Transcript of Model relacional i normalització

Page 1: Model relacional i normalització

Desenvolupament aplicacions multiplataforma (DAM)

Mòdul 2 – Bases de dades

Durada mòdul: 231 hores

UF1 - Introducció a les bases de dades

Tema 1 – Model entitat-relació

Durada UF: 48 Hores

Durada: horesTotal hores:

Objectius 1.

Coneixements previs• Model enitat-relació (ER).

• Entitat i conjunt d'entitats.

◦ Entitats fortes i dèbils

• Atributs

◦ Domini

◦ Null

◦ Identificador

◦ Multivalor

◦ Compost o jeràrquic

◦ Calculat o derivat

• Relacions

◦ Tipus de relació i cardinalitat màxima i mínima

◦ Participació total / parcial

◦ Ternàries (n-àries)

◦ Reflexives

• Especialització i generalització

◦ Total o parcial

◦ Disjunta o solapada

Autor: Miquel Boada Pàgina 1 de 32

Page 2: Model relacional i normalització

Desenvolupament aplicacions multiplataforma (DAM)

Mòdul 2 – Bases de dades

Durada mòdul: 231 hores

UF1 - Introducció a les bases de dades

Tema 1 – Model entitat-relació

Durada UF: 48 Hores

Durada: horesTotal hores:

MODEL RELACIONALNormalització

Miquel Boada Artigas

Autor: Miquel Boada Pàgina 2 de 32

Page 3: Model relacional i normalització

Desenvolupament aplicacions multiplataforma (DAM)

Mòdul 2 – Bases de dades

Durada mòdul: 231 hores

UF1 - Introducció a les bases de dades

Tema 1 – Model entitat-relació

Durada UF: 48 Hores

Durada: horesTotal hores:

IndexObjectius 1Coneixements previs .................................................................................................................................. 1MODEL RELACIONAL ........................................................................................................................... 2Introducció ................................................................................................................................................. 7Model relacional ......................................................................................................................................... 7Objectius .................................................................................................................................................... 7Terminologia .............................................................................................................................................. 7 Registre ................................................................................................................................ 7 Taula .................................................................................................................................... 7 Camp .................................................................................................................................... 8 Clau primària ....................................................................................................................... 8 Clau candidata o secundària ................................................................................................ 8Dependència funcional ............................................................................................................................... 9 Sistema càlcul dependència funcional ................................................................................. 9

Càlcul dependència funcional .............................................................................................. 9 Exemple ............................................................................................................................. 10

Normalització ...........................................................................................................................................16 Anomalies de no normalització ......................................................................................... 16

Redundància de dades ........................................................................................................ 16 Coherència de dades .......................................................................................................... 16

Procés de normalització ..................................................................................................... 17Formes normals ........................................................................................................................................ 20 Primera forma normal (1FN) ............................................................................................. 20

No hi ha registres duplicats ................................................................................................ 20 No hi ha atributs derivats ................................................................................................... 22 No hi ha atributs compostos .............................................................................................. 22 No hi ha noms de camps duplicats .................................................................................... 22 Tots els valors de cada camp són atòmics .......................................................................... 23

Segona forma normal (2FN) .............................................................................................. 25 Identificar clau primària .................................................................................................... 25

Clau primària per taula telèfon .................................................................................. 25Clau primària per la taula «Estudiant UF» ................................................................ 26

Conversió de la taula a 2a FN ............................................................................................ 27 Tercera forma normal (3FN) .............................................................................................. 29

Aplicació 3FN a taula «Telèfon» ....................................................................................... 29 Aplicació 3FN a taula «UF» .............................................................................................. 29 Aplicació 3FN a taula «Qualificació» ............................................................................... 30 Aplicació 3FN a taula «Estudiant» .................................................................................... 30

Tercera forma normal – Boyce-Codd (3FNBC) ................................................................ 32 Aplicació 3FNBC a taula «Telèfon» .................................................................................. 32 Aplicació 3FNBC a taula «UF» ......................................................................................... 33 Aplicació 3FNBC a taula «Qualificació» .......................................................................... 33 Aplicació 3FNBC a taula «Estudiant» ............................................................................... 34 Aplicació 3FNBC a taula «Població» ................................................................................ 34

Webgrafia ................................................................................................................................................. 35

Autor: Miquel Boada Pàgina 3 de 32

Page 4: Model relacional i normalització

Desenvolupament aplicacions multiplataforma (DAM)

Mòdul 2 – Bases de dades

Durada mòdul: 231 hores

UF1 - Introducció a les bases de dades

Tema 1 – Model entitat-relació

Durada UF: 48 Hores

Durada: horesTotal hores:

Autor: Miquel Boada Pàgina 4 de 32

Page 5: Model relacional i normalització

Desenvolupament aplicacions multiplataforma (DAM)

Mòdul 2 – Bases de dades

Durada mòdul: 231 hores

UF1 - Introducció a les bases de dades

Tema 1 – Model entitat-relació

Durada UF: 48 Hores

Durada: horesTotal hores:

IntroduccióUn model és un conjunt de normes que ens permeten descriure el món real. Els modelssón importants perquè unifiquen la forma de representar la informació fent possiblel’entesa entre les diferents persones.El procés general en la creació d'un sistema de base de dades consisteix en:

Especificacions->Model E-R->Model relacional->Model físic.

Model relacionalEl model relacional es desenvolupa a partir del model enitat-relació (ER) i és el penúltimpas per a desenvolupar el model físic, que conformen les instruccions a executar. Adiferència del model ER, es disposen d'una sèrie de tècniques o passos per a crear elmodel relacional.Igual que el model ER, el model relacional és un model semàntic: es centra amb elsignificat de les dades a través de la seva representació.

ObjectiusEl model relacional consisteix en realitzar un disseny de la informació, normalment apartir d'un model ER previ, tenint com a objetius bàsics:

1. Minimitzar la redundància de dades.2. Assegurar l'accés eficient a la informació.

Per aconseguir aquests objectius s'estableixen 5 formes normals o 5 regles que calcomplir. Tot bon disseny cal que compleixi amb aquestes regles, tot i que a nivell«pràctic» és suficient amb les 3 primeres.

TerminologiaLa terminologia que s'utilitza en el model ER és diferent a l'utilitzada en el modelrelacional. És per aquest motiu que cal definir alguns termes i fer la correspondènciaamb el model ER.

RegistreUn registre es correspon a una entitat del model ER. En aquest sentit, un registre estaràforma per un conjunt de dades normalment de diferents tipus.

TaulaUna taula és una estructura que permet emmagatzemar un conjunt de registres. Unataula és l'equivalent a un conjunt d'entitats en el model ER, tot i que, com veuremposteriorment, algunes taules són el resultat d'una relació entre diferents conjuntsd'entitats.

Autor: Miquel Boada Pàgina 5 de 32

Page 6: Model relacional i normalització

Desenvolupament aplicacions multiplataforma (DAM)

Mòdul 2 – Bases de dades

Durada mòdul: 231 hores

UF1 - Introducció a les bases de dades

Tema 1 – Model entitat-relació

Durada UF: 48 Hores

Durada: horesTotal hores:

CampUn camp es correspon a una dada d'un registre. Un camp és l'equivalent a un atribut delmodel ER, tot i que no tots els atributs es transformen en camps. Cada camp tindràassociat un tipus, que normalment ve determinat pel domini de l'atribut o la naturalesa.

Clau primàriaUna clau primària és un atribut identificador associat a un conjunt d'entitats. Per tant,una clau primària serà sempre un o varis camps que em permeten identificar unregistre dins una taula. Si la clau primària està formada per varis camps s'obté una claucomposta.

Clau candidata o secundàriaEn el model ER a vegades hi ha varis atributs que podem escollir com a atributidentificador. Per exemple, si tinc un conjunt d'entitats «treballador» tinc 2 possiblescandidats (com a mínim) a ser identificador: «número seguretat social» i «dni». Tots elscamps associats a atributs identificadors que no formin part de la clau primària sónclaus candidates.

Autor: Miquel Boada Pàgina 6 de 32

Page 7: Model relacional i normalització

Desenvolupament aplicacions multiplataforma (DAM)

Mòdul 2 – Bases de dades

Durada mòdul: 231 hores

UF1 - Introducció a les bases de dades

Tema 1 – Model entitat-relació

Durada UF: 48 Hores

Durada: horesTotal hores:

Dependència funcionalUna dependència funcional es dóna quan a partir d'un o varis atributs d'un conjunt derelacions es pot determinar el valor de qualsevol altre atribut. Existirà una dependènciafuncional entre l'atribut «a1» i «a2» que pertanyen al mateix conjunt de relacions «A» sisabent el valor de l'atribut «a1» sempre sé el valor de l'atribut «a2». Expressarem que«a2» té una dependència funcional d'«a1» o bé que «a1» determina a «a2» utilitzantuna fletxa (→) i incloent entre {} tots els atributs que queden determinats.a1 → {a2} : a1 determina a a2 o a2 té una dependència funcional d'a1a2 → {a1} : a2 determina a a1 o a1 té una dependència funcional d'a2

Sistema càlcul dependència funcionalUna dependència funcional moltes vegades es pot deduir pel que representa l'atribut.Així, per exemple, si tinc un atribut «codi postal» i un atribut «nom» (de la població),està clar que donat un codi postal jo sempre podré dir quina població és: el nom de lapoblació té una dependència funcional respecte al codi postal o que el codi postal emdetermina el nom de la població. En canvi, el nom de la població no determina el codipostal, ja que Barcelona té molts codis postals: si dic Barcelona no puc donar només unúnic codi postal! El codi postal no té una dependència funcional en relació al nom de lapoblació.

Càlcul dependència funcionalLes dependències funcionals no sempre són tan clares com el codi postal i el nom d'unapoblació. Quan es dónen aquesta situació , cal disposar d'un sistema per a poderdeterminar quines són les dependències funcionals. Per explicar el sistema suposaremque tenim un conjunt d'entitats «A» amb els atributs «a1», «a2» i «a3».

1. Crearem una sèrie d'entitats que siguin representatives.2. Mirarem quin atribut o atributs no tenen repeticions3. Si hi ha un atribut que no té cap repetició, la resta d'atributs tindran una

dependència funcional respecte a aquest atribut.

Autor: Miquel Boada Pàgina 7 de 32

Page 8: Model relacional i normalització

Desenvolupament aplicacions multiplataforma (DAM)

Mòdul 2 – Bases de dades

Durada mòdul: 231 hores

UF1 - Introducció a les bases de dades

Tema 1 – Model entitat-relació

Durada UF: 48 Hores

Durada: horesTotal hores:

Suposem que les entitats que agafem com a mostra són les que es mostren en la taula:Conjunt entitats: A Dependències funcionalsatrib1 atrib2 atrib3 Observem com l'atribut 1 i 2 («atrib1» i «atrib2») no tenen

cap valor repetit per les entitats de mostra. Si em diuen unvalor de «l'atrib1» o de l'atrib2 sempre se sap a quin valorcorrespon per la resta d'atributs. Per tant, puc afirmar que:

atrib1 → {atrib2, atrib3} i atrib2 → {atrib1, atrib3}L'atrib3 no determina cap atribut, ja que per exemple, pelvalor va31 no puc dir un valor de l'atrib1 únic ni tampoc del'atrib2.

atrib3 → {}

va11 va21 va31

va12 va22 va31

va13 va23 va31

va14 va24 va32

va15 va25 va33

va16 va26 va33

Si el nostre conjunt d'entitats tingués com a mostra de valors (s'ha sombrejat l'únicaentitat en la qual s'han fet canvis:

Conjunt entitats: A Dependències funcionalsatrib1 atrib2 atrib3 Els valors d'«atrib1» no han canviat i són tots diferents. Per

tant, la dependència es manté:atrib1 → {atrib2, atrib3}

Per contra, «atrib2» representa un valor duplicat «va22». Peraquest valor, no puc determinar ún únic valor de l'atrib1, potser «va12» o «va13». Per tant, «atrib2» no em determina«atrib1». «atrib2» sí que continua determinant «atrib3», jaque pel valor repetit «va22», el valor d'«atrib3» és el mateix«va31»

atrib2 → {atrib3} i atrib3 → {}

va11 va21 va31

va12 va22 va31

va13 va22 va31

va14 va24 va32

va15 va25 va33

va16 va26 va33

ExempleUtilitzem un exemple per a veure com calculem les dependències funcionals. Suposemque tenim una taula amb els camps: «Cavall», «Hípica», «Data», «Temps», «Club»,«Llicència», «Campió» i «Núm.» amb els següents registres:

Autor: Miquel Boada Pàgina 8 de 32

Page 9: Model relacional i normalització

Desenvolupament aplicacions multiplataforma (DAM)

Mòdul 2 – Bases de dades

Durada mòdul: 231 hores

UF1 - Introducció a les bases de dades

Tema 1 – Model entitat-relació

Durada UF: 48 Hores

Durada: horesTotal hores:

CavallCavall Hípica Data Temps Club Llicència Campió Núm.

Amor Camil 11/10/12 01:34:00 8474 2976 Fruit 2978Diversió Camil 11/10/12 01:49:00 8474 2977 Fruit 2978Fruit Camil 11/10/12 01:32:00 8474 2978 Fruit 2978Gaudir Camil 11/10/12 01:54:00 8474 2979 Fruit 2978Amor Camil 13/10/12 01:34:00 8474 2976 Diversio 2977Diversió Camil 13/10/12 01:39:00 8474 2977 Diversio 2977Fruit Camil 13/10/12 01:12:00 8474 2978 Diversio 2977Gaudir Camil 13/10/12 01:25:00 8474 2979 Diversio 2977Amor Rial 15/10/12 01:34:00 7000 2976 Diversio 2977Diversió Rial 15/10/12 01:39:00 7000 2977 Diversio 2977Fruit Rial 15/10/12 01:12:00 7000 2978 Diversio 2977Gaudir Rial 15/10/12 01:25:00 7000 2979 Diversio 2977

Per a calcular les dependències funcionals fem una taula on creuarem tots els campsentre ells. Per a cada un dels camps indicarem si hi ha una dependència funcional o noentre els dos atributs relacionats.

Identificarem al cavall i l'hípica per la seva inicial. Identificarem la data segons el dia.Identificarem el temps pel minut. Identificarem la llicència i el núm. per l'últim dígit. Siel fons de la cel·la de la taula és de color verd , hi ha una dependència funcional, en cascontrari no hi ha dependència funcional.

Autor: Miquel Boada Pàgina 9 de 32

Page 10: Model relacional i normalització

Desenvolupament aplicacions multiplataforma (DAM) Mòdul 2 – Bases de dades

UF1 - Introducció a les bases de dades

Tema 2 – Model relacional

Cavall Hípica Data Temps Club Llicència Campió Num.

DF Motiu DF Motiu DF Motiu DF Motiu DF Motiu DF Motiu DF Motiu DF Motiu

Cavall NO A → C,R NO A → 11,13 NO D → 49,39 NO F → 4,0 Sí Cavall → {Llic.} NO A → F,D NO A → 7, 8

Hípica NO R → A,D,F,G NO C → 11,13 NO R → 34,39,12,25 Sí Hípica → {Club} NO R → 6,7,8,9 NO C → F,D NO C → 7, 8

Data NO 11 → A,D,F,G Sí Data → {Hípica} NO 15 → 34,39,12,25 Sí Data → {Club} NO 15 → 6,7,8,9 Sí Data → {Camp.} Sí Data→{Núm.}

Temps Sí Temps → {Cavall} NO 12 → C,R NO 12 → 13,15 NO 12 → 4,0 Sí Temps → {Llic.} Sí Temps → {Camp.} NO 34 → 7, 8

Club NO 0 → A,D,F,G Sí Club → {Hípica} NO 4 → 13,11 NO 0 → 34,39,12,25 NO 0 → 6,7,8,9 NO 4 → F,D NO 4 → 7, 8

Llicència Sí Cavall → {Llic.} NO 6 → C,R NO 6 → 13,15,11 NO 7 → 49,39 NO 7 → 4,0 NO 7 → F,D NO 6 → 7, 8

Campió NO F → A,D,F,G NO D → C,R NO D → 13,15 NO D → 34,39,12,25 NO D → 4,0 NO 0 → 6,7,8,9 Sí Camp.→{Núm}

Núm NO 8 → A,D,F,G NO 7 → C,R NO 7 → 13,15 NO 7 → 34,39,12,25 NO 7 → 4,0 NO 8 → 6,7,8,9 Sí Núm.→{Camp.}

Autor: Miquel Boada Pàgina 10 de 32

Page 11: Model relacional i normalització

Desenvolupament aplicacions multiplataforma (DAM)

Mòdul 2 – Bases de dades

Durada mòdul: 231 hores

UF1 - Introducció a les bases de dades

Tema 1 – Model entitat-relació

Durada UF: 48 Hores

Durada: horesTotal hores:

Cavall → {Llicència}

Hípica → {Club}

Data → {Hípica, Club, Campió, Num}

Temps → {Cavall, Llicència, Campió}

Club → {Hípica}

Llicència → {Cavall}

Campió → {Núm.}

Núm. → {Campió}

Donat que no hem trobat cap atribut que em determini a tots els altres el procéscontinua agafant parelles de camps, fins a trobar una parella, trio... que impliqui atots els camps de la taula. En aquest cas, proseguim el procés combinant el campdata amb tota la resta. El motiu de l'elecció de data és perquè aquest atribut jadetermina a 4 atributs de la taula.

Page 12: Model relacional i normalització

Desenvolupament aplicacions multiplataforma (DAM) Mòdul 2 – Bases de dades

UF1 - Introducció a les bases de dades

Tema 2 – Model relacional

Atribut Cavall Hípica Temps Club Llicència Campió Núm.

Data DF Motiu DF Motiu DF Motiu DF Motiu DF Motiu DF Motiu DF Motiu

Cavall Sí {data,cavall}->{Hípica} Sí {data,cavall}->{Temps} Sí {data,cavall}->{Club} Sí {data,cavall}->{Llicència} Sí{data,cavall}->{Campió} Sí

{data,cavall}->{Núm}

Hípica

Temps

Club

Llicència

Campió

Núm

Autor: Miquel Boada Pàgina 12 de 32

Page 13: Model relacional i normalització

Desenvolupament aplicacions multiplataforma (DAM)

Mòdul 2 – Bases de dades

Durada mòdul: 231 hores

UF1 - Introducció a les bases de dades

Tema 1 – Model entitat-relació

Durada UF: 48 Hores

Durada: horesTotal hores:

Amb els camps «Data» i «Cavall» tota la resta de camps de la taula quedendeterminats. La clau primària de la nostra taula és {data,cavall}.

A partir de les dependències funcionals es pot obtenir el model relacional, tot i queles dependències funcionals és un sistema molt lent per a obtenir el modelrelacional i s'utilitzen només per a validar que el model relacional compleix ambtotes les formes normals.

Autor: Miquel Boada Pàgina 13 de 32

Page 14: Model relacional i normalització

Desenvolupament aplicacions multiplataforma (DAM)

Mòdul 2 – Bases de dades

Durada mòdul: 231 hores

UF1 - Introducció a les bases de dades

Tema 1 – Model entitat-relació

Durada UF: 48 Hores

Durada: horesTotal hores:

NormalitzacióEl procés de normalització consisteix en convertir una superttaula on s'emmagatzematota la informació amb vàries taules menors per tal d'eliminar les anomalies de la nonormalització.

Anomalies de no normalitzacióSuposem que una base de dades consti d'una única taula per a emmagatzemar lainformació dels estudiants i de les unitats formatives que estan cursant. A continuacióés dóna una versió reduïda de la taula amb diferents registres

Estudiant UFsDNI NOM TELF. POB CP ADREÇA UF Nom UF40958733 Anna 934232775 Granollers 08402 C/Girona,23,7è 1a UF1 BD Intro40958733 Anna 665765431 Granollers 08402 C/Girona,23,7è 1a UF2 SQL76543123 Maria 623903212 Granollers 08403 C/Balmes,15 UF2 SQL76543124 Maria 623903213 St. Celoni 08470 C/Major,15 UF2 SQL40958735 Pere 934232776 Granollers 08402 C/Major,15 UF2 SQL40958736 Maria 934232776 Granollers 08402 C/Major,15 UF2 SQL

Redundància de dades

Cada vegada que un estudiant cursa una unitat formativa diferent, és necessariinformar de totes les dades de l'estudiant. La probabilitat d'error s'incrementa ja que hiha un major volum d'informació: les dades de l'estudiant només s'haurien d'introduiruna vegada.

Coherència de dades

No es garanteix que les dades siguin coherents, ja que si per un mateix estudiant s'hanintroduït dues adreces diferents, el sistema no pot controlar-ho. El fet que les dades nosiguin coherents és una conseqüència directe de la redundància de les dades.

Autor: Miquel Boada Pàgina 14 de 32

Page 15: Model relacional i normalització

Desenvolupament aplicacions multiplataforma (DAM)

Mòdul 2 – Bases de dades

Durada mòdul: 231 hores

UF1 - Introducció a les bases de dades

Tema 1 – Model entitat-relació

Durada UF: 48 Hores

Durada: horesTotal hores:

Procés de normalització

Per a normalitzar el primer que cal fer és localitzar les dependències funcionals. En elnostre exemple, és fàcil observar que hi ha 4 dependències funcionals diferents:

DNI → {NOM, TELF., POB., CP., ADREÇA}

UF → {Nom UF} i Nom UF → {UF}

CP → {POB.}

Cap de les dependències funcionals conté una clau primària. Per a obtenir una clauprimària, és necessari que entre els camps determinants i els camps amb dependènciafuncional conformin tots els camps de la taula.

En el nostre cas, per a obtenir una clau primària, és necessari disposar de 2 camps.Combinant «DNI» amb «UF» o «DNI» amb «nom UF» s'obté la clau primària

{DNI,UF } → {NOM, TELF., POB., CP., ADREÇA, Nom UF}

Les dependències funcionals ens indiquen com hem de dividir la nostra taula en taulesmés petites. En aquest cas tindrem tres taules diferents, una per a cada dependènciafuncional1.

CP → {POB.} UF → {Nom UF} o Nom UF → {UF}

Població UF

Codi Postal (CP) Nom (Població) Codi Nom

08402 Granollers UF1 BD Intro

08403 Granollers UF2 SQL

08470 St. Celoni

Creem una taula a partir dels camps que em determina el camp DNI. Anomenemestudiant a aquesta taula. De la taula estudiant cal eliminar tots els camps que tinguinuna dependència funcional amb un altre camp; en el nostre cas, el camp poblaciódepèn de codi postal i per tant, eliminem el camp població de la taula. Els camps «UF» i«nom UF» no estan determinats pel DNI.

1 La dependència funcional UF → {Nom UF} i Nom UF → {UF} cal contabilitzar-la com una única dependència funcional ja que hiha els mateixos camps implicats.

Autor: Miquel Boada Pàgina 15 de 32

Page 16: Model relacional i normalització

Desenvolupament aplicacions multiplataforma (DAM)

Mòdul 2 – Bases de dades

Durada mòdul: 231 hores

UF1 - Introducció a les bases de dades

Tema 1 – Model entitat-relació

Durada UF: 48 Hores

Durada: horesTotal hores:

DNI → {NOM, TELF., POB., CP., ADREÇA}

Estudiant

DNI NOM TELF. POB CP ADREÇA

40958733 Anna 934232775 Granollers 08402 C/Girona,23,7è 1a

40958733 Anna 665765431 Granollers 08402 C/Girona,23,7è 1a

76543123 Maria 623903212 Granollers 08403 C/Balmes,15

76543124 Maria 623903213 St. Celoni 08470 C/Major,15

40958735 Pere 934232776 Granollers 08402 C/Major,15

40958736 Maria 934232776 Granollers 08402 C/Major,15

La taula final queda com:

DNI → {NOM, TELF., POB., CP., ADREÇA}

Estudiant

DNI NOM TELF. CP ADREÇA

40958733 Anna 934232775 08402 C/Girona,23,7è 1a

40958733 Anna 665765431 08402 C/Girona,23,7è 1a

76543123 Maria 623903212 08403 C/Balmes,15

76543124 Maria 623903213 08470 C/Major,15

40958735 Pere 934232776 08402 C/Major,15

40958736 Maria 934232776 08402 C/Major,15

{DNI,UF } → {NOM, TELF., POB., CP., ADREÇA, Nom UF}

Estudiant UFs

DNI NOM TELF. POB CP ADREÇA UF Nom UF

40958733 Anna 934232775 Granollers 08402 C/Girona,23,7è 1a UF1 BD Intro

40958733 Anna 665765431 Granollers 08402 C/Girona,23,7è 1a UF2 SQL

76543123 Maria 623903212 Granollers 08403 C/Balmes,15 UF2 SQL

76543124 Maria 623903213 St. Celoni 08470 C/Major,15 UF2 SQL

40958735 Pere 934232776 Granollers 08402 C/Major,15 UF2 SQL

40958736 Maria 934232776 Granollers 08402 C/Major,15 UF2 SQL

DNI → {NOM, TELF., POB., CP., ADREÇA} UF → {Nom UF}

Autor: Miquel Boada Pàgina 16 de 32

Page 17: Model relacional i normalització

Desenvolupament aplicacions multiplataforma (DAM)

Mòdul 2 – Bases de dades

Durada mòdul: 231 hores

UF1 - Introducció a les bases de dades

Tema 1 – Model entitat-relació

Durada UF: 48 Hores

Durada: horesTotal hores:

{DNI,UF } → {}

Estudiant UFs

DNI UF

40958733 UF1

40958733 UF2

76543123 UF2

76543124 UF2

40958735 UF2

40958736 UF2

{UF } → { NomUF }

Estudiant UFs

NomUF UF

BD Intro UF1

SQL UF2

Autor: Miquel Boada Pàgina 17 de 32

Page 18: Model relacional i normalització

Desenvolupament aplicacions multiplataforma (DAM)

Mòdul 2 – Bases de dades

Durada mòdul: 231 hores

UF1 - Introducció a les bases de dades

Tema 1 – Model entitat-relació

Durada UF: 48 Hores

Durada: horesTotal hores:

Formes normalsEl procés de normalització es pot aplicar de forma més metòdica (i segura) aplicantcada una de les 5 formes normals. Tot i que hi hagin 5 fòrmules normals, a efectespràctics només cal aplicar fins a la 3era forma normal.

Estudiant UFs

DNI Nom Telf.POBLACIO

AdreçaUF

Nota TotalUFsNOM CP Codi Nom

40958733 Anna 934232775,61543121 Granollers 08402 C/Girona,23 UF1 BD 8 2

40958733 Anna 934232775,61543121 Granollers 08402 C/Girona,23 UF2 SQL 7 2

76543123 Maria 623903212 Granollers 08403 C/Balmes,15 UF2 SQL 8 2

76543123 Maria 623903212 Granollers 08403 C/Balmes,15 UF2 SQL 8 2

75343788 Joan 934232775 Granollers 08402 C/Girona,23 UF2 SQL 7 1

40958735 Pere 934232776 Granollers 08402 C/Major,15 UF2 SQL 7 1

40958736 Maria 934232776 St. Celoni 08470 C/Major,15 UF2 SQL 7 1

Primera forma normal (1FN)Per tal que una taula estigui en 1FN cal que es compleixin els següents punts:

✔ No hi ha registres duplicats

✔ No hi hagi atributs derivats/calculats.

✔ No hi ha atributs compostos.

✔ El nom del camp és únic en tota la taula.

✔ Tots els valors de cada camp són atòmics: no hi ha multivalors.

No hi ha registres duplicatsEn la taula, els últims dos registres tenen les mateixes dades. Per tal que estigui en 1aforma normal, cal eliminar el registre duplicat.

Autor: Miquel Boada Pàgina 18 de 32

Page 19: Model relacional i normalització

Desenvolupament aplicacions multiplataforma (DAM)

Mòdul 2 – Bases de dades

Durada mòdul: 231 hores

UF1 - Introducció a les bases de dades

Tema 1 – Model entitat-relació

Durada UF: 48 Hores

Durada: horesTotal hores:

Estudiant UFs

DNI Nom Telf.POBLACIO

AdreçaUF

Nota TotalUFsNom CP Codi Nom

40958733 Anna 934232775,61543121 Granollers 08402 C/Girona,23 UF1 BD 8 2

40958733 Anna 934232775,61543121 Granollers 08402 C/Girona,23 UF2 SQL 7 2

76543123 Maria 623903212 Granollers 08403 C/Balmes,15 UF2 SQL 8 1

75343788 Joan 934232775 Granollers 08402 C/Girona,23 UF2 SQL 7 1

40958735 Pere 934232776 Granollers 08402 C/Major,15 UF2 SQL 7 1

40958736 Maria 934232776 St. Celoni 08470 C/Major,15 UF2 SQL 7 1

No hi ha atributs derivatsPer tal que el model relacional compleixi en la 1FN no pot haver-hi cap atribut que siguiderivat. Com que aquests atributs s'obtenen a partir de la informació emmagatzemadaen altres atributs, no cal guardar aquest valor: quan es necessiti saber el valor d'aquestatribut s'executarà el càlcul.En la taula es porta un registre de quantes unitats formatives fa cada alumne. Aquestainformació es pot obtenir de la resta de camps, a partir de l'alumne i les UFsassignades. Per tal que estigui en 1FN cal eliminar aquest camp.

Estudiant UFs

DNI Nom Telf.POBLACIO

AdreçaUF

NotaNom CP Codi Nom

40958733 Anna 934232775,61543121 Granollers 08402 C/Girona,23 UF1 BD 8

40958733 Anna 934232775,61543121 Granollers 08402 C/Girona,23 UF2 SQL 7

76543123 Maria 623903212 Granollers 08403 C/Balmes,15 UF2 SQL 8

75343788 Joan 934232775 Granollers 08402 C/Girona,23 UF2 SQL 7

40958735 Pere 934232776 Granollers 08402 C/Major,15 UF2 SQL 7

40958736 Maria 934232776 St. Celoni 08470 C/Major,15 UF2 SQL 7

Autor: Miquel Boada Pàgina 19 de 32

Page 20: Model relacional i normalització

Desenvolupament aplicacions multiplataforma (DAM)

Mòdul 2 – Bases de dades

Durada mòdul: 231 hores

UF1 - Introducció a les bases de dades

Tema 1 – Model entitat-relació

Durada UF: 48 Hores

Durada: horesTotal hores:

No hi ha atributs compostosEn el nostre exemple hi ha 2 camps compostos, un relacionat amb la població i un altrerelacionat amb l'unitat formativa. Cal descomposar aquests atributs compostos amb elsvalors simples.

Estudiant UFs

DNI Nom Telf. Nom CP Adreça Codi Nom Nota

40958733 Anna 934232775,61543121 Granollers 08402 C/Girona,23 UF1 BD 8

40958733 Anna 934232775,61543121 Granollers 08402 C/Girona,23 UF2 SQL 7

76543123 Maria 623903212 Granollers 08403 C/Balmes,15 UF2 SQL 8

75343788 Joan 934232775 Granollers 08402 C/Girona,23 UF2 SQL 7

40958735 Pere 934232776 Granollers 08402 C/Major,15 UF2 SQL 7

40958736 Maria 934232776 St. Celoni 08470 C/Major,15 UF2 SQL 7

No hi ha noms de camps duplicatsEn el nostre exemple hi ha tres camps que estan batejats com a «nom». Per tant,s'hauran de canviar el nom d'aquests camps per tal que la taula estigui en primeraforma normal.

Estudiant UFs

DNI Nom Telf. Població CP Adreça Codi UF Nota

40958733 Anna 934232775,61543121 Granollers 08402 C/Girona,23 UF1 BD 8

40958733 Anna 934232775,61543121 Granollers 08402 C/Girona,23 UF2 SQL 7

76543123 Maria 623903212 Granollers 08403 C/Balmes,15 UF2 SQL 8

75343788 Joan 934232775 Granollers 08402 C/Girona,23 UF2 SQL 7

40958735 Pere 934232776 Granollers 08402 C/Major,15 UF2 SQL 7

40958736 Maria 934232776 St. Celoni 08470 C/Major,15 UF2 SQL 7

Tots els valors de cada camp són atòmicsPer tal que la taula estigui en primera forma normal no hi poden haver-hi campsmultivalor. En aquest sentit, cal separar el telèfon («Telf.») que les dades mostren que ésun camp multivalor en una nova taula. La clau primària d'aquesta taula serà el camp ocamps determinants del camp «Telf.».El primer que s'haurà de fer és buscar les dependències funcionals relacionades amb elcamp a separar: DNI → {Nom, Telf., Nom, CP, Adreça}

L'atribut «Telf.» té una dependència funcional respecte al camp DNI. Per tant, calgenerar una nova taula on es relacionin aquestes dues informacions. En la taulaoriginal, cal eliminar l'atribut multivalor, ja que es podrà deduïr a partir del campAutor: Miquel Boada Pàgina 20 de 32

Page 21: Model relacional i normalització

Desenvolupament aplicacions multiplataforma (DAM)

Mòdul 2 – Bases de dades

Durada mòdul: 231 hores

UF1 - Introducció a les bases de dades

Tema 1 – Model entitat-relació

Durada UF: 48 Hores

Durada: horesTotal hores:

determinant i de la nova taula generada.

Telèfon

DNI Telf.

40958733 934232775

40958733 61543121

76543123 623903212

75343788 934232775

40958735 934232776

40958736 934232776

Estudiant UFs

DNI Nom Població CP Adreça Codi UF Nota

40958733 Anna Granollers 08402 C/Girona,23 UF1 BD 8

40958733 Anna Granollers 08402 C/Girona,23 UF2 SQL 7

76543123 Maria Granollers 08403 C/Balmes,15 UF2 SQL 8

75343788 Joan Granollers 08402 C/Girona,23 UF2 SQL 7

40958735 Pere Granollers 08402 C/Major,15 UF2 SQL 7

40958736 Maria St. Celoni 08470 C/Major,15 UF2 SQL 7

Tant la taula «Telèfon» com la taula «Estudiant UFs» estan en primera forma normal: lesdues compleixen les 5 regles.

Autor: Miquel Boada Pàgina 21 de 32

Page 22: Model relacional i normalització

Desenvolupament aplicacions multiplataforma (DAM)

Mòdul 2 – Bases de dades

Durada mòdul: 231 hores

UF1 - Introducció a les bases de dades

Tema 1 – Model entitat-relació

Durada UF: 48 Hores

Durada: horesTotal hores:

Segona forma normal (2FN)La segona forma normal fa referència a les dependències funcionals entre atributsidentificadors (camps claus) i atributs no identificadors (camps que no formen part de laclau de la taula).Per tal que es compleixi la segona forma normal cal que:

1. Estigui en 1FN.2. No existeix cap atribut NO identificador que tingui dependència d'un dels atributs

identificadors. Si l'atribut identificador està format per 3 o més atributs , caldràcomprovar que no hi hagi cap dependència funcional de cap atribut noidentificador respecte a cap subconjunt dels atributs identificadors.

3. Si la clau primària de la taula està formada per un únic camp i la taula compleix laprimera forma normal, la taula està també en segona forma normal.

Identificar clau primàriaEl primer que haurem de fer és localitzar la clau primària de la nostra taula. La clauprimària serà aquell atribut o conjunt d'atributs que em determini a tota la resta. Perlocalitzar-lo hem de partir de les dependències funcionals.

Clau primària per taula telèfon

La taula telèfon està en 1a FN. Per tant, caldrà comprovar si està també en 2a FN. Perfer-ho identificarem la seva clau principal, que està formada pels camps «DNI» i «Telf.».

{DNI,Telf.} → {}

Aquests dos camps no em determinen a cap altra camp, ja que no hi ha cap altre campa la taula. Per tant, és impossible que hi hagi un camp no clau (no n'hi han) quedepengui només d'una part de la clau principal.

Telèfon

DNI Telf.

40958733 934232775

40958733 61543121

76543123 623903212

75343788 934232775

40958735 934232776

40958736 934232776

Autor: Miquel Boada Pàgina 22 de 32

Page 23: Model relacional i normalització

Desenvolupament aplicacions multiplataforma (DAM)

Mòdul 2 – Bases de dades

Durada mòdul: 231 hores

UF1 - Introducció a les bases de dades

Tema 1 – Model entitat-relació

Durada UF: 48 Hores

Durada: horesTotal hores:

Clau primària per la taula «Estudiant UF»

Per la nostra taula «Estudiant UF» s'han identificat les següents dependènciesfuncionals:

DNI → {Nom, Població., CP., Adreça}

Codi → {UF} i UF → {Codi}CP → {Població}Observem que no hi ha cap atribut, de forma individual, que ens determini a tots elsaltres atributs: el camp DNI no em determina els camps «Codi», «UF» i «Nota».Per a determinar la clau primària de la taula serà necessari agrupar els camps en grupsde 2. En aquest cas, la clau primària estarà formada per més d'un camp i, per tant, potser que no estigui en 2a FN.La combinació dels camps «DNI» i «Codi» ens determinen a tota la resta de camps de lataula; si sé el «DNI» i el «Codi» puc determinar el valor de qualsevol altre camp de lataula! Per tant, {DNI,Codi} és la clau principal o primària de la nostra taula. En aquestcas hi ha una segona clau primària alternativa formada pels camps {DNI, UF}. Podemutilitzar qualsevol de les dues per a comprovar si la taula està en 2FN. En el nostre cass'ha escollit {DNI,Codi} per a fer el desenvolupament.

{DNI,Codi} → {Nom, Població., CP., Adreça,UF,nota}

A partir de la clau primària de la taula cal comprovar si algun dels camps determinants,de forma individual, determina a algun altre camp que no formi part de la clau.

{DNI,Codi} → {Nom, Població., CP., Adreça,UF,nota}

Camps de la clau o identificadors: DNI i CodiCamps que no són de la clau: Nom, Telf., Població., CP., Adreça,UF

La pregunta que ens hem de fer és:

Utilitzant només el camp DNI es pot determinar algun dels camps: «nom»,«població», «codi postal», «adreça», «UF» o «nota»?

Utilitzant només el camp «Codi» es pot determinar algun dels camps: «nom»,«telèfon», «població», «codi postal», «adreça», «UF» o «nota»?

A l'inici del desenvolupament s'han obtingut les següents dependències funcionals:{DNI} → {Nom, Població., CP., Adreça}{Codi} → {UF}i , per tant, és obvi que la resposta a les dues preguntes és «Sí» i «Sí»Hi ha camps de la clau primària que em determinen a camps que no formen part de laclau primària. La taula «Estudiant UFs» no està en 2a FN.

Autor: Miquel Boada Pàgina 23 de 32

Page 24: Model relacional i normalització

Desenvolupament aplicacions multiplataforma (DAM)

Mòdul 2 – Bases de dades

Durada mòdul: 231 hores

UF1 - Introducció a les bases de dades

Tema 1 – Model entitat-relació

Durada UF: 48 Hores

Durada: horesTotal hores:

Conversió de la taula a 2a FNPer a convertir la taula a segona forma normal caldrà generar taules per a cada una deles dependències funcionals.

A partir de la dependència funcional {DNI} → {Nom, Telf., Població., CP., Adreça}genero la taula:

Estudiant

DNI Nom Població CP Adreça

40958733 Anna Granollers 08402 C/Girona,23

76543123 Maria Granollers 08403 C/Balmes,15

75343788 Joan Granollers 08402 C/Girona,23

40958735 Pere Granollers 08402 C/Major,15

40958736 Maria St. Celoni 08470 C/Major,15

A partir de la dependència funcional {Codi} → {UF} es genera la taula:

UF

La taula no està en primera formanormal, ja que hi ha registresduplicats. Després de traspassar-la a1FN obtenim

UF

Codi Nom Codi Nom

UF1 BD UF1 BD

UF2 SQL UF2 SQL

UF2 SQL

UF2 SQLTaula normalitzada

Taula no normalitzada

Finalment cal crear la taula per la dependència funcional:

{DNI,Codi} → {Nom, Telf., Població., CP., Adreça, UF,nota}

Aquesta taula contindrà els dos camps claus {DNI,Codi} i tots els camps que nodepenguin només de «DNI» ni de «Codi», en el nostre cas «nota».

Autor: Miquel Boada Pàgina 24 de 32

Page 25: Model relacional i normalització

Desenvolupament aplicacions multiplataforma (DAM)

Mòdul 2 – Bases de dades

Durada mòdul: 231 hores

UF1 - Introducció a les bases de dades

Tema 1 – Model entitat-relació

Durada UF: 48 Hores

Durada: horesTotal hores:

Qualificació

DNI UF Nota

40958733 UF1 8

40958733 UF2 7

76543123 UF2 8

75343788 UF2 7

40958735 UF2 7

40958736 UF2 7

S'han subratllat els camps claus de cada una de les taules. Una vegada s'ha particionatla taula seguint les regles de la segona forma normal, cal verificar que totes les taulesresultants estiguin en 2a FN.

Taula Compleix segona forma normal?

Estudiant Està en 1a FN.La seva clau primària està formada només per un atribut.

Telèfon Està en 1a FN.No hi ha atributs no identificadors. Està en 2FN

UF Està en 1a FN (Després d'eliminar un registre)La seva clau primària està formada només per un atribut.

Sí.

Qualificació Està en 1a FN.El camp no clau «Nota» no depèn de «DNI» i d'«UF»

Com es pot comprovar a la taula, totes les taules estan en 2a forma normal.

Autor: Miquel Boada Pàgina 25 de 32

Page 26: Model relacional i normalització

Desenvolupament aplicacions multiplataforma (DAM)

Mòdul 2 – Bases de dades

Durada mòdul: 231 hores

UF1 - Introducció a les bases de dades

Tema 1 – Model entitat-relació

Durada UF: 48 Hores

Durada: horesTotal hores:

Tercera forma normal (3FN)La tercera forma normal fa referència a les dependències funcionals entre els atributsno identificadors .Per tal que es compleixi la tercera forma normal cal que:

1. Estigui en 2FN.

2. No hi hagi cap dependència funcional entre atributs no identificadors.

Aplicació 3FN a taula «Telèfon»

Telèfon

DNI Telf.

40958733 934232775

40958733 61543121

76543123 623903212

75343788 934232775

40958735 934232776

40958736 934232776

La taula «telèfon» està en 3FN:

1. Està en 2FN

2. La clau primària està composada per l'atribut {DNI,Telf}, que són tots els atributsde la taula. Com que no hi ha cap atribut no identificador està en 3a FN.

Aplicació 3FN a taula «UF»

UF

Codi Nom

UF1 BD

UF2 SQL

La taula «UF» està en 3FN:

1. Està en 2FN

2. La clau primària està composada per l'atribut {Codi}. Només hi ha un atribut queno sigui identificador {Nom}. Per tant, no hi pot haver cap atribut no identificadorque depengui d'un altre atribut no identificador.

Autor: Miquel Boada Pàgina 26 de 32

Page 27: Model relacional i normalització

Desenvolupament aplicacions multiplataforma (DAM)

Mòdul 2 – Bases de dades

Durada mòdul: 231 hores

UF1 - Introducció a les bases de dades

Tema 1 – Model entitat-relació

Durada UF: 48 Hores

Durada: horesTotal hores:

Aplicació 3FN a taula «Qualificació»

Qualificació

DNI UF Nota

40958733 UF1 8

40958733 UF2 7

76543123 UF2 8

75343788 UF2 7

40958735 UF2 7

40958736 UF2 7

La taula «Qualificació» està en 3FN:

1. Està en 2FN

2. Només hi ha un atribut que no sigui identificador : Nota.

Aplicació 3FN a taula «Estudiant»

Estudiant

DNI Nom Població CP Adreça

40958733 Anna Granollers 08402 C/Girona,23

76543123 Maria Granollers 08403 C/Balmes,15

75343788 Joan Granollers 08402 C/Girona,23

40958735 Pere Granollers 08402 C/Major,15

40958736 Maria St. Celoni 08470 C/Major,15

Atributs identificadors: «DNI»

Atributs no identificadors: «Nom», «Població», «CP», «Adreça»

Anteriorment s'ha detectat que hi havia una dependència funcional de l'atribut«Població» en relació a l'atribut «CP» (Codi Postal). Per tant, aquesta taula no està en3FN, ja que hi ha una DF entre 2 atributs no identificadors.

CP → {Població}

Autor: Miquel Boada Pàgina 27 de 32

Page 28: Model relacional i normalització

Desenvolupament aplicacions multiplataforma (DAM)

Mòdul 2 – Bases de dades

Durada mòdul: 231 hores

UF1 - Introducció a les bases de dades

Tema 1 – Model entitat-relació

Durada UF: 48 Hores

Durada: horesTotal hores:

Població

Nom CP

Granollers 08402

Granollers 08403

St. Celoni 08470

I eliminem l'atribut que té la dependència funcional «Població» (nom) de la taulaestudiant.

Estudiant

DNI Nom CP Adreça

40958733 Anna 08402 C/Girona,23

76543123 Maria 08403 C/Balmes,15

75343788 Joan 08402 C/Girona,23

40958735 Pere 08402 C/Major,15

40958736 Maria 08470 C/Major,15

Autor: Miquel Boada Pàgina 28 de 32

Page 29: Model relacional i normalització

Desenvolupament aplicacions multiplataforma (DAM)

Mòdul 2 – Bases de dades

Durada mòdul: 231 hores

UF1 - Introducció a les bases de dades

Tema 1 – Model entitat-relació

Durada UF: 48 Hores

Durada: horesTotal hores:

Tercera forma normal – Boyce-Codd (3FNBC)

Per tal que una taula estigui en tercera forma normal Boyce-Codd cal que:

1. Estigui en 3FN

2. No hi ha cap dependència funcional entre els atributs identificadors d'una mateixataula

Del 2 punt es pot deduir que si l'atribut clau d'una taula està format per només uncamp, la taula estarà en tercera forma normal Boyce-Codd. Només cal preocupar-se peraquelles taules que el seu identificador estigui format per més d'un atribut.

Aplicació 3FNBC a taula «Telèfon»

Telèfon

DNI Telf.

40958733 934232775

40958733 61543121

76543123 623903212

75343788 934232775

40958735 934232776

40958736 934232776

La taula «Telèfon» està en 3FN. El seu atribut identificador està format pels dos atributsde la taula: {DNI,TELF}. Si hi ha una dependència funcional entre els dos atributs, noestarà en 3FNBC.

DNI → Telf ? En cas afirmatiu no està en 3FNBC

Telf → DNI ? En cas afirmatiu no està en 3FNBC

Si observem els valors de la taula hi ha 2 telèfons repetits que tenen associat un DNIdiferent. A més , hi ha 2 DNI repetits que també tenen associat un telèfon diferent. Pertant, ni el «DNI» té una DF de «Telf.» ni viceversa. La taula «Telèfon» està en 3FNBC.

Autor: Miquel Boada Pàgina 29 de 32

Page 30: Model relacional i normalització

Desenvolupament aplicacions multiplataforma (DAM)

Mòdul 2 – Bases de dades

Durada mòdul: 231 hores

UF1 - Introducció a les bases de dades

Tema 1 – Model entitat-relació

Durada UF: 48 Hores

Durada: horesTotal hores:

Aplicació 3FNBC a taula «UF»

UF

Codi Nom

UF1 BD

UF2 SQL

La taula «UF» està en 3FN. Donat que la clau de la taula està formada només per uncamp: «Codi», la taula «UF» està en 3FNBC.

Aplicació 3FNBC a taula «Qualificació»

Qualificació

DNI UF Nota

40958733 UF1 8

40958733 UF2 7

76543123 UF2 8

75343788 UF2 7

40958735 UF2 7

40958736 UF2 7

La taula «Qualificació» està en 3FN. La clau primària associada a aquesta taula estàformada per 2 atributs: {DNI, UF}. Si hi ha una DF entre aquests dos atributs la taula noestarà en 3FNBC.

DNI → UF ? En cas afirmatiu no està en 3FNBC

UF → DNI ? En cas afirmatiu no està en 3FNBC

Observem com pel DNI «40958733» hi ha 2 valors possibles del camp «UF» (UF1 i UF2).Pel camp «UF», el valor «UF2» té associats múltiples DNI. Per tant, no hi ha cap DF entreels camps identificadors i la taula està en 3FNBC.

Autor: Miquel Boada Pàgina 30 de 32

Page 31: Model relacional i normalització

Desenvolupament aplicacions multiplataforma (DAM)

Mòdul 2 – Bases de dades

Durada mòdul: 231 hores

UF1 - Introducció a les bases de dades

Tema 1 – Model entitat-relació

Durada UF: 48 Hores

Durada: horesTotal hores:

Aplicació 3FNBC a taula «Estudiant»

La taula «Estudiant» està en 3FN. Donat que la clau de la taula està formada només perun camp: «DNI», la taula «Estudiant» està en 3FNBC.

Estudiant

DNI Nom CP Adreça

40958733 Anna 08402 C/Girona,23

76543123 Maria 08403 C/Balmes,15

75343788 Joan 08402 C/Girona,23

40958735 Pere 08402 C/Major,15

40958736 Maria 08470 C/Major,15

Aplicació 3FNBC a taula «Població»

Població

Nom CP

Granollers 08402

Granollers 08403

St. Celoni 08470

Autor: Miquel Boada Pàgina 31 de 32

Page 32: Model relacional i normalització

Desenvolupament aplicacions multiplataforma (DAM)

Mòdul 2 – Bases de dades

Durada mòdul: 231 hores

UF1 - Introducció a les bases de dades

Tema 1 – Model entitat-relació

Durada UF: 48 Hores

Durada: horesTotal hores:

Webgrafiahttps://es.wikipedia.org/wiki/Segunda_forma_normal

Autor: Miquel Boada Pàgina 32 de 32