EJEMPLO DER
Una empresa de jardinería quiere informatizar su gestión.
La empresa dispone de un conjunto de clientes:
domicilios particulares, hoteles, comunidades de vecinos, etc.
A veces, el mismo cliente puede requerir servicios de la empresa para jardines de diferentes ubicaciones, por ejemplo, un propietario de dos hoteles o un cliente con casa propia y dos chalets, etc.
Para cada uno de estos jardines, le empresa elabora un contrato y el importe variará en función del tipo de jardín, de su extensión y del tiempo de dedicación que necesita.
El contrato será de una cierta duración y tendrá un tipo de tarifa determinado.
Evidentemente, se tendrá que conocer la dirección de cada uno de los jardines a mantener, así como los
datos necesarios del propietario, para poder facturarle
a final de cada mes todos los servicios realizados por
la empresa o avisarlos si surge alguna eventualidad.
La empresa dispondrá de un sistema informático, que
podrá enseñar al cliente todo un conjunto de fotografías de muchas plantas para facilitarle la construcción o
ampliación de su jardín, su aspecto, tipo de hojas, de
flores, temporada de plantación, de floración, la familia a la que pertenece y su origen.
La empresa también tendrá inventariado todos los tipos de
materiales que utiliza, tipos de tierra, abonos, etc.
• El empresario tendrá que conocer en todo momento la
composición de cada jardín, los tipos de plantas que contiene, el nombre, la fecha de plantación, etc.
• A final de cada mes, el empresario deberá pagar a todos sus jardineros, un sueldo fijo más un importe por hora extra (para todos igual), así que le gustaría llevar un control exhaustivo de todas las tareas realizadas por cada uno de ellos (plantación, poda, etc.), el lugar donde están trabajando, las horas
dedicadas a cada tarea, etc.
• Elaborar el Modelo Entidad/Relación (modelo conceptual) y pasarlo a Relacional.
CLIENTE JARDIN
CONTRATO
PLANTA
TAREA JARDINERO
MATERIAL
1:N 1:1
0:N 0:N
Fecha_plantación, número
Cantidad
1:1 0:N 0:M 0:N
1:1
1:N 1:1
0:N R2
R1 R4
R3
R5
R6
Diagrama Entidad/Interrelación
CLIENTE JARDIN
CONTRATO
PLANTA
TAREA JARDINERO
MATERIAL
1:N 1:1
0:N 0:N
Fecha_plantación, número
Cantidad
1:1 0:N 0:M 0:N
1:1
1:N 1:1
0:N
R2
R1 R4
R3
R5
R6
CLIENTE (DNI, nombre, apellidos,…..)
JARDIN (cod_jardin, ubicación, extensión, tipo,…) CONTRATO (cod_contrato, duración, tarifa, fecha,…)
PLANTA (cod_planta, nombre, tipohojas, tipoflores, tempplantación, tempfloración, familia, origen)
MATERIAL (cod_material, nombre, descripción)
TAREA (id_tarea, nombre, descripción, horasdedicadas, observaciones,...)
JARDINERO (DNI_jar, num_ss, nombre, apellidos, tipocontrato, horassemanales,….) R1( ), R2( ), R3(Fecha_plantacion,número)
R4( ), R5( ), R6 (cantidad)
CLIENTE (DNI, nombre, apellidos,…..)
JARDIN (cod_jardin, ubicación, extensión, tipo,…) CONTRATO (cod_contrato, duración, tarifa, fecha,…) PLANTA (cod_planta, nombre, tipohojas, tipoflores, tempplantación,tempfloración,familia,origen)
MATERIAL (cod_material, nombre, descripción)
TAREA (id_tarea, nombre, descripción, horasdedicadas, observaciones, ...)
JARDINERO (DNI_jar, num_ss, nombre, apellidos, tipocontrato, horassemanales,….)
R1( ) R2( )
R3(Fecha_plantacion,número) R4( )
R5( )
R6 (cantidad)
¾¾ El objetivo es convertir el esquema conceptual en un esquema El objetivo es convertir el esquema conceptual en un esquema
lólógico global en el modelo relacional. Aplicando las siguientes regico global en el modelo relacional. Aplicando las siguientes reglas glas adecuadamente se obtendr
adecuadamente se obtendráá un esquema relacional ya normalizado:un esquema relacional ya normalizado:
1. Toda entidad se convierte en una tabla o relaci
1. Toda entidad se convierte en una tabla o relacióón que toma el n que toma el nombre de la entidad. Los atributos de la entidad ser
nombre de la entidad. Los atributos de la entidad seráán las columnas n las columnas de las tablas y el atributo(s) identificador principal ser
de las tablas y el atributo(s) identificador principal será á la clave la clave primaria. A menos que se diga lo contrario los atributos no
primaria. A menos que se diga lo contrario los atributos no identificadores podr
identificadores podráán tomar valores nulos.n tomar valores nulos.
• • 2. Las interrelaciones N:M2. Las interrelaciones N:M se transforman en una tabla se transforman en una tabla cuya clave primaria ser
cuya clave primaria será á la concatenacila concatenacióón de los atributos n de los atributos principales de las entidades que asocia; estos atributos principales de las entidades que asocia; estos atributos
serseráán claves ajenas que n claves ajenas que referencian referencian a las respectivas tablas a las respectivas tablas donde son claves primarias. Los atributos de la
donde son claves primarias. Los atributos de la interrelaci
interrelacióón sern seráán columnas de la tablan columnas de la tabla
• • 3. Las interrelaciones 1:N o 1:1 se transforman 3. Las interrelaciones 1:N o 1:1 se transforman
propagando el atributo identificador principal de la propagando el atributo identificador principal de la
entidad que tiene cardinalidad m
entidad que tiene cardinalidad m á á xima 1 a la que xima 1 a la que tiene cardinalidad m
tiene cardinalidad m á á xima N. Si la relaci xima N. Si la relaci ó ó n fuese n fuese 1:1: la propagaci
1:1: la propagaci ó ó n de la clave se podr n de la clave se podr í í a realizarse a realizarse en cualquier sentido.
en cualquier sentido.
• • Los atributos de la interrelació Los atributos de la interrelaci ó n migrar n migrar ían junto a í an junto a la clave, aunque muchas veces puede ser
la clave, aunque muchas veces puede ser preferible crear una nueva tabla.
preferible crear una nueva tabla.
• • Si se crea una nueva tabla para transformar la Si se crea una nueva tabla para transformar la interrelaci
interrelaci ó ó n, la clave primaria ser n, la clave primaria ser á á el atributo el atributo identificador principal de la entidad que tiene identificador principal de la entidad que tiene cardinalidad m
cardinalidad m á á xima N y sus atributos ser xima N y sus atributos ser á á n los n los propios de la interrelaci
propios de la interrelaci ó ó n m n m á á s el atributo s el atributo
identificador principal de la entidad que participa identificador principal de la entidad que participa con cardinalidad m
con cardinalidad m á á xima 1 en la interrelaci xima 1 en la interrelaci ó ó n n
Paso 1.
CLIENTE (DNI, nombre, apellidos,…..)
JARDIN (cod_jardin, ubicación, extensión, tipo,…) CONTRATO (cod_contrato, duración, tarifa, fecha,…)
PLANTA (cod_planta, nombre, tipohojas, tipoflores, tempplantación, tempfloración, familia, origen)
MATERIAL (cod_material, nombre, descripción)
TAREA (id_tarea, nombre, descripción, horasdedicadas, observaciones, ...)
JARDINERO (DNI_jar, num_ss, nombre, apellidos, tipocontrato, horassemanales,….)
Paso 2
R3(cod_jardin , cod_planta ,Fecha_plantacion,número) R6 (cod_material , id_tarea , cantidad)
Paso 3
CONTRATO (cod_contrato, duración, tarifa, fecha, DNI,cod-jardin,…) TAREA (id_tarea, nombre, descripción, horasdedicadas, observaciones, DNI_jar,cod-contrato...)
Finalmente
CLIENTE (DNI, nombre, apellidos,…..)
JARDIN (cod_jardin, ubicación, extensión, tipo,…)
CONTRATO (cod_contrato, duración, tarifa, fecha, DNI,cod-jardin,…) PLANTA (cod_planta, nombre, tipohojas, tipoflores, tempplantación, tempfloración, familia, origen)
MATERIAL (cod_material, nombre, descripción)
TAREA (id_tarea, nombre, descripción, horasdedicadas, observaciones,
DNI_jar,cod-contrato...) JARDINERO (DNI_jar, num_ss, nombre, apellidos, tipocontrato, horassemanales,….)
R3(cod_jardin , cod_planta ,Fecha_plantacion,número) R6 (cod_material , id_tarea , cantidad)
CLIENTE JARDIN
CONTRATO
PLANTA
TAREA JARDINERO
MATERIAL
R3
R6
Diagrama de Estructura de Datos (DED)