fransaiz95 / Weblectric2018

Aplicación web que sirva al usuario administrador de la plataforma para realizar una simulación de escenarios de instalaciones eléctricas y poder ver los resultados optimos de la mejor manera posible.
GNU General Public License v2.0
0 stars 0 forks source link

Contactar con el cliente: Carga inicial de datos #6

Closed fransaiz95 closed 5 years ago

fransaiz95 commented 5 years ago

Abordar con el cliente las dudas correspondientes a la BBDD y pedir un fichero para una primera carga inicial de datos.

alvarag commented 5 years ago

Esta tarde voy a hablar con él, ¿puedes colgar aquí el diseño actual del E/R y el relacional?

fransaiz95 commented 5 years ago

Esto es lo que hablamos el otro día y dejamos pendiente en la otra Issue Campos de la tabla:

TABLE Country { idCountry
levelDetail

TABLE Region { idRegion
idCountry
levelDetail
demand
RenForecast
DemForecast

TABLE Technology { idTechnology
ExiCapacity
CapacityCost
GenerationCost
CapEmployment
GenEmployment
EnvImpact
GenEmission
CapacityEff

TABLE Fuel { idFuel
resAvailable
fuelCost
fuelNational

TABLE Year { idYear

TABLE Line { idLine
idRegionOrigin
idRegionDestiny exiLine
lineCost
flowCost
lineEmployment
flowEmployment
lineEfficiency

Modelo ER:

46063817-25d3c900-c16e-11e8-9e38-30c4015326bb

Explicación:

Jesús nos propuso la siguiente aclaración:

Los de los arcos es una reflexiva de libro

Region N--------N Region

y conecta es la entidad Arc Para que encaje el tipo tendriamos quizás que irnos a una ternaria ¿?

Region N--------N Region .........................| ........................N .................TypeLine

Y generaria una unica tabla Conecta en lugar de las 3 tablas que se deducen del diagrama ( Arc y las 2 relaciones N:N en las que interviene Arc). Hay una clave en conecta (idRegionOrigen, idRegionDestino, idTipoLinea)

Habria que preguntar si:

a) Entre un origen y destino sólo puede haber un tipo de línea??

Region N--------N Region ........................| ...................... 1 ..................TypeLine En ese caso la clave es sólo (idRegionOrigen, idRegionDestino)

a) Los arcos son bidireccionales (tiene importancia la distincion entre origen y destino??) (Se puede añadir un check en SQL, check(idOrigen<idDestino) para evitar meter el arco inverso...)

Por otro lado no esta claro si la tabla Line representa la entidad TypeLine, Arc y/o algunas relaciones

Lo del año lo entiendo pero no lo acabo de ver con ese encaje. Necesitariamos saber exactamente cuales de todos los datos son fijos y cuales son susceptibles de cambiar anualmente antes de dar otra vuelta al diagrama

alvarag commented 5 years ago

Tengo las ideas mucho más claras, desaparecen algunas relaciones y van a aparecer otras. Mañana concreto con Jesús y te lo dejaré escrito aquí.

fransaiz95 commented 5 years ago

Perfecto, gracias Alvar

alvarag commented 5 years ago

Tenemos el diagrama mucho más claro ahora mismo, de hecho queda muy vistoso con una relación ISA, unas entidades débiles... Perfecto para un examen de BBDD ;)

img_20181004_130220183_hdr

Hay que pasar a limpio este diagrama ER y luego hacer el relacional.

En el paso al relacional, hay varias tablas de relaciones N a N que van a desaparecer, ejs:

Atributos por cada tabla: Fuel:

Country:

FuelTech:

Technology:

RegionTech:

RangeRen:

Region:

Arc:

TypeLine:

ArcType:

RangeDem:

RangeMeteo:

Nota: No he metido las claves foráneas que tienen que ir fruto de las relaciones.

jmaudes commented 5 years ago

Como cuando estabamos cambiado de version de diagrama hemos tenido que cortar repentinamente porque comenzaba una reunion, hay cosas del diagrama viejo que se han quedado en el nuevo. Corrijo:

RangoMeteo es una entidad débil y por tanto es la parte N de una ralacion 1:N con Region. Por lo que los atributos wind, humidity y tº son de la entidad débil y no en el rombo (esta asi porque al principio lo pinte como una relacion N:M y no nos dio tiempo a corregirlo)

Lo mismo nos paso con RangoDemanda, es la parte N de una ralacion 1:N con Region. Por lo que el atributo demand es de la entidad debil y no es de la relacion

Cuando lo pases a tablas, la entidad RangoRenovable es una de esas entidades en las que podemos prescindir de la tabla y quitarla simplificando (ver el apartado de representación de la dimension temporal en la seccion de las ternarias en el tema del modelo E/R en los apuntes de segundo)

Ya siento el lio

alvarag commented 5 years ago

Gracias por las aclaraciones Jesús

fransaiz95 commented 5 years ago

Gracias por toda la información, a ver si con esto y los apuntes se hacer el diagrama correctamente.

Muchas gracias!

fransaiz95 commented 5 years ago

Buenas tardes, si he entendido bien todo, el diagrama ER pasado a limpio sería:

image

alvarag commented 5 years ago

Creo que se han quedado muchos "GenAva" fruto del copy&paste...

¿Hoy hemos quedado a la tarde?

fransaiz95 commented 5 years ago

Cierto, es verdad... Ahora lo corrijo. Me he despistado. Si, a las 17:45 me paso por la uni

fransaiz95 commented 5 years ago

ER CORREGIDO:

weblectric er

alvarag commented 5 years ago

Haz el paso a relacional para poder enseñárnoslo luego y repasar si está correcto

fransaiz95 commented 5 years ago

Buenas. Revisando las tablas que me quedarían al convertir el modelo ER, hecho en falta la tabla auxiliar "Region-RangeRen" al ver la relacion N----N entre las dos tablas. Aunque la tabla RangeRen hemos dicho que desaparece, cual es el criterio para no crear esta tabla? O es que si que hay que crearla.

alvarag commented 5 years ago

Si no recuerdo mal, finalmente quedarán las siguientes tablas:

fransaiz95 commented 5 years ago

Si, esas son las tablas que quedaría, pero realizando el proceso para llegar hasta ahí, a mi me surge "la necesidad" de la otra tabla que he dicho. Lo que no entiendo es por qué no hay que crearla.

jmaudes commented 5 years ago

Hola No hay una relación binaria Region-RangeRen (sobra la N en rojo, perdón) 46614894-3cd3cd00-cb17-11e8-95d1-bc77f3032605

Lo que hay es una ternaria entre ReneWable-RangeRen-Region que es del tipo N:M:P o si quieres N:N:N de los apuntes.

En el tema del diagrama entidad-relación, teníamos una sección 7.4 titulada "7.4. Las interrelaciones ternarias como forma de modelado temporal en el Diagrama E/R"

Había 2 casos: que la entidad que expresa tiempo representa el tiempo generase tabla o que no la generase. Dice al final de la sección que el caso que genera tabla esta asociado a "cuando ese acontecimiento temporal se quiere reservar, como cuando se reserva una cita en una agenda. Si los huecos posibles de la agenda son filas de una tabla contra la que existe una clave ajena, obligamos a que el hueco esté dado de alta primero, evitando que los acontecimientos sucedan en instantes no permitidos por la agenda". Por ejemplo, las fechas de un torneo, si tienes una tabla fechas fuerzas a que las fechas sólo sean las de esa tabla y nadie se equivoque poniendo un partido en una fecha no permitida, quizás sean 20 fechas en todo el año ...

Más adelante dice "Sin embargo, hay situaciones que piden a gritos la aproximación contraria, son aquellas en las que la dimensión temporal es cotidiana e imprevisible, y por tanto bien no merece la pena, o bien es imposible registrar y/o saber de antemano en que fecha van a suceder los acontecimientos.", es decir al ser imprevisible, si mantienes una tabla de fechas, tienes que insertar todas las fechas del año(s), pues todas son posibles, y el interés/ventaja de la tabla de fechas, que es restringir las fechas posibles, se pierde/no existe.

En este caso teóricamente todos los días del año se prodece electricidad con energías renovables, luego tampoco ganamos nada en tener una tabla de fechas.

jmaudes commented 5 years ago

Completando el comentario de Alvar RangeRen: recibe la clave AJENA de technology y de region, y tiene la clave primaria compuesta Clave de Technology + Clave de Region + Clave de la entidad RangeRen (que como hemos comentado no llegamos a convertir en tabla)

Esto es así porque es el caso de ternaria N:N:N en el que entre otras cosas, debemos permitir que se repitan filas con la misma tecnología y región siempre que cambie el rango

Tambien dijimos que podíamos asumir que nunca 2 rangos comenzarían a la vez, luego bastaba la fecha o momento de inicio para identificarlos y no es necesario identificarlos con el par fecha inicio - fecha fin

fransaiz95 commented 5 years ago

Vale, entendido. Entonces, quedaría algo así:

diagrama relacional

Es correcto?

jmaudes commented 5 years ago

Dale otra vuelta y leete bien lo que te he puesto antes Repasa si es necesario la asignatura de Bases de Datos de segundo (da la impresion de que no tienes muy claro que es una entidad débil, que es una reflexiva, y la ternaria estas cerca pero no esta bien)

Tablas que aún estan mal

region_itechnology rangeMeteo rangeDemand arc