Resumen- creación de tablas en Oracle

RESUMEN:CREACION DE TABLAS E ÍNDICES

Tipos de Datos en Oracle (más comunes)

TIPO

CARACTERÍSTICAS

OBSERVACIONES

VARCHAR2

Cadena de caracteres de longitud variable

Entre 1 y 4000 bytes como máximo. El tamaño del campo dependerá del valor que contenga, es de longitud variable.

NUMBER

Almacena números fijos y decimales

Para declarar un tipo de datos NUMBER es suficiente con:

nombre_columna NUMBER

Se le puede indicar la precisión(logitud máxima) y la escala (decimales):

nombre_columna NUMBER (precision, escala)

DATE

Almacena datos de tipo fecha.

El tipo de datos DATE almacena el año (incluyendo el siglo), el mes, el día, las horas, los minutos y los segundos

BLOB

Permite almacenar datos binarios como fotos, videos, etc…

Admiten hasta 8 terabytes

CLOB

Almacena datos de tipo carácter

Admiten hasta 8 terabytes

Creación de tablas

CREATE
TABLE
<NOMBRE DE TABLA>

(

    <NOMBRE CAMPO>
<TIPO DATO>
<RESTRICCION>,

    <NOMBRE CAMPO1>
<TIPO DATO>
<RESTRICCION>,

    <NOMBRE CAMPO2>
<TIPO DATO>
<RESTRICCION>,

...

) TABLESPACE <NOMBRE ESPACIO DE TABLAS> ;

Ejemplos:

    CREATE
TABLE
EMPRESAS

    (

    CODIGO_EMPRESA     NUMBER
NOT
NULL,

    NOMBRE         VARCHAR2(60),

    CIF             VARCHAR2(10),

    EMPRESA_ACTIVA    VARCHAR2(1)

    )
TABLESPACE
USERS;

    CREATE
TABLE
CLIENTES

    (

    CODIGO_EMPRESA     NUMBER
NOT
NULL,

    CODIGO_CLIENTE     NUMBER
NOT
NULL,

    NOMBRE         VARCHAR2(60),

    CIF             VARCHAR2(10)

    )
TABLESPACE
USERS;

Alterar la estructura de una tabla


ALTER
TABLE
< NOMBRE DE TABLA > {ADD|MODIFY|DROP}...

Ejemplos:

Añadir una columna a una tabla:

    ALTER
TABLE
CLIENTES
ADD DIRECCION VARCHAR2(50);

Cambiar el tamaño de una columna en una tabla:

    ALTER
TABLE
CLIENTES
MODIFY DIRECCION VARCHAR2(250);

Hacer NOT NULL una columna en una tabla:

    ALTER
TABLE
CLIENTES
MODIFY DIRECCION VARCHAR2(250)
NOT     NULL;

Eliminar una columna a una tabla:

    ALTER
TABLE
CLIENTES
DROP
COLUMN DIRECCION;

Borrar tablas

DROP
TABLE <NOMBRE TABLA> [CASCADE
CONSTRAINTS][PURGE];

Ejemplos:

Eliminar una tabla:

    DROP
TABLE
CLIENTES;

Eliminar una tabla aun cuando existan claves foráneas haciendo referencia a ella:

    DROP
TABLE
CLIENTES CASCADE
CONSTRAINTS;

    NOTA: Las claves foraneas que hacen referencia a la tabla se     inhabilitarán.

Eliminar una tabla aun cuando existan claves foráneas haciendo referencia a ella y eliminándola de la papelera de reciclaje:

DROP
TABLE
CLIENTES CASCADE
CONSTRAINTS PURGE;

Crear restricciones (constraints)

Crear una clave primaria (primary key):

    ALTER
TABLE <NOMBRE TABLA>

    ADD
CONSTRAINT <NOMBRE DE LA     RESTRICCION>

    PRIMARY
KEY
(<COLUMNA1,COLUMNA2,...>)

    USING INDEX TABLESPACE <NOMBRE ESPACIO DE TABLAS>;

NOTA: la creacion de una clave primaria implica la creacion de un indice unico por con las mismas columnas que la clave primaria, es posible especifiar el espacio de tablas donde ceremos crear este indice con la instrucción USING INDEX TABLESPACE
<NOMBRE ESPACIO DE TABLAS>

Ejemplo
(crear una clave primaria para la tabla empresas)

        ALTER
TABLE EMPRESAS

        ADD
CONSTRAINT EMPRESAS_PK

        PRIMARY
KEY
(CODIGO_EMPRESA);

 

Ejemplo
(crear una clave primaria para la tabla clientes)

 

        ALTER
TABLE CLIENTES

        ADD
CONSTRAINT CLIENTES_PK

        PRIMARY
KEY
(CODIGO_EMPRESA, CODIGO_CLIENTE);

 

Ejemplo
(crear una clave primaria para la tabla clientes, especificando el espacio de tablas del índice asociado a la clave primaria)

 

        ALTER
TABLE CLIENTES

        ADD
CONSTRAINT CLIENTES_PK

        PRIMARY
KEY
(CODIGO_EMPRESA, CODIGO_CLIENTE);

        USING INDEX TABLESPACE USERS

 

 

