其實,你直接查書就行了。
資料庫的完整性約束分三種:實體完整性約束,參照完整性約束,使用者定義完整性約束。
實體完整性:如果屬性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)
)
資料庫完整性約束的主要作用就是保證資料的正確性和相容性。
比如,你的資料庫中如果有年齡項,你要保證它不為負,有性別項,你要保證它只能是"男"或"女"等等,總之要保證資料資料符合語義,正確。
其實,你直接查書就行了。
資料庫的完整性約束分三種:實體完整性約束,參照完整性約束,使用者定義完整性約束。
實體完整性:如果屬性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)
)
資料庫完整性約束的主要作用就是保證資料的正確性和相容性。
比如,你的資料庫中如果有年齡項,你要保證它不為負,有性別項,你要保證它只能是"男"或"女"等等,總之要保證資料資料符合語義,正確。