ejemplo de modelo sql

Páginas: 7 (1612 palabras) Publicado: 30 de julio de 2014
/************************************************/
/*
CREACION DE TABLAS
*/
/***********************************************/

DROP TABLE Compras;
DROP TABLE Ventas;
DROP TABLE Almacenes;
DROP TABLE Estancos;
DROP TABLE Cigarrillos;
DROP TABLE Manufactura;
DROP TABLE Fabricantes;
CREATE TABLE Fabricantes (
nombre_fabricante VARCHAR(30) NOT NULL,
pais VARCHAR(15),
CONSTRAINT pk_fabPRIMARY KEY (nombre_fabricante)
);
CREATE TABLE Manufactura (
marca VARCHAR(20) NOT NULL,
nombre_fabricante VARCHAR(30),
carton int DEFAULT 10,
embalaje int DEFAULT 20,
CONSTRAINT pk_man PRIMARY KEY (marca),
CONSTRAINT fk_man_fab FOREIGN KEY (nombre_fabricante)REFERENCES
Fabricantes(nombre_fabricante)ON DELETE CASCADE,
CONSTRAINT ck_carton CHECK (carton > 0),
CONSTRAINT ck_embalajeCHECK (embalaje > 0)
);
CREATE TABLE Cigarrillos (
marca VARCHAR(20) NOT NULL,
filtro CHAR(1) NOT NULL,
color CHAR(1) NOT NULL,
clase VARCHAR(10) NOT NULL,
mentol CHAR(1) NOT NULL,
nicotina int,
alquitran int,
precio_venta int,
precio_costo int,
CONSTRAINT pk_cig PRIMARY KEY (marca, filtro, color, clase, mentol),
CONSTRAINT fk_cig_man FOREIGN KEY (marca) REFERENCES Manufactura(marca)ONDELETE
CASCADE,
CONSTRAINT ck_filtro CHECK (filtro IN ('S', 'N')),
CONSTRAINT ck_color CHECK (color IN ('R', 'N')),
CONSTRAINT ck_clase CHECK (clase IN ('Light', 'SuperLight','UltraLight', 'Normal')),

CONSTRAINT ck_mentol CHECK (mentol IN ('S', 'N')),
CONSTRAINT ck_pv CHECK (precio_venta > 0),
CONSTRAINT ck_pc CHECK (precio_costo > 0)
);
CREATE TABLE Estancos (
nif_estanco VARCHAR(12)NOT NULL,
expendeduria int NOT NULL,
cp_estanco int NOT NULL,
nombre_estanco VARCHAR(30) NOT NULL,
direccion_estanco VARCHAR(30),
localidad_estanco VARCHAR(15),
provincia_estanco VARCHAR(15),
CONSTRAINT pk_est PRIMARY KEY (nif_estanco),
CONSTRAINT sk_est UNIQUE (expendeduria, cp_estanco),
CONSTRAINT ck_nif CHECK (nif_estanco = UPPER(nif_estanco))
);
CREATE TABLE Almacenes (
nif_estancoVARCHAR(12) NOT NULL,
marca VARCHAR(20) NOT NULL,
filtro CHAR(1) NOT NULL,
color CHAR(1) NOT NULL,
clase VARCHAR(10) NOT NULL,
mentol CHAR(1) NOT NULL,
unidades int,
CONSTRAINT pk_Alm PRIMARY KEY (nif_estanco, marca, filtro, color,clase, mentol),
CONSTRAINT fk_Alm_est FOREIGN KEY (nif_estanco) REFERENCES Estancos(nif_estanco)ON
DELETE CASCADE,
CONSTRAINT fk_alm_cig FOREIGN KEY (marca,filtro, color, clase, mentol) REFERENCES
Cigarrillos(marca, filtro, color, clase, mentol) ON DELETE CASCADE,
CONSTRAINT ck_uni CHECK (unidades > = 0)
);
CREATE TABLE Compras (
nif_estanco VARCHAR(12) NOT NULL,
marca VARCHAR(20) NOT NULL,
filtro CHAR(1) NOT NULL,
color CHAR(1) NOT NULL,
clase VARCHAR(10) NOT NULL,
mentol CHAR(1) NOT NULL,
fecha_compra DATETIME NOT NULL,
c_comprada int,precio_compra int,
CONSTRAINT pk_com PRIMARY KEY (nif_estanco, marca, filtro, color, clase, mentol,
fecha_compra),
CONSTRAINT fk_com_alm FOREIGN KEY (nif_estanco, marca, filtro, color, clase, mentol)
REFERENCES Almacenes(nif_estanco, marca, filtro,color, clase, mentol)ON DELETE CASCADE,

CONSTRAINT ck_c_comprada CHECK (c_comprada > 0),
CONSTRAINT ck_precio_compra CHECK (precio_compra > 0));

CREATE TABLE Ventas (
nif_estanco VARCHAR(12) NOT NULL,
marca VARCHAR(20) NOT NULL,
filtro CHAR(1) NOT NULL,
color CHAR(1) NOT NULL,
clase VARCHAR(10) NOT NULL,
mentol CHAR(1) NOT NULL,
fecha_venta DATETIME NOT NULL,
c_vendida int,
precio_venta int,
CONSTRAINT pk_ven PRIMARY KEY (nif_estanco, marca, filtro, color, clase,mentol,
fecha_venta),
CONSTRAINT fk_ven_alm FOREIGN KEY(nif_estanco, marca, filtro, color, clase, mentol)
REFERENCES Almacenes(nif_estanco, marca, filtro, color, clase, mentol)ON DELETE CASCADE,
CONSTRAINT ck_c_vendida CHECK (c_vendida > 0),
CONSTRAINT ck_precio_venta CHECK (precio_venta > 0)
);

/************************************************/
/*
INGRESO DE DATOS A LA BASE DE DATOS */
/***********************************************/...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Ejemplo sql
  • Ejemplo Sql
  • Ejemplos de sql
  • Ejemplos De Consultas Sql
  • Ejemplo Ensayo Sql
  • Ejemplos sql resueltos
  • Consultas sql ejemplos y solucion
  • Modelo ejemplar

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS