Adatbázis-entitások másolása

OData támogatás
Konzulens:
Dr. Szikora Béla
Elektronikai Technológia Tanszék

Az általam fejlesztett alkalmazás fő célja, hogy különböző adatbázisok között másoljon entitásokat és a hozzájuk kapcsolódó összes adatot. A tervezés, a megfelelő technológiák kiválasztása, az algoritmus tervezése, a funkciók implementálása, tesztek készítése, mind részei voltak ennek a projektnek.

Az elején összegyűjtöttem az összes elkészítendő funkciót és a különféle külső tényezőket, amik befolyásolhatják, hogy milyen technológiák vannak használva a fejlesztés során vagy az algoritmus tervezését.

A követező lépés az algoritmus tervezése volt. Ez a folyamat hosszabb ideig tartott, mint ahogyan az elején az tervezve volt. Néhány váratlan helyzetben az algoritmus újra tervezése volt a lassító tényező, de máskor meg korábban ismeretlen részletek derültek ki, amik újabb problémákat okoztak. Sok féle algoritmus volt kipróbálva, mielőtt megszületett a végleges dizájn.

A végső algoritmust két nagyobb lépésre lehet osztani. Az első rész feladata egy általános, irányított gráf elkészítése, ami reprezentálja az adattáblák közötti kapcsolatokat és a szükséges metaadatok is el vannak tárolva ebben a modellben. Mint például a külső kulcsok, elsődleges kulcsok, oszlopok nevei... stb. Ennek az előállítását követően, elkezdődik az entitások másolása. A gráf bejárása, ennek része. A bejárás során, minden hiányzó sort megkeresünk és bemásolunk a cél adatbázisba.

Egy másik hasznos tulajdonsága az alkalmazásnak, a gráf vizualizáció. Az alkalmazás képes előállítani egy XML fájlt, amit meg lehet nyitni a yEd modell szerkesztővel. A szoftver által előállított gráf, az azonos a modellezőben megnyitottal.

Az implementációt követően, a tesztkészítési rész következett. Először unit teszteket állítottam elő, amik az egyes metódusok, funkciók megfelelő működését tesztelik. Aztán integrációs teszteket állítottam elő, amik az alkalmazás funkcióinak a megfelelő működését tesztelik.

Letölthető fájlok

A témához tartozó fájlokat csak bejelentkezett felhasználók tölthetik le.