Skip to main content

Creando bases de datos y tablas en SQL

01 - Creación de una Base de Datos y Tabla en SQL Server 2014 (Junio 2024)

01 - Creación de una Base de Datos y Tabla en SQL Server 2014 (Junio 2024)
Anonim

¿Está listo para comenzar a crear bases de datos y tablas con el lenguaje de consulta estructurado? En este artículo, exploramos el proceso de creación de tablas manualmente con los comandos CREATE DATABASE y CREATE TABLE. Si eres nuevo en SQL, es posible que desees revisar algunos conceptos básicos de SQL primero.

Requisitos de negocio

Antes de que nos sentemos en el teclado, debemos asegurarnos de que comprendemos de manera sólida los requisitos del cliente. ¿Cuál es la mejor manera de obtener esta visión? Hablando con el cliente, por supuesto! Después de sentarnos con el Director de Recursos Humanos de XYZ, nos enteramos de que son una empresa de ventas de widgets y están principalmente interesados ​​en rastrear la información de su personal de ventas.

XYZ Corporation divide su fuerza de ventas en regiones del este y oeste, cada una de las cuales se divide en muchos territorios cubiertos por representantes de ventas individuales. El departamento de RRHH desea rastrear el territorio cubierto por cada empleado, así como la información salarial y la estructura de supervisión de cada empleado. Para cumplir con estos requisitos, hemos diseñado una base de datos que consta de tres tablas, que se muestran en el diagrama Entidad-Relación en esta página.

Elegir una plataforma de base de datos

Hemos decidido utilizar un sistema de gestión de bases de datos (o DBMS) que se basa en el lenguaje de consulta estructurado (SQL). Por lo tanto, todos nuestros comandos de creación de tablas y bases de datos deben escribirse teniendo en cuenta el ANSI SQL estándar.

Como beneficio adicional, el uso de SQL compatible con ANSI asegurará que estos comandos funcionarán en cualquier DBMS que admita el estándar SQL, incluidos Oracle y Microsoft SQL Server. Si aún no ha seleccionado una plataforma para su base de datos, las Opciones de software de la base de datos lo guiarán a través del proceso de selección.

Creando la base de datos

Nuestro primer paso es crear la propia base de datos. Muchos sistemas de administración de bases de datos ofrecen una serie de opciones para personalizar los parámetros de la base de datos en este paso, pero nuestra base de datos solo permite la creación simple de una base de datos. Al igual que con todos nuestros comandos, es posible que desee consultar la documentación de su DBMS para determinar si algún parámetro avanzado compatible con su sistema específico satisface sus necesidades. Usemos el comando CREATE DATABASE para configurar nuestra base de datos:

CREAR BASE DE DATOS DE PERSONAL

Tome nota especial de la capitalización utilizada en el ejemplo anterior. Es una práctica común entre los programadores de SQL usar todas las letras mayúsculas para palabras clave de SQL como "CREAR" y "BASE DE DATOS" al usar todas las letras en minúsculas para nombres definidos por el usuario como el nombre de la base de datos "personal". Estas convenciones permiten una fácil legibilidad.

Ahora que hemos diseñado y creado nuestra base de datos, estamos listos para comenzar a crear las tres tablas utilizadas para almacenar los datos de personal de XYZ Corporation.

Creando nuestra primera mesa

Nuestra primera tabla consiste en los datos personales de cada empleado de nuestra empresa. Necesitamos incluir el nombre, salario, identificación y gerente de cada empleado. Es una buena práctica de diseño separar los apellidos y los primeros nombres en campos separados para simplificar la búsqueda y clasificación de datos en el futuro. Además, realizaremos un seguimiento del gerente de cada empleado insertando una referencia a la identificación del empleado del gerente en cada registro de empleado. Veamos primero la tabla de empleados deseada.

El atributo ReportsTo almacena el ID de administrador para cada empleado. A partir de los registros de muestra que se muestran, podemos determinar que Sue Scampi es el gerente de Tom Kendall y John Smith. Sin embargo, no hay información en la base de datos sobre el gerente de Sue, como lo indica la entrada NULA en su fila.

Ahora podemos usar SQL para crear la tabla en nuestra base de datos de personal. Antes de hacerlo, asegurémonos de que estamos en la base de datos correcta emitiendo un comando USE:

UTILICE personal;

Alternativamente, el "personal de la base de datos"; comando realizaría la misma función. Ahora podemos echar un vistazo al comando SQL utilizado para crear la tabla de nuestros empleados:

