Documente Academic
Documente Profesional
Documente Cultură
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
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.
Mapa de contenido
Desarrollo de contenidos
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.
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.
Luego se procede a configurar los servicios y las cuentas asociadas a estos servicios
para su ejecución.
Por último, el instalador empieza a copiar los archivos y a configurar las características
de instalación:
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.
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
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.
• 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.
• 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
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:
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.
Con el comando sp_helpdb se puede obtener información de las bases de datos creadas
en la presente instancia. Para ejecutar el comando:
La sintaxis en Transact-SQL para la creación de una base de datos en SQL Server es:
USE [master]
GO
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.
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 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
Antes de oprimir en Aceptar, se puede verificar el script con los comandos de creación
del usuario y sus propiedades.
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.
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).
Lenguaje de control de datos (DCL): son instrucciones que manejan permisos sobre
objetos de la base de datos.
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.
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.
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.
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:
USE [CITAS]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
GO
Médicos.
Consultorios.
Tratamientos
Esta tabla tiene un campo Auto-Incremental, el cual se puede configurar dentro de las
propiedades del campo.
Citas
Al igual que la tabla Tratamientos, esta tabla contiene un campo incremental.
Después de haber creado las tablas, estas se pueden visualizar como componentes de
la base de datos:
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:
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:
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:
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 38. Diagrama de base de datos - Relación entre tablas Tratamientos y Pacientes.
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
Al guardar el diagrama, el sistema crea y ejecuta las instrucciones que modifican las
tablas afectadas.
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.
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:
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
Hay una instrucción que permite seleccionar registros de una consulta e insertarlos en
una tabla (combinación de Select e Insert).
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.
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.
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.
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:
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.
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:
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.
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:
UPDATE table
SET columna1 = valor1,
columna2 = valor2,
...
[WHERE filtros]
UPDATE tableCitas
SET columna1
CitEstado
= valor1,
= ‘Cancelada’
WHERE
columna2(CitPaciente
= valor2, = ‘77191950’)
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.
Glosario
Trigger: disparador.
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.
Control de documento
Registered trademark