Documento 775089

Anuncio
DESARROLLO DE ACTIVIDADES PEDAGÓGICAS
Código: FOR-GA-83/Versión 2
IDENTIFICACIÓN DE LA ACTIVIDAD PEDAGÓGICA
PROGRAMA DE FORMACIÓN
UNIDAD DE APRENDIZAJE
ACTIVIDAD
OBJETIVOS
Ofimática, Web y Desarrollo de Sistemas
Gestores de Base de Datos
Modelamiento Conceptual de Datos
Estructurar modelos entidad-relación mediante ejercicios
DESARROLLO DE LA ACTIVIDAD
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?
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 BD (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.
Atributos
Página
1
Estas entidades se representan en un diagrama con rectángulos, como los siguientes.
DESARROLLO DE ACTIVIDADES PEDAGÓGICAS
Código: FOR-GA-83/Versión 2
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.
Matrícula
DNI del propietario
5tfem5f10ax007210
4817 BFK
45338600L
6hsen2j98as001982
8810 CLM
02405068K
Página
Número de chasis
2
En un modelo relacional (ya implementado en una base de datos) una ejemplo de tabla dentro de una BD podría ser el siguiente.
DESARROLLO DE ACTIVIDADES PEDAGÓGICAS
Código: FOR-GA-83/Versión 2
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 BD.
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.
Yo, bajo mi punto de vista, entiendo mejor esto en una tabla (de una implementación en una BD), por lo que voy a poner el ejemplo de como
se representaría (resaltada la relación, que posteriormente veremos como se haría).
DNI
Cargo
Carlos Sánchez
45338600L
001
Pepe Sánchez
02405068K
002
Juan Sánchez
40588860J
002
Página
Nombre
3
Empleados
DESARROLLO DE ACTIVIDADES PEDAGÓGICAS
Código: FOR-GA-83/Versión 2
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).
Página
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.
4
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.
DESARROLLO DE ACTIVIDADES PEDAGÓGICAS
Código: FOR-GA-83/Versión 2
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 o Llaves
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:
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.
ACTIVIDAD DE APRENDIZAJE
Realizar los siguientes ejercicios, teniendo en cuenta los conceptos desarrollados en clase. Recuerden analizar muy bien el
ejercicio al realizar las diferentes relaciones y asignaciones de llaves primarias y foráneas para cada tabla.
LEA ATENTAMENTE CADA EJERCICIO. ANTES DE DIAGRAMAR ¡ANALICE!
Página
Una cadena de agencias de viaje desea disponer de un sistema de información que gestione su funcionamiento referente a reservas de hotel
y vuelos para sus clientes. Los datos a tener en cuenta son:
5
EJERCICIO No. 01
DESARROLLO DE ACTIVIDADES PEDAGÓGICAS
Código: FOR-GA-83/Versión 2
 La cadena de agencias tiene una serie de hoteles de forma exclusiva. Cada hotel estará definido por un código de hotel, nombre,
dirección ciudad, teléfono y número de plazas disponibles.
 De igual forma, la cadena tiene contratados una serie de vuelos regulares de forma, también, exclusiva. Cada vuelo viene definido por
el número de vuelo (único), fecha, hora, origen y destino, plazas totales y plazas de clase turista.
 De los clientes de la cadena, se desea almacenar un código de cliente, nombre, apellidos, dirección y teléfono.
 Cada una de las agencias de la cadena estará almacenada en el sistema, en particular, se mantendrán los siguientes datos: código
de agencia, dirección y teléfono.
EJERCICIO No. 02
Una empresa de venta anticipada de entradas para espectáculos quiere informatizar su funcionamiento. El funcionamiento de la empresa es
el siguiente:
 Cuando un cliente llama por teléfono para comprar unas entradas, se comprueba si el cliente es nuevo, en cuyo caso se almacenará
en la Base de Datos el nombre del cliente, su DNI y su teléfono. Además se le asignará un código de cliente único.
 Existen diferentes locales de espectáculos que trabajan con esta empresa. La información de interés de dichos locales es el código de
