SlideShare una empresa de Scribd logo
1 de 36
11-11-11 Copyright © ADA, 2005. Todos los derechos reservados.
Sesió n 11Sesió n 11
Administrando Tablas,Administrando Tablas,
Í ndices y RestriccionesÍ ndices y Restricciones
11-11-22 Copyright © ADA, 2005. Todos los derechos reservados.
ObjetivosObjetivos
• Crear tablas usando la configuració n apropiadaCrear tablas usando la configuració n apropiada
de almacenamientode almacenamiento
• Controlar el espacio usado por las tablasControlar el espacio usado por las tablas
• Analizar las tablas para chequear integridad yAnalizar las tablas para chequear integridad y
migració nmigració n
• Listar los diferentes tipos de índicesListar los diferentes tipos de índices
• Crear, reorganizar y eliminar índicesCrear, reorganizar y eliminar índices
• Implementar integridad de datosImplementar integridad de datos
• Mantenimiento de las restricciones de integridadMantenimiento de las restricciones de integridad
• Recuperar informació n de tablas, índices yRecuperar informació n de tablas, índices y
restricciones del diccionario de datosrestricciones del diccionario de datos
11-11-33 Copyright © ADA, 2005. Todos los derechos reservados.
Consideraciones en la Creació n de TablasConsideraciones en la Creació n de Tablas
• Definició n de columnas: Nombre, Tipo de Dato,Definició n de columnas: Nombre, Tipo de Dato,
Nulidad, Valor por Defecto.Nulidad, Valor por Defecto.
• Tipo de tabla.Tipo de tabla.
• Utilizació n del espacio en los bloques de datos.Utilizació n del espacio en los bloques de datos.
• Ubicació n de la tabla.Ubicació n de la tabla.
• Opció n deOpció n de LoggingLogging (Redo Log Buffer).(Redo Log Buffer).
• Tamañ o estimado.Tamañ o estimado.
11-11-44 Copyright © ADA, 2005. Todos los derechos reservados.
Tipos de TablasTipos de Tablas
• Ordinary. Básica, sus datos están almacenadosOrdinary. Básica, sus datos están almacenados
como una colecció n no ordenada.como una colecció n no ordenada.
• Partitioned. Los datos son almacenados en partesPartitioned. Los datos son almacenados en partes
en diferentes ubicaciones.en diferentes ubicaciones.
• Index-organized. Los datos son almacenados enIndex-organized. Los datos son almacenados en
una estructura de índice B-tree.una estructura de índice B-tree.
• Cluster. La tabla forma parte de un cluster. UnCluster. La tabla forma parte de un cluster. Un
cluster es un grupo de tablas que comparten loscluster es un grupo de tablas que comparten los
mismos bloques de datos en sus columnasmismos bloques de datos en sus columnas
comunes y generalmente se usan en conjunto.comunes y generalmente se usan en conjunto.
11-11-55 Copyright © ADA, 2005. Todos los derechos reservados.
Tipos de Datos OracleTipos de Datos Oracle
• Definidos por el usuarioDefinidos por el usuario
• Built-inBuilt-in
– EscalarEscalar
 CHAR(N),NCHAR(N)CHAR(N),NCHAR(N)
 VARCHAR2(N),NVARCHAR2(N)VARCHAR2(N),NVARCHAR2(N)
 NUMBER(I,D)NUMBER(I,D)
 DATEDATE
 RAWRAW
 BLOB,CLOB,NCLOB,BFILEBLOB,CLOB,NCLOB,BFILE
 LONG,LONG RAWLONG,LONG RAW
 ROWID,UROWIDROWID,UROWID
– ColeccionesColecciones
 VARRAYVARRAY
 TABLETABLE