Crear una clave externa/foránea (foreign key):

        ALTER
TABLE
<NOMBRE TABLA>

        ADD
CONSTRAINT <NOMBRE DE LA     RESTRICCION>

        FOREIGN
KEY

            (<COLUMNA1,COLUMNA2,...>)

        REFERENCES

            <NOMBRE TABLA REFERENCIADA>
(<COLUMNA1,COLUMNA2,…>);

 

Ejemplo
(crea una clave foránea en la tabla clientes para asegurar que todos los valores de la columna "codigo_empresa" existan en la tabla empresas)

 

        ALTER
TABLE
CLIENTES

        ADD
CONSTRAINT CLIENTES_FK1

        FOREIGN
KEY

            (CODIGO_EMPRESA)

        REFERENCES

            EMPRESAS (CODIGO_EMPRESA);

 

Crear un control de valores (check constraint):

        ALTER
TABLE
<NOMBRE TABLA>

        ADD
CONSTRAINT <NOMBRE DE LA     RESTRICCION>

        CHECK
(<COLUMNA> <VALIDACION>);

 

Ejemplo
(añadir una restriccion que obligue a que los valores posibles de la columna "empresa_activa" sean 'S' o 'N')

 

        ALTER
TABLE
CLIENTES

        ADD
CONSTRAINT CLIENTES_CK

        CHECK
(EMPRESA_ACTIVA IN
('S','N'));

 

Crear una restricción UNIQUE:

        ALTER
TABLE
<NOMBRE TABLA>

        ADD
CONSTRAINT <NOMBRE DE LA     RESTRICCION>

        UNIQUE
(<COLUMNA1>,<COLUMNA2>,...);

Ejemplo
(añadir una restriccion única en la tabla clientes para asegurarnos que no se repite ningún valor en el campo CIF)

        ALTER
TABLE
CLIENTES

        ADD
CONSTRAINT CLIENTES_UK1

        UNIQUE
(CIF);

NOTA: Normalmente una restricción de este tipo se implementa mediante un indice unico (ver creación de indices).

Borrar una restricción (constraint):

    ALTER
TABLE
<NOMBRE TABLA>

    DROP
CONSTRAINT <NOMBRE DE LA RESTRICCION>;

Ejemplo
(eliminar la restrinccion CLIENTES_PK de la tabla clientes)

    ALTER
TABLE
CLIENTES

    DROP
CONSTRAINT CLIENTES_PK;

Deshabilita una restricción (Constraint):

ALTER
TABLE
<NOMBRE TABLA>

DISABLE
CONSTRAINT <NOMBRE DE LA RESTRICCION>;

Ejemplo
(deshabilitar la restrinccion CLIENTES_FK1 de la tabla clientes)

ALTER
TABLE
CLIENTES

DISABLE
CONSTRAINT CLIENTES_FK1;

Habilita una restricción (constraint):

ALTER
TABLE
<NOMBRE TABLA>

ENABLE
CONSTRAINT <NOMBRE DE LA RESTRICCION>;

Ejemplo
(habilitar la restrinccion CLIENTES_FK1 de la tabla clientes)

ALTER
TABLE
CLIENTES

ENABLE
CONSTRAINT CLIENTES_FK1;

Creación de indices

Creacion de indices no únicos

CREATE
INDEX
<NOMBRE INDICE>

ON
<NOMBRE TABLA> (<COLUMNA1>,<COLUMNA1>,...)

TABLESPACE
<NOMBRE ESPACIO DE TABLAS>;

Ejemplo
(crear un indice sobre la tabla clientes en la columna nombre)

CREATE
INDEX CLIENTES_I1

ON
CLIENTES
(NOMBRE)

TABLESPACE
USERS;

Creacion de indices unicos

         CREATE
UNIQUE
INDEX
<NOMBRE INDICE>

         ON
<NOMBRE TABLA>
(<COLUMNA1>,<COLUMNA1>,...)

         TABLESPACE
<NOMBRE ESPACIO DE TABLAS>;

Ejemplo
(crear un indice único sobre la tabla clientes en la columna CIF)

CREATE
UNIQUE INDEX CLIENTES_I1

ON
CLIENTES
(CIF)

TABLESPACE
USERS;

 

Últimas Noticias

Actualmente aumentar la  productividad y la competitividad empresarial es cada vez una tarea...
https://listacasas.com Uno de los portales inmobiliarios más conocidos de Guatemala...
Nuevo proyecto realizado por Infoacp, una web en prestashop : https://wiwi-pc.es En wiwi-pc...
More inNoticias  

Documentos Recientes

Categorías

Linkedin Twitter Facebook Youtube
Copyright (c) InfoAcp 2013. All rights reserved. Mantenimiento Informático
Infoacp Empresa de Informática, diseño gráfico, desarrollo de aplicaciones de gestión, Odoo, Contratos de mantenimiento informatico
Diseño y soluciones TIC Infoacp S.L.
Murcia Murcia 30007 España
Localización: 37.9956589, -1.1284899
868 70 76 94
informática, diseño gráfico, reparación de ordenadores, reparación de portatiles, reparación de móviles, programas de gestión para empresas, odoo, desarrollo odoo, programacion odoo, contratos de mantenimiento informatico