Pas a Model Relacional II (vestuari de teatre, empresa, biblioteca)
Contingut
Introducció
Has fet ja un primer exercici de passar de model ER a model relacional. Ara anem a fer uns altres exemples (treballats a classe) que són més complerts.
Resumint:
- les entitats es converteixen en taules
- les relacions N:M segur que creen una taula pont
- les relacions 1:M a vegades creen una taula pont, i a vegades interessa no interessa crear una taula nova, sinó incorporar la clau primària com a clau forànea en la taula del cantó M.
Desenvolupament
Els models ER dels problmemes plantejats són els següents:
base de dades: vestuari
Solució amb dades
================= Model Relacional ================= VESTUARI (ref (PK), notes, color, talla, id_cat (FK), id_amb (FK), id_loc(FK)) AMBIENTACIO (id_amb (PK), amb, segle, notes) CATEGORIA (id_cat (PK), cat) LOCALITZACIO (id_loc (PK), loc, tipus, hab, notes) on tipus pot ser: armari, capsa, guardarroba, penjador, altell PERSONATGE (id_personatge, personatge, rol, id_obra (FK)) VEST_PERS (id_vest (PK), id_pers (PK)) OBRA (id_obra, obra, year) NOTA1: Problema amb les talles: La talla al final dependrà de l'actor, no del personatge. Imaginem que fem La Caputxeta Vermella l'any 2018, i que tenim un vestit de llop amb talla gran. A la base de dades queda registrat que el personatge de Llop tindrà aquest vestit. Tornem a fer l'obra el 2021, però ara el personatge de Llop el fa una persona de talla petita. Com se soluciona? Doncs que podem tenim molts vestits de LLop, amb diferents talles. El 2021 ens veurem obligats a comprar un altre vestit de Llop, i ara tindrem dos vestits diferents (amb ref i talles diferents), associats al mateix personatge. És una relació M:M i per tant no hi ha problema. NOTA2: LOCALITZACIÓ. Hem parlat que localització pot ser: habitació, armari, capsa, guardarroba, penjador, altell. En realitat, tenim habitacions, i són les habitacions les que contenen: armaris, capses, guardarrobes, penjadors, altells. Per tant, 'habitació' i 'capsa' són categories diferents. Per tant, hem de pensar que LOCALITZACIÓ són aquests elements: armari, capsa, guardarroba, penjador, altell. I aquests elements estan en una habitació. Ara bé, habitació és feble, i només ens interessa un id_hab (podem anomenar les habitacions amb un identificador sense haver de donar-les-hi un nom). Per tant, la cosa quedarà que id_hab és un atribut de LOCALITZACIÓ. Això només ho hem vist quan estàvem omplint dades. És a dir, fins que no treballem amb dades reals, no veiem mancances en el nostre mode, i hem de tornar enrere i modificar el disseny original (feedback). Ben ordenat, tenint en compte les dependències: CATEGORIA (id_cat (PK), cat) AMBIENTACIO (id_amb (PK), amb, segle, notes) LOCALITZACIO (id_loc (PK), loc, tipus, hab, notes) on tipus pot ser: armari, capsa, guardarroba, penjador, altell OBRA (id_obra, obra, year, notes) PERSONATGE (id_pers, pers, rol, id_obra (FK)) VESTUARI (ref (PK), vestuari, notes, color, talla, id_cat (FK), id_amb (FK), id_loc(FK)) VEST_PERS (id_vest (PK), id_pers (PK), notes) CATEGORIA (id_cat (PK), cat) ----------------- 1;pantalons 2;camises 3;sabates 4;barrets 5;perruques 6;complements 7;faldilles 8;vestits 9;pijames 10;disfresses animals 11;abrics 12;disfresses AMBIENTACIO (id_amb (PK), amb, segle, notes) --------------- 1;Roma;;Imperi Romà 2;Grècia Clàssica;;Grècia Clàssica 3;Edat Mitjana;s.XII;Edat Mitjana 4;Romanticisme;s.XIX;Romanticisme 5;Pastoril;s.XIX;ambientació rural i senzilla 6;urbà;s.XXI;ambientació urbà del carrer LOCALITZACIO (id_loc (PK), loc, tipus, hab, notes) on tipus pot ser: armari, capsa, guardarroba, penjador, sabater, altell --------------- 1;C-01;capsa;HAB-1;capsa de barrets 2;G-01;guarda-roba;HAB-1;Guarda-roba de l'habitació 1 3;C-02;penjador;HAB-1;Penjador costat de la porta hab 1 4;A-01;armari;HAB-1; 5;S-01;sabater;HAB-1; OBRA (id_obra, obra, year, notes) ------------- 1;La Caputxeta Vermella 2018; 2018 2;La Caputxeta Vermella 2021; 2021 PERSONATGE (id_pers, pers, rol, id_obra (FK)) ------------------ 1;Caputxeta vermella;protagonista;1 2;mare;secundari;1 3;àvia;secundari;1 4;llop;protagonista;1 5;caçador;secundari;1 6;Caputxeta;protagonista;2 7;àvia;secundari;2 8;llop;protagonista;2 9;caçador;secundari;2 VESTUARI (ref (PK), vestuari, notes, color, talla, id_cat (FK), id_amb (FK), id_loc(FK)) ------------------ ref;vestuari;notes;color;talla;id_cat;id_amb;id_loc 1;espardenyes;;blanques;M;3;5;5; 2;faldilla vellut;;negra;M;7;5;2 3;vestidet;la roba la vam comprar a Ribes & Casals;marró;M;8;5;2 4;caputxa vermella;;vermell;;6;5;6 5;perruca-trena;www.barcelonapelucas.com;rossa;;6;;6 6;vestit pagesa;;;M;8;5;3 7;sabates negres;;;41;3;;5 8;pijama àvia 1;botiga disfresses Atucom;rosa;M;9;4;3 9;còfia pijama 1;;rosa;;6;;6 10;ulleres rodones 1;les vam comprar als Encants;;;6;;6 11;disfressa llop;la vam comprar a uns xinos;marró;L;10;;7 12;pijama àvia 2;botiga disfresses Atucom;rosa;L;9;4;3 13;còfia pijama 2;;rosa;;6;;6 14;ulleres rodones 2;les vam comprar als Encants;;;6;;6 15;samarra de pastor;la va fer la mare del Ricard;;L;8;5;3 16;escopeta;Encants;;;6;;6 17;cartutxera de pell de caçador;;;;6;;6 18;barretina;comprada a Amazon;vermella;L;6;5;1 19;xiruques;sabateria del barri;marrons;41;3;5;5 20;gorra vermella;;vermella;;6;6;6 21; xupa vermella;;vermella;;11;6;3 22;vambes nike air;;;41;3;6;5 23;pantalons texans vermells;;vermells;L;1;6;3 24;pijama Star Wars;comprat a Amazon;;M;9;6;2 25;sabatilles del Barça;;blaugrana;41;3;6;5 26;ulleres de sol;;;6;6;6 27;pijama Star Wars;comprat a Amazon;;L;9;6;2 28;gorra de policia;botiga disfresses;;;4;6;7 29;vestit de policia;botiga disfresses;;;12;6;7 30;botes policia;;;43;3;6;5 31;porra;;;;6;6;6 32;caçadora de cuir;;marró;L;11;6;3 33;hermilla negra;;negra;L;6;6;6 34;botes catiusques roses;;rosa;38;3;6;5 35;caçadora texana;regal de la Maria;blau;L;11;6;2 36;pantalons texans;estan estripats;blau;L;1;6;2 VEST_PERS (ref (PK), id_pers (PK), notes) ------------------ ref;id_pers;notes 1;1;que estiguin ben blanques i lluents 2;1; 3;1; 4;1; 5;1; 6;2; 7;2; 8;3; 9;3; 10;3; 11;4; 12;4; 13;4; 14;4; 15;5; 16;5; 17;5; 18;5; 19;5; 20;6; 21;6; 22;6; 23;6; 24;7; 25;7; 26;7; 25;8;les sabatilles s'han de compartir 26;8;les ulleres s'han de compartir 27;8 28;9 29;9 30;9 31;9 # PREGUNTES A LA BD # 1. Informe (llista) de tot el vestuari necessari per la Caputxeta Vermella 2018 (i localització) # 2. Informe (llista) de tot el vestuari necessari per la Caputxeta Vermella 2021 (i localització) # 3. Llista de tot el material que hi ha a l'habitació 1 # 4. Vestuari que encara no s'ha utilitzat en cap obra # 5. Per a l'obrta de la Caputxeta 2021, quin material s'ha de compartir? (sabatilles del Barça i ulleres de sol)
base de dades: empresa
base de dades: biblioteca
solució
COMARCA (id_comarca (PK), comarca) POBLACIO (id_poblacio (PK), poblacio, id_comarca (FK)) INSTITUT (id_institut (PK), institut, adreça, id_poblacio (FK)) USUARI (id_usuari (PK), nom, cognoms, adreça, data_fi_exc_pres, id_poblacio (FK)) DOCUMENT (id_doc (PK), titol, format, materia, id_institut (FK)) AUTOR (id_autor (PK), nom, cognoms) DOCUMENT_AUTOR (id_doc (FK), id_autor (FK)) [PK: id_doc+id_autor] IDIOMA (id_idioma (PK), idioma) DOCUMENT_IDIOMA (id_doc (FK),id_idioma (FK)) [PK: id_doc+id_idioma] PRESTEC(id_prestec (PK), id_doc (FK), id_usuari (FK), data, tipus, preu) RESERVA(id_reserva (PK), id_document (FK), id_usuari (FK), data)
NOTA: fixa't que hi ha un ordre en la manera com presentem les taules. Les taules que tenen claus forànees han d'estar per sota de les taules a les quals es fa referència. Per exemple, POBLACIO va per sota de COMARCA, doncs una població fa referència a la comarca a què pertany.
NOTA: fixeu-vos que matèria i format són dues entitats bastant dèbils, i no ha calgut crear entitats pròpies, sinó que n'hi ha prou pensar que matèria i format són atributs de DOCUMENT.
Tasques a realitzar
1a. Base de dades vestuari. Genera les taules resultants.
1b. Raona i explica les taules resultants, el procés de conversió de ER a relacional.
2. Base de dades empresa. . Genera les taules resultants.
3. Base de dades biblioteca. Genera les taules resultants.
Entrega
Entregaràs com a txt (format text pla) (no cal captures de pantalla) en el Classroom, dins del termini previst.
creat per Joan Quintana Compte, octubre 2021