Windows - Táblakapcsolatok grafikus ábrázolása az SQL 2000 adatbázisokban

Egy adatbázisban minél több tábla van, annál nehezebb feladatot jelent a köztük lévő kapcsolatok áttekintése: a "vevők" táblában minden vevő kap egy sorszámot, ugyanez a sorszám megjelenik a "megrendelések" táblában, így szűrhető ki, hogy melyik vevőhöz melyik megrendelés tartozik. Ez még egyszerű, de lehet több tábla és köztük több kapcsolat, ami már jelentősen megbonyolítja a megértést. A probléma megoldását maga az SQL 2000 Server szolgáltatja azzal, hogy lehetővé teszi a táblák és a köztük lévő kapcsolatok grafikus ábrázolását és ily módon új táblák létrehozását, meglévők törlését.
Adatbázisokat sokszor még mindig könnyebb egy papír és ceruza segítségével lerajzolva tervezni, mint mindent fejben tartani és közvetlenül beírni a táblák létrehozása során. Ha egy ismeretlen adatbázissal van dolgunk, amiről nem lehet semmit tudni csak táblák tömkelegét látjuk, még rajzolni is nehéz. Mindkét esetben nagy segítséget jelent az SQL 2000 Server egyik szolgáltatása.
Új diagram létrehozása
A táblák grafikus megjelenítését diagramnak nevezi az MS SQL. Indítsuk el az Enterprise Managert és a farendszer kibontásával keressük meg az adatbázison belüli "Diagrams" tárolót. Próbának megteszi a kiszolgálóhoz mellékelt "Northwind" mintaadatbázis. Kattintsunk a "Diagrams" ikonra és az ablak jobb oldalán megjelennek a meglévő diagramok. Újat úgy tudunk létrehozni, hogy a jobboldali üres területen kattintunk az egér jobb gombjával, majd a megjelenő menüben kiválasztjuk a "New Database Diagram" pontot.
Ekkor elindul egy varázsló. Az első információs oldalról lépjünk tovább.
A második oldalon két oszlopot láthatunk: a jobboldaliban kerülnek felsorolásra az adatbázisban lévő táblák, míg a baloldali kezdetben üres. Válasszuk ki azon táblákat, melyeket látni szeretnénk a diagramon, tehát látni akarjuk, hogy milyen kapcsolatban állnak egymással. A kiválasztott elemeket az "Add" gombbal helyezhetjük át a másik oldalra. Ha valamelyikkel kapcsolatban meggondoltuk magunkat, a "Remove" gombbal törölhetjük. Rendelkezésünkre áll egy jelölőnégyzet ("Add related tables automatically") felirattal. Aktivizálása esetén a kijelölt táblákhoz tartozó - azokkal kapcsolatban álló - összes tábla átkerül a jobboldali oszlopba. A "How many levels of related tables?" mezőben tudjuk szabályozni, hogy milyen mélységig történjen az automatikus hozzáadás. Ha 1-et adunk meg, akkor a kijelölt és a hozzájuk közvetlenül kapcsolódó táblák lesznek láthatók, ha 2-t, akkor a kapcsolódó táblákhoz kapcsolódó további táblák is kijelölésre kerülnek és így tovább. A "Northwind" példánál maradva kapcsoljuk be a jelölőnégyzetet, állítsuk a kapcsolódási mélységet 2-re, válasszuk ki az "Employees" táblát és kattintsunk az "Add" gombra. Összesen 7 db tábla kerül át a jobboldali oszlopba.
A varázsló következő oldalán összefoglalva láthatjuk az eddigi beállításokat és egyúttal ki is léphetünk belőle.
Ha rákattintunk a "Befejezés" ("Finish") gombra egy újabb MMC konzolablakban megjelenik a kijelölt táblák közti összefüggések grafikus ábrája.
Műveletek a diagramokkal
Főmenü nem, de egy eszköztár segítségünkre van a különböző műveletek elvégzésében. Az első, amihez nyúlni fogunk valószínűleg a "Zoom" gomb lesz, mellyel nagyítható és kicsinyíthető az ábra.
Minden tábla egy-egy téglalapban jelenik meg, alapértelmezésben az oszlopneveket felsorolva. Amennyiben index kulcs is tartozik az adott oszlophoz, egy sárga kulcs ikont találunk a név előtt. A "Show" eszköztár gombbal változtathatjuk meg a megjelenítés típusát: kattintsunk az egyik táblára és állítsuk be a "Standard" módot. Rögtön láthatóvá válnak az oszlopok típusai, adathosszuk és az üres értékek engedélyezése.
A táblákat fejlécüknél fogva ide-oda lehet mozgatni, az összekötő elemek automatikusan követik őket. Az "Arrange tables" gombbal kérhetjük a legjobb megjelenítés szerinti elrendezést.
A kapcsolóelemek elhelyezkedéséből nem látszik, hogy melyik táblaoszlopok alkotják, de ha rákattintunk valamelyikre (vagy a háttérre) a jobboldali egérgombbal és utána a "Show Relationship Labels" menüre, akkor megjelennek az oszlopnevek is.
Nyomtatás előtt vehetjük hasznát az oldalszélek megjelenítésének: kattintsunk a háttéren a jobboldali egérgombbal és válasszuk a "View Page Breaks" menüt. Most már látható, hogy mi hova kerülne, ha kinyomtatnánk az ábrát.
A "New Text Annotation" menüvel szövegdobozokat helyezhetünk el, melyekbe megjegyzéseket, magyarázatokat, kiegészítéseket fűzhetünk a készülő ábránkhoz.
A táblák közötti kapcsolatokat meg lehet szüntetni, ha rákattintunk a jobboldali egérgombbal, majd a "Delete Relationship from Database" menüpontra lépünk. Ugyanígy, csak a "Properties" menüvel részletes tulajdonságok is megjeleníthetők. A fókusz automatikusan a kiválasztott kapcsolatra ugrik, de globális - a többi táblát is érintő - menükkel is találkozunk.
Új táblát az "Add table on Diagram" eszköztár gombbal lehet felvenni az ábrára. Új tábla alatt az adatbázisban meglévő tábla értendő. Ha kapcsolódik a meglévőkhöz automatikusan megjelenik a kapcsolóelem. Egy felvett törléséhez kattintsunk rá a jobboldali egérgombbal és válasszuk a "Remove Table from Diagram" menüt.

