實驗六索引和數據完整性約束
一、 實驗內容:
1、 索引的創建
2、 數據完整性約束的創建
二、 實驗項目:員工管理數據庫
用於企業管理的員工管理數據庫,數據庫名為YGGL中,YGGL數據庫中包括三個表:Employees(員工信息表)、Departments(部門信息表)、Salary(員工薪水情況表)。
三、 實驗步驟:(要求用命令完成以下操作)
1、 使用create index創建索引:
1) 對Employees表中的員工編號列創建普通索引depart_index;
2) 對Employees表中的姓名和地址列創建復合索引ad_index;
3) 對Departments表中的Departmentname列創建唯一索引;
4) 使用show index看Employees表和Departments中索引。
2、 使用alter table添加索引
1) 對Employees表中的出生時間列添加一個唯一索引date_index,姓名和性別列添加一個復合索引name_sex_index;
2) 先查看Departments表中是否有主鍵索引,如果有,請先刪除主鍵索引;
3) 對Departments表中的部門編號創建主鍵索引;
4) 對Employees表中的部門編號列創建外鍵索引。
3、 在創建表的同時創建索引
1) 創建cpk(產品編號,產品名稱、單價、庫存量)(每列的數據類型及長度等信息自定),並對產品編號列創建主鍵,在庫存量和單價列創建復合索引cpk_fh_index。
4、 顯示索引
1) 使用show index看Employees表上的索引
5、 刪除索引
1) 使用drop index刪除索引depart_index、ad_index和date_index;
2) 使用alter table刪除Employees表上的主鍵索引和外鍵索引。
6、 數據完整性約束
1) 創建一個員工獎金發放表jj(employeid,je),其中employeid為主鍵,其值必須是Employees表中已有的員工編號,並且檔刪除和修改Employees表中員工編號列時,要求jj表中的員工編號列的數據也隨着變化。
2) 創建雇員表emp,只考慮員工編號、姓名和性別3列,姓名列滿足唯一約束,性別只能包括男或女;
3) 創建雇員表emp_1,只考慮員工編號和出生時間2列,要求出生時間必須大於1980年1月1日,並將該約束命名為birthdate_id;
4) 創建雇員表emp_2,只考慮員工編號和性別2列,並且確認性別中所有的值都來自於emp表的性別列中;
5) 創建雇員表emp_3,有員工編號、工資和扣款3列,要求工資必須大於扣款,並為該約束命名為last_salary;
四、 實驗報告要求
1、 實驗報告格式要求
包括內容:標題、實驗內容、實驗步驟、實驗中遇到的問題及解決方案
2、 實驗報告內容要求
(1) 標題參看實驗指導標題+“實驗報告”,如“實驗一 MySQL的安裝與命令初步實驗報告”;
(2) 實驗內容與實驗指導中相同;
(3) 實驗步驟中將自己實驗中的每個步驟的命令和操作結果顯示界面進行截圖完善。
(4) 實驗中遇到的問題及解決方案中如實地將自己的問題的解決過程記錄出來。
3、 實驗報告提交要求
每次實驗課結束之后,每個人需要提交實驗報告,實驗報告命名為:學號姓名
五、 補充說明
實驗報告的提交和完成情況將作為期末考評的一部分,希望每位同學認真完成每次安排的實驗,並按要求按時提交實驗報告。