Está en la página 1de 7

UNIVERSIDAD DOMINICANA O&M

MODULO 1: GESTION Y CONSULTA DE DATOS

PRACTICA FINAL

INSTRUCTOR: ELVIN GERMAN

0. Crear una Base de Datos llamada BD_PractFinal y dentro de ella, crear


todos los puntos que vienen a continuación

create database BD_PractFinal


go
use BD_PractFinal

1. Crear la tabla empleado y definir su clave principal en la misma instrucción


de creación.

create table Departamentos


(
Id_Departamento int identity(1,1)
CONSTRAINT PK_Departamentos_Id_departamento
primary key(Id_departamento),
Departamento nvarchar(100) not null
)
sp_help departamentos

create table Empleados


(
Id_Emp int identity (1,1)
CONSTRAINT PK_Empleados_Id_Emp
primary key(Id_Emp),
Nombre nvarchar(60) not null,
Oficio nvarchar(60) not null,
Director int NULL,
Fecha_alta datetime NULL,
SALARIO float NULL,
COMISION float NULL,
Id_Departamento int NULL,
CONSTRAINT FK_Empleados_Id_Departamento FOREIGN KEY (Id_Departamento)
REFERENCES Departamentos(Id_Departamento)

ON DELETE CASCADE
ON UPDATE CASCADE
);
2. Crear la tabla oficina con su clave principal y su clave foránea (la columna
director contiene el código de empleado del director de la oficina luego es un
campo que hace referencia a un empleado luego es clave foránea y hace
referencia a la tabla empleados).

create table Oficina


(
Id_Oficina int identity (1,1)
CONSTRAINT PK_Oficina_Id_Oficina
primary key(Id_Oficina),
Dnombre nvarchar(60) not null,
Id_emp int not null,
Id_director int NULL

CONSTRAINT FK_Oficina_Id_emp FOREIGN KEY (Id_emp)


REFERENCES Empleados(Id_emp)

ON DELETE CASCADE
ON UPDATE CASCADE
);

go
ALTER TABLE [dbo].[oficina] WITH CHECK ADD CONSTRAINT [FK_Ofi_Id_director]
FOREIGN KEY([Id_director])
REFERENCES [dbo].[oficina] ([Id_oficina])

3. Crear la tabla producto con su clave principal.

create table Productos


(
Id_Producto int identity (1,1)
CONSTRAINT PK_Productos_Id_Producto
primary key(Id_Producto),
Descripcion nvarchar(60) null,
Precio_actual float null,
Stock_disponible int NULL
)
4. Crear la tabla cliente también con todas sus claves

create table Clientes


(
Id_cliente int identity (1,1)
CONSTRAINT PK_Clientes_Id_Cliente
primary key(Id_Cliente),
Nombre nvarchar(60) null,
Localidad nvarchar(14) null,
Id_vendedor int null,
Debe float null,
Haber float null,
CONSTRAINT FK_Clientes_Idvendedor FOREIGN KEY (Id_vendedor)
REFERENCES Empleados(Id_emp)

ON DELETE CASCADE
ON UPDATE CASCADE
);

5. Crear la tabla pedido sin clave principal, con la clave foránea que hace
referencia a los productos, la que hace referencia a clientes y la que indica el
representante (empleado) que ha realizado el pedido.

create table Pedidos


(
Id_pedido int,
Id_producto int null,
Id_cliente int null,
Id_vendedor int null,
Unidades int null,
Fecha_pedido datetime null,
CONSTRAINT FK_Pedidos_Id_producto FOREIGN KEY (Id_producto)
REFERENCES Productos(Id_producto),

CONSTRAINT FK_Pedidos_Id_cliente FOREIGN KEY (Id_cliente)


REFERENCES Clientes (Id_cliente),

CONSTRAINT FK_Pedidos_Id_vendedor FOREIGN KEY (Id_vendedor)


REFERENCES Empleados (Id_emp)

ON DELETE CASCADE
ON UPDATE CASCADE
);
6. Crear tabla de Fabricante
create table fabricante
(
Id_fabricante int,
Proveedor nvarchar(60) null,
Fecha_fabricacion datetime null,
Fecha_Vencimiento datetime null
CONSTRAINT PK_Fabricante_Id_fabricante
primary key(Id_fabricante)
)

7. Añadir a la definición de clientes la columna limitecredito.

alter table Clientes


add Limite_credito float null

8. Añadir a la tabla empleado las claves foráneas que le faltan. (Si no tienes claro
cuáles son te lo decimos ahora: la columna oficina indica la oficina donde trabaja
el empleado y la columna director indica quién dirige al empleado, su jefe
inmediato).

9. Hacer que no puedan haber dos empleado con el mismo nombre.

10. Añadir a la tabla de pedido la definición de clave principal.

11. Definir un índice sobre la columna región de la tabla de oficina.

12. Obtener la lista de Fabricante con nombre y cantidad de productos.

