23-2-2017
Modelo Relacional
Materia: Diseño de bases de datos Unidad 2: Alumno: Omar Asael Hernández Montiel Matricula: es1611302341 Facilitador: Ingrid Nineth Pinto López
Contenido PROBLEMA ESTACIÓN DE POLICÍA .......................................................................................................... 2 Introducción ............................................................................................................................................ 3 Entidades, atributos y tipo de datos ....................................................................................................... 3 Modelo Relacional .................................................................................................................................. 4 Explicación de cardinalidades ................................................................................................................. 5 Conclusión ............................................................................................................................................... 5 Fuentes de Investigación......................................................................................................................... 6
PROBLEMA ESTACIÓN DE POLICÍA Una estación de policía desea diseñar una base de datos que recoja la información de su funcionamiento. Se consideran los siguientes supuestos: En la estación trabajan una serie de policías de los que se desea almacenar: IFE, nombre, categoría y la función que desempeña; ellos pueden desempeñar funciones distintas como administrativas, agentes, etc. Cada policía tiene un único jefe aunque un policía puede ser jefe de varios. En la estación existe un arsenal de armas. Cada arma está identificada por un código único, pertenece a una clase (cuerno de chivo, escopeta, etc.) 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 tiene una identificación, nombre y teléfono; es arrestado por uno o más policías. A cada delincuente que permanece en la estación se le encierra en un calabozo que tiene un código y una ubicación. En el calabozo pueden estar encerrados varios delincuentes. Los delincuentes están involucrados en casos de los que se conocen el código del caso y el juzgado que los instruye; interesa saber cuál es el principal cargo (robo, homicidio, etc.) que se le atribuye a un delincuente en cada caso que esté involucrado. Uno o varios policías investigan cada uno de los casos. ACTIVIDAD 3. Forma de desarrollo: Individual Objetivo: Diseñar el modelo relacional del problema: Estación de Policía Fecha límite de entrega: 21 febrero Indicaciones: Del problema Estación de policía descrito anteriormente, identifica lo siguiente: 3. Diseñar el modelo relacional con base en el modelo entidad-relación entregado anteriormente.
Introducción El modelo relacional constituye una alternativa para la organización y representación de la información que se pretende almacenar en una base de datos. Se trata de un modelo teórico matemático que, además de proporcionarnos los elementos básicos de modelado (las relaciones), incluye un conjunto de operadores (definidos en forma de un álgebra relacional) para su manipulación, sin ambigüedad posible. (IBM, 2016)
En el modelo relacional se basa en el concepto matemático de relación. En este modelo, la información se representa en forma de “tablas” o relaciones, donde cada fila de la tabla se interpreta como una relación ordenada de valores (un conjunto de valores relacionados entre sí). El siguiente ejemplo presenta una relación que representa al conjunto de los departamentos de una determinada empresa, y que recoge información sobre los mismos. (IBM, 2016)
Una base de datos (BD), o mejor dicho, un sistema gestor de bases de datos (SGBD), es un software que gestiona una o más bases de datos y nos permite explotar los datos almacenados en ellas de forma relativamente simple mediante SQL. Esta es una definición muy simplificada, pero para que el aprendizaje sea distendido lo supondremos así, de ese modo podemos centrarnos en aprender cómo y con qué propósito accedemos a los datos, dejando para el final como creamos, alimentamos o modificamos la BD.
Entidades, atributos y tipo de datos Personal idPersonal Int (PK) Ife Char(45) Nombre Varchar(45) Apaterno Varchar(45) Amaterno Varchar(45) Categoria Varchar(45) Funcion Varchar(45)
idarmas Tipoarma Nombre Dominio
Armas Int (PK) Varchar(20) Varchar(45) Int (2)
idcelda Código Nombre
Celda Int (PK) Char(5) Varchar(15)
Delincuente iddelincuente Int (PK) Nombre Varchar(45) Telefono Char(10)
Caso idcaso Juzgado Investigador Cargo
Int (PK) Varchar(20) Varchar(45) Varchar(45)
Modelo Relacional
Explicación de cardinalidades En la tabla “Oficial” se encuentran los atributos de cada oficial de policía, está relacionado con la tabla “función” de muchos a uno porque en una función pueden haber muchos oficiales, pero cada oficial tiene una función. De manera similar está asociada la tabla “oficial” con la tabla “categoría” siguiendo la misma línea de razonamiento. En la tabla “Oficial” hay una relación de muchos a muchos, debido a que los jefes de un oficial también está en la tabla oficial, he probado esta relación y parece trabajar de acuerdo a lo esperado aunque también lo podría dividir en tabla equipos donde tenga uno o varios jefes y varios oficiales a cargo debido a que me imagino que al poderse rotar turnos deberá tener esta función, pero como el problema no indica nada al respecto lo dejaré así. La relación de la tabla “oficial” con la tabla “caso” hace referencia a que uno o varios oficiales le dan seguimiento a uno o varios casos por lo que la relación es muchos a muchos dando como resultado una subtabla llamada “Oficial_has_caso”. La tabla “tipoarmas” la separé de la original tabla “Armas” para que los datos fluyan con mayor facilidad, la forma en que se relacionan es muchas “armas” pueden estar en un “tipoarmas” por lo que la relación es uno a muchos. De igual manera la tabla “tipoarmas” está relacionado con la tabla “oficial” para poder saber el dominio del oficial en cada tipo de armas. La tabla “Oficial” está relacionado con la tabla “Delincuente” y como muchos oficiales pueden participar en la detención de muchos delincuentes la relación es muchos a muchos dando como resultado otra tabla secundaria llamada “Oficial_has_delincuente”. Hablando de la tabla “Delincuente” está relacionado muchos a uno con la tabla “Celda” porque en una celda hay muchos delincuentes pero un delincuente solo tiene una celda asignada. La tabla “caso” está relacionado muchos a muchos con la tabla “Delincuentes” porque un caso puede tener muchos delincuentes y un delincuente puede tener muchos casos. La tabla “caso” puede tener muchos cargos y en un cargo puede haber muchos casos por lo que la relación muchos a muchos con la tabla “cargos” da origen a una tabla secundaria “caso_has_cargos” Cada caso se atiende en un juzgado por lo que la relación de la tabla “caso” tiene solo un “juzgado” y la tabla “juzgado” tiene muchos casos” por lo que la relación es uno a muchos.
Conclusión En este modelo se marcan las relaciones entre las distintas entidades, el modelo es claro porque marca las entidades, atributos y relaciones y dejan clara la forma en que se relacionan las tablas mediante la integración de llaves foráneas que guardan relación con las llaves principales para mantener el orden de los datos.
El modelo fue realizado en workbench y a partir de ello se puede materializar en una base de datos y hacer pruebas para verificar que los datos se comporten de acuerdo a las necesidades de la misma.
Fuentes de Investigación IBM, Bases de datos relacionales, 2016 http://www.ibm.com/support/knowledgecenter/es/SSEPGG_8.2.0/com.ibm.db2.udb.doc/admin/c0 004099.htm