(
NUM_SEC NUMERIC(10) NOT NULL,
DESCRIPCION VARCHAR(20) NOT NULL,
PRIMARY KEY (NUM_SEC)
);
CREATE TABLE EJEMPLAR
(
NUM_SEC NUMERIC(10) NOT NULL,
DESCRIPCION VARCHAR(50) NULL,
DISPONIBLE INTEGER NOT NULL,
ESTADO INTEGER NULL,
NUM_SEC_MATERIAL VARCHAR(30) NOT NULL,
NUM_SEC_ESTADO_MATERIAL NUMERIC(10) NOT NULL,
PRIMARY KEY (NUM_SEC),
FOREIGN KEY (NUM_SEC_MATERIAL) REFERENCES MATERIAL(NUM_SEC),
FOREIGN KEY (NUM_SEC_ESTADO_MATERIAL) REFERENCES ESTADO_MATERIAL(NUM_SEC)
);
CREATE TABLE DEVOLUCION_EJEMPLAR
(
NUM_SEC_DEVOLUCION NUMERIC(10) NOT NULL,
NUM_SEC_EJEMPLAR NUMERIC(10) NOT NULL,
PRIMARY KEY (NUM_SEC_DEVOLUCION,NUM_SEC_EJEMPLAR),
FOREIGN KEY (NUM_SEC_DEVOLUCION) REFERENCES DEVOLUCION (NUM_SEC),
FOREIGN KEY (NUM_SEC_EJEMPLAR) REFERENCES EJEMPLAR (NUM_SEC)
);
CREATE TABLE EDICION
(
NUM_SEC NUMERIC(10) NOT NULL,
DESCRIPCION VARCHAR(30) NOT NULL,
PRIMARY KEY (NUM_SEC)
);
CREATE TABLE EDITORIAL
(
NUM_SEC NUMERIC(10) NOT NULL,
DESCRIPCION VARCHAR(60) NOT NULL,
PRIMARY KEY (NUM_SEC)
);
CREATE TABLE RESERVA
(
NUM_SEC NUMERIC(10) NOT NULL,
FECHA_RESERVA DATETIME NOT NULL,
NUM_SEC_LECTOR NUMERIC(10) NOT NULL,
PRIMARY KEY (NUM_SEC),
FOREIGN KEY (NUM_SEC_LECTOR) REFERENCES LECTOR (NUM_SEC)
);
CREATE TABLE LIBRO
(
NUM_SEC NUMERIC(10) NOT NULL,
NUM_SEC_MATERIAL VARCHAR(30) NOT NULL,
VOLUMEN INTEGER NULL,
PAGINAS INTEGER NULL,
NUM_SEC_COLECCION NUMERIC(10) NOT NULL,
NUM_SEC_EDITORIAL NUMERIC(10) NOT NULL,
NUM_SEC_EDICION NUMERIC(10) NOT NULL,
PRIMARY KEY (NUM_SEC,NUM_SEC_MATERIAL),
FOREIGN KEY (NUM_SEC_MATERIAL) REFERENCES MATERIAL(NUM_SEC),
FOREIGN KEY (NUM_SEC_COLECCION) REFERENCES COLECCION(NUM_SEC),
FOREIGN KEY (NUM_SEC_EDITORIAL) REFERENCES EDITORIAL(NUM_SEC),
FOREIGN KEY (NUM_SEC_EDICION) REFERENCES EDICION(NUM_SEC)
);
CREATE TABLE MAT_NO_CONV
(
NUM_SEC NUMERIC(10) NOT NULL,
NUM_SEC_MATERIAL VARCHAR(30) NOT NULL,
TIPO VARCHAR(30) NOT NULL,
PRIMARY KEY (NUM_SEC,NUM_SEC_MATERIAL),
FOREIGN KEY (NUM_SEC_MATERIAL) REFERENCES MATERIAL(NUM_SEC)
);
CREATE TABLE PERIODICO
(
NUM_SEC NUMERIC(10) NOT NULL,
NUM_SEC_MATERIAL VARCHAR(30) NOT NULL,
NOMBRE VARCHAR(30) NOT NULL,
FECHA_PUBLICACION DATETIME NOT NULL,
PRIMARY KEY (NUM_SEC,NUM_SEC_MATERIAL),
FOREIGN KEY (NUM_SEC_MATERIAL) REFERENCES MATERIAL(NUM_SEC)
);
CREATE TABLE PRESTAMO_EJEMPLAR
(
NUM_SEC_PRESTAMO NUMERIC(10) NOT NULL,
NUM_SEC_EJEMPLAR NUMERIC(10) NOT NULL,
ESTADO INTEGER NOT NULL,
PRIMARY KEY (NUM_SEC_PRESTAMO,NUM_SEC_EJEMPLAR),
FOREIGN KEY (NUM_SEC_PRESTAMO) REFERENCES PRESTAMO(NUM_SEC),
FOREIGN KEY (NUM_SEC_EJEMPLAR) REFERENCES EJEMPLAR(NUM_SEC)
);
CREATE TABLE RESERVA_EJEMPLAR
(
NUM_SEC_RESERVA NUMERIC(10) NOT NULL,
NUM_SEC_EJEMPLAR NUMERIC(10) NOT NULL,
PRIMARY KEY (NUM_SEC_RESERVA,NUM_SEC_EJEMPLAR),
FOREIGN KEY (NUM_SEC_RESERVA) REFERENCES RESERVA (NUM_SEC),
FOREIGN KEY (NUM_SEC_EJEMPLAR) REFERENCES EJEMPLAR (NUM_SEC)
);
CREATE TABLE REVISTA
(
NUM_SEC NUMERIC(10) NOT NULL,
NUM_SEC_MATERIAL VARCHAR(30) NOT NULL,
PERIODO VARCHAR(20) NULL,
VOLUMEN INTEGER NULL,
NUM_SEC_AREA NUMERIC(10) NOT NULL,
PRIMARY KEY (NUM_SEC,NUM_SEC_MATERIAL),
FOREIGN KEY (NUM_SEC_MATERIAL) REFERENCES MATERIAL(NUM_SEC),
FOREIGN KEY (NUM_SEC_AREA) REFERENCES AREA(NUM_SEC)
);
CREATE TABLE SANCION
(
NUM_SEC NUMERIC(10) NOT NULL,
DIAS INT NULL,
MONTO NUMERIC(8,2) NULL,
DESCRIPCION VARCHAR(50) NOT NULL,
FECHA_INGRESO DATETIME NOT NULL,
ESTADO INT NOT NULL,
PRIMARY KEY (NUM_SEC)
);
CREATE TABLE SANCION_LECTOR
(
NUM_SEC NUMERIC(10) NOT NULL,
MONTO NUMERIC(8,2) NULL,
DIA INTEGER NULL,
FECHA DATETIME NOT NULL,
CANCELADO INT NOT NULL,
NUM_SEC_SANCION NUMERIC(10) NOT NULL,
NUM_SEC_DEVOLUCION NUMERIC(10) NULL,
PRIMARY KEY (NUM_SEC),
FOREIGN KEY (NUM_SEC_SANCION) REFERENCES SANCION(NUM_SEC),
FOREIGN KEY (NUM_SEC_DEVOLUCION) REFERENCES DEVOLUCION(NUM_SEC)
);
CREATE TABLE TIPO_BUSQUEDA
(
NUM_SEC_MATERIAL VARCHAR(30) NOT NULL,
NUM_SEC_BUSQUEDA NUMERIC(10) NOT NULL,
DESCRIPCION NUMERIC(20) NOT NULL,
PRIMARY KEY (NUM_SEC_MATERIAL,NUM_SEC_BUSQUEDA),
FOREIGN KEY (NUM_SEC_MATERIAL) REFERENCES MATERIAL(NUM_SEC),
FOREIGN KEY (NUM_SEC_BUSQUEDA) REFERENCES BUSQUEDA(NUM_SEC)
);
CREATE TABLE SECCION
(
NUM_SEC NUMERIC(10) NOT NULL,
NUM_SEC_PERIODICO NUMERIC(10) NOT NULL,
NUM_SEC_MATERIAL VARCHAR(30) NOT NULL,
NOMBRE VARCHAR(50) NOT NULL,
ABREVIATURA VARCHAR(15) NOT NULL,
PRIMARY KEY (NUM_SEC),
FOREIGN KEY (NUM_SEC_PERIODICO,NUM_SEC_MATERIAL) REFERENCES PERIODICO(NUM_SEC,NUM_SEC_MATERIAL)
);
Por favor necesito su ayuda!!!
