M2 - Bases de dades / Apunts UF4 : Practica 2

De wikiserver
Dreceres ràpides: navegació, cerca

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 €