Databases

T05-001 Creación de tablas.

Enunciado

Durante nuestro aprendizaje vamos a tener que crear muchas tablas, para ello necesitaremos manejar los tipos de datos que utiliza Oracle. En el siguiente enlace tienes una relación de estos tipos y su descripción.

Tipos de datos en Oracle.

Ejemplos:

Sin intentar ser demasiado exhaustivo, se exponen a continuación algunos ejemplos.

  • la altura de una persona:
    • si la medimos en centímetros (185): será un número de hasta 3 dígitos, por lo que le corresponderá un NUMBER(3)
    • si la medimos en metros (1.85): será un número con un dígito en la parte entera y 2 dígitos decimales, por lo que le corresponderá un NUMBER(3, 2).
  • Una fecha:
    • Si sólo nos interesa almacenar el día y no la hora (21/06/2022) le corresponderá un tipo DATE.
    • Si nos interesa que se almacene la hora (21/06/2022 13:30) le corresponderá un TIMESTAMP
  • Si el valor a almacenar no corresponde a los tipos anteriores, como un DNI (12345678A) o un grupo (1A) le asociaremos  el tipo VARCHAR2(), aunque contenga dígitos

Ejercicio:

Vamos a crear una tabla de alumnos más completa que la vista en el ejemplo anterior, sabiendo que los datos de los alumnos están almacenados en los siguientes atributos:

  • NRE: que contiene números de hasta 8 dígitos.
  • NIF_NIE: que contiene una combinación de números y letras de hasta 9 caracteres.
  • APELLIDOS: anteriormente ya hemos limitado la longitud de este atributo a 50 caracteres.
  • NOMBRE: anteriormente ya hemos limitado la longitud de este atributo a 25 caracteres.
  • FECHA_NAC: lógicamente, almacena una fecha.
  • NACIONALIDAD: almacenará cadenas de caracteres con una longitud máxima de 30.
  • EMAIL: también almacenará cadenas de hasta 100 caracteres.
  • TELEFONO: almacenará un número de hasta 9 dígitos.

Tipo

DDL

Solución


												
CREATE TABLE ALUMNOS ( NRE NUMBER(8), NIF_NIE VARCHAR2(9), APELLIDOS VARCHAR2(50), NOMBRE VARCHAR2(25), FECHA_NAC DATE, NACIONALIDAD VARCHAR2(30), EMAIL VARCHAR2(100), TELEFONO NUMBER(9) );

Prueba


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

Librerías (Onfly databases)


											
--