Sunteți pe pagina 1din 51

FAVA - Formación en Ambientes Virtuales de Aprendizaje

SENA - Servicio Nacional de Aprendizaje.


Introducción a la base de datos SQL Server

Estructura de contenidos
Pág.

Introducción........................................................................................................................3
Mapa de contenido.............................................................................................................4
1. Proceso de instalación del motor de bases de datos.....................................................5
2. Introducción al SQL Server Management Studio........................................................ 16
2.1 Creación de una base de datos en SQL Server........................................................ 19
2.2 Creación de un usuario en SQL Server..................................................................... 22
2.3 Instrucciones básicas en SQL Server....................................................................... 27
2.4 Tipos de datos en SQL Server.................................................................................. 28
3. Creación de tablas en SQL Server.............................................................................. 29
3.1 Modelo entidad relación............................................................................................ 35
4. Manipulación de datos en SQL Server........................................................................ 39
4.1 Insertar registros....................................................................................................... 39
4.2 Seleccionar o consultar registros.............................................................................. 41
4.3 Actualizar registros.................................................................................................... 45
4.4 Eliminar registros....................................................................................................... 47
Glosario........................................................................................................................... 49
Bibliografía...................................................................................................................... 50
Control de documento..................................................................................................... 51

FAVA - Formación en Ambientes Virtuales de Aprendizaje.

SENA - Servicio Nacional de Aprendizaje. 2


Introducción a la base de datos SQL Server

Introducción

Uno de los principales SGBD (sistema de gestión de bases de datos) en el mercado de las
tecnologías de la información es el Microsoft SQL Server. Este motor de bases de datos
proporciona varias características a nivel administración, minería de datos, replicación,
seguridad, scripts de programación, análisis de datos, reportes y muchos otros, lo que ha
hecho que este motor sea de los preferidos en los ambientes empresariales.

En este objeto de aprendizaje se hará una introducción al mundo del SQL Server, sus
versiones empresariales y gratuitas, así como, la creación de objetos utilizando el ambiente
gráfico llamado SSMS (Sql Server Management Studio) o a través del lenguaje SQL
(Structured Query Language - Lenguaje estructurado de consultas) que es un lenguaje
de alto nivel para sistemas de bases de datos relacionales. De esta manera, el analista
o desarrollador de sistemas de información conocerá los fundamentos para el manejo de
las diferentes operaciones sobre bases de datos en SQL Server.

FAVA - Formación en Ambientes Virtuales de Aprendizaje.

SENA - Servicio Nacional de Aprendizaje. 3


Introducción a la base de datos SQL Server

Mapa de contenido

FAVA - Formación en Ambientes Virtuales de Aprendizaje.

SENA - Servicio Nacional de Aprendizaje. 4


Introducción a la base de datos SQL Server

Desarrollo de contenidos

1. Proceso de instalación del motor de bases de datos

Nota acerca de las versiones:


La versión más reciente a la fecha de este objeto de aprendizaje es SQL Server 2016,
la cual puede ser instalada en versiones de servidor como Windows Server 2012 en
adelante y en versión de sistema operativo cliente como Windows 10 Professional en
adelante.

La versión que se utilizará en este objeto de aprendizaje es SQL Server 2014 Express
Edition with Advanced Services en español, la cual es compatible con versiones de
sistema operativo cliente como Windows 7 Professional. La versión Advanced Services
contiene el administrador gráfico y otras características más avanzadas que la versión
express básica.

En el siguiente cuadro se especifican las versiones y los links de descarga de las mismas.

SQL 2014 Express Edition

Cliente: Windows 7 Service Pack 1;


Windows 8-8.1;
Sistema operativo compatible
Servidor: Windows Server 2008 R2; 2012-
2012 R2.
Intel: procesador compatible con una
Procesador velocidad mínima de 1 GHz o un procesador
más rápido.
Mínimo de 512 MB para SQL Server
Express con Advanced Services y 4 GB
Memoria para Reporting Services que se instala
con SQL Server Express con Advanced
Services.
Espacio en disco 4,2 GB de espacio en disco.
Microsoft SQL Server Express admite 1
Limitaciones procesador físico, 1 GB de memoria y 10
GB de almacenamiento.
h t t p s : / / w w w. m i c r o s o f t . c o m / e s - e s /
Link de descarga download/details.aspx?id=42299 y en
detalles seleccionar ExpressAdv 64BIT

FAVA - Formación en Ambientes Virtuales de Aprendizaje.

SENA - Servicio Nacional de Aprendizaje. 5


Introducción a la base de datos SQL Server

SQL 2016 Express Edition


Cliente: Windows 10 ; Windows 8-8.1;
Sistema operativo compatible Servidor: Windows Server 2012-2012 R2;
Windows Server 2016.
Procesador compatible con Intel con una
Procesador velocidad mínima de 1 GHz o un procesador
más rápido.
Mínimo de 512 MB para SQL Server
Express con Advanced Services y 4 GB
Memoria para Reporting Services que se instala
con SQL Server Express con Advanced
Services.
Espacio en disco 4,2 GB de espacio en disco.
Microsoft SQL Server Express admite 1
Limitaciones procesador físico, 1 GB de memoria y 10
GB de almacenamiento.
h t t p s : / / w w w. m i c r o s o f t . c o m / e s - e s /
Link de descarga
download/details.aspx?id=54284

En cualquiera de las versiones anteriores, se necesita como prerrequisito la instalación


del Microsoft Framework 4.0, el cuál puede ser descargado de la dirección: https://www.
microsoft.com/es-es/download/details.aspx?id=17718

Para la definición y manipulación del modelo de base de datos, se empleará en este


objeto de aprendizaje la versión SQL Server 2014 Express Edition.

Una vez descargado el instalado se procede a realizar la instalación. Es recomendable


que el usuario actual del sistema operativo tenga derechos de administrador local para
realizar la instalación.

Figura 1. Instalación - Nueva instalación independiente de SQL Server.

FAVA - Formación en Ambientes Virtuales de Aprendizaje.

