ddl en base de datos
Para modificar la estructura de una tabla se utiliza el comando ALTER TABLE.
ALTER TABLE Tabla
{[ADD ( Columna Tipodato [restricción de columna][…])]
[MODIFY ( Columna Tipodato[restricción de columna]][…])]
[ADD CONSTRAINTS restricción]
[DROP CONSTRAINTS restricción]};
Añadir o modificar columnas ( nombre, tipo, valor por defecto,restricción NOT NULL)
ALTER TABLE nombre_table {ADD | MODIFY} ( columna tipo [restricción,..])
Eliminación de columnas
ALTER TABLE nombre_table DROP COLUMN nombre_columna
Añadir restricción de tabla
ALTER TABLE nombre_tabla ADD CONSTRAINT nombre_restricción restricción
Eliminar una restricción.
ALTER TABLE nombre_table DROP CONSTRAINT nombre_restricción
Activación y desactivación de unarestricción.
ALTER TABLE nombre_table [ENABLE VALIDATE|ENABLE NOVALIDATE|DISABLE] nombre_restricción
Donde:
ENABLE VALIDATE activa la restricción si el conjunto de filas ya presentes en la tabla cumple dicha restricción.
ENABLE NOVALIDATE activa la restricción para las siguientes instrucciones de manipulación de datos.
DISABLE desactiva la restricción.
Hay que tener en cuenta que si la tabla estávacía, al añadir una columna con la restricción NOT NULL no habrá ningún error, pero si tiene filas no permitirá añadir una columna con esta opción.
Ejemplos:
ALTER TABLE CabFacturas ADD dFecPago DATE;
ALTER TABLE CabFacturas MODIFY dFecPago DEFAULT SYSDATE;
ALTER TABLE CabFacturas DROP COLUMN dFecAux;
ALTER TABLE CabFacturas ADD CONSTRAINT CK_CabFacturas CHECK ( dFecPago >= dFecFac);
ALTER TABLELinFacturas ADD CONSTRAINT CK1_LinFact CHECK ( Precio > 0);
ALTER TABLE LinFacturas DROP CONSTRAINT CK1_LinFact;
ALTER TABLE CabFacturas DISABLE CK_CabFacturas;
ALTER TABLE nombre_table DROP COLUMN nombre_columna;
Las vistas son tablas virtuales ‘que contienen’ el resultado de una consulta SELECT, tienen la misma estructura que una tabla cualquiera, es decir, están organizadas por filas ycolumnas. Una de las principales ventajas de utilizar vistas procede del hecho de que la vista no almacena los datos, sino que hace referencia a una o varias tablas de origen mediante una consulta SELECT, consulta que se ejecuta cada vez que se hace referencia a la vista. De esta forma, cualquier modificación que se realice sobre los datos de las tablas de origen es inmediatamente visible en lavista, cuando ésta vuelva a ejecutarse. Su sintaxis es:
CREATE [OR REPLACE] VIEW Nombre_vista
[(Lista de columnas)]
AS SELECT[...]
La opción REPLACE, lo que hace es, reemplazar la vista en el caso de que esta ya exista. Las vistas se utilizan de forma análoga a las tablas, permitiendo realizar consultas sobre las vistas, también se pueden realizar sentencias DML sobre las vistas, sinembargo, las modificaciones, borrados e inserciones están restringidas a vistas que estén definidas sobre una única tabla.
-- Vista para mostrar datos de departamentos y empleados
CREATE OR REPLACE VIEW my_emp_view AS
SELECT d.department_id, d.department_name,
e.employee_id, e.first_name, e.last_name
FROM employees e
JOIN departments d ON d.manager_id = e.employee_id;
Vistas interactivas.Son vistas que se definen sin utilizar el comando CREATE VIEW, sino directamente sobre el comando SELECT. Por ejemplo:
SELECT cCodCli, cNomCli, Importe
FROM Clientes C,(SELECT SUM (Cantidad*Precio) AS Importe
FROM Articulos a, LinPedidos l
WHERE a.cCodArt = l.cCodArt
GROUP BY nPedido) LP,
Pedidos P
WHERE c.cCodCli = p.cCodCli AND p.nPedido = LP.nPedido ;En el caso anterior, LP actúa como una vista interactiva.
Borrado de una vista.
La orden para borrar una vista es DROP VIEW. Su sintaxis es:
DROP VIEW Nombre_vista
CREATE sirve para crear objetos de la base de datos, entre estos objetos tenemos tablas, vistas etc.
Creación de una tabla
CREATE TABLE nombre tabla
(nombrecol1 tipocol1
[CONSTRAINT nombre_restricción]
[NOT NULL]...
Regístrate para leer el documento completo.