मेरे पास एक सारणी है जो एक से एक रिश्ते का वर्णन करती है, आइए चित्रों और एल्बमों के बीच कहें। मैं एल्बम की कवर तस्वीर के रूप में प्रति एल्बम एक और केवल एक तस्वीर चुनने में सक्षम होना चाहता हूं। अभी, टेबल इस तरह है:बुलियन कॉलम (जैसे रेडियो बटन की तरह) के साथ "विशिष्टता" को कैसे लागू करें?
AlbumID int primary key,
PictureID int,
IsCover bool
जाना चाहिए कि मैं समग्र स्कीमा (परिवर्तित करने के लिए नहीं करना चाहती एक समाधान स्थानांतरित करने के लिए एक और मेज पर संबंध, एक एक- को परिभाषित "के कवर है" हो सकता है एक रिश्ते, लेकिन यह प्राथमिकता दी जाती है कि पहले से लागू किए गए प्रश्नों को किसी अन्य तालिका को जोड़कर न बदलें), क्या एक ही एल्बम आईडी के साथ सभी प्रविष्टियों को लागू करने का कोई तरीका है लेकिन किसी के पास IsCover को गलत पर सेट किया गया है?
मैं सर्वर-साइड समाधान की तलाश में हूं। मैं माइक्रोसॉफ्ट एसक्यूएल सर्वर 2012 के साथ काम कर रहा हूं। अद्वितीय बाधा यहां लागू नहीं की जा सकती है, अन्यथा मेरे पास प्रत्येक एल्बम के लिए केवल एक कवर और गैर-कवर हो सकता है। मैंने पहले ही अपने आवेदन में एक चेक लागू कर लिया है, लेकिन मैं वास्तव में सुरक्षा की एक अतिरिक्त परत रखना चाहता हूं।
अग्रिम धन्यवाद।
क्या डालने की जाँच करता है कि क्या नई प्रविष्टि कवर आइटम माना जाता है के बाद अद्यतन करने के बाद एक उत्प्रेरक का उपयोग कर/और फिर के बारे में अन्य सभी के निशान प्रासंगिक प्रविष्टियां झूठी के रूप में? –
चेक बाधा का उपयोग करके आप टेबल पर जो भी नियम पसंद करते हैं उसे लागू कर सकते हैं। एक ऐसा फ़ंक्शन बनाएं जो वास्तविक जांच करता है और इसे बाधा में उपयोग करता है। –
आप दोनों के लिए धन्यवाद! हालांकि, मैं यह जानने की कोशिश कर रहा हूं कि चीजों को यथासंभव सरल रखने के लिए अद्वितीय बाधा के समान कुछ है या नहीं। – Simone