M2 - Bases de dades / Apunts UF4 : Practica 2
De wikiserver
Exercici 1
- Creeu un tipus d'objecte anomenat poliedre amb els atributs:
idpol number(2), llargada number(2), amplada number(2), alçada number(2);
i 3 mètodes MEMBER:
:- MEMBER FUNCTION superficie RETURN number // (llargada*amplada*2)+(llargada*alçada*2)+(amplada*alçada*2) :- MEMBER FUNCTION volume RETURN number // (llargada*amplada*alçada) :- MEMBER PROCEDURE mostrar // Mostrarà: Id: xx Largo: xx Ancho: xx Alto: xx on xx són les dades del polígon.
- Creeu el cos del objecte poliedre.
- Creeu una taules d'objectes de tipus poliedre.
- Afegiu 2 poliedres a la taula amb les següents mides: (1,10,10,10) i (2,3,4,5).
- Mostreu tots els poliedres de la taula.
IDPOL LARGO ANCHO ALTO 1 1 10 10 10 2 2 3 4 5
- Mostreu el volum i la superfície del poliedre de llargada 10.
P.SUPERFICIe() P.VOLUMEN() 1 600 1000
- Feu un bloc PL/SQL per mostrar les dades del poliedre amb Id 1. Utilitzeu el procediment mostrar().
Id: 1 Largo: 10 Ancho: 10 Alto: 10
Exercici 2
Es vol emmagatzemar en una taula de la BBDD centenars de triangles. De cada triangle, es vol la base i l'alçada. També és precisa recuperar l'àrea de cada triangle. Creeu el següent esquema:
- Un tipus d'objecte anomenat tipus_triangle amb els atributs base number(3), alçada number(3) i una mètode anomenada area return number.
- Creeu el cos del tipus_triangle (l'àrea d'un triangle es calcula com base * alçada / 2).
- Creeu una taula anomenada triangles per emmagatzemar els triangles, amb les columnes Id number(3) i triangle de tipus tipus_triangle.
- Afegiu dos triangles amb les següents valors:
- - Id=1, base=5, alçada=6
- - Id=2, base=10, alçada=10
- Mostreu tots els triangles.
ID TRIANGULO.BASE TRIANGULO.ALTURA 1 1 5 6 2 2 10 10
- Creeu un bloc PL/SQL per recórrer(1) la taula triangles e invocar al mètode area, i s'obtingui el següent resultat:
- (1) Cal que utilitzeu un cursor
El triangle amb id: 1 amb base: 5 i alçada: 6 té un àrea de: 15 El triangle amb id: 2 amb base: 10 i alçada: 10 té un àrea de: 50
- Utilitzeu la funció LPAD perquè quedi alineat
Exercici 3
- Creeu el tipus d'objecte Empleat amb els atributs:
- - Id varchar(10)
- - Nom varchar(10)
- - Carrec varchar(9)
- - DataIng date
- - Sou number(9)
- - Comissio number (9)
- - avançament number (9)
- i els mètodes:
- - sou_liquid, retorna un number. (sou + comissio - avançament)
- - augment_sou, rep com a paràmetre la quantitat augmentar. (sou + quantitat)
- - setAvançament, rep com a paràmetre una quantitat i actualitzarà l'avançament.
- Creeu el cos del tipus objecte:
- Creeu la taula empleats de tipus empleat
- Afegiu tres empleats amb les següents dades:
'1', 'Elena', 'director', sysdate, 2000,300,0 '2', 'Pep', 'venedor', sysdate, 1000,400,0 '3', 'Joan', 'venedor', sysdate, 1000,300,0
- Feu un bloc PL/SQL que:
- - mostri el sou liquid del empleat amb Id=2.
- - li augmenti el sou en 400€.
- - mostri el resultat del sou desprès de l'augment.
Sortida:
Pep, venedor, sou liquid avanç de l'augment: 1400 € Pep, venedor, sou liquid després de l'augment: 1800 €