You are on page 1of 5

esta base de datos consiste en registrar a los estudiantes que asistieron a una

charla en una institucion.


-----------------------------------------------------------------------------------------------------------CREATE DATABASE Institucion -----> CREA LA BASE DE DATOS
-----------------------------------------------------------------------------------------------------------use Institucion ----> TE DIRIJE A LA BASE DE DATOS CREADA
----------------------------------------------------------------------------------------------------------->se crea la tabla ESTUDIANTE
> el CodEstudiante se le declara como prmari kei y ayi esta un tinyin idetity(1,
1) el cual
genera el codigo automaticamente de uno en uno, al momentio de registra no es n
ecesirio colocar el codigo .
a CodSector se le hace un foreng kei para que se relacione con la tabla SECTOR
que se creara luego.
>a CodDistrito se le hace un foreng kei para que se relacione con la tabla DIST
RITO que se creara luego
>ATENCION ANTES DE CREAR LA TABLA ESTUDIANTE se CREA LA TABLA SECTOR y DISTRITO
YA QUE SE ESTAN RELACIONANDO, DE OTRO MODO NO SE PODRA CREAR LA TABLA ESTUDIANT
E.
CREATE TABLE ESTUDIANTE
(CodEstudiante int identity(1,1)
Not Null Primary key,
Nombre
varchar(30)
Not Null,
Apellido
varchar(30)
Not Null,
Edad
varchar(2)
Not Null,
Sexo
varchar(10)
Not Null,
DNI
varchar(8)
NULL,
CodDistrito
varchar(4)
Not Null foreign key(CodDistrito
) References DISTRITO,
CodSector
varchar(4)
Not Null foreign key(CodSector)
References SECTOR)
----------------------------------------------------------------------------------------------------------->Se crea la tabla SECTOR
>el CodSector se le declara como primari kei
>aqui no se hace ningun foreng kei ya que en la tabla ESTUDIANTE ya habia tomado
el CodSector de esta tabla
para que se puedan relacionar.
CREATE TABLE SECTOR
(CodSector
varchar(4)
Not Null Primary key,
Nombre
varchar(20)
Not Null)
----------------------------------------------------------------------------------------------------------->Se crea la tabla DISTRITO
>el CodDistrito se le declara como primari kei
>aqui no se hace ningun foreng kei ya que en la tabla ESTUDIANTE ya habia tomado
el codDistrito de esta tabla
para que se puedan relacionar.
CREATE TABLE DISTRITO
(CodDistrito
varchar(4)
Not Null
Primary key,
Nombre
varchar(20)
Not Null)
------------------------------------------------------------------------------------------------------------

>>>luego que se crearon todas las tablas ingresamos los datos de los distritos p
or medio de un inser intoo que va de la siguiente manera :
INSERT INTO DISTRITO VALUES('01','RZURI')
INSERT INTO DISTRITO VALUES('02','PAIJN')
SELECT * FROM DISTRITO
------> esto sirve para mostrar todos los datos de l
a tabla si quieres pruebalo.
----------------------------------------------------------------------------------------------------------->>>>ingresamos los datos de los sectores por medio de un inser intoo que va de l
a siguiente manera :
INSERT
INSERT
INSERT
INSERT
INSERT
INSERT
INSERT
INSERT
INSERT
INSERT
INSERT

INTO
INTO
INTO
INTO
INTO
INTO
INTO
INTO
INTO
INTO
INTO

SECTOR
SECTOR
SECTOR
SECTOR
SECTOR
SECTOR
SECTOR
SECTOR
SECTOR
SECTOR
SECTOR

VALUES('101','POSTE BLANCO')
VALUES('102','PAIJN')
VALUES('103','MONTERREY')
VALUES('104','MIRAFLORES')
VALUES('105','MACAB BAJO')
VALUES('106','MACAB ALTO')
VALUES('107','PUERTO MALABRIGO')
VALUES('108','JORGE CHAVEZ')
VALUES('109','LOS GIRASOLES')
VALUES('110','LOS ROSALES')
VALUES('111','SANTA ROSA')

SELECT * FROM SECTOR


------> esto sirve para mostrar todos los datos de l
a tabla.
----------------------------------------------------------------------------------------------------------->>>luego se insertar algunos datos para la tabla ESTUDIANTE
aqui ya no se inserta el codigo ya que se va a generar automaticamente
insert
2')
insert
106')
insert
'108')
insert
'107')

