Date post: | 25-Feb-2018 |
Category: |
Documents |
Upload: | franciscoramos |
View: | 266 times |
Download: | 2 times |
of 12
7/25/2019 Ejercicios en SQL
1/12
Ejercicios del usodel Lenguaje demanipulacin de
datos en SQL
7/25/2019 Ejercicios en SQL
2/12
EJERCICIOS DEL USO DEL LENGUAJE DE MANIPULACIN DE DATOS EN SQL 2
EJERCICIOS DEL USO DEL LENGUAJE DE MANIPULACIN
DE DATOS EN SQL.
(Usando las tablas creadas en el material: Instrucciones bsicas de definicin de
datos.)
ESTIMADO ALUMNO.
Los ejercicios que te presentamos a continuacin te ayudarn a entender el
funcionamiento de cmo se cambian (manipulan) los datos de una tabla, usando
el SGBD.
Para comenzar a desarrollar los ejercicios considera lo siguiente:
El modelo relacional que tenemos creado en nuestra base de datos es el siguiente:
7/25/2019 Ejercicios en SQL
3/12
EJERCICIOS DEL USO DEL LENGUAJE DE MANIPULACIN DE DATOS EN SQL 3
INSTRUCCIONES.
1. Ingresa datos en las correspondientes tablas. Para facilitar la creacin de las
tablas, considera el siguiente archivo publicado en plataforma, en el cual estn
todos los comandos DDL necesarios en la creacin
CreacionTablasEjemplo.sql
Empieza llenando los datos de la tabla productos. A continuacin veremos cules
son los datos que tendremos que ingresar, usando los comandos DML (Lenguaje de
Manipulacin de Datos)
TABLA PRODUCTOS
idfab idproducto descripcin precios existencias
aci 41001 arandela 58 277
aci 41002 bisagra 80 167
aci 41003 art t3 112 207
aci 41004 art t4 123 139
aci 4100x junta 26 37
aci 4100y extractor 2888 25
aci 4100z mont 2625 28
bic 41003 manivela 652 3
bic 41089 rodamiento 225 78
bic 41672 plato 180 0
fea 112 cubo 148 115
fea 114 cubo 243 15
imm 773c reostato 975 28
imm 775c reostato 2 1425 5
imm 779c reostato 3 1875 0
imm 887h caja clavos 54 223
imm 887p perno 25 24
imm 887x manivela 475 32
qsa xk47 red 355 38
qsa xk48 red 134 203
qsa xk48a red 117 37
7/25/2019 Ejercicios en SQL
4/12
EJERCICIOS DEL USO DEL LENGUAJE DE MANIPULACIN DE DATOS EN SQL 4
rei 2a44g pas 350 14
rei 2a44l bomba l 4500 12
rei 2a44r bomba r 4500 12
rei 2a45c junta 79 210
Para ingresar los datos a las tablas, tenemos que usar la siguiente sintaxis:
INSERT INTO table [(column [, column...])]
VALUES (value [, value...]);
POR EJEMPLO:
INSERT INTO Productos (idfab, idproducto, descripcion, precios, existencias)
VALUES (aci, 41001, arandela, 58, 277);
INSERT INTO Productos
VALUES (aci, 41002, bisagra, 80, 167);
Ahora debes continuar llenando los datos de la tabla, que corresponden a los
productos desde 41003 al 2a45c
Contina llenando las filas de la tabla antes de continuar con las instrucciones.
Ahora debes llenar los datos de la tabla OFICINAS.
Revisa bien todos los datos propuestos a continuacin y notaras que hay algo
distinto con respecto a las tuplas anteriores.
oficina ciudad dir ventas objetivo zona
11 Antofagasta 106 693.000 575.000 norte
12 Arica 104 735.000 800.000 norte
13 La Serena 105 368.000 350.000 norte
21 Via del Mar 108 836.000 725.000 centro
22 Santiago 108 186.000 300.000 centro
7/25/2019 Ejercicios en SQL
5/12
EJERCICIOS DEL USO DEL LENGUAJE DE MANIPULACIN DE DATOS EN SQL 5
23 Rancagua 108 centro
24 Osorno 108 150.000 250.000 sur
26 Temuco sur
28 Valdivia 0 900.000 sur
Te habrs fijado que no todas las tuplas tienen datos en algunas de sus columnas,
por lo cual llenaremos valores NULO en dichos campos.
Dejaremos adems, por ahora, en NULO el valor correspondiente a dir.
Para hacer esto, usaremos las siguientes instrucciones:
Insert into Oficinas values(11,'Antofagasta',NULL,693000,575000,'norte');
Insert into Oficinas (oficina, ciudad, ventas, objetivo, zona)
values (12, 'Arica', 735000, 800000, 'norte');
Insert into Oficinas (oficina, ciudad, zona) values ('26', 'Temuco', 'sur');
En el caso anterior, dejamos todos los datos de la columna DIR en Nulo, debido
a que no existe todava ingreso de Empleados. Recuerda llenar todas las Oficinas
antes de proceder a llenar a los Empleados.
Ahora debes continuar llenando los datos de la tabla.
Luego debes llenar los datos de la tabla EMPLEADOS.
La siguiente imagen es la representacin de los datos que debemos incluir
7/25/2019 Ejercicios en SQL
6/12
EJERCICIOS DEL USO DEL LENGUAJE DE MANIPULACIN DE DATOS EN SQL 6
Antes de llenarlo, te recomendamos ver el siguiente diagrama jerrquico para
definir el orden en que vamos a llenar las tplas.
101
Antonio ViguerRepresentante
103
Juan RoviraRepresentante
105Vicente PantallaRepresentante
110Juan Victor
Representante
104Jos GonzlezDirector Ventas
102
lvaro JaumesRepresentante
107
Jorge GutirrezRepresentante
108Ana BustamanteDirector Ventas
109Mara Sunta
Representante
106Luis AntonioDirector General
Teniendo claro el organigrama de este ejemplo, procedemos a llenar la tabla
EMPLEADOS
Empezaremos creando al Director General, quien no tiene jefe, para ello
debes usar:
7/25/2019 Ejercicios en SQL
7/12
EJERCICIOS DEL USO DEL LENGUAJE DE MANIPULACIN DE DATOS EN SQL 7
Insert into Empleados (numemp, nombre, edad, oficina, titulo, contrato, cuota,
ventas)
values(106, 'Luis Antonio', 52, 11, 'dir general', '14-06-1988', 275000, 299000);
Continuaremos con los empleados que dependen de Luis Antonio:
Insert into Empleados
(numemp, nombre, edad, oficina, titulo, contrato, jefe, cuota, ventas)
values(104, 'Jos Gonzlez', 33, 12, 'dir ventas', '19-05-1987', 106, 200000, 143000);
Insert into Empleados
values (108, 'Ana Bustamante', 62, 21, 'dir ventas', '12-10-1989', 106, 350000, 361000);
Insert into Empleados
values (109, 'Mara Sunta', 31, 11, 'representante', '12-10-1989', 106, 300000, 392000);
Incluiremos los ltimos empleados a la tabla:
Insert into Empleados
values (101, Antonio Viguer, 45, 12, representante, 20-10-1986, 104, 300000,
305000);
Insert into Empleados
values ( 102, lvaro Jaumes, 48, 21, representante, 10-12-1986, 108, 350000,
474000 );
Insert into Empleados
values ( 103, Juan Rovira, 29, 12, representante, 01-03-1987, 104, 275000,
286000);
Insert into Empleados
values
7/25/2019 Ejercicios en SQL
8/12
EJERCICIOS DEL USO DEL LENGUAJE DE MANIPULACIN DE DATOS EN SQL 8
(105, Vicente Pantalla, 37, 13, representante, 12-02-1988, 104, 350000,
368000);
Insert into Empleados
values
(107, Jorge Gutirrez, 49, 22, representante, 14-11-1988, 108, 300000,
186000);
Insert into Empleados
(numemp, nombre, edad, titulo, contrato, jefe, ventas)
values(110 , Juan Victor , 41, representante, 13-01-1990, 104, 76000);
Ahora recordemos que dejamos la tabla OFICINAS con valores NULO en el campo
DIR, pero debemos hacer los ajustes para que quede de la siguiente manera:
oficina ciudad dir ventas objetivo zona
11 Antofagasta 106 693.000 575.000 norte
12 Arica 104 735.000 800.000 norte
13 La Serena 105 368.000 350.000 norte
21 Via del Mar 108 836.000 725.000 centro
22 Santiago 108 186.000 300.000 centro
23 Rancagua 108 centro
24 Osorno 108 150.000 250.000 sur
26 Temuco sur
28 Valdivia 0 900.000 sur
7/25/2019 Ejercicios en SQL
9/12
EJERCICIOS DEL USO DEL LENGUAJE DE MANIPULACIN DE DATOS EN SQL 9
Procederemos a modificar las tuplas para que tengan asociado al Empleado que
hace de director de la oficina.
UpdateOficinas setdir=106 whereoficina=11;
UpdateOficinas setdir=104 whereoficina=12;
UpdateOficinas setdir=105 whereoficina=13;
UpdateOficinas setdir=108 whereoficina=24 orzona='centro';
Continuaremos con los datos de la tabla CLIENTES, que deberan ser los siguientes:
7/25/2019 Ejercicios en SQL
10/12
EJERCICIOS DEL USO DEL LENGUAJE DE MANIPULACIN DE DATOS EN SQL 10
A esta altura del ejercicio ya no debera costarte llenar las tuplas correspondientes,
por lo cual solo indicaremos cmo se llena la primera:
INSERT INTO CLIENTES
VALUES (2101, 'Luis Garca Antn', 106, 65000);
(Recuerda llenar el resto para poder seguir trabajando.)
Procederemos a completar los datos de la tabla PEDIDOS, que corresponden a los
siguientes:
numpedido fechapedido clie rep
110036 02-01-1997 2107 110
110037 03-01-1997 2117 106
110038 10-05-1997 2103 105
110039 11-06-1997 2102 101
110040 18-06-1997 2108 103
110041 05-07-1997 2113 108
110042 06-07-1997 2111 105
110043 18-07-1997 2124 105
110044 01-08-1997 2114 106
110045 28-08-1997 2101 108
110046 06-10-1997 2118 107
110047 19-10-1997 2107 105
110048 24-10-1997 2103 102
110049 17-11-1997 2111 105
110050 20-12-1997 2107 110
Al igual que el caso anterior, solo indicaremos la forma de llenar la primera tupla:
7/25/2019 Ejercicios en SQL
11/12
EJERCICIOS DEL USO DEL LENGUAJE DE MANIPULACIN DE DATOS EN SQL 11
INSERT INTO pedidos
VALUES (110036, 02-01-1997' , 2107, 110);
(Recuerda llenar el resto de los pedidos para poder seguir trabajando)
Procederemos a completar los datos de la tabla DETALLES, la que debe contener
los siguientes datos:
numpedido fab producto importe cant
110036 aci 4100z 22500 9
110036 rei 2a44l 31500 7
110036 aci 41004 3276 28
110037 aci 41004 3978 34
110038 rei 2a44g 2100 6
110038 aci 4100z 15000 6
110038 aci 41004 702 6
110039 aci 4100y 27500 11
110040 fea 114 1458 6
110040 aci 41002 760 10
110041 rei 2a45c 1896 24
110042 bic 41003 652 1
110042 imm 779c 5625 3
110043 imm 773c 2925 3
110043 aci 41003 3745 35
110044 bic 41003 652 1
110044 qsa xk47 7100 20
110044 aci 41002 4104 54
110045 rei 2a45c 632 8
110045 rei 2a44r 22500 5
110046 rei 2a44r 45000 10
110046 imm 779c 3750 2110046 qsa xk47 776 2
110047 qsa xk47 1420 4
110047 aci 4100x 150 6
110048 aci 4100x 600 24
110048 fea 112 1480 10
7/25/2019 Ejercicios en SQL
12/12
EJERCICIOS DEL USO DEL LENGUAJE DE MANIPULACIN DE DATOS EN SQL 12
110049 bic 41003 2430 10
110049 qsa xk47 2130 6
110050 imm 773c 31350 22
Aunque est dems a estas alturas, mostraremos algunos ejemplos de cmo debe
llenarse la tabla:
Insert into detalles Values (110036, 'aci', '4100z', 22500, 9);
Insert into detalles Values (110036, 'rei', '2a44l', 31500, 7);
Insert into detalles Values (110036, 'aci', '41004', 3276, 28);
(Recuerda llenar el resto de los pedidos para poder seguir trabajando.)
Felicitaciones!
Si has llegado hasta este punto, es porque has completado todos los datos en la
base de datos, los que estaremos usando para los futuros ejercicios.
No olvidar: Una sentencia Commit en SQL finaliza una transaccin de base de
datos dentro de un SGBD y pone visibles todos los cambios a otros usuarios, por lo
tanto termina el ejercicio escribiendo
COMMIT;