Por supuesto, el ejemplo anterior implementado en ORACLE. Para ello tendrás que conectarte como administrador: sqlplus.exe sys/
[email protected]_bd AS SYSDBA
Primeramente crearemos los datafileS, es decir, los ficheros físicos que almacenarán en el disco duro la información:
Create file
Tablespace datos
Datafile 'datos.DBF' size 100M
Autoextend on
online;
--
Create file
Tablespace indices
Datafile 'indices.DBF' SIZE 10M
Autoextend on
online;
--
Create bigfile temporary
Tablespace TEMPORAL
Tempfile 'TEMPORAL.DBF' size 1G
autoextend on;
?
Posteriormente creamos el usuario y le asignamos dos roles para que dicho usuario pueda hacer lo básico:
?
Create USER PRUEBA
Identified BY PRUEBA
default tablespace datos
Quota unlimited on datos
Temporary tablespace TEMPORAL
account unlock;
--
grant connect to PRUEBA;
grant resource to PRUEBA;
Nos conectamos como el usuario PRUEBA/
[email protected]_bd, y creamos la tabla con su indice (observa para la clave principal también se pone en indices, ya que es propiamente un indice, adicionalmente se crea otro indice):
create table CLIENTES (
DNI char(3) not null,
NOMBRE varchar2(30) not null
) tablespace datos;
--
alter table CLIENTES add constraint PK_CLIENTES primary key (DNI) using index tablespace indices;
create index I_CLIENTES on CLIENTES (NOMBRE) tablespace indices;
Creamos un procedimiento, en este caso no se puede especificar tablespace, por lo que lo pone en el tablespace por defecto del usuario, en este caso datos.
create or replace procedure alta is
begin
null;
end alta;
Hola, tengo una duda. Por qué es aconsejable crear un tablespace para los datos y otro para los índices? Es decir, qué beneficios aporta? o incluso he leído que sería conveniente crear otro para los blob.Gracias. Saludos. - Alexis García