Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Introducción a SQL Server: Creación, Manipulación y Consultas de Datos, Ejercicios de Informática

documento de microsoft access sdfdsfsd

Tipo: Ejercicios

2019/2020

Subido el 10/02/2020

Luis_Emilio.Garcia_Ramon
Luis_Emilio.Garcia_Ramon 🇩🇴

2 documentos

1 / 21

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
SQL (Structured Query Language)
El SQL es un lenguaje de consulta estructurado, usado para hacer trabajar en una base de
datos, en nuestro caso usaremos el gestor de base de datos de Microsoft SQL Server el cual
nos permitirá crear tablas y relacionarlas y tener el control de los datos.
Este lenguaje esta compuesto por comandos, cláusulas, operadores, funciones y estructuras
de control. Todos estas instrucciones permiten crear, actualizar y manipular los diversos
componentes de tu base de datos.
¿Que es una tabla?
Las conocemos en diseño como entidades, son los elementos de una base de datos que
almacenan la información, antes de comenzar tienes que tener en cuenta que la tabla tiene las
siguientes partes:
Los Campos
Son las columnas, estas tienen un solo tipo de datos, es decir, en la figura podemos ver el
campo precio, el cual solo tiene números, en el campo titulo podemos observar solo texto. Por
tanto debes recordar que los campos tienen que ser definidos con un determinado tipo de dato,
ejemplos:
• Id_Libro
• Titulo
• Categoría
• Precio
Los Registros
Los constituyen las filas, estas poseen un valor muy alto ya que agrupa datos y nos muestra un
orden entre ellos, en realidad la información de una base de datos esta basada en registros que
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15

Vista previa parcial del texto

¡Descarga Introducción a SQL Server: Creación, Manipulación y Consultas de Datos y más Ejercicios en PDF de Informática solo en Docsity!

SQL (Structured Query Language)

El SQL es un lenguaje de consulta estructurado, usado para hacer trabajar en una base de datos, en nuestro caso usaremos el gestor de base de datos de Microsoft SQL Server el cual nos permitirá crear tablas y relacionarlas y tener el control de los datos. Este lenguaje esta compuesto por comandos, cláusulas, operadores, funciones y estructuras de control. Todos estas instrucciones permiten crear, actualizar y manipular los diversos componentes de tu base de datos.

¿Que es una tabla?

Las conocemos en diseño como entidades, son los elementos de una base de datos que almacenan la información, antes de comenzar tienes que tener en cuenta que la tabla tiene las siguientes partes:

Los Campos

Son las columnas, estas tienen un solo tipo de datos, es decir, en la figura podemos ver el campo precio, el cual solo tiene números, en el campo titulo podemos observar solo texto. Por tanto debes recordar que los campos tienen que ser definidos con un determinado tipo de dato, ejemplos:  • Id_Libro  • Titulo  • Categoría  • Precio

Los Registros

Los constituyen las filas, estas poseen un valor muy alto ya que agrupa datos y nos muestra un orden entre ellos, en realidad la información de una base de datos esta basada en registros que

se almacenan en una tabla.  • 100, 1, Tutorial de SqlServer, 01/01/2011, 5, 5432.0000, 1  • 106, 5, Manual de Visual, 01/01/2014, 2, 68875.0000, 4

Los tipos de Datos en SQL Server

Existen diversos tipos de datos en SQL Server, en este documentos vamos ha describir y usar los que consideramos más usuales.  Bit. Una columna o variable de tipo bit puede almacenar el rango de valores de 1 a 0.  Int. Una columna o variable de tipo int puede almacenar el rango de valores -2^31 a 2^31-.  Decimal(p,s). Una columna de tipo decimal puede almacenar datos numéricos decimales sin redondear. Donde p es la precisión (número total del dígitos) y s la escala (número de valores decimales)  Money. Almacena valores numéricos monetarios de -2^63 a 2^63-1, con una precisión de hasta diez milésimas de la unidad monetaria.  Char(n). Almacena n caracteres o texto en formato ASCII, un byte por cada letra. Debes tener presente que si por ejemplo, char(5), guardamos el valor 'A', se almacena 'A ', ocupando los cinco bytes.  Varchar(n). Almacena n caracteres o texto en formato ASCII, un byte por cada letra. Cuando almacenamos datos en el tipo varchar, unicamente se utilizan los caracteres necesarios,Por ejemplo, si en un varchar(255), guardamos el valor 'A', se almacena 'A', ocupando solo un byte bytes.  Nchar(n).Almacena n caracteres en formato UNICODE, dos bytes por cada letra. Es recomendable utilizar este tipo de datos cuando los valores que vayamos a almacenar puedan pertenecer a diferente idiomas.  Nvarchar(n).Almacena n caracteres en formato UNICODE, dos bytes por cada letra. Es recomendable utilizar este tipo de datos cuando los valores que vayamos a almacenar puedan pertenecer a diferente idiomas.  Text. Almacena textos muy grandes más de 2100 millones de letras.

