Itthon Fejlesztés Mi a harmadik normál forma (3nf)? - meghatározás a techopedia alapján

Mi a harmadik normál forma (3nf)? - meghatározás a techopedia alapján

Tartalomjegyzék:

Anonim

Meghatározás - Mit jelent a harmadik normál forma (3NF)?

A harmadik normál forma (3NF) az adatbázis normalizálásának harmadik lépése, és az első és a második normál formára, az 1NF és a 2NF-re épül.

A 3NF kijelenti, hogy a hivatkozott adatok minden olyan oszlopreferenciáját, amely nem függ az elsődleges kulcstól, el kell távolítani. Ennek másik módja az, hogy csak idegen kulcs oszlopokat kell használni egy másik táblázat hivatkozásához, és a hivatkozott táblázatban nem lehetnek más szülők az alaptáblázatból.

A Techopedia magyarázza a harmadik normál formát (3NF)

Fontolja meg a bank adatbázisát, amely két táblát tartalmaz: CUSTOMER_MASTER az ügyfél adatainak tárolására, és ACCOUNT_MASTER a bankszámlák adatainak tárolására, beleértve azt is, hogy melyik ügyfél rendelkezik melyik számlával. Ebben az esetben szükség van arra, hogy a két táblát összekapcsolják annak érdekében, hogy egy számlát összekapcsoljanak a vevővel, akinek a tulajdonosa van. Ennek módja egy idegen kulcson keresztül. Ez egy olyan oszlop az ACCOUNT_MASTER táblában, amely a CUSTOMER_MASTER szülőtáblában lévő megfelelő oszlopra (az elsődleges kulcsra hivatkozik) mutat, vagy arra hivatkozik. Hívjuk ezt az oszlopot CustID-nek.

Tegyük fel, hogy Andrew Smith ügyfél fiókot hoz létre a CUSTOMER_MASTER táblában az CustID 20454-en. Mr. Smith S-200802-005 számú megtakarítási számlával rendelkezik, amelynek részleteit az ACCOUNT_MASTER táblázat tárolja. Ez azt jelenti, hogy az ACCOUNT_MASTER táblában kliens nevű oszlop lesz, amely nem eredeti adat. Ehelyett 20454-es értékkel rendelkezik, amely egyszerűen ugyanazon klienID-re hivatkozik a CUSTOMER_MASTER táblában.

Most a 3NF azt diktálja, hogy ACCOUNT_MASTER táblánkban az ügyféllel kapcsolatban kizárólag a CustID (20454), mint idegen kulcsmal kell rendelkeznünk, és utal, és azonosítja az ügyfelet, akinek ugyanaz a kliens tartozik a CUSTOMER_MASTER táblában (Andrew Smith). ). Semmilyen más adatot (mint például név, születési dátum, nem és így tovább) nem szabad tárolni az ACCOUNT_MASTER táblában, vagy akár egy másik táblában is, mivel az őt érintő összes adat a CUSTOMER_MASTER már tárolva van. Ezzel a CUSTOMER_MASTER táblán kívül tárolt egyetlen ügyféladat a CustID. Ez szép osztalékot fizet azáltal, hogy nincs adatduplikáció, ami viszont a lekérdezések sokkal hatékonyabban futtatja és csökkenti a szükséges tárhelymennyiséget.

Mi a harmadik normál forma (3nf)? - meghatározás a techopedia alapján