Diferència entre revisions de la pàgina «M2 - Bases de dades / UF1NF2: Solucions exercicis Model Relacional»
(→Pizzeria) |
(→Pizzeria) |
||
Línia 8: | Línia 8: | ||
[[Imatge:uf1nf2_sol_pizzeria1.png |600px|center| Solució Ingredients d'una pizza]] | [[Imatge:uf1nf2_sol_pizzeria1.png |600px|center| Solució Ingredients d'una pizza]] | ||
− | + | <!-- | |
PIZZA ('''''Pizza_ID''''', Nom) | PIZZA ('''''Pizza_ID''''', Nom) | ||
Línia 14: | Línia 14: | ||
ES_COMPON ('''''Pizza_ID, Ingr_ID''''') ON {Pizza_ID} REFERENCIA PIZZA I {Ingr_ID} REFERENCIA INGREDIENTS | ES_COMPON ('''''Pizza_ID, Ingr_ID''''') ON {Pizza_ID} REFERENCIA PIZZA I {Ingr_ID} REFERENCIA INGREDIENTS | ||
− | + | --> | |
'''Ingredients substituibles''' | '''Ingredients substituibles''' | ||
Línia 23: | Línia 23: | ||
[[Imatge:uf1nf2_sol_pizzeria2.png |370px|center| Solució Ingredients substituibles]] | [[Imatge:uf1nf2_sol_pizzeria2.png |370px|center| Solució Ingredients substituibles]] | ||
− | + | <!-- | |
INGREDIENTS ('''''Ingr_ID''''', Nom) | INGREDIENTS ('''''Ingr_ID''''', Nom) | ||
SUBSTITUT('''''Ingr_ID1, Ingr_ID2''''') ON {Ingr_ID1} REFERENCIA INGREDIENTS I {Ingr_ID2} REFERENCIA INGREDIENTS | SUBSTITUT('''''Ingr_ID1, Ingr_ID2''''') ON {Ingr_ID1} REFERENCIA INGREDIENTS I {Ingr_ID2} REFERENCIA INGREDIENTS | ||
− | + | --> | |
'''Locals de la cadena de pizzeries''' | '''Locals de la cadena de pizzeries''' | ||
Línia 40: | Línia 40: | ||
1. Cada entitat es converteix en una relació. L’entitat generalitzada conté els atributs comuns i les especialitzacions tenen la clau, que fa referència a l’entitat generalitzada i els atributs específics. | 1. Cada entitat es converteix en una relació. L’entitat generalitzada conté els atributs comuns i les especialitzacions tenen la clau, que fa referència a l’entitat generalitzada i els atributs específics. | ||
− | + | <!-- | |
LOCAL ('''''Local_ID''''', Adreça, Telefon) | LOCAL ('''''Local_ID''''', Adreça, Telefon) | ||
Línia 46: | Línia 46: | ||
PER_EMPORTAR ('''''Local_ID''''', Num_Motos) ON {Local_ID} REFERENCIA LOCAL | PER_EMPORTAR ('''''Local_ID''''', Num_Motos) ON {Local_ID} REFERENCIA LOCAL | ||
− | + | --> | |
2. Tan sols es tradueixen les entitats especialitzades. Els atributs comuns es posen a les dues entitats especialitzades. Aquesta opció l’anterior en cas que les entitats especialitzades s’utilitzin més que la generalitzada i quan s’hagin d’establir relacions entre algunes entitats especialitzades independentment de les altres. | 2. Tan sols es tradueixen les entitats especialitzades. Els atributs comuns es posen a les dues entitats especialitzades. Aquesta opció l’anterior en cas que les entitats especialitzades s’utilitzin més que la generalitzada i quan s’hagin d’establir relacions entre algunes entitats especialitzades independentment de les altres. | ||
− | + | <!-- | |
RESTAURANT ('''''Local_ID''''', Adreca, Telefon, Capacitat) | RESTAURANT ('''''Local_ID''''', Adreca, Telefon, Capacitat) | ||
PER_EMPORTAR ('''''Local_ID''''', Adreca, Telefon, Num_Motos) | PER_EMPORTAR ('''''Local_ID''''', Adreca, Telefon, Num_Motos) | ||
− | + | --> | |
3. Es tradueix tot a una única entitat amb tots els atributs i amb un atribut addicional que indica el subtipus o especialització. És útil si hi ha pocs (o cap) atributs a les entitats especialitzades, altrament genera molts valors nuls: | 3. Es tradueix tot a una única entitat amb tots els atributs i amb un atribut addicional que indica el subtipus o especialització. És útil si hi ha pocs (o cap) atributs a les entitats especialitzades, altrament genera molts valors nuls: | ||
− | + | <!-- | |
LOCAL ('''''CodiLocal''''', Adreca, Telefon, Capacitat, Num_Motos, TipusLocal) | LOCAL ('''''CodiLocal''''', Adreca, Telefon, Capacitat, Num_Motos, TipusLocal) | ||
− | + | --> | |
'''Comandes de pizzes''' | '''Comandes de pizzes''' | ||
Línia 65: | Línia 65: | ||
[[Imatge:uf1nf2_sol_pizzeria4.png |600px|center| Solució Comandes de pizzes]] | [[Imatge:uf1nf2_sol_pizzeria4.png |600px|center| Solució Comandes de pizzes]] | ||
− | + | <!-- | |
COMANDA ('''''Num_Comanda''''', Data) | COMANDA ('''''Num_Comanda''''', Data) | ||
LINIA_COMANDA ('''''Num_Comanda, Numj_Linia''''', Producte, Quantitat) ON {Num_Comanda} REFERENCIA COMANDA | LINIA_COMANDA ('''''Num_Comanda, Numj_Linia''''', Producte, Quantitat) ON {Num_Comanda} REFERENCIA COMANDA | ||
− | + | --> | |
'''Empleats d'una pizzeria''' | '''Empleats d'una pizzeria''' | ||
Línia 81: | Línia 81: | ||
Per a traduir al model relacional una generalització-especialització hi ha diverses possibilitats: | Per a traduir al model relacional una generalització-especialització hi ha diverses possibilitats: | ||
1. Cada entitat es converteix en una relació. L’entitat generalitzada conté els atributs comuns i les especialitzacions tenen la clau, que fa referència a l’entitat generalitzada i els atributs específics. | 1. Cada entitat es converteix en una relació. L’entitat generalitzada conté els atributs comuns i les especialitzacions tenen la clau, que fa referència a l’entitat generalitzada i els atributs específics. | ||
− | + | <!-- | |
EMPLEAT ('''''DNI''''', Nom, Telefon) | EMPLEAT ('''''DNI''''', Nom, Telefon) | ||
Línia 89: | Línia 89: | ||
MOTORISTA ('''''DNI''''', Any_Carnet) ON {DNI} REFERENCIA EMPLEAT | MOTORISTA ('''''DNI''''', Any_Carnet) ON {DNI} REFERENCIA EMPLEAT | ||
− | + | --> | |
2. Tan sols es tradueixen les entitats especialitzades. Els atributs comuns es posen a les dues entitats especialitzades. Aquesta opció l’anterior en cas que les entitats especialitzades s’utilitzin més que la generalitzada i quan s’hagin d’establir relacions entre algunes entitats especialitzades independentment de les altres. | 2. Tan sols es tradueixen les entitats especialitzades. Els atributs comuns es posen a les dues entitats especialitzades. Aquesta opció l’anterior en cas que les entitats especialitzades s’utilitzin més que la generalitzada i quan s’hagin d’establir relacions entre algunes entitats especialitzades independentment de les altres. | ||
− | + | <!-- | |
CUINER ('''''DNI''''', Nom, Telefon, Titulacio, Feina) | CUINER ('''''DNI''''', Nom, Telefon, Titulacio, Feina) | ||
Línia 97: | Línia 97: | ||
MOTORISTA ('''''DNI''''', Nom, Telefon, Any_Carnet) | MOTORISTA ('''''DNI''''', Nom, Telefon, Any_Carnet) | ||
− | + | --> | |
3. Es tradueix tot a una única entitat amb tots els atributs i amb un atribut addicional que indica el subtipus o especialització. És útil si hi ha pocs (o cap) atributs a les entitats especialitzades, altrament genera molts valors nuls: | 3. Es tradueix tot a una única entitat amb tots els atributs i amb un atribut addicional que indica el subtipus o especialització. És útil si hi ha pocs (o cap) atributs a les entitats especialitzades, altrament genera molts valors nuls: | ||
− | + | <!-- | |
EMPLEAT ('''''DNI''''', Nom, Titulacio, Feina, Torn, Any_Carnet, Tipus_Empleat) | EMPLEAT ('''''DNI''''', Nom, Titulacio, Feina, Torn, Any_Carnet, Tipus_Empleat) | ||
− | + | --> | |
'''L'empleat del mes''' | '''L'empleat del mes''' | ||
Línia 110: | Línia 110: | ||
[[Imatge:uf1nf2_sol_pizzeria6.png |600px|center| Solució L'empleat del mes]] | [[Imatge:uf1nf2_sol_pizzeria6.png |600px|center| Solució L'empleat del mes]] | ||
− | + | <!-- | |
CAMBRER ('''''DNI''''', Torn) | CAMBRER ('''''DNI''''', Torn) | ||
COMANDA ('''''Num_Comanda''''', Data, DNI) ON {DNI} REFERENCIA CAMBRER | COMANDA ('''''Num_Comanda''''', Data, DNI) ON {DNI} REFERENCIA CAMBRER | ||
− | + | --> | |
'''Motoristes''' | '''Motoristes''' | ||
Línia 122: | Línia 122: | ||
[[Imatge:uf1nf2_sol_pizzeria7.png |600px|center| Solució Motoristes]] | [[Imatge:uf1nf2_sol_pizzeria7.png |600px|center| Solució Motoristes]] | ||
− | + | <!-- | |
MOTO ('''''Matricula''''', Cilindrada, Propietat) | MOTO ('''''Matricula''''', Cilindrada, Propietat) | ||
MOTORISTA ('''''DNI''''', Any_Carnet, Matricula) ON {Matricula} REFERENCIA MOTO | MOTORISTA ('''''DNI''''', Any_Carnet, Matricula) ON {Matricula} REFERENCIA MOTO | ||
− | + | --> | |
'''Stock d'ingredients''' | '''Stock d'ingredients''' | ||
Línia 135: | Línia 135: | ||
[[Imatge:uf1nf2_sol_pizzeria8.png |600px|center| Solució Stock d'ingredients]] | [[Imatge:uf1nf2_sol_pizzeria8.png |600px|center| Solució Stock d'ingredients]] | ||
− | + | <!-- | |
LOCAL ('''''Local_ID''''', Adreça, Telefon) | LOCAL ('''''Local_ID''''', Adreça, Telefon) | ||
Línia 141: | Línia 141: | ||
DISPOSAR ('''''Local_ID, Ingr_ID''''', Stock, Stock_min) ON {Local_ID} REFERENCIA LOCAL I {Ing_ID} REFERENCIA INGREDIENTS | DISPOSAR ('''''Local_ID, Ingr_ID''''', Stock, Stock_min) ON {Local_ID} REFERENCIA LOCAL I {Ing_ID} REFERENCIA INGREDIENTS | ||
− | + | --> | |
'''Taules d'una pizzeria''' | '''Taules d'una pizzeria''' | ||
Línia 150: | Línia 150: | ||
[[Imatge:uf1nf2_sol_pizzeria9.png |600px|center| Solució Taules d'una pizzeria]] | [[Imatge:uf1nf2_sol_pizzeria9.png |600px|center| Solució Taules d'una pizzeria]] | ||
− | + | <!-- | |
RESTAURANT ('''''Local_ID''''', Capacitat) | RESTAURANT ('''''Local_ID''''', Capacitat) | ||
TAULA ('''''Local_ID, Num_Taula''''', Cadires) ON {Local_ID} REFERENCIA RESTAURANT | TAULA ('''''Local_ID, Num_Taula''''', Cadires) ON {Local_ID} REFERENCIA RESTAURANT | ||
− | + | --> | |
'''Fer una reserva en una pizzeria''' | '''Fer una reserva en una pizzeria''' | ||
Línia 163: | Línia 163: | ||
[[Imatge:uf1nf2_sol_pizzeria10.png |600px|center| Solució Fer una reserva en una pizzeria]] | [[Imatge:uf1nf2_sol_pizzeria10.png |600px|center| Solució Fer una reserva en una pizzeria]] | ||
− | + | <!-- | |
TAULA ('''''Local_ID, Num_Taula''''', Cadires) ON {Local_ID} REFERENCIA RESTAURANT | TAULA ('''''Local_ID, Num_Taula''''', Cadires) ON {Local_ID} REFERENCIA RESTAURANT | ||
Línia 169: | Línia 169: | ||
RESERVA ('''''Local_ID, Num_Taula, Data, Hora, DNI''''', Num_persones) ON {Local_ID, Num_Taula} REFERNCIA TAULA I {DNI} REFERENCIA CLIENT | RESERVA ('''''Local_ID, Num_Taula, Data, Hora, DNI''''', Num_persones) ON {Local_ID, Num_Taula} REFERNCIA TAULA I {DNI} REFERENCIA CLIENT | ||
+ | --> | ||
==Fórmula 1== | ==Fórmula 1== |
Revisió del 12:32, 14 gen 2019
Contingut
Pizzeria
Ingredients d'una pizza
L’objectiu d’aquesta activitat és el d’aplicar els processos de traducció del model ER al model relacional.
Donat el model ER següent, feu-ne la traducció al model relacional, suposant que totes les entitats del diagrama, si no s’especifica explícitament, tenen com a mínim un codi i una descripció:
Ingredients substituibles
L’objectiu d’aquesta activitat és el d’aplicar els processos de traducció del model ER al model relacional.
Donat el model ER següent, feu-ne la traducció al model relacional, suposant que totes les entitats del diagrama, si no s’especifica explícitament, tenen com a mínim un codi i una descripció:
Locals de la cadena de pizzeries
L’objectiu d’aquesta activitat és el d’aplicar els processos de traducció del model ER al model relacional.
Donat el model ER següent, feu-ne la traducció al model relacional, suposant que totes les entitats del diagrama, si no s’especifica explícitament, tenen com a mínim un codi i una descripció:
Per a traduir al model relacional una generalització-especialització hi ha diverses possibilitats:
1. Cada entitat es converteix en una relació. L’entitat generalitzada conté els atributs comuns i les especialitzacions tenen la clau, que fa referència a l’entitat generalitzada i els atributs específics. 2. Tan sols es tradueixen les entitats especialitzades. Els atributs comuns es posen a les dues entitats especialitzades. Aquesta opció l’anterior en cas que les entitats especialitzades s’utilitzin més que la generalitzada i quan s’hagin d’establir relacions entre algunes entitats especialitzades independentment de les altres. 3. Es tradueix tot a una única entitat amb tots els atributs i amb un atribut addicional que indica el subtipus o especialització. És útil si hi ha pocs (o cap) atributs a les entitats especialitzades, altrament genera molts valors nuls:
Comandes de pizzes
L’objectiu d’aquesta activitat és el d’aplicar els processos de traducció del model ER al model relacional.
Donat el model ER següent, feu-ne la traducció al model relacional, suposant que totes les entitats del diagrama, si no s’especifica explícitament, tenen com a mínim un codi i una descripció:
Empleats d'una pizzeria
L’objectiu d’aquesta activitat és el d’aplicar els processos de traducció del model ER al model relacional.
Donat el model ER següent, feu-ne la traducció al model relacional, suposant que totes les entitats del diagrama, si no s’especifica explícitament, tenen com a mínim un codi:
Per a traduir al model relacional una generalització-especialització hi ha diverses possibilitats: 1. Cada entitat es converteix en una relació. L’entitat generalitzada conté els atributs comuns i les especialitzacions tenen la clau, que fa referència a l’entitat generalitzada i els atributs específics. 2. Tan sols es tradueixen les entitats especialitzades. Els atributs comuns es posen a les dues entitats especialitzades. Aquesta opció l’anterior en cas que les entitats especialitzades s’utilitzin més que la generalitzada i quan s’hagin d’establir relacions entre algunes entitats especialitzades independentment de les altres. 3. Es tradueix tot a una única entitat amb tots els atributs i amb un atribut addicional que indica el subtipus o especialització. És útil si hi ha pocs (o cap) atributs a les entitats especialitzades, altrament genera molts valors nuls:
L'empleat del mes
L’objectiu d’aquesta activitat és el d’aplicar els processos de traducció del model ER al model relacional.
Donat el model ER següent, feu-ne la traducció al model relacional, suposant que totes les entitats del diagrama, si no s’especifica explícitament, tenen com a mínim un codi:
Motoristes
L’objectiu d’aquesta activitat és el d’aplicar els processos de traducció del model ER al model relacional.
Donat el model ER següent, feu-ne la traducció al model relacional, suposant que totes les entitats del diagrama, si no s’especifica explícitament, tenen com a mínim un codi:
Stock d'ingredients
L’objectiu d’aquesta activitat és el d’aplicar els processos de traducció del model ER al model relacional.
Donat el model ER següent, feu-ne la traducció al model relacional, suposant que totes les entitats del diagrama, si no s’especifica explícitament, tenen com a mínim un codi:
Taules d'una pizzeria
L’objectiu d’aquesta activitat és el d’aplicar els processos de traducció del model ER al model relacional.
Donat el model ER següent, feu-ne la traducció al model relacional, suposant que totes les entitats del diagrama, si no s’especifica explícitament, tenen com a mínim un codi:
Fer una reserva en una pizzeria
L’objectiu d’aquesta activitat és el d’aplicar els processos de traducció del model ER al model relacional.
Donat el model ER següent, feu-ne la traducció al model relacional, suposant que totes les entitats del diagrama tenen com a mínim un codi:
Fórmula 1
Neumàtics d'una escuderia de F1
L’objectiu d’aquesta activitat és el d’aplicar els processos de traducció del model ER al model relacional.
Donat el model ER següent, feu-ne la traducció al model relacional, suposant que totes les entitats del diagrama, si no s’especifica explícitament, tenen com a mínim un codi i una descripció:
Circuïts d'un gran premi de F1
L’objectiu d’aquesta activitat és el d’aplicar els processos de traducció del model ER al model relacional.
Donat el model ER següent, feu-ne la traducció al model relacional, suposant que totes les entitats del diagrama tenen com a mínim un codi i una descripció:
Països dels circuïts de F1
L’objectiu d’aquesta activitat és el d’aplicar els processos de traducció del model ER al model relacional.
Donat el model ER següent, feu-ne la traducció al model relacional, suposant que totes les entitats del diagrama tenen com a mínim un codi i una descripció:
Entrenaments de F1
L’objectiu d’aquesta activitat és el d’aplicar els processos de traducció del model ER al model relacional.
Donat el model ER següent, feu-ne la traducció al model relacional, suposant que totes les entitats del diagrama tenen com a mínim un codi i una descripció:
Posició i temps en la F1
L’objectiu d’aquesta activitat és el d’aplicar els processos de traducció del model ER al model relacional.
Donat el model ER següent, feu-ne la traducció al model relacional, suposant que totes les entitats del diagrama tenen com a mínim un codi i una descripció:
Monoplaces d'una escuderia de F1
L’objectiu d’aquesta activitat és el d’aplicar els processos de traducció del model ER al model relacional.
Donat el model ER següent, feu-ne la traducció al model relacional, suposant que totes les entitats del diagrama tenen com a mínim un codi i una descripció:
Empleats de les escuderies de F1
L’objectiu d’aquesta activitat és el d’aplicar els processos de traducció del model ER al model relacional.
Donat el model ER següent, feu-ne la traducció al model relacional, suposant que totes les entitats del diagrama tenen com a mínim un codi:
Tipus de pilots de F1
L’objectiu d’aquesta activitat és el d’aplicar els processos de traducció del model ER al model relacional.
Donat el model ER següent, feu-ne la traducció al model relacional, suposant que totes les entitats del diagrama tenen com a mínim un codi:
Pilots de F1 incompatibles
L’objectiu d’aquesta activitat és el d’aplicar els processos de traducció del model ER al model relacional.
Donat el model ER següent, feu-ne la traducció al model relacional, suposant que totes les entitats del diagrama tenen com a mínim un codi:
L'hospital
L’objectiu d’aquesta activitat és el d’aplicar els processos de traducció del model ER al model relacional.
Donat el model ER següent, feu-ne la traducció al model relacional:
METGE (DNI, Nom, Cognoms)
PACIENT (Codi, Nom, Cognoms)
MALALTIA (Numero, NomTecnic, NomComu)
ATENDRE (DNIMetge, CodiPacient) ON {DNIMetge} REFERENCIA METGE I {CodiPacient} REFERENCIA PACIENT
PATIR (CodiPacient, NumeroMalaltia) ON {CodiPacient} REFERENCIA PACIENT I {NumeroMalaltia} REFERENCIA MALALTIA
Botiga d'informàtica
L’objectiu d’aquesta activitat és el d’aplicar els processos de traducció del model ER al model relacional.
Donat el model ER següent, feu-ne la traducció al model relacional:
EMPLEAT (DNI, Nom)
PRODUCTE (CodiBarras, Preu)
PROVEIDOR (Nom, Telefon)
VENDRE (DNIEmpleat, CodiBarres) ON {DNIEmpleat} REFERENCIA EMPLEAT I {CodiBarres} REFERENCIA PRODUCTE
PROVEIR (NomProveidor, CodiBarres) ON {NomProveidor} REFERENCIA PROVEIDOR I {CodiBarres} REFERENCIA PRODUCTE
Missatgeria Corre-si-pots
L’objectiu d’aquesta activitat és el d’aplicar els processos de traducció del model ER al model relacional.
Donat el model ER següent, feu-ne la traducció al model relacional, suposant que totes les entitats del diagrama tenen com a mínim un codi.
Feu les opcions de mantenir el supertipus i el suptipus, i la d'eliminar el supertipus:
OPCIÓ 1:
TREBALLADOR (DNI, Nom, Cognoms, Telefon)
MISSATGER (DNI) ON {DNI} REFERENCIA TREBALLADOR
ADMINISTRATIU (DNI) ON {DNI} REFERENCIA TREBALLADOR
MOTO (Numero, cilindrada, DNIMissatger) ON {DNIMissatger} REFERENCIA MISSATGER
ORDINADOR (Codi, DNIAdministratiu) ON {DNIAdministratiuMissatger} REFERENCIA ADMINISTRATIU
DESTINATARI (CodiDestinatari, Nom, Adreça)
CLIENT (CodiClient, DNI, Nom, Cognoms, Telefon)
ZONA (CodiZona)
PAQUET (CodiPaquet, Pes, Adreça, CodiDestinatari, CodiZona, CodiClient) ON {CodiDestinatari} REFERENCIA DESTINATARI I {CodiZona} REFERENCIA ZONA I {CodiClient} REFERENCIA CLIENT
ESTAR (DNIMissatger, CodiZona) ON {DNIMissatger} REFERENCIA MISSATGER I {CodiZona} REFERENCIA ZONA
OPCIÓ 2:
Tot igual, excepte que desapareix l'entitat TREBALLADOR i tots els seus atributs passen a les entitats MISSATGER i ADMINISTRATIU.
MISSATGER (DNI, Nom, Cognoms, Telefon)
ADMINISTRATIU (DNI, Nom, Cognoms, Telefon)
Companyia d'assegurances
L’objectiu d’aquesta activitat és el d’aplicar els processos de traducció del model ER al model relacional.
Donat el model ER següent, feu-ne la traducció al model relacional: