You are on page 1of 5

PROYECTO DE PROGRAMACIN

CAPITULO 1 TRANSACT - SQL Y


PROCEDIMIENTOS ALMACENADOS
1.1 CREACION DE TABLAS
En esta parte se muestra la creacin de tablas peor en el presente proyecto

se gener automticamente usando la aplicacin Erwin.

CREATE TABLE CARRERA

(
C_CodCarrera char(2) NOT NULL ,
C_NomCarrera varchar(100) NULL ,
C_CodMod char(7) NOT NULL
)
go

ALTER TABLE CARRERA


ADD CONSTRAINT XPKCARRERA PRIMARY KEY CLUSTERED
(C_CodCarrera ASC,C_CodMod ASC)
go

CREATE TABLE DEPARTAMENTO


(
C_NomDept varchar(100) NULL ,
C_CodDept char(2) NOT NULL
)
go
PROYECTO DE PROGRAMACIN

ALTER TABLE DEPARTAMENTO


ADD CONSTRAINT XPKDEPARTAMENTO PRIMARY KEY
CLUSTERED (C_CodDept ASC)
go

CREATE TABLE EMPRESA


(
C_RucEmpresa char(11) NOT NULL ,
C_NomEmpresa varchar(100) NULL ,
C_DirEmpresa varchar(100) NULL ,
C_EstEmpesa char(1) NULL
)
go

ALTER TABLE EMPRESA


ADD CONSTRAINT XPKEMPRESA PRIMARY KEY CLUSTERED
(C_RucEmpresa ASC)
go

CREATE TABLE ESTUDIANTES


(
C_NomEst varchar(100) NULL ,
C_ApeEst varchar(100) NULL ,
C_DniEst char(8) NOT NULL ,
C_EstEst char(1) NULL ,
C_CodCarrera char(2) NULL ,
C_CodMod char(7) NULL
)
go

ALTER TABLE ESTUDIANTES


ADD CONSTRAINT XPKESTUDIANTES PRIMARY KEY
CLUSTERED (C_DniEst ASC)
go

CREATE TABLE MODULAR


(
C_CodMod char(7) NOT NULL ,
C_NomMod varchar(100) NULL ,
C_CodDept char(2) NULL
)
go

ALTER TABLE MODULAR


ADD CONSTRAINT XPKMODULAR PRIMARY KEY CLUSTERED
(C_CodMod ASC)
go
PROYECTO DE PROGRAMACIN

CREATE TABLE MODULO


(
C_CodModulo char(2) NOT NULL ,
C_NomModulo varchar(100) NULL ,
F_InicioModulo datetime NULL ,
F_FinModulo datetime NULL ,
N_HorasModulo numeric(12,2) NULL ,
N_CalifiModulo numeric(12,2) NULL ,
C_DniEst char(8) NOT NULL ,
C_RucEmpresa char(11) NOT NULL
)
go

ALTER TABLE MODULO


ADD CONSTRAINT XPKMODULO PRIMARY KEY CLUSTERED
(C_CodModulo ASC,C_DniEst ASC,C_RucEmpresa ASC)
go

ALTER TABLE CARRERA


ADD CONSTRAINT R_7 FOREIGN KEY (C_CodMod)
REFERENCES MODULAR(C_CodMod)
ON DELETE NO ACTION
ON UPDATE NO ACTION
go

ALTER TABLE ESTUDIANTES


ADD CONSTRAINT R_4 FOREIGN KEY (C_CodCarrera,C_CodMod)
REFERENCES CARRERA(C_CodCarrera,C_CodMod)
ON DELETE NO ACTION
ON UPDATE NO ACTION
go

ALTER TABLE MODULAR


ADD CONSTRAINT R_2 FOREIGN KEY (C_CodDept)
REFERENCES DEPARTAMENTO(C_CodDept)
ON DELETE NO ACTION
ON UPDATE NO ACTION
go

ALTER TABLE MODULO


ADD CONSTRAINT R_8 FOREIGN KEY (C_DniEst) REFERENCES
ESTUDIANTES(C_DniEst)
ON DELETE NO ACTION
ON UPDATE NO ACTION
go
PROYECTO DE PROGRAMACIN

ALTER TABLE MODULO


ADD CONSTRAINT R_9 FOREIGN KEY (C_RucEmpresa)
REFERENCES EMPRESA(C_RucEmpresa)
ON DELETE NO ACTION
ON UPDATE NO ACTION
go

1.2 PROCEDIMIENTO ALMACENADO


La DBMS tambin es una herramienta poderosa donde se realiza
procedimientos para aligerar el trabajo de la capa de presentacin como se
muestra en la Figura 5.1 Procedimiento almacenado

Con procedimientos almacenados se puedes realizar reportes interesantes


aunque existen aplicativos orientados a reportes como el Crystal Report el
cual nos brinda todo un suite para realizar dicha tarea.

DEL LADO DEL SQL:Server

Create Procedure <Nombre_Procedimiento>

@Variable1 tipo_de_dato1

@Variable2 tipo_de_dato2

As

Begin

<Instrucciones 1>

<Instrucciones 2>

<Instrucciones 3>

<Instrucciones n>

End
PROYECTO DE PROGRAMACIN

Ahora para ejecutar un procedimiento almacenado en el SQL Server bastara


con la siguiente sintaxis.

Execute Nombre_Procedimiento @Variable1, @Variable2

DECLARACIN DE VARIABLES

Declare @VARIABLE <tipodedato>

ASIGNACIN DE VALORES

Set @VARIABLE = <valor>

RECORRIDO DE UN CURSOR

DECLARE Cursor CURSOR FOR SELECT Campo1, Campo2, Campo3


From #Table11
ORDER BY Campo1
OPEN Cursor
FETCH NEXT FROM Cursor INTO Campo1, Campo2, Campo3
WHILE @@FETCH_STATUS = 0
BEGIN
Set @variable = <instrucciones>

Set @variable2 = <instrucciones2>


If <condicional>
Begin
Set @variable1 = <instrucciones3>

End
FETCH NEXT FROM Cursor_Table11 INTO Campo1, Campo2,
Campo3
END
CLOSE Cursor
DEALLOCATE Cursor

DEL LADO DEL Netbeans

You might also like