Sql server

Solo disponible en BuenasTareas
  • Páginas : 8 (1931 palabras )
  • Descarga(s) : 4
  • Publicado : 15 de julio de 2010
Leer documento completo
Vista previa del texto
Punto 1. Crear las tablas necesarias para la práctica.

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

use VentaBD
create Table Empleado
(NumEmp int primary key not null ,Nombre Char(32),Edad int,Oficina int,
Titulo Char(20),Contrato varchar,Jefe int,Cuota float,Ventas int)

2. Crear la tabla oficina con su clave principal y su clave foránea( la columna dir 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).

use VentaBD
create table Oficina
(Oficina int primary key not null,Ciudad Char(15),Region char(6),
Dir int constraint FK_Dir references Empleado ,Objetivo float,Ventas float)

3. Crear la tablaproducto con su clave principal.

Use ventasDB
create table Productos
(IdFab char(5),IdProducto nchar(10)primary key not null,
descripcion nchar(10),Precio float, existencia int)

4. Crear la tabla cliente también con todas sus claves y sin la columna limitecredito.

Use ventasDB
create table Cliente
(NumClie int primary key not null,Nombre char(15),
RepClie Int constraintFK_RepClie references Empleado)

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.

Use ventasDB
CREATE TABLE pedido
(
codigo INT NOT NULL,
numpedido INT NOT NULL,
fechapedido DATETIME NOT NULL,
clie INT FOREIGN KEYREFERENCES cliente(numclie) NOT NULL,
rep INT FOREIGN KEY
REFERENCES empleado(numemp) NOT NULL,
fab CHAR(10) NOT NULL,
pedido NCHAR(10) FOREIGN KEY
REFERENCES productos(idproducto) NOT NULL,
cant int NOT NULL,
importe MONEY NOT NULL,
)

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

Use ventasDB
ALTER TABLE Cliente
ADD limitecredito float;

7. Añadir a la tabla empleadolas claves foráneas que le faltan. (Si no tienes claro cuales 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).

Use ventasDB
Alter table Empleado
Add constrain FK_oficina Foreign Key (oficina)
references oficina constrain FK_Jefe FOREIGN KEY(Jefe) references Empleado

8. Hacerque no puedan haber dos empleado con el mismo nombre.

Use ventasDB
Alter table Empleado add
Constraint nombre unique(nombre)

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

Use ventasDB
ALTER TABLE pedido ADD
CONSTRAINT PK_pedido primary key (codigo);

10. Definir un índice sobre la columna region de la tabla de oficina.

Use ventasDB
Create Index Ind1 onoficina(Region)

Tema 4. Realizar 40 sentencias SQL

1. 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%).

Use ventasDB
SELECT idfab, idproducto, descripcion,precio,(Precio*0.16+Precio)AS Precio_ITBS
FROM Productos

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

Use ventasDB
SELECT Numpedido, Fab AS Fabricante, Producto, cant AS Cantidad,
(Importe/Cant)AS Precio_Unitario,Importe
FROM Pedido

3. 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).

4. Obtener la lista de los clientesagrupados por código de representante asignado, visualizar todas las columnas de la tabla.

Use ventasDB
SELECT Numclie AS Cliente_No, Nombre, RepClie AS Vendedor, Limitecredito as [Limite de credito]
FROM Cliente
ORDER BY RepClie

5. 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...
tracking img