Software en tus manos

Postgres 9.2.1 – Ejemplo de la creación de una base de datos usando arrays, herencia, tipos compuestos, otros.

Posted on: November 6, 2012

En esta nueva entrada mostraremos la creación de una base de datos utilizando los elementos de Array, tipos compuestos, tipos enumerados  particionamiento, herencia e indices.

La base de datos a implementar consiste en un pequeño sistema para un liceo que almacena la información de  los estudiantes, profesores y las materias que cursan. La calificación de las materias se realiza de manera cualitativa [Excelente, Muy bien, Bien y mejorable]. Adicionalmente, se registra de que año pertenece la materia. En esta academia se dictan los cursos desde 7mo grado o primer año a 5to año del ciclo diversificado, ademas se exige que cada estudiante tenga un representante.

Primeramente debemos crear un nuevo usuario en nuestra base de datos [Especificado en este tutorial]. Nuestro usuario se denomina “admin” y nuestra base de datos se denomina “tuto2”.

Modelo Relacional

Características de la base de datos.

Array

PostgreSQL permite que los campos de una tabla, esta se define con longitud variable. Los  arrays pueden ser unidimencionales (vectores) o multidimensionales (Matrices). En este tutorial usaremos un array unidimencional en la tabla “Materias” para representar con vectores en el campo de turno (Mañana, tarde, noche). Las matrices de cualquier integrada o definida por el usuario tipo base, tipo de enumeración o tipo de compuesto puede ser creado. Las matrices de dominios no están todavía soportados.

Insert a la tabla de materias.

Herencia.

La herencia se refiere a que existen dos posibles tablas que posean la misma información solo que infiere por ciertos datos una a la otra. El ejemplo mas practico es el siguiente: Todas las personas poseen un nombre, apellido, cédula, entre otros datos. Un estudiante forma parte de una persona, pero adicionalmente posee representante y año de ingreso a esta institución. Un profesor también es una persona, pero este posee también fecha de contratación y titulo obtenido. Para estos casos se usa la herencia entre la tabla personas con la tabla profesor o con la tabla estudiantes.

Insert a la tabla de profesores.

Los tipos Enumerados.

Los tipos enumerados son utilizadas en un campo de una base de datos para generar un listado de opciones que puede contener dicha variable, pero solo se tomará una de las opciones. Se podría comparar con los check constraints, pero este comando es bastante útil cuando el campo posee varias opciones para escoger y el check constraint sería una opción un tanto tediosa para programar.

Insert a la tabla de Estudiantes_materias.

Tipos de compuestos

Una de las columnas posee una estructura con diferentes tipos de datos, las personas que poseen conocimientos medios de programación lo puede asociar con las struct existentes en Lenguaje C o C++. Para una mejor asociación es como un grupo de variables dentro de uno de los atributos de la tabla. En este tutorial se empleará para especificar en la tabla estudiantes el representante con los datos nombre, teléfono  correo electrónico y dirección  Esta información fácilmente puede almacenase en una nueva tabla, pero queremos mostrar la utilización de este tipo.

Insert a la tabla de estudiantes.

Inserciones adicionales.

Claves primarias, claves foráneas y claves únicas.

Modificación de las claves primarias de las tablas personas y estudiantes_materias.

Se le agrega una columna a la tabla materias [Esta será convertida en la clave primaria y para la foránea usaremos una clave única UK]

Generación de las claves foráneas.

DESCARGAR SCRIPT

Leave a comment

Categories