into ESTUDIANTE values ('rosa','silva','17','femenino','8958458','01','10


into ESTUDIANTE values ('juan','rosas','15','masculino','47584158','02','
into ESTUDIANTE values ('rosa','sanchez','16','femenino','78451545','01',
into ESTUDIANTE values ('rosa','sanchez','17','femenino','84754898','02',

SELECT * FROM ESTUDIANTE


------> esto sirve para mostrar todos los datos
de la tabla.
-----------------------------------------------------------------------------------------------------------1.procedimiento almacenado para registrar :
create PROCEDURE SP_INSERTAReSTUDIANTE
(@Nombre
varchar (20),
@Apellido
varchar (20),
@edad
varchar (5),
@Sexo
varchar (10),
@DNI
varchar (4),
@CodDistrito
varchar (4),
@CodSector
varchar (4))
AS
INSERT INTO ESTUDIANTE
(Nombre, Apellido,edad, sexo,DNI,CodDistrito,CodSector)
VALUES
(@Nombre,

@Apellido,
@edad,
@sexo,
@DNI,
@CodDistrito,
@CodSector)
EXEC SP_INSERTAReSTUDIANTE 'carlos','muos','17','maculino','82665447','01','102'
SELECT * FROM ESTUDIANTE
---------------------------------------------------------------------------------------------2. procedimiento almacenado para actualizar :
create PROCEDURE SP_ACTUALIZAReSTUDIANTE
(@Nombre
varchar (20),
@Apellido
varchar (20),
@edad
varchar (5),
@Sexo
varchar (10),
@DNI
varchar (4),
@CodDistrito
varchar (4),
@CodSector
varchar (4))
AS
UPDATE ESTUDIANTE
SET
Nombre=@Nombre,
Apellido=@Apellido,
edad=@edad,
sexo=@sexo,
DNI=@DNI,
CodDistrito=@CodDistrito,
CodSector=@CodSector
WHERE @DNI=DNI
EXEC SP_ACTUALIZAReSTUDIANTE 'carlos','muos','15','maculino','82665447','01','102
'
SELECT * FROM ESTUDIANTE
---------------------------------------------------------------------------------------------3.procedimiento almacenado que muestre todos los DATOS de los estudiantes que in
gresaron a la charla
create procedure nombre_estudiantes
AS
select*from ESTUDIANTE
EXEC nombre_estudiantes
---------------------------------------------------------------------------------------------4.BUSCAR UN ESTUDIANTE DADO SU NOMBRE Y SU APELLIDO
CREATE PROCEDURE BUSCAR_ESTUDIANTE
@Nombre
varchar(20),
@Apellido
varchar(20)
as
SELECT * FROM ESTUDIANTE
where Nombre=@Nombre and Apellido =@Apellido
--PARA EJECUATRLO

EXECUTE BUSCAR_ESTUDIANTE 'rosa','silva'


---------------------------------------------------------------------------------------------5. procedimiento almacenado que muestre a los estudiantes cuyo codigo sean mayo
res a 3
CREATE PROCEDURE SP_CONSULTAeSTUDIANTE
AS
SELECT * FROM ESTUDIANTE
WHERE CodEstudiante>3
EXEC SP_CONSULTAeSTUDIANTE
---------------------------------------------------------------------------------------------6.
CREAR UN PROCEDIMIENTO ALMACENADO PARA OBTENER LOS estudiantes QUE TIENE
N UNa edad igual o menor a X.
create Procedure sp_EDAD
@Edad varchar(2)
As
Select Nombre , Apellido, Edad
from ESTUDIANTE
Where Edad<=@Edad
Exec sp_EDAD '18'
Select * From ESTUDIANTE
---------------------------------------------------------------------------------------------7.procedimiento almacenado que muestre todos los sectores CON SU RESPECTIVO CODI
GO que se ayan registrado en la base de datos
create procedure sp_sectores
AS
select*from SECTOR
EXEC sp_sectores
---------------------------------------------------------------------------------------------8.Cree un procedimiento que muestre el nombre, epellido y edad de un estudiante
de un DISTRITO determinadO que
se ingresa como parmetro. Si no se ingresa un valor, o se ingresa "null", se mues
tra un
mensaje y se sale del procedimiento.
create procedure sp_estudiante
@CodDistrito
varchar(4)=null
as
if @CodDistrito is null
begin
select 'debe indicar una seccion'
return
end
select nombre, Apellido,Edad
from ESTUDIANTE
where CodDistrito=@CodDistrito;
EXEC sp_estudiante '01'
----------------------------------------------------------------------------------------------

9.ELIMINAR A UN ESTUDINATE DADO SU CODIGO COMO ARGUMENTO


create procedure sp_eliminarEstudiante
@CodEstudiante
VARCHAR(4)
as
delete from ESTUDIANTE
where CodEstudiante=@CodEstudiante
exec sp_eliminarEstudiante '13'
select * from ESTUDIANTE
---------------------------------------------------------------------------------------------10.ELIMINAR A UN sector DADO SU CODIGO COMO ARGUMENTO
create procedure sp_eliminarSector
@CodSector
VARCHAR(4)
as
delete from SECTOR
where CodSector=@CodSector
exec sp_eliminarSector '103'
select * from SECTOR
-----------------------------/*TRIGGER*/
1:__
CREATE TRIGGER TX_ESTUDIANTE_INSERTA
ON ESTUDIANTE
FOR INSERT
AS
IF (Select count (*)
From INSERTED,
ESTUDIANTE
Where INSERTED.Nombre = ESTUDIANTE.Nombre
AND INSERTED.Apellido = ESTUDIANTE.Apellido) > 1
Begin
Rollback transaction
Select 'El ESTUDIANTE existe en la base de datos, por favor verifique sus
datos'
End
Else
Select 'El ESTUDIANTE fue ingresado en la base de datos'
insert into ESTUDIANTE values ('rosa','silva','17','femenino','8958458','01','10
2')
insert into ESTUDIANTE values ('juan','rosas','15','masculino','47584158','02','
106')
---------------------------------------------------------------------------------------------------------------CREAR DOS TRIGGERS PARA INSERTAR, ELIMINAR Y ACTUALIZAR(C/U)
TRIGGERS PARA INSERTAR

You might also like