DELETE FROM

Este comando permite eliminar los registros de una tabla, para ello usamos where para indicar la condición que deben tener los registros para su eliminación. Por ejemplo podemos eliminar a la persona de codigo A02:  • delete from tPersona where codigo = 'A02'; Aunque es muy peligroso y poco recomendable también podemos eliminar todos los datos de una tabla de la siguiente forma: (Ten cuidado en usar este comando)  • delete from tPersona

SELECT

Es una de las ordenes más importantes y utilizadas, permiten hacer listados y consultas de los datos de una tabla, con esta orden podemos ver que información tenemos realmente grabada en la base de datos, por ejemplo para listar los datos de la tabla tPersona hacemos lo siguiente:  • select * from tPersona; Otros ejemplos con la orden select. /* Mostrar las personas en orden alfabetico por el nombre /  • select * from tPersona order by nombre; / Mostrar las personas en orden por edad /  • select * from tPersona order by edad desc; / Mostrar las personas de 50 años a mas */  • select * from tPersona where edad >= 50;

SCRIPT SQL SERVER COMPLETO DE EJEMPLO

Crear una base de datos / create database bdPrueba; / Activar la base de datos bdPrueba (abrir la base de datos) */ use bdPrueba;

Crear una tabla / create table tPersona ( codigo char(3), nombre varchar(50), edad int ); / Listar el contenido de una tabla / select * from tPersona; / Insertar datos en la tabla / insert into tPersona values('A01','Juan',21); insert into tPersona values('A02','Maria',23); insert into tPersona values('A03','Jose',80); insert into tPersona values('A04','Judas',35); insert into tPersona values('A05','Pedro',40); insert into tPersona values('A06','Lazaro',15); insert into tPersona values('A07','Ruben',35); insert into tPersona values('A08','Margoth',27); insert into tPersona values('A09','Manuel',22); insert into tPersona values('A10','Juan',19); insert into tPersona values('A11','Antonio',26); insert into tPersona values('A12','Rosmery',44); insert into tPersona values('A13','Roa',38); insert into tPersona values('A14','Edgar',18); insert into tPersona values('A15','Eva',14); insert into tPersona values('A16','Gerardo',22); insert into tPersona values('A17','July',76); insert into tPersona values('A18','Saul',44); insert into tPersona values('A19','Marlene',55); insert into tPersona values('A20','Richard',29); / Modificar datos de una tabla / update tPersona set nombre = 'Maria Juana' where codigo = 'A01'; update tPersona set nombre = 'Jesus', edad=33 where codigo = 'A25'; / Eliminar datos de una tabla / delete from tPersona where codigo = 'A02'; / Borrar todos los datos de la tabla usar con precaución / delete from tPersona / Mostrar las personas en orden alfabetico por el nombre / select * from tPersona order by nombre; / Mostrar las personas en orden por edad / select * from tPersona order by edad desc; / Mostrar las personas de 50 años a mas */

Aclaraciones Importantes en SQLServer

Que es WHERE

Where significa donde, es usado en diversos comando de SQLServer para colocar condiciones, después de dicha palabra.

delete from tPersona

Este orden al no tener la condición WHERE elimina todos los registros de la tabla tPersona, por ellos deberás tener cuidado con comandos de este tipo.

Operadores de Condición

Son necesarios a la ora de formar condiciones,  ■ > mayor.  ■ < menor.  ■ >= mayor o igual  ■ <= menor o igual  ■ <> diferente

Uso Operadores Lógicos AND, OR y NOT

Cuando trabajas con consultas, es necesario tener en cuenta los operadores lógicos, por ello al usar WHERE en una consulta.  ■ AND, es el operador "Y" lógico, que significa que todas las condiciones deberán cumplirse.  ■ OR, es el operador "O" lógico, esto quiere decir que basta que una condición de varias se cumpla.  ■ NOT, es el operador "NO" lógico, si una condición se cumple el operador la niega y convierte en falsa, pero si una condición no se cumple el operador la convierte en verdad. Ejemplos:  ■ Personas de entre 50 y 70 años de edad: edad >= 50 AND edad <=  ■ Personas que se llamen juan o que su edad sea 25: nombre = 'Juan' OR edad = 25  ■ Personas que no tengan entre 18 y 75 años: not( edad>=18 and edad<=75)

¿Que significa asterisco en una consulta?

El asterisco es un comodín, que significa todo los campos cuando lo usamos en una consulta, por ejemplo:  select * from tPersona; En esta orden estamos indicando que queremos ver todos los registros de una tabla y también todos sus campos, podemos reemplazar el * por el nombre de un campo, de esta forma solo veríamos la información de dicho campo, por ejemplo:  select nombre from tPersona;

