Você está na página 1de 2

1 Crear la tabla empleados y definir su clave principal en la misma instruccin de creacin.

CREATE TABLE empleados ( numemp INTEGER PRIMARY KEY, nombre TEXT(30) NOT NULL, edad INTEGER NOT NULL, oficina INTEGER, titulo CHAR(20) NOT NULL, contrato DATETIME NOT NULL, director INTEGER, cuota FLOAT, ventas FLOAT);

2 Crear la tabla oficinas con su clave principal y su clave fornea ( la columna dir contiene el cdigo de empleado del director de la oficina luego es un campo que hace referencia a un empleado luego es clave fornea y hace referencia a la tabla empleados). CREATE TABLE oficinas ( oficina INT PRIMARY KEY, ciudad TEXT(30), region TEXT(20), dir INTEGER REFERENCES empleados, objetivo FLOAT, ventas FLOAT );

3 Crear la tabla productos con su clave principal. CREATE TABLE productos ( idfab TEXT(10), idproducto TEXT(20), descripcion TEXT(30) NOT NULL, precio FLOAT NOT NULL, existencias INT , PRIMARY KEY (idfab(10),idproducto(10)) );

4 Crear la tabla clientes tambin con todas sus claves y sin la columna limitecredito. CREATE TABLE clientes ( numclie INT , nombre TEXT(30) NOT NULL, repclie INT REFERENCES empleados, PRIMARY KEY (numclie) ) ;

5 Crear la tabla pedidos sin clave principal, con la clave fornea 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 ( codigo INT UNIQUE, numpedido INT PRIMARY KEY, fechapedido DATETIME NOT NULL, clie INT NOT NULL, rep INT NOT NULL, fab TEXT(10) NOT NULL, producto TEXT(20) NOT NULL, cant INT NOT NULL, importe FLOAT NOT NULL); FOREIGN KEY (clie) REFERENCES clientes, FOREIGN KEY (rep) REFERENCES empleados, FOREIGN KEY (fab,producto) REFERENCES productos ); #NO FUNCIONA, DA ERROR AL CREAR LA TABLA POR LAS CLAVES AJENAS

6 Aadir a la definicin de clientes la columna limitecredito. ALTER TABLE clientes ADD COLUMN limitecredito FLOAT;

7 Aadir a la tabla empleados las claves forneas 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 quin dirige al empleado, su jefe inmediato). ALTER TABLE emple ADD FOREIGN KEY (oficina) REFERENCES oficinas(oficina), ADD FOREIGN KEY (director) REFERENCES empleados(jefe); #NO ME FUNCIONA, ERROR EN LAS CLAVES AJENAS.

8 Hacer que no puedan haber dos empleados con el mismo nombre. ALTER TABLE empleados ADD UNIQUE (nombre);

9 Aadir a la tabla de pedidos la definicin de clave principal. ALTER TABLE pedidos ADD PRIMARY KEY (numpedido);

10 Definir un ndice sobre la columna region de la tabla de oficinas. CREATE INDEX indexreg ON oficinas (region) ;

11 Eliminar el ndice creado. DROP INDEX indexreg ON oficinas ;

Você também pode gostar