Unidad 8. El DDL, Lenguaje de Definición de Datos (I)


8.1. Introducción

El DDL (Data Definition Language, o Data Description Language según autores), es la parte del SQL dedicada a la definición de la base de datos, consta de sentencias para definir la estructura de la base de datos, permite definir gran parte del nivel interno de la base de datos. Por este motivo estas sentencias serán utilizadas normalmente por el administrador de la base de datos.
La definición de la estructura de la base de datos incluye tanto la creación inicial de los diferentes objetos que formarán la base de datos, como el mantenimiento de esa estructura. Las sentencias del DDL utilizan unos verbos que se repiten para los distintos objetos. Por ejemplo para crear un objeto nuevo el verbo será CREATE y a continuación el tipo de objeto a crear. CREATE DATABASE es la sentencia para crear una base de datos, CREATE TABLE nos permite crear una nueva tabla, CREATE INDEX crear un nuevo índice… Para eliminar un objeto utilizaremos el verbo DROP (DROP TABLE, DROP INDEX…) y para modificar algo de la definición de un objeto ya creado utilizamos el verbo ALTER (ALTER TABLE, ALTER INDEX…).
Los objetos que veremos en este tema son:

  • Bases de datos
  • Tablas
  • Vistas
  • Índices

Como ya hemos comentado, las sentencias DDL están más orientadas al administrador de la base de datos, es el que más las va a utilizar, el programador tiene que conocer cuestiones relativas a la estructura interna de una base de datos, pero no tiene que ser experto en ello por lo que el estudio del tema se centrará en las sentencias y sobre todo en las cláusulas que pensamos pueden ser útiles a un programador y no entraremos en mucho detalle en cuanto a la estructura física de la base de datos y en la administración de la misma.

8.2. Definir una base de datos CREATE DATABASE

Estructura interna

Como ya vimos en el primer tema, las bases de datos de SQL Server 2005 utilizan tres tipos de archivos:

  • Archivos de datos principales (.mdf): Archivo requerido.
  • Archivos de datos secundarios (.ndf): Archivo opcional.
  • Archivos de registro (.ldf): Archivo requerido.

Y se deben situar en sistemas de archivos FAT o NTFS. Se recomienda NTFS.

CREATE DATABASE

CREATE DATABASE nbBasedeDatos 

          [ ON 

                   [ PRIMARY ] [ <esp_fichero> [ ,...n ] 

                   [ , <grupo> [ ,...n ] ] 

          [ LOG ON {  < esp_fichero > [ ,...n ] } ] 

          ] 

          [ COLLATE nbintercalacion]

          [ WITH <external_access_option> ]

      ]

      [;]

Como vemos la instrucción mínima es:

CREATE DATABASE nbBasedeDatos 

nbBasedeDatos: Es el nombre de la nueva base de datos. Los nombres de base de datos deben ser únicos en una instancia de SQL Server y cumplir las reglas de los identificadores. Puede tener 128 caracteres como máximo, excepto en un caso que veremos más adelante.

Con la cláusula ON especificamos los ficheros utilizados para almacenar los archivos de datos.


        [ ON 

              [ PRIMARY ] [  <esp_fichero> [ ,...n ] 

              [ , <grupo> [ ,...n ] ] 

    <esp_fichero> ::= 

       (

         NAME = nbfichero_logico ,

         FILENAME = 'nbfichero_fisico' 

          [ , SIZE = tamaño [ KB | MB | GB | TB ] ] 

          [ , MAXSIZE = { max_size [ KB | MB | GB | TB ] | UNLIMITED } ] 

          [ , FILEGROWTH = incremento_crecimiento [ KB | MB | GB | TB | % ] ]

      )  

nbfichero_logico es el nombre que se utiliza para hacer referencia al archivo en todas las instrucciones Transact-SQL. El nombre de archivo lógico tiene que cumplir las reglas de los identificadores de SQL Server y tiene que ser único entre los nombres de archivos lógicos de la base de datos.

nbfichero_fisico es el nombre del archivo físico que incluye la ruta de acceso al directorio. Debe seguir las reglas para nombres de archivos del sistema operativo.

Con la cláusula SIZE indicamos el tamaño original del archivo.
Los archivos de SQL Server 2005 pueden crecer automáticamente a partir del tamaño originalmente especificado. Con FILEGROWTH se puede especificar un incremento de crecimiento y cada vez que se llena el archivo, el tamaño aumentará en la cantidad especificada.

Cada archivo también puede tener un tamaño máximo especificado con MAXSIZE. Si no se especifica un tamaño máximo, el archivo puede crecer hasta utilizar todo el espacio disponible en el disco. Esta característica es especialmente útil cuando SQL Server se utiliza como una base de datos incrustada en una aplicación para la que el usuario no dispone fácilmente de acceso a un administrador del sistema. El usuario puede dejar que los archivos crezcan automáticamente cuando sea necesario y evitar así las tareas administrativas de supervisar la cantidad de espacio libre en la base de datos y asignar más espacio manualmente.

Febrero-2010
Pág. 8.1

Atrás  Inicio  Adelante



.