Академический Документы
Профессиональный Документы
Культура Документы
BASES DE DATOS
1. Se pretende diseñar una base de datos que refleje la información que necesita una sociedad para desarrollar un sistema
judicial como el que sigue:
• Cuando un ciudadano denuncia a otro se constituye un jurado para celebrar el juicio correspondiente. El jurado estará
formado por un juez (J), un secretario (S) y una serie de vocales (V), todos ellos ciudadanos. Por lo que para cada juicio
se quiere registrar el NIC (Número de Identificación del Ciudadano) del denunciante, el NIC del denunciado, el
identificador y el texto de la denuncia, así como los NICs de los miembros del jurado con el cargo de cada uno. Dado el
carácter hostil de los ciudadanos de esta sociedad es muy frecuente que dos ciudadanos se denuncien repetida veces,
aunque por la misma denuncia no se celebra más de un juicio.
• Dentro de un jurado un ciudadano no puede tener más de un cargo que se almacena como un carácter (J, S o V).
• De los ciudadanos se quiere guardar su NIC, su nombre y su primer apellido. Y para aquellos ciudadanos que estén
cumpliendo alguna condena se guarda la fecha de inicio de su encarcelación, la duración de su pena y el nombre del
penal donde la cumple (Villabona o La Modelo de Avilés).
• Dada la nefasta experiencia de años anteriores se quiere que el sistema evite asignar jurados a juicios inexistentes.
EJEMPLO E-R: JUICIOS
BASES DE DATOS
(0,n) ID_Juicio
NIC Denunciante
(1,n)
(0,m)
Jurado N:M
1:1
Cargo
(0,1)
CONDENADOS
Duración Penal
Fecha
Para comprobar que uno no sea su propio juez habrá que hacer un trigger o un aserto de la forma:
CREATE ASSERTION ( NOT Exists (
select *
from Juicio inner join Jurado on (Jucio.id_Juicio=Jurado.id_Juicio)
where Jucio.NIC_Denunciado = Jurado.NIC_Jurado or
Jucio.NIC_Denunciaante = Jurado.NIC_Jurado ))
EJEMPLO E-R: JUICIOS
BASES DE DATOS
(1, 1) ID_Juicio
NIC
Denunciante
Nombre N:1:1 Texto
(1, 1) (1, n)
CIUDADANOS C-J JUICIOS
Denunciado
Apellido (1,1) (1,n)
(0,m)
Jurado N:M
1:1
Cargo
(0,1)
CONDENADOS
Duración Penal
Fecha
Como puede verse el resultado es el mismo, ya que la tabla JUICIOS es idéntica a la anterior tabla, ya que la relación C_J al
ser 1:1:N no genera tabla.
EJEMPLO E-R: JUICIOS
BASES DE DATOS
1:N ID_Juicio
NIC (1, 1) (1, n)
denunciante
Nombre Texto
(1, 1) (1, n)
CIUDADANO denunciado JUICIO
Apellido (1,1)
1:N (1,n)
(0,m)
Jurado N:M
1:1
Cargo
(0,1)
CONDENADOS
Duración Penal
Fecha
Como puede verse el resultado es el mismo, ya que la tabla JUICIOS es idéntica a la anterior, ya que las relaciones
denunciante y denunciado al ser 1:N no generan tabla.
EJEMPLO E-R: JUICIOS
BASES DE DATOS
ID_Juicio
NIC
N:M
Nombre Texto
(1, 1) (1, n)
CIUDADANO C-J JUICIO
(0,m)
Jurado N:M
1:1
Cargo
(0,1)
CONDENADOS
Duración Penal
Fecha
Como puede verse el resultado varía un poco, ya que C-J genera tabla