Sie sind auf Seite 1von 8

Gonzalez Cruz Giovanni Rubén 3511 PRACTICA #3

Teniendo nuestro modelo entidad-relación con los datos adecuados y


normalizado, haremos nuestras consultas en la BD.

En este caso usaremos:

Nuestro BD se llamará cremería y para iniciar notaremos la tabla que no


dependa de ninguna otra, es decir no tiene llave foránea, por lo tanto,
iniciaremos con Personal.

Vivanco Benavides Luis Enrique Taller de Base de Datos


Gonzalez Cruz Giovanni Rubén 3511 PRACTICA #3

La tabla personal se creará con un create table y sus atributos con sus
respectivos valores ya sea varchar o int, y siempre tendremos que ponerles
NOT NULL o DEFAULT depende sea el caso.
El identity es para asignarle valores automáticos es decir 1,2,3,4, 5,….etc.

Para la llave primaria se usará un constraint y se le asignara un nombre


prosiguiendo que es una llave primaria y el nombre del atributo.

Para las llaves foráneas se usará un constraint y se le asignara un nombre


prosiguiendo que es llave foránea, el nombre de atributo y su referencia y
de que tabla es.

El alter table es para alterar una tabla que ya ha sido creada prosiguiendo
Del nombre de la tabla y add; y la instrucción que se desee.

Y así crearemos todas las tablas siguientes:

Vivanco Benavides Luis Enrique Taller de Base de Datos


Gonzalez Cruz Giovanni Rubén 3511 PRACTICA #3

Vivanco Benavides Luis Enrique Taller de Base de Datos


Gonzalez Cruz Giovanni Rubén 3511 PRACTICA #3

Terminando de crear las tablas podremos notar las tablas de esta manera
en la opción de new DataBase Diagram. Y agregaremos todas las tablas y
las podremos acomodar de manera que nosotros queramos.

Ahora vamos agregarles datos a nuestras tablas.


Se pondrá INSERT INTO después el nombre de la tabla que se desea
agregar datos, entre paréntesis el orden que los va insertar, prosiguiendo
con VALUES y entre paréntesis los datos; los varchar van entre ‘’ y los int
solo los números.

Vivanco Benavides Luis Enrique Taller de Base de Datos


Gonzalez Cruz Giovanni Rubén 3511 PRACTICA #3

Para consultar nuestras tablas se colocan SELECT * FROM y el nombre de


la tabla que sea consultar.

Consultas
La instrucción SELECT en SQL se usa para recuperar datos de una base
de datos relacional.
Las funciones SQL COUNT (), AVG () y SUM ()
La función COUNT () devuelve el número de filas que coinciden con un
criterio especificado.
La función AVG () devuelve el valor promedio de una columna numérica.
La función SUM () devuelve la suma total de una columna numérica.
La palabra clave AS se usa para asignar un alias a la columna o una
tabla. Se inserta entre el nombre de la columna y el alias de la columna o
entre el nombre de la tabla y el alias de la tabla.
La cláusula WHERE se usa para filtrar el conjunto de resultados según la
condición especificada siguiendo la palabra WHERE .
Las combinaciones internas se realizan mediante la instrucción INNER
JOIN. Devuelven únicamente aquellos registros/filas que tienen valores
idénticos en los dos campos que se comparan para unir ambas tablas. Es
decir aquellas que tienen elementos en las dos tablas, identificados éstos
por el campo de relación.

Vivanco Benavides Luis Enrique Taller de Base de Datos


Gonzalez Cruz Giovanni Rubén 3511 PRACTICA #3

Las sig. Consultas nos solicitó el profesor:

------Consulta 1----
SELECT SUM (I.Cantidad) as Total_Lacteos, SUM((I.Cantidad *
I.Precio_Compra_U)) as Suma_Total FROM INVENTARIO I WHERE
I.Tipo_Producto = 'Lacteos';

------Consulta 2----
SELECT SUM (I.Cantidad) as Total_NoLacteos FROM INVENTARIO I
WHERE I.Tipo_Producto != 'Lacteos';

Vivanco Benavides Luis Enrique Taller de Base de Datos


Gonzalez Cruz Giovanni Rubén 3511 PRACTICA #3

------Consulta 3----
SELECT Pe.Nombre_1, Pe.Nombre_2, Pe.Apellido_1, Pu.Nombre_Puesto,
Pu.Salario FROM PERSONAL Pe inner join PUESTO Pu ON Pe.ID_Puesto
= Pu.ID_Puesto;

------Consulta 4----
SELECT Nombre_Producto, Cantidad, Marca FROM INVENTARIO I
WHERE I.Nombre_Producto = 'Yogurth';

------Consulta 5----
SELECT * FROM (SELECT I.Nombre_Producto AS Producto1, Marca AS
Marca_P1 FROM INVENTARIO I WHERE I.Tipo_Producto = 'Lacteos') AS
A inner join (SELECT I.Nombre_Producto AS Producto2, Marca AS
Marca_P2 FROM INVENTARIO I ) B on Producto1 != Producto2

Vivanco Benavides Luis Enrique Taller de Base de Datos


Gonzalez Cruz Giovanni Rubén 3511 PRACTICA #3

------Consulta 6----
SELECT * FROM (SELECT I.Nombre_Producto AS Producto1, I.Marca AS
Marca_P1, Precio_Venta AS Precio1 FROM INVENTARIO I WHERE
I.Tipo_Producto = 'Lacteos') AS A inner join (SELECT I.Nombre_Producto
AS Producto2, Marca AS Marca_P2, Precio_Venta AS Precio2 FROM
INVENTARIO I ) AS B on Producto1 != Producto2

Vivanco Benavides Luis Enrique Taller de Base de Datos