Bases de datos
Crear bases de datos
Para crear su base de datos, tiene que crear una nueva query,
para esto debe de seleccionar el botón que dice “New Query” en su área de trabajo.
Después aparecerá su consulta, que le permitirá escribir código para crear su base de datos.
Y una vez ahí puede empezar a escribir su código para crear una base de datos,
para lo cual deberá escribir
-- El nombre debe ir sin espacios ni caracteres especiales
CREATE DATABASE nombre
y después para ejecutar debe de seleccionar el código que desea ejecutar y darle clic a
“Execute”, más abajo le dará los resultados de su ejecución.
Eliminar bases de datos
Recuerda que este proceso es irreversible,
así que asegúrate de hacer copias de seguridad de cualquier
dato importante antes de proceder.
1. Buscar la base de datos en el Explorador de objetos
En el Explorador de Objetos, expanda la carpeta "Bases de datos" (Databases)
para ver todas las bases de datos disponibles.
2. Encuentre la base de datos que deseas eliminar. Haz clic derecho sobre ella.
3. Selecciona la opción "Eliminar" (Delete) en el menú contextual.
4. Confirmar Eliminación
Aparecerá un cuadro de diálogo de confirmación.
Asegúrate de que la casilla
"Cerrar conexiones existentes" (Close existing connections)
esté marcada si quieres cerrar todas las conexiones activas a la base de datos antes de eliminarla.
Luego, haz clic en "Aceptar" (OK) para confirmar la eliminación.
Consultas en SQL Server
¿Qué es una consulta?
Las consultas en SQL Server son instrucciones escritas en SQL o T-SQL
que permiten recuperar datos de una base de datos.
Estas pueden ser simples,
solicitando datos de una sola tabla, o complejas,
involucrando múltiples tablas,
funciones, y lógica condicional para obtener
información específica.
¿Cómo funciona una consulta en SQL Server?
Una consulta funciona enviando una instrucción SQL al servidor de base de datos,
donde el motor de SQL procesa esta instrucción.
El proceso generalmente implica analizar la consulta para entender la solicitud,
planificar la mejor manera de obtener los datos (optimización de la consulta),
ejecutar el plan accediendo a las tablas y datos necesarios,
y finalmente, retornar los resultados al
usuario o aplicación que hizo la solicitud.
¿Para qué sirve una consulta en SQL Server?
Una consulta en SQL sirve para interactuar con la base de datos
y realizar operaciones como
seleccionar (recuperar), insertar, actualizar, y eliminar datos.
Permite a los usuarios y aplicaciones obtener información específica de la base de datos,
modificar los datos almacenados, y gestionar la estructura de la base de datos en sí
Tipos de consulta
DDL (Data Definition Language)
Instrucciones que definen la estructura de la base de datos, como tablas y relaciones.
Verbos básicos incluyen
CREATE (crear), ALTER (modificar), DROP (eliminar)
| Consulta | Descripción |
| CREATE |
Se utiliza para crear objetos en la base de datos, como tablas, vistas, índices, etc
|
| ALTER |
Modifica la estructura de un objeto existente en la base de datos
|
| DROP |
Elimina objetos de la base de datos
|
| TRUNCATE |
Elimina todos los registros de una tabla, pero mantiene la estructura de la tabla.
|
DML (Data Manipulation Language)
Instrucciones que permiten manipular los datos almacenados en la base de datos.
Verbos básicos incluyen
SELECT (seleccionar), INSERT (insertar),
UPDATE (actualizar), DELETE (eliminar)
| Consulta | Descripción |
| SELECT |
Recupera datos de una o más tablas
|
| INSERT |
Añade nuevos registros a una tabla
|
| UPDATE |
Modifica datos existentes en una tabla
|
| DELETE |
Elimina registros de una tabla
|
Tablas
Piensa en una tabla como una hoja de cálculo de Excel.
Cada tabla almacena datos relacionados en filas y columnas.
Por ejemplo, podrías tener una tabla llamada Clientes donde cada fila representa un cliente
y cada columna representa información sobre ese cliente (como nombre, apellido, email, etc.).
Filas
Cada fila en una tabla es un registro individual.
En la tabla Clientes, cada fila podría representar a un cliente específico.
Columnas
Cada columna representa un tipo de dato. En la tabla Clientes,
podrías tener columnas para ID, Nombre, Apellido, y Email.
Crear Tabla
Para crear una tabla utilizamos el comando CREATE TABLE
junto al nombre que tendrá la tabla y sus campos los cuales se pueden ver en
los tipos de datos
-- CREATE TABLE, Crea una tabla llamada clientes
CREATE TABLE Clientes (
ID INT PRIMARY KEY,
Nombre VARCHAR(50),
Apellido VARCHAR(50),
Email VARCHAR(100)
);
Eliminar Tabla
Para eliminar una tabla utilizamos el comando DROP TABLE
junto al nombre de la tabla
--DROP, Elimina la tabla Clientes:
DROP TABLE Clientes;
Alterar Tabla
Para alterar una tabla utilizamos el comando ALTER TABLE
junto al nombre de la tabla y sus campos los cuales se pueden ver en
los tipos de datos
--ALTER, Añade una columna FechaNacimiento a la tabla Clientes:
ALTER TABLE Clientes
ADD FechaNacimiento DATE;
Queries
Insertar Datos
Para insertar datos utilizamos el comando INSERT INTO
junto al nombre de la tabla y sus campos los cuales se pueden ver en
los tipos de datos
--INSERT, Inserta un nuevo registro en la tabla Clientes:
INSERT INTO Clientes (ID, Nombre, Apellido, Email)
VALUES (1, 'Juan', 'Pérez', 'juan.perez@example.com');
Leer Datos
Para leer datos utilizamos el comando SELECT
junto al nombre de la tabla y sus campos los cuales se pueden ver en
los tipos de datos
--SELECT, Selecciona todos los registros de la tabla Clientes:
SELECT * FROM Clientes;
Actualizar Datos
Para actualizar datos utilizamos el comando UPDATE
junto al nombre de la tabla y sus campos los cuales se pueden ver en
los tipos de datos
--UPDATE, Actualiza el correo electrónico de un cliente en la tabla Clientes:
UPDATE Clientes
SET Email = 'juan.perez123@example.com'
WHERE ID = 1;
Eliminar Datos
Para eliminar datos utilizamos el comando DELETE
junto al nombre de la tabla y sus campos los cuales se pueden ver en
los tipos de datos
--DELETE, Elimina un registro de la tabla Clientes:
DELETE FROM Clientes
WHERE ID = 1;
Tipos de datos
Cada columna en una tabla debe tener un tipo de dato que define qué tipo de información puede almacenar.
| Tipos Numericos | Descripción |
| int (Entero) |
Utilizado para almacenar números enteros. Es de 4 bytes y su rango es de
-2.147.483.648 hasta 2.147.483.647.
|
| smallint (Entero) |
Similar a int, pero ocupa 2 bytes. Su rango es de -32,768 a 32,767
|
| tinyint (Entero) |
Un entero pequeño sin signo que ocupa solo 1 byte, con un rango de 0 a 255
|
| bigint (Entero) |
Un entero grande que ocupa 8 bytes.
Tiene un rango de -9,223,372,036,854,775,808 a 9,223,372,036,854,775,807
|
| float (Decimal) |
Utilizado para números de punto flotante. Ejemplo : 3.14159...
|
| decimal y numeric (Decimal) |
Son números decimales con precisión y escala definidas por el usuario.
Por ejemplo, decimal(5,2) almacena números con hasta 5 dígitos en total,
de los cuales 2 son decimales
|
| money |
Almacena valores monetarios con precisión fija y tiene un rango de
-922,337,203,685,477.5808 a 922,337,203,685,477.5807
|
| smallmoney |
Similar a money, pero con un rango más pequeño y menos precisión
|
| Tipos para Cadenas de Texto | Descripción |
| char(n) |
Una cadena de caracteres de longitud fija que ocupa n bytes.
Si la cadena es más corta que n, se llena con espacios
|
| varchar(n) |
Una cadena de caracteres de longitud variable que ocupa hasta n bytes.
Solo ocupa el espacio necesario para los datos que almacena
|
| text |
Una cadena de caracteres de longitud variable que
puede contener hasta 2^31-1 caracteres
|
| nchar(n) |
Similar a char, pero almacena datos Unicode,
lo que permite una mayor variedad de caracteres y lenguajes
|
| nvarchar(n) |
Similar a varchar, pero almacena datos Unicode
|
| ntext |
Similar a text, pero almacena datos Unicode
|
| Tipos para Fechas | Descripción |
| datetime |
Almacena fecha y hora desde el 1 de enero de 1753
hasta el 31 de diciembre de 9999, con una precisión de 3.33 ms
|
| datetime2 |
Similar a datetime, pero con mayor precisión y un rango más amplio
(1 de enero del año 1 hasta el 31 de diciembre de 9999)
|
| smalldatetime |
Almacena fecha y hora desde el 1 de enero de 1900 hasta el 6 de junio de 2079,
con una precisión de 1 minuto
|
| date |
Solo almacena la fecha, desde el 1 de enero del año 1
hasta el 31 de diciembre de 9999
|
| time |
Solo almacena la hora, con una precisión de hasta 100 nanosegundos
|
| datetimeoffset |
Similar a datetime2, pero incluye información sobre la zona horaria
|
| Tipos Binarios | Descripción |
| binary(n) |
Almacena datos binarios de longitud fija de n bytes
|
| varbinary(n) |
Almacena datos binarios de longitud variable de hasta n bytes
|
| image |
Almacena datos binarios de longitud variable de hasta 2^31-1 bytes.
Este tipo se está eliminando en favor de varbinary(max)
|
Claves
Claves primarias
La clave primaria es un campo en una tabla que se utiliza para
identificar de manera única cada fila de esa tabla.
No puede contener valores nulos y cada valor debe ser único.
Por ejemplo, en la tabla Clientes, el ID podría ser la clave primaria,
asegurando que cada cliente tenga un ID único.
CREATE TABLE Clientes (
ID INT PRIMARY KEY,
Nombre VARCHAR(50),
Apellido VARCHAR(50),
Email VARCHAR(100)
);
Aquí, el campo ID es la clave prima tabla, estableciendo una relación entre ambas.
Por ejemplo, podrías tener una tabla Pedidos donde cada pedido está asociado a
un cliente en la tabla Clientes. La columna ClienteID en la tabaria.
Esto significa que cada cliente tendrá un ID único, y no puede haber dos clientes con el mismo ID.
Claves foraneas
La clave foránea es un campo en una tabla que crea un
vínculo entre los datos de dos tablas.
Esencialmente, hace referencia a la clave primaria de otrla Pedidos sería una clave foránea
que referencia al ID en la tabla Clientes.
CREATE TABLE Pedidos (
PedidoID INT PRIMARY KEY,
ClienteID INT,
Fecha DATE,
FOREIGN KEY (ClienteID) REFERENCES Clientes(ID)
);
Aquí, el campo ClienteID en la tabla Pedidos es una clave foránea que hace referencia
al campo ID en la tabla Clientes. Esto significa que cada pedido está asociado a un cliente específico.