Está en la página 1de 17

Database Design

8-2
Cambio de Modelado: Tiempo

Copyright © 2020, Oracle y/o sus filiales. Todos los derechos reservados.
Objetivos
• En esta lección se abordan los siguientes objetivos:
−Distinguir entre el uso de fecha como atributo y DÍA
como entidad en un modelo de datos, según los requisitos
de negocio
−Solucionar el problema de mantener características de una
fecha creando un modelo que utilice DÍA como entidad
−Identificar al menos tres restricciones relacionadas con el
tiempo que puedan ser el resultado de un modelo sensible
al tiempo
−Definir y dar un ejemplo de no transferibilidad condicional
en un modelo restringido por el tiempo

DDS8L2
Cambio de Modelado: Tiempo Copyright © 2020, Oracle y/o sus filiales. Todos los derechos reservados. 3
Objetivo
• El tiempo desempeña un rol en muchos modelos de
negocio
• Las empresas utilizan a menudo datos históricos para
buscar tendencias que puede apuntar a formas más
eficaces de realizar negocios
• El modelado de tiempo en un negocio permite
capturar estos datos
• Los informes proporcionan información que se puede
derivar de los datos
• Un informe bien diseñado puede proporcionar
información valiosa que el negocio puede utilizar para
mejorar sus operaciones
DDS8L2
Cambio de Modelado: Tiempo Copyright © 2020, Oracle y/o sus filiales. Todos los derechos reservados. 4
Entidad DÍA frente a Atributo Fecha
• Piense en la entidad COMPRA
• Debería incluir un atributo "fecha" si PURCHASE
deseara saber cuándo se adquirió el # Id
artículo * Date
• Sin embargo, si deseamos identificar * Quantity
* Unit price
tendencias, tales como adquisición
de abrigos frente a bañadores frente
a zapatillas, puede que deseemos PURCHASE
saber la temperatura durante ese # Id
* Date
tiempo * Quantity
• Si agregamos los atributos de * Unit price
temperatura a la entidad COMPRA, * High temperature
se crea un problema * Low temperature

DDS8L2
Cambio de Modelado: Tiempo Copyright © 2020, Oracle y/o sus filiales. Todos los derechos reservados. 5
Entidad DÍA frente a Atributo Fecha
• Recuerde el tercer formato normal: un atributo que no
es UID no pueden tener atributos PURCHASE
propios # Id
* Date
• Puesto que alta y baja temperatura * Quantity
son atributos de la fecha, * Unit price

necesitamos una entidad DÍA * High temperature


* Low temperature
independiente

PURCHASE made on DAY


# Id # Date
* Quantity the time for * High temperature
* Unit price * Low temperature

DDS8L2
Cambio de Modelado: Tiempo Copyright © 2020, Oracle y/o sus filiales. Todos los derechos reservados. 6
Entidad DÍA frente a Atributo Fecha
• Contar con una entidad Día independiente nos permite
realizar un seguimiento de más información, lo que
puede resultar útil para una empresa, por ejemplo, qué
días eran días festivos nacionales

PURCHASE made on DAY


# id # Date
* Quantity the time for * High temperature
* Unit price * Low temperature
* Public holiday indicator

DDS8L2
Cambio de Modelado: Tiempo Copyright © 2020, Oracle y/o sus filiales. Todos los derechos reservados. 7
Restricciones Relacionadas con el Tiempo
• Tenga en cuenta las restricciones que pueden ser el
resultado de la necesidad de realizar un seguimiento
de fechas y horas
• Por ejemplo:
−Pensemos en la existencia de una feria escolar que cuenta
con varios stands
−El jefe inscribe a voluntarios para que trabajen en diferentes
turnos en distintos stands
−Un stand solo está dotado de un único voluntario cada vez
−Algunos voluntarios pueden trabajar durante varias horas;
otros pueden trabajar menos horas según de su tiempo libre
−El programa se debe determinar por adelantado, para que el
jefe sepa qué horas no están cubiertas por ningún voluntario

DDS8L2
Cambio de Modelado: Tiempo Copyright © 2020, Oracle y/o sus filiales. Todos los derechos reservados. 8
Restricciones Relacionadas con el Tiempo
• Esta es una selección de restricciones relacionadas con
el tiempo que se deben SHIFT ASSIGNMENT SCHEDULE
tener en cuenta para este # Date
modelo: # Start time
* End time
−La obvia: la "hora de
finalización" del turno debe for for

ser posterior a la "hora de


inicio" del turno
worked by work on

BOOTH VOLUNTEER
# Id # Number
* Name * Name

DDS8L2
Cambio de Modelado: Tiempo Copyright © 2020, Oracle y/o sus filiales. Todos los derechos reservados. 9
Restricciones Relacionadas con el Tiempo
• Las horas de turnos no se pueden superponer
• La "hora de inicio" de un SHIFT ASSIGNMENT SCHEDULE
turno para un voluntario # Date

no puede estar entre la # Start time


* End time
"hora de inicio" y "hora for for
de finalización" de otro
voluntario en el mismo stand
worked by
• Se aplica lo mismo para la work on

"hora de finalización" BOOTH VOLUNTEER


# Id # Number
* Name * Name

DDS8L2
Cambio de Modelado: Tiempo Copyright © 2020, Oracle y/o sus filiales. Todos los derechos reservados. 10
No Transferibilidad Condicional
• La "hora de inicio" de un turno se puede actualizar
para una hora posterior, a SHIFT ASSIGNMENT SCHEDULE
menos que el turno ya # Date
haya comenzado # Start time
* End time
for for

worked by work on

BOOTH VOLUNTEER
# Id # Number
* Name * Name

DDS8L2
Cambio de Modelado: Tiempo Copyright © 2020, Oracle y/o sus filiales. Todos los derechos reservados. 11
No Transferibilidad Condicional
• Probablemente no permitirá que se reasigne un turno
a otro voluntario u otro SHIFT ASSIGNMENT SCHEDULE
stand, a menos que el # Date
turno no se haya iniciado # Start time

aún * End time


for for
• Este es un ejemplo de no
transferibilidad condicional
worked by work on

BOOTH VOLUNTEER
# Id # Number
* Name * Name

DDS8L2
Cambio de Modelado: Tiempo Copyright © 2020, Oracle y/o sus filiales. Todos los derechos reservados. 12
No Transferibilidad Condicional
• No transferibilidad: una ASIGNACIÓN DE TURNOS no se
puede cambiar a otro SHIFT ASSIGNMENT SCHEDULE
STAND (o a otro # Date
VOLUNTARIO) # Start time
* End time
• Las relaciones no for for
transferibles están
representadas por un
rombo en el ERD worked by work on

BOOTH VOLUNTEER
# Id # Number
* Name * Name

DDS8L2
Cambio de Modelado: Tiempo Copyright © 2020, Oracle y/o sus filiales. Todos los derechos reservados. 13
No Transferibilidad Condicional
• No transferibilidad condicional: una ASIGNACIÓN DE
TURNOS se puede a veces SHIFT ASSIGNMENT SCHEDULE
cambiar: en este caso, si el # Date
turno aún no se ha iniciado # Start time
* End time
• Estas relaciones no se for for
pueden representar en el
diagrama, pero sí se tienen
que documentar worked by work on

BOOTH VOLUNTEER
# Id # Number
* Name * Name

DDS8L2
Cambio de Modelado: Tiempo Copyright © 2020, Oracle y/o sus filiales. Todos los derechos reservados. 14
Terminología
• Entre los términos clave utilizados en esta lección se
incluyen:
−No transferibilidad condicional
−No transferibilidad
−Restricción relacionada con el tiempo

DDS8L2
Cambio de Modelado: Tiempo Copyright © 2020, Oracle y/o sus filiales. Todos los derechos reservados. 15
Resumen
• En esta lección, debe haber aprendido lo siguiente:
−Distinguir entre el uso de fecha como atributo y DÍA
como entidad en un modelo de datos, según los requisitos
de negocio
−Solucionar el problema de mantener características de una
fecha creando un modelo que utilice DÍA como entidad
−Identificar al menos tres restricciones relacionadas con el
tiempo que puedan ser el resultado de un modelo sensible
al tiempo
−Definir y dar un ejemplo de no transferibilidad condicional en
un modelo restringido por el tiempo

DDS8L2
Cambio de Modelado: Tiempo Copyright © 2020, Oracle y/o sus filiales. Todos los derechos reservados. 16

También podría gustarte