完整性語言實驗包含3個實驗專案,其中2個必修專案,1個選修專案。該實驗的各個實驗專案均為驗證型實驗專案。
實驗3.1 實體完整性實驗
1.實驗目的
掌握實體完整性的定義和維護方法。
2.實驗內容和要求
定義實體完整性,刪除實體完整性。能夠寫出兩種方式定義實體完整性的sql語句:建立表時定義實體完整性、建立表後定義實體完整性。設計sql語句驗證完整性約束是否起作用。
3.實驗重點和難點
實驗重點:建立表時定義實體完整性。
實驗難點:有多個候選碼時實體完整性的定義。
4.實驗過程
建立表時定義實體完整性(列級實體完整性),以建立department,dept_name為主碼,定義department的實體完整性,藍色那行定義了dept_name同時宣告其為主碼。
建立表時定義實體完整性(表級實體完整性),同樣以建立department1,dept_name為主碼,定義department的實體完整性,藍色那行在表級層次上給出了實體完整性。建立表後定義實體完整性,以department2為例,先建立department2,不宣告主碼,之後在藍色那兩行在建立表後定義了department2中的dept_name屬性為主碼。定義實體完整性(主碼由多個屬性組成),以建立classroom表為例有多個候選碼時定義實體完整性,以建立instructor表為例,其中name,salary,dept_name和id均為候選碼,選擇id作為主碼,name限制為非空,salary檢查工資是否超過29000,dept_name外來鍵引用department的主碼。刪除實體完整性,刪除instructor的主碼增加兩條主碼相同的記錄,驗證實體完整性是否起作用,以department為例,插入兩條主碼相同的記錄可以看到會違反實體完整性約束。實驗3.3 使用者自定義完整性實驗
1.實驗目的
掌握使用者自定義完整性的定義和維護方法。
2.實驗內容和要求
針對具體應用語義,選擇null/not null、default,unique、check等,定義屬性上的約束條件。
3.實驗重點和難點
實驗重點:null/not null, default。
實驗難點:check。
4.實驗過程
(1) 定義屬性null/not null約束
定義stu表上的id和name的not null屬性,如圖,當插入null的時候就無法通過(2 )定義屬性default約束
定義stu1表中的tot_cred學分預設屬性值為0,表示學生初始學分為0(3)定義屬性unique約束
定義nation表中name屬性必須唯一的完整性約束,表示國家名字不能一樣(4)使用check
使用check定義stu3表中score應該滿足的約束。MySQL完整性語言
完整性語言實驗包含3個實驗專案,其中2個必修專案,1個選修專案。該實驗的各個實驗專案均為驗證型實驗專案。本次實驗我選擇的是實驗3.1和實驗3.3。1 實驗目的 掌握實體完整性的定義和維護方法。2 實驗內容和要求 定義實體完整性,刪除實體完整性。能夠寫出兩種方式定義實體完整性的sql語句 建立表時定義...
MySQL資料完整性(實體完整性 域完整性)
資料完整性 為保證插入到資料庫中的資料是正確的,防止使用者輸入錯誤的資料 分為實體完整性 域完整性 參照完整性 下節再說 1 實體完整性 實體指的是表中的一行,一行記錄對應乙個實體 通過主鍵實現 主鍵 關鍵字 primary key 特點 不能為null,並且唯一。邏輯主鍵 推薦 例如id,不代表實...
mysql 完整性 詳解MySQL 資料完整性
資料完整性分為 實體完整性,域完整性,參考完整性。參照完整性指的就是多表之間的設計,主要使用外來鍵約束。多表設計 一對多 多對多 一對一設計 一 實體 行 完整性 實體完整性通過表的主鍵來實現。使用主鍵來表示一條記錄的唯一,且不為空 語法 primary key 主鍵分類 邏輯主鍵 例如id,不代表...