Código:
USE master GO CREATE DATABASE LAB3_TP04 ON ( NAME = 'LAB3_TP04_dat', FILENAME = 'c:\LAB3_TP04_dat.mdf', SIZE = 1MB, MAXSIZE = 50MB, FILEGROWTH = 2MB ) LOG ON ( NAME = 'LAB3_TP04_log', FILENAME = 'c:\LAB3_TP04_log.ldf', SIZE = 1MB, MAXSIZE = 10MB, FILEGROWTH = 1MB ) GO USE LAB3_TP04 GO CREATE TABLE PAISES ( COD_PAIS SMALLINT NOT NULL, PAIS VARCHAR(30) NOT NULL CHECK(LTRIM(RTRIM(PAIS))<>'') CONSTRAINT PK_PAIS_CODPA PRIMARY KEY (COD_PAIS) ) GO CREATE TABLE LOCALIDADES ( CP SMALLINT NOT NULL CHECK(CP<=9999), LOCALIDAD VARCHAR(30) NOT NULL CHECK(LTRIM(RTRIM(LOCALIDAD))<>''), COD_PAIS SMALLINT NOT NULL REFERENCES PAISES (COD_PAIS) CONSTRAINT PK_LOC_CP PRIMARY KEY (CP) ) GO CREATE TABLE CLIENTES ( NOMBRE VARCHAR(40) NOT NULL CHECK(RTRIM(LTRIM(NOMBRE))<>''), APELLIDO VARCHAR(40) NOT NULL CHECK (RTRIM(LTRIM(APELLIDO))<>''), TELEFONO VARCHAR(30) NULL, CP SMALLINT NOT NULL CHECK (CP <=9999) REFERENCES LOCALIDADES (CP), COD_CLIENTE TINYINT NOT NULL CHECK(COD_CLIENTE >0) CONSTRAINT PK_CLI_CODCLI PRIMARY KEY (COD_CLIENTE) ) GO CREATE TABLE PROVEEDORES ( COD_PROVEEDOR TINYINT NOT NULL CHECK(COD_PROVEEDOR >0), NOMBRE VARCHAR(40) NOT NULL CHECK(RTRIM(LTRIM(NOMBRE))<>''), DIRECCION VARCHAR(45) NULL, TELEFONO VARCHAR(30) NULL, CP SMALLINT NOT NULL REFERENCES LOCALIDADES (CP) CONSTRAINT PK_PROV_CODPROV PRIMARY KEY (COD_PROVEEDOR) ) GO CREATE TABLE VENTAS ( COD_VENTA INT NOT NULL CHECK(COD_VENTA>0), COD_CLIENTE TINYINT NOT NULL REFERENCES CLIENTES (COD_CLIENTE), FECHA SMALLDATETIME NOT NULL CHECK (FECHA <= GETDATE()) CONSTRAINT PK_NUM PRIMARY KEY(COD_VENTA) ) GO CREATE TABLE PRODUCTOS ( COD_PRODUCTO INT NOT NULL CHECK(COD_PRODUCTO >0), DESCRIPCION VARCHAR(70) NOT NULL, PRECIO_U NUMERIC(9,2) NOT NULL CHECK (PRECIO_U >=0), COD_PROVEEDOR TINYINT NOT NULL CHECK(COD_PROVEEDOR >0) REFERENCES PROVEEDORES(COD_PROVEEDOR) CONSTRAINT PK_PROD_CODPROD PRIMARY KEY (COD_PRODUCTO) ) GO CREATE TABLE DETALLE_VENTA ( COD_VENTA INT NOT NULL REFERENCES VENTAS (COD_VENTA), COD_PRODUCTO INT NOT NULL REFERENCES PRODUCTOS (COD_PRODUCTO), CANTIDAD SMALLINT NOT NULL, PRECIO_U NUMERIC(9,2) NOT NULL CONSTRAINT PK_DET PRIMARY KEY(COD_VENTA, COD_PRODUCTO) ) GO -- Insertar registros a la tabla detalle_ventas INSERT INTO DETALLE_VENTA (COD_VENTA, COD_PRODUCTO, CANTIDAD,PRECIO_U) VALUES(1,2,2,0.62) INSERT INTO DETALLE_VENTA (COD_VENTA, COD_PRODUCTO, CANTIDAD,PRECIO_U) VALUES(2,1,5,0.42) INSERT INTO DETALLE_VENTA (COD_VENTA, COD_PRODUCTO, CANTIDAD,PRECIO_U) VALUES(3,4,3,0.32) INSERT INTO DETALLE_VENTA (COD_VENTA, COD_PRODUCTO, CANTIDAD,PRECIO_U) VALUES(4,5,7,0.22) -- Insertar registros a la tabla ventas INSERT INTO VENTAS (COD_VENTA,COD_CLIENTE, FECHA) VALUES (1,1,'10/07/2006') INSERT INTO VENTAS (COD_VENTA,COD_CLIENTE, FECHA) VALUES (2,2,'11/07/2006') INSERT INTO VENTAS (COD_VENTA,COD_CLIENTE, FECHA) VALUES (3,3,'12/07/2006') INSERT INTO VENTAS (COD_VENTA,COD_CLIENTE, FECHA) VALUES (4,4,'13/07/2006') -- Insertar registros a la tabla productos INSERT INTO PRODUCTOS (COD_PRODUCTO,DESCRIPCION,PRECIO_U,COD_PROVEEDOR) VALUES (1,'LAPICERA AZUL',0.62,1) INSERT INTO PRODUCTOS (COD_PRODUCTO,DESCRIPCION,PRECIO_U,COD_PROVEEDOR) VALUES (2,'LAPICERA VERDE',0.42,2) INSERT INTO PRODUCTOS (COD_PRODUCTO,DESCRIPCION,PRECIO_U,COD_PROVEEDOR) VALUES (3,'TEMPERAS VARIOS COLORES',0.32,3) INSERT INTO PRODUCTOS (COD_PRODUCTO,DESCRIPCION,PRECIO_U,COD_PROVEEDOR) VALUES (4,'LAPIZ NEGRO',0.52,4) -- Insertar registros a la tabla Paises INSERT INTO PAISES (COD_PAIS, PAIS) VALUES (1,'ARGENTINA') INSERT INTO PAISES (COD_PAIS, PAIS) VALUES (2, 'BRASIL') INSERT INTO PAISES (COD_PAIS, PAIS) VALUES (3, 'URUGUAY') INSERT INTO PAISES (COD_PAIS, PAIS) VALUES (4, 'ALEMANIA') INSERT INTO PAISES (COD_PAIS, PAIS) VALUES (5, 'ESPAÑA') -- Insertar registros a la tabla Localidades INSERT INTO LOCALIDADES (CP, LOCALIDAD, COD_PAIS) VALUES (1665, 'JOSE C PAZ', 1) INSERT INTO LOCALIDADES (CP, LOCALIDAD, COD_PAIS) VALUES (1000, 'SAO PAULO', 2) INSERT INTO LOCALIDADES (CP, LOCALIDAD, COD_PAIS) VALUES (2000, 'MONTEVIDEO', 3) INSERT INTO LOCALIDADES (CP, LOCALIDAD, COD_PAIS) VALUES (2233, 'BERLIN', 4) INSERT INTO LOCALIDADES (CP, LOCALIDAD, COD_PAIS) VALUES (5555, 'BARCELONA', 5) -- Insertar registros a la tabla Clientes INSERT INTO CLIENTES (NOMBRE, APELLIDO, TELEFONO, CP, COD_CLIENTE) VALUES ('Juan', 'Perez', '54-11-4555-1232', 1665,1) INSERT INTO CLIENTES (NOMBRE, APELLIDO, TELEFONO, CP, COD_CLIENTE) VALUES ('Joao', 'Dos Santos', '55-11-5444-0909', 1000,2) INSERT INTO CLIENTES (NOMBRE, APELLIDO, TELEFONO, CP, COD_CLIENTE) VALUES ('Jorge', 'Lario', '598-910-1019', 2000,3) INSERT INTO CLIENTES (NOMBRE, APELLIDO, TELEFONO, CP, COD_CLIENTE) VALUES ('Paul', 'Kalkbrenner', '345-232-1111', 2233,4) INSERT INTO CLIENTES (NOMBRE, APELLIDO, TELEFONO, CP, COD_CLIENTE) VALUES ('Miguel', 'Sar', '230-322-9988', 5555,5 ) -- Insertar registros a la tabla Proveedores INSERT INTO PROVEEDORES (COD_PROVEEDOR, NOMBRE, DIRECCION, TELEFONO, CP) VALUES (1, 'Exedor Chemicals', 'Sarmiento 1233', '54-11-4323-2222', 1665) INSERT INTO PROVEEDORES (COD_PROVEEDOR, NOMBRE, DIRECCION, TELEFONO, CP) VALUES (2, 'Drogueria Joao Goulart', ' Rua Avelino Duarte 233', '55-11-5323-2222', 1000) INSERT INTO PROVEEDORES (COD_PROVEEDOR, NOMBRE, DIRECCION, TELEFONO, CP) VALUES (3, 'Insumos Tricolor', 'Avenida 18 de Julio 2010', '598-901-3322', 2000) INSERT INTO PROVEEDORES (COD_PROVEEDOR, NOMBRE, DIRECCION, TELEFONO, CP) VALUES (4, 'Watergate Chems INC', 'Kraftwerk 1970', '345-232-2000', 2233) INSERT INTO PROVEEDORES (COD_PROVEEDOR, NOMBRE, DIRECCION, TELEFONO, CP) VALUES (5, 'Farmacos Anibal', 'Pasaje Ortigoza 1023', '230-322-2121', 5555)