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


8.3. Eliminar una base de datos DROP DATABASE

Para eliminar una base de datos tenemos la instrucción DROP DATABASE.


    DROP DATABASE { nbBasedeDatos } [ ,...n ] [;]  

La base de datos puede ser una base de datos normal o una instantánea de base de datos.
Para poder ejecutar la sentencia el usuario debe tener permiso de CONTROL y se debe de ejecutar en un contexto diferente del de la base de datos a eliminar, por ejemplo:


    use  b1

      DROP DATABASE b1  

Falla porque con el use estamos en el contexto de la base de datos a eliminar.

Como se ve en la sintaxis podemos eliminar varias bases de datos con una sóla sentencia DROP DATABASE.

Por ejemplo:


    DROP DATABASE b1,b2  

Elimina las bases de datos b1 y b2.

8.4. Modificar las propiedades de una BD ALTER DATABASE

Si después de crear la base de datos queremos cambiar algo de su definición podríamos eliminarla (con DROP DATABASE) y luego crearla otra vez (con CREATE DATABASE), pero si ya la hemos rellenado con tablas u otros objetos, esta solución no sería muy práctica. Para cambiar la definición de la base de datos una vez creada tenemos que utilizar la sentencia ALTER DATABASE.

Para poder ejecutar esta sentencia se debe de tener el permiso ALTER en la base de datos.  Esta sentencia se debe ejecutar en el modo de confirmación automática (modo de administración de transacciones predeterminado) y no se permite en una transacción explícita o implícita.
Las instantáneas de bases de datos no se pueden modificar, y para modificar las opciones de base de datos asociadas a la réplica, se utiliza el procedimiento almacenado del sistema  sp_replicationdboption.

Sintaxis:


    ALTER DATABASE nbBasedeDatos

      {

          <cambiar_ficheros>

        | <cambiar_grupos>

        | <opciones>

        | MODIFY NAME = nuevo_nbBasedeDatos 

        | COLLATE nbintercalación

      }

      [;]  

Con esta sentencia resumida vemos que nos permite cambiar la definición de la base de datos, nos va a permitir cambiar la definición de los ficheros que conforman la base de datos, también nos permite cambiar la definición de los grupos, la definición de varias opciones, el tipo de intercalación e incluso cambiar el nombre de la base de datos (con la cláusula MODIFY NAME).

Por ejemplo:


    ALTER DATABASE Cliente

      MODIFY NAME = Clientes;  

La base de datos Cliente pasa a llamarse Clientes.

Como con la instrucción CREATE DATABASE veremos aquí un resumen de lo que más le puede interesar a un programador, sin entrar en demasiados detalles de administración.
Como muchas de las palabras ya las hemos explicado con la sentencia CREATE DATABASE, sólo insistiremos en lo nuevo.


    <cambiar_ficheros>::=

      {

          ADD FILE < esp_fichero > [ ,...n ] 

              [ TO FILEGROUP { nbgrupo |  DEFAULT } ]

        | ADD LOG FILE < esp_fichero > [ ,...n ] 

        | REMOVE FILE nbfichero

        | MODIFY FILE < esp_fichero  >

      }  

Con este grupo de opciones podemos cambiar la definición de los archivos de datos de la base de datos.
ADD FILE permite añadir un nuevo archivo de datos (o varios) si no se añade nada (o TO FILEGROUP DEFAULT), el archivo se añadirá al grupo principal, si añadimos TO FILEGROUP nbgrupo, se añadirá el archivo al grupo indicado.
Con ADD LOG FILE podemos añadir un nuevo archivo de registro.
Con REMOVE FILE nbfichero eliminamos el archivo con nombre nbfichero.
Se elimina la definición del archivo lógico (nbfichero) y elimina el archivo físico asociado. El archivo no se puede quitar a menos que esté vacío.

Febrero-2010
Pág. 8.3

Atrás  Inicio  Adelante



.