sql >> Base de Datos >  >> RDS >> Sqlserver

Una guía para principiantes de tablas SQL

En este artículo, exploraremos los diferentes tipos de tablas SQL y las mejores prácticas para crear tablas definidas por el usuario en SQL Server.

Las tablas son objetos primarios para almacenar datos en bases de datos relacionales. Para visualizar una tabla, considere una hoja de cálculo de Excel. La hoja de cálculo organiza los datos en un formato de fila y columna. De manera similar, las bases de datos relacionales usan varias tablas (hojas) para organizar los datos.

  • Fila :Identifica de forma única un registro. Por ejemplo, los datos de la fila 1 pertenecen a un empleado llamado [Raj]. No puede almacenar datos de otro empleado.
  • Columna :Cada columna define un atributo de la tabla. Por ejemplo, la columna [FirstName] almacena el nombre de todos los empleados. No puede almacenar otros datos como [Ciudad] en esta columna.

Supongamos que necesitamos una tabla [Empleado] en una base de datos SQL. Esta tabla almacena los registros de empleados de una empresa. Para la columna [EmpID], requerimos un número positivo (sin ningún punto decimal). En este caso, el tipo de datos [entero] es el más adecuado. Una vez que haya definido la columna [EmpID] como entero, SQL Server no le permite insertar ningún valor que no satisfaga el tipo de datos entero. Por ejemplo, no puede insertar la cadena 'Raj' en la columna [EmpID[.

Crear una tabla SQL

En un nivel alto, para crear una tabla SQL, deberíamos tener la siguiente información:

  1. ¿Cuál es la instancia de SQL y el nombre de la base de datos para el almacenamiento de objetos?
  2. ¿En qué esquema desea almacenar la tabla?
  3. ¿Cuáles son los nombres de columna para su tabla específica?
  4. ¿Cuáles son los tipos de datos para estas columnas?
  5. ¿Las columnas permiten almacenar valores NULOS?
  6. ¿Utiliza la columna de clave principal? En caso afirmativo, ¿qué columna actuará como columna de clave principal?
  7. ¿Desea crear algún índice no agrupado?

Para esta demostración, usemos las siguientes respuestas a estas preguntas para crear la tabla de empleados.

  • Respuesta 1:el nombre de la base de datos de destino es [AzureDemoDatabase]
  • Respuesta 2:queremos almacenar tablas en el esquema DBO predeterminado
  • Respuesta 3:La tabla [Empleado] debe tener cinco columnas:[ID], [Nombre], [Apellido], [Ciudad] y [Fecha de nacimiento]
  • Respuesta 4:La tabla [Empleado] debe usar los siguientes tipos de datos.
    • [ID]:entero
    • [Nombre]:Varchar(50) NO NULO
    • [Apellido]:Varchar(30) NO NULO
    • [Ciudad]:Varchar[50] NULO
    • [DOB]:FECHA NO NULA
  • Propiedades NULL como se define arriba
  • Sí, la columna [ID] es una columna de clave principal
  • No, solo se necesitan índices agrupados

Tipos de tablas SQL

Las tablas de SQL Server se pueden dividir en las siguientes categorías.

Tablas del sistema

SQL Server almacena la configuración de la instancia y las propiedades de la base de datos en un conjunto especial de tablas. Estas tablas se conocen como tablas del sistema. Los usuarios no pueden realizar cambios en estas tablas directamente. SQL Server no permite consultar directamente tablas específicas del sistema. En su lugar, proporciona procedimientos almacenados del sistema, funciones, objetos de administración de SQL Server y objetos de administración de replicación para consultar estos componentes. Puede consultar los documentos de Microsoft para comprender las tablas del sistema con mayor detalle.

Mesas temporales

A veces, necesitamos almacenar datos temporalmente en la base de datos para realizar cálculos, manipularlos o almacenar resultados intermedios. En estos casos, podemos utilizar tablas temporales que siempre se guardan en la base de datos del sistema TempDB.

SQL Server tiene dos tipos de tablas temporales:

  • Local: Cada tabla temporal local comienza con un signo (#). Su alcance se limita a la conexión actual. SQL Server elimina automáticamente estas tablas una vez que el usuario se desconecta.
  • Global: Cada tabla temporal global comienza con un signo (##). Todos los usuarios pueden hacer referencia a las tablas temporales globales. Si todos los usuarios que hacen referencia a la tabla global están conectados, SQL Server la descarta.

–Tabla TEMPORAL ( Local )
Crear tabla #TableA
(
ID int,
[Nombre] varchar(50)
)

–Tabla temporal global
Crear tabla ##TableB
(
ID int,
[Nombre] varchar(50)
)

Tabla permanente o definida por el usuario

Los usuarios pueden definir su propia estructura de tabla, columnas, tipos de datos, restricciones e índices según los requisitos de su aplicación. Estas tablas se denominan tablas definidas por el usuario.

Estas tablas siempre se almacenan en la base de datos a menos que alguien las elimine explícitamente. Por lo tanto, también se conocen como tablas permanentes.

Hay varias formas de crear una tabla definida por el usuario en SQL Server.

  • GUI de SQL Server Management Studio
  • Uso de la secuencia de comandos T-SQL

–Tabla permanente
Crear tabla TableA
(
ID int,
[Nombre] varchar(50)
)

Mesas externas

Las tablas externas son un tipo particular de tabla que se puede usar en SQL Server 2016 en adelante. Estas tablas hacen referencia a otras fuentes de datos como el almacenamiento de blobs de Azure, Hadoop, Oracle, Excel, ODBC, Bigdata, MongoDB y Teradata mediante la función PolyBase de SQL Server.

Puede consultar esta documentación para explorar más a fondo PolyBase en SQL Server.

Tablas gráficas

Las bases de datos de gráficos de SQL Server utilizan una colección de diferentes nodos (vértices) y bordes (relaciones).

  • Tabla de nodos :La tabla de nodos es una colección de nodos que tienen tipos similares. Por ejemplo, la tabla de nodos de personas tiene todos los nodos de personas en un gráfico.
  • Mesa de borde :La mesa de borde es una colección de bordes similares. Por ejemplo, una mesa de amigos contiene todos los bordes que conectan a una persona con otra persona.

Para explorar esto más a fondo, consulta las categorías de la base de datos de gráficos.

Directrices para crear una tabla definida por el usuario en SQL Server

  • Defina una convención de nomenclatura adecuada para los nombres de las tablas.
  • Utilice diferentes esquemas para agrupar objetos de tabla similares.
  • Asegúrese siempre de que la integridad referencial se mantenga utilizando las restricciones de SQL Server, como la clave principal y la clave externa.
  • Defina siempre un tipo de datos adecuado y su longitud para leer y escribir datos rápidamente.
  • Utilice técnicas de normalización de bases de datos para reducir la redundancia de datos y mejorar la integridad de los datos.
  • Comprender las diferentes formas de normalización y cómo usarlas. (Puede consultar este artículo: ¿Qué es la normalización de bases de datos en SQL Server?)
  • Defina índices adecuados para sus cargas de trabajo de consulta.
  • Consulte siempre con profesionales de bases de datos para obtener asesoramiento sobre el modelado de bases de datos y la aplicación de mejores prácticas