¿Que es LIKE en una condición WHERE?

Podemos entender LIKE como "que contiene" o "que contenga", se usa acompañado de el comodín %, que reemplaza un grupo de letras de texto. Por ejemplo queremos consultar a todas aquellas personas cuyo nombre comienza con "A", debemos hacer los siguiente:  select * from tPersona where nombre like 'a%' Si analizamos la expresión le estamos diciendo que muestre todas las personas donde el nombre contiene la letra "a" inicial, sin importar el resto del nombre, otros ejemplos:  ■ 'a%', que comienza con a y lo demás no importa.  ■ '%e', que termina en e y lo de delante no importa.  ■ '%mar%', que tenga la palabra mar y no importa que hay delante o después de la palabra.  ■ 'more%', que comienza con more y no importa lo demás. Como observas % reemplaza a un grupo de letras, sin importar cuales sean.

¿Que significa JOIN?

En SQL significa combinar, se usa para combinar los datos de dos tablas que están relacionadas, JOIN trabaja junto con la clausula ON, se usa ON para indicar cuales son los campos por los cuales la tabla se relaciona, ejemplo:  ■ select * from tcategoria join tcontacto on Idcategoria = fkcategoria; En este ejemplo tenemos dos tablas relacionadas tCategoria cuyo primary key es IdCategoria, y tContacto cuyo foreign key es fkCategoria, por tanta al combinar los datos, le estamos diciendo que tanto el IdCategoria como el fkCategoria sean iguales y estén emparejados.

select * from tcategoria; select * from tcontacto; /* Insertar datos en la tabla / insert into tcategoria values('AMIX','Mis mejores Amigos','Mis Amigos'); insert into tcategoria values('FAMI','Familia','Mi familia'); insert into tcategoria values('COME','Compañeros de Estudio','Mis compañeros de KHIPU'); insert into tcategoria values('COMT','Compañeros de Trabajo','Mis amigos de la Zona'); insert into tcontacto values(1,'Juan Perez','Av Sol','11/11/11','123456','[email protected]','Ninguna','FAMI'); insert into tcontacto values(2,'Maria Lopez','Av Grau','10/10/10','987654','[email protected]','Ninguna','AMIX'); insert into tcontacto values(3,'Jesus Guti','Av Belen','09/09/09','456213','[email protected]','Ninguna','FAMI'); insert into tcontacto values(4,'Jose Guzman','Av Jerusalen','08/08/08','951465','[email protected]','Ninguna','COME'); insert into tcontacto values(5,'Jonas Rodrish','Av Mar','07/07/07','984264','[email protected]','Ninguna','COME'); insert into tcontacto values(6,'Pablo Nerd','Av Mar Cultura','06/06/06','498648','[email protected]','Ninguna','AMIX'); insert into tcontacto values(7,'Ricardo Argo','Av Paz','05/05/05','951753','[email protected]','Ninguna','COME'); insert into tcontacto values(8,'Pedro Pied','Av Hoy','04/04/04','648975','[email protected]','Ninguna','AMIX'); insert into tcontacto values(9,'Edit Apon','Av Abajo','03/03/03','789654','[email protected]','Ninguna','COMT'); insert into tcontacto values(10,'Soledad Tode','Av Estamos','02/02/02','456789','[email protected]','Ninguna','AMIX'); insert into tcontacto values(11,'Samuel Soyo','Av Carrera','01/01/01','123456','[email protected]','Ninguna','COMT'); /Listar los contactos, pero solo mostrar su codigo, nombre y telefono/ select Idcontacto, nombre, telefono from tcontacto; /Listar categoria y contactos al mismo tiempo, union/ select * from tcontacto join tcategoria on Idcategoria = fkcategoria; /Listar los contactos pero solo mostrar el nombre, su telefono y el nombre de la categoria/ select Idcontacto,tcontacto.nombre,telefono,tcategoria.nombre from tcategoria join tcontacto on Idcategoria = fkcategoria; /Listar todos los contactos mostrar el nombre, telefono y nombre de la categoria/ select tcontacto.nombre,telefono,tcategoria.nombre 'Nombre/Categoria' from tcategoria join tcontacto on Idcategoria = fkcategoria where tcontacto.nombre like 'j%'; /Listar a los contactos y la descripción de la categoria, los contactos deben tener un codigo mayor a 7 se debe mostrar el nombre del contacto, su Id y la descripción de la categoría */

select idcontacto, tcontacto.nombre,tcategoria.descripcion from tcategoria join tcontacto on Idcategoria = fkcategoria where Idcontacto>7;

Base de Datos Hotel

