Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 24

UNIVERSIDAD NACIONAL JOSÉ MARÍA ARGUEDAS

ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS


CREACION DE BASE DE DATOS HOSPITAL

GUIA DE BASE DE DATOS


CREACION, INSERCICION, CONSULTAS

PRESENTADO:
RAUL ALLCCA LLANTOY
FRANCO ENRRIQUE NAVARRO
WILIANS HUAMAN HUAMAN
Esta guía trata de cómo crear, insertar, realizar consultas en una base de datos

1. Abrir la aplicación Microsoft SQL Server Management Studio.

2. Empezaremos creando una base de datos de la siguiente manera, haciendo


click en NEW QUERY o en nueva consulta.
3. En una ventana del Editor de consultas, escriba el código siguiente, pero no lo
ejecute:
Usaremos HOSPITAL como ejemplo ya que podemos crear una base de datos
con cualquier otro nombre.
CREATE DATABASE HOSPITAL
go

4. Con el puntero seleccione el comando y dar clic en botón “EXECUTE” o F5 para crear la
base de datos con el nombre HOSPITAL.
5. Una vez que se ejecutó el Query debe aparecerte un mensaje en la parte inferior, lo
que lleva por buen camino.
6. Una vez ejecutado, verificamos que la base de datos HOSPITAL ha sido creada.

7. Para poder insertar los datos a las tablas tenemos que tener en cuenta las
variables que declaramos y el orden en el que se encuentran y separándolos
por comas, en el caso de una variable se pone entre comillas simples como
veremos a continuación.
Usamos el siguiente comando como se muestra insert into seguido del nombre
DB

7.1. INSERTAREMOS DATOS EN LA TABLA dbo.EMP


