Laboratorio 2 ADB
Laboratorio 2 ADB
Laboratorio 2 ADB
Objetivo:
El alumno aprenderá restringir (constraint) los campos de una Base de Datos usando los
comando que el SQL tiene para este fin.
Introducción.
El ejercicio que se va a realizar consiste en un problema que describe un problema de una
empresa dedicada a la prestación de servicios educativos: después de leer el texto se genera el diagrama
E-R con la solución a éste problema, se continua con la creación de las tablas.
A continuación se detalla el problema con el que se trabajará en este laboratorio:
Los lineamientos para la creación de estas restricciones son los siguientes y son entregados por
la gerencia de diseño de sistemas de información de la fábrica de software IAcme.
● Ningún atributo que sea por si mismo llave primaria o sea parte de la llave primaria puede
aceptar valores nulos.
● Cuando un registro del maestro de recibos sea borrado, automáticamente deben ser borrados
todos los registros relacionados en el tabla detalle del recibo.
● Cuando una cuenta de cheques sea borrada, automáticamente deben ser borrados todos los
registros relacionados en la tabla cheques.
● Cuando se elimine un registro de la tabla CursosEspeciales, automáticamente deben ser
borrados cualquier registro relacionado en las tablas especializadas de ceextracurricula y
ceverano.
● NO SE PERMITEN VALORES NULOS sobre los siguientes campos de cada tabla (las llaves
primarias se restringen en el primer lineamiento):
CuentaCheques(banco)
Tabulador(importehora);
Profesores(nombre, maximo);
Materias(des, horacurso);
Alumnos( nombre);
Los datos insertados solo sirven para demostrar el funcionamiento de los privilegios de acceso,
queda del usuario insertar datos en el resto de las tablas para demostrar que las reglas de acceso son
funcionales para cada usuario.
Trabajo adicional.
● Verifique que todas las resticciones que se le han puesto a la BD funcionen adecuadamente.
● Usando el esquema que a continuación se le indica, valide lo siguiente:
El precio de venta del articulo siempre debe ser mayor en un 10% al precio de venta.
El precio de venta debe ser mayor a cero.
El precio de compra debe ser mayor a cero.
Articulo ( CodBarras, PrecioVenta, PrecioCompra, Descripción )
Demuestre que su código funciona adecuadamente, con datos y respuestas a las restricciones.
● Valida que el campo nombre de la tabla Profesores solo acepte nombres en minúsculas y con un
rango desde la “a” hasta la “z”. Pista: Construya una Expresión Regular (vea el manual de
PostgreSQL) que haga la validación.
● Encuentre el error de la tabla CursosEspeciales y corrijalo. Explique ampliamente.
● Explique la condición en la que el borrado en cascada es útil y cuándo no lo es.