[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