M2 - Bases de dades / Online UF4 : Prova BDOR
Prova de coneixements
Entrega: Document amb totes les instruccions i captures de pantalla amb l'execució de les instruccions i la sortida corresponent.
Gestió de comandes de clients utilitzant el model objecte-relacional d’Oracle.
0) Crea un usuari amb els rols ( connect i resource ) i una connexió al sgbd. Connectat amb l'usuari que has creat.
1) Creeu el model lògic orientat a objectes de la base de dades, atenent a les següents característiques (1,5 punts) :
Tipus:
- llista de 10 telèfons (varray) - adreça que contindrà: carrer, ciutat, província i el codi postal. - client (NOT FINAL) amb les següents dades: número de client, nom, l’adreça (tipus anterior), llita de telèfons (tipus anterior) i el crèdit que se li concedeix. A més tindrà un mètode que retornarà el crèdit disponible, amb el format següent: (--Client: <nom del client> -- Crèdit: <crèdit del client>) - Subtipus per els clients vip, que contindrà: un crèdit extra, i a més sobreescriurà el mètode i en aquest cas retornarà la suma del crèdit més el crèdit extra en el següent format: (--Client: <nom del client> -- Total Crèdit: <crèdit del client>). En aquest cas, <crèdit del client> serà la suma del crèdit més el crèdit extra.
Taula:
- Taula de tipus client amb el número de client com a clau principal.
2) (1 punt) Afegiu els següents registres a la taula de clients:
- - 2 clients normals, el primer amb només un telèfon i el segon amb dos telèfons.
- - 2 clients VIP, el primer amb quatre telèfons i el segon sense telèfon.
3) (0,5 punts) Mostreu el carrer i la ciutat on viu el segon client «normal» que has introduït i després modifica-li l’adreça.
4) (0,75 punt) Mostreu el nom de tots els clients i els seus saldos utilitzant el mètode. El mateix però només han d’aparèixer els clients vip.
5) (0,75 punts) PL/SQL: Mostreu el següent informe de clients VIP:
Clients VIP -------------- Num Client Nom Client Total Crèdit ---------------------------------------- 3 Pere Palau 7000 4 Anna Gil 9500
6) (1 punt) Mostreu el nom i telèlefons del client «normal» que has introduït primer i després amb un bloc PL/SQL i utilitzant el mètode EXTEND, afegeix-li un nou telèfon (sense reescriuré l’anterior) a la seva llista de telèfons.
7) (1 punt) Creeu els següents tipus i taules, atenent a les següents característiques:
Tipus:
- ítem amb: número d’ítem, preu i taxes. - línia amb: el número de línia, una referencia a ítem, la quantitat i el descompte. - línies de comanda com una taula de tipus línia - comanda amb: número de la comanda, una referència a client, la data de la comanda, la data d’entrega de la comanda, comanda del tipus línies de comanda, l’adreça d’entrega del tipus adreça. I un mètode que retorni la suma dels costos (preu del ítem * la quantitat) de les línies de comanda.
Taules:
- Taula de tipus ítem amb el número d’ítem com a clau primaria. - Taula comanda de tipus comanda amb clau primaria el número de la comanda. La comanda emmagatzemada com a NESTED TABLE..
8) (1,25 punt) Afegiu els següents registres a les taules:
- 5 ítems a la taula ítems. - 3 comandes a la taula comandes amb les següents característiques: Utilitzeu com a dates de les comandes la data d’avui i com a data d’entrega la que vulgueu, pels ítems referencieu als de la taula d’ítems. ---1ª: referencia al primer client «normal» i amb 2 línies de comanda i sense adreça d’entrega. ---2ª: referencia al segon client «normal» i amb 1 línia de comanda i amb adreça d’entrega. ---3ª: referencia al primer client VIP i amb 2 línies de comanda i amb adreça d’entrega.
9) (0,75 punt) Mostreu el nom i els telèfons del client que ha fet una determinada comanda.
10) (0,75 punt) Mostreu els números i preu de tots els ítems que s’han demanat en una determinada comanda. Cada ítem en un registre
11) (0,75 punt) Mostreu el número de comanda i el cost total de les ordres fetes pel primer client VIP.