BOTONES

lunes, 1 de abril de 2013

Creacion de procesos almacenados


CREATE PROCEDURE SP_INGRESAR_SALA
 @IDSALA INT,
 @EDIFICIO VARCHAR(25),
 @NUMERO INT,
 @CAPACIDAD INT
 AS
  IF(SELECT COUNT(ID_SALA)FROM SALA WHERE ID_SALA = @IDSALA)=0

   INSERT INTO SALA (ID_SALA,EDIFICIO,NUMERO,CAPACIDAD )
   VALUES(@IDSALA,@EDIFICIO,@NUMERO,@CAPACIDAD )

  ELSE
   PRINT ' SALA  YA EXISTE'
 
 
 
 CREATE PROCEDURE SP_INGRESAR_RECURSO
 @ID_RECU INT,
 @NOM_RECU VARCHAR (60),
 @TIPO_RECU VARCHAR (25),
 @ESTADO VARCHAR (120)
 AS
  IF(SELECT COUNT(ID_RECURSO)FROM RECURSO WHERE ID_RECURSO=@ID_RECU)=0
   INSERT INTO RECURSO (ID_RECURSO,NOMBRE_RECURSO,TIPO_RECURSO,ESTADO)
   VALUES (@ID_RECU,@NOM_RECU,@TIPO_RECU,@ESTADO)
  ELSE
   PRINT ' RECURSO YA EXISTE ' 
    
  
 CREATE PROCEDURE SP_INGRESAR_ASIGNATURA 
 @SIGLA VARCHAR (7),
 @NOM_ASIG VARCHAR (60),
 @DEPARTA VARCHAR (60),
 @CREDITOS INT
 AS
  
  IF(SELECT COUNT(SIGLA)FROM ASIGNATURA WHERE SIGLA=@SIGLA)=0
   INSERT INTO ASIGNATURA(SIGLA,NOMBRE_ASIGANATURAS,DEPARTAMENTO,CREDITOS)
   VALUES (@SIGLA,@NOM_ASIG,@DEPARTA,@CREDITOS)
  ELSE
   PRINT 'LA SIGLA YA EXISTE'

 
 
 CREATE PROCEDURE SP_INSERTAR_PERSONAS
 @RUT VARCHAR(10),
 @NOMBRE VARCHAR(60),
 @APELLIDO VARCHAR(60),
 @DIRECCION VARCHAR(120),
 @CLAVE VARCHAR (25),
 @TELEFONO INT,
 @CORREO VARCHAR (60),
 @F_NACIMIENTO VARCHAR(10)
 AS
  IF( SELECT COUNT(RUT)FROM PERSONA WHERE RUT=@RUT)=0
   INSERT INTO PERSONA
   VALUES(@RUT, @NOMBRE,@APELLIDO,@DIRECCION,@CLAVE,@TELEFONO,@CORREO,@F_NACIMIENTO)
  ELSE
   PRINT 'PERSONA YA EXISTE '
   
   
 CREATE PROCEDURE SP_INSERTAR_ADMINISTRADOR 
 @RUT VARCHAR (10),
 @CORREO_ADM VARCHAR (60)
 AS
  IF(SELECT(RUT)FROM ADMINISTRADOR WHERE RUT=@RUT)=0
   INSERT INTO ADMINISTRADOR
   VALUES (@RUT,@CORREO_ADM)
  ELSE
   PRINT 'ADMINISTRADOR  YA EXISTE '
   
 CREATE PROCEDURE SP_INSERTAR_ASIGNACION
 @ID_ASIGNA INT,
 @ID_CURSO INT,
 @ID_SALA INT,
 @ID_HORARIO INT
 AS
  IF(SELECT(ID_ASIGNACION)FROM ASIGNACION WHERE ID_ASIGNACION=@ID_ASIGNA)=0
   INSERT INTO ASIGNACION
   VALUES (@ID_ASIGNA,@ID_CURSO,@ID_SALA,@ID_HORARIO)
  ELSE
   PRINT 'ACIGNACION YA EXISTE '
   
 CREATE PROCEDURE SP_INSERTAR_AYUDANTE
 @RUT VARCHAR (10),
 @NIVEL INT,
 @AÑO_INGRESO INT,
 @CARRERA VARCHAR (60)
 AS
  IF(SELECT(RUT)FROM AYUDANTE WHERE RUT=@RUT)=0
   INSERT INTO AYUDANTE
   VALUES (@RUT,@NIVEL,@AÑO_INGRESO,@CARRERA)
  ELSE
   PRINT' AYUDANTE YA EXISTE'
   
 CREATE PROCEDURE SP_INSERTAR_SEMESTRE
 @AÑO INT,
 @ID_SEMESTRE INT,
 @FECHA_INICIO VARCHAR(10),
 @FECHA_TERMINO VARCHAR(10)
 AS
  IF(SELECT(AÑO)FROM SEMESTRE WHERE AÑO=@AÑO)=0
   INSERT INTO SEMESTRE
   VALUES (@AÑO,@ID_SEMESTRE,@FECHA_INICIO,@FECHA_TERMINO)
  ELSE
   PRINT 'EL SEMESTRE YA  EXISTE '
   
 CREATE PROCEDURE SP_INSERTAR_HORARIO
 @ID_HORARIO INT,
 @BLOQUE VARCHAR (7),
 @DIA INT,
 @DIA_N INT,
 @MES INT,
 @AÑO INT,
 @ID_SEMESTRE INT
 AS
  IF(SELECT(ID_HORARIO)FROM HORARIO WHERE ID_HORARIO=@ID_HORARIO)=0
   INSERT INTO HORARIO
   VALUES (@ID_HORARIO,@BLOQUE,@DIA,@DIA_N,@MES,@AÑO,@ID_SEMESTRE)
  ELSE
   PRINT 'EL HORARIO YA EXISTE'
   
 CREATE PROCEDURE SP_INSERTAR_CURSO
 @ID_CURSO INT,
 @SIGLA VARCHAR (7),
 @RUT_PROF VARCHAR(10),
 @AÑO INT,
 @ID_SEMESTRE INT,
 @NUMERO_INSCRITO INT
 AS
  IF(SELECT(ID_CURSO)FROM CURSO WHERE ID_CURSO=@ID_CURSO)=0
   INSERT INTO CURSO
   VALUES (@ID_CURSO,@SIGLA,@RUT_PROF,@AÑO,@ID_SEMESTRE,@NUMERO_INSCRITO)
  ELSE
   PRINT'EL CURSO YA  EXISTE ' 
   
 
   
 CREATE PROCEDURE SP_INSERTAR_ASIGNACION
 @ID_ASIGNACION INT,
 @ID_CURSO INT,
 @ID_SALA INT,
 @ID_HORARIO INT
 AS
  IF(SELECT(ID_ASIGNACION)FROM ASIGNACION WHERE ID_ASIGNACION=@ID_ASIGNACION)=0
   INSERT INTO ASIGNACION
   VALUES (@ID_ASIGNACION,@ID_CURSO,@ID_SALA,@ID_HORARIO)
  ELSE
   PRINT ' ASIGNATURA YA EXISTE '
   
 CREATE PROCEDURE SP_INSERTAR_PRESTAMO_RECURSO
 @ID_ASIGNACION INT,
 @ID_RECURSO INT,
 @ESTADO_DEVOLUCION VARCHAR (120)
 AS
  IF(SELECT(ID_ASIGNACION)FROM PRESTAMO_RECURSO WHERE ID_ASIGNACION=@ID_ASIGNACION)=0
   INSERT INTO PRESTAMO_RECURSO
   VALUES (@ID_ASIGNACION,@ID_RECURSO,@ESTADO_DEVOLUCION)
  ELSE
   PRINT' PRESTAMO_RECURSO YA  EXISTE '
   
   
      
 CREATE PROCEDURE SP_INSERTAR_PROFESOR
 @RUT INT,
 @GRADO_ACADEMICO VARCHAR (60),
 @AREA_DESARROLLO VARCHAR(60)
 AS
  IF(SELECT(RUT)FROM PROFESOR WHERE RUT=@RUT)=0
   INSERT INTO PROFESOR(RUT,GRADO_ACADEMICO,AREA_DESARROLLO)
   VALUES (@RUT,@GRADO_ACADEMICO,@AREA_DESARROLLO)
  ELSE
   PRINT'PROFESR YA  EXISTE '
   
   
 CREATE PROCEDURE SP_INSERTAR_AYUDANTIA
 @RUT_AYUD VARCHAR(10),
 @ID_CURSO INT,
 @LAB_CATEDRA VARCHAR(10)
 AS
  IF(SELECT(RUT_AYUDANTE)FROM AYUDANTIA WHERE RUT_AYUDANTE=@RUT_AYUD)=0
   INSERT AYUDANTIA(RUT_AYUDANTE,ID_CURSO,LAB_CATEDRA)
   VALUES (@RUT_AYUD,@ID_CURSO,@LAB_CATEDRA)
  ELSE
   PRINT 'EL AYUDANTE YA EXISTE '

CREADA POR LALO

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