Ejercicios en SQL

download Ejercicios en SQL

of 12

Transcript of Ejercicios en SQL

  • 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;