SENA - Servicio Nacional de Aprendizaje. 6


Introducción a la base de datos SQL Server

Esta ventana es el centro de instalación y muestra las diferentes opciones en el menú


de la izquierda. Para este caso, se selecciona “Nueva instalación independiente de SQL
Server o agregar características a una instalación existente”.

Luego el instalador muestra los Términos de licencia del software de Microsoft, los cuales
se deben leer y aceptar. Dar luego clic en el botón Siguiente.

Figura 2. Instalación - Términos de licencia.

FAVA - Formación en Ambientes Virtuales de Aprendizaje.

SENA - Servicio Nacional de Aprendizaje. 7


Introducción a la base de datos SQL Server

En la siguiente ventana se procede a seleccionar las características de instalación como


las carpetas donde van a quedar los diferentes archivos. Es importante tener en cuenta
que se puede obtener una descripción de cada característica seleccionada, sus requisitos
y el tamaño requerido en el panel derecho de esta ventana.

Figura 3. Instalación - Selección de características.

FAVA - Formación en Ambientes Virtuales de Aprendizaje.

SENA - Servicio Nacional de Aprendizaje. 8


Introducción a la base de datos SQL Server

Luego se procede a definir el nombre de la instancia en el motor de SQL Server. Una


instancia permite ejecutar varias copias del servidor de base de datos al mismo tiempo, con
sus bases de datos, usuarios y demás objetos independientes unos de los otros. A cada
una de estas copias se le llama “Instancia”. Es recomendable por temas de seguridad,
cambiar el nombre de la instancia que trae por defecto el motor de SQL Server.

Figura 4. Instalación - Configuración de instancia.

FAVA - Formación en Ambientes Virtuales de Aprendizaje.

SENA - Servicio Nacional de Aprendizaje. 9


Introducción a la base de datos SQL Server

Luego se procede a configurar los servicios y las cuentas asociadas a estos servicios
para su ejecución.

Figura 5. Instalación - Configuración del servidor.

FAVA - Formación en Ambientes Virtuales de Aprendizaje.

SENA - Servicio Nacional de Aprendizaje. 10


Introducción a la base de datos SQL Server

Luego se procede a definir el modo de autenticación en el motor de bases de datos. En


este punto se recomienda utilizar modo de autenticación mixto (Autenticación de SQL
Server y de Windows). El superusuario administrador de SQL Server es “sa” y se debe
definir una clave de acceso para este usuario como se ilustra en la ventana siguiente:
(para este recurso didáctico la contraseña del usuario sa es Sen@).

Figura 6. Instalación - Configuración del motor de base de datos.

FAVA - Formación en Ambientes Virtuales de Aprendizaje.

SENA - Servicio Nacional de Aprendizaje. 11


Introducción a la base de datos SQL Server

En la pestaña Directorio de datos se definen los directorios de instalación. Es recomendable


por temas de disponibilidad, que los directorios donde van a quedar alojadas las bases
de datos y sus archivos de registros de transacciones (logs) y la base de datos temporal,
estén ubicados en directorios diferentes a la unidad por defecto del sistema operativo.

Figura 7. Instalación - Directorio de datos.

FAVA - Formación en Ambientes Virtuales de Aprendizaje.

SENA - Servicio Nacional de Aprendizaje. 12


Introducción a la base de datos SQL Server

Una de las principales características de este motor es la posibilidad de tener un servidor


de reportes llamado “Reporting Services”, en la siguiente imagen se puede configurar sus
propiedades:

Figura 8. Instalación - Configuración de Reporting Services.

FAVA - Formación en Ambientes Virtuales de Aprendizaje.

SENA - Servicio Nacional de Aprendizaje. 13


Introducción a la base de datos SQL Server

Por último, el instalador empieza a copiar los archivos y a configurar las características
de instalación:

Figura 9. Instalación - Progreso de la instalación.

Al final se genera un reporte de las características instaladas:

Figura 10. Instalación - Reporte de la instalación.

FAVA - Formación en Ambientes Virtuales de Aprendizaje.

SENA - Servicio Nacional de Aprendizaje. 14


Introducción a la base de datos SQL Server

Después de haber terminado la instalación de SQL Server es importante habilitar el


protocolo TCP/IP para permitir la conectividad entrante y saliente por direcciones IP, de
esta manera se puede conectar al motor de base de datos desde otro equipo.
Para habilitar este protocolo, se debe ejecutar el SQL Server Configuration Manager,
localizado en Inicio > Todos los Programas > Microsoft SQL Server > Herramientas de
configuración y administración de configuración de SQL Server.

Figura 11. Configuration Manager.

Este puerto debe de estar habilitado en la configuración de red de SQL Server y en la


configuración de SQL Native Client, de esta manera se permite la comunicación con los
equipos cliente.

FAVA - Formación en Ambientes Virtuales de Aprendizaje.

SENA - Servicio Nacional de Aprendizaje. 15


Introducción a la base de datos SQL Server

2. Introducción al SQL Server Management Studio

SQL Server Management Studio (SSMS), es la herramienta principal para administrar el


motor de base de datos y escribir código de Transact-SQL. SSMS está disponible para su
descarga gratuita en el Centro de descarga de Microsoft. La última versión puede usarse
con versiones anteriores del motor de base de datos.

Desde el Management Studio se pueden realizar cualquier tarea de administración


y supervisión de la base de datos como: crear bases de datos, copias de seguridad,
restaurar bases de datos, crear usuarios y roles, permisos, jobs, seguridad, crear tablas,
vistas, objetos, entre otros.

Para iniciar SSMS, seleccionar la ruta en el menú Inicio > Todos los programas > Microsoft
SQL Server de 2014 y luego hacer clic en SQL Server Management Studio.

Ahora se procede a realizar la conexión al motor de base de datos. Se debe de especificar


el nombre del servidor y los datos de autenticación, como se ilustra:

Figura 12. Conectar con el servidor de base de datos.

FAVA - Formación en Ambientes Virtuales de Aprendizaje.

SENA - Servicio Nacional de Aprendizaje. 16