Esta base de datos tiene 5 tablas, todas relacionadas. /Estableciendo el formato de fecha en SQL en el formato dia, mes y año/ set dateformat dmy; /Poniendo en uso la base de datos master/ use master go /Eliminando la base de datos bdHotel/ drop database bdHotel; go /Creando la base de datos bdHotel/ create database bdHotel; go /Activando o poniendo en usando bdHotel/ use bdHotel; go /Dar autorización general a la base de datos, util para activar la creación de diagramas y otros/ alter authorization on database::bdHotel to sa; go /Creando la tabla tTipo y otras/ create table tTipo ( idTipo char(4) primary key, nombre varchar(30) )

values('DNI:9879865','Maria del Carpio','14/01/1994','Abancay','M',''); Insert into tCliente(documento,nombre,fechaNacimiento,lugarNacimiento,sexo,observacion) values('DNI:9546876','Rosmery Meneses','09/02/1995','Abancay','M',''); Insert into tCliente(documento,nombre,fechaNacimiento,lugarNacimiento,sexo,observacion) values('DNI:7563453','Richard Jimenez','07/02/1996','Abancay','V',''); Insert into tCliente(documento,nombre,fechaNacimiento,lugarNacimiento,sexo,observacion) values('DNI:4535445','Abel Martinez','22/03/1997','Abancay','V',''); Insert into tCliente(documento,nombre,fechaNacimiento,lugarNacimiento,sexo,observacion) values('DNI:9808975','Ruben Alata','19/03/1998','Lima','V',''); Insert into tCliente(documento,nombre,fechaNacimiento,lugarNacimiento,sexo,observacion) values('DNI:6786786','Ricardo Meneses','11/04/1999','Lima','V',''); Insert into tCliente(documento,nombre,fechaNacimiento,lugarNacimiento,sexo,observacion) values('DNI:2342834','Jose Llosa','19/05/2000','Cusco','V',''); Insert into tCliente(documento,nombre,fechaNacimiento,lugarNacimiento,sexo,observacion) values('DNI:5645345','Lucio Medrano','18/06/2001','Lima','V',''); Insert into tCliente(documento,nombre,fechaNacimiento,lugarNacimiento,sexo,observacion) values('DNI:3242344','Margoth Fernandez','30/03/2002','Lima','M',''); Insert into tCliente(documento,nombre,fechaNacimiento,lugarNacimiento,sexo,observacion) values('DNI:2646567','Angela Leiva','15/07/2003','Lima','M',''); Insert into tCliente(documento,nombre,fechaNacimiento,lugarNacimiento,sexo,observacion) values('DNI:2646567','Yoni Guzman','15/08/2003','Lima','M',''); go Insert into tVendedor values('V001','Saul Guzman','Av. Sol','RPC: 159156','Ninguna',1200); Insert into tVendedor values('V002','Gerardo Soto','Av. La Cultura','RPC: 456545','De Confianza',1500); Insert into tVendedor values('V003','Manuel Martiarena','Av. Peru','RPC: 545655','Eventual',1000); Insert into tVendedor values('V004','Maribel Mendes','Jr. Arequipa','RPC: 5646785','Eventual',1000); go Insert into tHabitacion values(101,2,'Con baño, agua caliente y cable',60,'SIMP',''); Insert into tHabitacion values(102,3,'Con baño, agua caliente y cable',75,'DOBL',''); Insert into tHabitacion values(103,1,'Con cable',40,'SIMP',''); Insert into tHabitacion values(104,1,'Con cable',40,'SIMP',''); Insert into tHabitacion values(201,1,'Con Baño y Cable',50,'SIMP',''); Insert into tHabitacion values(202,3,'Con Baño',60,'DOBL',''); Insert into tHabitacion values(203,2,'Con Baño y Cable',100,'SUIT',''); Insert into tHabitacion values(204,1,'Con baño, agua caliente y cable',55,'SIMP',''); go insert into tAlquiler values(50,'01/01/2016','03/01/2016','O','Ninguna','V003',9,101); insert into tAlquiler values(40,'01/01/2016','03/01/2016','O','Ninguna','V002',2,102); insert into tAlquiler values(35,'01/01/2016','03/01/2016','O','Ninguna','V001',7,103); insert into tAlquiler values(40,'01/01/2016','03/01/2016','O','Ninguna','V002',9,104); insert into tAlquiler values(45,'01/01/2016','03/01/2016','O','Ninguna','V003',6,201); insert into tAlquiler values(40,'01/01/2016','03/01/2016','O','Ninguna','V002',8,202); insert into tAlquiler values(100,'01/01/2016','03/01/2016','O','Ninguna','V003',4,203); insert into tAlquiler values(40,'01/01/2016','03/01/2016','O','Ninguna','V003',10,204); insert into tAlquiler values(70,'04/01/2016','20/06/2016','O','Ninguna','V001',7,102); insert into tAlquiler values(35,'04/01/2016','10/06/2016','O','Ninguna','V002',4,103);

