BOTONES

lunes, 1 de abril de 2013

Creacion BD Instituto


CREATE DATABASE INSTITUTO                                                     


GO


USE INSTITUTO
GO


-- 1
CREATE TABLE PERSONA
(
RUT VARCHAR(10) NOT NULL,
NOMBRE VARCHAR(50) NOT NULL,
APELLIDOS VARCHAR(50) NOT NULL,
DIRECCION VARCHAR(50) NOT NULL,
CLAVE INT NOT NULL,
TELEFONO INT NOT NULL,
CORREO VARCHAR(50) NOT NULL,
F_NACIMIENTO DATE,

CONSTRAINT PK_RUT PRIMARY KEY (RUT)
)


-- 2
CREATE TABLE SALA
(
ID_SALA VARCHAR(10) NOT NULL,
EDIFICIO VARCHAR(10) NOT NULL,
NUMERO INT,
CAPACIDAD INT,

CONSTRAINT PK_SALA PRIMARY KEY (ID_SALA)
)


-- 3
CREATE TABLE RECURSO
(
ID_RECURSO VARCHAR(10) NOT NULL,
NOMBRE_RECURSO VARCHAR(20) NOT NULL,
TIPO_RECURSO VARCHAR(20) NOT NULL,
ESTADO VARCHAR(2),

CONSTRAINT PK_RECURSO PRIMARY KEY (ID_RECURSO)
)


-- 4
CREATE TABLE ASIGNATURA
(
SIGLA VARCHAR(10) NOT NULL,
NOMBRE_ASIGNATURAS VARCHAR(30),
DEPARTAMENTO VARCHAR(20) NOT NULL,
CREDITOS INT,

CONSTRAINT PK_ASIGNATURA PRIMARY KEY (SIGLA)
)


-- 5
CREATE TABLE SEMESTRE
(
AÑO VARCHAR(4) NOT NULL,
ID_SEMESTRE VARCHAR(4) NOT NULL,
FECHA_INICIO DATE NOT NULL,
FECHA_TERMINO DATE NOT NULL,

CONSTRAINT PK_SEMESTRE PRIMARY KEY (AÑO,ID_SEMESTRE)
)


-- 6
CREATE TABLE ADMINISTRADOR
(
RUT VARCHAR(10) NOT NULL,
CORREO_ADMINISTRADOR VARCHAR(50),

CONSTRAINT PK_ADMINISTRADOR PRIMARY KEY (RUT),
CONSTRAINT FK_ADMINISTRADOR FOREIGN KEY (RUT) REFERENCES PERSONA (RUT)
)


-- 7
CREATE TABLE PROFESOR
(
RUT VARCHAR(10) NOT NULL,
GRADO_ACADEMICO VARCHAR(50),
AREA_DESARROLLO VARCHAR(50),

CONSTRAINT PK_PROFESOR PRIMARY KEY (RUT),
CONSTRAINT FK_PROFESOR FOREIGN KEY (RUT) REFERENCES PERSONA (RUT)
)


-- 8
CREATE TABLE AYUDANTE
(
RUT VARCHAR(10) NOT NULL,
NIVEL VARCHAR(50),
AÑO_INGRESO DATE,

CONSTRAINT PK_AYUDANTE PRIMARY KEY (RUT),
CONSTRAINT FK_AYUDANTE FOREIGN KEY (RUT) REFERENCES PERSONA (RUT)
)


-- 9
CREATE TABLE HORARIO
(
ID_HORARIO VARCHAR(10) NOT NULL,
BLOQUE INT NOT NULL,
DIA INT NOT NULL,
DIA_N INT NOT NULL,
MES INT NOT NULL,
AÑO VARCHAR(4) NOT NULL,
ID_SEMESTRE VARCHAR(4) NOT NULL,

CONSTRAINT PK_HORARIO PRIMARY KEY (ID_HORARIO),
CONSTRAINT FK_HORARIO FOREIGN KEY (AÑO,ID_SEMESTRE) REFERENCES SEMESTRE (AÑO,ID_SEMESTRE) -- NO ESTA FUNCIONANDO LA CLAVE FORANEA
)


-- 10
CREATE TABLE CURSO
(
ID_CURSO VARCHAR(10) NOT NULL,
SIGLA VARCHAR(10) NOT NULL,
RUT_PROFESOR VARCHAR(10) NOT NULL,
AÑO VARCHAR(4) NOT NULL, 
ID_SEMESTRE VARCHAR(4) NOT NULL,
NUMERO_INSCRITOS INT,

CONSTRAINT PK_CURSO PRIMARY KEY (ID_CURSO),
CONSTRAINT FK_CURSO FOREIGN KEY (SIGLA) REFERENCES ASIGNATURA (SIGLA),
CONSTRAINT FK_CURSO2 FOREIGN KEY (RUT_PROFESOR) REFERENCES PROFESOR (RUT),
CONSTRAINT FK_CURSO3 FOREIGN KEY (AÑO,ID_SEMESTRE) REFERENCES SEMESTRE (AÑO,ID_SEMESTRE)
)


-- 11
CREATE TABLE ASIGNACION
(
ID_ASIGNACION VARCHAR(10) NOT NULL,
ID_CURSO VARCHAR(10) NOT NULL,
ID_SALA VARCHAR(10) NOT NULL,
ID_HORARIO VARCHAR(10) NOT NULL,

CONSTRAINT PK_ASIGNACION PRIMARY KEY (ID_ASIGNACION),
CONSTRAINT FK_ASIGNACION FOREIGN KEY (ID_CURSO) REFERENCES CURSO (ID_CURSO),
CONSTRAINT FK_ASIGNACION2 FOREIGN KEY (ID_SALA) REFERENCES SALA (ID_SALA),
CONSTRAINT FK_ASIGNACION3 FOREIGN KEY (ID_HORARIO) REFERENCES HORARIO (ID_HORARIO)
)


-- 12
CREATE TABLE PRESTAMO_RECURSO
(
ID_ASIGNACION VARCHAR(10) NOT NULL,
ID_RECURSO VARCHAR(10) NOT NULL,
ESTADO_DEVOLUCION VARCHAR(2),

CONSTRAINT PK_PRESTAMO_RECURSO PRIMARY KEY (ID_ASIGNACION),
CONSTRAINT FK_PRESTAMO_RECURSO FOREIGN KEY (ID_ASIGNACION) REFERENCES ASIGNACION (ID_ASIGNACION),
CONSTRAINT FK_PRESTAMO_RECURSO2 FOREIGN KEY (ID_RECURSO) REFERENCES RECURSO (ID_RECURSO)
)


-- 13
CREATE TABLE AYUDANTIA
(
RUT_AYUDANTE VARCHAR(10) NOT NULL,
ID_CURSO VARCHAR(10) NOT NULL,
LAB_CATEDRA VARCHAR(11),

CONSTRAINT PK_AYUDANTIA PRIMARY KEY (RUT_AYUDANTE),
CONSTRAINT FK_AYUDANTIA FOREIGN KEY (RUT_AYUDANTE) REFERENCES AYUDANTE (RUT),
CONSTRAINT FK_AYUDANTIA2 FOREIGN KEY (ID_CURSO) REFERENCES CURSO (ID_CURSO)

)
Creada por Bailey

No hay comentarios:

Publicar un comentario