Հիմնական ստեղներ, որոնք հեշտացնում են տվյալների բազայի կառավարումը

Տվյալների շտեմարանների ստեղները ամենաարդյունավետ միջոցն են, արդյունավետ հարաբերական տվյալների բազա ստեղծելու համար

Ինչպես արդեն գիտեք, տվյալների բազաները օգտագործում են սեղաններ, տեղեկատվության կազմակերպման համար: (Եթե դուք չունեք հիմնական ծանոթություն տվյալների բազայի հասկացությունների, կարդացեք, թե ինչ է տվյալների բազա ): Յուրաքանչյուր աղյուսակ բաղկացած է մի շարք շարքերից, որոնցից յուրաքանչյուրը համապատասխանում է մեկ տվյալների բազայի գրառում: Այսպիսով, ինչպես են տվյալների բազաները պահում այս բոլոր գրառումները: Դա բանալիների օգտագործման միջոցով է:

Հիմնական ստեղներ

Առաջին բանալին մենք կքննարկենք առաջնային բանալին : Յուրաքանչյուր բազայի աղյուսակը պետք է ունենա մեկ կամ մի քանի սյունակ, որը նախատեսված է որպես առաջնային բանալին : Տվյալ ստեղնի արժեքը պետք է եզակի լինի տվյալների բազայում յուրաքանչյուր ռեկորդի համար:

Օրինակ, ենթադրենք, որ մենք ունենք աշխատակիցներ կոչվող աղյուսակ, որը պարունակում է անձնակազմի տեղեկատվություն մեր ընկերության յուրաքանչյուր աշխատողի համար: Մենք պետք է ընտրեինք համապատասխան առաջնային բանալին, որը յուրահատուկ էր յուրաքանչյուր աշխատակցի համար: Ձեր առաջին մտքերը կարող են օգտագործվել աշխատողի անունը օգտագործելու համար: Սա շատ լավ չի աշխատի, որովհետեւ ենթադրելի է, որ նույն աշխատողը կաշխատեք: Ավելի լավ ընտրություն կարող է լինել յուրաքանչյուր աշխատակցի վարձատրության դեպքում նշանակել յուրահատուկ աշխատողի ID համար: Որոշ կազմակերպություններ ընտրում են Սոցիալական ապահովության համարներ (կամ նմանատիպ կառավարական նույնացուցիչներ) օգտագործել, քանի որ յուրաքանչյուր աշխատող ունի մեկ, եւ նրանք երաշխավորվում են յուրահատուկ: Այնուամենայնիվ, Սոցիալական ապահովության համարների օգտագործումը այս նպատակով խիստ հակասական է գաղտնիության մտահոգությունների պատճառով: (Եթե դուք աշխատում եք կառավարության կազմակերպությունում, Սոցիալական ապահովության համարը կարող է նույնիսկ անօրինական լինել 1974 թ. Գաղտնիության մասին օրենքում): Այդ պատճառով շատ կազմակերպություններ անցել են յուրահատուկ նույնականացնողների (աշխատակիցների ID, ուսանողական ID եւ այլն) օգտագործման համար: որոնք չեն կիսում այս գաղտնիության խնդիրները:

Երբ որոշեք առաջնային բանալին եւ ստեղծեք տվյալների բազան, տվյալների բազայի կառավարման համակարգը կիրականացնի բանալին յուրահատկությունը:

Եթե ​​փորձում եք գրառումը մտցնել սեղանի մեջ, որը գոյություն ունի գրառումը կրկնօրինակող առաջնային բանալին, ապա տեղադրումը չի հաջողվի:

Շատ տվյալների բազաները նույնպես կարող են առաջացնել իրենց առաջնային բանալիներ: Microsoft- ի մատչումը, օրինակ, կարող է կազմաձեւվել AutoNumber- ի տվյալների տեսակը օգտագործել աղյուսակում յուրաքանչյուր արձանագրությունին եզակի ID նշանակելու համար: Արդյունավետ լինելով, դա վատ նախագծման պրակտիկա է, քանի որ սեղանին դրված յուրաքանչյուր ռեկորդում ձեզ անիմաստ արժեք է թողնում: Ինչու չօգտագործել այդ տարածքը օգտակար բան պահելու համար:

Արտաքին բանալիներ

Մեկ այլ տիպը օտարերկրյա բանալին է , որն օգտագործվում է սեղանների միջեւ փոխհարաբերություններ ստեղծելու համար: Բնական հարաբերությունները գոյություն ունեն աղյուսակների միջեւ տվյալների շտեմարանների մեծ մասում: Վերադառնալով մեր աշխատակիցների տվյալների բազան, պատկերացրեք, որ մենք ուզում էինք ավելացնել աղյուսակը, որը պարունակում է վարչական տեղեկություն բազայում: Այս նոր աղյուսակը կարող է կոչվել ստորաբաժանումներ եւ ամբողջությամբ պարունակել տեղեկատվություն բաժնի մասին: Ցանկանում ենք նաեւ ավելացնել բաժիններում աշխատող աշխատակիցների մասին տեղեկությունները, սակայն կրկնօրինակը նույն տեղեկությունները կունենա երկու աղյուսակում (աշխատակիցներ եւ ստորաբաժանումներ): Փոխարենը, մենք կարող ենք ստեղծել հարաբերություններ երկու աղյուսակների միջեւ:

Ենթադրենք, գերատեսչությունների աղյուսակը օգտագործում է բաժնի անվանումը սյունակը որպես առաջնային բանալին: Երկու աղյուսակների միջեւ փոխհարաբերություն ստեղծելու համար ավելացնում ենք նոր սյունակ, աշխատակիցների աղյուսակ կոչվող բաժանմունքում: Այնուհետեւ լրացնում ենք բաժնի անունը, որի համար յուրաքանչյուր աշխատակից պատկանում է: Մենք նաեւ տեղեկացնում ենք տվյալների բազայի կառավարման համակարգի մասին , որ Աշխատակազմների բաժնի բաժինը օտարերկրյա բանալին է, որը վերաբերում է բաժինների աղյուսակին:

Տվյալների շտեմարանը այնուհետեւ կիրականացնի տվյալների ամբողջականությունը , ապահովելով, որ Աշխատողների աղյուսակի Բաժանմունքի սյունակում բոլոր արժեքները համապատասխան բաժիններում ունենան համապատասխան բաժիններ Բաժինների աղյուսակում:

Նշենք, որ օտարերկրյա բանալիի համար չկա եզակիության խոչընդոտ : Մենք կարող ենք (եւ ամենայն հավանականությամբ անել) մեկից ավելի աշխատակիցներ, որոնք պատկանում են մեկ բաժին: Նմանապես, որեւէ պահանջ չկա, որ Վարչակազմերի աղյուսակում մուտքն աշխատողների աղյուսակում համապատասխան մուտքի հնարավորություն ունի: Հնարավոր է, որ աշխատող չլինենք բաժին:

Այս թեմայի վերաբերյալ ավելի շատ կարդացեք Արտասահմանյան բանալիների ստեղծումը :