[Devel] 3D táblastruktúra

Bán Miklós banm at vocs.unideb.hu
Thu Aug 10 04:47:20 CEST 2017


Sziasztok,

rájöttem, hogyan tudom kezelni általánosítva a 3D adatmodellt! Amikor
van A táblánk és hozzá kapcsolódó "metaadat" B táblánk és így tovább. Ez
ugye minden olyan eset, amikor foreign key kapcsolat van az adattáblák
egyes oszlopai között azaz csak úgy kerülhet B táblába adat, ha A
táblában már szerepel olyan sor aminek A1 oszlopban n értéke van és a
B1-be is n kerül.

Kicsit másképp a probléma így néz ki:  

A) biometria1, biometria2, biometria3
B)  meta1       meta2       meta1
    meta2       meta2       meta2
    meta3       meta3       meta3

Ugyanez lehetne egy táblázatban is, akkor így nézne ki:
	biometria1,meta1,meta2,meta3,biometria2,meta2....

Ezzel az a probléma, hogy
1) hogy túl nagyra nőhet. pl 200 oszlop 5 metaadattal 1200 oszlopos
   táblázatot eredményezne ...
2) a B tábla adatai nem
   mindig állnak az A kitöltésekor rendelkezésre, azaz UPDATElni
   kellene az adatsorokat ha keletkeznek új adatok.

Megoldások:
1) Kis táblázat esetén lehet triggerekkel képezni a meta táblát a
   kitöltött meta oszlopok alapján. (Robi csinált ilyet.)

2) egyszerű szerkezet alapján (ha csak 1 oszlopból) képezünk
   "metaadatot" és van ismert azonosítója az oszlopnak, akkor lehet
   külön táblákból felölteni. Ilyen pl. az odúadatok és a hozzá tartozó
   megfigyelések. (Az odú adatbázisban ezt csináltam.)

3) (ÚJ ötlet) a felöltő formokban létre lehet hozni egy pseudo-column
   paraméterrel minden oszlophoz egy külső tábla kapcsolatot. Az így
   hozzáadott pseudo oszlopok a meta tábla oszlopai bővülnek a
   felületen. A feltöltési felület tehát marad 2D struktúra
	(biometria1,meta1,meta2,meta3,biometria2,meta2....) , de a meta
	oszlopok feltöltéskor automatikusan sor/oszlop azonosítóval a
	meta táblába mennek.
   Technikailag úgy néz ki az adatfelvitel, hogy minden INSERT parancsot
   követ annyi újabb INSERT a meta táblára ahány pseudo column kapcsolat
   definiálva van.

Vélemények?


üdv, Miki

-- 
Miklós Bán, PhD
MTA-DE "Lendület" Behavioural Ecology Research Group
Department of Evolutionary Zoology, University of Debrecen
H-4010 Debrecen, Egyetem tér 1.
Phone:  +36 52 512-900 ext. 62356
http://zoology.unideb.hu/?m=Miklos_Ban
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


More information about the Devel mailing list