13. Obtener una lista de todos los productos indicando para cada uno su idfab,
idproducto, descripción, precio y precio con ITBS. incluido (es el precio anterior
aumentado en un 16%).

14. De cada pedido queremos saber su número de pedido, fab, producto, cantidad,
precio unitario e importe.

15. Listar de cada empleado su nombre, nº de días que lleva trabajando en la


empresa y su año de nacimiento (suponiendo que este año ya ha cumplido años).

16. Obtener cantidad de Fabricante por Zona


17. Obtener la lista de los clientes agrupados por código de representante asignado,
visualizar todas las columnas de la tabla.

18. Obtener las oficinas ordenadas por orden alfabético de región y dentro de cada
región por ciudad, si hay más de una oficina en la misma ciudad, aparecerá
primero la que tenga el número de oficina mayor.

19. Obtener los pedidos ordenados por fecha de pedido.

20. Listar las cuatro líneas de pedido más caras (las de mayor importe).

21. Listar el valor total de los productos, distribuido por fabricante (Nombre), o sea
cantidad de productos por cantidad de existencia.

22. Obtener las mismas columnas que en el punto 2 pero sacando únicamente las 5
líneas de pedido de menor precio unitario.

23. Listar toda la información de los pedidos de marzo (No hay datos).

24. Listar los números de los empleados que tienen una oficina asignada.

25. Listar los números de las oficinas que no tienen director.

26. Listar los datos de las oficinas de las regiones del norte y del este (tienen que
aparecer primero las del norte y después las del este) (En este caso la región está
dentro de la columna dirección).

27. Listar las oficinas del este indicando para cada una de ellas su número, ciudad,
números y nombres de sus empleados. Hacer una versión en la que aparecen sólo
las que tienen empleados, y hacer otra en las que aparezcan las oficinas del este
que no tienen empleados.

28. Listar los pedidos mostrando su número, importe, nombre del cliente, y el
límite de crédito del cliente correspondiente (todos los pedidos tienen cliente y
representante).

29. Listar los datos de cada uno de los empleados, la ciudad y región en donde
trabaja.

30. Listar las oficinas con objetivo superior a 600.000 indicando para cada una de
ellas el nombre de su director.

33. Listar los pedidos superiores a 25.000, incluyendo el nombre del empleado que
tomó el pedido y el nombre del cliente que lo solicitó.
31. Hallar los empleados que realizaron su primer pedido el mismo día en que
fueron contratados.

32. Listar los empleados con una cuota superior a la de su jefe; para cada empleado
sacar sus datos y el número, nombre y cuota de su jefe. (TABLA INCONMPLETA
PARA ESTA OPERACION).

33. Listar los códigos de los empleados que tienen una línea de pedido superior a
10.000 o que tengan una cuota inferior a 10.000.

34. Cuál es la cuota media y las ventas medias de todos los empleados

35. Hallar el importe medio de pedidos, el importe total de pedidos y el precio


medio de venta (el precio de venta es el precio unitario en cada pedido).

36. Hallar el precio medio de los productos del fabricante ACI.

37. ¿Cuál es el importe total de los pedidos realizados por el empleado Vicente
Pantalla (EL NOMBRE SERIA FERMIN)?

38. Hallar en qué fecha se realizó el primer pedido (suponiendo que en la tabla de
pedidos tenemos todos los pedidos realizados hasta la fecha).

39. Hallar cuántos pedidos hay de más de 35500

40. Listar cuántos empleados están asignados a cada oficina, indicar el número de
oficina y cuántos hay asignados.

41. Para cada empleado, obtener su número, nombre, e importe vendido por ese
empleado a cada cliente indicando el número de cliente.

42. Para cada empleado cuyos pedidos suman más de 30.000, hallar su importe
medio de pedidos. En el resultado indicar el número de empleado y su importe
medio de pedidos.

43. Listar de cada producto, su descripción, precio y cantidad total pedida,


incluyendo sólo los productos cuya cantidad total pedida sea superior al 75% del
stock; y ordenado por cantidad total pedida.

44. Cuál es el producto que más se vende.

45. Saber cuántas oficinas tienen empleados con ventas superiores a su cuota, no
queremos saber cuáles sino cuántas hay. (DIRECTOR, es el campo de id empleado)
46. Subir un 5% el precio de todos los productos del fabricante ACI. (ACI es
HUX)

47. Añadir una nueva oficina para la ciudad de Madrid, con el número de oficina
51, con un objetivo de 100000 y región Centro.(Consulta emulada)

48. Cambiar los empleados de la oficina 21 a la oficina 30. (Consulta emulada)

49. Eliminar los pedidos del empleado 105. (Consulta emulada)

50. Eliminar las oficinas que no tengan empleados. (Consulta emulada)

51. A los empleados de la oficina 30 asignarles la oficina 21. (Consulta emulada)

52. Cuál de los Empleados cumplieron con las metas de ventas.

53. Cuál es el fabricante con mayor cantidad de productos en el inventario.

También podría gustarte