Crear bases de datos y tablas en SQL

click fraud protection

¿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 es nuevo en SQL, es posible que desee revisar algunos Conceptos básicos de SQL primero.

Requisitos comerciales

Antes de sentarnos al teclado, debemos asegurarnos de tener un conocimiento sólido de los requisitos del cliente. ¿Cuál es la mejor manera de obtener esta informació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 interesados ​​principalmente en rastrear información sobre 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 recursos humanos 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 la

instagram viewer
Relación diagrama de entidad en esta página.

Elección de una plataforma de base de datos

Decidimos usar un sistema de administración de base 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 estándar ANSI SQL.

Como beneficio adicional, el uso de SQL compatible con ANSI garantizará que estos comandos funcionen 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 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 PERSONAL DE BASE DE DATOS

Preste especial atención a las mayúsculas utilizadas en el ejemplo anterior. Es una práctica común entre los programadores de SQL utilizar todas las letras mayúsculas para las palabras clave de SQL como "CREAR". y "BASE DE DATOS" mientras se utilizan todas las letras minúsculas para los nombres definidos por el usuario, como la base de datos "personal" nombre. Estas convenciones facilitan la lectura.

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

Creando nuestra primera mesa

Nuestra primera tabla consta de 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 el apellido y el nombre 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 de empleado del gerente en cada registro de empleado. Primero echemos un vistazo a la tabla de empleados deseada.

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

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

USE 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,
informa a 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 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:

CREATE TABLE nombre_tabla
(opciones de tipo de datos de atributo_name,
...,
opciones de tipo de datos de atributo_name);

Atributos y tipos de datos

En el ejemplo anterior, el nombre de la tabla es empleados e incluimos cuatro atributos: ID de empleado, apellido, nombre e informes a. 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 de más de 25 caracteres. Por lo tanto, usaremos el tipo VARCHAR (25) para estos campos.

Valores NULL

También podemos especificar NULO o NO NULO 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 al agregar 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 no depende de nadie!), Por lo que permitimos entradas NULAS 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 mesas restantes

Ahora echemos un vistazo a la tabla de territorios. De un vistazo rápido a estos datos, parece que necesitamos almacenar un número entero y dos cadenas de longitud variable. Como en nuestro ejemplo anterior, no esperamos que el 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 SQL correspondiente:

CREAR TABLA territorios
(territorioid INTEGER NOT NULL,
territorio Descripción VARCHAR (40) NOT NULL,
regionid VARCHAR (25) NOT NULL);

Finalmente, 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 enteros en esta tabla. Si necesitamos expandir esta información, podemos usar JOIN en nuestros comandos de selección de datos para obtener información de múltiples 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 tutorial futuro. Aquí está el código SQL para implementar nuestra tabla final:

CREAR TABLA territorios de empleados
(employeeid INTEGER NOT NULL,
territorioid INTEGER NOT NULL);

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

Si es particularmente astuto hoy, es posible que haya notado que "accidentalmente" omitimos uno de los requisitos de diseño al implementar nuestras tablas de base de datos. El Director de RR.HH. de XYZ Corporation solicitó que la base de datos rastreara la información sobre los sueldos de los empleados y no lo incluimos 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 CREATE TABLE, aquí está:

Empleados de ALTER TABLE
AGREGAR salario INTEGER NULO;

Tenga en cuenta 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.

instagram story viewer