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
VARCHAR2y tamaño 100.- NumHoras: de tipo
NUMBER, sin especificar el tamaño.
Tipo
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)
--

