jueves, 10 de noviembre de 2016

TABLES

Objetos de Base de Datos 
Una base de datos Oracle puede contener varias estructuras de datos. Cada estructura debe tener bosquejarse en el diseño de base de datos para que se pueda crear durante la etapa de formación del desarrollo de base de datos. 

Estructuras de Tablas Oracle 
Las tablas se pueden crear en cualquier momento, incluso mientras los usuarios utilizan la base de datos.

No es necesario especificar el tamaño de una tabla. El tamaño lo define en última instancia la cantidad de espacio asignado a toda la base de datos. Sin embargo, es importante estimar cuánto espacio utilizará una base de datos con el tiempo.
La estructura de tabla se puede modificar online.
Nota: Hay más objetos de base de datos disponibles, pero no se tratan en este curso.

Reglas de Nomenclatura 

Los nombres de tablas y de columnas:

  • Deben comenzar por una letra 
  • Deben tener una longitud de 1 a 30 caracteres 
  • Sólo deben contener A–Z, a–z, 0–9, _, $ y # 
  • No deben duplicar el nombre de otro objeto que sea propiedad del mismo usuario 
  • No deben ser palabras reservadas de Oracle Server 

Las tablas y las columnas de base de datos se nombran de acuerdo con las reglas estándar de nomenclatura para cualquier objeto de base de datos Oracle: 

  • Los nombres de tabla y de columna deben comenzar por una letra y tener una longitud de 1 a 30 caracteres. 
  • Los nombres deben contener sólo los caracteres A–Z, a–z, 0–9, _ (subrayado), $ y # (caracteres legales, aunque no se recomienda su uso). 
  • Los nombres no deben duplicar el nombre de otro objeto que sea propiedad del mismo usuario de Oracle Server. 
  • Los nombres no deben ser palabras reservadas de Oracle Server. 


Instrucciones de Nomenclatura 
Utilice nombres descriptivos para tablas y otros objetos de base de datos.

Nota: Los nombres no son sensibles a mayúsculas/minúsculas. Por ejemplo, EMPLOYEES se trata igual que eMPloyees o eMpLOYEES.
Para obtener más información, consulte “Object Names and Qualifiers” en Oracle Database SQL Reference.

La Sentencia CREATE TABLE 

Puede crear tablas para almacenar datos ejecutando la sentencia CREATE TABLE de SQL. Esta sentencia es una de las sentencias DDL, que son un subjuego de sentencias SQL utilizadas para crear, modificar o eliminar estructuras de base de datos Oracle. Estas sentencias tienen un efecto inmediato en la base de datos y también registran información en el diccionario de datos. 
Para crear una tabla, un usuario debe tener el privilegio CREATE TABLE y un área de almacenamiento en la que crear objetos. El administrador de la base de datos utiliza sentencias de lenguaje de control de datos para otorgar privilegios a los usuarios (las sentencias DCL se tratan en una lección posterior). 
En la sintaxis: 
schema es igual que el nombre del propietario
table         es el nombre de la tabla
DEFAULT expr especifica un valor por defecto si se omite un valor en la sentencia INSERT 
column es el nombre de la columna
datatype         es el tipo de datos y la longitud de la columna


Debe tener: 

  • El privilegio CREATE TABLE 
  • Un área de almacenamiento 

Se especifica:

  • Nombre de tabla 
  • Nombre de columna, tipo de datos de columna y tamaño de columna 
Un esquema es una recopilación de objetos. Los objetos de esquema son las estructuras lógicas que hacen referencia directa a los datos de una base de datos. Los objetos de esquema son tablas, vistas, sinónimos, secuencias, procedimientos almacenados, índices, agrupamientos y enlaces de base de datos. 

Si una tabla no pertenece al usuario, el nombre del propietario debe ir como prefijo de la tabla. Por ejemplo, si hay esquemas denominados USERA y USERB, y ambos tienen una tabla EMPLOYEES, entonces si USERA desea acceder a la tabla EMPLOYEES que pertenece a USERB, debe poner como prefijo del nombre de tabla el nombre de esquema: 
SELECT
FROM   userb.employees; 
Si USERB desea acceder a la tabla EMPLOYEES propiedad de USERA, debe poner como prefijo del nombre de tabla el nombre de esquema: 
SELECT
FROM   usera.employees;

Opción DEFAULT 
Al definir una tabla, puede especificar que asigne un valor por defecto a una columna mediante la opción DEFAULT. Esta opción evita que se introduzcan valores nulos en las columnas si se inserta una fila sin un valor para la columna. El valor por defecto puede ser un literal, una expresión o una función SQL (como SYSDATE o USER), pero el valor no puede ser el nombre de otra columna o una pseudocolumna (como NEXTVAL o CURRVAL). La expresión por defecto debe corresponder con el tipo de datos de la columna. 
Nota: CURRVAL y NEXTVAL se explican más adelante en esta lección. 



El ejemplo de la imagen de abajo crea la tabla DEPT, con cuatro columnas: DEPTNO, DNAME, LOC y CREATE_DATE. La columna CREATE_DATE tiene un valor por defecto. Si no se proporciona un valor para una sentencia INSERT, se inserta automáticamente la fecha del sistema. 
Proporciona más confirmación de la creación de la tabla al emitir el comando DESCRIBE
Como la creación de una tabla es una sentencia DDL, tiene lugar una validación automática al ejecutarse esta sentencia. 
Tomar esto en cuenta en caso de crear tablas con tipo de datos LONG
  • No se copia una columna LONG si se crea una tabla mediante una subconsulta. 
  • Una columna LONG no se puede incluir en una cláusula GROUP BY o ORDER BY
  • Sólo se puede utilizar una columna LONG por tabla. 
  • No se pueden definir restricciones en una columna LONG
  • Es preferible que utilice una columna CLOB en lugar de una columna LONG
También tener en cuenta que podemos crear una tabla con la data de otra, como si fuera una copia con la siguiente instrucción.

CREATE TABLE AS
SELECT *
   FROM EMPLOYEES;

Ejemplo de CREATE TABLE
EL ejemplo muestra la sentencia utilizada para crear la tabla EMPLOYEES en el esquema HR.





Share:

0 comentarios:

Publicar un comentario

Archivo

Cual es el tema de mayor interes para ti?