You are on page 1of 23

UNIVERSIDAD DE SAN CARLOS DE GUATEMALA

FACULTAD DE INGENIERIA
ESCUELA DE CIENCIAS Y SISTEMAS

Manejo e implementación de Archivos.
Diciembre 2014
Rigo Macario.

SQL - DDL
DATA DEFINITION LANGUAGE
LENGUAJE DE DEFINICIÓN DE DATOS
SQL ESTÁTICO

CREATE

• CREATE TABLE
• CREATE VIEW
• CREATE DOMAIN
• CREATE ASSERTION
• CREATE INDEX

<definición de columna> |<definición de restricción de tabla>]…). .CREATE TABLE • CREATE [ {GLOBAL | LOCAL} TEMPORARY] TABLE <nombre de tabla> ( <definición de columna> | <definición de restricción de tabla>[.

Nombre Char(15) NOT NULL. CHECK ( ( (Cód_prof_e = NULL) And (Catedrático =1)) Or ((Cód_prof_e = NOT NULL) And (Catedrático =0)) CHECK (Cód_profe <> Cód_profe_e) ). FOREIGN KEY (Cód_profe_e) REFERENCES PROFESOR ON UPDATE CASCADE. Cód_area Char(5) NOT NULL. DNI Int NOT NULL. Dirección Char(25) NOT NULL.CREATE TABLE PROFESOR ( Cod_profe Char(5) PRIMARY KEY. .

CREATE VIEW CREATE VIEW <nombre de tabla> [(<nombre de columna> [.<nombre de columna>]…) AS <expresión de consulta> [WITH CHECK OPTION] .

nada hace suponer que es así.VIEW • En teoría de bases de datos. borrar y seleccionar datos en una vista. De hecho. en algunas condiciones existen restricciones para realizar el resto de las operaciones sobre vistas. Al igual que sucede con una tabla.VISTA. una vista es una consulta accesible como una tabla virtual en una base de datos relacional • Las vistas tienen la misma estructura que una tabla: filas y columnas. La única diferencia es que sólo se almacena de ellas la definición. Los datos que se recuperan mediante una consulta a una vista se presentarán igual que los de una tabla. no los datos. si no se sabe que se está trabajando con una vista. . Aunque siempre es posible seleccionar datos de una vista. actualizar. se pueden insertar.

.OBJETIVO DE LA VISTA • Agilizar consultas • NO hacer: • CREATE VIEW view_books AS SELECT * FROM books.

en la base de datos se guarda la definición de la vista y no el resultado de ella. Las tablas consultadas en una vista se llaman tablas base. En general. se puede dar un nombre a cualquier consulta y almacenarla como una vista.VIEW • Los datos accesibles a través de la vista no están almacenados en la base de datos. • Una vista suele llamarse también tabla virtual porque los resultados que retorna y la manera de referenciarlas es la misma que para una tabla. • Entonces. una vista almacena una consulta como un objeto para utilizarse posteriormente. .VISTAS.

. SITUACION. CIUDAD FROM PROVEEDORES WHERE SITUACION>15 WITH CHECK OPTION.CREATE VIEW Buenos_proveedores AS SELECT S#.

CIUDAD donde SITUACION>15.WITH CHECK OPTION Esto define una vista de la tabla PROVEEDORES denominada Buenos_proveedores de la cual sólo se muestran filas compuestas por los campos S#. Cada vez que se intente modificar o introducir una fila en la tabla de proveedores a través de esta vista se comprobará si el campo SITUACION tiene un valor mayor de 15 denegándose la operación en caso contrario . SITUACION. .

<nombre de columna> [ASC | DESC]]…) [CLUSTER] .CREATE INDEX CREATE [UNIQUE] INDEX <nombre de índice> ON <nombre de tabla> (<nombre de columna> [ASC | DESC] [.

incluso con cargas de trabajo y bases de datos con un grado de complejidad no excesivo • Las tablas utilizadas para almacenar los índices ocupan espacio y consumen recursos. Funciona de forma parecida al índice de un libro donde tenemos el título del capítulo y la página donde empieza dicho capítulo. consume mucho tiempo y está sujeta a errores. en un índice definido sobre una determinada columna tenemos el contenido de la columna y la posición de la fila que contiene dicho valor dentro de la tabla. .QUÉ ES UN ÍNDICE? • Un índice es una estructura de datos definida sobre una columna de tabla (o varias) y que permite localizar de forma rápida las filas de la tabla en base a su contenido en la columna indexada además de permitir recuperar las filas de la tabla ordenadas por esa misma columna. los administradores más experimentados pueden diseñar un buen conjunto de índices. pero esta tarea es muy compleja. • La definición de los índices de la base de datos es tarea del administrador de la base de datos.

INDEX ORACLE .

• CREATE UNIQUE INDEX XS ON PROVEEDORES (S#). . • CREATE UNIQUE INDEX XP ON PIEZAS (P#) CLUSTER.

.UNIQUE Y CLUSTER • La cláusula CLUSTER indica que se trata de un índice de agrupamiento. • La cláusula UNIQUE se emplea para indicar que no se permite que dos registros de la tabla indicada tengan el mismo valor en el campo o combinación de campos índices. es decir que el sistema sitúa los registros relacionados de forma lógica lo más próximos posibles unos de otros en el soporte. Esto sirve para que se cumpla la unicidad de las claves primarias en el sistema DB2.

ALTER • ALTER TABLE • ALTER TABLE <nombre de tabla> • ADD <nombre de columna> • <tipo de dato> [NULL | NOT NULL] .

•ALTER TABLE PROVEEDORES ADD DESCUENTO SMALLINT. .

DROP •DROP TABLE •DROP VIEW •DROP INDEX .

. • La tabla base especificada es eliminada del sistema (más precisamente. la descripción de la tabla es removida del catálogo). Todos los índices y vistas definidos sobre la tabla base son automáticamente eliminados también.DROP TABLE • Esta instrucción destruye una tabla y todos sus índices liberando el espacio que ocupaban.

.•DROP TABLE <nombre de tabla> •DROP TABLE CLIENTES.

. • Útil cuando se quiere eliminar todos los registros de una tabla.TRUNCATE • La tabla especificada no es eliminada sino vaciada.

.•TRUNCATE TABLE <nombre de tabla> •TRUNCATE TABLE CLIENTES.

DIFERENCIA DELETE. • Drop • Elimina la tabla . • Truncate • Elimina todas las tuplas. TRUNCATE Y DROP • Delete • Elimina tuplas.