2. OBJETIVOS
Al completar esta lección, 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 definición de columnas
– Alterar la definición de la tabla
– Eliminar, renombrar y truncar tablas
Ing. Henry Gallardo Yntor
3. SENTENCIAS DDL
Sentencias DDL son un subconjunto de sentencias SQL.
Usadas para crear, modificar o eliminar estructuras de base de
datos ORACLE.
Ing. Henry Gallardo Yntor
4. OBJETOS DE LA BASE DE DATOS
Objeto Descripción
Table Unidad básica de almacenamiento,
compuesta de filas y columnas
View Representación lógica de un sub conjunto
de datos de una o más tablas
Sequence Generador de valores numéricos
Index Mejora el rendimiento de algunas consultas
Synonym Nombre alternativo de un objeto
Ing. Henry Gallardo Yntor
5. La sentencia CREATE TABLE
Creamos tablas para almacenar data ejecutando la sentencia SQL:
CREATE TABLE
Esta sentencia es una sentencia de Lenguaje de Definición de
Datos (DDL).
Ing. Henry Gallardo Yntor
6. CONVENCIONES EN LOS NOMBRES
Nombres de Tablas y Columnas:
• Deben comenzar con una letra
• Pueden tener de 1–30 caracteres
• Debe contener solo A–Z, a–z, 0–9, _, $, 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
Ing. Henry Gallardo Yntor
7. 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 tamaño, para cada
columna
8. La sentencia CREATE TABLE
CREATE TABLE [schema.]table
(column datatype [DEFAULT expr][, ...]);
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.
Ing. Henry Gallardo Yntor
9. 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.
Ing. Henry Gallardo Yntor
10. La opción DEFAULT
Especifica un valor por default para una columna, para que lo
use durante la inserción
Esta opción previene el ingreso de valores nulos a columnas
… hiredate DATE DEFAULT SYSDATE, …
• 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.
Ing. Henry Gallardo Yntor
11. TABLAS EN LA BASE DE DATOS ORACLE
– Tablas del usuario
• Colección de tablas creadas y mantenidas por el usuario
• Contienen información del usuario
– Diccionario de datos
• Colección de tablas creadas y mantenidas por Oracle server
• Contienen información de la base de datos
• Información almacenada en el Diccionario de Datos
incluye: nombre de los usuarios, privilegios concedidos a
los usuarios, nombres de objetos de base de datos, reglas de
integridad de tablas, e información de auditoria.
Ing. Henry Gallardo Yntor
12. CONSULTANDO EL DICCIONARIO DE DATOS
• Ver los nombres de las tablas de propiedad del usuario.
SQL> SELECT table_name
2 FROM user_tables;
• Ver los distintos tipos de objetos de propiedad del
usuario.
SQL> SELECT DISTINCT object_type
2 FROM user_objects;
• Ver las tablas, vistas, secuencias y sinónimos de propiedad
del usuario
SQL> SELECT *
2 FROM user_catalog;
Ing. Henry Gallardo Yntor
13. TIPOS DE DATOS
TIPO DE DATO DESCRIPCIÓN
VARCHAR2(size) Dato caracter de longitud variable
CHAR(size) Dato caracter de longitud fija
NUMBER(p,s) Dato numérico 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 Gallardo Yntor Henry
4 gb
Ing. Henry Gallardo Yntor
14. La sentencia ALTER TABLE
Después de crear una tabla, podríamos 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
Ing. Henry Gallardo Yntor
15. 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);
Ing. Henry Gallardo Yntor
16. AGREGANDO UNA COLUMNA
New column
DEPT80 JOB “…agregar
una nueva
EMPNO ENAME ANNSAL HIREDATE
columna en
la tabla
------ ---------- --------
DEPT80”
7698 BLAKE 34200 01-MAY-81
7654 MARTIN 15000 28-SEP-81
7499 ALLEN 19200 20-FEB-81
7844 TURNER 18000 08-SEP-81
...
DEPT80
EMPNO ENAME ANNSAL HIREDATE JOB
------ ---------- --------
7698 BLAKE 34200 01-MAY-81
7654 MARTIN 15000 28-SEP-81
7499 ALLEN 19200 20-FEB-81
7844 TURNER 18000 08-SEP-81
...
Ing. Henry Gallardo Yntor
17. ADICIONANDO UNA COLUMNA
Use la cláusula ADD para agregar columnas.
La nueva columna será la última columna.
Ing. Henry Gallardo Yntor
18. MODIFICANDO UNA COLUMNA
Use la cláusula Modify
Puede cambiar el tipo de dato de una columna, el tamaño y el
valor por default.
Un cambio al valor por default afecta solamente a las nuevas
inserciones en la tabla.
Ing. Henry Gallardo Yntor
19. ELIMINANDO UNA COLUMNA
Se usa la cláusula 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, después de ser
alterada
–Una vez que una columna es eliminada, no puede ser recobrada
Ing. Henry Gallardo Yntor
20. 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
Ing. Henry Gallardo Yntor
21. 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.
Ing. Henry Gallardo Yntor
22. CAMBIANDO EL NOMBRE DE UN OBJETO
Para cambiar el nombre de una tabla, vista, secuencia o sinónimo,
debemos ejecutar la sentencia RENAME.
RENAME old_name TO new_name;
Debe ser el propietario del objeto que se va renombrar.
SQL> RENAME dept TO detalle_dep;
Table renamed.
Ing. Henry Gallardo Yntor
23. RESUMEN
Sentencia Descripción
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 sinónimo
TRUNCATE Elimina todas las filas de la tabla y libera
los espacios de almacenamiento
COMMENT Adiciona comentarios a una tabla o vista
Gallardo Yntor Henry
Ing. Henry Gallardo Yntor
Notas del editor
Schedule: Timing Topic 30 minutes Lecture 20 minutes Practice 50 minutes Total
Instructor Note Oracle8 introduces large object (LOB) datatypes that can store large and unstructured data such as text, image, video, and spatial data, up to 4 gigabytes in size.