Judith montilla

5
Ejercicio SQL 2022 Autor: judith Verónica Montilla Pirela | C.I.: 18.263.657 Teoría de Sistemas 2 Prof: Adriana Barreto

Transcript of Judith montilla

Page 1: Judith montilla

Ejercicio SQL

2023

Autor: judith Verónica Montilla Pirela

|C.I.: 18.263.657

Teoría de Sistemas 2

Prof: Adriana Barreto

Page 2: Judith montilla

Ejercicio SQL

Ejercicio Propuesto

Dada la siguiente base de datos:

CLIENTE (Cod_Cli, Nomb_Cli, Apell_Clie, Calle, Urb, Nro_Casa, Piso, Ciudad, Telef_Cli).

PRODUCTOS (Cod_Prod, Desc_Prod, Precio_Unit).

EXISTENCIA_X_PRODUCTO (Cod_Prod, Cant_Exist).

SALIDAS DE ALMACEN (Nro_Orden_Salida, Cod_Cli, Cod_Prod, Cant_Prod, Fecha_Salida).

ENTRADAS POR DEVOLUCIÓN (Nro_Nota_Dev, Fecha_Nota_Dev, Cod_Cli, Cod_Prod, Cantidad_Dev, Motivo_Dev).

Las instrucciones SQL aplicada en clases, se requiere lo siguiente:1. Creación de la base de datos y las tablas.2. Actualizar el teléfono del cliente Pedro Perez de 0276-5528899 a 0416-5587410.3. Seleccionar el código y el teléfono de todos los clientes que realizaron devoluciones del

producto “ABC” en el año 2008.4. Seleccionar el nombre y apellido del cliente, la descripción y precio todos los productos que

tengan en existencia una cantidad superior a 5000 unidades y que su precio sea menor a 1000 Bs, que hayan salido del almacén en el mes de septiembre del año 2009 y que hayan sido devueltos en el mismo mes, y ordenarlos ascendentemente por fecha de salida.

Solución:

Pasos para la resolución del problema:

a. Crear base de datos y tablas

Sintaxis de creación de base de datos: Create DataBase <Nombre de la base de datos>. El nombre que se le dara será TallerSQL.

Create DataBase TallerSQL;

Sintaxis de creación de tablas: Create Table <nombre de la tabla> (<campo1 TIPOcampo1, campo2 TIPOcampo2,…, campoN TIPOcampoN>,PRIMARY KEY (<nombre del campo más importante>)).

Las palabras en negrita son palabras reservadas y deben escribirse tal cual lo exige el manual de SQL. Los nombres de las tablas no deben contener espacios. El primary Key va permitir que la búsqueda de elementos en la tabla sea más rápida y eficiente.

Create Table CLIENTE(Cod_Cli LONG, Nomb_Cli TEXT, Apell_Clie TEXT, Calle TEXT, Urb TEXT,Nro_Casa LONG, Piso LONG, Ciudad TEXT, Telef_Cli LONG, PRIMARY KEY (Cod_Cli));

Autor: judith Verónica Montilla Pirela 2

2023

Page 3: Judith montilla

Ejercicio SQL

Create Table PRODUCTOS (Cod_Prod LONG, Desc_Prod TEXT, Precio_Unit SINGLE,PRIMARY KEY (Cod_Prod));

Create Table EXISTENCIA_X_PRODUCTO (Cod_Prod LONG, Cant_Exist LONG,PRIMARY KEY(Cod_Prod));

Create Table SALIDAS_DE_ALMACEN(Nro_Orden_Salida LONG, Cod_Cli TEXT,Cod_Prod LONG, Cant_Prod LONG, Fecha_Salida DATE,PRIMARY KEY (Nro_Orden_Salida));

Create Table ENTRADAS_POR_DEVOLUCION(Nro_Nota_Dev LONG,Fecha_Nota_Dev DATE, Cod_Cli LONG, Cod_Prod LONG, Cantidad_Dev LONG,Motivo_Dev TEXT, PRIMARY KEY (Nro_Nota_Dev));

b. Actualizar el teléfono del cliente Pedro Pérez de 0276-5528899 a 0416-5587410.

Sintaxis de actualización de registros: UPDATE <tabla> SET <campo> = <valor> where <condiciones bajo las cuales realizar la actualización>. Entre las condiciones se pueden utilizar operadores lógicos como Or, Not y And.

Update CLIENTE Set Telef_Cli = 0416-5587410 where Telef_Cli = 0276-5528899 And Nomb_Cli=‘Pedro’ And Apell_Clie=‘Pérez’

c. Selección el código y el teléfono de todos los clientes que realizaron devoluciones del producto “ABC” en el año 2008

Sintaxis para seleccionar columnas de una tabla: Select <nombre de columna1>, <nombre de columna2>… from <nombre de tabla> where <condiciones de selección>. Este comando tiene muchas formas de ser utilizado:

Link: Ver https://msdn.microsoft.com/en-us/library/h09t6a82(v=vs.80).aspx).

Para referirse a una columna que se repite en otras tablas es importante que se le coloque el nombre de la tabla a la cual pertenece seguida de un punto y luego del nombre de la columna.

Autor: judith Verónica Montilla Pirela 3

Page 4: Judith montilla

Ejercicio SQL

Select CLIENTE.Cod_Cli, CLIENTE.Telef_Cli from CLIENTE where ENTRADAS_POR_DEVOLUCION.Cod_Cli=CLIENTE.Cod_Cli And ENTRADAS_POR_DEVOLUCION.Cod_Prod=‘ABC’ And ENTRADAS_POR_DEVOLUCION.Fecha_Nota_Dev=‘__/__/2008’

d. Seleccionar el nombre y apellido del cliente, la descripción y precio todos los productos que tengan en existencia una cantidad superior a 5000 unidades y que su precio sea menor a 1000 Bs. Que hayan salido del almacén en el mes de septiembre del año 2009 y que hayan sido devueltos en el mismo mes, y ordenarlos ascendentemente por fecha de salida.

Sintaxis para seleccionar columnas de varias tablas: Select <nombre de columna1>, <nombre de columna2>… from <nombre de tabla1>,<nombre de tabla2> where <condiciones de selección>.

Select CLIENTE.Nomb_Cli, CLIENTE.Apell_Clie, PRODUCTOS.Desc_Prod, PRODUCTOS.Precio_Unit from CLIENTE, PRODUCTOS where (EXISTENCIA_X_PRODUCTO.Cant_Exist>5000 And PRODUCTOS.Precio_Unit<1000 And SALIDAS_DE_ALMACEN.Fecha_Salida Like ‘__/09/2009’ And ENTRADAS_POR_DEVOLUCION.Fecha_Nota_Dev Like ‘__/09/2009’) Order By SALIDAS_DE_ALMACEN.Fecha_Salida ASC

Autor: judith Verónica Montilla Pirela 4