insert into tAlquiler values(50,'05/01/2016','06/01/2016','O','Ninguna','V002',8,101); insert into tAlquiler values(40,'05/01/2016','05/06/2016','O','Ninguna','V003',2,202); insert into tAlquiler values(100,'05/01/2016','01/10/2016','O','Ninguna','V001',5,203); insert into tAlquiler values(40,'05/01/2016','06/06/2016','O','Ninguna','V003',10,204); insert into tAlquiler values(40,'06/01/2016','29/06/2016','O','Ninguna','V001',5,104); insert into tAlquiler values(45,'06/01/2016','05/06/2016','O','Ninguna','V001',8,201); insert into tAlquiler values(50,'08/01/2016','09/01/2016','O','Ninguna','V002',3,101); insert into tAlquiler values(50,'11/01/2016','13/01/2016','O','Ninguna','V002',4,101); insert into tAlquiler values(50,'16/01/2016','18/01/2016','O','Ninguna','V001',8,101); insert into tAlquiler values(50,'19/01/2016','21/01/2016','O','Ninguna','V002',3,101); insert into tAlquiler values(50,'24/01/2016','27/01/2016','O','Ninguna','V003',4,101); insert into tAlquiler values(50,'30/01/2016','01/02/2016','O','Ninguna','V003',8,101); insert into tAlquiler values(50,'02/02/2016','04/02/2016','O','Ninguna','V002',2,101); insert into tAlquiler values(50,'07/02/2016','08/02/2016','O','Ninguna','V002',9,101); insert into tAlquiler values(50,'09/02/2016','10/02/2016','O','Ninguna','V001',4,101); insert into tAlquiler values(50,'12/02/2016','14/02/2016','O','Ninguna','V002',3,101); insert into tAlquiler values(50,'17/02/2016','20/02/2016','O','Ninguna','V002',3,101); insert into tAlquiler values(50,'23/02/2016','26/02/2016','O','Ninguna','V002',1,101); insert into tAlquiler values(50,'27/02/2016','28/02/2016','O','Ninguna','V001',10,101); insert into tAlquiler values(50,'02/03/2016','04/03/2016','O','Ninguna','V002',9,101); insert into tAlquiler values(50,'05/03/2016','06/03/2016','O','Ninguna','V002',3,101); insert into tAlquiler values(50,'09/03/2016','10/03/2016','O','Ninguna','V002',11,101); insert into tAlquiler values(50,'13/03/2016','16/03/2016','O','Ninguna','V002',3,101); insert into tAlquiler values(50,'18/03/2016','21/03/2016','O','Ninguna','V002',6,101); insert into tAlquiler values(50,'23/03/2016','26/03/2016','O','Ninguna','V003',5,101); insert into tAlquiler values(50,'29/03/2016','30/03/2016','O','Ninguna','V001',6,101); insert into tAlquiler values(50,'02/04/2016','05/04/2016','O','Ninguna','V002',9,101); insert into tAlquiler values(50,'07/04/2016','09/04/2016','O','Ninguna','V002',5,101); insert into tAlquiler values(50,'11/04/2016','13/04/2016','O','Ninguna','V002',4,101); insert into tAlquiler values(40,'06/06/2016','09/06/2016','O','Ninguna','V001',8,202); insert into tAlquiler values(40,'07/06/2016','09/06/2016','O','Ninguna','V003',5,204); insert into tAlquiler values(45,'08/06/2016','06/06/2016','O','Ninguna','V001',11,201); insert into tAlquiler values(45,'09/06/2016','10/06/2016','O','Ninguna','V003',3,201); insert into tAlquiler values(45,'10/06/2016','11/06/2016','O','Ninguna','V003',1,201); insert into tAlquiler values(40,'10/06/2016','09/06/2016','O','Ninguna','V003',1,202); insert into tAlquiler values(45,'12/06/2016','09/06/2016','O','Ninguna','V002',6,201); insert into tAlquiler values(40,'12/06/2016','21/06/2016','O','Ninguna','V002',4,202); insert into tAlquiler values(40,'12/06/2016','12/06/2016','O','Ninguna','V003',2,204); insert into tAlquiler values(40,'13/06/2016','15/06/2016','O','Ninguna','V002',5,103); insert into tAlquiler values(45,'13/06/2016','21/06/2016','O','Ninguna','V001',11,201); insert into tAlquiler values(35,'15/06/2016','15/06/2016','O','Ninguna','V002',4,204); insert into tAlquiler values(35,'16/06/2016','21/06/2016','O','Ninguna','V001',9,204); insert into tAlquiler values(35,'18/06/2016','22/06/2016','O','Ninguna','V001',4,103); insert into tAlquiler values(40,'22/06/2016','23/06/2016','O','Ninguna','V001',9,202); insert into tAlquiler values(40,'23/06/2016','02/07/2016','O','Ninguna','V002',11,102); insert into tAlquiler values(45,'23/06/2016','24/06/2016','O','Ninguna','V003',6,201); insert into tAlquiler values(40,'23/06/2016','24/06/2016','O','Ninguna','V001',5,204); insert into tAlquiler values(40,'24/06/2016','22/06/2016','O','Ninguna','V003',2,103); insert into tAlquiler values(45,'24/06/2016','22/06/2016','O','Ninguna','V003',4,201); insert into tAlquiler values(40,'24/06/2016','27/06/2016','O','Ninguna','V003',8,202); insert into tAlquiler values(35,'25/06/2016','29/06/2016','O','Ninguna','V001',6,103); insert into tAlquiler values(45,'25/06/2016','25/06/2016','O','Ninguna','V003',6,201); insert into tAlquiler values(35,'27/06/2016','28/06/2016','O','Ninguna','V001',9,204); insert into tAlquiler values(45,'28/06/2016','27/06/2016','O','Ninguna','V001',6,201); insert into tAlquiler values(45,'28/06/2016','03/07/2016','O','Ninguna','V003',7,201); insert into tAlquiler values(35,'29/06/2016','30/06/2016','O','Ninguna','V002',11,204); insert into tAlquiler values(35,'30/06/2016','02/07/2016','O','Ninguna','V003',4,104); insert into tAlquiler values(40,'30/06/2016','04/07/2016','O','Ninguna','V003',3,202); insert into tAlquiler values(40,'01/07/2016','04/07/2016','O','Ninguna','V002',4,103); insert into tAlquiler values(40,'01/07/2016','30/06/2016','O','Ninguna','V001',5,204);

