23
CREANDO Y ADMINISTRANDO TABLAS Ing. Henry Gallardo Yntor

Ddl

Embed Size (px)

Citation preview

Page 1: Ddl

CREANDO Y ADMINISTRANDO TABLAS

Ing. Henry Gallardo Yntor

Page 2: Ddl

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

Page 3: Ddl

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

Page 4: Ddl

Objeto DescripciónTable 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

OBJETOS DE LA BASE DE DATOS

Ing. Henry Gallardo Yntor

Page 5: Ddl

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

Page 6: Ddl

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

CONVENCIONES EN LOS NOMBRES

Ing. Henry Gallardo Yntor

Page 7: Ddl

– 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

La sentencia CREATE TABLE

Page 8: Ddl

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][, ...]);

Ing. Henry Gallardo Yntor

Page 9: Ddl

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

Page 10: Ddl

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

• 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 opción DEFAULT

Ing. Henry Gallardo Yntor

Page 11: Ddl

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

Page 12: Ddl

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 sinónimos 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

Ing. Henry Gallardo Yntor

Page 13: Ddl

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 4 gb

TIPOS DE DATOS

Gallardo Yntor Henry

Ing. Henry Gallardo Yntor

Page 14: Ddl

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

Page 15: Ddl

La sentencia ALTER TABLE

Sintaxis:

ALTER TABLE tableADD (column datatype [DEFAULT expr]

[, column datatype]...);

ALTER TABLE tableMODIFY (column datatype [DEFAULT expr]

[, column datatype]...);

ALTER TABLE tableDROP (column);

Ing. Henry Gallardo Yntor

Page 16: Ddl

DEPT80DEPT80

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 agregar una nueva una nueva columna en columna en la tabla la tabla DEPT80”DEPT80”

DEPT80DEPT80

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 columnNew column

AGREGANDO UNA COLUMNA

Ing. Henry Gallardo Yntor

Page 17: Ddl

Use la cláusula ADD para agregar columnas.

La nueva columna será la última columna.

ADICIONANDO UNA COLUMNA

Ing. Henry Gallardo Yntor

Page 18: Ddl

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.

MODIFICANDO UNA COLUMNA

Ing. Henry Gallardo Yntor

Page 19: Ddl

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

ELIMINANDO UNA COLUMNA

Ing. Henry Gallardo Yntor

Page 20: Ddl

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

ELIMINANDO UNA TABLA

Ing. Henry Gallardo Yntor

Page 21: Ddl

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.

TRUNCANDO UNA TABLA

Ing. Henry Gallardo Yntor

Page 22: Ddl

Para cambiar el nombre de una tabla, vista, secuencia o sinónimo, 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.Table renamed.

CAMBIANDO EL NOMBRE DE UN OBJETO

Ing. Henry Gallardo Yntor

Page 23: Ddl

Sentencia DescripciónCREATE 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

RESUMEN

Gallardo Yntor Henry

Ing. Henry Gallardo Yntor