11-11-66 Copyright © ADA, 2005. Todos los derechos reservados.
Creando una TablaCreando una Tabla
SQL>SQL> CREATE TABLE orders (CREATE TABLE orders (
22 orderidorderid NUMBER(3)NOT NULL,NUMBER(3)NOT NULL,
33 orderdateorderdate DATE,DATE,
44 shipdateshipdate DATE,DATE,
55 clientclient VARCHAR2(3)NOT NULL,VARCHAR2(3)NOT NULL,
66 amount_dueamount_due NUMBER(10,2),NUMBER(10,2),
77 amount_paidamount_paid NUMBER(10,2))NUMBER(10,2))
88 PCTFREE 35PCTFREE 35 PCTUSED 65PCTUSED 65
99 STORAGE (STORAGE (
1010 INITIALINITIAL 5K5K
1111 NEXTNEXT 5K5K
1212 PCTINCREASEPCTINCREASE 00
1313 MINEXTENTSMINEXTENTS 22
1414 MAXEXTENTSMAXEXTENTS 50)50)
1515 TABLESPACE users;TABLESPACE users;
Table created.Table created.
SQL>SQL> CREATE TABLE orders (CREATE TABLE orders (
22 orderidorderid NUMBER(3)NOT NULL,NUMBER(3)NOT NULL,
33 orderdateorderdate DATE,DATE,
44 shipdateshipdate DATE,DATE,
55 clientclient VARCHAR2(3)NOT NULL,VARCHAR2(3)NOT NULL,
66 amount_dueamount_due NUMBER(10,2),NUMBER(10,2),
77 amount_paidamount_paid NUMBER(10,2))NUMBER(10,2))
88 PCTFREE 35PCTFREE 35 PCTUSED 65PCTUSED 65
99 STORAGE (STORAGE (
1010 INITIALINITIAL 5K5K
1111 NEXTNEXT 5K5K
1212 PCTINCREASEPCTINCREASE 00
1313 MINEXTENTSMINEXTENTS 22
1414 MAXEXTENTSMAXEXTENTS 50)50)
1515 TABLESPACE users;TABLESPACE users;
Table created.Table created.
11-11-77 Copyright © ADA, 2005. Todos los derechos reservados.
Creando una Tabla en el EnterpriseCreando una Tabla en el Enterprise
ManagerManager
11-11-88 Copyright © ADA, 2005. Todos los derechos reservados.
Encadenamiento y Migració n de FilasEncadenamiento y Migració n de Filas
• Migració n de FilasMigració n de Filas
– Ocurre cuando se realiza un updateOcurre cuando se realiza un update
– En el bloque original solo queda un punteroEn el bloque original solo queda un puntero
• Encadenamiento de FilasEncadenamiento de Filas
– Ocurre cuando una fila es muy grandeOcurre cuando una fila es muy grande
(columnas muy grandes)(columnas muy grandes)
– La fila se divide en piezas que se ubican enLa fila se divide en piezas que se ubican en
dos bloquesdos bloques
11-11-99 Copyright © ADA, 2005. Todos los derechos reservados.
Modificando una TablaModificando una Tabla
Cambiando los parámetros de storageCambiando los parámetros de storage
SQL>SQL> ALTER TABLE ordersALTER TABLE orders
22 STORAGESTORAGE (MAXEXTENTS 121(MAXEXTENTS 121
33 PCTINCREASE 100);PCTINCREASE 100);
Table altered.Table altered.
SQL>SQL> ALTER TABLE ordersALTER TABLE orders
22 STORAGESTORAGE (MAXEXTENTS 121(MAXEXTENTS 121
33 PCTINCREASE 100);PCTINCREASE 100);
Table altered.Table altered.
Moviendo una tablaMoviendo una tabla
SQL>SQL> ALTER TABLE ordersALTER TABLE orders
22 MOVE TABLESPACE app_data;MOVE TABLESPACE app_data;
Table altered.Table altered.
SQL>SQL> ALTER TABLE ordersALTER TABLE orders
22 MOVE TABLESPACE app_data;MOVE TABLESPACE app_data;
Table altered.Table altered.
11-11-1010 Copyright © ADA, 2005. Todos los derechos reservados.
Modificando una TablaModificando una Tabla
Agregando columnasAgregando columnas
SQL>SQL> ALTER TABLE ordersALTER TABLE orders
22 ADD (amount_dscto NUMBER(10,2));ADD (amount_dscto NUMBER(10,2));
Table altered.Table altered.
SQL>SQL> ALTER TABLE ordersALTER TABLE orders
22 ADD (amount_dscto NUMBER(10,2));ADD (amount_dscto NUMBER(10,2));
Table altered.Table altered.
Renombrando columnasRenombrando columnas
SQL>SQL> ALTER TABLE ordersALTER TABLE orders
22 RENAME COLUMN client TO clientid;RENAME COLUMN client TO clientid;
Table altered.Table altered.
SQL>SQL> ALTER TABLE ordersALTER TABLE orders
22 RENAME COLUMN client TO clientid;RENAME COLUMN client TO clientid;
Table altered.Table altered.
* En versiones anteriores a 9.2 drop columm y add column
11-11-1111 Copyright © ADA, 2005. Todos los derechos reservados.
Asignando y Liberando ExtentsAsignando y Liberando Extents
Asignació n Manual de ExtentsAsignació n Manual de Extents
SQL>SQL> ALTER TABLE SCOTT.orders ALLOCATE EXTENT (SIZE 10K);ALTER TABLE SCOTT.orders ALLOCATE EXTENT (SIZE 10K);
Table altered.Table altered.
SQL>SQL> ALTER TABLE SCOTT.orders ALLOCATE EXTENT (SIZE 10K);ALTER TABLE SCOTT.orders ALLOCATE EXTENT (SIZE 10K);
Table altered.Table altered.
Liberando ExtentsLiberando Extents
SQL>SQL> ALTER TABLE SCOTT.orders DEALLOCATE UNUSED;ALTER TABLE SCOTT.orders DEALLOCATE UNUSED;
Table altered.Table altered.
SQL>SQL> ALTER TABLE SCOTT.orders DEALLOCATE UNUSED;ALTER TABLE SCOTT.orders DEALLOCATE UNUSED;
Table altered.Table altered.
11-11-1212 Copyright © ADA, 2005. Todos los derechos reservados.
Eliminando Filas y TablasEliminando Filas y Tablas
Eliminando todas las filas de una tablaEliminando todas las filas de una tabla
SQL>SQL> TRUNCATE TABLE orders;TRUNCATE TABLE orders;
Table truncated.Table truncated.
SQL>SQL> TRUNCATE TABLE orders;TRUNCATE TABLE orders;
Table truncated.Table truncated.
Eliminando una tablaEliminando una tabla
SQL>SQL> DROP TABLE ordersDROP TABLE orders
22 CASCADE CONSTRAINTS;CASCADE CONSTRAINTS;
Table dropped.Table dropped.
SQL>SQL> DROP TABLE ordersDROP TABLE orders
22 CASCADE CONSTRAINTS;CASCADE CONSTRAINTS;
Table dropped.Table dropped.
11-11-1313 Copyright © ADA, 2005. Todos los derechos reservados.
Recuperando Informació n de TablasRecuperando Informació n de Tablas
• DBA_OBJECTSDBA_OBJECTS
– OWNEROWNER
– OBJECT_NAMEOBJECT_NAME
– OBJECT_IDOBJECT_ID
– DATA_OBJECT_IDDATA_OBJECT_ID
– CREATEDCREATED
• DBA_SEGMENTSDBA_SEGMENTS
– OWNEROWNER
– SEGMENT_NAMESEGMENT_NAME
– TABLESPACE_NAMTABLESPACE_NAM
EE
– HEADER_FILEHEADER_FILE
– HEADER_BLOCKHEADER_BLOCK
• DBA_TABLESDBA_TABLES
– OWNEROWNER
– TABLE_NAMETABLE_NAME
– PCT_FREEPCT_FREE
– PCT_USEDPCT_USED
– INITIAL_EXTENTINITIAL_EXTENT
– NEXT_EXTENTNEXT_EXTENT
– MIN_EXTENTSMIN_EXTENTS
– MAX_EXTENTSMAX_EXTENTS
– PCT_INCREASEPCT_INCREASE
– CACHECACHE
– BLOCKSBLOCKS
11-11-1414 Copyright © ADA, 2005. Todos los derechos reservados.
Clasificació n de Í ndicesClasificació n de Í ndices
• Estándar (B-tree) o BitmapEstándar (B-tree) o Bitmap
• Ascendentes o Descendentes (clave inversa)Ascendentes o Descendentes (clave inversa)
• Basados en Columnas o FuncionesBasados en Columnas o Funciones
• De 1 Columna o ConcatenadosDe 1 Columna o Concatenados
• Particionados o No ParticionadosParticionados o No Particionados
• Únicos o No ÚnicosÚnicos o No Únicos
11-11-1515 Copyright © ADA, 2005. Todos los derechos reservados.
Í ndice BitmapÍ ndice Bitmap
• Un mapa de bits por cada clave en lugar de unaUn mapa de bits por cada clave en lugar de una
lista de rowids. Cada bit corresponde a un posiblelista de rowids. Cada bit corresponde a un posible
rowidrowid
• Eficiente combinació n de bits usando lasEficiente combinació n de bits usando las
operaciones ló gicas (AND y OR)operaciones ló gicas (AND y OR)
• Sustancial reducció n de espacio usado comparadoSustancial reducció n de espacio usado comparado
con otras té cnicas de indexamientocon otras té cnicas de indexamiento
• Incremento dramático de la performance conIncremento dramático de la performance con
algunas consultasalgunas consultas
11-11-1616 Copyright © ADA, 2005. Todos los derechos reservados.
Comparando Í ndices B-Tree y BitmapComparando Í ndices B-Tree y Bitmap
B-TreeB-Tree
Conveniente para columnas deConveniente para columnas de
alta cardinalidadalta cardinalidad
Actualizació n sobre claves deActualizació n sobre claves de
relativamente bajo costorelativamente bajo costo
Ineficiente para consultasIneficiente para consultas
usando el operador ló gico ORusando el operador ló gico OR
Útil para OLTPÚtil para OLTP
BitmapBitmap
Conveniente para columnas de bajaConveniente para columnas de baja
cardinalidadcardinalidad
Actualizació n sobre columnas deActualizació n sobre columnas de
alto costoalto costo
Eficiente para consultas usando elEficiente para consultas usando el
operador ló gico ORoperador ló gico OR
Útil para datawarehouseÚtil para datawarehouse
11-11-1717 Copyright © ADA, 2005. Todos los derechos reservados.
Í ndices ÚnicosÍ ndices Únicos
INDEX_KEY ROWIDINDEX_KEY ROWID
EMPNOEMPNO (BLOCK# ROW# FILE#)(BLOCK# ROW# FILE#)
---------- --------------------------------------
73697369 0000000F.0001.00010000000F.0001.0001
74997499 0000000F.0002.00010000000F.0002.0001
75217521 0000000F.0003.00010000000F.0003.0001
75667566 0000000F.0004.00010000000F.0004.0001
76547654 0000000F.0005.00010000000F.0005.0001
76987698 0000000F.0006.00010000000F.0006.0001
77827782 0000000F.0007.00010000000F.0007.0001
...... ......
INDEX_KEY ROWIDINDEX_KEY ROWID
EMPNOEMPNO (BLOCK# ROW# FILE#)(BLOCK# ROW# FILE#)
---------- --------------------------------------
73697369 0000000F.0001.00010000000F.0001.0001
74997499 0000000F.0002.00010000000F.0002.0001
75217521 0000000F.0003.00010000000F.0003.0001
75667566 0000000F.0004.00010000000F.0004.0001
76547654 0000000F.0005.00010000000F.0005.0001
76987698 0000000F.0006.00010000000F.0006.0001
77827782 0000000F.0007.00010000000F.0007.0001
...... ......
Index on EMP (EMPNO) EMP Table
EMPNOEMPNO ENAMEENAME JOBJOB ......
---------- ---------- ---------------- ------
74997499 ALLENALLEN SALESMANSALESMAN
73697369 SMITHSMITH CLERKCLERK
75217521 WARDWARD SALESMANSALESMAN
75667566 JONESJONES MANAGERMANAGER
76547654 MARTINMARTIN SALESMANSALESMAN
76987698 BLAKEBLAKE MANAGERMANAGER
77827782 CLARKCLARK MANAGERMANAGER
...... ...... ...... ......
EMPNOEMPNO ENAMEENAME JOBJOB ......
---------- ---------- ---------------- ------
74997499 ALLENALLEN SALESMANSALESMAN
73697369 SMITHSMITH CLERKCLERK
75217521 WARDWARD SALESMANSALESMAN
75667566 JONESJONES MANAGERMANAGER
76547654 MARTINMARTIN SALESMANSALESMAN
76987698 BLAKEBLAKE MANAGERMANAGER
77827782 CLARKCLARK MANAGERMANAGER
...... ...... ...... ......
11-11-1818 Copyright © ADA, 2005. Todos los derechos reservados.
Í ndices No ÚnicosÍ ndices No Únicos
INDEX_KEY ROWIDINDEX_KEY ROWID
ENAMEENAME (BLOCK# ROW# FILE#)(BLOCK# ROW# FILE#)
------------ --------------------------------------
ALLENALLEN 0000000F.0002.00010000000F.0002.0001
BLAKEBLAKE 0000000F.0009.00010000000F.0009.0001
CLARKCLARK 0000000F.0007.00010000000F.0007.0001
JONESJONES 0000000F.0004.00010000000F.0004.0001
JONESJONES 0000000F.0005.00010000000F.0005.0001
MARTINMARTIN 0000000F.0006.00010000000F.0006.0001
SMITHSMITH 0000000F.0008.00010000000F.0008.0001
SMITHSMITH 0000000F.0011.00010000000F.0011.0001
SMITHSMITH 0000000F.0012.00010000000F.0012.0001
WARDWARD 0000000F.0003.00010000000F.0003.0001
...... ......
INDEX_KEY ROWIDINDEX_KEY ROWID
ENAMEENAME (BLOCK# ROW# FILE#)(BLOCK# ROW# FILE#)
------------ --------------------------------------
ALLENALLEN 0000000F.0002.00010000000F.0002.0001
BLAKEBLAKE 0000000F.0009.00010000000F.0009.0001
CLARKCLARK 0000000F.0007.00010000000F.0007.0001
JONESJONES 0000000F.0004.00010000000F.0004.0001
JONESJONES 0000000F.0005.00010000000F.0005.0001
MARTINMARTIN 0000000F.0006.00010000000F.0006.0001
SMITHSMITH 0000000F.0008.00010000000F.0008.0001
SMITHSMITH 0000000F.0011.00010000000F.0011.0001
SMITHSMITH 0000000F.0012.00010000000F.0012.0001
WARDWARD 0000000F.0003.00010000000F.0003.0001
...... ......
Index on EMP (ENAME) EMP Table
INDEX_KEY ROWIDINDEX_KEY ROWID
ENAMEENAME JOBJOB SALSAL DEPNODEPNO
------------ ---------------- ---------- ----------
SMITHSMITH CLERKCLERK 800800 2020
ALLENALLEN SALESMANSALESMAN 16001600 3030
WARDWARD SALESMANSALESMAN 12501250 3030
JONESJONES MANAGERMANAGER 29752975 2020
JONESJONES CLERKCLERK 12501250 1010
MARTINMARTIN SALESMANSALESMAN 12501250 3030
BLAKEBLAKE MANAGERMANAGER 28502850 3030
CLARKCLARK MANAGERMANAGER 24502450 1010
SMITHSMITH MANAGERMANAGER 26502650 4040
SMITHSMITH MANAGERMANAGER 14501450 3030
...... ...... ...... ......
INDEX_KEY ROWIDINDEX_KEY ROWID
ENAMEENAME JOBJOB SALSAL DEPNODEPNO
------------ ---------------- ---------- ----------
SMITHSMITH CLERKCLERK 800800 2020
ALLENALLEN SALESMANSALESMAN 16001600 3030
WARDWARD SALESMANSALESMAN 12501250 3030
JONESJONES MANAGERMANAGER 29752975 2020
JONESJONES CLERKCLERK 12501250 1010
MARTINMARTIN SALESMANSALESMAN 12501250 3030
BLAKEBLAKE MANAGERMANAGER 28502850 3030
CLARKCLARK MANAGERMANAGER 24502450 1010
SMITHSMITH MANAGERMANAGER 26502650 4040
SMITHSMITH MANAGERMANAGER 14501450 3030
...... ...... ...... ......
11-11-1919 Copyright © ADA, 2005. Todos los derechos reservados.
Í ndices ConcatenadosÍ ndices Concatenados
INDEX_KEY ROWIDINDEX_KEY ROWID
DEPTNODEPTNO ENAMEENAME (BLOCK# ROW# FILE#)(BLOCK# ROW# FILE#)
------------ ---------- --------------------------------------
1010 ADAMSADAMS 0000000F.0010.00010000000F.0010.0001
1010 CLARKCLARK 0000000F.0000.00010000000F.0000.0001
1010 FORDFORD 0000000F.0013.00010000000F.0013.0001
1010 KINGKING 0000000F.0007.00010000000F.0007.0001
1010 MILLERMILLER 0000000F.0009.00010000000F.0009.0001
2020 JONESJONES 0000000F.0004.00010000000F.0004.0001
...... ......
INDEX_KEY ROWIDINDEX_KEY ROWID
DEPTNODEPTNO ENAMEENAME (BLOCK# ROW# FILE#)(BLOCK# ROW# FILE#)
------------ ---------- --------------------------------------
1010 ADAMSADAMS 0000000F.0010.00010000000F.0010.0001
1010 CLARKCLARK 0000000F.0000.00010000000F.0000.0001
1010 FORDFORD 0000000F.0013.00010000000F.0013.0001
1010 KINGKING 0000000F.0007.00010000000F.0007.0001
1010 MILLERMILLER 0000000F.0009.00010000000F.0009.0001
2020 JONESJONES 0000000F.0004.00010000000F.0004.0001
...... ......
Index on EMP (DEPTNO, ENAME) EMP Table
ENAMEENAME JOBJOB SALSAL DEPNODEPNO
------------ ---------------- ---------- ----------
SMITHSMITH CLERKCLERK 800800 2020
ALLENALLEN SALESMANSALESMAN 16001600 3030
WARDWARD SALESMANSALESMAN 12501250 3030
JONESJONES MANAGERMANAGER 29752975 2020
MARTINMARTIN SALESMANSALESMAN 12501250 3030
BLAKEBLAKE MANAGERMANAGER 28502850 3030
CLARKCLARK MANAGERMANAGER 24502450 1010
...... ...... ...... ......
ENAMEENAME JOBJOB SALSAL DEPNODEPNO
------------ ---------------- ---------- ----------
SMITHSMITH CLERKCLERK 800800 2020
ALLENALLEN SALESMANSALESMAN 16001600 3030
WARDWARD SALESMANSALESMAN 12501250 3030
JONESJONES MANAGERMANAGER 29752975 2020
MARTINMARTIN SALESMANSALESMAN 12501250 3030
BLAKEBLAKE MANAGERMANAGER 28502850 3030
CLARKCLARK MANAGERMANAGER 24502450 1010
...... ...... ...... ......
11-11-2020 Copyright © ADA, 2005. Todos los derechos reservados.
Creando Í ndicesCreando Í ndices
SQL>SQL> CREATE INDEX ind_orderid ON orders(orderid);CREATE INDEX ind_orderid ON orders(orderid);SQL>SQL> CREATE INDEX ind_orderid ON orders(orderid);CREATE INDEX ind_orderid ON orders(orderid);
SQL>SQL> CREATE INDEX ind_orderdate ON orders(orderdate)CREATE INDEX ind_orderdate ON orders(orderdate)
22 TABLESPACE app_dataTABLESPACE app_data
33 STORAGE (INITIAL 500K NEXT 500K PCTINCREASE 75);STORAGE (INITIAL 500K NEXT 500K PCTINCREASE 75);
SQL>SQL> CREATE INDEX ind_orderdate ON orders(orderdate)CREATE INDEX ind_orderdate ON orders(orderdate)
22 TABLESPACE app_dataTABLESPACE app_data
33 STORAGE (INITIAL 500K NEXT 500K PCTINCREASE 75);STORAGE (INITIAL 500K NEXT 500K PCTINCREASE 75);
SQL>SQL> CREATE INDEX ind_client ON orders(clientid, orderid)CREATE INDEX ind_client ON orders(clientid, orderid)
22 TABLESPACE app_dataTABLESPACE app_data
33 STORAGE (INITIAL 1M NEXT 1M PCTINCREASE 0) PCTFREE 40;STORAGE (INITIAL 1M NEXT 1M PCTINCREASE 0) PCTFREE 40;
SQL>SQL> CREATE INDEX ind_client ON orders(clientid, orderid)CREATE INDEX ind_client ON orders(clientid, orderid)
22 TABLESPACE app_dataTABLESPACE app_data
33 STORAGE (INITIAL 1M NEXT 1M PCTINCREASE 0) PCTFREE 40;STORAGE (INITIAL 1M NEXT 1M PCTINCREASE 0) PCTFREE 40;
• Í ndices B-treeÍ ndices B-tree
• Í ndice de múltiples columnasÍ ndice de múltiples columnas
11-11-2121 Copyright © ADA, 2005. Todos los derechos reservados.
Creando Í ndicesCreando Í ndices
SQL>SQL> CREATE INDEX ind_shipdate ON orders(shipdate)CREATE INDEX ind_shipdate ON orders(shipdate)
22 REVERSE TABLESPACE app_data;REVERSE TABLESPACE app_data;
SQL>SQL> CREATE INDEX ind_shipdate ON orders(shipdate)CREATE INDEX ind_shipdate ON orders(shipdate)
22 REVERSE TABLESPACE app_data;REVERSE TABLESPACE app_data;
SQL>SQL> CREATE BITMAP INDEX ind_clientbm ON orders(clientid)CREATE BITMAP INDEX ind_clientbm ON orders(clientid)
22 TABLESPACE app_data;TABLESPACE app_data;
SQL>SQL> CREATE BITMAP INDEX ind_clientbm ON orders(clientid)CREATE BITMAP INDEX ind_clientbm ON orders(clientid)
22 TABLESPACE app_data;TABLESPACE app_data;
SQL>SQL> CREATE INDEX ind_amountCREATE INDEX ind_amount
22 ON orders(amount_due – amount_paid)ON orders(amount_due – amount_paid)
33 TABLESPACE app_data;TABLESPACE app_data;
SQL>SQL> CREATE INDEX ind_amountCREATE INDEX ind_amount
22 ON orders(amount_due – amount_paid)ON orders(amount_due – amount_paid)
33 TABLESPACE app_data;TABLESPACE app_data;
• Í ndice de clave inversaÍ ndice de clave inversa
• Í ndice BitmapÍ ndice Bitmap
• Í ndice Basado en FuncionesÍ ndice Basado en Funciones
* GRANT QUERY REWRITE TO SCOTT;
11-11-2222 Copyright © ADA, 2005. Todos los derechos reservados.
Creando Í ndices en el EnterpriseCreando Í ndices en el Enterprise
ManagerManager
11-11-2323 Copyright © ADA, 2005. Todos los derechos reservados.
Cambiando Parámetros de AlmacenamientoCambiando Parámetros de Almacenamiento
para Í ndicespara Í ndices
SQL>SQL> ALTER INDEX ind_orderidALTER INDEX ind_orderid
22 MAXTRANS 5;MAXTRANS 5;
Index altered.Index altered.
SQL>SQL> ALTER INDEX ind_orderidALTER INDEX ind_orderid
22 MAXTRANS 5;MAXTRANS 5;
Index altered.Index altered.
SQL>SQL> ALTER INDEX ind_orderdateALTER INDEX ind_orderdate
22 STORAGE (PCTINCREASE 0);STORAGE (PCTINCREASE 0);
Index altered.Index altered.
SQL>SQL> ALTER INDEX ind_orderdateALTER INDEX ind_orderdate
22 STORAGE (PCTINCREASE 0);STORAGE (PCTINCREASE 0);
Index altered.Index altered.
11-11-2424 Copyright © ADA, 2005. Todos los derechos reservados.
Reconstruyendo Í ndicesReconstruyendo Í ndices
SQL>SQL> ALTER INDEX ind_orderidALTER INDEX ind_orderid
22 REBUILD TABLESPACE app_data_fia;REBUILD TABLESPACE app_data_fia;
Index altered.Index altered.
SQL>SQL> ALTER INDEX ind_orderidALTER INDEX ind_orderid
22 REBUILD TABLESPACE app_data_fia;REBUILD TABLESPACE app_data_fia;
Index altered.Index altered.
• Reconstruimos un índice para:Reconstruimos un índice para:
– Mover un índice a un tablespace diferenteMover un índice a un tablespace diferente
– Mejorar la utilizació n de espacioMejorar la utilizació n de espacio
– Cambiar un índice con clave inversa a unCambiar un índice con clave inversa a un
índice normal B-Tree y viceversaíndice normal B-Tree y viceversa
11-11-2525 Copyright © ADA, 2005. Todos los derechos reservados.
Reconstruyendo Í ndicesReconstruyendo Í ndices
SQL>SQL> ALTER INDEX ind_orderdateALTER INDEX ind_orderdate
22 REBUILD ONLINE;REBUILD ONLINE;
Index altered.Index altered.
SQL>SQL> ALTER INDEX ind_orderdateALTER INDEX ind_orderdate
22 REBUILD ONLINE;REBUILD ONLINE;
Index altered.Index altered.
• Reconstrucció n de un índice en línea:Reconstrucció n de un índice en línea:
11-11-2626 Copyright © ADA, 2005. Todos los derechos reservados.
Eliminando Í ndicesEliminando Í ndices
SQL>SQL> DROP INDEX ind_orderdate;DROP INDEX ind_orderdate;
Index dropped.Index dropped.
SQL>SQL> DROP INDEX ind_orderdate;DROP INDEX ind_orderdate;
Index dropped.Index dropped.
• Eliminamos un índice cuando:Eliminamos un índice cuando:
– El índice no es frecuentemente usado y loEl índice no es frecuentemente usado y lo
recreamos cuando sea necesariorecreamos cuando sea necesario
– El índice esta inválido y lo recreamosEl índice esta inválido y lo recreamos
– Antes de hacer cargas masivas (eliminamos yAntes de hacer cargas masivas (eliminamos y
recreamos)recreamos)
11-11-2727 Copyright © ADA, 2005. Todos los derechos reservados.
Recuperando Informació n de Í ndicesRecuperando Informació n de Í ndices
• DBA_INDEXESDBA_INDEXES
– OWNEROWNER
– INDEX_NAMEINDEX_NAME
– INDEX_TYPEINDEX_TYPE
– TABLE_OWNERTABLE_OWNER
– TABLE_NAMETABLE_NAME
– UNIQUENESSUNIQUENESS
– TABLESPACE_NATABLESPACE_NA
MEME
– LOGGINGLOGGING
– STATUSSTATUS
• DBA_IND_COLUMNSDBA_IND_COLUMNS
– INDEX_OWNERINDEX_OWNER
– INDEX_NAMEINDEX_NAME
– TABLE_OWNERTABLE_OWNER
– COLUMN_NAMECOLUMN_NAME
– COLUMN_POSITIOCOLUMN_POSITIO
NN
– COLUMN_LENGTHCOLUMN_LENGTH
11-11-2828 Copyright © ADA, 2005. Todos los derechos reservados.
Integridad de DatosIntegridad de Datos
• Los mé todos para garantizar la integridad de losLos mé todos para garantizar la integridad de los
datos son:datos son:
– Có digo de AplicacionesCó digo de Aplicaciones
– Disparadores de base de datosDisparadores de base de datos
– Restricciones de integridad declarativasRestricciones de integridad declarativas
11-11-2929 Copyright © ADA, 2005. Todos los derechos reservados.
Tipos de RestriccionesTipos de Restricciones
RestriccionesRestricciones
NOT NULLNOT NULL
UNIQUEUNIQUE
PRIMARY KEYPRIMARY KEY
FOREIGN KEYFOREIGN KEY
CHECKCHECK
Descripció nDescripció n
Especifica que una columna no puede tenerEspecifica que una columna no puede tener
valores nulosvalores nulos
Designa a una columna o combinació n deDesigna a una columna o combinació n de
columnas como únicocolumnas como único
Designa a una columna o combinació n deDesigna a una columna o combinació n de
columnas como clave primaria de una tablacolumnas como clave primaria de una tabla
Designa a una columna o combinació n deDesigna a una columna o combinació n de
columnas como clave foránea en unacolumnas como clave foránea en una
restricció n de integridad referencialrestricció n de integridad referencial
Especifica una condició n que cada fila de laEspecifica una condició n que cada fila de la
tabla debe satisfacertabla debe satisfacer
11-11-3030 Copyright © ADA, 2005. Todos los derechos reservados.
Estados de las RestriccionesEstados de las Restricciones
• Disabled novalidateDisabled novalidate
• Disabled validateDisabled validate
• Enabled novalidate or enforcedEnabled novalidate or enforced
• Enabled validateEnabled validate
11-11-3131 Copyright © ADA, 2005. Todos los derechos reservados.
Validació n de la Restricció nValidació n de la Restricció n
• Restricció n Diferida o InmediataRestricció n Diferida o Inmediata
• Restricció n No DiferidaRestricció n No Diferida
ALTER SESSIONALTER SESSION
SET CONSTRAINT[S] = {IMMEDIATE|DEFERRED|DEFAULT};SET CONSTRAINT[S] = {IMMEDIATE|DEFERRED|DEFAULT};
ALTER SESSIONALTER SESSION
SET CONSTRAINT[S] = {IMMEDIATE|DEFERRED|DEFAULT};SET CONSTRAINT[S] = {IMMEDIATE|DEFERRED|DEFAULT};
11-11-3232 Copyright © ADA, 2005. Todos los derechos reservados.
Definició n de una Restricció n en laDefinició n de una Restricció n en la
Creació n de una TablaCreació n de una Tabla
SQL>SQL> CREATE TABLE products (CREATE TABLE products (
22 productidproductid NUMBER(3) NOT NULLNUMBER(3) NOT NULL
33 CONSTRAINT productid_pk PRIMARY KEYCONSTRAINT productid_pk PRIMARY KEY
44 DEFERRABLE,DEFERRABLE,
55 descriptiondescription VARCHAR2(50) NOT NULL,VARCHAR2(50) NOT NULL,
66 shipdateshipdate DATE,DATE,
77 supplyidsupplyid VARCHAR2(3) NOT NULL)VARCHAR2(3) NOT NULL)
88 PCTFREE 5PCTFREE 5 PCTUSED 65PCTUSED 65
99 STORAGE (STORAGE (
1010 INITIALINITIAL 5K5K
1111 NEXTNEXT 5K5K
1212 PCTINCREASEPCTINCREASE 00
1313 MINEXTENTSMINEXTENTS 22
1414 MAXEXTENTSMAXEXTENTS 50)50)
1515 TABLESPACE users;TABLESPACE users;
Table created.Table created.
SQL>SQL> CREATE TABLE products (CREATE TABLE products (
22 productidproductid NUMBER(3) NOT NULLNUMBER(3) NOT NULL
33 CONSTRAINT productid_pk PRIMARY KEYCONSTRAINT productid_pk PRIMARY KEY
44 DEFERRABLE,DEFERRABLE,
55 descriptiondescription VARCHAR2(50) NOT NULL,VARCHAR2(50) NOT NULL,
66 shipdateshipdate DATE,DATE,
77 supplyidsupplyid VARCHAR2(3) NOT NULL)VARCHAR2(3) NOT NULL)
88 PCTFREE 5PCTFREE 5 PCTUSED 65PCTUSED 65
99 STORAGE (STORAGE (
1010 INITIALINITIAL 5K5K
1111 NEXTNEXT 5K5K
1212 PCTINCREASEPCTINCREASE 00
1313 MINEXTENTSMINEXTENTS 22
1414 MAXEXTENTSMAXEXTENTS 50)50)
1515 TABLESPACE users;TABLESPACE users;
Table created.Table created.
11-11-3333 Copyright © ADA, 2005. Todos los derechos reservados.
Definició n de una Restricció n en laDefinició n de una Restricció n en la
Creació n de una TablaCreació n de una Tabla
SQL>SQL> CREATE TABLE order_detail (CREATE TABLE order_detail (
22 orderidorderid NUMBER(3) NOT NULL,NUMBER(3) NOT NULL,
33 productidproductid NUMBER(3) NOT NULL,NUMBER(3) NOT NULL,
44 quantityquantity NUMBER,NUMBER,
55 unitunit VARCHAR2(3),VARCHAR2(3),
66 totaltotal NUMBER(10,2),NUMBER(10,2),
77 CONSTRAINT validatotal CHECK (total>0)CONSTRAINT validatotal CHECK (total>0)))
88 TABLESPACE app_data;TABLESPACE app_data;
Table created.Table created.
SQL>SQL> CREATE TABLE order_detail (CREATE TABLE order_detail (
22 orderidorderid NUMBER(3) NOT NULL,NUMBER(3) NOT NULL,
33 productidproductid NUMBER(3) NOT NULL,NUMBER(3) NOT NULL,
44 quantityquantity NUMBER,NUMBER,
55 unitunit VARCHAR2(3),VARCHAR2(3),
66 totaltotal NUMBER(10,2),NUMBER(10,2),
77 CONSTRAINT validatotal CHECK (total>0)CONSTRAINT validatotal CHECK (total>0)))
88 TABLESPACE app_data;TABLESPACE app_data;
Table created.Table created.
11-11-3434 Copyright © ADA, 2005. Todos los derechos reservados.
Definició n de una Restricció n en laDefinició n de una Restricció n en la
Creació n de una TablaCreació n de una Tabla
SQL>SQL> ALTER TABLE order_detail ADD (ALTER TABLE order_detail ADD (
22 CONSTRAINTCONSTRAINT order_detail_pk PRIMARY KEYorder_detail_pk PRIMARY KEY
33 (orderid,productid));(orderid,productid));
Table altered.Table altered.
SQL>SQL> ALTER TABLE order_detail ADD (ALTER TABLE order_detail ADD (
22 CONSTRAINTCONSTRAINT order_detail_pk PRIMARY KEYorder_detail_pk PRIMARY KEY
33 (orderid,productid));(orderid,productid));
Table altered.Table altered.
SQL> ALTER TABLE orders ADD (SQL> ALTER TABLE orders ADD (
2 CONSTRAINT orders_pk PRIMARY KEY2 CONSTRAINT orders_pk PRIMARY KEY
3 (orderid));3 (orderid));
Table altered.Table altered.
SQL> ALTER TABLE orders ADD (SQL> ALTER TABLE orders ADD (
2 CONSTRAINT orders_pk PRIMARY KEY2 CONSTRAINT orders_pk PRIMARY KEY
3 (orderid));3 (orderid));
Table altered.Table altered.
SQL>SQL> ALTER TABLE order_detail ADD (ALTER TABLE order_detail ADD (
22 CONSTRAINTCONSTRAINT orders_rel FOREIGN KEYorders_rel FOREIGN KEY
33 (orderid) REFERENCES orders);(orderid) REFERENCES orders);
Table altered.Table altered.
SQL>SQL> ALTER TABLE order_detail ADD (ALTER TABLE order_detail ADD (
22 CONSTRAINTCONSTRAINT orders_rel FOREIGN KEYorders_rel FOREIGN KEY
33 (orderid) REFERENCES orders);(orderid) REFERENCES orders);
Table altered.Table altered.
11-11-3535 Copyright © ADA, 2005. Todos los derechos reservados.
Recuperando Informació n de RestriccionesRecuperando Informació n de Restricciones
• DBA_CONSTRAINTSDBA_CONSTRAINTS
– OWNEROWNER
– CONSTRAINT_NAMECONSTRAINT_NAME
– CONSTRAINT_TYPECONSTRAINT_TYPE
– TABLE_NAMETABLE_NAME
– SEARCH_CONDITIOSEARCH_CONDITIO
NN
– R_OWNERR_OWNER
– R_CONSTRAINT_NAR_CONSTRAINT_NA
MEME
– DELETE_RULEDELETE_RULE
– STATUSSTATUS
– DEFERRABLEDEFERRABLE
– DEFERREDDEFERRED
• DBA_CONS_COLUMNDBA_CONS_COLUMN
SS
– OWNEROWNER
– CONSTRAINT_NACONSTRAINT_NA
MEME
– TABLE_NAMETABLE_NAME
– COLUMN_NAMECOLUMN_NAME
– POSITIONPOSITION
11-11-3636 Copyright © ADA, 2005. Todos los derechos reservados.
ResumenResumen
• En este capítulo hemos visto como:En este capítulo hemos visto como:
– Crear una tabla con una apropiada utilizació nCrear una tabla con una apropiada utilizació n
de parámetros de almacenamiento y de bloquede parámetros de almacenamiento y de bloque
– Controlar el uso de espacio de las tablasControlar el uso de espacio de las tablas
– Modificar y eliminar una tablaModificar y eliminar una tabla
– Crear diferentes tipos de índicesCrear diferentes tipos de índices
– Reorganizar y eliminar índicesReorganizar y eliminar índices
– Implementar integridad de datosImplementar integridad de datos
– Obtener informació n de tablas, índices yObtener informació n de tablas, índices y
restriccionesrestricciones

Más contenido relacionado

La actualidad más candente

Administración de base de datos oracle - sesion 2
Administración de base de datos oracle - sesion 2Administración de base de datos oracle - sesion 2
Administración de base de datos oracle - sesion 2Sefira111
 
Administración de base de datos oracle - sesion 10
Administración de base de datos oracle - sesion 10Administración de base de datos oracle - sesion 10
Administración de base de datos oracle - sesion 10Sefira111
 
Administración de Oracle - Tema 3 - Creación de la BD
Administración de Oracle - Tema 3 - Creación de la BDAdministración de Oracle - Tema 3 - Creación de la BD
Administración de Oracle - Tema 3 - Creación de la BDHector Martinez
 
Administración de base de datos oracle - sesion 9
Administración de base de datos oracle -  sesion 9Administración de base de datos oracle -  sesion 9
Administración de base de datos oracle - sesion 9Sefira111
 
Practicas tablespaces tema5 oracle tablespace
Practicas tablespaces tema5 oracle tablespacePracticas tablespaces tema5 oracle tablespace
Practicas tablespaces tema5 oracle tablespaceCarlos Ocola Ugarte
 
Abf leccion 06
Abf leccion 06Abf leccion 06
Abf leccion 06victdiazm
 
Configuracion y administracion del espacio en disco
 Configuracion y administracion del espacio en disco Configuracion y administracion del espacio en disco
Configuracion y administracion del espacio en discoYael_21
 
Administracion de base de datos oracle tarea#02
Administracion de base de datos oracle tarea#02Administracion de base de datos oracle tarea#02
Administracion de base de datos oracle tarea#02Celso
 
Estructura de Almacenamiento en Oracle. TableSpaceZ052 07
Estructura de Almacenamiento en Oracle. TableSpaceZ052 07Estructura de Almacenamiento en Oracle. TableSpaceZ052 07
Estructura de Almacenamiento en Oracle. TableSpaceZ052 07Alexander Calderón
 
Microsoft sql server 2012
Microsoft sql server 2012Microsoft sql server 2012
Microsoft sql server 2012lelyydrogo
 
Sesión01 - Gestión de instancia (Oracle)
Sesión01 - Gestión de instancia (Oracle)Sesión01 - Gestión de instancia (Oracle)
Sesión01 - Gestión de instancia (Oracle)José Toro
 
Administrando Usuarios de Oracle Database. Z052 08
Administrando Usuarios de Oracle Database. Z052 08Administrando Usuarios de Oracle Database. Z052 08
Administrando Usuarios de Oracle Database. Z052 08Alexander Calderón
 
Abf leccion 10
Abf leccion 10Abf leccion 10
Abf leccion 10victdiazm
 
Introducción a SQL sobre Oracle
Introducción a SQL sobre OracleIntroducción a SQL sobre Oracle
Introducción a SQL sobre OracleRaúl Galíndez
 
Arquitectura de Oracle 11g r2
Arquitectura de Oracle 11g r2Arquitectura de Oracle 11g r2
Arquitectura de Oracle 11g r2Carmen Soler
 
Mejores Prácticas Administración de Base de Datos Oracle
Mejores Prácticas Administración de Base de Datos OracleMejores Prácticas Administración de Base de Datos Oracle
Mejores Prácticas Administración de Base de Datos Oraclejftorres92
 
Preparando el entorno de la base de datos Oracle 11g Administration I-Z052-03
Preparando el entorno de la base de datos Oracle 11g Administration I-Z052-03Preparando el entorno de la base de datos Oracle 11g Administration I-Z052-03
Preparando el entorno de la base de datos Oracle 11g Administration I-Z052-03Alexander Calderón
 
Introduccion a la Arquitectura de Oracle. Z052 02
Introduccion a la Arquitectura de Oracle. Z052 02Introduccion a la Arquitectura de Oracle. Z052 02
Introduccion a la Arquitectura de Oracle. Z052 02Alexander Calderón
 

La actualidad más candente (20)

Administración de base de datos oracle - sesion 2
Administración de base de datos oracle - sesion 2Administración de base de datos oracle - sesion 2
Administración de base de datos oracle - sesion 2
 
Administración de base de datos oracle - sesion 10
Administración de base de datos oracle - sesion 10Administración de base de datos oracle - sesion 10
Administración de base de datos oracle - sesion 10
 
Administración de Oracle - Tema 3 - Creación de la BD
Administración de Oracle - Tema 3 - Creación de la BDAdministración de Oracle - Tema 3 - Creación de la BD
Administración de Oracle - Tema 3 - Creación de la BD
 
Administración de base de datos oracle - sesion 9
Administración de base de datos oracle -  sesion 9Administración de base de datos oracle -  sesion 9
Administración de base de datos oracle - sesion 9
 
Tablespaces En Oracle
Tablespaces En OracleTablespaces En Oracle
Tablespaces En Oracle
 
Practicas tablespaces tema5 oracle tablespace
Practicas tablespaces tema5 oracle tablespacePracticas tablespaces tema5 oracle tablespace
Practicas tablespaces tema5 oracle tablespace
 
Abf leccion 06
Abf leccion 06Abf leccion 06
Abf leccion 06
 
Configuracion y administracion del espacio en disco
 Configuracion y administracion del espacio en disco Configuracion y administracion del espacio en disco
Configuracion y administracion del espacio en disco
 
Administracion de base de datos oracle tarea#02
Administracion de base de datos oracle tarea#02Administracion de base de datos oracle tarea#02
Administracion de base de datos oracle tarea#02
 
Estructura de Almacenamiento en Oracle. TableSpaceZ052 07
Estructura de Almacenamiento en Oracle. TableSpaceZ052 07Estructura de Almacenamiento en Oracle. TableSpaceZ052 07
Estructura de Almacenamiento en Oracle. TableSpaceZ052 07
 
Microsoft sql server 2012
Microsoft sql server 2012Microsoft sql server 2012
Microsoft sql server 2012
 
Postgresql expo
Postgresql expoPostgresql expo
Postgresql expo
 
Sesión01 - Gestión de instancia (Oracle)
Sesión01 - Gestión de instancia (Oracle)Sesión01 - Gestión de instancia (Oracle)
Sesión01 - Gestión de instancia (Oracle)
 
Administrando Usuarios de Oracle Database. Z052 08
Administrando Usuarios de Oracle Database. Z052 08Administrando Usuarios de Oracle Database. Z052 08
Administrando Usuarios de Oracle Database. Z052 08
 
Abf leccion 10
Abf leccion 10Abf leccion 10
Abf leccion 10
 
Introducción a SQL sobre Oracle
Introducción a SQL sobre OracleIntroducción a SQL sobre Oracle
Introducción a SQL sobre Oracle
 
Arquitectura de Oracle 11g r2
Arquitectura de Oracle 11g r2Arquitectura de Oracle 11g r2
Arquitectura de Oracle 11g r2
 
Mejores Prácticas Administración de Base de Datos Oracle
Mejores Prácticas Administración de Base de Datos OracleMejores Prácticas Administración de Base de Datos Oracle
Mejores Prácticas Administración de Base de Datos Oracle
 
Preparando el entorno de la base de datos Oracle 11g Administration I-Z052-03
Preparando el entorno de la base de datos Oracle 11g Administration I-Z052-03Preparando el entorno de la base de datos Oracle 11g Administration I-Z052-03
Preparando el entorno de la base de datos Oracle 11g Administration I-Z052-03
 
Introduccion a la Arquitectura de Oracle. Z052 02
Introduccion a la Arquitectura de Oracle. Z052 02Introduccion a la Arquitectura de Oracle. Z052 02
Introduccion a la Arquitectura de Oracle. Z052 02
 

Destacado

Management para emprendimientos: Lean Startup
Management para emprendimientos: Lean Startup Management para emprendimientos: Lean Startup
Management para emprendimientos: Lean Startup menttes
 
Arranque y parada de la base de datos. Ficheros de traza
Arranque y parada de la base de datos. Ficheros de trazaArranque y parada de la base de datos. Ficheros de traza
Arranque y parada de la base de datos. Ficheros de trazacestiogalo
 
Android de la A a la Z - Introducción
Android de la A a la Z - IntroducciónAndroid de la A a la Z - Introducción
Android de la A a la Z - IntroducciónJorge Ulises
 
Android de la A a la Z - Unidad 9
Android de la A a la Z - Unidad 9Android de la A a la Z - Unidad 9
Android de la A a la Z - Unidad 9Jorge Ulises
 
Oracle Spatial de la A a la Z - Unidad 10
Oracle Spatial de la A a la Z - Unidad 10Oracle Spatial de la A a la Z - Unidad 10
Oracle Spatial de la A a la Z - Unidad 10Jorge Ulises
 
Oracle Database 11g vs 12c
Oracle Database 11g vs 12cOracle Database 11g vs 12c
Oracle Database 11g vs 12cDeiby Gómez
 
Oracle Spatial de la A a la Z - Unidad 8
Oracle Spatial de la A a la Z - Unidad 8Oracle Spatial de la A a la Z - Unidad 8
Oracle Spatial de la A a la Z - Unidad 8Jorge Ulises
 
Oracle Spatial de la A a la Z - Unidad 9
Oracle Spatial de la A a la Z - Unidad 9Oracle Spatial de la A a la Z - Unidad 9
Oracle Spatial de la A a la Z - Unidad 9Jorge Ulises
 
Oracle Spatial de la A a la Z - Unidad 6
Oracle Spatial de la A a la Z - Unidad 6Oracle Spatial de la A a la Z - Unidad 6
Oracle Spatial de la A a la Z - Unidad 6Jorge Ulises
 
Oracle Spatial de la A a la Z - Unidad 1
Oracle Spatial de la A a la Z - Unidad 1Oracle Spatial de la A a la Z - Unidad 1
Oracle Spatial de la A a la Z - Unidad 1Jorge Ulises
 

Destacado (11)

Management para emprendimientos: Lean Startup
Management para emprendimientos: Lean Startup Management para emprendimientos: Lean Startup
Management para emprendimientos: Lean Startup
 
Arranque y parada de la base de datos. Ficheros de traza
Arranque y parada de la base de datos. Ficheros de trazaArranque y parada de la base de datos. Ficheros de traza
Arranque y parada de la base de datos. Ficheros de traza
 
Android de la A a la Z - Introducción
Android de la A a la Z - IntroducciónAndroid de la A a la Z - Introducción
Android de la A a la Z - Introducción
 
Android de la A a la Z - Unidad 9
Android de la A a la Z - Unidad 9Android de la A a la Z - Unidad 9
Android de la A a la Z - Unidad 9
 
Oracle Spatial de la A a la Z - Unidad 10
Oracle Spatial de la A a la Z - Unidad 10Oracle Spatial de la A a la Z - Unidad 10
Oracle Spatial de la A a la Z - Unidad 10
 
Oracle Database 11g vs 12c
Oracle Database 11g vs 12cOracle Database 11g vs 12c
Oracle Database 11g vs 12c
 
Oracle Spatial de la A a la Z - Unidad 8
Oracle Spatial de la A a la Z - Unidad 8Oracle Spatial de la A a la Z - Unidad 8
Oracle Spatial de la A a la Z - Unidad 8
 
Oracle Spatial de la A a la Z - Unidad 9
Oracle Spatial de la A a la Z - Unidad 9Oracle Spatial de la A a la Z - Unidad 9
Oracle Spatial de la A a la Z - Unidad 9
 
Oracle Spatial de la A a la Z - JUGM 2010
Oracle Spatial de la A a la Z - JUGM 2010Oracle Spatial de la A a la Z - JUGM 2010
Oracle Spatial de la A a la Z - JUGM 2010
 
Oracle Spatial de la A a la Z - Unidad 6
Oracle Spatial de la A a la Z - Unidad 6Oracle Spatial de la A a la Z - Unidad 6
Oracle Spatial de la A a la Z - Unidad 6
 
Oracle Spatial de la A a la Z - Unidad 1
Oracle Spatial de la A a la Z - Unidad 1Oracle Spatial de la A a la Z - Unidad 1
Oracle Spatial de la A a la Z - Unidad 1
 

Similar a Administración de base de datos oracle - sesion 11

Database fundamental itprosdc_chapter2
Database fundamental itprosdc_chapter2Database fundamental itprosdc_chapter2
Database fundamental itprosdc_chapter2Julián Castiblanco
 
Sql comandos
Sql comandosSql comandos
Sql comandosJose
 
Curso de SQL Básico parte 1 de 10
Curso de SQL Básico parte 1 de 10Curso de SQL Básico parte 1 de 10
Curso de SQL Básico parte 1 de 10Byron Quisquinay
 
No SQL MSATS MongoDB | SolidQ Summit 2014
No SQL MSATS MongoDB | SolidQ Summit 2014No SQL MSATS MongoDB | SolidQ Summit 2014
No SQL MSATS MongoDB | SolidQ Summit 2014SolidQ
 
Unidad I- Introducción.pptx
Unidad I- Introducción.pptxUnidad I- Introducción.pptx
Unidad I- Introducción.pptxdffdfsd
 
6. sql structured query language
6. sql   structured query language6. sql   structured query language
6. sql structured query languageInés Rosero
 
6. sql structured query language
6. sql   structured query language6. sql   structured query language
6. sql structured query languageDoris Aguagallo
 
6 150113092523-conversion-gate01
6 150113092523-conversion-gate016 150113092523-conversion-gate01
6 150113092523-conversion-gate01Dyego de Alvaro
 
6. sql structured query language
6. sql   structured query language6. sql   structured query language
6. sql structured query languageWilliam Lozano
 
6. sql structured query language
6. sql   structured query language6. sql   structured query language
6. sql structured query languageYoly QC
 
6. sql structured query language
6. sql   structured query language6. sql   structured query language
6. sql structured query languageChars Orden
 
6. sql structured query language
6. sql   structured query language6. sql   structured query language
6. sql structured query languageAny Saula
 
6. SQL structured query language
6. SQL   structured query language6. SQL   structured query language
6. SQL structured query languageMarcelo Herrera
 
6. sql structured query language
6. sql   structured query language6. sql   structured query language
6. sql structured query languagejhonny tenesaca
 
6. sql structured query language2
6. sql   structured query language26. sql   structured query language2
6. sql structured query language2Oscar Valdivieso
 

Similar a Administración de base de datos oracle - sesion 11 (20)

Database fundamental itprosdc_chapter2
Database fundamental itprosdc_chapter2Database fundamental itprosdc_chapter2
Database fundamental itprosdc_chapter2
 
Sql comandos
Sql comandosSql comandos
Sql comandos
 
Curso de SQL Básico parte 1 de 10
Curso de SQL Básico parte 1 de 10Curso de SQL Básico parte 1 de 10
Curso de SQL Básico parte 1 de 10
 
No SQL MSATS MongoDB | SolidQ Summit 2014
No SQL MSATS MongoDB | SolidQ Summit 2014No SQL MSATS MongoDB | SolidQ Summit 2014
No SQL MSATS MongoDB | SolidQ Summit 2014
 
Introduccion a SQL
Introduccion a SQL Introduccion a SQL
Introduccion a SQL
 
Sql2
Sql2Sql2
Sql2
 
Tsql
TsqlTsql
Tsql
 
Unidad I- Introducción.pptx
Unidad I- Introducción.pptxUnidad I- Introducción.pptx
Unidad I- Introducción.pptx
 
6. sql structured query language
6. sql   structured query language6. sql   structured query language
6. sql structured query language
 
6. sql structured query language
6. sql   structured query language6. sql   structured query language
6. sql structured query language
 
6 150113092523-conversion-gate01
6 150113092523-conversion-gate016 150113092523-conversion-gate01
6 150113092523-conversion-gate01
 
6. sql structured query language
6. sql   structured query language6. sql   structured query language
6. sql structured query language
 
6. sql structured query language
6. sql   structured query language6. sql   structured query language
6. sql structured query language
 
6. sql structured query language
6. sql   structured query language6. sql   structured query language
6. sql structured query language
 
6. sql structured query language
6. sql   structured query language6. sql   structured query language
6. sql structured query language
 
6. sql structured query language
6. sql   structured query language6. sql   structured query language
6. sql structured query language
 
6. SQL structured query language
6. SQL   structured query language6. SQL   structured query language
6. SQL structured query language
 
111
111111
111
 
6. sql structured query language
6. sql   structured query language6. sql   structured query language
6. sql structured query language
 
6. sql structured query language2
6. sql   structured query language26. sql   structured query language2
6. sql structured query language2
 

Último

Introducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTERIntroducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTEREMMAFLORESCARMONA
 
Segmentacion Segmantica_Modelos UNET and DEEPLABV3
Segmentacion Segmantica_Modelos UNET and DEEPLABV3Segmentacion Segmantica_Modelos UNET and DEEPLABV3
Segmentacion Segmantica_Modelos UNET and DEEPLABV3AlexysCaytanoMelndez1
 
Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200Opentix
 
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...ITeC Instituto Tecnología Construcción
 
Manual de Usuario APPs_AppInventor-2023.pdf
Manual de Usuario APPs_AppInventor-2023.pdfManual de Usuario APPs_AppInventor-2023.pdf
Manual de Usuario APPs_AppInventor-2023.pdfmasogeis
 
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLOPARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLOSelenaCoronadoHuaman
 
Unidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacionUnidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacionarmando_cardenas
 

Último (7)

Introducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTERIntroducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTER
 
Segmentacion Segmantica_Modelos UNET and DEEPLABV3
Segmentacion Segmantica_Modelos UNET and DEEPLABV3Segmentacion Segmantica_Modelos UNET and DEEPLABV3
Segmentacion Segmantica_Modelos UNET and DEEPLABV3
 
Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200
 
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
 
Manual de Usuario APPs_AppInventor-2023.pdf
Manual de Usuario APPs_AppInventor-2023.pdfManual de Usuario APPs_AppInventor-2023.pdf
Manual de Usuario APPs_AppInventor-2023.pdf
 
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLOPARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
 
Unidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacionUnidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacion
 

Administración de base de datos oracle - sesion 11

  • 1. 11-11-11 Copyright © ADA, 2005. Todos los derechos reservados. Sesió n 11Sesió n 11 Administrando Tablas,Administrando Tablas, Í ndices y RestriccionesÍ ndices y Restricciones
  • 2. 11-11-22 Copyright © ADA, 2005. Todos los derechos reservados. ObjetivosObjetivos • Crear tablas usando la configuració n apropiadaCrear tablas usando la configuració n apropiada de almacenamientode almacenamiento • Controlar el espacio usado por las tablasControlar el espacio usado por las tablas • Analizar las tablas para chequear integridad yAnalizar las tablas para chequear integridad y migració nmigració n • Listar los diferentes tipos de índicesListar los diferentes tipos de índices • Crear, reorganizar y eliminar índicesCrear, reorganizar y eliminar índices • Implementar integridad de datosImplementar integridad de datos • Mantenimiento de las restricciones de integridadMantenimiento de las restricciones de integridad • Recuperar informació n de tablas, índices yRecuperar informació n de tablas, índices y restricciones del diccionario de datosrestricciones del diccionario de datos
  • 3. 11-11-33 Copyright © ADA, 2005. Todos los derechos reservados. Consideraciones en la Creació n de TablasConsideraciones en la Creació n de Tablas • Definició n de columnas: Nombre, Tipo de Dato,Definició n de columnas: Nombre, Tipo de Dato, Nulidad, Valor por Defecto.Nulidad, Valor por Defecto. • Tipo de tabla.Tipo de tabla. • Utilizació n del espacio en los bloques de datos.Utilizació n del espacio en los bloques de datos. • Ubicació n de la tabla.Ubicació n de la tabla. • Opció n deOpció n de LoggingLogging (Redo Log Buffer).(Redo Log Buffer). • Tamañ o estimado.Tamañ o estimado.
  • 4. 11-11-44 Copyright © ADA, 2005. Todos los derechos reservados. Tipos de TablasTipos de Tablas • Ordinary. Básica, sus datos están almacenadosOrdinary. Básica, sus datos están almacenados como una colecció n no ordenada.como una colecció n no ordenada. • Partitioned. Los datos son almacenados en partesPartitioned. Los datos son almacenados en partes en diferentes ubicaciones.en diferentes ubicaciones. • Index-organized. Los datos son almacenados enIndex-organized. Los datos son almacenados en una estructura de índice B-tree.una estructura de índice B-tree. • Cluster. La tabla forma parte de un cluster. UnCluster. La tabla forma parte de un cluster. Un cluster es un grupo de tablas que comparten loscluster es un grupo de tablas que comparten los mismos bloques de datos en sus columnasmismos bloques de datos en sus columnas comunes y generalmente se usan en conjunto.comunes y generalmente se usan en conjunto.
  • 5. 11-11-55 Copyright © ADA, 2005. Todos los derechos reservados. Tipos de Datos OracleTipos de Datos Oracle • Definidos por el usuarioDefinidos por el usuario • Built-inBuilt-in – EscalarEscalar  CHAR(N),NCHAR(N)CHAR(N),NCHAR(N)  VARCHAR2(N),NVARCHAR2(N)VARCHAR2(N),NVARCHAR2(N)  NUMBER(I,D)NUMBER(I,D)  DATEDATE  RAWRAW  BLOB,CLOB,NCLOB,BFILEBLOB,CLOB,NCLOB,BFILE  LONG,LONG RAWLONG,LONG RAW  ROWID,UROWIDROWID,UROWID – ColeccionesColecciones  VARRAYVARRAY  TABLETABLE
  • 6. 11-11-66 Copyright © ADA, 2005. Todos los derechos reservados. Creando una TablaCreando una Tabla SQL>SQL> CREATE TABLE orders (CREATE TABLE orders ( 22 orderidorderid NUMBER(3)NOT NULL,NUMBER(3)NOT NULL, 33 orderdateorderdate DATE,DATE, 44 shipdateshipdate DATE,DATE, 55 clientclient VARCHAR2(3)NOT NULL,VARCHAR2(3)NOT NULL, 66 amount_dueamount_due NUMBER(10,2),NUMBER(10,2), 77 amount_paidamount_paid NUMBER(10,2))NUMBER(10,2)) 88 PCTFREE 35PCTFREE 35 PCTUSED 65PCTUSED 65 99 STORAGE (STORAGE ( 1010 INITIALINITIAL 5K5K 1111 NEXTNEXT 5K5K 1212 PCTINCREASEPCTINCREASE 00 1313 MINEXTENTSMINEXTENTS 22 1414 MAXEXTENTSMAXEXTENTS 50)50) 1515 TABLESPACE users;TABLESPACE users; Table created.Table created. SQL>SQL> CREATE TABLE orders (CREATE TABLE orders ( 22 orderidorderid NUMBER(3)NOT NULL,NUMBER(3)NOT NULL, 33 orderdateorderdate DATE,DATE, 44 shipdateshipdate DATE,DATE, 55 clientclient VARCHAR2(3)NOT NULL,VARCHAR2(3)NOT NULL, 66 amount_dueamount_due NUMBER(10,2),NUMBER(10,2), 77 amount_paidamount_paid NUMBER(10,2))NUMBER(10,2)) 88 PCTFREE 35PCTFREE 35 PCTUSED 65PCTUSED 65 99 STORAGE (STORAGE ( 1010 INITIALINITIAL 5K5K 1111 NEXTNEXT 5K5K 1212 PCTINCREASEPCTINCREASE 00 1313 MINEXTENTSMINEXTENTS 22 1414 MAXEXTENTSMAXEXTENTS 50)50) 1515 TABLESPACE users;TABLESPACE users; Table created.Table created.
  • 7. 11-11-77 Copyright © ADA, 2005. Todos los derechos reservados. Creando una Tabla en el EnterpriseCreando una Tabla en el Enterprise ManagerManager
  • 8. 11-11-88 Copyright © ADA, 2005. Todos los derechos reservados. Encadenamiento y Migració n de FilasEncadenamiento y Migració n de Filas • Migració n de FilasMigració n de Filas – Ocurre cuando se realiza un updateOcurre cuando se realiza un update – En el bloque original solo queda un punteroEn el bloque original solo queda un puntero • Encadenamiento de FilasEncadenamiento de Filas – Ocurre cuando una fila es muy grandeOcurre cuando una fila es muy grande (columnas muy grandes)(columnas muy grandes) – La fila se divide en piezas que se ubican enLa fila se divide en piezas que se ubican en dos bloquesdos bloques
  • 9. 11-11-99 Copyright © ADA, 2005. Todos los derechos reservados. Modificando una TablaModificando una Tabla Cambiando los parámetros de storageCambiando los parámetros de storage SQL>SQL> ALTER TABLE ordersALTER TABLE orders 22 STORAGESTORAGE (MAXEXTENTS 121(MAXEXTENTS 121 33 PCTINCREASE 100);PCTINCREASE 100); Table altered.Table altered. SQL>SQL> ALTER TABLE ordersALTER TABLE orders 22 STORAGESTORAGE (MAXEXTENTS 121(MAXEXTENTS 121 33 PCTINCREASE 100);PCTINCREASE 100); Table altered.Table altered. Moviendo una tablaMoviendo una tabla SQL>SQL> ALTER TABLE ordersALTER TABLE orders 22 MOVE TABLESPACE app_data;MOVE TABLESPACE app_data; Table altered.Table altered. SQL>SQL> ALTER TABLE ordersALTER TABLE orders 22 MOVE TABLESPACE app_data;MOVE TABLESPACE app_data; Table altered.Table altered.
  • 10. 11-11-1010 Copyright © ADA, 2005. Todos los derechos reservados. Modificando una TablaModificando una Tabla Agregando columnasAgregando columnas SQL>SQL> ALTER TABLE ordersALTER TABLE orders 22 ADD (amount_dscto NUMBER(10,2));ADD (amount_dscto NUMBER(10,2)); Table altered.Table altered. SQL>SQL> ALTER TABLE ordersALTER TABLE orders 22 ADD (amount_dscto NUMBER(10,2));ADD (amount_dscto NUMBER(10,2)); Table altered.Table altered. Renombrando columnasRenombrando columnas SQL>SQL> ALTER TABLE ordersALTER TABLE orders 22 RENAME COLUMN client TO clientid;RENAME COLUMN client TO clientid; Table altered.Table altered. SQL>SQL> ALTER TABLE ordersALTER TABLE orders 22 RENAME COLUMN client TO clientid;RENAME COLUMN client TO clientid; Table altered.Table altered. * En versiones anteriores a 9.2 drop columm y add column
  • 11. 11-11-1111 Copyright © ADA, 2005. Todos los derechos reservados. Asignando y Liberando ExtentsAsignando y Liberando Extents Asignació n Manual de ExtentsAsignació n Manual de Extents SQL>SQL> ALTER TABLE SCOTT.orders ALLOCATE EXTENT (SIZE 10K);ALTER TABLE SCOTT.orders ALLOCATE EXTENT (SIZE 10K); Table altered.Table altered. SQL>SQL> ALTER TABLE SCOTT.orders ALLOCATE EXTENT (SIZE 10K);ALTER TABLE SCOTT.orders ALLOCATE EXTENT (SIZE 10K); Table altered.Table altered. Liberando ExtentsLiberando Extents SQL>SQL> ALTER TABLE SCOTT.orders DEALLOCATE UNUSED;ALTER TABLE SCOTT.orders DEALLOCATE UNUSED; Table altered.Table altered. SQL>SQL> ALTER TABLE SCOTT.orders DEALLOCATE UNUSED;ALTER TABLE SCOTT.orders DEALLOCATE UNUSED; Table altered.Table altered.
  • 12. 11-11-1212 Copyright © ADA, 2005. Todos los derechos reservados. Eliminando Filas y TablasEliminando Filas y Tablas Eliminando todas las filas de una tablaEliminando todas las filas de una tabla SQL>SQL> TRUNCATE TABLE orders;TRUNCATE TABLE orders; Table truncated.Table truncated. SQL>SQL> TRUNCATE TABLE orders;TRUNCATE TABLE orders; Table truncated.Table truncated. Eliminando una tablaEliminando una tabla SQL>SQL> DROP TABLE ordersDROP TABLE orders 22 CASCADE CONSTRAINTS;CASCADE CONSTRAINTS; Table dropped.Table dropped. SQL>SQL> DROP TABLE ordersDROP TABLE orders 22 CASCADE CONSTRAINTS;CASCADE CONSTRAINTS; Table dropped.Table dropped.
  • 13. 11-11-1313 Copyright © ADA, 2005. Todos los derechos reservados. Recuperando Informació n de TablasRecuperando Informació n de Tablas • DBA_OBJECTSDBA_OBJECTS – OWNEROWNER – OBJECT_NAMEOBJECT_NAME – OBJECT_IDOBJECT_ID – DATA_OBJECT_IDDATA_OBJECT_ID – CREATEDCREATED • DBA_SEGMENTSDBA_SEGMENTS – OWNEROWNER – SEGMENT_NAMESEGMENT_NAME – TABLESPACE_NAMTABLESPACE_NAM EE – HEADER_FILEHEADER_FILE – HEADER_BLOCKHEADER_BLOCK • DBA_TABLESDBA_TABLES – OWNEROWNER – TABLE_NAMETABLE_NAME – PCT_FREEPCT_FREE – PCT_USEDPCT_USED – INITIAL_EXTENTINITIAL_EXTENT – NEXT_EXTENTNEXT_EXTENT – MIN_EXTENTSMIN_EXTENTS – MAX_EXTENTSMAX_EXTENTS – PCT_INCREASEPCT_INCREASE – CACHECACHE – BLOCKSBLOCKS
  • 14. 11-11-1414 Copyright © ADA, 2005. Todos los derechos reservados. Clasificació n de Í ndicesClasificació n de Í ndices • Estándar (B-tree) o BitmapEstándar (B-tree) o Bitmap • Ascendentes o Descendentes (clave inversa)Ascendentes o Descendentes (clave inversa) • Basados en Columnas o FuncionesBasados en Columnas o Funciones • De 1 Columna o ConcatenadosDe 1 Columna o Concatenados • Particionados o No ParticionadosParticionados o No Particionados • Únicos o No ÚnicosÚnicos o No Únicos
  • 15. 11-11-1515 Copyright © ADA, 2005. Todos los derechos reservados. Í ndice BitmapÍ ndice Bitmap • Un mapa de bits por cada clave en lugar de unaUn mapa de bits por cada clave en lugar de una lista de rowids. Cada bit corresponde a un posiblelista de rowids. Cada bit corresponde a un posible rowidrowid • Eficiente combinació n de bits usando lasEficiente combinació n de bits usando las operaciones ló gicas (AND y OR)operaciones ló gicas (AND y OR) • Sustancial reducció n de espacio usado comparadoSustancial reducció n de espacio usado comparado con otras té cnicas de indexamientocon otras té cnicas de indexamiento • Incremento dramático de la performance conIncremento dramático de la performance con algunas consultasalgunas consultas
  • 16. 11-11-1616 Copyright © ADA, 2005. Todos los derechos reservados. Comparando Í ndices B-Tree y BitmapComparando Í ndices B-Tree y Bitmap B-TreeB-Tree Conveniente para columnas deConveniente para columnas de alta cardinalidadalta cardinalidad Actualizació n sobre claves deActualizació n sobre claves de relativamente bajo costorelativamente bajo costo Ineficiente para consultasIneficiente para consultas usando el operador ló gico ORusando el operador ló gico OR Útil para OLTPÚtil para OLTP BitmapBitmap Conveniente para columnas de bajaConveniente para columnas de baja cardinalidadcardinalidad Actualizació n sobre columnas deActualizació n sobre columnas de alto costoalto costo Eficiente para consultas usando elEficiente para consultas usando el operador ló gico ORoperador ló gico OR Útil para datawarehouseÚtil para datawarehouse
  • 17. 11-11-1717 Copyright © ADA, 2005. Todos los derechos reservados. Í ndices ÚnicosÍ ndices Únicos INDEX_KEY ROWIDINDEX_KEY ROWID EMPNOEMPNO (BLOCK# ROW# FILE#)(BLOCK# ROW# FILE#) ---------- -------------------------------------- 73697369 0000000F.0001.00010000000F.0001.0001 74997499 0000000F.0002.00010000000F.0002.0001 75217521 0000000F.0003.00010000000F.0003.0001 75667566 0000000F.0004.00010000000F.0004.0001 76547654 0000000F.0005.00010000000F.0005.0001 76987698 0000000F.0006.00010000000F.0006.0001 77827782 0000000F.0007.00010000000F.0007.0001 ...... ...... INDEX_KEY ROWIDINDEX_KEY ROWID EMPNOEMPNO (BLOCK# ROW# FILE#)(BLOCK# ROW# FILE#) ---------- -------------------------------------- 73697369 0000000F.0001.00010000000F.0001.0001 74997499 0000000F.0002.00010000000F.0002.0001 75217521 0000000F.0003.00010000000F.0003.0001 75667566 0000000F.0004.00010000000F.0004.0001 76547654 0000000F.0005.00010000000F.0005.0001 76987698 0000000F.0006.00010000000F.0006.0001 77827782 0000000F.0007.00010000000F.0007.0001 ...... ...... Index on EMP (EMPNO) EMP Table EMPNOEMPNO ENAMEENAME JOBJOB ...... ---------- ---------- ---------------- ------ 74997499 ALLENALLEN SALESMANSALESMAN 73697369 SMITHSMITH CLERKCLERK 75217521 WARDWARD SALESMANSALESMAN 75667566 JONESJONES MANAGERMANAGER 76547654 MARTINMARTIN SALESMANSALESMAN 76987698 BLAKEBLAKE MANAGERMANAGER 77827782 CLARKCLARK MANAGERMANAGER ...... ...... ...... ...... EMPNOEMPNO ENAMEENAME JOBJOB ...... ---------- ---------- ---------------- ------ 74997499 ALLENALLEN SALESMANSALESMAN 73697369 SMITHSMITH CLERKCLERK 75217521 WARDWARD SALESMANSALESMAN 75667566 JONESJONES MANAGERMANAGER 76547654 MARTINMARTIN SALESMANSALESMAN 76987698 BLAKEBLAKE MANAGERMANAGER 77827782 CLARKCLARK MANAGERMANAGER ...... ...... ...... ......
  • 18. 11-11-1818 Copyright © ADA, 2005. Todos los derechos reservados. Í ndices No ÚnicosÍ ndices No Únicos INDEX_KEY ROWIDINDEX_KEY ROWID ENAMEENAME (BLOCK# ROW# FILE#)(BLOCK# ROW# FILE#) ------------ -------------------------------------- ALLENALLEN 0000000F.0002.00010000000F.0002.0001 BLAKEBLAKE 0000000F.0009.00010000000F.0009.0001 CLARKCLARK 0000000F.0007.00010000000F.0007.0001 JONESJONES 0000000F.0004.00010000000F.0004.0001 JONESJONES 0000000F.0005.00010000000F.0005.0001 MARTINMARTIN 0000000F.0006.00010000000F.0006.0001 SMITHSMITH 0000000F.0008.00010000000F.0008.0001 SMITHSMITH 0000000F.0011.00010000000F.0011.0001 SMITHSMITH 0000000F.0012.00010000000F.0012.0001 WARDWARD 0000000F.0003.00010000000F.0003.0001 ...... ...... INDEX_KEY ROWIDINDEX_KEY ROWID ENAMEENAME (BLOCK# ROW# FILE#)(BLOCK# ROW# FILE#) ------------ -------------------------------------- ALLENALLEN 0000000F.0002.00010000000F.0002.0001 BLAKEBLAKE 0000000F.0009.00010000000F.0009.0001 CLARKCLARK 0000000F.0007.00010000000F.0007.0001 JONESJONES 0000000F.0004.00010000000F.0004.0001 JONESJONES 0000000F.0005.00010000000F.0005.0001 MARTINMARTIN 0000000F.0006.00010000000F.0006.0001 SMITHSMITH 0000000F.0008.00010000000F.0008.0001 SMITHSMITH 0000000F.0011.00010000000F.0011.0001 SMITHSMITH 0000000F.0012.00010000000F.0012.0001 WARDWARD 0000000F.0003.00010000000F.0003.0001 ...... ...... Index on EMP (ENAME) EMP Table INDEX_KEY ROWIDINDEX_KEY ROWID ENAMEENAME JOBJOB SALSAL DEPNODEPNO ------------ ---------------- ---------- ---------- SMITHSMITH CLERKCLERK 800800 2020 ALLENALLEN SALESMANSALESMAN 16001600 3030 WARDWARD SALESMANSALESMAN 12501250 3030 JONESJONES MANAGERMANAGER 29752975 2020 JONESJONES CLERKCLERK 12501250 1010 MARTINMARTIN SALESMANSALESMAN 12501250 3030 BLAKEBLAKE MANAGERMANAGER 28502850 3030 CLARKCLARK MANAGERMANAGER 24502450 1010 SMITHSMITH MANAGERMANAGER 26502650 4040 SMITHSMITH MANAGERMANAGER 14501450 3030 ...... ...... ...... ...... INDEX_KEY ROWIDINDEX_KEY ROWID ENAMEENAME JOBJOB SALSAL DEPNODEPNO ------------ ---------------- ---------- ---------- SMITHSMITH CLERKCLERK 800800 2020 ALLENALLEN SALESMANSALESMAN 16001600 3030 WARDWARD SALESMANSALESMAN 12501250 3030 JONESJONES MANAGERMANAGER 29752975 2020 JONESJONES CLERKCLERK 12501250 1010 MARTINMARTIN SALESMANSALESMAN 12501250 3030 BLAKEBLAKE MANAGERMANAGER 28502850 3030 CLARKCLARK MANAGERMANAGER 24502450 1010 SMITHSMITH MANAGERMANAGER 26502650 4040 SMITHSMITH MANAGERMANAGER 14501450 3030 ...... ...... ...... ......
  • 19. 11-11-1919 Copyright © ADA, 2005. Todos los derechos reservados. Í ndices ConcatenadosÍ ndices Concatenados INDEX_KEY ROWIDINDEX_KEY ROWID DEPTNODEPTNO ENAMEENAME (BLOCK# ROW# FILE#)(BLOCK# ROW# FILE#) ------------ ---------- -------------------------------------- 1010 ADAMSADAMS 0000000F.0010.00010000000F.0010.0001 1010 CLARKCLARK 0000000F.0000.00010000000F.0000.0001 1010 FORDFORD 0000000F.0013.00010000000F.0013.0001 1010 KINGKING 0000000F.0007.00010000000F.0007.0001 1010 MILLERMILLER 0000000F.0009.00010000000F.0009.0001 2020 JONESJONES 0000000F.0004.00010000000F.0004.0001 ...... ...... INDEX_KEY ROWIDINDEX_KEY ROWID DEPTNODEPTNO ENAMEENAME (BLOCK# ROW# FILE#)(BLOCK# ROW# FILE#) ------------ ---------- -------------------------------------- 1010 ADAMSADAMS 0000000F.0010.00010000000F.0010.0001 1010 CLARKCLARK 0000000F.0000.00010000000F.0000.0001 1010 FORDFORD 0000000F.0013.00010000000F.0013.0001 1010 KINGKING 0000000F.0007.00010000000F.0007.0001 1010 MILLERMILLER 0000000F.0009.00010000000F.0009.0001 2020 JONESJONES 0000000F.0004.00010000000F.0004.0001 ...... ...... Index on EMP (DEPTNO, ENAME) EMP Table ENAMEENAME JOBJOB SALSAL DEPNODEPNO ------------ ---------------- ---------- ---------- SMITHSMITH CLERKCLERK 800800 2020 ALLENALLEN SALESMANSALESMAN 16001600 3030 WARDWARD SALESMANSALESMAN 12501250 3030 JONESJONES MANAGERMANAGER 29752975 2020 MARTINMARTIN SALESMANSALESMAN 12501250 3030 BLAKEBLAKE MANAGERMANAGER 28502850 3030 CLARKCLARK MANAGERMANAGER 24502450 1010 ...... ...... ...... ...... ENAMEENAME JOBJOB SALSAL DEPNODEPNO ------------ ---------------- ---------- ---------- SMITHSMITH CLERKCLERK 800800 2020 ALLENALLEN SALESMANSALESMAN 16001600 3030 WARDWARD SALESMANSALESMAN 12501250 3030 JONESJONES MANAGERMANAGER 29752975 2020 MARTINMARTIN SALESMANSALESMAN 12501250 3030 BLAKEBLAKE MANAGERMANAGER 28502850 3030 CLARKCLARK MANAGERMANAGER 24502450 1010 ...... ...... ...... ......
  • 20. 11-11-2020 Copyright © ADA, 2005. Todos los derechos reservados. Creando Í ndicesCreando Í ndices SQL>SQL> CREATE INDEX ind_orderid ON orders(orderid);CREATE INDEX ind_orderid ON orders(orderid);SQL>SQL> CREATE INDEX ind_orderid ON orders(orderid);CREATE INDEX ind_orderid ON orders(orderid); SQL>SQL> CREATE INDEX ind_orderdate ON orders(orderdate)CREATE INDEX ind_orderdate ON orders(orderdate) 22 TABLESPACE app_dataTABLESPACE app_data 33 STORAGE (INITIAL 500K NEXT 500K PCTINCREASE 75);STORAGE (INITIAL 500K NEXT 500K PCTINCREASE 75); SQL>SQL> CREATE INDEX ind_orderdate ON orders(orderdate)CREATE INDEX ind_orderdate ON orders(orderdate) 22 TABLESPACE app_dataTABLESPACE app_data 33 STORAGE (INITIAL 500K NEXT 500K PCTINCREASE 75);STORAGE (INITIAL 500K NEXT 500K PCTINCREASE 75); SQL>SQL> CREATE INDEX ind_client ON orders(clientid, orderid)CREATE INDEX ind_client ON orders(clientid, orderid) 22 TABLESPACE app_dataTABLESPACE app_data 33 STORAGE (INITIAL 1M NEXT 1M PCTINCREASE 0) PCTFREE 40;STORAGE (INITIAL 1M NEXT 1M PCTINCREASE 0) PCTFREE 40; SQL>SQL> CREATE INDEX ind_client ON orders(clientid, orderid)CREATE INDEX ind_client ON orders(clientid, orderid) 22 TABLESPACE app_dataTABLESPACE app_data 33 STORAGE (INITIAL 1M NEXT 1M PCTINCREASE 0) PCTFREE 40;STORAGE (INITIAL 1M NEXT 1M PCTINCREASE 0) PCTFREE 40; • Í ndices B-treeÍ ndices B-tree • Í ndice de múltiples columnasÍ ndice de múltiples columnas
  • 21. 11-11-2121 Copyright © ADA, 2005. Todos los derechos reservados. Creando Í ndicesCreando Í ndices SQL>SQL> CREATE INDEX ind_shipdate ON orders(shipdate)CREATE INDEX ind_shipdate ON orders(shipdate) 22 REVERSE TABLESPACE app_data;REVERSE TABLESPACE app_data; SQL>SQL> CREATE INDEX ind_shipdate ON orders(shipdate)CREATE INDEX ind_shipdate ON orders(shipdate) 22 REVERSE TABLESPACE app_data;REVERSE TABLESPACE app_data; SQL>SQL> CREATE BITMAP INDEX ind_clientbm ON orders(clientid)CREATE BITMAP INDEX ind_clientbm ON orders(clientid) 22 TABLESPACE app_data;TABLESPACE app_data; SQL>SQL> CREATE BITMAP INDEX ind_clientbm ON orders(clientid)CREATE BITMAP INDEX ind_clientbm ON orders(clientid) 22 TABLESPACE app_data;TABLESPACE app_data; SQL>SQL> CREATE INDEX ind_amountCREATE INDEX ind_amount 22 ON orders(amount_due – amount_paid)ON orders(amount_due – amount_paid) 33 TABLESPACE app_data;TABLESPACE app_data; SQL>SQL> CREATE INDEX ind_amountCREATE INDEX ind_amount 22 ON orders(amount_due – amount_paid)ON orders(amount_due – amount_paid) 33 TABLESPACE app_data;TABLESPACE app_data; • Í ndice de clave inversaÍ ndice de clave inversa • Í ndice BitmapÍ ndice Bitmap • Í ndice Basado en FuncionesÍ ndice Basado en Funciones * GRANT QUERY REWRITE TO SCOTT;
  • 22. 11-11-2222 Copyright © ADA, 2005. Todos los derechos reservados. Creando Í ndices en el EnterpriseCreando Í ndices en el Enterprise ManagerManager
  • 23. 11-11-2323 Copyright © ADA, 2005. Todos los derechos reservados. Cambiando Parámetros de AlmacenamientoCambiando Parámetros de Almacenamiento para Í ndicespara Í ndices SQL>SQL> ALTER INDEX ind_orderidALTER INDEX ind_orderid 22 MAXTRANS 5;MAXTRANS 5; Index altered.Index altered. SQL>SQL> ALTER INDEX ind_orderidALTER INDEX ind_orderid 22 MAXTRANS 5;MAXTRANS 5; Index altered.Index altered. SQL>SQL> ALTER INDEX ind_orderdateALTER INDEX ind_orderdate 22 STORAGE (PCTINCREASE 0);STORAGE (PCTINCREASE 0); Index altered.Index altered. SQL>SQL> ALTER INDEX ind_orderdateALTER INDEX ind_orderdate 22 STORAGE (PCTINCREASE 0);STORAGE (PCTINCREASE 0); Index altered.Index altered.
  • 24. 11-11-2424 Copyright © ADA, 2005. Todos los derechos reservados. Reconstruyendo Í ndicesReconstruyendo Í ndices SQL>SQL> ALTER INDEX ind_orderidALTER INDEX ind_orderid 22 REBUILD TABLESPACE app_data_fia;REBUILD TABLESPACE app_data_fia; Index altered.Index altered. SQL>SQL> ALTER INDEX ind_orderidALTER INDEX ind_orderid 22 REBUILD TABLESPACE app_data_fia;REBUILD TABLESPACE app_data_fia; Index altered.Index altered. • Reconstruimos un índice para:Reconstruimos un índice para: – Mover un índice a un tablespace diferenteMover un índice a un tablespace diferente – Mejorar la utilizació n de espacioMejorar la utilizació n de espacio – Cambiar un índice con clave inversa a unCambiar un índice con clave inversa a un índice normal B-Tree y viceversaíndice normal B-Tree y viceversa
  • 25. 11-11-2525 Copyright © ADA, 2005. Todos los derechos reservados. Reconstruyendo Í ndicesReconstruyendo Í ndices SQL>SQL> ALTER INDEX ind_orderdateALTER INDEX ind_orderdate 22 REBUILD ONLINE;REBUILD ONLINE; Index altered.Index altered. SQL>SQL> ALTER INDEX ind_orderdateALTER INDEX ind_orderdate 22 REBUILD ONLINE;REBUILD ONLINE; Index altered.Index altered. • Reconstrucció n de un índice en línea:Reconstrucció n de un índice en línea:
  • 26. 11-11-2626 Copyright © ADA, 2005. Todos los derechos reservados. Eliminando Í ndicesEliminando Í ndices SQL>SQL> DROP INDEX ind_orderdate;DROP INDEX ind_orderdate; Index dropped.Index dropped. SQL>SQL> DROP INDEX ind_orderdate;DROP INDEX ind_orderdate; Index dropped.Index dropped. • Eliminamos un índice cuando:Eliminamos un índice cuando: – El índice no es frecuentemente usado y loEl índice no es frecuentemente usado y lo recreamos cuando sea necesariorecreamos cuando sea necesario – El índice esta inválido y lo recreamosEl índice esta inválido y lo recreamos – Antes de hacer cargas masivas (eliminamos yAntes de hacer cargas masivas (eliminamos y recreamos)recreamos)
  • 27. 11-11-2727 Copyright © ADA, 2005. Todos los derechos reservados. Recuperando Informació n de Í ndicesRecuperando Informació n de Í ndices • DBA_INDEXESDBA_INDEXES – OWNEROWNER – INDEX_NAMEINDEX_NAME – INDEX_TYPEINDEX_TYPE – TABLE_OWNERTABLE_OWNER – TABLE_NAMETABLE_NAME – UNIQUENESSUNIQUENESS – TABLESPACE_NATABLESPACE_NA MEME – LOGGINGLOGGING – STATUSSTATUS • DBA_IND_COLUMNSDBA_IND_COLUMNS – INDEX_OWNERINDEX_OWNER – INDEX_NAMEINDEX_NAME – TABLE_OWNERTABLE_OWNER – COLUMN_NAMECOLUMN_NAME – COLUMN_POSITIOCOLUMN_POSITIO NN – COLUMN_LENGTHCOLUMN_LENGTH
  • 28. 11-11-2828 Copyright © ADA, 2005. Todos los derechos reservados. Integridad de DatosIntegridad de Datos • Los mé todos para garantizar la integridad de losLos mé todos para garantizar la integridad de los datos son:datos son: – Có digo de AplicacionesCó digo de Aplicaciones – Disparadores de base de datosDisparadores de base de datos – Restricciones de integridad declarativasRestricciones de integridad declarativas
  • 29. 11-11-2929 Copyright © ADA, 2005. Todos los derechos reservados. Tipos de RestriccionesTipos de Restricciones RestriccionesRestricciones NOT NULLNOT NULL UNIQUEUNIQUE PRIMARY KEYPRIMARY KEY FOREIGN KEYFOREIGN KEY CHECKCHECK Descripció nDescripció n Especifica que una columna no puede tenerEspecifica que una columna no puede tener valores nulosvalores nulos Designa a una columna o combinació n deDesigna a una columna o combinació n de columnas como únicocolumnas como único Designa a una columna o combinació n deDesigna a una columna o combinació n de columnas como clave primaria de una tablacolumnas como clave primaria de una tabla Designa a una columna o combinació n deDesigna a una columna o combinació n de columnas como clave foránea en unacolumnas como clave foránea en una restricció n de integridad referencialrestricció n de integridad referencial Especifica una condició n que cada fila de laEspecifica una condició n que cada fila de la tabla debe satisfacertabla debe satisfacer
  • 30. 11-11-3030 Copyright © ADA, 2005. Todos los derechos reservados. Estados de las RestriccionesEstados de las Restricciones • Disabled novalidateDisabled novalidate • Disabled validateDisabled validate • Enabled novalidate or enforcedEnabled novalidate or enforced • Enabled validateEnabled validate
  • 31. 11-11-3131 Copyright © ADA, 2005. Todos los derechos reservados. Validació n de la Restricció nValidació n de la Restricció n • Restricció n Diferida o InmediataRestricció n Diferida o Inmediata • Restricció n No DiferidaRestricció n No Diferida ALTER SESSIONALTER SESSION SET CONSTRAINT[S] = {IMMEDIATE|DEFERRED|DEFAULT};SET CONSTRAINT[S] = {IMMEDIATE|DEFERRED|DEFAULT}; ALTER SESSIONALTER SESSION SET CONSTRAINT[S] = {IMMEDIATE|DEFERRED|DEFAULT};SET CONSTRAINT[S] = {IMMEDIATE|DEFERRED|DEFAULT};
  • 32. 11-11-3232 Copyright © ADA, 2005. Todos los derechos reservados. Definició n de una Restricció n en laDefinició n de una Restricció n en la Creació n de una TablaCreació n de una Tabla SQL>SQL> CREATE TABLE products (CREATE TABLE products ( 22 productidproductid NUMBER(3) NOT NULLNUMBER(3) NOT NULL 33 CONSTRAINT productid_pk PRIMARY KEYCONSTRAINT productid_pk PRIMARY KEY 44 DEFERRABLE,DEFERRABLE, 55 descriptiondescription VARCHAR2(50) NOT NULL,VARCHAR2(50) NOT NULL, 66 shipdateshipdate DATE,DATE, 77 supplyidsupplyid VARCHAR2(3) NOT NULL)VARCHAR2(3) NOT NULL) 88 PCTFREE 5PCTFREE 5 PCTUSED 65PCTUSED 65 99 STORAGE (STORAGE ( 1010 INITIALINITIAL 5K5K 1111 NEXTNEXT 5K5K 1212 PCTINCREASEPCTINCREASE 00 1313 MINEXTENTSMINEXTENTS 22 1414 MAXEXTENTSMAXEXTENTS 50)50) 1515 TABLESPACE users;TABLESPACE users; Table created.Table created. SQL>SQL> CREATE TABLE products (CREATE TABLE products ( 22 productidproductid NUMBER(3) NOT NULLNUMBER(3) NOT NULL 33 CONSTRAINT productid_pk PRIMARY KEYCONSTRAINT productid_pk PRIMARY KEY 44 DEFERRABLE,DEFERRABLE, 55 descriptiondescription VARCHAR2(50) NOT NULL,VARCHAR2(50) NOT NULL, 66 shipdateshipdate DATE,DATE, 77 supplyidsupplyid VARCHAR2(3) NOT NULL)VARCHAR2(3) NOT NULL) 88 PCTFREE 5PCTFREE 5 PCTUSED 65PCTUSED 65 99 STORAGE (STORAGE ( 1010 INITIALINITIAL 5K5K 1111 NEXTNEXT 5K5K 1212 PCTINCREASEPCTINCREASE 00 1313 MINEXTENTSMINEXTENTS 22 1414 MAXEXTENTSMAXEXTENTS 50)50) 1515 TABLESPACE users;TABLESPACE users; Table created.Table created.
  • 33. 11-11-3333 Copyright © ADA, 2005. Todos los derechos reservados. Definició n de una Restricció n en laDefinició n de una Restricció n en la Creació n de una TablaCreació n de una Tabla SQL>SQL> CREATE TABLE order_detail (CREATE TABLE order_detail ( 22 orderidorderid NUMBER(3) NOT NULL,NUMBER(3) NOT NULL, 33 productidproductid NUMBER(3) NOT NULL,NUMBER(3) NOT NULL, 44 quantityquantity NUMBER,NUMBER, 55 unitunit VARCHAR2(3),VARCHAR2(3), 66 totaltotal NUMBER(10,2),NUMBER(10,2), 77 CONSTRAINT validatotal CHECK (total>0)CONSTRAINT validatotal CHECK (total>0))) 88 TABLESPACE app_data;TABLESPACE app_data; Table created.Table created. SQL>SQL> CREATE TABLE order_detail (CREATE TABLE order_detail ( 22 orderidorderid NUMBER(3) NOT NULL,NUMBER(3) NOT NULL, 33 productidproductid NUMBER(3) NOT NULL,NUMBER(3) NOT NULL, 44 quantityquantity NUMBER,NUMBER, 55 unitunit VARCHAR2(3),VARCHAR2(3), 66 totaltotal NUMBER(10,2),NUMBER(10,2), 77 CONSTRAINT validatotal CHECK (total>0)CONSTRAINT validatotal CHECK (total>0))) 88 TABLESPACE app_data;TABLESPACE app_data; Table created.Table created.
  • 34. 11-11-3434 Copyright © ADA, 2005. Todos los derechos reservados. Definició n de una Restricció n en laDefinició n de una Restricció n en la Creació n de una TablaCreació n de una Tabla SQL>SQL> ALTER TABLE order_detail ADD (ALTER TABLE order_detail ADD ( 22 CONSTRAINTCONSTRAINT order_detail_pk PRIMARY KEYorder_detail_pk PRIMARY KEY 33 (orderid,productid));(orderid,productid)); Table altered.Table altered. SQL>SQL> ALTER TABLE order_detail ADD (ALTER TABLE order_detail ADD ( 22 CONSTRAINTCONSTRAINT order_detail_pk PRIMARY KEYorder_detail_pk PRIMARY KEY 33 (orderid,productid));(orderid,productid)); Table altered.Table altered. SQL> ALTER TABLE orders ADD (SQL> ALTER TABLE orders ADD ( 2 CONSTRAINT orders_pk PRIMARY KEY2 CONSTRAINT orders_pk PRIMARY KEY 3 (orderid));3 (orderid)); Table altered.Table altered. SQL> ALTER TABLE orders ADD (SQL> ALTER TABLE orders ADD ( 2 CONSTRAINT orders_pk PRIMARY KEY2 CONSTRAINT orders_pk PRIMARY KEY 3 (orderid));3 (orderid)); Table altered.Table altered. SQL>SQL> ALTER TABLE order_detail ADD (ALTER TABLE order_detail ADD ( 22 CONSTRAINTCONSTRAINT orders_rel FOREIGN KEYorders_rel FOREIGN KEY 33 (orderid) REFERENCES orders);(orderid) REFERENCES orders); Table altered.Table altered. SQL>SQL> ALTER TABLE order_detail ADD (ALTER TABLE order_detail ADD ( 22 CONSTRAINTCONSTRAINT orders_rel FOREIGN KEYorders_rel FOREIGN KEY 33 (orderid) REFERENCES orders);(orderid) REFERENCES orders); Table altered.Table altered.
  • 35. 11-11-3535 Copyright © ADA, 2005. Todos los derechos reservados. Recuperando Informació n de RestriccionesRecuperando Informació n de Restricciones • DBA_CONSTRAINTSDBA_CONSTRAINTS – OWNEROWNER – CONSTRAINT_NAMECONSTRAINT_NAME – CONSTRAINT_TYPECONSTRAINT_TYPE – TABLE_NAMETABLE_NAME – SEARCH_CONDITIOSEARCH_CONDITIO NN – R_OWNERR_OWNER – R_CONSTRAINT_NAR_CONSTRAINT_NA MEME – DELETE_RULEDELETE_RULE – STATUSSTATUS – DEFERRABLEDEFERRABLE – DEFERREDDEFERRED • DBA_CONS_COLUMNDBA_CONS_COLUMN SS – OWNEROWNER – CONSTRAINT_NACONSTRAINT_NA MEME – TABLE_NAMETABLE_NAME – COLUMN_NAMECOLUMN_NAME – POSITIONPOSITION
  • 36. 11-11-3636 Copyright © ADA, 2005. Todos los derechos reservados. ResumenResumen • En este capítulo hemos visto como:En este capítulo hemos visto como: – Crear una tabla con una apropiada utilizació nCrear una tabla con una apropiada utilizació n de parámetros de almacenamiento y de bloquede parámetros de almacenamiento y de bloque – Controlar el uso de espacio de las tablasControlar el uso de espacio de las tablas – Modificar y eliminar una tablaModificar y eliminar una tabla – Crear diferentes tipos de índicesCrear diferentes tipos de índices – Reorganizar y eliminar índicesReorganizar y eliminar índices – Implementar integridad de datosImplementar integridad de datos – Obtener informació n de tablas, índices yObtener informació n de tablas, índices y restriccionesrestricciones