Vous êtes sur la page 1sur 4

/*BASE DE DATOS POLICLINICO*/

--
Create Database BDPoliAcme

use BDPoliAcme

create table Especialidad


(
CodEsp int not null, --para luego adicionar el PK
NomEsp Varchar(40),
CodPac int --borrar esta coolumna
)

create table Medico


(
CodMed int not null,
NomMed varchar (20),
AppMed Varchar (20) primary key,
)

create table Cita


(
CodCit int primary key identity(20170001,1),--incrementable de 20170001 uno en uno
RegCit datetime default getdate(),
)

create table Paciente


(
DniPac int primary key,
NomPac varchar (20),
AppPac varchar (30),
ApmPac varchar (30),
EmaPac varchar (40) unique,
FnaPac date check (FnaPac <= getdate())
)

--Eliminar una columna (alterar la estructura)

alter table Especialidad


drop column CodPac

--Aadir a la tabla Medico Email que sea campo unico


alter table Medico
add EmaMed varchar (40) unique --Add Para cualquier objeto

alter table Medico


add TelMed int

--Borrar un PK
alter table Medico
drop PK__Medico__C79D913CEBF6C0B0

--Adicionar Pk a Medico
alter table Medico
Add Primary key (CodMed)

--Adicionar Pk a Especialidad
alter table Especialidad
Add Primary Key (CodEsp)

--*Adicionar la Columna CodEsp a Medico


alter table Medico
add CodEsp int

--Relacionando
alter table Medico
add foreign key (CodEsp) --Origen
references Especialidad --Destino

--Adicionar la Columna CodMed a Cita


alter table Cita
add CodMed int

alter table Cita


add DniPac int

--Relacionando

--Metodo antiguo desde la tabla cita


--Referencia a la tabla medico
alter table Cita
add constraint
FK_Cita_Medico
foreign Key (CodMed)
references Medico (CodMed)

--borrar relacion para pruebas


alter table Cita
drop FK_Cita_Medico

--nuevo metodo
alter table Cita
add foreign key (CodMed) --Origen
references Medico --Destino

--Relacionando Cita Paciente


alter table Cita
add Foreign Key (DniPac)
references Paciente

--Unique agregando a especialidad


Alter table Especialidad
add unique (NomEsp)

--ADicionar a la tabla Paciente Chkekig


alter table Paciente
Add TllPac int

--
alter table Paciente
add check (TllPac>0)

--
select * from Paciente
INSERT Paciente
values (74778070,'Miguel','Lescano','Avalos','lescano.123@hotmail.com','1995-10-12',175)
INSERT Paciente
values (74778071,'Pablo','Escalante','Sandoval','salcedo.123@hotmail.com','1993-12-
03',160)
INSERT Paciente
values (74778072,'Juanita','Salcedo','Rios','salcedo.127@hotmail.com','1997-10-02',180)
INSERT Paciente
values (74778073,'Miguel','Lescano','Avalos','lescano.127@hotmail.com','1995-10-12',180)
INSERT Paciente
values (74778074,'Sofia','Araujo','Aguilar','Araujo.123@hotmail.com','1997-10-24',190)

--
select * from Especialidad

insert Especialidad values (001,'Dermatologia')


insert Especialidad values (002,'Odontologia')
insert Especialidad values (003,'Cardiologia')
insert Especialidad values (004,'Ginecologia')
insert Especialidad values (005,'Hepatologia')
insert Especialidad values (006,'Neurologia')
insert Especialidad values (007,'Psiquiatria')
insert Especialidad values (008,'Urologia')
insert Especialidad values (009,'Radiologia')
insert Especialidad values (010,'Patologia')

--
insert Medico
values(10,'Gabriel','Loja','Oropeza',999999998,01)
insert Medico
values(20,'Giovanna','Soto','Palomino',999999978,02)
insert Medico
values(30,'Luis','Quispe','Perez',999999678,03)
insert Medico
values(40,'Felipe','Rodriguez','Larrain',999999578,04)
insert Medico
values(50,'Laura','Teniente','Urbina',999999578,05)

select * from medico

--insertando datos a la tabla Cita

insert Cita ([CodMed],[DniPac])


values (10,74778070)

insert Cita ([CodMed],[DniPac])


values (20,74778072)

insert Cita ([CodMed],[DniPac])


values (20,74778071)

insert Cita ([CodMed],[DniPac])


values (40,74778074)

insert Cita ([CodMed],[DniPac])


values (30,74778073)
--error
insert Cita ([CodMed],[DniPac])
values (80,74778073)

insert Cita ([CodMed],[DniPac])


values (null,74778073)

insert Cita ([CodMed],[DniPac])


values (null,74778073)

--actualizar datos de una tabla


select *
from Cita

--actualizacion parcial

--asignar a la cita 20170007 al codigo de medico 40

update Cita
set CodMed=40 --el nuevo dato a asignar
where CodCit=20170007 --condicion

--ojo siempre considere una condicion


select * from Paciente

--actualizar el email de juanita jsalcedo@gmail.com


update Paciente
set EmaPac = 'Jsalcedo@gmail.com'
where NomPac = 'Juanita'

Vous aimerez peut-être aussi