Diferència entre revisions de la pàgina «M2 - Bases de dades / UF1NF2: Solucions exercicis Model Relacional»

De wikiserver
Dreceres ràpides: navegació, cerca
(Pizzeria)
(Pizzeria)
 
(Hi ha 31 revisions intermèdies del mateix usuari que no es mostren)
Línia 9: Línia 9:
 
[[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 ('''''CodiPizza''''', Nom)
+
PIZZA ('''''Pizza_ID''''', Nom)
  
INGREDIENTS ('''''CodiIngr''''', Nom)
+
INGREDIENTS ('''''Ing_ID''''', Nom)
  
ES_COMPON ('''''CodiPizza, CodiIngr''''') ON {CodiPizza} REFERENCIA PIZZA I {CodiIngr} REFERENCIA INGREDIENTS
+
ES_COMPON ('''''Pizza_ID, Ingr_ID''''') ON {Pizza_ID} REFERENCIA PIZZA I {Ingr_ID} REFERENCIA INGREDIENTS
  
  
Línia 24: Línia 24:
 
[[Imatge:uf1nf2_sol_pizzeria2.png |370px|center| Solució Ingredients substituibles]]
 
[[Imatge:uf1nf2_sol_pizzeria2.png |370px|center| Solució Ingredients substituibles]]
  
INGREDIENT ('''''CodiIngr''''', Nom)
+
INGREDIENTS ('''''Ingr_ID''''', Nom)
  
SUBSTITUT('''''CodiIngr1, CodiIngr2''''') ON {CodiIngr1} REFERENCIA INGREDIENT I {CodiIngr2} REFERENCIA INGREDIENT
+
SUBSTITUT('''''Ingr_ID1, Ingr_ID2''''') ON {Ingr_ID1} REFERENCIA INGREDIENTS I {Ingr_ID2} REFERENCIA INGREDIENTS
  
  
Línia 41: Línia 41:
 
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 ('''''CodiLocal''''', Adreca)
+
LOCAL ('''''Local_ID''''', Adreça, Telefon)
  
RESTAURANT ('''''CodiLocal''''', Aforament) ON {CodiLocal} REFERENCIA LOCAL
+
RESTAURANT ('''''Local_ID''''', Capacitat) ON {Local_ID} REFERENCIA LOCAL
 +
 
 +
PER_EMPORTAR ('''''Local_ID''''', Num_Motos) ON {Local_ID} REFERENCIA LOCAL
  
PER_EMPORTAR ('''''CodiLocal''''') ON {CodiLocal} 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 ('''''CodiLocal''''', Adreca, Aforament)
+
RESTAURANT ('''''Local_ID''''', Adreca, Telefon, Capacitat)
 +
 
 +
PER_EMPORTAR ('''''Local_ID''''', Adreca, Telefon, Num_Motos)
  
PER_EMPORTAR ('''''CodiLocal''''', Adreca)
 
  
 
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, Aforament, TipusLocal)
+
LOCAL ('''''Local_ID''''', Adreca, Telefon, Capacitat, Num_Motos, TipusLocal)
  
  
Línia 66: Línia 68:
 
[[Imatge:uf1nf2_sol_pizzeria4.png |600px|center| Solució Comandes de pizzes]]
 
[[Imatge:uf1nf2_sol_pizzeria4.png |600px|center| Solució Comandes de pizzes]]
  
COMANDA ('''''CodiComanda''''', Data, Preu)
+
COMANDA ('''''Num_Comanda''''', Data)
  
LINIA_COMANDA ('''''CodiComanda, CodiLinia''''', Concepte, Quantitat, PreuUnitari) ON {CodiComanda} REFERENCIA COMANDA
+
LINIA_COMANDA ('''''Num_Comanda, Numj_Linia''''', Producte, Quantitat) ON {Num_Comanda} REFERENCIA COMANDA
  
  
Línia 80: Línia 82:
  
 
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''''')
+
EMPLEAT ('''''DNI''''', Nom, Telefon)
  
CUINER ('''''DNI''''') ON {DNI} REFERENCIA EMPLEAT
+
CUINER ('''''DNI''''', Titulacio, Feina) ON {DNI} REFERENCIA EMPLEAT
  
CAMBRER ('''''DNI''''') ON {DNI} REFERENCIA EMPLEAT
+
CAMBRER ('''''DNI''''', Torn) ON {DNI} REFERENCIA EMPLEAT
  
TELEFONISTA ('''''DNI''''') ON {DNI} REFERENCIA EMPLEAT
+
MOTORISTA ('''''DNI''''', Any_Carnet) ON {DNI} REFERENCIA EMPLEAT
  
MOTORISTA ('''''DNI''''') 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''''')
+
CUINER ('''''DNI''''', Nom, Telefon, Titulacio, Feina)
  