insert into tAlquiler values(40,'18/08/2016','18/08/2016','O','Ninguna','V002',6,202); insert into tAlquiler values(45,'19/08/2016','28/08/2016','O','Ninguna','V003',6,201); insert into tAlquiler values(40,'20/08/2016','26/08/2016','O','Ninguna','V001',7,102); insert into tAlquiler values(40,'20/08/2016','17/08/2016','O','Ninguna','V003',3,202); insert into tAlquiler values(40,'20/08/2016','20/08/2016','O','Ninguna','V001',3,202); insert into tAlquiler values(40,'23/08/2016','27/08/2016','O','Ninguna','V001',9,103); insert into tAlquiler values(40,'23/08/2016','23/08/2016','O','Ninguna','V003',4,202); insert into tAlquiler values(40,'26/08/2016','29/08/2016','O','Ninguna','V003',2,202); insert into tAlquiler values(70,'28/08/2016','29/08/2016','O','Ninguna','V002',6,102); insert into tAlquiler values(40,'28/08/2016','28/08/2016','O','Ninguna','V002',6,204); insert into tAlquiler values(35,'29/08/2016','01/09/2016','O','Ninguna','V002',7,103); insert into tAlquiler values(45,'30/08/2016','02/09/2016','O','Ninguna','V001',5,201); insert into tAlquiler values(40,'31/08/2016','01/09/2016','O','Ninguna','V002',6,102); insert into tAlquiler values(45,'31/08/2016','29/08/2016','O','Ninguna','V001',9,201); insert into tAlquiler values(40,'31/08/2016','01/09/2016','O','Ninguna','V001',2,204); insert into tAlquiler values(40,'01/09/2016','31/08/2016','O','Ninguna','V001',10,202); insert into tAlquiler values(40,'02/09/2016','02/09/2016','O','Ninguna','V003',2,102); insert into tAlquiler values(35,'02/09/2016','08/09/2016','O','Ninguna','V001',9,103); insert into tAlquiler values(40,'02/09/2016','02/09/2016','O','Ninguna','V002',6,204); insert into tAlquiler values(45,'03/09/2016','09/09/2016','O','Ninguna','V002',8,201); insert into tAlquiler values(40,'03/09/2016','05/09/2016','O','Ninguna','V003',1,202); insert into tAlquiler values(40,'04/09/2016','07/09/2016','O','Ninguna','V001',4,204); insert into tAlquiler values(70,'05/09/2016','06/09/2016','O','Ninguna','V002',10,102); insert into tAlquiler values(40,'08/09/2016','15/09/2016','O','Ninguna','V001',2,102); insert into tAlquiler values(40,'08/09/2016','08/09/2016','O','Ninguna','V001',4,202); insert into tAlquiler values(40,'08/09/2016','09/09/2016','O','Ninguna','V003',10,204); insert into tAlquiler values(40,'09/09/2016','09/09/2016','O','Ninguna','V003',11,103); insert into tAlquiler values(40,'10/09/2016','12/09/2016','O','Ninguna','V002',6,202); insert into tAlquiler values(35,'11/09/2016','21/09/2016','O','Ninguna','V001',9,103); insert into tAlquiler values(45,'11/09/2016','11/09/2016','O','Ninguna','V003',4,201); insert into tAlquiler values(40,'11/09/2016','10/09/2016','O','Ninguna','V003',4,204); insert into tAlquiler values(40,'12/09/2016','09/09/2016','O','Ninguna','V001',7,103); insert into tAlquiler values(40,'13/09/2016','13/09/2016','O','Ninguna','V003',1,204); insert into tAlquiler values(45,'14/09/2016','13/09/2016','O','Ninguna','V003',7,201); insert into tAlquiler values(45,'14/09/2016','15/09/2016','O','Ninguna','V001',7,201); insert into tAlquiler values(40,'14/09/2016','16/09/2016','O','Ninguna','V003',2,202); insert into tAlquiler values(100,'15/09/2016','19/09/2016','O','Ninguna','V003',3,204); insert into tAlquiler values(45,'16/09/2016','18/09/2016','O','Ninguna','V003',4,201); insert into tAlquiler values(70,'18/09/2016','18/09/2016','O','Ninguna','V001',9,102); insert into tAlquiler values(45,'19/09/2016','20/09/2016','O','Ninguna','V002',2,201); insert into tAlquiler values(40,'19/09/2016','18/09/2016','O','Ninguna','V003',3,202); insert into tAlquiler values(40,'19/09/2016','22/09/2016','O','Ninguna','V003',2,202); insert into tAlquiler values(45,'20/09/2016','17/09/2016','O','Ninguna','V002',6,201); insert into tAlquiler values(70,'21/09/2016','19/09/2016','O','Ninguna','V003',2,102); insert into tAlquiler values(40,'21/09/2016','19/09/2016','O','Ninguna','V003',1,102); insert into tAlquiler values(40,'21/09/2016','28/09/2016','O','Ninguna','V003',7,204); insert into tAlquiler values(70,'22/09/2016','25/09/2016','O','Ninguna','V001',3,102); insert into tAlquiler values(45,'22/09/2016','22/09/2016','O','Ninguna','V002',9,201); insert into tAlquiler values(35,'23/09/2016','25/09/2016','O','Ninguna','V003',3,103); insert into tAlquiler values(45,'25/09/2016','25/09/2016','O','Ninguna','V001',11,201); insert into tAlquiler values(40,'25/09/2016','24/09/2016','O','Ninguna','V003',2,202); insert into tAlquiler values(45,'26/09/2016','26/09/2016','O','Ninguna','V003',7,201); insert into tAlquiler values(40,'26/09/2016','02/10/2016','O','Ninguna','V003',6,202); insert into tAlquiler values(70,'27/09/2016','29/09/2016','O','Ninguna','V003',4,102); insert into tAlquiler values(45,'27/09/2016','26/09/2016','O','Ninguna','V001',8,201); insert into tAlquiler values(45,'27/09/2016','28/09/2016','O','Ninguna','V001',1,201); insert into tAlquiler values(40,'29/09/2016','06/10/2016','O','Ninguna','V002',5,204); insert into tAlquiler values(45,'30/09/2016','02/10/2016','O','Ninguna','V003',4,201); insert into tAlquiler values(45,'03/10/2016','06/10/2016','O','Ninguna','V002',11,201); insert into tAlquiler values(100,'03/10/2016','02/10/2016','O','Ninguna','V003',9,203);

