Dolgozói nyilvántartás
Tegyük fel, hogy egy cég a dolgozói adatokat az alábbi módon tárolja:
Név | Adószám | Cím | Osztálykód | Osztálynév | VezAdószám |
Kovács | 1111 | Pécs, Vár u. 5 | 2 | Tervezési | 8888 |
Tóth | 2222 | Tata, Tó u. 2 | 1 | Munkaügyi | 3333 |
Kovács | 3333 | Vác, Róka u. 1 | 1 | Munkaügyi | 3333 |
Török | 8888 | Pécs, Sas u. 8 | 2 | Tervezési | 8888 |
Kiss | 4444 | Pápa, Kő tér 2. | 3 | Kutatási | 4444 |
Takács | 5555 | Győr, Pap u. 7. | 1 | Munkaügyi | 3333 |
Fekete | 6666 | Pécs, Hegy u. 5. | 3 | Kutatási | 4444 |
Nagy | 7777 | Pécs, Cső u. 25. | 3 | Kutatási | 4444 |
Figyeljük meg, hogy az azonos színnel jelölt sorokban mindig megegyezik az osztálykód, az osztálynév és a vezető adószáma.
A redundáns adattárolás anomáliákhoz vezethet, mert beszúrás esetén elgépelhetjük pl. az osztály nevét. Ha egy osztály főnöke megváltozóik, akkor az összes előfordulását meg kell keresni és meg kell változtatni. Ha pedig az egyik főnököt töröljük az adatbázisból, akkor ellenőrizni kell az összes dolgozónál, hogy ő volt-e a főnöke.
Válasszuk szét és tároljuk külön táblába a dolgozói és az osztály adatokat.
Név | Adószám | Cím | Osztálykód |
Kovács | 1111 | Pécs, Vár u. 5 | 2 |
Tóth | 2222 | Tata, Tó u. 2 | 1 |
Kovács | 3333 | Vác, Róka u. 1 | 1 |
Török | 8888 | Pécs, Sas u. 8 | 2 |
Kiss | 4444 | Pápa, Kő tér 2. | 3 |
Takács | 5555 | Győr, Pap u. 7. | 1 |
Fekete | 6666 | Pécs, Hegy u. 5. | 3 |
Nagy | 7777 | Pécs, Cső u. 25. | 3 |
Osztálykód | Osztálynév | VezAdószám |
1 | Tervezési | 8888 |
2 | Munkaügyi | 3333 |
3 | Kutatási | 4444 |
Ily módon ha változik egy osztály neve vagy főnöke, akkor csak egy rekordot érint a változtatás. A két tábla természetes összekapcsolásával viszont nem kapjuk meg az eredeti táblát.