Empleados de CREATE TABLE (employeeid INTEGER NOT NULL, apellido VARCHAR (25) NOT NULL, nombre VARCHAR (25) NOT NULL, reportsto INTEGER NULL);

Al igual que con el ejemplo anterior, tenga en cuenta que la convención de programación dicta que usemos todas las letras mayúsculas para las palabras clave SQL y las letras minúsculas para las columnas y tablas con nombre de usuario. El comando anterior puede parecer confuso al principio, pero en realidad hay una estructura simple detrás de él. Aquí hay una vista generalizada que podría aclarar un poco las cosas:

CREAR TABLA table_name (opciones de tipo de datos de nombre de atributo, …, opciones de tipo de datos de nombre de atributo);

Atributos y tipos de datos

En el ejemplo anterior, el nombre de la tabla es empleados e incluimos cuatro atributos: employeeid, apellido, primer nombre y reportsto. El tipo de datos indica el tipo de información que deseamos almacenar en cada campo. El ID de empleado es un número entero simple, por lo que usaremos el tipo de datos INTEGER tanto para el campo employeeid como para el campo reportsto. Los nombres de los empleados serán cadenas de caracteres de longitud variable y no esperamos que ningún empleado tenga un nombre o apellido con más de 25 caracteres. Por lo tanto, usaremos el tipo VARCHAR (25) para estos campos.

Valores nulos

También podemos especificar NULL o NOT NULL en el campo de opciones de la sentencia CREATE. Esto simplemente le dice a la base de datos si se permiten valores NULL (o vacíos) para ese atributo cuando se agregan filas a la base de datos. En nuestro ejemplo, el departamento de recursos humanos requiere que se almacene una identificación de empleado y un nombre completo para cada empleado. Sin embargo, no todos los empleados tienen un gerente (¡el CEO informa a nadie!), Por lo que permitimos entradas NULL en ese campo.Tenga en cuenta que NULL es el valor predeterminado y omitir esta opción permitirá implícitamente valores NULL para un atributo.

Construyendo las Tablas Restantes

Ahora echemos un vistazo a la tabla de territorios. A simple vista de estos datos, parece que necesitamos almacenar un entero y dos cadenas de longitud variable. Al igual que en nuestro ejemplo anterior, no esperamos que la ID de región consuma más de 25 caracteres. Sin embargo, algunos de nuestros territorios tienen nombres más largos, por lo que ampliaremos la longitud permitida de ese atributo a 40 caracteres.

Veamos el correspondiente SQL:

CREAR TABLA DE TERRITORIOS (Territorio INTEGER NO NULO, territorio Descripción VARCHAR (40) NOT NULL, regionid VARCHAR (25) NOT NULL);

Por último, usaremos la tabla EmployeeTerritories para almacenar las relaciones entre empleados y territorios. La información detallada sobre cada empleado y territorio se almacena en nuestras dos tablas anteriores. Por lo tanto, solo necesitamos almacenar los dos números de identificación de enteros en esta tabla. Si necesitamos expandir esta información, podemos usar una ÚNICA en nuestros comandos de selección de datos para obtener información de varias tablas.

Este método de almacenamiento de datos reduce la redundancia en nuestra base de datos y asegura un uso óptimo del espacio en nuestras unidades de almacenamiento. Cubriremos el comando JOIN en profundidad en un futuro tutorial. Aquí está el código SQL para implementar nuestra tabla final:

Crear mesa (employeeid INTEGER NOT NULL, Territorio INTEGER NO NULL);

El mecanismo que proporciona SQL para modificar la estructura de una base de datos después de la creación

Si es especialmente astuto hoy, puede haber notado que omitimos "accidentalmente" uno de los requisitos de diseño al implementar nuestras tablas de bases de datos. El Director de Recursos Humanos de XYZ Corporation solicitó que la base de datos rastreara la información salarial de los empleados y no la brindamos en las tablas de la base de datos que creamos.

Sin embargo, no todo está perdido. Podemos usar el comando ALTER TABLE para agregar este atributo a nuestra base de datos existente. Queremos almacenar el salario como un valor entero. La sintaxis es bastante similar a la del comando CREAR TABLA, aquí está:

Empleados de ALTER TABLE AGREGAR salario INTEGER NULL;

Observe que especificamos que se permiten valores NULL para este atributo. En la mayoría de los casos, no hay ninguna opción al agregar una columna a una tabla existente. Esto se debe al hecho de que la tabla ya contiene filas sin entrada para este atributo. Por lo tanto, el DBMS inserta automáticamente un valor NULO para llenar el vacío.