Bd procedimientos
Oracle: Procedimientos y Triggers.
Francisco Gutiérrez Morales
Álvaro Gonzáles Vallejos
PROFESORA : ANGÉLICA URRUTIA
ASIGNATURA : Base de datos
FECHA : 18 de octubre de 2010
El caso:
Se desea recoger en una base de datos información acerca del funcionamientointerno de una comisaría de policía.
Se consideran los siguientes supuestos:
En la comisaría trabajan una serie de policías, (DNI, nombre, categoría), que pueden desempeñar funciones distintas: administrativos, agentes, etc.
Cada policía tiene un único jefe, aunque un policía puede ser jefe de varios.
En la comisaría existe un arsenal de armas. Cada arma estáidentificada por un código único, pertenece a una clase y tiene un nombre determinado.
Cada policía puede utilizar una o varias armas en un momento determinado. Es importante conocer el grado de habilidad (puntuación de 1 a 10) de cada policía con cada una de las armas que utiliza.
Un delincuente (DNI, nombre, teléfono) es arrestado por uno o varios policías.
A cada delincuente quepermanezca en la comisaría se le encierra en un calabozo (código y ubicación). En el calabozo pueden estar encerrados varios delincuentes.
Los delincuentes están involucrados en casos (código del caso y juzgado): interesa saber cuál es el principal cargo (robo, homicidio, etc.) que se le imputa a un delincuente en cada delito en que está involucrado.
Uno o varios policías investigan cada uno delos casos.
El caso en ER:
Para llevar este caso a ER lo primero es tener clara las entidades las cuales son en primer lugar Policía que tiene como clave principal el DNI (las claves primarias y atributos quedaran claras en el MR que podremos ver a mas adelante), continuando con la entidad policía sabemos que un policía tiene un jefe que a la vez es un policía por eso tenemos unarecursividad con una relación 1: N a causa de que un jefe de policía tiene varios policías a su cargo.
[pic]
También un policía ocupa armas las cuales son una relación 1: N ya que un policía puede tener varias armas asignadas para su uso.
[pic]
Los policías investigan casos y casos es una entidad con Cod_caso como clave principal y se relaciona con policía a través de larelación Investiga (tendrá como clave principal las claves de DNI del policía y el código del caso) la que es una relación N: M ya que un policía puede investigar varios casos y los casos pueden ser investigados por varios policías por eso investiga tendrá que ser una tabla al pasar el modelo a MR y SQL.
[pic]
Delincuente (clave principal DNI) es arrestado por policías por lotanto hay una relación arresta la cual será N: M por que varios policías arrestan (clave principal DNI policía y DNI delincuente) a varios delincuentes.
[pic]
Por su parte el delincuente está involucrado en casos lo que nos hace relacionarlos por la relación Involucrado (clave primaria DNI delincuente y código del caso).
[pic]
Y los delincuentes son encerrados en calabozos lacual es una relación 1: N porque en un calabozo hay varios delincuentes.
[pic]
Modelo en ER completo:
[pic]
Modelo en MR:
[pic]
Se crearon las entidades con sus respectivos atributos como una tabla con sus claves principales y sus claves foranes también se crearon las relaciones que eran N: M quedaron como una tabla como lo son Investiga, involucrado (posee atributo cargo) yarresta (posea atributo fecha como se pidió en el enunciado).
Código del modelo para Oracle:
drop table investiga;
drop table arresta;
Drop table armas;
Drop table policias;
drop table involucrado;
drop table delincuente;
Drop table calabozo;
drop table caso;
create table policias(
Dni varchar(10) NOT NULL,
nombre varchar(10) NOT NULL,
categoria varchar(10) NOT NULL,
funcion...
Regístrate para leer el documento completo.