Introducción a la base de datos SQL Server

En el cuadro Nombre del servidor, escriba el nombre de la instancia de motor de base


de datos. Para la instancia predeterminada de SQL Server, el nombre de servidor es el
nombre del equipo. Para una instancia con nombre de SQL Server, el nombre de servidor
es el <nombre_equipo>\<nombre_instancia>. También se puede seleccionar el nombre
del servidor en la lista despegable y seleccionar el servidor respectivo.

El tipo de autenticación puede ser autenticación de Windows o autenticación de SQL


Server. En el caso de autenticación de Windows escribir un inicio de sesión con el formato
<domain>\<login>. En el caso de autenticación por SQL Server se deben de especificar
las credenciales (usuario y contraseña).

El usuario especificado en el Inicio de sesión debe de tener los permisos suficientes para
hacer la conexión al motor de bases de datos.

Si desea conectarse a esta instancia desde otro equipo, debe abrir el puerto de
comunicaciones en el firewall 1433, que es puerto por defecto de SQL Server.

El motor de bases de datos puede comunicarse con otro puerto diferente al 1433 (por
defecto), para ello consulte la siguiente dirección web: https://msdn.microsoft.com/es-es/
library/ms345343(v=sql.120).aspx

A continuación, el entorno de trabajo de SSMS SQL Server Management Studio:

Figura 13. Entorno de trabajo SQL Server Management Studio.

FAVA - Formación en Ambientes Virtuales de Aprendizaje.

SENA - Servicio Nacional de Aprendizaje. 17


Introducción a la base de datos SQL Server

SSMS SQL Server Management Studio ofrece un gran número de plantillas de script
que incluyen instrucciones Transact-SQL para muchas de las tareas habituales que se
realizan sobre una base de datos. Estas plantillas contienen parámetros para los valores
proporcionados por el usuario como, por ejemplo, un nombre de tabla. Mediante los
parámetros, puede escribir el nombre una sola vez y copiarlo automáticamente en todas
las ubicaciones necesarias del script. Igualmente, se pueden crear sus propias plantillas
personalizadas para los scripts que escriba con más frecuencia.

Para activar el Explorador de plantillas, ir al menú Ver > Explorador de plantillas.


En la imagen siguiente se muestra a la izquierda una porción de las plantillas y al lado
derecho un ejemplo de una plantilla:

Figura 14. Explorador de plantillas.

SQL Server permite realizar la ejecución de consultas o instrucciones desde varios


métodos:

• U
 tilizar el ambiente gráfico SQL Server Management Studio ejecutando sus
asistentes.
• A
 briendo una plantilla desde el Explorador de plantillas, modificar los parámetros
de la plantilla y ejecutar el script.

FAVA - Formación en Ambientes Virtuales de Aprendizaje.

SENA - Servicio Nacional de Aprendizaje. 18


Introducción a la base de datos SQL Server

• C
 rear y ejecutar sentencias Transact-SQL. Estas instrucciones se pueden crear
en el área de consultas del entorno gráfico o en un archivo de script para ser
ejecutado en la línea de comandos.
• E
 jecutar la utilidad sqlcmd a nivel de símbolo del sistema, que permite escribir
instrucciones Transact-SQL o ejecutar un archivo de script con lote de instrucciones.
Para profundizar en este utilitario, sus parámetros y ejecución, ir al sitio web:
https://msdn.microsoft.com/es-es/library/ms162773(v=sql.120).aspx

En este recurso didáctico se va a utilizar el ambiente gráfico Management Studio y las


sentencias Transact-SQL según la tarea a realizar.

IMPORTANTE: se puede ejecutar un comando desde el Management Studio de estas


maneras:

• En el área de consultas digitar el o los comandos en lenguaje Transact-SQL.


• O
 primir F5 o dar clic en el botón Ejecutar. Estas dos opciones ejecutan todo el
lote de instrucciones que estén en el área de consultas. Si se desea solo ejecutar
un conjunto diferente de instrucciones, se seleccionan y se oprime F5 o el botón
Ejecutar, de esta manera solo se ejecutarán las sentencias seleccionadas.

2.1 Creación de una base de datos en SQL Server

A continuación, los pasos para crear una base de datos en SQL Server por el entorno
gráfico (igualmente, se puede crear una base de datos ejecutando un script con comandos
Transact-SQL). Dentro del Management Studio, en el Explorador de objetos > Bases de
datos, botón derecho > Nueva base de datos. Se presenta la siguiente ventana:

Figura 15. Configuración - Nueva base de datos.

FAVA - Formación en Ambientes Virtuales de Aprendizaje.

SENA - Servicio Nacional de Aprendizaje. 19


Introducción a la base de datos SQL Server

Nombre de la base de datos: es el nombre de la nueva base de datos. Los nombres de


base de datos deben ser únicos en una instancia de SQL Server.

Archivos de la base de datos:


1. Archivos de datos: es donde están guardados los datos y tiene extensión .MDF.
2. R
 egistro de transacciones: es donde se guardan todas las consultas antes de
ejecutarlas en los archivos de datos. Sirve como histórico ya que almacena todas
las transacciones realizadas. Tiene extensión .LDF.

En la imagen anterior se visualizan valores por defecto, lo cuales pueden ser modificados
de acorde a las necesidades. Por ejemplo, la ubicación o ruta de acceso se modificó con
respecto al valor por defecto.

Al dar clic en Aceptar, el motor de bases de datos crea la base de datos CITAS.

Figura 16. Explorador de objetos -Lista de bases de datos.

Con el comando sp_helpdb se puede obtener información de las bases de datos creadas
en la presente instancia. Para ejecutar el comando:

En el área de consultas digitar sp_helpdb, seleccionar esta instrucción y oprimir F5 o dar


clic en el botón Ejecutar. El resultado es el siguiente:

FAVA - Formación en Ambientes Virtuales de Aprendizaje.

SENA - Servicio Nacional de Aprendizaje. 20


Introducción a la base de datos SQL Server

Figura 17. Explorador de objetos - Área de consultas.

