tablas en oracle

12
Tablas en Oracle Tablas en Oracle Jesús Armand Calejero Román Administración de Bases de datos Diplomatura de Estadística

Upload: jesus-armand-calejero-roman

Post on 13-Jun-2015

54.845 views

Category:

Documents


3 download

DESCRIPTION

Tratamiento de tablas en oracle desde el punto de vista del administrador. Más en http://calejero.blogsome.com/

TRANSCRIPT

Page 1: Tablas en Oracle

Tablas en OracleTablas en Oracle

Jesús Armand Calejero RománAdministración de Bases de datos

Diplomatura de Estadística

Page 2: Tablas en Oracle

Índice.Índice. Introducción. Tipos de tablas. Convenciones de nombres. Operaciones con las tablas. Crear tablas. Crear tablas. Cláusula STORAGE PCTUSED y PCTFREE.

◦ PCTUSED y PCTFREE. Ejemplo. Modificar tablas. Borrar tablas.

Tablas en Oracle

Page 3: Tablas en Oracle

Introducción.Introducción. Las tablas son la unidad básica de almacenamiento

de datos en Oracle.

Los datos son almacenados en filas y columnas. Se

define a través de:◦ Nombre.

◦ Conjunto de columnas (nombre y tipo).

Al crear una tabla Oracle asigna un segmento de datos en el tablespace. Se puede controlar el espacio y el uso de ese segmento.

Tablas en Oracle

Page 4: Tablas en Oracle

Tipos de tablas.Tipos de tablas. Tipos de Tablas:

◦ Regulares.Forma comúnmente usada para almacenar los datos.

• Tipo por defecto.

• Se tiene muy poco control sobre la distribución de las filas de la tabla en su almacenamiento físico:

◦ Particionadas.◦ Organizadas por Índices.◦ Agrupadas (clusterizadas).

Tablas en Oracle

Page 5: Tablas en Oracle

Convenciones de Convenciones de nombres.nombres. El nombre debe ser tan descriptivo como sea posible:

◦ Hasta 30 caracteres.◦ Debe empezar por una letra.◦ Puede contener letras, números y caracteres

especiales ($, # Y _) Se puede documentar añadiendo comentarios:

COMMENT ON TABLE MITABLA IS ‘Este es un comentario ’;

COMMENT ON COLUMN MITABLA.COLUMN1 “Este es un comentario’;

Tablas en Oracle

Page 6: Tablas en Oracle

Operaciones con las tablas.Operación Sentencia

Crear CREATE TABLE…

Modificar ALTER TABLE…

Borrar DROP TABLE…

Page 7: Tablas en Oracle

Crear tablas. La sentencia básica es:

◦ CREATE TABLE nombre_tabla (nombre_columna TIPO, {nombre_columna TIPO});

◦ EJEMPLO: CREATE TABLE empleado (nombre VARCHAR(20), id

INTEGER);

Dentro de la sintaxis de la creación de tablas hay las siguientes opciones interesantes para comentar:◦ TABLESPACE◦ STORAGE◦ PCTUSED / PCTFREE

Page 8: Tablas en Oracle

Crear tablas. Cláusula STORAGE Las opciones que se pueden definir en esta cláusula

son:

STORAGE( INITIAL entero{K|M} NEXT entero{K|M} {MINEXTENTS entero} {MAXEXTENTS entero|UNLIMITED} {PCTINCREASE %entero} )

Tamaño de los bloques:

Atributo Mínimo Máximo Defecto

INITIAL 2 bloques * 5 bloques

NEXT 1 bloque *

Page 9: Tablas en Oracle

PCTUSED y PCTFREEPCTUSED y PCTFREE Controlan el espacio libre para inserciones y eliminaciones

de filas en los bloques de un segmento. PCTFREE:

◦ Valor por defecto 10.◦ En cualquier otro caso: PCTFREE=100*upd/(upd +

ins) PCTUSED:

◦ Valor por defecto 40.◦ PCTUSED=100-(PCTFREE +100*upd/blocksize) +

100ins/blocksize.

Tablas en Oracle

PCTUSED + PCTFREE < 100 !!!

Page 10: Tablas en Oracle

PCTUSED y PCTFREE: PCTUSED y PCTFREE: Ejemplo.Ejemplo.

◦ Después que un bloque se llena hasta el límite permitido por PCTFREE, Oracle considera que el bloque no esta disponible para la inserción de nuevas filas hasta que el porcentaje del bloque no cae por debajo del

parámetro PCTUSED.

Tablas en Oracle

Page 11: Tablas en Oracle

Modificar tablas.Modificar tablas. Para modificar tablas se utiliza ALTER TABLE.

◦ EJEMPLOS: ALTER TABLE empleado PCTUSED 30, PCTFREE 60;

ALTER TABLE empleado DROP UNUSED COLUMNS; Esta sentencia elimina las columnas no utilizadas.

ALTER TABLE empleado ADD CONSTRAINT salesrep_pk PRIMARY KEY (id);

Añade una clave primaria en la columna id.

Tablas en Oracle

Page 12: Tablas en Oracle

Borrar tablas.Borrar tablas. Para borrar una tabla se utiliza DROP TABLE.

◦ EJEMPLO: DROP TABLE [usuario .] empleado [CASCADE

CONSTRAINTS];

Tablas en Oracle