Download Control de Registros y Consultas en una Base de Datos.

Document related concepts

SQL wikipedia , lookup

Lenguaje de manipulación de datos wikipedia , lookup

PL/SQL wikipedia , lookup

Cursor (base de datos) wikipedia , lookup

Clave foránea wikipedia , lookup

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','[email protected]')
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.
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
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