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


Para añadir una nueva columna o restricción utilizamos la cláusula ADD seguida de la definición de lo que queremos añadir, para eso seguimos la misma sintaxis que para definir las columnas y restricciones de tabla del CREATE TABLE.
Por ejemplo:


    ALTER TABLE Clientes ADD email varchar(50);  

Añade una nueva columna email.


    ALTER TABLE Clientes ADD CONSTRAINT Pk PRIMARY KEY (codcli);  

Añade una restricción de clave primaria sobre la columna codcli que ya existe en la tabla.

La cláusula WITH CHECK|NOCHECK permite establecer si la restricción que estamos añadiendo se tiene que comprobar en las filas que ya existen en la tabla.

Con la cláusula DROP podemos eliminar de la tabla una restricción (DROP CONSTRAINT), o una columna (DROP COLUMN).
Con las siguientes limitaciones:
Una restricción PRIMARY KEY no puede quitarse si existe un índice XML en la tabla.
Una columna no puede quitarse si se utiliza en un índice, en una restricción CHECK, FOREIGN KEY, UNIQUE o PRIMARY KEY, DEFAULT.
Ejemplo:

ALTER TABLE Clientes DROP COLUMN email;
Elimina de la tabla Clientes la columna email que habíamos creado anteriormente.

ALTER TABLE Clientes DROP CONSTRAINT pk ;
Elimina de la tabla Clientes la restricción de PRIMARY KEY, la columna sigue en la tabla pero ya no es clave principal.

Para finalizar, las dos últimas cláusulas nos permiten indicar si se tienen que comprobar o no determinadas restricciones y habilitar y deshabilitar triggers.
CHECK CONSTRAINT ALL activa la comprobación de todas las restricciones definidas sobre la tabla.
DISABLE TRIGGER ALL deshabilita todos los triggers definidos sobre la tabla.
Cuando deshabilitamos un trigger, éste sigue definido, pero no entra en acción cuando se produce el evento que debería activarlo. En cualquier momento lo podremos habilitar con otra instrucción ALTER TABLE.

8.8. Crear una vista CREATE VIEW

Una vista es una tabla virtual que representa los datos de una o más tablas de una forma alternativa. Para crear una nueva vista se emplea la sentencia CREATE VIEW, debe ser la primera instrucción en un lote de consultas.

Una vista sólo se puede crear en la base de datos actual.

 Para ejecutar CREATE VIEW, se necesita, como mínimo, el permiso CREATE VIEW en la base de datos y el permiso ALTER en el esquema en el que se está creando la vista.
 
Sintaxis:


    CREATE VIEW [nbEsquema.] nbVista

      [ (columna [ ,...n ] ) ] 

          AS ( sentencia_select ) [ ; ]

nbEsquema Es el nombre del esquema al que pertenece la nueva tabla.

nbVista Es el nombre de la nueva vista. Los nombres de vistas deben seguir las reglas de los identificadores.

sentencia_select Es la instrucción SELECT que define la vista. Dicha instrucción puede utilizar más de una tabla y otras vistas. Se necesitan permisos adecuados para seleccionar los objetos a los que se hace referencia en la cláusula SELECT de la vista que se ha creado.
Una vista no tiene por qué ser un simple subconjunto de filas y de columnas de una tabla determinada. Es posible crear una vista que utilice más de una tabla u otras vistas mediante una cláusula SELECT de cualquier complejidad.
También se pueden utilizar funciones y varias instrucciones SELECT separadas por UNION o UNION ALL.
Una vista puede tener como máximo 1.024 columnas.

Febrero-2010
Pág. 8.13

Atrás  Inicio  Adelante






.