Creación de tablas SQL: integridad de datos, restricciones y vistas de usuario en Oracle
Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones
Escrito el en
español con un tamaño de 4,16 KB
Creación de tablas
Nombre de la tabla: El nombre de la tabla debe ser un identificador que describa su contenido.
Nombre de las columnas: El nombre de cada columna de la tabla ha de ser auto-descriptivo y debe identificar claramente su contenido.
Tipo de dato y tamaño: Se debe especificar el tipo de dato y el tamaño que tendrá cada columna.
Restricciones y valores por defecto: Defina las columnas obligatorias, los valores por defecto, las restricciones, etcétera.
Vistas de catálogo del usuario
- USER_TABLES. Esta vista contiene información acerca de las tablas: nombre de la tabla, nombre del tablespace, número de filas, información de almacenamiento, etcétera.
- USER_OBJECTS: Objetos que son propiedad del usuario.
- USER_CATALOG: Tablas, vistas, sinónimos y secuencias propiedad del usuario.
Integridad de datos
Integridad hace referencia al hecho de que los datos de la base de datos deben ajustarse a restricciones antes de almacenarse en ella. Así pues, una restricción de integridad será una regla que limita el rango de valores para una o más columnas en la tabla.
La integridad referencial garantiza que los valores de una columna (o columnas) de una tabla (clave ajena) dependan de los valores de otra columna (o columnas) de otra tabla (clave primaria).
Definir restricciones
Para definir las restricciones en la orden CREATE TABLE usamos la cláusula CONSTRAINT. Ésta puede restringir una sola columna (restricción de columna) o un grupo de columnas de una misma tabla (restricción de tabla).
Hay dos modos de especificar restricciones:
- Como parte de la definición de columnas (una restricción de columna).
- Al final, una vez especificadas todas las columnas (una restricción de tabla).
Ejemplo
Ejemplo de creación de tabla con restricciones y opciones:
CREATE TABLE nombre_tabla
(
Columna1 TIPO_DE_DATO
[CONSTRAINT nombre_restriccion]
[NOT NULL] [UNIQUE] [PRIMARY KEY] [DEFAULT valor]
[REFERENCES NombreTabla [(columna [, columna])]
[ON DELETE CASCADE]]
[CHECK (condición)],
Columna2 TIPO_DE_DATO
[CONSTRAINT nombre_restriccion]
[NOT NULL] [UNIQUE] [PRIMARY KEY] [DEFAULT valor]
[REFERENCES NombreTabla [(columna [, columna])]
[ON DELETE CASCADE]]
[CHECK (condición)],
) [TABLESPACE espacio_de_tabla];Clave primaria
La clave primaria es una columna o un conjunto de columnas que identifican unívocamente a cada fila. Debe ser única, no nula y obligatoria. Como máximo podemos definir una clave primaria por tabla. Esta clave se puede referenciar por una columna o columnas de otra tabla.
Para definirla se usa la restricción PRIMARY KEY.
Formato de restricción de columna
El formato de restricción de columna es el siguiente:
CREATE TABLE nombre_tabla
(
Columna1 TIPO_DE_DATO [CONSTRAINT nombre_restriccion]
PRIMARY KEY,
Columna2 TIPO_DE_DATO,
) [TABLESPACE espacio_de_tabla];Formato de restricción de tabla
Y el formato de restricción de tabla es este:
CREATE TABLE nombre_tabla
(
Columna1 TIPO_DE_DATO,
Columna2 TIPO_DE_DATO,
[CONSTRAINT nombre_restriccion] PRIMARY KEY (columna [, columna]),
) [TABLESPACE espacio_de_tabla];Notas importantes
- Use nombres descriptivos para tablas y columnas para facilitar el mantenimiento y la lectura de consultas.
- Considere el uso de tablespaces para gestionar el almacenamiento físico en bases de datos como Oracle.
- Defina adecuadamente las restricciones (NOT NULL, UNIQUE, CHECK, REFERENCES) para garantizar la integridad de los datos.