5. TÉTEL
Helyzetfelmérés: A feladat elvégzéséhez tudnunk kell, hogy mi a kiinduló állapot, és mit szeretnénk elérni, vagyis mi a cél. A nem rég indított rendszer bővítése több kérdést is felvet: 1. Ha most indult a rendszer, akkor miért kell bővíteni? A lehetséges válaszok: A rendszert eleve rosszul méretezték A cég nem várt módon, ugrásszerűen fejlődik. 2. A kiépített kapcsolatok a szerverrel megfelelőek-e? A lehetséges válaszok: A kapcsolatok megfelelőek; A kapcsolatok nem megfelelőek. Módosítani kell őket, illetve új hálózati kapcsolatok is kellenek. 3. Ha új hálózati kapcsolatok kellene, azok milyenek legyenek? Vezetékes hálózati kapcsolatok? Vezeték nélküli hálózati kapcsolatok? 4. Az adatbázis szerver megfelelő-e? Ha nem, mi a probléma: Alacsony teljesítményű a hardver? Több szerverre lenne szükség? 5. Adatbázis-kezelő szoftver problémái okoznak gondot? 6. Adatbázis tervezési, szervezési problémával állunk szemben?
Adatmennyiség-növekedés: Vegyük először azt az esetet, amikor ugrásszerű forgalomnövekedésről, adatmennyiség növekedésről van szó. Ilyenkor meg kell becsülnünk a várható terhelést, azaz, hogy mennyi lesz: A várható adatmennyiség; A várható lekérdezés-szám; A várható adatbázis-műveletek száma adott idő alatt.
Várható adatmennyiségek és lekérdezések meghatározása: Ha például egy kiskereskedés rendszerével van dolgunk, akkor a kereskedő szolgáltathat nekünk adatokat az alábbiakról: Hányféle árut fog kezdetben árusítani? Hány áruféleséggel, és milyen ütemben bővíti majd az árukínálatát? Mennyi lesz az érdeklődők (érdeklődések) száma? Mennyi megrendelés várható?
Adatbázis-műveletek várható száma adott idő alatt: Az előzőek alapján kiszámítható az adott idő alatt várható adatbázis- műveletek száma: Adatbázis létrehozásának, módosításának, törlésének száma; Tábla létrehozásának, módosításának, törlésének; Rekordok felvitelének, módosításának, törlésének száma; Rendezések, szűrések, válogatások, keresések száma; Összesítések, lekérdezések, jelentések száma.
Adatnövekedésből és programújításokból származó hardverbővítések: A fentebb megbecsült adatmennyiségek, lekérdezések, adatbázis-műveletek növekedése, illetve a programújításokból származó hardverigény változása szükségessé teheti a hardverbővítéseket: Adatbázis-szerver bővítése (processzor, memória, háttértár); Egy nagyobb teljesítményű szerver beállítása; Szerverek számának növelése; Adatátviteli sáv növelése; stb.
2. eset: Adatbázis-tervezési, szervezési probléma: Nézzük meg azt az esetet, amikor adatbázis-tervezési, szervezési problémával állunk szemben. Adatbázisok alapeszméje: Az adatbázisok alapeszméje, hogy nagy mennyiségű adatokat úgy tárolnak el, hogy gyorsan, könnyen és egyértelműen visszakereshetők legyenek a tárolt adatok, és megfelelő információk legyenek nyerhetőek belőlük. Adatbázis-tervezés: Tervezéskor a gyors működés eléréséhez normalizálásra, optimális táblakapcsolatok kialakítására, és ésszerű indexelésre mindenképpen szükség van. Utólagos adatbázis-hangolás: Ha a tervezés nem volt megfelelő, akkor utólag a lekérdezések, rendezések gyorsítását az adatbázis átszervezésével, módosításával, az ún. adatbázis-hangolással érhetjük el. Adatbázis-hangolás: Az adatbázis-hangolás lehetséges eszközei: Normalizálás Indexelés Táblák közötti kapcsolatok megfelelő beállítása Táblák közötti kapcsolatok optimalizálása
Normalizálás: Az adatbázisban előforduló anomáliák, valamint a redundancia (adattöbbszörözés) kiküszöbölésének eszköze a normalizálás. A függőségi viszonyok vizsgálata segítségével több szempontból optimalizálható adatbázisunk. Csökkenthető az adatbázisfájl mérete, valamint az adatbázis tartalma logikailag áttekinthetőbbé tehető. Az optimalizálás folyamatát normalizálásnak nevezzük. A normalizálás alatt az adatbázisunk különböző állapotokon megy keresztül. Ezek az állapotok a normálformák.
Indexelés: Az indexek logikailag egy rendezett listaként foghatóak fel. Fizikailag a rendezett sorrendet indextáblába rendezett mutatók biztosítják. Az indexeléssel történő rendezés tehát nem jár a rekordok tényleges, fizikai rendezésével. A táblákban tárolt információk visszakeresését az indexek nagymértékben meggyorsíthatják. A fentiek miatt a tervezés során nagy hangsúlyt kell fektetni a helyes indexek kiválasztására. Szem előtt kell azonban tartani azt is, hogy az indexek számának növelésével az adatok beviteléhez illetve módosításához szükséges idő – az indexek frissítése miatt –megnövekszik.
Táblák közötti kapcsolatok megfelelő beállítása: Az adatbázis-kezelőkben a táblák között az adatok integritásának megőrzés céljából különféle kapcsolattípusokat definiálhatunk. A táblák közti kapcsolatok az egyedek egymáshoz való viszonyát írják le. A táblák közötti kapcsolatot háromféleképpen írhatjuk le: Egy-egy (1:1) kapcsolat: Az egyik tábla egy rekordjához a másik tábla pontosan egy rekordja kapcsolódik. Egy-több (1:N) kapcsolat: Az egyik tábla egy rekordjához a másik tábla több rekordja is tartozhat. Több-több (N:M) kapcsolat: Bármely tábla rekordjaihoz a másik tábla tetszőleges számú rekordja tartozhat.
Táblák közötti kapcsolatok optimalizálása: A táblák közötti kapcsolatokat hatékonyabbá tehetjük az alábbi kapcsolati beállítások megfelelő használatával: Hivatkozási integritás megőrzése Kapcsolt mezők kaszkádolt frissítése Kapcsolt mezők kaszkádolt törlése Illesztési tulajdonságok beállítása
Hivatkozási integritás megőrzése: A hivatkozási integritás célja, hogy megakadályozza az árvarekordok létrejöttét, és szinkronban tartsa a hivatkozásokat, hogy ne keletkezhessenek nem létező rekordokra hivatkozó rekordok. A hivatkozási integritást úgy tudjuk megőrizni, hogy engedélyezzük egy táblakapcsolat esetében. Miután engedélyeztük, az Access megakadályoz minden olyan műveletet, amely ennél a táblakapcsolatnál veszélyeztetné a hivatkozási integritást.
Kapcsolt mezők kaszkádolt frissítése: Amikor engedélyezzük a hivatkozási integritás megőrzését, és a Kapcsolt mezők kaszkádolt frissítése lehetőséget választjuk, majd egy elsődleges kulcsot frissítünk, az Access automatikusan frissíti az elsődleges kulcsra hivatkozó összes mezőt.
Kapcsolt mezők kaszkádolt törlése: Ha engedélyezzük a hivatkozási integritást, és bejelöljük a Kapcsolt mezők kaszkádolt törlése jelölőnégyzetet, az Access automatikusan törli az elsődleges kulcsra hivatkozó mezőket, amikor törli az elsődleges kulcsot tartalmazó rekordot.
Illesztési tulajdonságok beállítása: VÁLASZTÁSI LEHETŐSÉG RELÁCIÓS ILLESZTÉS BAL OLDALI TÁBLA JOBB OLDALI TÁBLA 1. Csak olyan sorok kerüljenek bele, amelyeknél az illesztett mezők mindkét táblában egyenlőek: Szoros illesztés Egyező sorok 2. „Számla” MINDEN rekordja és „Tétel” azon rekordjai, ahol az illesztett mezők azonosak: Bal oldali laza illesztés Minden sor kijelölése Egyező sorok 3. „Tétel” MINDEN rekordja és „Számla” azon rekordjai, ahol az illesztett mezők azonosak: Jobb oldali laza illesztés Egyező sorok Minden sor kijelölése Amikor a 2. vagy a 3. lehetőséget választja, a kapcsolatvonalon megjelenik egy nyíl. Ez a nyíl a kapcsolat azon oldalára mutat, amely csak az egyező sorokat mutatja.