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)
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

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

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

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

Solució Comandes de pizzes

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

Solució L'empleat del mes

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

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

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

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

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

Neumàtics d'una escuderia de F1

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

Circuïts d'un gran premi de F1

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

Països dels circuïts de F1

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

Entrenaments de F1

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

Posició i temps en la F1

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

Monoplaces d'una escuderia de F1

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:

Empleats de les escuderies de F1

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:

Tipus de pilots de F1

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:

Pilots de F1 incompatibles

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:

L'hospital

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:

Botiga d'informàtica

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:

Missatgeria Corre-si-pots

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:

Companyia d'assegurances