Fundamentos de bases de datos

Una base de datos de SQL Server consta de una colección de tablas en las que se almacena un conjunto específico de datos estructurados.Una tabla contiene una colección de filas, también denominadas tuplas o registros, y columnas, también denominadas atributos. Cada columna de la tabla se ha diseñado para almacenar un determinado tipo de información; por ejemplo, fechas, nombres, importes en moneda o números.

Las tablas contienen diversos tipos de controles, como restricciones, desencadenadores, valores predeterminados y tipos de datos de usuario personalizados, que garantizan la validez de los datos. Se pueden agregar restricciones de integridad referencial declarativa (DRI) a las tablas con el fin de asegurar la coherencia de los datos interrelacionados que se encuentran en tablas distintas. Las tablas pueden presentar índices, similares a los de los libros, que permiten localizar las filas rápidamente. Una base de datos también puede incluir procedimientos que utilicen código de programación de Transact-SQL o .NET Framework para realizar operaciones con los datos de la base de datos. Entre estas operaciones se incluye la creación de vistas que proporcionen acceso personalizado a los datos de la tabla o una función definida por el usuario que realice cálculos complejos en un subconjunto de filas.

Por ejemplo, cree una base de datos denominada MyCompanyDB para administrar los datos de su empresa. En la base de datos MyCompanyDB, cree una tabla que se denomine Employees para almacenar información sobre cada empleado. La tabla tiene también columnas denominadas EmpId, LastName, FirstName, Dept y Title. Debe agregar algunas restricciones a la tabla para que no haya dos empleados con el mismo valor de EmpId y que la columna Dept contenga únicamente números válidos correspondientes a departamentos de su empresa.

Defina índices con el fin de localizar rápidamente los datos de un empleado a partir del identificador del empleado o de sus apellidos. Tendrá que agregar una fila de datos a la tabla Employees para cada empleado, por lo que también tiene que crear un procedimiento almacenado denominado AddEmployee. Este procedimiento se personaliza para que acepte los valores de datos para un nuevo empleado y realice la operación de agregar la fila a la tabla Employees. Puede que se necesite un resumen de empleados por departamento. En este caso, defina una vista denominada DeptEmps que combine los datos de las tablas Departments y Employees y genere el resultado. Esta ilustración muestra las partes del MyCompanyDB que se crea.

Objetos de una base de datos

Una instancia de SQL Server admite muchas bases de datos. Cada base de datos puede almacenar datos interrelacionados o sin relacionar procedentes de otras bases de datos. Por ejemplo, una instancia de SQL Server puede tener una base de datos que almacene datos del personal y otra que almacene datos relacionados con los productos. Por otra parte, puede utilizarse una base de datos para almacenar datos acerca de pedidos actuales de los clientes y otra base de datos relacionada puede almacenar pedidos anteriores de los clientes que se utilicen para la elaboración de los informes anuales.

Nota importanteImportante

Se recomienda no crear objetos de usuario, como tablas, vistas, procedimientos almacenados o desencadenadores, en la base de datos master. La base de datos master contiene información del sistema que la instancia de SQL Server utiliza, como información de inicio de sesión y valores de opciones de configuración.

Base de datos OLTP

Las bases de datos relacionales de procesamiento de transacciones en línea (OLTP) son óptimas para administrar datos que cambian. Suelen tener varios usuarios que realizan transacciones al mismo tiempo que cambian los datos en tiempo real. Aunque las solicitudes de datos realizadas individualmente por los usuarios suelen hacer referencia a pocos registros, muchas de estas solicitudes se producen al mismo tiempo.

Las bases de datos OLTP están diseñadas para permitir que las aplicaciones transaccionales escriban sólo los datos necesarios para controlar una sola transacción lo antes posible. Las bases de datos OLTP se caracterizan en general por lo siguiente:

  • Admiten el acceso simultáneo de muchos usuarios que agregan y modifican datos con regularidad.

  • Representan el estado en cambio constante de una organización, pero no guardan su historial.

  • Contienen muchos datos, incluidos todos los datos utilizados para comprobar transacciones.

  • Tienen estructuras complejas.

  • Se ajustan para dar respuesta a la actividad transaccional.

  • Proporcionan la infraestructura tecnológica necesaria para admitir las operaciones diarias de la empresa.

  • Las transacciones individuales se completan rápidamente y se tiene acceso a cantidades de datos relativamente pequeñas. Los sistemas OLTP están diseñados y ajustados para procesar cientos o miles de transacciones que se indican al mismo tiempo.

Los datos en los sistemas OLTP están organizados básicamente para admitir transacciones, como:

  • Registrar un pedido de un terminal punto de venta o especificado a través de un sitio Web.

  • Realizar un pedido de más provisiones cuando las cantidades de inventario descienden hasta determinado nivel.

  • Hacer un seguimiento de componentes desde su ensamblaje hasta un producto final en un proceso de fabricación.

  • Registrar datos de empleados.

Almacén de datos

A diferencia de una base de datos OLTP en que el objetivo es obtener una gran velocidad en las modificaciones y adiciones de datos, el objetivo de un almacén de datos es organizar grandes cantidades de datos estables para facilitar el análisis y la recuperación. En muchas ocasiones, un almacén de datos se utiliza como el fundamento de una aplicación de Business Intelligence.

A continuación se muestra una lista de lo que pueden hacer los almacenes de datos:

  • Combinan datos de orígenes heterogéneos en una única estructura homogénea.

  • Organizan los datos en estructuras simplificadas buscando la eficiencia de las consultas analíticas más que del proceso de transacciones.

  • Contienen datos transformados que son válidos, coherentes, consolidados y con el formato adecuado para realizar el análisis.

  • Proporcionan datos estables que representan el historial de la empresa.

  • Se actualizan periódicamente con datos adicionales, en lugar de realizar transacciones frecuentes.

  • Simplifican los requisitos de seguridad.

Instantánea de base de datos

Una instantánea de base de datos es una vista estática de sólo lectura de una base de datos denominada base de datos de origen. Cada instantánea de base de datos es coherente en cuanto a las transacciones con la base de datos tal como existía en el momento de la creación de la instantánea. Para obtener más información, vea Instantáneas de base de datos.