2 - Crear tablas (create table - describe - all_tables - drop table) |
Existen varios objetos de base de datos: tablas, constraints (restricciones), vistas, secuencias, índices, agrupamientos (clusters), disparadores (triggers), instantaneas (snapshots), procedimientos, funciones, paquetes, sinónimos, usuarios, perfiles, privilegios, roles, etc.
Los primeros objetos que veremos son tablas.
Una base de datos almacena su información en tablas, que es la unidad básica de almacenamiento.
Una tabla es una estructura de datos que organiza los datos en columnas y filas; cada columna es un campo (o atributo) y cada fila, un registro. La intersección de una columna con una fila, contiene un dato específico, un solo valor.
Cada registro contiene un dato por cada columna de la tabla.
Cada campo (columna) debe tener un nombre. El nombre del campo hace referencia a la información que almacenará.
Cada campo (columna) también debe definir el tipo de dato que almacenará.
Las tablas forman parte de una base de datos.
Nosotros trabajaremos con la base de datos ya creada.
Para ver las tablas existentes tipeamos:
select *from all_tables;
Aparece una tabla que nos muestra en cada fila, los datos de una tabla específica; en la columna "TABLE_NAME" aparece el nombre de cada tabla existente.
Al crear una tabla debemos resolver qué campos (columnas) tendrá y que tipo de datos almacenarán cada uno de ellos, es decir, su estructura.
La sintaxis básica y general para crear una tabla es la siguiente:
create table NOMBRETABLA( NOMBRECAMPO1 TIPODEDATO, ... NOMBRECAMPON TIPODEDATO );
La tabla debe ser definida con un nombre que la identifique y con el cual accederemos a ella.
Creamos una tabla llamada "usuarios" y entre paréntesis definimos los campos y sus tipos:
create table usuarios( nombre varchar2(30), clave varchar2(10) );
Cada campo con su tipo debe separarse con comas de los siguientes, excepto el último.
Cuando se crea una tabla debemos indicar su nombre y definir al menos un campo con su tipo de dato. En esta tabla "usuarios" definimos 2 campos:
- nombre: que contendrá una cadena de caracteres de 30 caracteres de longitud, que almacenará el nombre de usuario y
- clave: otra cadena de caracteres de 10 de longitud, que guardará la clave de cada usuario.
Cada usuario ocupará un registro de esta tabla, con su respectivo nombre y clave.
Para nombres de tablas, se puede utilizar cualquier caracter permitido para nombres de directorios, el primero debe ser un caracter alfabético y no puede contener espacios. La longitud máxima es de 30 caracteres.
Si intentamos crear una tabla con un nombre ya existente (existe otra tabla con ese nombre), mostrará un mensaje indicando que a tal nombre ya lo está utilizando otro objeto y la sentencia no se ejecutará.
Para ver la estructura de una tabla usamos el comando "describe" junto al nombre de la tabla:
describe usuarios;
Aparece la siguiente información:
Name Null Type ------------------------------- NOMBRE VARCHAR2(30) CLAVE VARCHAR2(10)
Esta es la estructura de la tabla "usuarios"; nos muestra cada campo, su tipo y longitud y otros valores que no analizaremos por el momento.
Para eliminar una tabla usamos "drop table" junto al nombre de la tabla a eliminar:
drop table NOMBRETABLA;
En el siguiente ejemplo eliminamos la tabla "usuarios":
drop table usuarios;
Si intentamos eliminar una tabla que no existe, aparece un mensaje de error indicando tal situación y la sentencia no se ejecuta.