M2 - Bases de dades / Online UF4 : Prova BDOR

De wikiserver
Dreceres ràpides: navegació, cerca

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.