La sintaxis en Transact-SQL para la creación de una base de datos en SQL Server es:

USE [master]
GO

CREATE DATABASE [CITAS]


CONTAINMENT = NONE
ON PRIMARY
( NAME = N’CITAS’, FILENAME = N’C:\Bases_Datos\Data\CITAS.mdf’ , SIZE =
8192KB , MAXSIZE = UNLIMITED, FILEGROWTH = 65536KB )
LOG ON
( NAME = N’CITAS_log’, FILENAME = N’C:\Bases_Datos\Data\CITAS_log.ldf’ ,
SIZE = 8192KB , MAXSIZE = 2048GB , FILEGROWTH = 65536KB )
GO

ALTER DATABASE [CITAS] SET RECOVERY FULL


GO

ALTER DATABASE [CITAS] SET MULTI_USER


GO

ALTER DATABASE [CITAS] SET READ_WRITE


GO

Figura 18. Script de creación de base de datos.

FAVA - Formación en Ambientes Virtuales de Aprendizaje.

SENA - Servicio Nacional de Aprendizaje. 21


Introducción a la base de datos SQL Server

2.2 Creación de un usuario en SQL Server

En el Explorador de objetos, expanda la instancia del servidor, expanda Seguridad, haga


clic con el botón derecho en Inicio de sesión y después, haga clic en Nuevo inicio de
sesión.

Aparece el cuadro de diálogo Inicio de sesión - Nuevo. Se pueden crear dos tipos de
autenticación, por Windows o por SQL Server.

Autenticación de Windows Inicio de sesión de Windows con el


formato: <dominio>\<login>
Autenticación por SQL Server Especificar credenciales (usuario y
contraseña)

Figura 19. Creación de usuario - Opciones generales.

FAVA - Formación en Ambientes Virtuales de Aprendizaje.

SENA - Servicio Nacional de Aprendizaje. 22


Introducción a la base de datos SQL Server

Tener en cuenta que por defecto SQL Server por temas de seguridad tiene activado:
• E
xigir directivas de contraseña (contraseña debe de contener caracteres
alfanuméricos, mayúsculas y números).
• Exigir expiración de contraseña (hasta que fecha es válida la contraseña).
• E
 l usuario debe cambiar la contraseña en el siguiente inicio de sesión (se obliga
a que el usuario cambie su contraseña en su próximo logueo).
• P
 ara este ejercicio didáctico no se van a utilizar ninguna de las directivas anteriores,
desactivando estas opciones.

El usuario a crear es con autenticación en SQL Server con las credenciales (usuario:
USR_CITAS y contraseña usr_citas).

En el cuadro base de datos predeterminada, seleccionar la base de datos a la cual se le


va a dar acceso al nuevo usuario, en este caso la base de datos CITAS.

En Roles del servidor se puede especificar el rol o roles que el usuario puede tener, por
ejemplo, roles de seguridad, público, cambiar opciones del servidor, entre otros. Para
mayor información de roles consulte: https://docs.microsoft.com/es-es/sql/relational-
databases/security/authentication-access/create-a-login

Figura 20. Creación de usuario - Roles del servidor.

FAVA - Formación en Ambientes Virtuales de Aprendizaje.

SENA - Servicio Nacional de Aprendizaje. 23


Introducción a la base de datos SQL Server

En la ventana de Asignación de Usuarios se selecciona la base o bases de datos a las


que va a tener acceso el nuevo usuario. Para cada base de datos seleccionada se puede
definir su rol asociado.

Figura 21. Creación de usuario - Asignación de usuarios.

FAVA - Formación en Ambientes Virtuales de Aprendizaje.

SENA - Servicio Nacional de Aprendizaje. 24


Introducción a la base de datos SQL Server

La opción Elementos protegibles permite otorgar permisos a elementos ya existentes


en la base de datos seleccionada. Por ejemplo, otorgar permisos sobre procedimientos
almacenados, funciones, triggers, entre otros objetos.

La opción Estado permite ver el estado de la configuración y conceder permiso de


conexión o inicio de sesión. Igualmente, generar el script con las sentencias en Transact
SQL según las opciones generadas.

Figura 22. Creación de usuario - Estado de la configuración.

FAVA - Formación en Ambientes Virtuales de Aprendizaje.

SENA - Servicio Nacional de Aprendizaje. 25


Introducción a la base de datos SQL Server

Antes de oprimir en Aceptar, se puede verificar el script con los comandos de creación
del usuario y sus propiedades.

Figura 23. Creación de usuario - Script de creación de usuario.

Dar clic en Aceptar para crear el nuevo usuario. Por defecto, el nuevo usuario queda
“matriculado” en el esquema dbo. El nuevo usuario se refleja en dos partes:
- En los inicios de sesión del servidor
- Dentro de la base de datos – Seguridad – Usuarios.

Figura 24. Creación de usuario - Verificación de creación de usuario.

Para eliminar un usuario, además de tener los permisos suficientes, se debe de eliminar
de los inicios de sesión del servidor y de la(s) base(s) de datos respectiva(s).

FAVA - Formación en Ambientes Virtuales de Aprendizaje.

SENA - Servicio Nacional de Aprendizaje. 26


Introducción a la base de datos SQL Server

2.3 Instrucciones básicas en SQL Server

Lenguaje de control de datos (DCL): son instrucciones que manejan permisos sobre
objetos de la base de datos.

Dar permisos a un usuario para efectuar determinadas


GRANT
instrucciones.
DENY Eliminar el permiso que se ha concedido con el GRANT.
REVOKE Eliminar todos los permisos.

Lenguaje de definición de datos (DDL): son instrucciones que permiten la creación y


eliminación de tipos de datos y objetos.

CREATE Crear objeto.


ALTER Modificar el objeto creado.
DROP Eliminar el objeto.

Lenguaje de manipulación de datos (DML): instrucciones para manipulación de datos


y utilizados en el desarrollo de la programación de la base de datos.

Permite seleccionar o extraer datos de una o varias tablas