local, el nombre, la dirección, el teléfono y el aforo de dicho local.
 En los diferentes locales se dan distintos espectáculos. Hay que tener en cuenta que la empresa quiere tener almacenada la
programación de espectáculos de toda la temporada por lo que un espectáculo podrá estar en varios locales a lo largo de la
temporada y un local podrá tener también diferentes espectáculos durante la temporada. Es esencial saber las fechas de comienzo y
fin de los espectáculos en cada local.
Página
 Cuando el cliente realiza una compra de entradas se tendrá en cuenta lo siguiente: hay que almacenar la fecha para la que quiere las
entradas, en que espectáculo y en cual local, así como el número de entradas que pide. Por lo tanto, hay que almacenar todas las
compras realizadas por un cliente. De las compras interesa saber el código de cliente, el número de entradas compradas, la fecha, el
código del local y el código del espectáculo.
6
 De los espectáculos interesa saber el código de espectáculo, su nombre y el precio por entrada. Hay que tener en cuenta que el
precio de un espectáculo puede variar según el local donde se produzca.
DESARROLLO DE ACTIVIDADES PEDAGÓGICAS
Código: FOR-GA-83/Versión 2
EJERCICIO No. 03
La empresa colombiana de comida rápida COMIDAS ALTA SAZON con servicio a domicilio, desea crear una base de datos con la
información concerniente a los pedidos de sus clientes y los empleados que trabajan en dicha empresa.
Los datos a tener en cuenta son:
 COMIDAS ALTA SAZON tiene varios centros de comida rápida distribuidos por toda la comunidad de Madrid y atenderá peticiones en
todas la poblaciones. De cada centro se desea almacenar su código, nombre, dirección, población en la que se encuentra y teléfono.
 Aunque todos los centros pertenecen a COMIDAS ALTA SAZON, la empresa da libertad a cada uno para que oferten sus propios
platos combinados. De dichos platos combinados se almacena su número, nombre, descripción y precio. Hay que tener en cuenta que
un plato combinado puede ser ofertado por más de un centro.
 De los clientes, se desea almacenar su número, nombre, dirección y teléfono. COMIDAS ALTA SAZON quiere que quede registrado
qué cliente ha pedido qué plato en cual centro, y la fecha del encargo. También es importante para hacer descuentos, saber la
cantidad de pedidos totales por cliente.
 Respecto a los empleados, hay que almacenar su DNI, nombre, dirección, teléfono y población en la que reside. La empresa asignará
empleados a los diferentes centros según las necesidades de cada centro. Un empleado sólo estará asignado a un centro en un
momento dado. Interesa saber dónde están trabajando los empleados no siendo necesario saber por qué centros ha pasado.
 COMIDAS ALTA SAZON quiere guardar la siguiente información de las poblaciones en las que tiene centros: Código postal, nombre y
número de habitantes. Hay que tener en cuenta que una población puede tener más de un centro
EJERCICIO No. 04
Le contratan para hacer una BD que permita apoyar la gestión de un sistema de ventas. La empresa necesita llevar un control de
proveedores, clientes, productos y ventas.
 Un producto tiene un id único, nombre, precio actual, stock y nombre del proveedor. Además se organizan en categorías, y cada
producto va sólo en una categoría. Una categoría tiene id, nombre y descripción.
Página
7
 Un proveedor tiene un RUT, nombre, dirección, teléfono y página web. Un cliente también tiene RUT, nombre, dirección, pero puede
tener varios teléfonos de contacto y dirección del mismo.
DESARROLLO DE ACTIVIDADES PEDAGÓGICAS
Código: FOR-GA-83/Versión 2
 Por razones de contabilidad, se debe registrar la información de cada venta con un id, fecha, cliente, descuento y monto final. Además
se debe guardar el precio al momento de la venta, la cantidad vendida y el monto total por el producto.
RECURSOS Y EQUIPOS REQUERIDOS
Página
8
Equipos de Computo
Documentos relacionados
Descargar