Diferència entre revisions de la pàgina «M2 - Bases de dades / Apunts UF4 : Practica 2»

De wikiserver
Dreceres ràpides: navegació, cerca
(Exercici 3)
(Exercici 3)
Línia 46: Línia 46:
 
*Creeu el tipus d'objecte Empleat amb els atributs:
 
*Creeu el tipus d'objecte Empleat amb els atributs:
  
:Id varchar(10)
+
:- Id varchar(10)
:Nom varchar(10)
+
:- Nom varchar(10)
:Carrec varchar(9)
+
:- Carrec varchar(9)
:DataIng date
+
:- DataIng date
:Sou number(9)
+
:- Sou number(9)
:Comissio number (9)
+
:- Comissio number (9)
:avançament number (9)
+
:- avançament number (9)
  
 
*i els mètodes:
 
*i els mètodes:
  
:sou_liquid, retorna un number. (sou + comissio - avançament)
+
:- sou_liquid, retorna un number. (sou + comissio - avançament)
  
:augment_sou, rep com a paràmetre la quantitat augmentar. (sou + quantitat)
+
:- augment_sou, rep com a paràmetre la quantitat augmentar. (sou + quantitat)
  
 
*Creeu el cos del tipus objecte:
 
*Creeu el cos del tipus objecte:
  
* Altera el tipo Empleado y añade el procedimiento
+
*Afegeix al tipus d'objecte Empleat el mètode setAvançament que rebrà com a paràmetre una quantitat i actualitzarà l'avançament.  
setAnticipo que recibe como parámetro el anticipo de tipo number.
+
 
 Crea el body para el nuevo método setAnticipo
+
*Creeu la taula empleats de tipus empleat
 Crear una tabla empleados de tipo empleado
+
 
 Insertar dos o tres empleados, con estos datos
+
*Afegiu tres empleats amb les següents dades:
Crear un bloque PL/SQL para listar el sueldo liquido del empleado
+
 
rut= 2.
+
'1', 'Elena', 'director', sysdate, 2000,300,0
Aumentarle el sueldo con 400 euros.
+
'2', 'Pep', 'venedor', sysdate, 1000,400,0
Listar el sueldo aumentado.
+
'3', 'Joan', 'venedor', sysdate, 1000,300,0
La salida será como la siguiente:
+
 
 +
 
 +
*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, director, sou liquid avanç de l'augment: 1400 €
 +
Pep, director, sou liquid després de l'augment: 1800 €

Revisió del 09:12, 4 maig 2018

Exercici 1

  • Creeu un tipus d'objecte anomenat poliedre amb els atributs: llargada number(2), amplada number(2) i alçada number(2); i 3 mètodes MEMBER:
- MEMBER FUNCTION superficie RETURN number
- MEMBER FUNCTION volume RETURN numer
- MEMBER PROCEDURE mostrar()
  • 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: (10,10,10) i (3,4,5).
  • Mostreu tots els poliedres de la taula.
  • Mostreu el volum i la superfície del poliedre de llargada 10.
  • Feu un bloc PL/SQL per mostrar les dades del poliedre de llargada 10. Utilitzeu el procediment mostrar().

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 tips 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.
  • Creeu un bloc PL/SQL per recórrer la taula triangles e invocar al mètode area, i s'obtingui el següent resultat:
  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

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)
  • Creeu el cos del tipus objecte:
  • Afegeix al tipus d'objecte Empleat el mètode setAvançament que rebrà com a paràmetre una quantitat i actualitzarà l'avançament.
  • 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, director, sou liquid avanç de l'augment: 1400 € Pep, director, sou liquid després de l'augment: 1800 €