SlideShare una empresa de Scribd logo
1 de 23
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
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
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
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
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
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
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
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
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
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
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
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 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
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
ADICIONANDO UNA COLUMNA
Use la cláusula ADD para agregar columnas.

La nueva columna será la última columna.




                                           Ing. Henry Gallardo Yntor
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
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
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
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
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
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

Más contenido relacionado

La actualidad más candente (20)

Tablas en Oracle
Tablas en OracleTablas en Oracle
Tablas en Oracle
 
MANUAL COMPLETO DE SQL
MANUAL COMPLETO DE SQLMANUAL COMPLETO DE SQL
MANUAL COMPLETO DE SQL
 
Comandos ddl
Comandos ddlComandos ddl
Comandos ddl
 
Introduccion a SQL
Introduccion a SQL Introduccion a SQL
Introduccion a SQL
 
SQL-DDL
SQL-DDLSQL-DDL
SQL-DDL
 
DDL - Lenguaje de definición de datos
DDL - Lenguaje de definición de datosDDL - Lenguaje de definición de datos
DDL - Lenguaje de definición de datos
 
COMANDOS DDL
COMANDOS DDLCOMANDOS DDL
COMANDOS DDL
 
Comandos dll en sql server
Comandos dll en sql serverComandos dll en sql server
Comandos dll en sql server
 
Abd3 sql
Abd3 sqlAbd3 sql
Abd3 sql
 
Comandosql2
Comandosql2Comandosql2
Comandosql2
 
Tm13 introduccion al_sql
Tm13 introduccion al_sqlTm13 introduccion al_sql
Tm13 introduccion al_sql
 
05 Sql Profundizacion
05 Sql Profundizacion05 Sql Profundizacion
05 Sql Profundizacion
 
SQL: DDL, DML y SQL
SQL: DDL, DML y SQLSQL: DDL, DML y SQL
SQL: DDL, DML y SQL
 
Sql comandos
Sql comandosSql comandos
Sql comandos
 
Sql DDL Lenguaje de definición de datos
Sql DDL Lenguaje de definición de datosSql DDL Lenguaje de definición de datos
Sql DDL Lenguaje de definición de datos
 
Unidad IV SQL
Unidad IV SQLUnidad IV SQL
Unidad IV SQL
 
Clase2
Clase2Clase2
Clase2
 
Sentencias create
Sentencias createSentencias create
Sentencias create
 
Sql presentacion
Sql presentacionSql presentacion
Sql presentacion
 
4. sql (autoguardado)
4. sql (autoguardado)4. sql (autoguardado)
4. sql (autoguardado)
 

Similar a Ddl

Similar a Ddl (20)

Clase 2 El lenguaje DDL de SQL
Clase 2 El lenguaje DDL de SQLClase 2 El lenguaje DDL de SQL
Clase 2 El lenguaje DDL de SQL
 
Administración de base de datos oracle - sesion 11
Administración de base de datos oracle  -  sesion 11Administración de base de datos oracle  -  sesion 11
Administración de base de datos oracle - sesion 11
 
Comandos ddl
Comandos ddlComandos ddl
Comandos ddl
 
DDL
DDLDDL
DDL
 
Informixsql
InformixsqlInformixsql
Informixsql
 
Intro BBDD SQL Server.pptx
Intro BBDD SQL Server.pptxIntro BBDD SQL Server.pptx
Intro BBDD SQL Server.pptx
 
Manual basico de_oracle
Manual basico de_oracleManual basico de_oracle
Manual basico de_oracle
 
Tablas y tipos de datos
Tablas y tipos de datosTablas y tipos de datos
Tablas y tipos de datos
 
Comandos del-ddl-y-del-dml-liz
Comandos del-ddl-y-del-dml-lizComandos del-ddl-y-del-dml-liz
Comandos del-ddl-y-del-dml-liz
 
Creación de tablas en PostgreSQL
Creación de tablas en PostgreSQLCreación de tablas en PostgreSQL
Creación de tablas en PostgreSQL
 
Edwin tejadatarea8.1fase3reg10 g3
Edwin tejadatarea8.1fase3reg10 g3Edwin tejadatarea8.1fase3reg10 g3
Edwin tejadatarea8.1fase3reg10 g3
 
Lenguaje sql
Lenguaje sqlLenguaje sql
Lenguaje sql
 
Unidad 6 Lenguaje Sql
Unidad 6 Lenguaje SqlUnidad 6 Lenguaje Sql
Unidad 6 Lenguaje Sql
 
Lenguaje de consulta de datos
Lenguaje de consulta de datosLenguaje de consulta de datos
Lenguaje de consulta de datos
 
MYSQL DDL DML.pdf
MYSQL DDL DML.pdfMYSQL DDL DML.pdf
MYSQL DDL DML.pdf
 
Curso sql
Curso sqlCurso sql
Curso sql
 
Sesión02 - Creación de objetos (Oracle)
Sesión02 - Creación de objetos (Oracle)Sesión02 - Creación de objetos (Oracle)
Sesión02 - Creación de objetos (Oracle)
 
2.2 configuración del entorno de trabajo de la base de datos en web
2.2 configuración del entorno de trabajo de la base de datos en web2.2 configuración del entorno de trabajo de la base de datos en web
2.2 configuración del entorno de trabajo de la base de datos en web
 
TRIGGERS
TRIGGERSTRIGGERS
TRIGGERS
 
Manejo De Sentencias De Definicion
Manejo De Sentencias De DefinicionManejo De Sentencias De Definicion
Manejo De Sentencias De Definicion
 

Ddl

  • 1. CREANDO Y ADMINISTRANDO TABLAS Ing. Henry Gallardo Yntor
  • 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

  1. Schedule: Timing Topic 30 minutes Lecture 20 minutes Practice 50 minutes Total
  2. 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.
  3. DROP TABLE table;