Upload
henry-gallardo
View
142
Download
1
Embed Size (px)
Citation preview
CREANDO Y ADMINISTRANDO TABLAS
Ing. Henry Gallardo Yntor
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
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
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
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
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
– 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
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
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
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
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
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
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
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
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
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
Use la cláusula ADD para agregar columnas.
La nueva columna será la última columna.
ADICIONANDO UNA COLUMNA
Ing. Henry Gallardo Yntor
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
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
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
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
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
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