Տվյալների շտեմարանների ստեղները ամենաարդյունավետ միջոցն են, արդյունավետ հարաբերական տվյալների բազա ստեղծելու համար
Ինչպես արդեն գիտեք, տվյալների բազաները օգտագործում են սեղաններ, տեղեկատվության կազմակերպման համար: (Եթե դուք չունեք հիմնական ծանոթություն տվյալների բազայի հասկացությունների, կարդացեք, թե ինչ է տվյալների բազա ): Յուրաքանչյուր աղյուսակ բաղկացած է մի շարք շարքերից, որոնցից յուրաքանչյուրը համապատասխանում է մեկ տվյալների բազայի գրառում: Այսպիսով, ինչպես են տվյալների բազաները պահում այս բոլոր գրառումները: Դա բանալիների օգտագործման միջոցով է:
Հիմնական ստեղներ
Առաջին բանալին մենք կքննարկենք առաջնային բանալին : Յուրաքանչյուր բազայի աղյուսակը պետք է ունենա մեկ կամ մի քանի սյունակ, որը նախատեսված է որպես առաջնային բանալին : Տվյալ ստեղնի արժեքը պետք է եզակի լինի տվյալների բազայում յուրաքանչյուր ռեկորդի համար:
Օրինակ, ենթադրենք, որ մենք ունենք աշխատակիցներ կոչվող աղյուսակ, որը պարունակում է անձնակազմի տեղեկատվություն մեր ընկերության յուրաքանչյուր աշխատողի համար: Մենք պետք է ընտրեինք համապատասխան առաջնային բանալին, որը յուրահատուկ էր յուրաքանչյուր աշխատակցի համար: Ձեր առաջին մտքերը կարող են օգտագործվել աշխատողի անունը օգտագործելու համար: Սա շատ լավ չի աշխատի, որովհետեւ ենթադրելի է, որ նույն աշխատողը կաշխատեք: Ավելի լավ ընտրություն կարող է լինել յուրաքանչյուր աշխատակցի վարձատրության դեպքում նշանակել յուրահատուկ աշխատողի ID համար: Որոշ կազմակերպություններ ընտրում են Սոցիալական ապահովության համարներ (կամ նմանատիպ կառավարական նույնացուցիչներ) օգտագործել, քանի որ յուրաքանչյուր աշխատող ունի մեկ, եւ նրանք երաշխավորվում են յուրահատուկ: Այնուամենայնիվ, Սոցիալական ապահովության համարների օգտագործումը այս նպատակով խիստ հակասական է գաղտնիության մտահոգությունների պատճառով: (Եթե դուք աշխատում եք կառավարության կազմակերպությունում, Սոցիալական ապահովության համարը կարող է նույնիսկ անօրինական լինել 1974 թ. Գաղտնիության մասին օրենքում): Այդ պատճառով շատ կազմակերպություններ անցել են յուրահատուկ նույնականացնողների (աշխատակիցների ID, ուսանողական ID եւ այլն) օգտագործման համար: որոնք չեն կիսում այս գաղտնիության խնդիրները:
Երբ որոշեք առաջնային բանալին եւ ստեղծեք տվյալների բազան, տվյալների բազայի կառավարման համակարգը կիրականացնի բանալին յուրահատկությունը:
Եթե փորձում եք գրառումը մտցնել սեղանի մեջ, որը գոյություն ունի գրառումը կրկնօրինակող առաջնային բանալին, ապա տեղադրումը չի հաջողվի:
Շատ տվյալների բազաները նույնպես կարող են առաջացնել իրենց առաջնային բանալիներ: Microsoft- ի մատչումը, օրինակ, կարող է կազմաձեւվել AutoNumber- ի տվյալների տեսակը օգտագործել աղյուսակում յուրաքանչյուր արձանագրությունին եզակի ID նշանակելու համար: Արդյունավետ լինելով, դա վատ նախագծման պրակտիկա է, քանի որ սեղանին դրված յուրաքանչյուր ռեկորդում ձեզ անիմաստ արժեք է թողնում: Ինչու չօգտագործել այդ տարածքը օգտակար բան պահելու համար:
Արտաքին բանալիներ
Մեկ այլ տիպը օտարերկրյա բանալին է , որն օգտագործվում է սեղանների միջեւ փոխհարաբերություններ ստեղծելու համար: Բնական հարաբերությունները գոյություն ունեն աղյուսակների միջեւ տվյալների շտեմարանների մեծ մասում: Վերադառնալով մեր աշխատակիցների տվյալների բազան, պատկերացրեք, որ մենք ուզում էինք ավելացնել աղյուսակը, որը պարունակում է վարչական տեղեկություն բազայում: Այս նոր աղյուսակը կարող է կոչվել ստորաբաժանումներ եւ ամբողջությամբ պարունակել տեղեկատվություն բաժնի մասին: Ցանկանում ենք նաեւ ավելացնել բաժիններում աշխատող աշխատակիցների մասին տեղեկությունները, սակայն կրկնօրինակը նույն տեղեկությունները կունենա երկու աղյուսակում (աշխատակիցներ եւ ստորաբաժանումներ): Փոխարենը, մենք կարող ենք ստեղծել հարաբերություններ երկու աղյուսակների միջեւ:
Ենթադրենք, գերատեսչությունների աղյուսակը օգտագործում է բաժնի անվանումը սյունակը որպես առաջնային բանալին: Երկու աղյուսակների միջեւ փոխհարաբերություն ստեղծելու համար ավելացնում ենք նոր սյունակ, աշխատակիցների աղյուսակ կոչվող բաժանմունքում: Այնուհետեւ լրացնում ենք բաժնի անունը, որի համար յուրաքանչյուր աշխատակից պատկանում է: Մենք նաեւ տեղեկացնում ենք տվյալների բազայի կառավարման համակարգի մասին , որ Աշխատակազմների բաժնի բաժինը օտարերկրյա բանալին է, որը վերաբերում է բաժինների աղյուսակին:
Տվյալների շտեմարանը այնուհետեւ կիրականացնի տվյալների ամբողջականությունը , ապահովելով, որ Աշխատողների աղյուսակի Բաժանմունքի սյունակում բոլոր արժեքները համապատասխան բաժիններում ունենան համապատասխան բաժիններ Բաժինների աղյուսակում:
Նշենք, որ օտարերկրյա բանալիի համար չկա եզակիության խոչընդոտ : Մենք կարող ենք (եւ ամենայն հավանականությամբ անել) մեկից ավելի աշխատակիցներ, որոնք պատկանում են մեկ բաժին: Նմանապես, որեւէ պահանջ չկա, որ Վարչակազմերի աղյուսակում մուտքն աշխատողների աղյուսակում համապատասխան մուտքի հնարավորություն ունի: Հնարավոր է, որ աշխատող չլինենք բաժին:
Այս թեմայի վերաբերյալ ավելի շատ կարդացեք Արտասահմանյան բանալիների ստեղծումը :