Su idea fundamental es el uso de "relaciones". Estas relaciones podrían considerarse en forma lógica como conjuntos de datos llamados "tuplas". Esto es pensando en cada relación como si fuese una tabla que está compuesta por registros (las filas de una tabla), que representarían las tuplas, y campos (las columnas de una tabla).
La información puede ser recuperada o almacenada mediante consultas que ofrecen una amplia flexibilidad y poder para administrar la información.
El lenguaje más habitual para construir las consultas a bases de datos relacionales es SQL (Structured Query Language) o Lenguaje Estructurado de Consultas, un estándar implementado por los principales motores o sistemas de gestión de bases de datos relacionales. El diseño de una base de datos relacional pasa por un proceso al que se le conoce como normalización de una base de datos.
ESQUEMA DE UNA BASE DE DATOS RELACIONAL
4. COMPONENTES DE UNA BASE DE DATOS.
Para crear una base de datos, determine el nombre de la base de datos, el propietario (el usuario que crea la base de datos), su tamaño, y los archivos y grupos de archivos utilizados para almacenarla.
Antes de crear una base de datos, considere lo siguiente:
- De forma predeterminada, tienen permiso para crear una base de datos las funciones fijas del servidor sysadmin y dbcreator, aunque se puede otorgar permisos a otros usuarios.
- El usuario que crea la base de datos se convierte en su propietario.
- En un servidor, pueden crearse hasta 32,767 bases de datos.
Se utilizan tres (03) tipos de archivos para almacenar una base de datos:
Definiremos los tipos de archivos que componen una base de datos:
- Archivo Principal: Estos archivos contienen la información de inicio para la base de datos. Este archivo se utiliza también para almacenar datos. Cada base de datos tiene un único archivo principal. Tiene extensión .MDF.
- Archivo Secundario: Estos archivos contienen todos los datos que no caben en el archivo de datos principal. No es necesario que las bases de datos tengan archivos de datos secundarios si el archivo principal es lo suficientemente grande como para contener todos los datos.
Algunas bases de datos pueden ser muy grandes y necesitar varios archivos de datos secundarios o utilizar archivos secundarios en unidades de disco distintas, de modo que los datos estén distribuidos en varios discos. Tiene extensión .
NDF.
- Archivo de Transacciones: Estos archivos contienen la información de registro que se utiliza para recuperar la base de datos. Debe haber al menos un archivo de registro de transacciones para cada base de datos, aunque puede haber más de uno. El tamaño mínimo para un archivo de registro es 512 kilobytes (KB). Tiene extensión .LDF.
5. CREACIÓN DE UNA BASE DE DATOS ESTÁNDAR.
Debemos tener en cuenta que una base de datos se compone mínimamente de un archivo principal y un archivo de transacciones. Al crear una base de datos estándar estos archivos se implementarán de manera automática, esto nos liberará de pensar en las especificaciones que pudiera tener dichos archivos, pero nos crea una desventaja en el control de los mismos. Por ejemplo, se presentan las siguientes cuestiones:
¿Dónde se guarda la base de datos?
La ubicación de los archivos de una base de datos dependerá del proceso de instalación del SQL Server. Por ejemplo:
C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\
¿Cuál es el tamaño asignado a los archivos de la base de datos?
Se realiza ejecutando el store procedure
SP_HELPDB NOMBRE_DE_BD
- Tamaño: 2304 KB
- Máximo Tamaño: Ilimitado
- Tasa de Crecimiento: 1024 KB
- Archivo de Transacciones:
- Tamaño: 576 KB
- Máximo Tamaño: 2147483648 KB
- Tasa de Crecimiento: 10%
Sentencia para la creación de una base de datos:
Donde:
- CREATE DATABASE: Es la sentencia de creación de base de datos en el servidor.
- [NOMBRE_BASE_DATOS]: Es el nombre que se le asigna a la base de datos; debemos tener en cuenta que dicho nombre no debe empezar con un numero o algún carácter especial y tampoco debe contener espacios en blanco.
- GO: Es un comando que indica el final de un lote de sentencias.
6. CREACIÓN DE UNA BASE DE DATOS PERSONALIZADA.
Crear una base de datos personalizada nos permite especificar las propiedades de cada uno de los archivos que la compone e inclusive podemos agregar archivos adicionales como los archivos secundarios.
Sentencia para la creación de una base de datos personalizada:
Propiedades del archivo de una base de datos.
Los archivos que componen una base de datos tienen características similares, lo que lo diferencia son los valores en cada una de las características:
- NAME
Es el nombre lógico del archivo primario; no puede haber dos archivos lógicos con el mismo nombre en una misma base de datos. Por ejemplo:
NAME = 'VENTAS'
- FILENAME
Es la especificación de la ruta y el nombre del archivo físico; estos nombres seran visibles desde el explorador de archivos de windows.
FILENAME='C:\base\ventas.mdf'
Cuando se especifica una carpeta en la ruta, esta deberá estar creada antes de ejecutar la sentencia. Para este caso la carpeta “base” deberá existir en la unidad c.
- SIZE
Es el tamaño inicial del archivo, debemos considerar que los tamaños se especifican en KB (Kilobyte), MB (Megabyte), GB (Gigabyte) y que cuando no se especifica se entiende que es MB. Por ejemplo:
SIZE=2048KB
SIZE=2MB
SIZE=2
Todas las representaciones son similares; lo que lo diferencia es la forma de especificar la unidad de medida.
- MAXSIZE
Es la definición del máximo tamaño que puede llegar a tener una base de datos. Estos se pueden dar en KB, MB, GB, etc. En caso no tengamos fijo el máximo tamaño podemos optar por asignar UNLIMITED, el cual usa el tamaño máximo permitido por el sistema operativo y la capacidad de disco con que se cuenta. Por ejemplo:
MAXSIZE=300 (300 Megabyte)
MAXSIZE=UNLIMITED (Límite permitido por el sistema)
- FILEGROWTH
Es la definición de la tasa de crecimiento; esto puede darse en tamaños específicos (KB, MB o GB) o en porcentajes. Debemos tener en cuenta que esta definición solo será efectiva cuando la información almacenada cope el tamaño definido en la cláusula SIZE.
FILEGROWTH=10 (Amplía el tamaño actual en 10MB).
FILEGROWTH=10% (Amplía el tamaño actual en un 10% en el momento en que tiene lugar el incremento).
Validando la existencia de la base de datos.
Donde:
- IF: Es la sentencia condicional que permitira condicionar la existencias de la base de datos.
- DB_ID: Función que permite devolver el identificador de una base de datos.
- IS NOT NULL: Determina si la evaluación especificada es no NULA, es decir, si existe.
- BEGIN...END: Cláusula que permite determinar el inicio y fin de un conjunto de sentencias. Cuando es una sola sentencia no es necesario ponerlo.
- DROP DATABASE: Sentencia DDL que permite eliminar una base de datos.
Veamos como validar la existencia de la base de datos SQL_DB_MANAGER:
Podemos interpretar de la siguiente manera, si la base de datos SQL_DB_MANAGER existe, entonces se eliminará dicha base, caso contrario se omite la eliminación.
9. RESTRICCIONES (CONSTRAINTS)
Restricción DEFAULT
Un ejemplo de valores por defecto lo podemos encontrar en la asignación
NULL de un campo, los cuales permiten al usuario no especificar un contenido en dicha columna; asignando el valor “
NULL” en dicha columna. Así mismo podemos implementar valores por defecto sobre ciertas columnas de una tabla.
Podemos definir un valor por defecto de las siguientes formas:
Al crear una tabla
CREATE TABLE NOMBRE_TABLA(
COLUMNA1 TIPO DEFAULT VALOR
COLUMNA2 TIPO DEFAULT VALOR
)
Agregar a una tabla ya existente
ALTER TABLE NOMBRE_TABLA
ADD DEFAULT 'VALOR'
FOR CAMPO
Finalmente, si necesitamos visualizar el tipo de asignación por defecto realizada a la tabla EMPLEADO podemos emplear la siguiente sentencia:
SP_HELPCONSTRAINT EMPLEADO