Download Control de Registros y Consultas en una Base de Datos.
Document related concepts
Transcript
Guía 5 Facultad: Ingeniería. Escuela: Biomédica. Asignatura: Informática Médica. Control de Registros y Consultas en una Base de Datos. Objetivos Efectuar el manejo de registros de tablas en una base de datos. Efectuar consultas en una base de datos. Recomendaciones Tenga orden y aseo para trabajar. Al finalizar el laboratorio se debe dejar en la misma o mejor condición en que se encontró (Asegúrese de apagar el equipo y ordenar los asientos antes de retirarse). Materiales y equipos Computadora. SQL Server 2012. 1 Guía 5 Introducción Teórica Para toda aplicación que utilice una base de datos requiere agregar, modificar, eliminar y acceder a su contenido, las cláusulas que se utilizan para lograr este fin son: “INSERT INTO”,”UPDATE”,”DELETE” y “SELECT”. INSERT INTO Con la sentencia INSERT se agregan nuevos registros a una tabla de base de datos; sin embargo, debe tener presente que las instrucciones INSERT no especifican valores para los siguientes tipos de columnas porque SQL SERVER DATA ENGINE (Motor de la base de datos de SQL Server) genera los valores de los siguientes campos: Campos con propiedad IDENTITY que genera los valores para los campos. Campos que posean un valor predeterminado que utilice la función NEWID para generar un valor de GUID exclusivo. Campos calculados. Existen dos métodos de agregar registros utilizando la cláusula INSERT, las cuáles son: INSERT INTO Nombre de tabla VALUES ('Valor de campo 1','Valor de campo 2','Valor del campo n-1','valor del campo n') INSERT INTO Nombre de tabla (nombre de campo 1, nombre de campo 2, nombre de campo n-1, nombre de campo n) VALUES ('Valor de campo 1','Valor de campo 2','Valor del campo n-1','valor del campo n') En el caso del método 1 únicamente se indican los valores de todas los campos de la tabla al que se desean agregar los registros, debe tener en cuenta que al utilizar el método 1 no se debe de hacer falta el valor de ningún campo aunque existe la excepción de que los campos a los cuales el motor de SQL Server le asigna valores se deben excluir. En el caso del método 2 se deben indicar el nombre del campo y el valor asignar. UPDATE La sentencia UPDATE permite actualizar o modificar el contenido de los registros de una tabla, la sintaxis a utilizar es la siguiente: 2 Guía 5 UPDATE nombre de tabla SET nombre de campo 1='Valor de campo 1',nombre de campo 2='Valor de campo 2',nombre de campo n-1='Valor de campo n-1',nombre de campo n='Valor de campo n' WHERE nombre de campo=valor de variable La sintaxis que se presenta después de la cláusula WHERE representa la selección del registro a modificar o actualizar, en caso de omitir esta cláusula se actualizan los campos indicados para todos los registros. DELETE La sentencia DELETE nos permite eliminar uno o varios registros de una tabla, la sintaxis a utilizar es la siguiente: DELETE nombre de tabla WHERE nombre de campo=valor de variable La sintaxis que se presenta después de la cláusula WHERE representa la selección del registro o los registros a eliminar, en caso de omitir esta cláusula se eliminan todos los registros de la tabla. SELECT La sentencia SELECT es la que nos permite realizar consultas tanto básicas como avanzadas a una base de datos, las consultas consistes en realizar peticiones a la base de datos para conocer el contenido de la misma. La sentencia SELECT con muchas cláusulas opcionales y sentencias modificadoras para mejor la precisión de la consulta y realizar consultas avanzadas, algunas de las cláusulas opcionales son: WHERE: Especifica una condición para la recuperación de datos. ORDER BY: Especifica el orden el que se devolverán los registros sea manera descendente o ascendente. AS: Proporciona un alias que puede utilizar temporalmente para referirnos temporalmente a las tablas y campos que devuelve la base de datos como resultado de una consulta La sintaxis que se utiliza para realizar una consulta a la base de datos es la siguiente: SELECT nombre de campo 1, nombre de campo n FROM nombre de tabla WHERE nombre de campo=valor de variable 3 Guía 5 Entre las sentencias modificadoras se pueden mencionar las siguientes: SUM, MAX, MIN, AVG, BETWEEN, COUNT, IN, GROUP BY, SUBSTRING, JOING, etc. La sintaxis que se utiliza para realizar una consulta a la base de datos haciendo uso de las sentencias modificadoras es la siguiente: SELECT sentencia modificadora(nombre de campo) AS alias para nombre de campo FROM nombre de tabla 4 Guía 5 Procedimiento Para efectos de la práctica de laboratorio, se continuará trabajando en la aplicación “Centro Médico”. Para que no tenga inconvenientes durante el desarrollo de la práctica debe tener en cuenta lo siguiente: Antes de realizar cualquier control de registros o consultas, debe de haber realizado una conexión a la base de datos, mientras utilice la consola de consultas la manera de mantener la conexión es la siguiente: USE Nombre de base de datos GO Cuando desea agregar o modificar registros a campos que no sean del tipo numérico debe asignar su valor entre comillas simples, de caso contrario sin comillas simples, ejemplo: Campo numérico: valor de campo Campo no numérico: 'Valor de campo' Cuando utilice la cláusula WHERE debe considerar el tipo de campo a utilizar, ejemplo: WHERE nombre de campo numérico = valor de variable WHERE nombre de campo no numérico = 'Valor de variable' Parte I: Agregar registros a la Base de Datos. 1) Abrir la aplicación SQL Server Management Studio. 2) Conectarse al servidor SQL, para la conexión al servidor puede usar una autenticación de Windows (no requiere contraseña) o autenticación de SQL Server (usuario: sa y contraseña: 123456). 3) Abrir la consola de consultas (T-SQL). 4) Verificar que exista la base de datos “Centro_Medico”, de lo contrario dirigirse Anexos y copiar las instrucciones para generar la base de datos. 5) Agregue los registros que se muestran en tabla I, utilice la siguiente sintaxis: USE Centro_Medico GO INSERT INTO Pacientes VALUES ('Wilfredo','Orellana','Plan del Pino','Soyapango','1111-2222','Wilfredo.orellana@gmail.com') 5 Guía 5 6) Verifique que su registro se ha agregado con éxito, para lo cual debe hacer clic derecho en la tabla “Pacientes” y seleccionar “Select Top 1000 Rows” tal como se muestra en Fig. 1. Fig. 1 Visualizar el contenido de las tablas. 7) Agregue registros a la tabla “consultas” de la base de datos a partir de la información de tabla II, ejemplo de la sintaxis a utilizar es la siguiente: USE Centro_Medico GO INSERT INTO consultas VALUES (1,'2016/01/01') 8) Agregue registros a la tabla “diagnostico” de la base de datos a partir de la información de tabla III, ejemplo de la sintaxis a utilizar es la siguiente: USE Centro_Medico GO INSERT INTO diagnostico VALUES (1,'Salazar','-') Nota: se le recomienda guardar en un documento de word todas las instrucciones que utilice para agregar los registros a la tabla de “diagnostico”, los utilizará más adelante. 6 Guía 5 ¿Dónde se agregan los nuevos registros? ¿Se agregan al final o al inicio de la tabla? _______________________________________________ Nombres Wilfredo Apellidos Orellana Mardin Soriano María Martínez José Aguilar Alex Zepeda Tabla I: Registros de Tabla Pacientes Dirección Ciudad Teléfono Plan del Pino Soyapango 11111111 Las Delicias Santa 2222Tecla 2222 El Paraiso Santa 3333Tecla 3333 Avenida Santa Ana 4444Independencia 4444 Sur #1 Barrio el centro Sonsonate 55555555 Correo Electrónico. Wilfredo.orellana@gmail.com Marvin.soriano@gmail.com Maria.martinez@gmail.com Jose.aguilar@gmail.com Alex.Zepeda@gmail.com Tabla II: Registros de Tabla Consultas IdPaciente 1 3 2 2 3 1 2 1 2 3 1 Fecha 01/01/16 02/01/16 02/02/16 03/02/16 03/02/16 05/06/16 07/08/16 11/12/16 01/01/17 10/01/17 25/02/17 Tabla III: Registros de Tabla Diagnostico IdConsulta Médico Diagnostico 1 Salazar 2 Gutiérrez - 7 Guía 3 Romero 5 - Parte II: Actualización de Registros. 1) Utilice la siguiente sintaxis para actualizar los registros de la tabla “diagnostico”: USE Centro_Medico GO UPDATE diagnostico SET diagnostico='Trombosis de la arteria cerebral media izquierda' WHERE iddiagnostico=1 2) Actualice los registros restantes de la tabla “diagnostico”. Parte III: Eliminación de Registros. 1) Elimine el registro de la fecha 25/02/17 que se presenta en la tabla “consultas”, para ello utiliza la siguiente sintaxis: USE Centro_Medico GO DELETE consultas WHERE fecha='2017/02/25' 2) Elimine los registros que corresponden a las fechas 10/01/17 y 01/01/17. 3) Verifique los registros contenidos en la tabla de “diagnostico”, tal como hizo en el paso 6 de la Parte I. 4) Utilice la siguiente sintaxis: USE Centro_Medico GO DELETE diagnotisco 5) Verifique nuevamente el contenido de la tabla de “diagnostico” y explique qué sucede al no utilizar WHERE junto a DELETE. 6) Agregue nuevamente el contenido de la tabla “diagnostico”, puede utilizar las instrucciones que guardo en el documento de Word. 8 Guía 5 Parte IV: Consultas Básicas a la base de datos. 1) Realice una consulta a la base de datos utilizando la siguiente sintaxis: SELECT * FROM Pacientes 2) Realice las consultas para las tablas consultas y diagnostico. 3) Realice una consulta utilizando la siguiente sintaxis: SELECT nombres, apellidos FROM Pacientes 4) Realice una consulta utilizando la siguiente sintaxis: SELECT apellidos FROM Pacientes WHERE nombres='Wilfredo' ¿Cuál es la diferencia entre la consultas realizadas en los puntos 1, 3 y 4?_________________________________________________________ Parte V: Consultas Avanzadas a la base de datos. 1) Utilice la siguiente sintaxis y explique lo sucedido: SELECT COUNT(idconsulta) AS 'Total de Consultas' FROM consultas 2) Utilice la siguiente sintaxis: SELECT COUNT(idpaciente) AS 'Total de Pacientes' FROM Pacientes Explique las funciones que realizan las cláusulas “COUNT” y “AS” 3) Utilice la siguiente sintaxis y explique lo sucedido: SELECT * FROM Pacientes WHERE ciudad IN ('Santa Tecla','Sonsonate') Ejercicios. Actualice el contenido de los campos “direccion” y “ciudad” de la tabla de “Pacientes” haciendo uso de una única instrucción, mostrar el contenido de la tabla antes y despues de la actualización. Haga una consulta a la tabla de pacientes ordenando el resultado conforme a los apellidos, presente el resultado. Investigación complementaria. Investigue la función que realizan las sentencias modificadoras que se presentan durante la introducción teórica para realizar consultas. Investigue como hacer consultas de una tabla entre dos fechas, utilice la tabla de “consultas” para verifificar el resultado. 9 Guía 5 Bibliografía. Rahul Batra, A Primer on SQL, third Edition. Adrienne Watt, Nelson Eng. Database Design, second Edition. Peter Rob, Carlos Coronel, SISTEMAS DE BASE DE DATOS, THOMSON, México, 2006. Thomas Connolly, Carolyn Begg, SISTEMAS DE BASE DE DATOS, PERSON, España, 2007. Ross Mistry and Stacia Misner, Introducing Microsoft SQL Server 2012, Microsoft Press. Disponible digitalmente en Recursos electrónicos de la biblioteca en Google Académico. 10 Guía ANEXO A: CREACIÓN DE BASE DE DATOS CENTRO MEDICO. CREATE DATABASE Centro_Medico GO USE Centro_Medico GO CREATE TABLE Pacientes( idpaciente INT IDENTITY(1,1), nombres varchar(30)null, apellidos varchar(30)null, direccion varchar(30)null, ciudad varchar(20)null, telefono varchar(9)null, correo_electronico varchar(40)null, CONSTRAINT idPaciente PRIMARY KEY(idpaciente) ) GO CREATE TABLE consultas( idconsulta INT IDENTITY(1,1), idpaciente int, fecha date, CONSTRAINT idConsulta PRIMARY KEY(idconsulta), CONSTRAINT rela_idpaciente FOREIGN KEY(idpaciente) REFERENCES Pacientes(idpaciente) ) GO CREATE TABLE diagnostico( iddiagnostico INT IDENTITY(1,1), idconsulta int, medico varchar(30), diagnostico varchar(200), CONSTRAINT iddiagnostico PRIMARY KEY(iddiagnostico), CONSTRAINT rela_idconsulta FOREIGN KEY(idconsulta) REFERENCES consultas(idconsulta) ) GO 5 11