Adatbázis műveletek
A grafikus ábrázolás használata nem csak a jobb áttekinthetőség végett javasolt, hanem azért is, mert adatbázis műveleteket is elvégezhetünk.
Kattintsunk egy táblára a jobboldali egérgombbal. Teljesen más menü jelenik meg, mintha a háttérre kattintottunk volna. Az elsődleges kulcsot a "Set Primary Key" menüvel tudjuk beállítani, ha már van ilyen, akkor megjelenik egy figyelmeztetés, hogy amit tenni szándékozunk, hatással van a több táblával való kapcsolatra.
Az "Insert Column" menüvel új oszlopot lehet hozzáadni a táblához, a "Delete Column"-al, pedig meglévőt törölhetünk. Amelyik táblának módosítjuk a tulajdonságait a neve mögött egy * jelenik meg, jelezve, hogy még nem mentettük a változtatásokat.
Nézzük meg a "Tasks" menüből nyíló almenüket, itt egy sor további művelet elvégzésére nyílik lehetőség.
A "New table" eszköztár gombbal új táblákat hozhatunk létre az adatbázisban, illetve a "Delete Table from Database" helyi menüvel törölhetjük a kijelöltet.
A fentiekben ismertetett lehetőségek csak felsorolás jellegűek, mert minden menü és almenü használata szinte kimeríti a táblákkal kapcsolatos összes műveletet - a példaadatbázison mindenki kísérletezhet bátran, hogy mind jobban elsajátítsa ennek a remek eszköznek a használatát.