Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

संबंधपरक डेटाबेस में उपवर्ग की अखंडता बनाए रखना

प्रत्येक छात्र रिकॉर्ड में एक सबक्लास कॉलम होगा (तर्क के लिए मान लें कि यह एक चार्ज (1) है)। {ए =एथलीट, एम =संगीतकार...}

अब अपना एथलीट और संगीतकार टेबल बनाएं। उनके पास एक सबक्लास कॉलम भी होना चाहिए, लेकिन उनके द्वारा प्रतिनिधित्व की जाने वाली तालिका के प्रकार के लिए मूल्य को हार्ड-कोडिंग चेक बाधा होनी चाहिए। उदाहरण के लिए, आपको एथलीट टेबल पर सबक्लास कॉलम के लिए 'ए' का डिफ़ॉल्ट और 'ए' की जांच बाधा डालनी चाहिए।

छात्र आईडी और उपवर्ग की समग्र विदेशी कुंजी का उपयोग करके अपने संगीतकार और एथलीट टेबल को छात्र तालिका से लिंक करें। और आपने कल लिया! जाओ एक अच्छे कप कॉफी का आनंद लो।

CREATE TABLE Student (
    StudentID INT NOT NULL IDENTITY PRIMARY KEY,
    SubClass CHAR(1) NOT NULL,
    Name VARCHAR(200) NOT NULL,
    CONSTRAINT UQ_Student UNIQUE (StudentID, SubClass)
);

CREATE TABLE Athlete (
    StudentID INT NOT NULL PRIMARY KEY,
    SubClass CHAR(1) NOT NULL,
    Sport VARCHAR(200) NOT NULL,
    CONSTRAINT CHK_Jock CHECK (SubClass = 'A'),
    CONSTRAINT FK_Student_Athlete FOREIGN KEY (StudentID, Subclass) REFERENCES Student(StudentID, Subclass)
);

CREATE TABLE Musician (
    StudentID INT NOT NULL PRIMARY KEY,
    SubClass CHAR(1) NOT NULL,
    Instrument VARCHAR(200) NOT NULL,
    CONSTRAINT CHK_Band_Nerd CHECK (SubClass = 'M'),
    CONSTRAINT FK_Student_Musician FOREIGN KEY (StudentID, Subclass) REFERENCES Student(StudentID, Subclass)
);


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL कनेक्शन स्ट्रिंग में कस्टम विशेषताएँ कैसे जोड़ें?

  2. मैं SQL सर्वर क्वेरी में सप्ताहांत के दिनों को कैसे निकालूँ?

  3. सशर्त जॉइन स्टेटमेंट SQL सर्वर

  4. SQL सर्वर में निर्भरता खोजें:sql_expression_dependencies

  5. क्या GUID टकराव संभव है?