Las tablas pueden ser almacenadas en la base de datos de varias
formas. La más simple es la Tabla HEAP. La tabla HEAP es de filas de longitud
variable en orden aleatorio. Hay estructuras más avanzadas. Tales como las
siguientes, que obligan el ordenamiento y agrupamiento sobre las filas o forzar
distribución aleatoria.
Index Organized Table.
Almacena Filas en Orden de una Llave Índice.
Index Cluster. Puede
desnormalizar tablas en relaciones Padre e Hijos. Así las filas relacionadas de
diferentes tablas son almacenadas juntas.
Hash Cluster. Forza la
distribución aleatoria de las filas.
Partitioned Tables.
Almacena filas en estructuras físicas separadas. La asignación de filas a una
partición es de acuerdo al valor de una columna.
El uso de cualquier tipo de estructura, la más simple o la más
avanzada es transparente para el SQL, la sentencias ejecutadas contra la Tabla
devuelve el mismo resultado. Pero el rendimiento de cada estructura es
diferente.
Creando Tablas
Sintaxis de la Tabla HEAP
CREATE TABLE [esquema.] tabla [ORGANIZATION HEAP]
(
columna tipodato [DEFAULT expresion]
[,columna tipodato [DEFAULT expresion], ]
);
Como mínimo, se debe especificar el nombre de la tabla y al menos un
columna con u tipo de datos. Hay pocos desarrolladores que especifican
ORGANIZATION HEAP esta es por defecto y es el estándar de SQL. La palabra DEFAULT en la definición
de una columna permite proveer una expresión que genere un valor para la
columna cuando una fila es insertada y el valor para esa columna no sea proveído
en el INSERT.
Ejemplos
CREATE TABLE EMPLEADO
(
EMPNO
NUMBER(4),
ENAME
VARCHAR2(10),
HIREDATE DATE DEFAULT TRUNC(SYSDATE),
SAL
NUMBER(7,2),
COMM
NUMBER(7,2) DEFAULT 0.03
)
Este comando crear una tabla llamada EMPLEADO en el esquema actual del
usuario, ya que no se está especificando tal.
EMPNO es un numero de 4 dígitos, sin decimales, si cualquier decimal
es incluido en una sentencia INSERT este será redondeado al número entero más
cercano.
ENAME puede almacenar cualquier carácter, hasta 10.
HIREDATE acepta cualquier fecha valida, opcionalmente con hora, minuto
y segundo, sino es provista será asignada la fecha actual del sistema con hora
de medianoche por defecto.
SAL Acepta 7 dígitos, 5 números a la izquierda y 2 a la derecha.
COMM por defecto le asigna 0.03, acepta 7 dígitos, 5 a la izquierda y
2 a la derecha.
Al insertar en esta tabla las columnas con la palabra DEFAULT y que no
se le provean valores, se les asignara por defecto la expresión declarada en la
columna.
Ejemplos de INSERT’S a la tabla.
INSERT INTO empleados
VALUES(1,'SANTIAGO',SYSDATE,1000.01,0.4);
INSERT INTO
empleados(empno, ename, sal) VALUES(2,'LUIS',2300);
INSERT INTO
empleados(empno, ename, sal) VALUES((SELECT MAX(EMPNO) + 1 FROM
empleados),'ALFREDO',232.234);
INSERT INTO empleados
VALUES(4,NULL,NULL,NULL,NULL);
COMMIT;
Comentarios
Publicar un comentario