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)