insert into tAlquiler values(100,'03/10/2016','07/10/2016','O','Ninguna','V002',2,203); insert into tAlquiler values(40,'04/10/2016','04/10/2016','O','Ninguna','V002',11,202); insert into tAlquiler values(40,'09/10/2016','07/10/2016','O','Ninguna','V001',8,204); /Consultas básicas de cada tabla/ select * from tVendedor; select * from tCliente; select * from tTipo; select * from tHabitacion; select * from tAlquiler;

BASE DE DATOS HOSPITAL

La siguientes es la base de datos de un hospital, el subsistema de hospitalizan que sigue las siguientes reglas:  El hospital tiene varias plantas, cada una de las cuales tiene un nombre y una cantidad de camas.  Las camas que están en los niveles tienen un código que las identifican.  Los pacientes cuentan con un número de seguro, dni y nombre, cada vez que el paciente llega al hospital se anota en su historia una fecha de entrada y una de salida.  A su vez cuando llega al hospital y es internado se le asigna una cama.  Existen médicos que atienden a los pacientes, estas atenciones las denominan visitas medicas. Diseño de la base de datos:

apellido varchar(max) not null ); go create table tCama ( idCama int primary key, fkPlanta char(3), foreign key (fkPlanta) references tPlanta(idPlanta) ); go create table tHistoria ( idHistoria int identity primary key, FechaEntrada datetime, FechaAlta datetime, FkNumeroSeguro int, foreign key (fkNumeroSeguro) references tPaciente(idNumeroSeguro) ); go create table tPacienteCama ( idPacienteCama int identity primary key, fechaAsignacion datetime, fechaSalida datetime, fkCama int, fkHistoria int, foreign key (fkCama) references tCama(idCama), foreign key (fkHistoria) references tHistoria(idHistoria) ); go create table tVisitaMedica ( FechaHoraVisita datetime, DiagnosticoEnfermedad text, fkMedico int, fkPacienteCama int, foreign key (fkMedico) references tMedico(idMedico), foreign key (fkPacienteCama) references tPacienteCama(idPacienteCama) ); go insert into tMedico(nombre,apellido) values('Juan','Perez'); insert into tMedico(nombre,apellido) values('Maria','Lopez'); insert into tMedico(nombre,apellido) values('Cristina','Rodriguez'); insert into tMedico(nombre,apellido) values('Jesica','Tapia'); go insert into tPlanta values('A','Piso 1','20'); insert into tPlanta values('B','Piso 2','15'); insert into tPlanta values('C','Piso 3','19'); insert into tPlanta values('D','Piso 4','5'); go insert into tPaciente(dni,nombre,apellido,fechaNacimiento) values('1646798','Julian','Guzman','01/11/01'); insert into tPaciente(dni,nombre,apellido,fechaNacimiento) values('4534534','Jesus','Vaca','03/10/02'); insert into tPaciente(dni,nombre,apellido,fechaNacimiento) values('5456345','Marta','Tito','05/09/03');

