შეიძლება თუ არა პირველადი გასაღები იყოს უცხო გასაღები?
შეიძლება თუ არა პირველადი გასაღები იყოს უცხო გასაღები?

ვიდეო: შეიძლება თუ არა პირველადი გასაღები იყოს უცხო გასაღები?

ვიდეო: შეიძლება თუ არა პირველადი გასაღები იყოს უცხო გასაღები?
ვიდეო: ვიქტორ ჰიუგო - "საბრალონი" - ნაწილი პირველი - წიგნი 1-4 2024, აპრილი
Anonim

ძირითადი გასაღებები ყოველთვის უნდა იყო უნიკალური, უცხო გასაღებები საჭიროა არაუნიკალური მნიშვნელობების დაშვება, თუ ცხრილი არის ერთი-მრავალზე ურთიერთობა. სავსებით კარგია ა უცხოური გასაღები როგორც მთავარი გასაღები თუ ცხრილი დაკავშირებულია ერთი-ერთ-ერთთან და არა ერთ-ერთ-მრავალთან ურთიერთობით.

ანალოგიურად, ისმის კითხვა, შეიძლება თუ არა პირველადი გასაღები იყოს უცხო გასაღები იმავე ცხრილში?

შექმნა ა უცხოური გასაღები თითქმის ისეთივე მარტივია, როგორც შექმნა ა მთავარი გასაღები , გარდა იმისა, რომ SQL Server აწესებს კიდევ რამდენიმე წესს უცხო გასაღებები . მაგალითად, უცხოური გასაღები უნდა მინიშნება ა მთავარი გასაღები ან უნიკალური შეზღუდვა, თუმცა ეს მითითება შეუძლია იყოს იგივე მაგიდა ან სხვაზე მაგიდა.

ასევე, რით განსხვავდება ძირითადი და უცხოური გასაღებები? ა პირველადი გასაღები არის სპეციალური გასაღები, რომელიც გამოიყენება ცხრილში ჩანაწერების ცალსახად იდენტიფიცირებისთვის, ხოლო ა უცხოური გასაღები გამოიყენება ორ ცხრილს შორის ურთიერთობის დასამყარებლად. ორივე სტრუქტურაში იდენტურია, მაგრამ თამაშობს განსხვავებული როლები მონაცემთა ბაზის რელაციურ სქემაში.

აქ, შეგიძლიათ გქონდეთ უცხოური გასაღები პირველადი გასაღების გარეშე?

დიახ. ჩვენ შეუძლია შექმენი უცხო გასაღების გარეშე მქონე Მთავარი გასაღები მშობლის მაგიდაზე. უმეტეს ჩვენგანს აქვს არასწორი წარმოდგენა, რომ ჩვენ შეუძლია არ შექმნა ა უცხოური გასაღები პირველადი გასაღების გარეშე მშობლის მაგიდაზე. ეს უნიკალური ID შეუძლია იყოს მთავარი გასაღები ან უნიკალური გასაღები.

შეიძლება თუ არა უცხო გასაღების დუბლიკატი?

განსხვავებით პირველადი გასაღებები , უცხო გასაღებს შეუძლია შეიცავს დუბლიკატი ღირებულებები. ასევე, კარგია, რომ ისინი შეიცავს NULL მნიშვნელობებს. ინდექსები არ იქმნება ავტომატურად უცხო გასაღებები ; თუმცა, როგორც DBA, თქვენ შეუძლია განსაზღვრეთ ისინი. ცხრილი ნებადართულია შეიცავდეს ერთზე მეტს უცხოური გასაღები.

გირჩევთ: