Törölt nick Creative Commons License 2002.09.30 0 0 200
Ha már kihalt az elmélet, nézzünk egy gyakorlati problémát, ami még mindíg fejtörést okoz.

Írtam hajdanán egy raktárgazdálkodási rendszert. A kiindulási pont az volt, hogy egy raktár van. Abból jönnek mennek a dolgok.

A probléma akkor kezdődött, hogy át kellett volna írni a rendszert tetszöleges számú raktárra. Ez sajnos borította az addigi adatmodellt.

A modell középpontjában a forgalmi tételeket rögzítő adattábla áll.

Az oszlopok:

bizonylat_id,(dátum), sorszám,jodcím_id, anyag_id,honnan_id,hová_id,mennyiseg,érték

A problémát az okozza, hogy a honnan_id, hová_id ugyanabból a választékból kerülnek ki: szállítók, vevők, igénylők, raktárak. (Ugyanannak az egyednek -partner - két különböző szerepben való megjelenése.)

Ebből a táblából kell előállítani két listát:

- anyagkarton

Egy adott anyag összes tétele időrendben összesen illetve egy adott raktárra.

- forgalmi karton

Egy adott partner (vevő,szállító, igénylő, ...) összes forgalmi tétele időrendben.

Ezek olyan listák, aminek kérés esetén szinte azonnal meg kell jelennie a képernyőn.

Mi lenne az optimális adatszerkezet?

(Optimálisnak azt tekintem, ha a fő tábla rekodjai indexeken keresztül 100%-os találati pontossággal elérhetőek, nincsenek redundanciák az adatbázisban, egy új forgalmi tétel egy új sort generál a fő táblában.)