You are on page 1of 23

LENGUAJE DE DEFINICIN DE DATOS

(DDL)
OBJETIVOS
Al completar esta leccin, estar capacitado para hacer lo
siguiente:
Describir los principales objetos de la base de datos.

Crear tablas.

Describir los tipos de datos que puede usar cuando
especifique la definicin de columnas.

Alterar la definicin de la tabla.

Eliminar, renombrar y truncar tablas

SENTENCIAS DDL
Sentencias DDL son un subconjunto de sentencias SQL.

Usadas para crear, modificar o eliminar estructuras de base de
datos ORACLE.

Objeto Descripcin
Table Unidad bsica de almacenamiento,
compuesta de filas y columnas
View Representacin lgica de un sub conjunto
de datos de una o ms tablas
Sequence Generador de valores numricos
Index Mejora el rendimiento de algunas consultas
Synonym Nombre alternativo de un objeto
OBJETOS DE LA BASE DE DATOS
LA SENTENCIA CREATE TABLE
Creamos tablas para almacenar data ejecutando la sentencia SQL:

CREATE TABLE

Esta sentencia es una sentencia de Lenguaje de Definicin de
Datos (DDL).


CONVENCIONES EN LOS NOMBRES
Nombres de Tablas y Columnas:
Deben comenzar con una letra
Pueden tener de 130 caracteres
Debe contener solo: AZ, az, 09, _, $, y #
No deben existir nombres duplicados en los objetos del mismo
usuario
No deben ser una palabra reservada del Oracle Server

Use nombres descriptivos para tablas y otros objetos de la base
de datos

Los nombres son case insensitive
LA SENTENCIA CREATE TABLE
Debemos tener :
El Privilegio CREATE TABLE
Un rea de almacenamiento

Debemos especificar:
Nombre de la tabla
Nombre de la columna, tipo de dato y tamao, para cada columna

LA SENTENCIA CREATE TABLE


En la sintaxis
Schema : Es lo mismo que el propietario del objeto.
Table : Es el nombre de la tabla.
Column : Es el nombre de la columna.
Datatype : Es el tipo de la columna y longitud.
DEFAULT expr : Especifica un valor por defecto.




CREATE TABLE [schema.]table
(column datatype [DEFAULT expr][, ...]);
REFERENCIANDO TABLAS DE OTROS
USUARIOS
Las tablas pertenecientes a otros usuarios no son vistas en el
esquema de usuario actual

Para verlas debe anteponer el nombre del propietario al nombre
de la tabla.

Debe tener privilegios.
Especifica un valor por default para una columna, para que lo
use durante la insercin

Esta opcin previene el ingreso de valores nulos a columnas


Son legales valores literal, expresiones, o funciones SQL.

Son ilegales valores de seudo columnas o el nombre de otra
columna.

El tipo de dato debe ser del mismo tipo que se define para la
columna.



hiredate DATE DEFAULT SYSDATE,
LA OPCIN DEFAULT
TABLAS EN LA BASE DE DATOS ORACLE
Tablas del usuario
Coleccin de tablas creadas y mantenidas por el usuario
Contienen informacin del usuario

Diccionario de datos
Coleccin de tablas creadas y mantenidas por Oracle
server
Contienen informacin de la base de datos:
Nombre de los usuarios, privilegios concedidos a los
usuarios, nombres de objetos de base de datos, reglas
de integridad de tablas, e informacin de auditoria.



SQL> SELECT DISTINCT object_type
2 FROM user_objects;





Ver los distintos tipos de objetos de propiedad del
usuario.
Ver las tablas, vistas, secuencias y sinnimos de propiedad
del usuario
SQL> SELECT table_name
2 FROM user_tables;
SQL> SELECT *
2 FROM user_catalog;
Ver los nombres de las tablas de propiedad del usuario.
CONSULTANDO EL DICCIONARIO
DE DATOS
TIPO DE DATO DESCRIPCIN
VARCHAR2(size) Dato caracter de longitud variable
CHAR(size) Dato caracter de longitud fija
NUMBER(p,s) Dato numrico de longitud variable
DATE Fecha y hora
LONG Dato caracter de longitud variable
hasta de 2 gigabytes
CLOB Datos caracter de simple byte hasta de
4 gigabytes
RAW y LONG RAW Filas de datos binarios
BLOB Datos binarios hasta de 4 gigabytes
BFILE Datos binarios almacenados en un
archivo externo hasta de 4 gb
TIPOS DE DATOS
LA SENTENCIA ALTER TABLE
Despus de crear una tabla, podramos necesitar cambiar la
estructura de una tabla