insert into dbo.EMP
("EMP_NO","APELLIDO","OFICIO","DIR","FECHA_ALT","SALARIO","COMISION","DEPT_NO")
values ('7369','SANCHES','EMPLEADO','7902','1980-12-17
00:00:00','104000','0','20');
insert into dbo.EMP
("EMP_NO","APELLIDO","OFICIO","DIR","FECHA_ALT","SALARIO","COMISION","DEPT_NO")
values ('7499','ARROYO','VENDEDOR','7698','1981-02-22
00:00:00','208000','39000','30');
insert into dbo.EMP
("EMP_NO","APELLIDO","OFICIO","DIR","FECHA_ALT","SALARIO","COMISION","DEPT_NO")
values ('7521','SALA','VENDEDOR','689','1981-02-22
00:00:00','162500','65000','30');
insert into dbo.EMP
("EMP_NO","APELLIDO","OFICIO","DIR","FECHA_ALT","SALARIO","COMISION","DEPT_NO")
values ('7566','JIMENES','DIRECTOR','7839','1981-04-02
00:00:00','386750','0','20');
insert into dbo.EMP
("EMP_NO","APELLIDO","OFICIO","DIR","FECHA_ALT","SALARIO","COMISION","DEPT_NO")
values ('7654','MARTIN','VENDEDOR','7698','1981-09-28
00:00:00','182000','182000','30');
insert into dbo.EMP
("EMP_NO","APELLIDO","OFICIO","DIR","FECHA_ALT","SALARIO","COMISION","DEPT_NO")
values ('7698','NEGRO','DIRECTOR','7839','1981-05-01
00:00:00','370500','0','30');
insert into dbo.EMP
("EMP_NO","APELLIDO","OFICIO","DIR","FECHA_ALT","SALARIO","COMISION","DEPT_NO")
values ('7782','CEREZO','DIRECTOR','7839','1981-06-09
00:00:00','318500','0','10');
insert into dbo.EMP
("EMP_NO","APELLIDO","OFICIO","DIR","FECHA_ALT","SALARIO","COMISION","DEPT_NO")
values ('7788','NINO','ANALISTA','7566','1987-03-30 00:00:00','390000','0','20');
insert into dbo.EMP
("EMP_NO","APELLIDO","OFICIO","DIR","FECHA_ALT","SALARIO","COMISION","DEPT_NO")
values ('7839','REY','PRECIDENTE','0','1981-11-17 00:00:00','650000','0','10');
insert into dbo.EMP
("EMP_NO","APELLIDO","OFICIO","DIR","FECHA_ALT","SALARIO","COMISION","DEPT_NO")
values ('7844','TOVAR','VENDEDOR','7698','1981-09-08
00:00:00','195000','0','30');
insert into dbo.EMP
("EMP_NO","APELLIDO","OFICIO","DIR","FECHA_ALT","SALARIO","COMISION","DEPT_NO")
values ('7876','ALONSO','EMPLEADO','7788','1987-05-03
00:00:00','143000','0','20');
insert into dbo.EMP
("EMP_NO","APELLIDO","OFICIO","DIR","FECHA_ALT","SALARIO","COMISION","DEPT_NO")
values ('7900','JIMENO','EMPLEADO','7698','1981-12-03
00:00:00','123500','0','30');
insert into dbo.EMP
("EMP_NO","APELLIDO","OFICIO","DIR","FECHA_ALT","SALARIO","COMISION","DEPT_NO")
values ('7902','FERNANDES','ANALIZTA','7566','1981-12-03
00:00:00','390000','0','20');
insert into dbo.EMP
("EMP_NO","APELLIDO","OFICIO","DIR","FECHA_ALT","SALARIO","COMISION","DEPT_NO")
values ('7934','MUÑOZ','EMPLEADO','7782','1982-06-23
00:00:00','169000','0','10');
insert into dbo.EMP
("EMP_NO","APELLIDO","OFICIO","DIR","FECHA_ALT","SALARIO","COMISION","DEPT_NO")
values ('7119','SERRA','DIRECTOR','7839','1983-11-19
00:00:00','225000','39000','20');
insert into dbo.EMP
("EMP_NO","APELLIDO","OFICIO","DIR","FECHA_ALT","SALARIO","COMISION","DEPT_NO")
values ('7322','GARCIA','EMPLEADO','7119','1982-10-12
00:00:00','129000','0','20');
7.2. si te aparece este mensaje la inserción de datos ha sido correcta

7.3. al poner INSERT INTO estaremos insertando Las columnas de los datos tal como se
muestra en el cuadro subrayado de color rojo.
8. INSERTAR DATOS EN LA TABLA dbo. DEPT

insert into dbo.DEPT ("DEPT","DNOMBRE","LOC")


values ( '10','CONTABILIDAD','ELCHE');
insert into dbo.DEPT ("DEPT","DNOMBRE","LOC")
values ( '20','INVESTIGACION','MADRID');
insert into dbo.DEPT ("DEPT","DNOMBRE","LOC")
values ( '30','VENTAS','BARCELONA');
insert into dbo.DEPT ("DEPT","DNOMBRE","LOC")
values ( '40','PRODUCCION','SALAMANCA');

8.1. si te aparece este mensaje la inserción de datos ha sido correcta


8.2. al poner INSERT INTO insertamos Las columnas de los datos

como se muestra en la
figura la inserción de
columnas de datos ya
está asignado
9. INSRTAR DATOS EN LA TABLA dbo.HOSPITAL

insert into
dbo.HOSPITAL("HOSPITAL_COD","NOMBRE","DIRECCION","TELEFONO","NUM_CAMA")
VALUES('19','PROVINCIAL','O DONELL 50','964-4256','502');
insert into
dbo.HOSPITAL("HOSPITAL_COD","NOMBRE","DIRECCION","TELEFONO","NUM_CAMA")
VALUES('18','GENERAL','ALTOCHAS S/N','595-3111','987');
insert into
dbo.HOSPITAL("HOSPITAL_COD","NOMBRE","DIRECCION","TELEFONO","NUM_CAMA")
VALUES('22','LA PAZ','CASTELLANA 1000','923-5411','412');
insert into
dbo.HOSPITAL("HOSPITAL_COD","NOMBRE","DIRECCION","TELEFONO","NUM_CAMA")
VALUES('45','SAN CARLOS','CIUDAD UNIVERSITARIA','597-1500','845');

9.1. si te aparece este mensaje la inserción de datos ha sido correcta


9.2. al poner INSERT INTO insertamos Las columnas de los datos

como se muestra en la
figura la inserción de
columnas de datos ya
está asignado
10. INSERTAR DATOS EN LA TABLA dbo.DOCTOR

insert into dbo.DOCTOR ("HOSPITAL_COD","DOCTOR_COD","APELLIDO","ESPECIALIDAD")


values ('22','386','CABEZA D.','PSIQUITRIA');
insert into dbo.DOCTOR ("HOSPITAL_COD","DOCTOR_COD","APELLIDO","ESPECIALIDAD")
values ('22','398','BEST D.','UROLOGIA');
insert into dbo.DOCTOR ("HOSPITAL_COD","DOCTOR_COD","APELLIDO","ESPECIALIDAD")
values ('19','435','LOPÈS A.','CARDIOLOGIA');
insert into dbo.DOCTOR ("HOSPITAL_COD","DOCTOR_COD","APELLIDO","ESPECIALIDAD")
values ('22','453','GALO D.','PEDIATRIA');
insert into dbo.DOCTOR ("HOSPITAL_COD","DOCTOR_COD","APELLIDO","ESPECIALIDAD")
values ('45','522','ADAMS C.','NEUROLOGIA');
insert into dbo.DOCTOR ("HOSPITAL_COD","DOCTOR_COD","APELLIDO","ESPECIALIDAD")
values ('18','585','MILLER G.','GINECOLOGIA');
insert into dbo.DOCTOR ("HOSPITAL_COD","DOCTOR_COD","APELLIDO","ESPECIALIDAD")
values ('45','607','CHUKI P.','PEDIATRIA');
insert into dbo.DOCTOR ("HOSPITAL_COD","DOCTOR_COD","APELLIDO","ESPECIALIDAD")
values ('18','982','CAJAL R.','CARDIOLOGIA');
10.1. al poner INSERT INTO insertamos Las columnas de los datos

como se muestra en la
figura la inserción de
columnas de datos ya
está asignado en DB

11. INSERTAR DATOS EN LA TABLA dbo.PLANTILLA


INSERT INTO dbo.PLANTILLA
("HOSPITAL_COD","SALA_COD","EMPLEADO_NO","APELLIDO","FUNCION","T","SALARIO")
values ('22','6','1009','HIGUERAS D','ENFERMERA','T','200500')
INSERT INTO dbo.PLANTILLA
("HOSPITAL_COD","SALA_COD","EMPLEADO_NO","APELLIDO","FUNCION","T","SALARIO")
values ('45','4','1280','AMIGO R','INTERINO','N','221000')
INSERT INTO dbo.PLANTILLA
("HOSPITAL_COD","SALA_COD","EMPLEADO_NO","APELLIDO","FUNCION","T","SALARIO")
values ('19','6','3106','HERNANDES','ENFERMERO','T','275000')
INSERT INTO dbo.PLANTILLA
("HOSPITAL_COD","SALA_COD","EMPLEADO_NO","APELLIDO","FUNCION","T","SALARIO")
values ('19','6','3754','DIAZ B','ENFERMERA','T','226200')
INSERT INTO dbo.PLANTILLA
("HOSPITAL_COD","SALA_COD","EMPLEADO_NO","APELLIDO","FUNCION","T","SALARIO")
values ('22','1','6065','RIVERA G','ENFERMERA','N','162600')
INSERT INTO dbo.PLANTILLA
("HOSPITAL_COD","SALA_COD","EMPLEADO_NO","APELLIDO","FUNCION","T","SALARIO")
values ('18','4','6357','CARPLUS W','INTERINO','T','337900')
INSERT INTO dbo.PLANTILLA
("HOSPITAL_COD","SALA_COD","EMPLEADO_NO","APELLIDO","FUNCION","T","SALARIO")
values ('22','1','7379','CARLOS R','ENFERMERA','T','211900')
INSERT INTO dbo.PLANTILLA
("HOSPITAL_COD","SALA_COD","EMPLEADO_NO","APELLIDO","FUNCION","T","SALARIO")
values ('22','6','8422','BOCINA G','ENFERMERO','M','183800')
INSERT INTO dbo.PLANTILLA
("HOSPITAL_COD","SALA_COD","EMPLEADO_NO","APELLIDO","FUNCION","T","SALARIO")
values ('45','1','8526','FRANK H','ENFERMERA','T','252200')
INSERT INTO dbo.PLANTILLA
("HOSPITAL_COD","SALA_COD","EMPLEADO_NO","APELLIDO","FUNCION","T","SALARIO")
values ('22','2','9901','NUÑEZ C','INTERINO','M','221000')
11.1. al poner INSERT INTO insertamos Las columnas de los datos

como se muestra en la
figura la inserción de
columnas de datos ya
está asignado

12. INSERTAR DATOS EN LA TABLA dbo. ENFERMO


INSERT INTO
dbo.ENFERMO("INSCRIPCION","APELLIDO","DIRECCION","FECHA_NAC","S","NSS")
values ('10995','lEGUIA M','GOYA 20','16-MAY-56','M','288762422')
INSERT INTO
dbo.ENFERMO("INSCRIPCION","APELLIDO","DIRECCION","FECHA_NAC","S","NSS")
values ('14024','FERNANDEZ M','RECOLECTOS 50','21-MAY-60','F','284991452')
INSERT INTO
dbo.ENFERMO("INSCRIPCION","APELLIDO","DIRECCION","FECHA_NAC","S","NSS")
values ('18004','SERRANO V','ALCALA 12','23-JUN-67','F','321790059')
INSERT INTO
dbo.ENFERMO("INSCRIPCION","APELLIDO","DIRECCION","FECHA_NAC","S","NSS")
values ('36658','DOMIN S','MAYOR 71','01-ENE-42','M','1606654471')
INSERT INTO
dbo.ENFERMO("INSCRIPCION","APELLIDO","DIRECCION","FECHA_NAC","S","NSS")
values ('38702','NEAL R','ORENSE 11','18-JUN-40','F','380010217')
INSERT INTO
dbo.ENFERMO("INSCRIPCION","APELLIDO","DIRECCION","FECHA_NAC","S","NSS")
values ('39217','CERVANTES M','PEREON 38','29-FEB-52','M','440294390')
INSERT INTO
dbo.ENFERMO("INSCRIPCION","APELLIDO","DIRECCION","FECHA_NAC","S","NSS")
values ('59076','MILLER B','LOPEZ DE HOYOS 2','26-DIC-80','F','311969044')
INSERT INTO
dbo.ENFERMO("INSCRIPCION","APELLIDO","DIRECCION","FECHA_NAC","S","NSS")
values ('63827','RUIZ P','ESQUERDO 103','26-JUL-80','M','100973253')
INSERT INTO
dbo.ENFERMO("INSCRIPCION","APELLIDO","DIRECCION","FECHA_NAC","S","NSS")
values ('64823','FRAIZER A','SOTO 3','10-JUL-80','F','285201776')
INSERT INTO
dbo.ENFERMO("INSCRIPCION","APELLIDO","DIRECCION","FECHA_NAC","S","NSS")
values ('74835','BENITEZ E','ARGENTINA','05-OCT-57','M','154811767')
12.1. al poner INSERT INTO insertamos Las columnas de los datos

como se muestra en la
figura la inserción de
columnas de datos ya
está asignado

13. INSERTAR DATOS EN LA TABLA dbo.SALA


INSERT INTO dbo.SALA("HOSPITAL_COD","SALA_COD","NOMBRE","NUM_CAMA")
VALUES ('22','1','RECUPERACION','10')
INSERT INTO dbo.SALA("HOSPITAL_COD","SALA_COD","NOMBRE","NUM_CAMA")
VALUES ('45','1','RECUPERACION','15')
INSERT INTO dbo.SALA("HOSPITAL_COD","SALA_COD","NOMBRE","NUM_CAMA")
VALUES ('22','2','MATERNIDAD','34')
INSERT INTO dbo.SALA("HOSPITAL_COD","SALA_COD","NOMBRE","NUM_CAMA")
VALUES ('45','2','MATERNIDAD','24')
INSERT INTO dbo.SALA("HOSPITAL_COD","SALA_COD","NOMBRE","NUM_CAMA")
VALUES ('19','3','CUIDADOS INTENSIVOS','21')
INSERT INTO dbo.SALA("HOSPITAL_COD","SALA_COD","NOMBRE","NUM_CAMA")
VALUES ('18','3','CUIDADOS INTENSIVOS','10')
INSERT INTO dbo.SALA("HOSPITAL_COD","SALA_COD","NOMBRE","NUM_CAMA")
VALUES ('18','4','CARDIOLOGIA','53')
INSERT INTO dbo.SALA("HOSPITAL_COD","SALA_COD","NOMBRE","NUM_CAMA")
VALUES ('45','4','CARDIOLOGIA','55')
INSERT INTO dbo.SALA("HOSPITAL_COD","SALA_COD","NOMBRE","NUM_CAMA")
VALUES ('19','6','PSIQUIATRICOS','67')
INSERT INTO dbo.SALA("HOSPITAL_COD","SALA_COD","NOMBRE","NUM_CAMA")
VALUES ('22','6','PSIQUIATRICOS','118')

13.1. al poner INSERT INTO insertamos Las columnas de los datos

como se muestra en la
figura la inserción de
columnas de datos ya
está asignado
Consultas SQL

1. SELECT * FROM

SELECT * FROM HOSPITAL

Con el * indicamos que queremos devolver o mostrar todos los campos.


Con el FROM queremos poner una regla que seria “desde” como en este caso pondremos que
nos muestre todos los atributos pero desde la tabla HOSPITAL

2. Poniendo en la consulta la regla de WHERE

SELECT * FROM DOCTOR WHERE HOSPITAL_COD <=19

con WHERE indicamos la condición que deben cumplir los registros de la tabla para ser

devueltos en la consulta. En este caso tenemos una condición

simple dada por la comparación de igualdad (=) entre al campo (ciudad) y un literal de tipo
cadena
3. Usando BETWEEN

SELECT * FROM DOCTOR WHERE DOCTOR_COD BETWEEN 400 AND 550

Con BETWEEN es para indicar un intervalos de valores como en este ejemplo ponemos que
queremos los DOCTOR_COD que estén entre 400 y 500

4. Usando el LIKE

SELECT DNOMBRE, LOC FROM DEPT WHERE LOC LIKE 'MA%'

El LIKE está empleado para comparar patrones de texto pudiendo incluir comodines como los
siguientes:
5. Usando ORDER BY

SELECT * FROM DOCTOR ORDER BY APELLIDO ASC

Podemos ordenar los registros devueltos por una consulta por el campo o campos que
estimemos oportunos:

Esta consulta devolvería todas las tablas de forma ordenada en ordenes descendientes o
ascendentes, Si no indicamos ASC ni DESC, el comportamiento por defecto será el orden
ascendente (ASC).

6. Usando INNER JOIN implícito

SELECT NOMBRE, APELLIDO, ESPECIALIDAD FROM DOCTOR, HOSPITAL WHERE


HOSPITAL.HOSPITAL_COD = DOCTOR.HOSPITAL_COD

Como vemos, podemos empezar escribiendo tal cuál qué datos nos piden (SELECT), de dónde
podemos obtenerlos (FROM) y qué criterio (WHERE). Esta es la versión más antigua de SQL,
aunque se sigue empleando, conociéndose como JOIN implícito ya que no se usa por ningún
lado la palabra JOIN, pero se está haciendo la intersección por la foreign key, en este caso la
columna HOSPITAL_COD.
7. Usando INNER JOIN explicito

SELECT NOMBRE, APELLIDO FROM DOCTOR INNER JOIN HOSPITAL ON


HOSPITAL.HOSPITAL_COD = DOCTOR.HOSPITAL_COD

Este comportamiento se explica y puede probar aquí, en este otro enlace o finalmente aquí.
Como vemos, es equivalente al INNER JOIN implícito, pero en lugar de establecer una
condición sobre los campos de las relaciones en el WHERE, establece la condición asociada a la
relación entre ambas tablas a través de la FOREIGN KEY

8. Usando LEFT JOIN

SELECT SALA_COD, APELLIDO FROM PLANTILLA LEFT JOIN HOSPITAL ON


PLANTILLA.HOSPITAL_COD = HOSPITAL.HOSPITAL_COD

El resultado de esta operación siempre contiene todos los registros de la relación izquierda
(primera tabla que indicamos), y aquellos de la tabla derecha que cumplen la condición
establecida. Para el resto aparecerá en los campos correspondientes a dicha tabla un NULL.
9. Usando RIGHT JOIN

SELECT NOMBRE, APELLIDO FROM PLANTILLA RIGHT JOIN HOSPITAL ON


PLANTILLA.HOSPITAL_COD = HOSPITAL.HOSPITAL_COD

El RIGHT JOIN es análogo al LEFT JOIN, pero devolviendo todos los registros de la relación
derecha (segunda tabla que aparece), y únicamente aquellos de la tabla izquierda que cumplen
la condición del JOIN. El resultado de esta operación siempre contiene todos los registros de la
relación derecha (segunda tabla que indicamos), de modo que en aquellos sin equivalente en
la parte izquierda tendrán en los campos correspondientes a dicha tabla un NULL.

10. Usando OUTER JOIN

SELECT * FROM PLANTILLA FULL OUTER JOIN HOSPITAL ON PLANTILLA.HOSPITAL_COD =


HOSPITAL.HOSPITAL_COD

Esta consulta devolvería tanto los datos de las empresas sin empleados como los de los
empleados sin empresa, apareciendo rellenos todos los datos de la consulta únicamente para
aquellos registros que cumplen la condición del JOIN, y apareciendo NULL en unos u otros
campos para el resto de registros.

También podría gustarte