回覆列表
  • 1 # 愛逗的小夥伴

    其實,你直接查書就行了。

    資料庫的完整性約束分三種:實體完整性約束,參照完整性約束,使用者定義完整性約束。

    實體完整性:如果屬性M是關係R的主屬性,則M不能取空值。

    (大致意思就是,表中主鍵的值不能為空)·

    參照完整性:如果屬性M是關係R的外碼,則M取值,要麼為空,要麼等於所參照表主碼值。(大致的意思是,表中外來鍵的值要和所連線的表的主鍵的值保持一致,不能保持一致的時候,要把外來鍵值設為空)

    使用者定義完整性:使用者針對某一具體關係自定義的完整性約束條件。分三種情況,列值非空(not null),列值唯一(unique),檢查列值是否滿足一個布林表示式(check)

    create table student(

    sno int primary key, --主碼,實體完整性,主碼不為空

    courseno int foreign key references course, --外碼,參照完整性

    coursename nvarchar(50) not null,--使用者定義完整性,課程名不為空

    sname nvarchar(50) unique,--使用者定義完整性,學生名唯一

    sage int,

    check(sage>0 and sage<100)--使用者定義完整性,檢查學生年齡是否在正常範圍內(0-100)

    )

    資料庫完整性約束的主要作用就是保證資料的正確性和相容性。

    比如,你的資料庫中如果有年齡項,你要保證它不為負,有性別項,你要保證它只能是"男"或"女"等等,總之要保證資料資料符合語義,正確。

  • 中秋節和大豐收的關聯?
  • 深卡其色褲子搭配什麼顏色的上衣比較好?