CAMBRER ('''''DNI''''')
+
CAMBRER ('''''DNI''''', Nom, Telefon, Torn)
  
TELEFONISTA ('''''DNI''''')
+
MOTORISTA ('''''DNI''''', Nom, Telefon, Any_Carnet)
  
MOTORISTA ('''''DNI''''')
 
  
 
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''''')
+
EMPLEAT ('''''DNI''''', Nom, Titulacio, Feina, Torn, Any_Carnet, Tipus_Empleat)
 
 
  
 
'''L'empleat del mes'''
 
'''L'empleat del mes'''
Línia 115: Línia 115:
 
[[Imatge:uf1nf2_sol_pizzeria6.png |600px|center| Solució L'empleat del mes]]
 
[[Imatge:uf1nf2_sol_pizzeria6.png |600px|center| Solució L'empleat del mes]]
  
EMPLEAT ('''''DNI''''')
+
CAMBRER ('''''DNI''''', Torn)
  
COMANDA ('''''CodiComanda''''', Data, Preu, DNI) ON {DNI} REFERENCIA EMPLEAT
+
COMANDA ('''''Num_Comanda''''', Data, DNI) ON {DNI} REFERENCIA CAMBRER
  
  
Línia 128: Línia 128:
 
[[Imatge:uf1nf2_sol_pizzeria7.png |600px|center| Solució Motoristes]]
 
[[Imatge:uf1nf2_sol_pizzeria7.png |600px|center| Solució Motoristes]]
  
MOTO ('''''CodiMoto''''')
+
MOTO ('''''Matricula''''', Cilindrada, Propietat)
  
MOTORISTA ('''''DNI''''', CodiMoto) ON {CodiMoto} REFERENCIA MOTO
+
MOTORISTA ('''''DNI''''', Any_Carnet, Matricula) ON {Matricula} REFERENCIA MOTO
  
  
Línia 141: Línia 141:
 
[[Imatge:uf1nf2_sol_pizzeria8.png |600px|center| Solució Stock d'ingredients]]
 
[[Imatge:uf1nf2_sol_pizzeria8.png |600px|center| Solució Stock d'ingredients]]
  
LOCAL ('''''CodiLocal''''', Adreca)
+
LOCAL ('''''Local_ID''''', Adreça, Telefon)
  
INGREDIENT ('''''CodiIngr''''', Nom)
+
INGREDIENTS ('''''Ing_ID''''', Nom)
  
TE ('''''CodiLocal, CodiIngr''''', Stock_minim, Stock_limit) ON {CodiLocal} REFERENCIA LOCAL I {CodiIngr} REFERENCIA INGREDIENT
+
DISPOSAR ('''''Local_ID, Ingr_ID''''', Stock, Stock_min) ON {Local_ID} REFERENCIA LOCAL I {Ing_ID} REFERENCIA INGREDIENTS
  
  
Línia 156: Línia 156:
 
[[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 ('''''CodiLocal''''', Aforament)
+
RESTAURANT ('''''Local_ID''''', Capacitat)
  
TAULA ('''''CodiLocal, NumTaula''''', NumCadires) ON {CodiLocal} REFERENCIA RESTAURANT
+
TAULA ('''''Local_ID, Num_Taula''''', Cadires) ON {Local_ID} REFERENCIA RESTAURANT
  
  
Línia 169: Línia 169:
 
[[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 ('''''CodiLocal, NumTaula''''', NumCadires) ON {CodiLocal} REFERENCIA RESTAURANT
+
TAULA ('''''Local_ID, Num_Taula''''', Cadires) ON {Local_ID} REFERENCIA RESTAURANT
 +
 
 +
CLIENT ('''''DNI''''', Telefon)
  
CLIENT ('''''CodiCli''''', Nom, Telefon)
+
RESERVA ('''''Local_ID, Num_Taula, Data, Hora, DNI''''', Num_persones) ON {Local_ID, Num_Taula} REFERNCIA TAULA I {DNI} REFERENCIA CLIENT
  
RESERVA ('''''CodiLocal, NumTaula, DataHora''''', CodiCli, Num_persones) ON {CodiLocal, NumTaula} REFERNCIA TAULA I {CodiCli} REFERENCIA CLIENT
 
  
 +
<!--
 
==Fórmula 1==
 
==Fórmula 1==
  
Línia 266: Línia 268:
  
 
PATIR ('''''CodiPacient, NumeroMalaltia''''') ON {CodiPacient} REFERENCIA PACIENT I {NumeroMalaltia} REFERENCIA MALALTIA
 
PATIR ('''''CodiPacient, NumeroMalaltia''''') ON {CodiPacient} REFERENCIA PACIENT I {NumeroMalaltia} REFERENCIA MALALTIA
 +
  
 
==Botiga d'informàtica==
 
==Botiga d'informàtica==
Línia 284: Línia 287:
  
 
PROVEIR ('''''NomProveidor, CodiBarres''''') ON {NomProveidor} REFERENCIA PROVEIDOR I {CodiBarres} REFERENCIA PRODUCTE
 
PROVEIR ('''''NomProveidor, CodiBarres''''') ON {NomProveidor} REFERENCIA PROVEIDOR I {CodiBarres} REFERENCIA PRODUCTE
 +
  
 
==Missatgeria Corre-si-pots==
 
==Missatgeria Corre-si-pots==
Línia 324: Línia 328:
  
 
ADMINISTRATIU ('''''DNI''''', Nom, Cognoms, Telefon)
 
ADMINISTRATIU ('''''DNI''''', Nom, Cognoms, Telefon)
 +
  
 
==Companyia d'assegurances==
 
==Companyia d'assegurances==
Línia 332: Línia 337:
  
 
[[Imatge:uf1nf3_companyia_assegurances.png |700px|center|Companyia d'assegurances]]
 
[[Imatge:uf1nf3_companyia_assegurances.png |700px|center|Companyia d'assegurances]]
 +
-->

Revisió de 18:38, 9 gen 2024

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ó:

Solució Ingredients d'una pizza

PIZZA (Pizza_ID, Nom)

INGREDIENTS (Ing_ID, Nom)

ES_COMPON (Pizza_ID, Ingr_ID) ON {Pizza_ID} REFERENCIA PIZZA I {Ingr_ID} REFERENCIA INGREDIENTS


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ó:

Solució Ingredients substituibles

INGREDIENTS (Ingr_ID, Nom)

SUBSTITUT(Ingr_ID1, Ingr_ID2) ON {Ingr_ID1} REFERENCIA INGREDIENTS I {Ingr_ID2} REFERENCIA INGREDIENTS


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ó:

Solució Locals de la cadena de pizzeries

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.

LOCAL (Local_ID, Adreça, Telefon)

RESTAURANT (Local_ID, Capacitat) 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.

RESTAURANT (Local_ID, Adreca, Telefon, Capacitat)

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:

LOCAL (Local_ID, Adreca, Telefon, Capacitat, Num_Motos, TipusLocal)


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ó:

Solució Comandes de pizzes

COMANDA (Num_Comanda, Data)

LINIA_COMANDA (Num_Comanda, Numj_Linia, Producte, Quantitat) ON {Num_Comanda} REFERENCIA COMANDA


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:

Solució Empleats d'una pizzeria

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.

EMPLEAT (DNI, Nom, Telefon)

CUINER (DNI, Titulacio, Feina) ON {DNI} REFERENCIA EMPLEAT

CAMBRER (DNI, Torn) 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.

CUINER (DNI, Nom, Telefon, Titulacio, Feina)

CAMBRER (DNI, Nom, Telefon, Torn)

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:

EMPLEAT (DNI, Nom, Titulacio, Feina, Torn, Any_Carnet, Tipus_Empleat)

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:

Solució L'empleat del mes

CAMBRER (DNI, Torn)

COMANDA (Num_Comanda, Data, DNI) ON {DNI} REFERENCIA CAMBRER


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:

Solució Motoristes

MOTO (Matricula, Cilindrada, Propietat)

MOTORISTA (DNI, Any_Carnet, Matricula) ON {Matricula} REFERENCIA MOTO


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:

Solució Stock d'ingredients

LOCAL (Local_ID, Adreça, Telefon)

INGREDIENTS (Ing_ID, Nom)

DISPOSAR (Local_ID, Ingr_ID, Stock, Stock_min) ON {Local_ID} REFERENCIA LOCAL I {Ing_ID} REFERENCIA INGREDIENTS


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:

Solució Taules d'una pizzeria

RESTAURANT (Local_ID, Capacitat)

TAULA (Local_ID, Num_Taula, Cadires) ON {Local_ID} REFERENCIA RESTAURANT


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:

Solució Fer una reserva en una pizzeria

TAULA (Local_ID, Num_Taula, Cadires) ON {Local_ID} REFERENCIA RESTAURANT

CLIENT (DNI, Telefon)

RESERVA (Local_ID, Num_Taula, Data, Hora, DNI, Num_persones) ON {Local_ID, Num_Taula} REFERNCIA TAULA I {DNI} REFERENCIA CLIENT