insert into tPaciente(dni,nombre,apellido,fechaNacimiento) values('7686786','Richard','Merca','07/08/04'); insert into tPaciente(dni,nombre,apellido,fechaNacimiento) values('1233434','Saul','Huaman','09/07/05'); insert into tPaciente(dni,nombre,apellido,fechaNacimiento) values('9878977','Gerardo','Soto','11/06/06'); go insert into tCama values(101,'A'); insert into tCama values(102,'A'); insert into tCama values(103,'A'); insert into tCama values(104,'A'); insert into tCama values(201,'B'); insert into tCama values(202,'B'); insert into tCama values(203,'B'); insert into tCama values(204,'B'); insert into tCama values(205,'B'); insert into tCama values(206,'B'); insert into tCama values(301,'C'); insert into tCama values(302,'C'); insert into tCama values(303,'C'); insert into tCama values(304,'C'); go insert into tHistoria(FechaEntrada, FechaAlta,FkNumeroSeguro) values('11/02/02','02/02/02',2); insert into tHistoria(FechaEntrada, FechaAlta,FkNumeroSeguro) values('09/03/03','03/03/03',3); insert into tHistoria(FechaEntrada, FechaAlta,FkNumeroSeguro) values('07/04/03','03/03/03',4); insert into tHistoria(FechaEntrada, FechaAlta,FkNumeroSeguro) values('05/06/04','04/04/04',5); insert into tHistoria(FechaEntrada, FechaAlta,FkNumeroSeguro) values('09/07/05','05/05/05',6); go insert into tPacienteCama(fechaAsignacion,fechaSalida,fkCama,fkHistoria) values('10/01/2014','12/01/2014',101,1); insert into tPacienteCama(fechaAsignacion,fechaSalida,fkCama,fkHistoria) values('15/02/2014','16/02/2014',201,2); insert into tPacienteCama(fechaAsignacion,fechaSalida,fkCama,fkHistoria) values('18/03/2014','18/03/2014',302,3); insert into tPacienteCama(fechaAsignacion,fechaSalida,fkCama,fkHistoria) values('21/04/2014','25/04/2014',102,4); insert into tPacienteCama(fechaAsignacion,fechaSalida,fkCama,fkHistoria) values('19/05/2014','19/05/2014',201,5); insert into tPacienteCama(fechaAsignacion,fechaSalida,fkCama,fkHistoria) values('30/06/2014','30/06/2014',302,1); insert into tPacienteCama(fechaAsignacion,fechaSalida,fkCama,fkHistoria) values('12/07/2014','19/07/2014',103,3); insert into tPacienteCama(fechaAsignacion,fechaSalida,fkCama,fkHistoria) values('15/08/2014','19/08/2014',203,4); insert into tPacienteCama(fechaAsignacion,fechaSalida,fkCama,fkHistoria) values('23/09/2014','30/09/2014',303,5); insert into tPacienteCama(fechaAsignacion,fechaSalida,fkCama,fkHistoria) values('29/10/2014','30/10/2014',104,1); go insert into tVisitaMedica values('11/11/2014','Bajo de peso',1,1);