PDF Manual SQL Server Basico
PDF Manual SQL Server Basico
PDF Manual SQL Server Basico
Contenido
Introducción a SQL Server ........................................................ 6
Qué es SQL Server ............................................................................................... 6
Historia y Evolución de SQL Server ...................................................................... 7
Ediciones y Versiones Disponibles ......................................................................... 8
Instalación y Configuración Básica ....................................................................... 9
Proceso de Instalación de SQL Server Developer en Windows ........................ 10
Verificamos de la instalación ............................................................................. 25
Instalación de SQL Server Management Studio (SSMS) .................................. 26
Conectar SSMS con el motor SQL .................................................................... 29
Entorno de trabajo del SSMS ............................................................................ 31
1. Barra de Menús ........................................................................................... 31
2. Barra de Herramientas ................................................................................ 31
3. Explorador de Objetos ................................................................................. 31
4. Panel de Consultas....................................................................................... 31
5. Panel de Resultados ..................................................................................... 32
6. Explorador de Plantillas .............................................................................. 32
7. Ventana de Propiedades .............................................................................. 32
8. Ventana de Mensajes ................................................................................... 32
9. Ventana de Actividad .................................................................................. 32
10. Panel de Propiedades del Servidor ............................................................. 32
11. Ventana de Inicio de Sesión ........................................................................ 33
Crear un nuevo proyecto ................................................................................... 36
Ejemplo de consulta .......................................................................................... 41
SELECT ‘HOLA’ ............................................................................................. 41
Atajos CTRL L, D y R. .................................................................................... 42
Cerrar la ventana de SCRIPT ........................................................................ 43
Cerrar la solución: .......................................................................................... 44
Abrir una solución .......................................................................................... 46
Comentar Lineas ............................................................................................ 48
Conceptos Básicos de Bases de Datos Relacionales ............ 49
Definición de Base de Datos Relacional ............................................................ 49
Características clave de las bases de datos relacionales: ................................... 49
Componentes de una Base de Datos Relacional .............................................. 50
Tablas ............................................................................................................. 50
Registros ......................................................................................................... 50
Campos........................................................................................................... 50
Claves Primarias y Foráneas ............................................................................... 51
Clave Primaria................................................................................................ 51
Clave Foránea ................................................................................................. 51
Relaciones en Bases de Datos Relacionales: ...................................................... 51
Normalización y Diseño Básico de Bases de Datos................................................ 52
Normalización ................................................................................................. 52
Diseño Básico de Bases de Datos ...................................................................... 52
Introducción a SQL Server Management Studio (SSMS) ....... 53
¿Qué es SQL Server Management Studio (SSMS)? .......................................... 53
Características clave de SSMS:........................................................................ 53
Beneficios de Usar SSMS: ............................................................................... 53
Conexión al Servidor y Gestión de Bases de Datos ............................................... 54
Conexión a una Instancia de SQL Server ......................................................... 54
Gestión de Bases de Datos ............................................................................... 54
Gestión de Seguridad ...................................................................................... 55
Exploración de las Herramientas Disponibles en SSMS ....................................... 56
Editor de Consultas (Query Editor) ................................................................. 56
Explorador de Objetos .................................................................................... 56
Administrador de Actividad (Activity Monitor) ............................................... 57
Herramientas de Backup y Restauración ......................................................... 57
Asistentes de Configuración ............................................................................ 57
Creación y Gestión de Bases de Datos (Ejemplo de uns
Institución Educativa) ............................................................. 58
Creación de Bases de Datos y Tablas ................................................................... 58
Creación de Bases de Datos ............................................................................. 58
Creación de Tablas ......................................................................................... 60
Relaciones entre Tablas ................................................................................... 62
Tipos de Datos en SQL Server ............................................................................ 64
Modificación y Eliminación de Tablas ................................................................. 66
Modificación de Tablas ................................................................................... 66
Eliminación de Tablas ..................................................................................... 70
Atajos más utilizados ......................................................................................... 74
Integración: Se integra con otros productos de Microsoft como Azure, Power BI, y
Visual Studio.
Principales hitos:
2000: SQL Server 2000 introduce OLAP y soporte para XML, expandiendo su
capacidad para aplicaciones más complejas.
2005: Lanzamiento de SQL Server 2005 con nuevas funciones como Service
Broker, soporte CLR, y Reporting Services.
2016: SQL Server 2016 añade características como Stretch Database y soporte para
JSON.
2022: SQL Server 2022 mejora la integración con Azure y otras tecnologías de la
nube.
Ediciones principales:
SQL Server Express: Edición gratuita y limitada, ideal para pequeñas aplicaciones
y aprendizaje.
SQL Server Developer: Edición gratuita con todas las características de la edición
Enterprise, pero solo para desarrollo y pruebas.
SQL Server Web: Diseñada para aplicaciones web, con un costo reducido
comparado con la edición Enterprise.
1. Descarga del instalador: Obtener la versión deseada de SQL Server desde el sitio
oficial de Microsoft.
Y reiniciamos la computadora.
Verificamos de la instalación
En la ventana de búsquede de Windows colocamos “Service” o “Servicio”
dependiendo del idioma, y le damos clic.
Como podemos ver en el arbol de carpetas, el icono de principal tiene una flechita
verde, eso indica que ya estamos conectados con el servidor.
SQL Server Management Studio (SSMS) es una herramienta gráfica integral desarrollada
por Microsoft para la administración y el desarrollo en SQL Server. SSMS ofrece un
entorno rico en características que permite a los usuarios gestionar bases de datos SQL
Server, realizar consultas y tareas administrativas, y desarrollar soluciones de bases de
datos. A continuación, te describo las partes principales del entorno de trabajo en SSMS:
1. Barra de Menús
2. Barra de Herramientas
3. Explorador de Objetos
4. Panel de Consultas
5. Panel de Resultados
6. Explorador de Plantillas
7. Ventana de Propiedades
8. Ventana de Mensajes
9. Ventana de Actividad
En el contexto de SQL
Server, una instancia se
refiere a una instalación
particular de SQL Server que
se ejecuta en un sistema.
Cada instancia actúa como
un servidor de bases de
datos separado, con su
propia configuración, bases
de datos, y servicios
asociados. Es posible tener
múltiples instancias de SQL
Server en una sola máquina,
y cada una de ellas puede
ser configurada y
Podemos abrir la ventana de “Solution Explorer”: administrada de manera
independiente.
Hacemos clic en “New Query” para abrir la ventana donde podamos escrirbir los
scripts y ver los resultados. Tambien podemos usar “CTRL N”
Query (Consulta)
Un query o consulta es una instrucción escrita en un lenguaje de consulta, como
SQL (Structured Query Language), que se utiliza para interactuar con una base de
datos. Las consultas permiten recuperar, insertar, actualizar o eliminar datos
almacenados en una base de datos. El objetivo de una consulta es extraer la
información específica que necesitas o realizar una operación en la base de datos.
Script
Un script es un conjunto de una o más consultas SQL organizadas en un archivo
que se ejecutan de manera secuencial. Un script SQL puede contener una serie
de comandos que van desde la creación de tablas, la inserción de datos, hasta la
ejecución de procedimientos almacenados, entre otros
Cuando trabajas en una solución en SQL Server Management Studio (SSMS), puedes crear
diferentes tipos de proyectos dependiendo del tipo de trabajo que vas a realizar. Los dos
tipos de proyectos que mencionas, SQL Server Scripts y Analysis Services Scripts, están
diseñados para manejar diferentes aspectos del ecosistema de SQL Server. A continuación,
te explico las diferencias entre ellos:
Propósito: Este tipo de proyecto está diseñado para contener y gestionar scripts
SQL relacionados con la administración y desarrollo de bases de datos en SQL
Server.
Contenido: Un proyecto de SQL Server Scripts puede incluir consultas SQL
(SELECT, INSERT, UPDATE, DELETE), scripts de creación y modificación de tablas,
vistas, procedimientos almacenados, funciones, triggers, y scripts de administración
como copias de seguridad, restauración, y mantenimiento de índices.
Uso Típico:
o Desarrollar y probar consultas SQL.
o Crear y modificar objetos de base de datos (tablas, vistas, etc.).
o Automatizar tareas administrativas en la base de datos.
o Migraciones de bases de datos.
Herramientas: SSMS proporciona una interfaz robusta para escribir, probar y
depurar scripts SQL, además de integrarse con herramientas de gestión de versiones
y despliegue.
Diferencias Clave:
Ejemplo de consulta
SELECT ‘HOLA’
CTRL D
CTRL T
Atajos CTRL L, D y R.
1. CTRL+T:
2. CTRL+D:
3. CTRL+R:
Resumen de Uso:
Cerrar la solución:
Comentar Lineas
Relaciones entre Datos: Las tablas pueden estar relacionadas entre sí mediante
claves, lo que permite combinar datos de múltiples tablas en una consulta.
Las tablas son el componente central de una base de datos relacional. Una tabla es una
colección de datos organizados en filas (registros) y columnas (campos). Cada tabla
almacena datos relacionados con una entidad específica.
Registros
Un registro es una fila en una tabla, que contiene todos los datos correspondientes a una
instancia de la entidad representada por la tabla. En una base de datos de clientes, un
registro podría incluir el nombre de un cliente, su dirección, número de teléfono, y otros
detalles.
Campos
Los campos son las columnas de una tabla, y cada campo almacena un tipo específico de
dato. Cada campo en una tabla tiene un nombre y un tipo de dato asociado, como texto,
números, fechas, etc. Por ejemplo, en una tabla de productos, un campo podría ser "Precio",
que almacenaría datos numéricos.
La clave primaria (Primary Key) es un campo o conjunto de campos en una tabla que
identifica de manera única cada registro en esa tabla. La clave primaria debe cumplir con
las siguientes características:
Única: No puede haber dos registros con el mismo valor de clave primaria.
Ejemplo: En una tabla de "Clientes", el campo "ID de Cliente" podría ser la clave primaria,
ya que cada cliente tendría un ID único.
Clave Foránea
La clave foránea (Foreign Key) es un campo o conjunto de campos en una tabla que se
utiliza para establecer y reforzar un vínculo entre los datos de dos tablas. Una clave foránea
en una tabla apunta a la clave primaria en otra tabla, creando así una relación entre las dos
tablas.
Ejemplo: En una tabla de "Pedidos", el campo "ID de Cliente" podría ser una clave foránea
que referencia la clave primaria "ID de Cliente" en la tabla "Clientes". Esto permite
vincular cada pedido con el cliente que lo realizó.
Uno a Uno: Cada registro en la primera tabla está relacionado con un solo registro
en la segunda tabla.
Formas normales:
Primera Forma Normal (1NF): Cada campo de una tabla debe contener solo un
valor indivisible, y cada registro debe ser único.
Segunda Forma Normal (2NF): La tabla debe estar en 1NF y todos los campos no
clave deben depender completamente de la clave primaria.
Tercera Forma Normal (3NF): La tabla debe estar en 2NF y no debe haber
dependencias transitivas (es decir, los campos no clave no deben depender de otros
campos no clave).
SQL Server Management Studio (SSMS) es una herramienta gráfica integral desarrollada
por Microsoft para gestionar instancias de SQL Server, tanto locales como remotas. SSMS
proporciona una interfaz de usuario unificada para realizar diversas tareas administrativas,
como la creación de bases de datos, la ejecución de consultas, la gestión de seguridad, y la
configuración de servidores.
Interfaz Gráfica Intuitiva: SSMS ofrece una interfaz de usuario amigable que
facilita la gestión de las bases de datos sin necesidad de recordar comandos
complejos.
Query Editor: Incluye un potente editor de consultas con soporte para T-SQL, que
permite ejecutar, depurar y optimizar consultas.
Una de las primeras tareas al usar SSMS es conectarse a una instancia de SQL Server. Este
proceso es crucial para poder realizar cualquier operación en la base de datos.
1. Iniciar SSMS: Abrir SQL Server Management Studio desde el menú de inicio o el
acceso directo.
Gestión de Seguridad
El Editor de Consultas es una herramienta central en SSMS que permite a los usuarios
escribir, ejecutar y depurar consultas T-SQL. Ofrece características como:
Coloreado de Sintaxis: Resalta diferentes partes del código para facilitar la lectura
y escritura de consultas.
Explorador de Objetos
El Explorador de Objetos es una vista jerárquica que muestra todos los servidores
conectados y los objetos dentro de esos servidores, incluyendo bases de datos, tablas,
vistas, procedimientos almacenados, funciones, y más.
Asistentes de Configuración
SSMS incluye una variedad de asistentes que guían al usuario a través de tareas complejas,
como la configuración de replicación, la configuración de la seguridad del servidor, y la
creación de trabajos automatizados con SQL Server Agent.
En una institución educativa, una base de datos puede utilizarse para gestionar información
sobre estudiantes, cursos, profesores, inscripciones, entre otros. SQL Server permite crear
bases de datos de manera sencilla utilizando SQL Server Management Studio (SSMS) o
mediante comandos T-SQL.
Creación de Tablas
Una vez creada la base de datos, es necesario crear tablas que almacenen la información
específica de la institución. Por ejemplo, se podrían crear tablas para estudiantes, cursos y
profesores.
Tabla Estudiantes:
USE InstitucionEducativaDB;
GO
Tabla Cursos:
Tabla Profesores:
Para gestionar las inscripciones de los estudiantes en los cursos, se puede crear una tabla
Inscripciones que relacione estudiantes y cursos mediante claves foráneas.
Tabla Inscripciones:
FLOAT: Números en punto flotante para datos que requieren mayor precisión
decimal.
DECIMAL: Números decimales con precisión fija, útil para manejar montos
financieros.
Eliminación de Tablas
Si una tabla ya no es necesaria, puede eliminarse para mantener la base de datos limpia y
organizada. Es importante asegurarse de que los datos en la tabla ya no sean requeridos o se
hayan respaldado antes de realizar esta operación.
Ejecutamos el código:
Script SQLQuery01InstitucionEducativa.sql
--Tabla Cursos:
CREATE TABLE Cursos (
CursoID INT PRIMARY KEY,
NombreCurso NVARCHAR(100) NOT NULL,
Descripcion NVARCHAR(255),
Creditos INT NOT NULL
);
GO
--Tabla Profesores:
CREATE TABLE Profesores (
ProfesorID INT PRIMARY KEY,
Nombre NVARCHAR(50) NOT NULL,
Apellido NVARCHAR(50) NOT NULL,
Especialidad NVARCHAR(100),
CorreoElectronico NVARCHAR(100)
);
GO
Introducción a T-SQL
Qué es T-SQL
T-SQL (Transact-SQL) es una extensión del lenguaje SQL (Structured Query Language)
desarrollada por Microsoft y Sybase para su uso en sistemas de gestión de bases de datos
como SQL Server. Además de las capacidades estándar de SQL, como la manipulación de
datos y la definición de estructuras de base de datos, T-SQL incluye características
adicionales que permiten realizar operaciones más complejas, como la gestión de
transacciones, el control de flujo, y la definición de variables.
2. Definición de los elementos: Especifica los elementos sobre los cuales se actuará,
como tablas, columnas, y valores.
En este ejemplo, se seleccionan los nombres y apellidos de los estudiantes nacidos después
del 1 de enero de 2000.
La sentencia SELECT se utiliza para consultar datos de una o más tablas. Es la más utilizada
en T-SQL y permite seleccionar columnas específicas, filtrar resultados y ordenar los datos.
Explicación:
Sentencia INSERT
Explicación:
Sentencia UPDATE
La sentencia UPDATE se utiliza para modificar los datos existentes en una tabla.
UPDATE Estudiantes
SET CorreoElectronico = 'juan.perez.actualizado@institucion.edu'
WHERE EstudianteID = 101;
Explicación:
Sentencia DELETE
Explicación:
Explicación:
Desglose y Explicación:
La ordenación de datos se realiza con la cláusula ORDER BY, que permite ordenar los
resultados de una consulta según una o más columnas.
Explicación:
T-SQL soporta una amplia gama de operadores para comparar y combinar condiciones en
consultas.
Explicación:
Explicación:
Colocamos: TrustServerCertificate=True;
El Path puede modificarse al crear la base de datos para tener un mejor control de
la ubicación y de los datos. Nosotros por el momento los dejaremos en la ruta
especificada por defoult.
En SQL Server, los archivos .mdf y .ldf son componentes clave de la estructura de
almacenamiento de una base de datos. A continuación, te explico en detalle qué son y cuál
es su función:
Propósito:
Ubicación y Uso:
o Por defecto, cuando se crea una nueva base de datos en SQL Server, se
genera un archivo .mdf que se almacena en la ubicación predeterminada del
servidor o en la ubicación especificada por el administrador de la base de
datos.
o Una base de datos en SQL Server siempre tiene al menos un archivo .mdf.
Propósito:
Ubicación y Uso:
Los archivos .mdf y .ldf trabajan juntos para mantener la base de datos en un
estado coherente. Mientras que el archivo .mdf almacena los datos estructurados y
las definiciones de la base de datos, el archivo .ldf se encarga de registrar todos los
cambios para que, en caso de una recuperación de desastres, SQL Server pueda
restaurar la base de datos a su último estado coherente.
Es común que una base de datos tenga un archivo .mdf y uno o más archivos .ldf.
Además, se pueden añadir archivos de datos secundarios .ndf si se desea distribuir
los datos de la base de datos en diferentes discos para mejorar el rendimiento o la
capacidad.
master
Esta es una base de datos de sistema crítica en SQL Server. Contiene toda la
información sobre las configuraciones del servidor SQL, incluyendo las
configuraciones de las bases de datos del usuario, configuraciones de inicio de
sesión, y otros metadatos vitales. Nunca se debe modificar esta base de datos
directamente a menos que sea necesario.
model
Esta es otra base de datos del sistema que SQL Server utiliza como plantilla para
crear nuevas bases de datos. Cada vez que creas una nueva base de datos, SQL
Server copia la estructura de la base de datos model para iniciar la nueva base de
datos.
msdb
msdb es la base de datos de sistema donde SQL Server almacena datos de
trabajos de agente SQL (SQL Server Agent), planes de mantenimiento, copias de
seguridad y restauraciones, alertas, y operadores.
tempdb
tempdb es una base de datos del sistema que SQL Server utiliza para almacenar
objetos temporales y tablas temporales. Esta base de datos se recrea cada vez
que se reinicia SQL Server, por lo que su contenido es temporal.
Cuando se crea una tabla en SQL Server Management Studio (SSMS) utilizando la interfaz
gráfica, se habilitan varios campos y opciones que permiten definir la estructura de la tabla
y sus propiedades. A continuación, te describo los campos y opciones principales que se
habilitan durante el proceso de creación de una tabla:
1. Nombre de la Columna
Descripción: Especifica el nombre de cada columna en la tabla. Este nombre debe
ser único dentro de la tabla y describe el tipo de datos que se almacenará en esa
columna (por ejemplo, Nombre, Apellido, FechaNacimiento, etc.).
2. Tipo de Datos
Descripción: Especifica el tipo de datos que se almacenará en la columna. SQL
Server ofrece una amplia gama de tipos de datos, incluyendo:
6. Longitud (Length)
Descripción: Para tipos de datos como VARCHAR o NVARCHAR, se debe especificar la
longitud máxima permitida de la cadena de texto. Este valor define cuántos
caracteres puede contener la cadena.
7. Escala y Precisión
Descripción: Estos campos son relevantes para los tipos de datos decimales
(DECIMAL o NUMERIC). La precisión especifica el número total de dígitos que se
pueden almacenar, y la escala especifica el número de dígitos que se pueden
almacenar a la derecha del punto decimal.
Importancia: Los valores predeterminados son útiles para asegurar que una
columna siempre tenga un valor significativo, incluso si el usuario no proporciona
uno explícitamente.
9. Índices y Restricciones
Descripción: SSMS permite crear índices y definir restricciones directamente
durante la creación de la tabla.
Establecemos los cambos de nuestra tabla con sus respectivos tipos de datos e indicamos si
permitimos valores nulos (AllowNulls)
Guardamos la tabla:
Recordemos que para que se vea reflejado agun cambio debemos reestablecer el
“Objetc Explorer”
Si es la primera vez que queremos guardar una tabla nos marcará la advertencia
anterior. Para que no nos muestre dicha advertencia hacemos lo siguiente:
Desactivamos
la casilla
Recordemos que:
2. Semilla y Incremento:
Esta tabla almacenará información básica sobre cursos, como el identificador del curso, el
nombre, la descripción, la fecha de inicio, la fecha de finalización y el estado del curso.
Descripción de la Tabla:
Consideraciones:
apellidoMaterno VARCHAR(20),
observaciones TEXT
);
Ejemplos de Consultas:
1. Listar todos los alumnos y los cursos en los que están inscritos:
SELECT a.nombre, a.apellidoPaterno, c.nombreCurso
FROM alumno a
INNER JOIN alumno_curso ac ON a.id_alumno = ac.id_alumno
INNER JOIN curso c ON ac.id_curso = c.id_curso;
Ahora coloquemos el siguite código para agregar datos a los campos de la tabla
alumno: