目錄儲存過程
系統儲存過程:是系統提供的儲存過程,可以作為命令進行各種操作,並可作為樣本儲存過程,指導使用者如何編寫有效的儲存過程。系統儲存過程在master資料庫中,其字首為sp_,用來進行系統的各項設定、獲取資訊及相關管理工作,常用的系統儲存過程有:
擴充套件儲存過程:擴充套件儲存過程以字首xp_來標識,對於使用者來說,擴充套件儲存過程和普通儲存過程一樣,可以用相同的方式,呼叫作業系統提供的功能。
使用者自定義的儲存過程:是使用者在資料庫中建立儲存過程,在資料庫系統中,為特定業務設計的儲存過程,能較好的實現業務邏輯,並增強系統執行效率。
完整性約束
參照完整性(referential integrity)規則:若屬性(或屬性組)f是基本關係r的外碼,它與基本關係s的主碼相對應,則對於r中每個元組在f上的值必須為:或者取空值(f的每個屬性值均為空值),或者等於s中某個元組的主碼值。
使用者定義的完整性
修改關係中主碼的問題:當使用者欲修改關係中某個元組的主碼值時,由於可能存在參照與被參照的問題,系統如何處理就是因主碼修改而產生問題。這個問題一般有以下兩種處理策略:
外碼能否接受空值問題
根據實際情況的不同,乙個關係的外碼有時可以取空值,有時又不能取空值,這是資料庫設計人員必須考慮的外碼空值問題。因此在實現參照完整性時,系統除了應該提供定義外碼的機制,還應提供定義外碼列是否允許空值的機制。
在被參照關係中刪除元組的問題:當使用者將被參照關係中的乙個元組刪除,如何處理參照關係中對應的元組,即是否將參照關係中對應的元組也一起刪除,簡稱為被參照關係中元組的刪除問題。一般有三種不同的策略:
在參照關係中插入元組時的問題:當使用者向參照關係中插入乙個元組時,如果被參照關係中並沒有對應的元組時,是拒絕插入操作,還是進行其他處理的問題,就是在參照關係中插入元組時產生的問題。一般有兩種不同的策略:
完整性設計的原則
完整性約束
create table student tb id int notnull 非空約束 資料不允許為空 name varchar 255 null 顯式指定允許為空 新增非空約束 alter table 表名 modify column 屬性名 屬性型別 not null alter table s...
完整性約束
資料庫的完整性是指保護資料庫的有效性和正確性,防止資料庫中存在不符合語義的 不正確的資料。sql語言提供了相應的完整性約束機制,以確保將正確的資料儲存到資料庫中。完整性約束的型別 唯一約束 unique 用於表中的非主鍵字段,確保字段不會輸入重複的值,為其創造唯一索引 唯一鍵的值可以是null,但只...
完整性約束
約束 為什麼要使用約束?為了保障資料的合法性,完整性 分類 not null 非空約束,資料不能為空 例如 學生表的姓名字段 create table student id int,name char 10 not null,char 1 default woman unique 唯一的約束,該字段...