SELECT
de una base de datos.
UPDATE Instrucción que modifica o actualiza datos de una tabla.
INSERT Permite insertar un nuevo registro a la base de datos.
DELETE Instrucción que elimina uno o varios registros de una tabla.

Instrucciones por procesos por lotes.

Permite enviar lotes de instrucciones Transact SQL al


GO
motor para su ejecución.
Instrucción que ejecuta procedimientos almacenados y
EXEC o EXECUTE
funciones.

Comentarios en SQL Server.

-- Comentario en una línea de código.


/* comentario */ Comentario en una o varias líneas de código.

FAVA - Formación en Ambientes Virtuales de Aprendizaje.

SENA - Servicio Nacional de Aprendizaje. 27


Introducción a la base de datos SQL Server

2.4 Tipos de datos en SQL Server

En SQL Server, cada columna de una tabla, las variables locales, expresiones y parámetros
tiene un tipo de datos relacionado. Un tipo de datos es un atributo que especifica el tipo
de datos que el objeto puede contener: datos numéricos, datos de caracteres, datos de
moneda, datos de fecha y hora, cadenas binarias, lógicos, entre otros.

Los tipos de datos en SQL Server están organizados en las siguientes categorías:
• Numéricos exactos.
• Cadenas de caracteres Unicode.
• Numéricos aproximados.
• Cadenas binarias.
• Fecha y hora.
• Otros tipos de datos.
• Cadenas de caracteres.

Los siguientes son los tipos de datos más comunes en SQL Server:

TIPOS DE DATOS
Cadena de datos de longitud fija, donde n especifica
Char(n)
la cantidad de caracteres.
Cadena de datos de longitud variable, donde n
VarChar(n)
especifica la cantidad de caracteres.
Carácter Cadena de datos de longitud variable que superan
VarChar(max)
los 8000 bytes con un máx. 2GB.
Tipos de datos de longitud variable para almacenar
Text valores de gran tamaño con datos de caracteres y
binarios.
Bit Acepta solo valores 1 o 0.
Tinyint Enteros desde 0 hasta 255.
Smallint Enteros desde -32768 hasta 32767.
Numérico Int Enteros desde -2147483648 hasta 2147483647.
Decimal o Tipos de datos numéricos que tienen precisión y
Numeric (p,s) escala fijas. Manejo de decimales.
Money Tipo de datos que representan valores monetarios.

FAVA - Formación en Ambientes Virtuales de Aprendizaje.

SENA - Servicio Nacional de Aprendizaje. 28


Introducción a la base de datos SQL Server

Define una fecha que se combina con una hora del


Datetime
día y con segundos basada en un reloj de 24 horas.
Define una fecha en SQL Server con valor
Fechas Date
predeterminado AAAA-MM-DD.
Define una hora de un día. La hora no distingue la
Time
zona horaria y está basada en un reloj de 24 horas.

Por ejemplo, si se necesita manejar cadenas de texto o caracteres que tienen un tamaño
fijo como un documento de identificación, lo más conveniente es utilizar el tipo de datos
Char, si la cadena de texto es variable por ejemplo el nombre o apellidos lo mejor es
utilizar el tipo de datos Varchar.
Para las fechas, si no es necesario tener información de horas y minutos, lo más
conveniente es utilizar tipo de datos Date.
Si se necesita guardar la edad de una persona, la opción más adecuada es el tipo de
datos Tinyint.
Si se necesita calcular un promedio aritmético que tenga decimales, lo más conveniente
es utilizar un campo decimal.

3. Creación de tablas en SQL Server

Las tablas son el primer objeto de una base de datos y están organizadas en filas y
columnas, una fila equivale a un registro y las columnas definen los campos del registro,
los campos se definen sobre un tipo de datos.

En este recurso se utiliza la base de datos “CITAS” compuesta por cinco tablas: Pacientes,
Médicos, Consultorios, Citas y Tratamientos, como se presenta en el diagrama.

En el Management Studio, ubicar la base de datos CITAS > Tablas > Botón derecho Nueva
Tabla. Aparece en el área de consultas el diseño de la tabla. En la columna Nombre de
columna se especifica el nombre del campo, en la columna Tipo de datos se coloca el tipo
de datos respectivo y en la tercera columna Permitir valores NULL permite seleccionar si
el campo puede recibir o no valores nulos.

Una vez se ingresan los campos de la tabla, se procede a seleccionar el campo o


campos que componen la llave principal o Primary Key (por ejemplo, el campo cédula de
ciudadanía es campo principal porque es único), esta llave principal debe ser única y tiene
la propiedad Cluster lo cual mejora el desempeño al recuperar los datos en las consultas.
Para crear o establecer la clave principal, se seleccionan los campos que la componen,
botón derecho Establecer clave principal, como se ilustra en la siguiente imagen:

FAVA - Formación en Ambientes Virtuales de Aprendizaje.

SENA - Servicio Nacional de Aprendizaje. 29


Introducción a la base de datos SQL Server

Figura 25. Creación de tablas - Establecer clave principal.

Los campos que componen la llave principal se identifican por una llave al lado izquierdo
del campo. Por último, se le asigna el nombre a la tabla, como se ilustra:

Figura 26. Creación de tablas - Guardar tabla.

FAVA - Formación en Ambientes Virtuales de Aprendizaje.

SENA - Servicio Nacional de Aprendizaje. 30


Introducción a la base de datos SQL Server

Al dar clic en Aceptar, se adiciona la tabla a la base de datos actual.


Para ver las instrucciones en lenguaje Transact-SQL se selecciona la tabla > Botón
derecho > Generar Script de tabla como:

Figura 27. Creación de tablas - Generar script de tabla.

En la siguiente imagen se muestra el código Transact-SQL de creación de una tabla.

Figura 28. Creación de tablas - Script de creación de tabla.

FAVA - Formación en Ambientes Virtuales de Aprendizaje.

SENA - Servicio Nacional de Aprendizaje. 31


Introducción a la base de datos SQL Server

USE [CITAS]
GO

SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE TABLE [dbo].[Pacientes](


[PacIdentificacion] [char](10) NOT NULL,
[PacNombres] [varchar](50) NOT NULL,
[PacApellidos] [varchar](50) NOT NULL,
[PacFechaNacimiento] [date] NOT NULL,
[PacSexo] [char](1) NOT NULL,
CONSTRAINT [PK_Pacientes] PRIMARY KEY CLUSTERED
(
[PacIdentificacion] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_
DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
ON [PRIMARY]
) ON [PRIMARY]

GO

Figura 29. Creación de tablas - Script de creación de tabla.

Siguiendo la misma estructura se procede a crear las siguientes tablas:

Médicos.

Figura 30. Creación de tablas - Diseño tabla Médicos.

FAVA - Formación en Ambientes Virtuales de Aprendizaje.

SENA - Servicio Nacional de Aprendizaje. 32


Introducción a la base de datos SQL Server

Consultorios.

Figura 31. Creación de tablas - Diseño tabla Consultorios.

Tratamientos
Esta tabla tiene un campo Auto-Incremental, el cual se puede configurar dentro de las
propiedades del campo.

Figura 32. Creación de tablas - Diseño tabla Tratamientos.

FAVA - Formación en Ambientes Virtuales de Aprendizaje.

SENA - Servicio Nacional de Aprendizaje. 33


Introducción a la base de datos SQL Server

Citas
Al igual que la tabla Tratamientos, esta tabla contiene un campo incremental.

Figura 33. Creación de tablas - Diseño tabla Citas.

Después de haber creado las tablas, estas se pueden visualizar como componentes de
la base de datos:

Figura 34. Explorador de objetos-Lista de tablas de la base de datos CITAS.

FAVA - Formación en Ambientes Virtuales de Aprendizaje.

SENA - Servicio Nacional de Aprendizaje. 34


Introducción a la base de datos SQL Server

Una vez creada una tabla, se puede modificar su estructura por medio del Management
Studio (seleccionando la tabla-botón derecho-Diseño) o por medio de sentencia Transact-
SQL:

Alter table, permite adicionar, modificar o eliminar columnas de una tabla. Por
ejemplo, si se necesita adicionar dos columnas a una tabla, la sintaxis es:

ALTER TABLE nombre-tabla ADD column_b VARCHAR(20) NOT NULL,


column_c INT NULL

Para eliminar una tabla, se puede por medio del Management Studio (seleccionando la
tabla-botón derecho-Eliminar) o por medio de sentencia Transact-SQL:

DROP TABLE nombre-tabla

3.1 Modelo entidad relación

El siguiente paso es crear el diagrama de la base de datos, donde se puede especificar


las relaciones entre las tablas en el Modelo Entidad Relación (MER).

Seleccionar la base de datos > Diagrama de base de datos > Botón derecho Nuevo
diagrama de base de datos. El sistema muestra las tablas actuales y se oprime el botón
Agregar para adicionarlas al diagrama:

Figura 35. Explorador de objetos - Diagrama de base de datos.

FAVA - Formación en Ambientes Virtuales de Aprendizaje.

SENA - Servicio Nacional de Aprendizaje. 35


Introducción a la base de datos SQL Server

En este punto se van a definir las llaves foráneas, es decir, las relaciones existentes entre
las tablas. La primera relación a definir es entre las tablas Tratamientos y Pacientes. Esta
relación es uno a muchos, porque un paciente puede tener varios tratamientos. La manera
gráfica de realizar esta relación es seleccionar el campo PacIdentificación de la tabla
Pacientes y arrastrar el mouse hasta el campo TraPacientes de la tabla Tratamientos, el
sistema despliega la siguiente ventana:

Figura 36. Diagrama de base de datos - Relación entre tablas.

Al dar clic en Aceptar, el sistema muestra un resumen de las características de esta


relación:

Figura 37. Diagrama de base de datos - Relación de clave externa.

FAVA - Formación en Ambientes Virtuales de Aprendizaje.

SENA - Servicio Nacional de Aprendizaje. 36


Introducción a la base de datos SQL Server

Al dar clic en Aceptar, el sistema muestra la relación de manera gráfica:

Figura 38. Diagrama de base de datos - Relación entre tablas Tratamientos y Pacientes.

El script de generación de relaciones es el siguiente:

BEGIN TRANSACTION
GO
ALTER TABLE dbo.Pacientes SET (LOCK_ESCALATION = TABLE)
GO
COMMIT
BEGIN TRANSACTION
GO
ALTER TABLE dbo.Tratamientos ADD CONSTRAINT
FK_Tratamientos_Pacientes FOREIGN KEY
(
TraPaciente
) REFERENCES dbo.Pacientes
(
PacIdentificacion
) ON UPDATE NO ACTION
ON DELETE NO ACTION

GO
ALTER TABLE dbo.Tratamientos SET (LOCK_ESCALATION = TABLE)
GO
COMMIT

Figura 39. Creación de tablas - Script de creación de tabla.

FAVA - Formación en Ambientes Virtuales de Aprendizaje.

SENA - Servicio Nacional de Aprendizaje. 37


Introducción a la base de datos SQL Server

Al guardar el diagrama, el sistema crea y ejecuta las instrucciones que modifican las
tablas afectadas.

De manera similar se crean las otras relaciones:


• Un médico atiende muchas citas.
• Un paciente tiene muchas citas.
• Un consultorio tiene muchas citas.

Quedando el Modelo Entidad Relación de la siguiente manera:

Figura 40. Diagrama de base de datos - Diagrama Entidad Relación.

FAVA - Formación en Ambientes Virtuales de Aprendizaje.

SENA - Servicio Nacional de Aprendizaje. 38


Introducción a la base de datos SQL Server

4. Manipulación de datos en SQL Server

4.1 Insertar registros

SSMS SQL Server Management Studio permite insertar registros desde su ambiente
gráfico, para esto se selecciona la tabla, botón derecho Editar las primeras 200 filas.

Figura 41. Explorador de objetos-Edición de registros.

Por ejemplo, para la edición de la tabla Pacientes, el sistema muestra una grilla con la
información de los registros actuales y permite el ingreso de nuevos datos:

Figura 42. Área de consultas - Edición de registros.

FAVA - Formación en Ambientes Virtuales de Aprendizaje.

SENA - Servicio Nacional de Aprendizaje. 39


Introducción a la base de datos SQL Server

Igualmente, por medio del lenguaje Transact-SQL se permite el ingreso de datos con la
instrucción INSERT:

USE base_datos
GO
INSERT INTO nombre_tabla (campo1, campo2,…campo n)
VALUES (valor1, valor2,…,valor n)
GO

Para insertar varios registros se puede utilizar la siguiente instrucción:

INSERT INTO nombre_tabla (campo1,campo2,campo3,...) VALUES


(valor1,valor2,valor3,...), (valor1,valor2,valor3,...), (valor1,valor2,valor3,...),
(valor1,valor2,valor3,...), ..

Hay una instrucción que permite seleccionar registros de una consulta e insertarlos en
una tabla (combinación de Select e Insert).

INSERT INTO nombre_tabla (campo1,campo2,campo3,...)


SELECT columna1, columna2, columna3
FROM tabla2
WHERE columna = valor

Un ejemplo de esta última instrucción:

INSERT INTO contacts


(contact_id, last_name, first_name)
SELECT employee_id, last_name, first_name
FROM employees
WHERE employee_id <= 100;

Aspectos a tener en cuenta:

Los valores de los campos deben de corresponder según su tipo de datos:

a. Los campos tipo texto, char o varchar deben estar entre comillas simples.
Por ejemplo: ‘Sanchez Plata’, ‘Avenida 5N # 19-24’.
b. Los campos tipo entero debe ir sin ningún cambio y sin comillas.

FAVA - Formación en Ambientes Virtuales de Aprendizaje.

SENA - Servicio Nacional de Aprendizaje. 40


Introducción a la base de datos SQL Server

c. Los campos tipo decimal o numéricos: la parte entera debe estar separada
de la parte decimal por un punto “.” Debido a que la coma es usada como
separador de campos.
d. Los campos tipo fecha: pueden tomar varios tipos de formatos. El formato
predefinido es ‘AAAA-MM-DD’ donde AAAA es el año, MM el mes y DD el
día. El valor debe además ir encerrado entre comillas. Por ejemplo, el 12 de
agosto de 2017 quedaría expresado como ‘2017-08-12’.
e. Cuando la tabla tenga campos clave o llave principal, hay que tener cuidado
de no insertar valores repetidos sobre este campo(s), debido a que se
genera error de llave duplicada.
f. Cuando la tabla tenga valores auto-incrementales, no es necesario
especificar su valor porque automáticamente el motor asigna su valor.

4.2 Seleccionar o consultar registros

SSMS SQL Server Management Studio permite seleccionar registros desde su ambiente
gráfico, para esto se selecciona la tabla, botón derecho Seleccionar las primeras 1000
filas.

Figura 43. Explorador de objetos - Selección de registros.

FAVA - Formación en Ambientes Virtuales de Aprendizaje.

SENA - Servicio Nacional de Aprendizaje. 41


Introducción a la base de datos SQL Server

El sistema despliega el resultado:

Figura 44. Área de consultas-Selección de registros.

En el Management Studio existe una herramienta que permite el diseño de consultas en


ambiente gráfico, se activa desde el menú Consulta > Diseñar consulta en el editor.

Figura 45. Consulta - Diseñar consultas en el editor.

FAVA - Formación en Ambientes Virtuales de Aprendizaje.

SENA - Servicio Nacional de Aprendizaje. 42


Introducción a la base de datos SQL Server

Se adicionan las tablas que van a ser consultadas, los campos a devolver, los filtros y los
campos de ordenamiento. Por ejemplo, se quiere consultar los pacientes que están en
tratamiento de “Blanqueamiento Dental” ordenados por apellidos.

Esta consulta es una consulta multitabla debido a que requiere las tablas Pacientes y
Tratamientos, en donde existe relación entre los campos Pacientes.PacIdentificacion y
Tratamientos.TraPaciente, filtrar por el campo TraDescripcion y ordenar el resultado por
el campo PacApellidos. Así se visualiza esta consulta en el diseñador:

Figura 46. Diseñador de consultas.

FAVA - Formación en Ambientes Virtuales de Aprendizaje.

SENA - Servicio Nacional de Aprendizaje. 43


Introducción a la base de datos SQL Server

Y se obtiene como resultado:

Figura 47. Diseñador de consultas – Ejecución.

Igualmente, por medio del lenguaje Transact-SQL se permite la selección de datos con
la instrucción SELECT. Existen básicamente dos tipos de consultas, las simples que se
realizan sobre una tabla en particular y las compuestas que utilizan joins o uniones entre
campos de diferentes tablas.

La sintaxis general de la cláusula SELECT es la siguiente:

SELECT [Top(n)] [lista de campos], *


FROM tablas
WHERE filtros
GROUP BY campos_agrupados
HAVING condiciones_agrupamiento
ORDER BY campos ASC | DESC

Por ejemplo, para seleccionar datos en una consulta simple de la tabla Pacientes se
puede hacer especificando los campos a visualizar o usar el comodín * para extraer todos
los campos.

Se quiere extraer las pacientes de sexo femenino ordenadas desde las más jóvenes:

SELECT PacIdentificacion, PacNombres, PacApellidos, PacFechaNacimiento, PacSexo


FROM Pacientes
WHERE PacSexo=’F’
ORDER BY PacFechaNacimiento DESC

FAVA - Formación en Ambientes Virtuales de Aprendizaje.

SENA - Servicio Nacional de Aprendizaje. 44


Introducción a la base de datos SQL Server

Dando como resultado:

Figura 48. Consulta de selección – Resultados.

Importante: cuando una tabla tiene muchos campos, la opción select * no es recomendable
porque hace que la consulta demore más en su ejecución debido a que extrae todos los
campos de la tabla. En este caso, es mejor especificar los campos a devolver en la
consulta.

Se puede limitar el número de registros a devolver, usando la opción TOP(n) donde n


representa la cantidad de registros a devolver, por ejemplo:

Figura 49. Consulta de selección - Resultados con parámetro Top.

4.3 Actualizar registros.

Al igual que en la opción de inserción, el Management Studio permite a través de la


opción “Editar las primeras 200 filas” mostrar los registros actuales de la tabla y su edición
o modificación de sus datos.

Por ejemplo, para la edición de la Tabla Pacientes, el sistema muestra una grilla con la
información de los registros actuales y permite el ingreso de nuevos datos o la edición de
los datos ya existentes:

FAVA - Formación en Ambientes Virtuales de Aprendizaje.

SENA - Servicio Nacional de Aprendizaje. 45


Introducción a la base de datos SQL Server

Figura 50. Área de consultas - Edición de registros.

Igualmente, por medio del lenguaje Transact-SQL se permite la actualización de registros


con la instrucción UPDATE:

UPDATE table
SET columna1 = valor1,
columna2 = valor2,
...
[WHERE filtros]

Donde columna1, columna2 son los campos que se van a actualizar.


Valor1, valor2 traen los nuevos valores que van a ser asignados a los campos de la tabla
WHERE filtros es opcional. Los filtros seleccionan los registros a los que se les debe
aplicar la actualización. Si no se especifica el filtro, entonces la actualización se aplica a
todos los registros de la tabla.

Por ejemplo, se requiere actualizar el estado de la cita a “Cancelada” para un paciente


en particular.

Primero se consulta los datos actuales de la tabla Citas:

Figura 51. Área de consultas - Consulta tabla Citas.

FAVA - Formación en Ambientes Virtuales de Aprendizaje.

SENA - Servicio Nacional de Aprendizaje. 46


Introducción a la base de datos SQL Server

Con la siguiente instrucción se actualiza el estado de la cita a Cancelada:

UPDATE tableCitas
SET columna1
CitEstado
= valor1,
= ‘Cancelada’
WHERE
columna2(CitPaciente
= valor2, = ‘77191950’)

Al ejecutar la consulta y seleccionar de nuevo los registros se verifica el cambio de


estado de la cita:

Figura 52. Área de consultas - Resultado ejecución Update.

4.4 Eliminar registros

Al igual que en la opción de inserción, el Management Studio permite a través de la opción


“Editar las primeras 200 filas” mostrar los registros actuales de la tabla, la modificación de
sus datos o la eliminación de registros.

Por ejemplo, para la eliminación de registro(s) de la tabla Pacientes, seleccionar él o los


registros a eliminar y oprimir la tecla “Supr”. El sistema mostrará ventana que solicita
confirmación de la eliminación de los registros:

Figura 53. Ventana de confirmación de eliminación de registros.

FAVA - Formación en Ambientes Virtuales de Aprendizaje.

SENA - Servicio Nacional de Aprendizaje. 47


Introducción a la base de datos SQL Server

Igualmente, por medio del lenguaje Transact-SQL se permite la eliminación de registros


con la instrucción DELETE:

DELETE FROM Tabla


WHERE filtros

Por ejemplo, para eliminar un paciente en particular, la sentencia es:

DELETE FROM PACIENTES


WHERE PacIdentificacion=’37821200’

Importante: Si la tabla tiene relación con otras tablas se debe de eliminar primero los
datos de la tabla foránea y luego si eliminar los datos de la tabla principal, por temas de
la integridad referencial, evitando que queden registros huérfanos en las tablas.

FAVA - Formación en Ambientes Virtuales de Aprendizaje.

SENA - Servicio Nacional de Aprendizaje. 48


Introducción a la base de datos SQL Server

Glosario

BEGIN: inicio del procedimiento.

EXECUTE: llamar un procedimiento almacenado previamente creado.

END: fin del procedimiento.

IN: indica que el parámetro será de entrada.

OUT: indica que el parámetro será de salida.

Trigger: disparador.

SGBD: sistema de gestión de bases de datos.

SSMS: SQL Server Management Studio.

FAVA - Formación en Ambientes Virtuales de Aprendizaje.

SENA - Servicio Nacional de Aprendizaje. 49


Introducción a la base de datos SQL Server

Bibliografía
Microsoft. (2017). Documentación técnica de SQL Server. Recuperado
de: https://docs.microsoft.com/es-es/sql/sql-server/sql-server-technical-
documentation

Nielsen, P., White, M., Paraui, U. (2009). Microsoft SQL Server 2008 Bible.
Wiley Publishing Inc.

Microsoft. (2017). Tutorial: SQL Server Management Studio. Recuperado


de: https://docs.microsoft.com/es-es/sql/ssms/tutorials/tutorial-sql-server-
management-studio

FAVA - Formación en Ambientes Virtuales de Aprendizaje.

SENA - Servicio Nacional de Aprendizaje. 50


Introducción a la base de datos SQL Server

Control de documento

INTRODUCCIÓN A LA BASE DE DATOS SQL SERVER

Centro Industrial de Mantenimiento Integral - CIMI


Regional Santander
Líder línea de producción: Santiago Lozada Garcés
Rosa Elvia Quintero Guasca
Asesores pedagógicos:
Claudia Milena Hernández Naranjo
Líder expertos temáticos: Rita Rubiela Rincón Badillo

Experto temático: Edgar Eduardo Vega Arango

Diseño multimedia: Eulises Orduz Amezquita

Programador: Francisco José Lizcano Reyes

Producción de audio: Víctor Hugo Tabares Carreño

Este material puede ser distribuido, copiado


y exhibido por terceros si se muestra en los Microsoft SQL Server © Reservados todos
créditos. No se puede obtener ningún beneficio los derechos. Microsoft SQL Server es una
comercial y las obras derivadas tienen que marca registrada de Microsoft Corporation en
estar bajo los mismos términos de la licencia los Estados Unidos y/o en otros países.
que el trabajo original.

Registered trademark

FAVA - Formación en Ambientes Virtuales de Aprendizaje.

SENA - Servicio Nacional de Aprendizaje. 51

S-ar putea să vă placă și