Use la sentencia ALTER TABLE para:
Adicionar una nueva columna

Modificar una columna existente

Definir un valor por defecto para la nueva columna

Eliminar una columna
LA SENTENCIA ALTER TABLE
Sintaxis:








ALTER TABLE table
ADD (column datatype [DEFAULT expr]
[, column datatype]...);
ALTER TABLE table
MODIFY (column datatype [DEFAULT expr]
[, column datatype]...);




ALTER TABLE table
DROP (column);







DEPT80
EMPNO ENAME ANNSAL HIREDATE
------ ---------- --------
7698 BLAKE 34200 01-MAY-81
7654 MARTIN 15000 28-SEP-81
7499 ALLEN 19200 20-FEB-81
7844 TURNER 18000 08-SEP-81
...
agregar
una nueva
columna en
la tabla
DEPT80







DEPT80
EMPNO ENAME ANNSAL HIREDATE
------ ---------- --------
7698 BLAKE 34200 01-MAY-81
7654 MARTIN 15000 28-SEP-81
7499 ALLEN 19200 20-FEB-81
7844 TURNER 18000 08-SEP-81
...







JOB







JOB
New column
AGREGANDO UNA COLUMNA
ADICIONANDO UNA COLUMNA
Use la clusula ADD para agregar columnas.

La nueva columna ser la ltima columna.
MODIFICANDO UNA COLUMNA
Use la clusula Modify

Puede cambiar el tipo de dato de una columna, el tamao y el
valor por default.

Un cambio al valor por default afecta solamente a las nuevas
inserciones en la tabla.

ELIMINANDO UNA COLUMNA
Se usa la clusula DROP COLUMN cuando la columna no ser
necesaria en la tabla.

La columna puede o no contener datos.

Solo una columna puede ser eliminada a la vez.

La tabla debe tener al menos una columna, despus de ser
alterada.

Una vez que una columna es eliminada, no puede ser
recobrada

ELIMINANDO UNA TABLA
Use la sentencia DROP TABLE
Todos los datos y la estructura de la tabla es eliminada.

Algunas transacciones pendientes son grabadas (committed).

Todos los ndices son eliminados.

Ud. no puede hacer roll back de esta sentencia. Es irreversible.

Solo el creador de la tabla o un usuario con el privilegio de DROP ANY
TABLE puede eliminar la tabla
TRUNCANDO UNA TABLA
La sentencia TRUNCATE TABLE:
Elimina todas las filas de la tabla
Libera los espacios de almacenamiento usados por la tabla

No puede recuperar con roll back las filas removidas cuando usa
TRUNCATE.

Debe ser el propietario de la tabla o tener el privilegio de sistema
DELETE TABLE para truncar una tabla.

La sentencia DELETE, no libera el espacio de almacenamiento.
CAMBIANDO EL NOMBRE DE UN
OBJETO
Para cambiar el nombre de una tabla, vista, secuencia o sinnimo,
debemos ejecutar la sentencia RENAME.


Debe ser el propietario del objeto que se va renombrar.




RENAME old_name TO new_name;



SQL> RENAME dept TO detalle_dep;
Table renamed.
Sentencia Descripcin
CREATE TABLE Crea una tabla
ALTER TABLE Modifica la estructura de la tabla
DROP TABLE Elimina las filas y estructura de la tabla
RENAME Cambia el nombre de una tabla, vista,
sequence, o sinnimo
TRUNCATE Elimina todas las filas de la tabla y libera
los espacios de almacenamiento
COMMENT Adiciona comentarios a una tabla o vista
RESUMEN

You might also like