यहां मुझे भ्रमित करने वाला क्या है। मैं अक्सर डेटाबेस टेबल में समग्र प्राथमिक कुंजी है। उस दृष्टिकोण का खराब पक्ष यह है कि जब मैं प्रविष्टियों को हटाता या संपादित करता हूं तो मेरे पास बहुत अतिरिक्त काम होता है। हालांकि, मुझे लगता है कि यह दृष्टिकोण डेटाबेस डिजाइन की भावना में है।समग्र प्राथमिक कुंजी या नहीं?
दूसरी ओर, मेरे मित्र हैं, जो कभी भी समग्र कुंजी का उपयोग नहीं करते हैं, बल्कि एक तालिका में एक और 'आईडी' कॉलम पेश करते हैं, और अन्य सभी कुंजी केवल एफके हैं। कोडिंग हटाने और प्रक्रियाओं को संपादित करते समय उनके पास बहुत कम काम होता है। हालांकि, मुझे नहीं पता कि वे डेटा प्रविष्टियों की विशिष्टता को कैसे सुरक्षित रखते हैं।
उदाहरण के लिए:
रास्ता 1
create table ProxUsingDept (
fkProx int references Prox(ProxID) NOT NULL,
fkDept int references Department(DeptID) NOT NULL,
Value int,
PRIMARY KEY(fkProx,fkDept)
)
रास्ता 2
create table ProxUsingDept (
ID int NOT NULL IDENTITY PRIMARY KEY
fkProx int references Prox(ProxID) NOT NULL,
fkDept int references Department(DeptID) NOT NULL,
Value int
)
किस तरह बेहतर है? दूसरे दृष्टिकोण का उपयोग करने के बुरे पक्ष क्या हैं? कोई सुझाव?
देखें http://stackoverflow.com/questions/159087/composite-primary-keys-versus-unique-object-id-field – TechTravelThink