Todo viaje comienza en algún lugar, y en SQL Server, nuestro universo de datos comienza creando una Base de Datos.
Antes de poder crear tablas, procedimientos o guardar un solo byte de información, necesitamos definir la base de datos (es decir, el contenedor donde vivirá todo ello).
Aunque SQL Server Management Studio (SSMS) nos permite hacer esto con “clic derecho”, también tenemos que saber hacerlo mediante código T-SQL.
Hacerlo con código nos permite automatizar despliegues, copiar a otro server, backups, control total sobre la configuración física…
Y, sinceramente, es que te va tocar hacerlo sí o sí en algún momento.
Creación básica de una base de datos
La forma más habitual de crear una base de datos es utilizar la instrucción CREATE DATABASE seguida del nombre que queramos darle.
CREATE DATABASE MiEmpresa;
GO
Cuando ejecutamos este comando, SQL Server hace lo siguiente:
- Copia la base de datos del sistema llamada
model(que actúa como plantilla). - Crea los archivos físicos en la ubicación por defecto del servidor.
- Asigna los tamaños predeterminados.
Recuerda que para ejecutar comandos de creación de bases de datos, generalmente debes estar situado en la base de datos del sistema master.
Seleccionar la base de datos USE
Un error muy común es crear la base de datos y, acto seguido, empezar a crear tablas… ¡sin haber entrado en ella!. Y ensuciando todo, básicamente.
Si no cambias el contexto, estás creando tus tablas dentro de la base de datos master (la que se crea por defecto al instalar SQL).
Para evitar esto, usamos siempre el comando USE:
USE GestionPedidos;
GO
-- Ahora todo lo que ejecutemos aquí ocurrirá dentro de 'GestionPedidos'
Eliminación de bases de datos
Para eliminar una base de datos, utilizamos la instrucción DROP DATABASE. Las sintaxis básica
DROP DATABASE GestionPedidos;
GO
¡Cuidado! Esta operación es destructiva e irreversible (a menos que tengas copias de seguridad).
DROP DATABASE elimina la base de datos, sus tablas, sus usuarios y borra físicamente los archivos .mdf y .ldf del disco duro.
