Ներկայացնելով տվյալների բազան երկրորդ նորմալ ձեւով
Վերջին ամսվա ընթացքում մենք նայեցինք տվյալների բազայի սեղանին կարգավորելու մի քանի առումներով: Նախ, մենք քննարկեցինք տվյալների բազայի նորմավորման հիմնական սկզբունքները: Վերջին անգամ մենք ուսումնասիրեցինք առաջին բնականոն ձեւով (1NF) սահմանված հիմնական պահանջները: Այժմ եկեք շարունակենք մեր ճամփորդությունը եւ ծածկենք երկրորդ նորմալ ձեւի (2NF) սկզբունքները:
Հիշեք 2NF- ի ընդհանուր պահանջները.
- Հեռացրեք սեղանի բազմակի տողերի նկատմամբ կիրառվող տվյալների ենթաբաժինները եւ դրանք տեղադրեք առանձին սեղաններում:
- Ստեղծեք այս նոր աղյուսակների եւ նրանց նախորդների միջեւ օտարերկրյա բանալիներ օգտագործելու միջոցով:
Այս կանոնները կարող են ամփոփվել պարզ հայտարարության մեջ. 2NF- ն փորձարկում է աղյուսակում ավելորդ տվյալների քանակի կրճատման միջոցով `դրա արդյունահանման, տեղադրելով այն նոր աղյուսակում (ներ) եւ այդ աղյուսակների միջեւ փոխհարաբերություններ ստեղծելով :
Եկեք նայենք օրինակին: Պատկերացրեք առցանց խանութ, որը հաճախորդի տեղեկատվությունը պահպանում է տվյալների բազայում: Նրանք կարող են ունենալ մեկ սեղան, որը կոչվում է Հաճախորդներ, հետեւյալ տարրերով.
- Պահեստավորված նյութեր
- Անուն
- Ազգանուն
- Հասցե
- Քաղաքը
- Պետություն
- ZIP
Այս աղյուսակում հակիրճ նայում է ավելորդ տվյալների փոքր քանակի: Մենք կրկնօրինակում ենք «Sea Cliff, NY 11579» եւ «Miami, FL 33157» գրառումները: Հիմա, դա կարող է թվալ, թե որքան շատ ավելացված պահեստավորում մեր պարզ օրինակով, բայց պատկերացրեք, որ վատ տարածք է, եթե մեր սեղանին հազարավոր տողեր ունենայինք: Բացի այդ, եթե Sea Cliff- ի փոստային կոդերը փոխվեին, ապա մենք պետք է այդ փոփոխությունը կատարեինք բազում տեղերում տվյալների բազայում:
2NF- ի համապատասխան տվյալների բազայի կառուցվածքում այս լրացուցիչ տեղեկատվությունը արդյունահանվում եւ պահվում է առանձին սեղանի մեջ: Մեր նոր աղյուսակը (եկեք զանգենք այն ZIP- ի) կարող է ունենալ հետեւյալ դաշտերը.
- ZIP
- Քաղաքը
- Պետություն
Եթե մենք ուզում ենք լինել գերազանց արդյունավետ, մենք նույնիսկ կարող ենք լրացնել այս սեղանը նախօրոք `փոստային բաժանմունքը տրամադրում է բոլոր վավեր փոստային կոդերի եւ նրանց քաղաքային / պետական կապերի տեղեկատու: Անշուշտ, դուք հայտնվել եք այնպիսի իրավիճակով, երբ այդ տվյալների բազան օգտագործվել է: Որոշ մեկը, ով պատվիրում էր, կարող էր նախ խնդրել ձեր ZIP կոդը, իսկ հետո գիտեր քաղաքը եւ պետությունը, որին զանգահարում եք: Նման պայմանավորվածությունը նվազեցնում է օպերատորի սխալը եւ բարձրացնում արդյունավետությունը:
Այժմ, երբ մենք վերացրեցինք Հաճախորդների աղյուսակից կրկնվող տվյալները, մենք բավարարեցինք երկրորդ նորմալ ձեւի առաջին կանոնը: Մենք դեռ պետք է օգտագործենք օտարերկրյա բանալին `երկու սեղանները միասին կապելու համար: Մենք կօգտագործենք ZIP կոդը (ZIP- ի աղյուսակի հիմնական բանալին) `այդ հարաբերությունները ստեղծելու համար: Ահա մեր նոր հաճախորդների սեղանն է.
- Պահեստավորված նյութեր
- Անուն
- Ազգանուն
- Հասցե
- ZIP
Մենք հիմա նվազեցնում ենք տվյալների բազայում պահվող ավելորդ տեղեկությունների քանակը եւ մեր կառուցվածքը երկրորդ նորմալ ձեւով է:
Եթե ցանկանում եք ապահովել ձեր տվյալների շտեմարանը, կարգավորեք մեր մյուս հոդվածները այս շարքում.
- Տվյալների շտեմարանի նորմալացման հիմունքներ
- Ներդնելով ձեր տվյալների շտեմարանը առաջին հերթական ձեւաչափով
- Ներդնելով ձեր տվյալների շտեմարանը երկրորդ նորմալ ձեւով
- Ներդնելով ձեր տվյալների շտեմարանը երրորդ հերթական ձեւաչափով