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)
 
(Hi ha 21 revisions intermèdies del mateix usuari que no es mostren)
Línia 1: Línia 1:
Part 1
+
==Exercici 1==
Crearse un poliedro con los atributos
 
Largo INTEGER
 
ancho INTEGER
 
alto INTEGER
 
así como 3 métodos MEMBER:
 
MEMBER FUNCTION superficie RETURN integer
 
MEMBER FUNCTION volume RETURN integer
 
MEMBER PROCEDURE mostrar()
 
 Crea el cuerpo de este tipo desarrollando las funciones y
 
procedimientos
 
 Crea la tabla poliedros de tipo poliedro
 
 Inserta dos poliedros con estas medidas( 10,10,10) y (3,4,5)
 
 Lista todos los poliedros
 
 Lista el volumen y la superficie del poliedro de largo 10
 
 Crea un pequeño bloque PL que visualice los datos largo, ancho y
 
alto del cubo de largo 10, el bloque PL debe llamar al procedimiento
 
mostrar()
 
  
PARTE 2
+
*Creeu un tipus d'objecte anomenat poliedre amb els atributs:
Se desea modelar un objeto triángulo para almacenar sus características
+
<pre>
(la base y la altura) y almacenar en la BBDD cientos de triángulos
+
idpol number(2),
pudiendo calcular el área de cada triángulo, se podría crear el siguiente
+
llargada number(2),  
esquema:
+
amplada number(2),
+
alçada number(2);
+
</pre>
Un tipo llamado tipo_triángulo con los atributos base number, altura
+
i 3 mètodes MEMBER:
number y una función llamada area return number.
+
<pre>
(el área de un triángulo se calcula como base*altura/2)
+
:- MEMBER FUNCTION superficie RETURN number       // (llargada*amplada*2)+(llargada*alçada*2)+(amplada*alçada*2)
Crear el cuerpo body para dicho tipo.
+
:- MEMBER FUNCTION volume RETURN number            // (llargada*amplada*alçada)
 Crear una tabla relacional llamada triangulos para almacenar los
+
:- MEMBER PROCEDURE mostrar                      //  Mostrarà: Id: xx Largo: xx Ancho: xx Alto: xx on xx són les dades del polígon.
triángulos, con las columnas Id number y triangulo de tipo_triangulo.
+
</pre>
 Insertar dos triángulos con los siguientes valores
+
*Creeu el cos del objecte poliedre.
Id=1, base=5, altura=5
 
Id=2, base=10, altura=10
 
 Listar todos los triángulos.
 
 Crear un bloque PL/SQL para recorrer la tabla triángulos e invocar al
 
método área, de forma que en el resultado obtengamos esto:
 
  
 +
*Creeu una taules d'objectes de tipus poliedre.
  
PARTE 3
+
*Afegiu 2 poliedres a la taula amb les següents mides: (1,10,10,10) i (2,3,4,5).
+
 
Crear el tipo Empleado con los atributos
+
*Mostreu tots els poliedres de la taula.
Rut varchar(10)
+
<pre>
Nombre varchar(10)
+
  IDPOL LARGO ANCHO ALTO
Cargo varchar(9)
+
1    1    10    10  10
fechaIng date
+
2    2    3     4    5
sueldo number(9)
+
</pre>
somision number (9)
+
*Mostreu el volum i la superfície del poliedre de llargada 10.
anticipo number (9)
+
<pre>
la función sueldo_liquido devuelve un number y el procedimiento
+
  P.SUPERFICIe()  P.VOLUMEN()
aumento_sueldo que recibe como parámetro el aumento que es number.
+
1            600        1000
+
</pre>
Crear el body para dicho tipo desarrollando la función y el
+
 
procedimiento.
+
 
El sueldo liquido se calculará como el (sueldo +comisión )- anticipo.
+
*Feu un bloc PL/SQL per mostrar les dades del poliedre amb Id 1. Utilitzeu el procediment mostrar().
Aumento de sueldo se calculara como el sueldo+aumento
+
<pre>
 Altera el tipo Empleado y añade el procedimiento
+
Id: 1 Largo: 10 Ancho: 10 Alto: 10
setAnticipo que recibe como parámetro el anticipo de tipo number.
+
</pre>
 Crea el body para el nuevo método setAnticipo
+
 
 Crear una tabla empleados de tipo empleado
+
==Exercici 2==
 Insertar dos o tres empleados, con estos datos
+
 
Crear un bloque PL/SQL para listar el sueldo liquido del empleado
+
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:
rut= 2.
+
 
Aumentarle el sueldo con 400 euros.
+
:*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.
Listar el sueldo aumentado.
+
 
La salida será como la siguiente:
+
:*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.
 +
 
 +
<pre>
 +
  ID TRIANGULO.BASE TRIANGULO.ALTURA
 +
1  1              5                6
 +
2  2            10              10
 +
</pre>
 +
 
 +
:*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'''
 +
 
 +
<pre>
 +
  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
 +
</pre>
 +
 
 +
:: '''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:
 +
<pre>
 +
  '1', 'Elena', 'director', sysdate, 2000,300,0
 +
  '2', 'Pep', 'venedor', sysdate, 1000,400,0
 +
  '3', 'Joan', 'venedor', sysdate, 1000,300,0
 +
</pre>
 +
 
 +
*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:
 +
<pre>
 +
  Pep, venedor, sou liquid avanç de l'augment: 1400 €
 +
  Pep, venedor, sou liquid després de l'augment: 1800 €
 +
</pre>

Revisió de 11:05, 25 maig 2022

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 €