Databases

T05-001 Creación de tablas.

Enunciado

Los objetos básicos con los que trabaja SQL para almacenar los datos son las tablas, que como ya sabemos son un conjunto de filas y columnas cuya intersección se llama celda. Es ahí donde se almacenarán los elementos de información, los datos que queremos recoger.

Antes de crear la tabla es conveniente planificar algunos detalles:

  • Qué nombre le vamos a dar a la tabla.
  • Qué nombre le vamos a dar a cada una de las columnas.
  • Qué tipo y tamaño de datos vamos a almacenar en cada columna.
  • Qué restricciones tenemos sobre los datos.
  • Alguna otra información adicional que necesitemos.

Y debemos tener en cuenta otras reglas que se deben cumplir para los nombres de las tablas:

  • No podemos tener nombres de tablas duplicados en un mismo esquema (usuario).
  • Deben comenzar por un carácter alfabético.
  • Su longitud máxima es de 30 caracteres.
  • Solo se permiten letras del alfabeto inglés, dígitos o el signo de guión bajo.
  • No puede coincidir con las palabras reservadas de SQL (por ejemplo, no podemos llamar a una tabla WHERE).
  • No se distingue entre mayúsculas y minúsculas.
  • En el caso de que el nombre tenga espacios en blanco o caracteres nacionales (permitido sólo en algunas bases de datos), entonces se suele entrecomillar con comillas dobles. En el estándar SQL99 (respetado por Oracle) se pueden utilizar comillas dobles al poner el nombre de la tabla a fin de hacerla sensible a las mayúsculas (se diferenciará entre "USUARIOS"y "Usuarios").

Sintaxis

La sintaxis básica del comando que permite crear una tabla es la siguiente:

CREATE TABLE [esquema.] nombredeTabla (
	columna1 Tipo_Dato,
	columna2 Tipo_Dato,
	...
	columnaN Tipo_Dato );

donde:

  • columna1, columna2, ..., columnaN son los nombres de las columnas que contendrá la tabla.
  • Tipo_Dato indica el tipo de dato de cada columna.

Ejemplo:

Para crear una tabla llamada ALUMNOS con dos campos de tipo VARCHAR2:

CREATE TABLE ALUMNOS (
    Nombre VARCHAR2(25),
    Apellidos VARCHAR2(50)
);

Ejercicio:

Crea una tabla MODULOS, compuesta de los siguientes atributos:

  • Nombre: de tipo VARCHAR2 y tamaño 100.
  • NumHoras: de tipo NUMBER, sin especificar el tamaño.

Tipo

DDL

Solución


												
CREATE TABLE MODULOS ( Nombre VARCHAR2(100), NumHoras NUMBER );

Prueba


											
SELECT TABLE_NAME, COLUMN_NAME, DATA_TYPE, DATA_LENGTH FROM USER_TAB_COLUMNS WHERE TABLE_NAME = 'MODULOS' ORDER BY COLUMN_NAME;

Librerías (Onfly databases)


											
--