მონაცემთა ბაზები დამოკიდებულია კლავიშებზე ჩანაწერებს შორის შესანახად, დახარისხებისა და შედარების ან ურთიერთობის შესაქმნელად. თუ დიდი ხანია იარეთ მონაცემთა ბაზაში, ალბათ გსმენიათ სხვადასხვა ტიპის გასაღებების შესახებ: პირველადი, კანდიდატის გასაღებები და უცხოური გასაღებები.
როდესაც თქვენ შექმნით მონაცემთა ბაზის ახალ ცხრილს, მოგეთხოვებათ აირჩიოთ ერთი ძირითადი გასაღები, რომელიც ცალსახად განსაზღვრავს ამ ცხრილში შენახულ თითოეულ ჩანაწერს.
რატომ არის ძირითადი გასაღები მნიშვნელოვანი
პირველადი გასაღების შერჩევა ერთ-ერთი ყველაზე მნიშვნელოვანი გადაწყვეტილებაა, რომელსაც მიიღებთ ახალი მონაცემთა ბაზის დიზაინში. ყველაზე მნიშვნელოვანი შეზღუდვა არის ის, რომ თქვენ უნდა დარწმუნდეთ, რომ შერჩეული გასაღები უნიკალურია.თუ შესაძლებელია, რომ ორმა ჩანაწერმა (წარსული, აწმყო ან მომავალი) შეიძლება გაიზიაროს იგივე მნიშვნელობა ატრიბუტისთვის, ეს ცუდი არჩევანია პირველადი გასაღებისთვის.
პირველადი გასაღების კიდევ ერთი მნიშვნელოვანი ასპექტია მისი გამოყენება სხვა ცხრილების მიერ, რომლებიც უკავშირდება მას რელაციურ მონაცემთა ბაზაში. ამ ასპექტში, პირველადი გასაღები მოქმედებს როგორც მაჩვენებლის სამიზნე. ამ ურთიერთდამოკიდებულების გამო, პირველადი გასაღები უნდა არსებობდეს ჩანაწერის შექმნისას და ის არასოდეს შეიცვლება.
ცუდი არჩევანი ძირითადი გასაღებებისთვის
ის, რაც ზოგიერთმა შეიძლება მიიჩნიოს პირველადი გასაღების აშკარა არჩევად, შეიძლება იყოს ცუდი არჩევანი. აქ არის რამდენიმე მაგალითი:
- ZIP კოდები არ არის კარგი ძირითადი გასაღებები ქალაქების ცხრილისთვის. თუ თქვენ აკეთებთ ქალაქების მარტივ საძიებო ცხრილს, ZIP კოდი, როგორც ჩანს, ლოგიკური პირველადი გასაღებია. თუმცა, შემდგომი გამოკვლევის შემდეგ, შეიძლება მიხვდეთ, რომ ერთზე მეტი ქალაქი იზიარებს ZIP კოდს. მაგალითად, ნიუ ჯერსის ქალაქები ნეპტუნი, ნეპტუნი ქალაქი, ტინტონ ფოლსი და უოლ თაუნშიპი ყველა იზიარებს 07753 ZIP კოდს.
- სოციალური უსაფრთხოების ნომრები არ არის კარგი ძირითადი გასაღებები მრავალი მიზეზის გამო. ადამიანების უმეტესობა საკუთარ SSN-ს პირადად მიიჩნევს და არ სურს, რომ ის აშკარად იყოს ხილული მონაცემთა ბაზის მომხმარებლებისთვის. გარდა ამისა, ზოგიერთ ადამიანს არ აქვს SSN.
- ელფოსტის მისამართები ასევე ცუდი არჩევანია ძირითადი გასაღებისთვის. მიუხედავად იმისა, რომ ისინი უნიკალურია, ისინი შეიძლება შეიცვალოს დროთა განმავლობაში. გარდა ამისა, ყველას არ აქვს ელექტრონული ფოსტის მისამართი.
რა არის კარგი ძირითადი გასაღები
მაშ, როგორ ავირჩიოთ ეფექტური პირველადი გასაღები? უმეტეს შემთხვევაში, მიმართეთ თქვენს მონაცემთა ბაზის სისტემას მხარდაჭერისთვის.
საუკეთესო პრაქტიკა მონაცემთა ბაზის დიზაინში არის შიდა გენერირებული პირველადი გასაღების გამოყენება. თქვენს მონაცემთა ბაზის მართვის სისტემას ჩვეულებრივ შეუძლია შექმნას უნიკალური იდენტიფიკატორი, რომელსაც არ აქვს მნიშვნელობა მონაცემთა ბაზის სისტემის გარეთ.
მაგალითად, შეგიძლიათ გამოიყენოთ Microsoft Access AutoNumber მონაცემთა ტიპი, რათა შექმნათ ველი სახელწოდებით RecordID. AutoNumber მონაცემთა ტიპი ავტომატურად ზრდის ველს ყოველ ჯერზე, როდესაც თქვენ შექმნით ჩანაწერს.მიუხედავად იმისა, რომ რიცხვი თავისთავად უაზროა, ის უზრუნველყოფს სანდო გზას ინდივიდუალური ჩანაწერის მითითებისთვის შეკითხვებში.
კარგი პირველადი გასაღები ჩვეულებრივ მოკლეა, იყენებს ციფრებს და თავს არიდებს სპეციალურ სიმბოლოებს ან დიდი და პატარა ასოების ნაზავს, რათა ხელი შეუწყოს მონაცემთა ბაზის სწრაფ ძიებას და შედარებას.