REFUERSO DE BASE DE DATOS.
- Crear un mapa conceptual en hojas de cuaderno o tamaño carta.
- Debe de usar un diseño adecuado , para esto buen trazo de lineas con reglas o escuadras
- Debe ceñirse a todo el documento
- Colocar nombre, fecha, grupo, refuerzo de base de datos.
- Realizar el modelo de base de datos de los siguientes postulados: Carreteras y campeonato de fùtbol que se encuentre despues de modelado entidad relaciòn.
Fundamento de las bases de datos: Modelo entidad-relación
Las bases de datos son un gran pilar de la programación
actual, ya que nos permiten almacenar y usar de forma rápida y eficiente
cantidades ingentes de datos con cierta facilidad. En la actualidad se usa de
forma mayoritaria las bases de datos relacionales (dominadas por distintos
gestores a través del lenguaje SQL, en gran medida).
Pero ahora vamos a dar un pequeño repaso a lo más esencial
del modelo entidad-relación, que es y ha sido durante años la mejor forma de
representar la estructura de estas bases de datos relacionales (o de
representar sus esquemas).
¿Qué es el modelo entidad-relación?
Como ya he comentado este modelo es solo y exclusivamente un
método del que disponemos para diseñar estos esquemas que posteriormente
debemos de implementar en un gestor de BBDD (bases de datos). Este modelo se
representa a través de diagramas y está formado por varios elementos.
Este modelo habitualmente, además de disponer de un diagrama
que ayuda a entender los datos y como se relacionan entre ellos, debe de ser
completado con un pequeño resumen con la lista de los atributos y las
relaciones de cada elemento.
Elementos del modelo entidad-relación
Entidad
Las entidades representan cosas u objetos (ya sean reales o
abstractos), que se diferencian claramente entre sí.
Para poder seguir un ejemplo durante el artículo añadiré
ejemplos sobre un taller mecánico, donde se podría crear las siguientes
entidades:
Coches (objeto
físico): contiene la información de cada taller.
Empleado (objeto
físico): información de los trabajadores.
Cargo del empleado
(cosa abstracta): información de la función del empleado.
Estas entidades se representan en un diagrama con un
rectángulos, como los siguientes.
Entidades
Atributos
Los atributos definen o identifican las características de
entidad (es el contenido de esta entidad). Cada entidad contiene distintos
atributos, que dan información sobre esta entidad. Estos atributos pueden ser
de distintos tipos (numéricos, texto, fecha...).
Siguiendo el ejemplo de antes podemos analizar los atributos
de nuestra entidad "Coches", que nos darán información sobre los
coches de nuestro supuesto taller.
Unos posibles atributos serían los siguientes: número de
chasis, matrícula, DNI del propietario, marca, modelo y muchos otros que
complementen la información de cada coche.
Los atributos se representan como círculos que descienden de
una entidad, y no es necesario representarlos todos, sino los más
significativos, como a continuación.
Atributos
En un modelo relacional (ya implementado en una base de
datos) una ejemplo de tabla dentro de una BBDD podría ser el siguiente.
Número de chasis Matrícula
DNI del propietario
5tfem5f10ax007210
4817 BFK 45338600L
6hsen2j98as001982
8810 CLM 02405068K
5rgsb7a19js001982 0019
GGL 40588860J
Este ejemplo es con tres atributos, pero un coche podría
tener cientos (si fuese necesario) y seguirían la misma estructura de columnas,
tras implementarlo en una BBDD.
Relación
Es un vínculo que nos permite definir una dependencia entre
varias entidades, es decir, nos permite exigir que varias entidades compartan
ciertos atributos de forma indispensable.
Por ejemplo, los empleados del taller (de la entidad
"Empleados") tienen un cargo (según la entidad "Cargo del
empleado"). Es decir, un atributo de la entidad "Empleados"
especificará que cargo tiene en el taller, y tiene que ser idéntico al que ya
existe en la entidad "Cargo del empleado".
Las relaciones se muestran en los diagramas como rombos, que
se unen a las entidades mediante líneas.
Relación
Yo, bajo mi punto de vista, entiendo mejor esto en una tabla
(de una implementación en una BBDD), por lo que voy a poner el ejemplo de como
se representaría (resaltada la relación, que posteriormente veremos como se
haría).
Empleados
Nombre DNI
Cargo
Carlos Sánchez 45338600L
001
Pepe Sánchez 02405068K
002
Juan Sánchez 40588860J
002
Cargo del empleado
ID del cargo Descripción
001 Jefe de
taller
002 Mecánico
Relaciones
de cardinalidad
Podemos encontrar distintos tipos de relaciones según como
participen en ellas las entidades. Es decir, en el caso anterior cada empleado
puede tener un cargo, pero un mismo cargo lo pueden compartir varios empleados.
Esto complementa a las representaciones de las relaciones,
mediante un intervalo en cada extremo de la relación que especifica cuantos
objetos o cosas (de cada entidad) pueden intervenir en esa relación.
Uno a uno: Una entidad se relaciona únicamente con otra y
viceversa. Por ejemplo, si tuviésemos una entidad con distintos chasis y otra
con matrículas deberíamos de determinar que cada chasis solo puede tener una
matrícula (y cada matrícula un chasis, ni más en ningún caso).
Relación
uno a uno
Uno a varios o varios a uno: determina que un registro de
una entidad puede estar relacionado con varios de otra entidad, pero en esta
entidad existir solo una vez. Como ha sido en el caso anterior del trabajador
del taller.
Relación
uno a varios
Varios a varios: determina que una entidad puede
relacionarse con otra con ninguno o varios registros y viceversa. Por ejemplo,
en el taller un coche puede ser reparado por varios mecánicos distintos y esos
mecánicos pueden reparar varios coches distintos.
Relación
varios a varios
Los indicadores numéricos indican el primero el número
mínimo de registros en una relación y posteriormente el máximo (si no hay
límite se representa con una "n").
Claves
Es el atributo de una entidad, al que le aplicamos una
restricción que lo distingue de los demás registros (no permitiendo que el
atributo específico se repita en la entidad) o le aplica un vínculo
(exactamente como comentábamos en las relaciones). Estos son los distintos
tipos:
Superclave:
aplica una clave o restricción a varios atributos de la entidad, para así
asegurarse que en su conjunto no se repitan varias veces y así no poder entrar
en dudas al querer identificar un registro.
Clave primaria:
identifica inequívocamente un solo atributo no permitiendo que se repita en la
misma entidad. Como sería la matrícula o el número de chasis de un coche (no
puede existir dos veces el mismo).
Clave externa o clave
foránea: este campo tiene que estar estrictamente relacionado con la clave
primaria de otra entidad, para así exigir que exista previamente ese clave.
Anteriormente hemos hablado de ello cuando comentábamos que un empleado
indispensablemente tiene que tener un cargo (que lo hemos representado
numéricamente), por lo cual si intentásemos darle un cargo inexistente el
gestor de bases de datos nos devolvería un error.
Resumen
Esto ha sido solo un repaso por encima de lo que es el
modelo entidad-relación, sin entrar en grandes detalles.
También, bajo mi punto de vista, creo que es una buena forma
de diseñar correctamente las bases de datos, aunque algunas veces resulta más
rápido implementarlo directamente en nuestro gestor de BBDD sin la necesidad de
crear un gran diagrama, sino usando notas más simples.
Postulados para el Modelado
a. Carreteras
- Las carreteras están divididas en varias categorías (locales, comerciales, regionales, nacionales, autovías, etc).
- Las carreteras se dividen en tramos. Un tramo siempre pertenece a una única carretera y no puede cambiar de carretera.
- Un tramo puede pasar por varias comunas, interesando conocer el Km de la carretera y la comuna donde empieza el tramo y en donde termina.
- Para los tramos que suponen principio o final de carretera, interesa saber si es que la carretera concluye físicamente o es que confluye en otra carretera. En este caso, interesa conocer con qué carretera confluye y en qué kilómetro, tramo y comuna.
b. Mundial de fútbol.
Construir el modelo relacional que refleje toda la información necesaria para
Almacenar la información relativa a algunos aspectos del campeonato mundial de fútbol considerando los supuestos semánticos siguientes:
1. Un Equipo tiene varios jugadores con nombre, apellidos, dirección, teléfono, y no hay jugadores con la misma identificación. El equipo tiene su identificación única, nombre equipo, ciudad, Director técnico.
2. Un jugador puede actuar en varios puestos distintos, tiene nombre del puesto, pero en un determinado partido sólo puede jugar en un puesto.
3. En cada partido intervienen varios colegiados (nombre de equipos con quien juega), fecha.