自定義的數(shù)據(jù)庫 觸發(fā)器實(shí)現(xiàn)_第1頁
自定義的數(shù)據(jù)庫 觸發(fā)器實(shí)現(xiàn)_第2頁
自定義的數(shù)據(jù)庫 觸發(fā)器實(shí)現(xiàn)_第3頁
自定義的數(shù)據(jù)庫 觸發(fā)器實(shí)現(xiàn)_第4頁
自定義的數(shù)據(jù)庫 觸發(fā)器實(shí)現(xiàn)_第5頁
已閱讀5頁,還剩4頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、實(shí)驗(yàn)要求利用DB2,創(chuàng)建一個新的數(shù)據(jù)庫,在該數(shù)據(jù)庫下創(chuàng)建如下表格:職工(姓名,工號,出生日期,家庭地址,年薪,管理員工號,所在部門編號) ; 部門(部門名稱,部門編號,部門負(fù)責(zé)人的工號) ;項(xiàng)目(項(xiàng)目名稱,項(xiàng)目編號,所在城市,主管部門編號);工作(職工工號,項(xiàng)目編號,工作時間) ;家屬(職工工號,家屬的姓名,家屬的性別)。要求:1. 表名和屬性名用英文字符表示;2. 表中各屬性類型自行設(shè)計;3. 分析該關(guān)系模式中存在的各種數(shù)據(jù)約束,并在創(chuàng)建表時體現(xiàn)出來;4. 加入樣本數(shù)據(jù)(自行設(shè)計),執(zhí)行違反數(shù)據(jù)約束的操作,并觀察結(jié)果;5. 創(chuàng)建一個觸發(fā)器,當(dāng)職工參加一個新的項(xiàng)目時,年薪增加2%;6. 創(chuàng)建一

2、個用戶,將工作表的查詢權(quán)限賦予該用戶。實(shí)驗(yàn)步驟1. 建立數(shù)據(jù)庫2. 建立基本表1 創(chuàng)建職工表Employee,由以下屬性組成:姓名ENAME(CHAR型),工號ENO(SMALLINT型),出生日期EBIRTHDAY(CHAR型),家庭地址EADDR(CHAR型,30位),年薪ESALARY(INT型),管理員工號MNO(SMALLINT型),所在部門編號DNO(SMALLINT型)。2 創(chuàng)建部門表Department,由以下屬性組成:部門名稱DNAME(CHAR型,8位),部門編號DNO(SMALLINT型),部門負(fù)責(zé)人工號ENO(SMALLINT型)。3創(chuàng)建項(xiàng)目表Project,由以下屬性

3、組成:項(xiàng)目名稱PNAME(CHAR型,30位),項(xiàng)目編號PNO(SMALLINT型),所在城市PCITY(CHAR型,8位),主管部門編號DNO(SMALLINT型)。 create database Company4創(chuàng)建工作表Work,由以下屬性構(gòu)成:職工工號ENO(SMALLINT型),項(xiàng)目編號PNO(SMALLINT型),工作時間WTIME(CHAR型)。5創(chuàng)建家屬表Relative,由以下屬性構(gòu)成:職工工號ENO(SMALLINT型),家屬的姓名RNAME(CHAR型,8位),家屬的性別RSEX(CHAR,1位)。 create table Employee(ENAME char(20

4、) not null, ENO smallint not null primary key, EBIRTHDAY char(20) not null, EADDR char(30), ESALARY int, MNO smallint, DNO smallint); create table Department(DNAME char(20), DNO smallint not null primary key, ENO smallint); create table Project(PNAME char(30), PNO smallint not null primary key, PCIT

5、Y char(20), DNO smallint); create table Work(ENO smallint, PNO smallint, WTIME char(20); create table Relative(ENO smallint, RNAME char(20), RSEX char(1);3. 加入樣本數(shù)據(jù)1 向職工表Employee中加入數(shù)據(jù):(徐達(dá)舒,1001,90/8/23,無錫榮巷,30000000,1001,101)、(櫻木花道,1002,90/4/1,湘北,3000000,1001,102)、(流川楓,1003,90/1/1,富丘,4000000,1002,102

6、)、(仙道彰,1004,89/2/14,陵南,20000000,1005,103)、(水戶洋平,1005,90/7/1,湘北,1000000,1001,103)2 向部門表Department插入數(shù)據(jù):(讀者部,101,1001)、(湘北部,102,1002)、(陵南部,103,1004)3向項(xiàng)目表Project加入數(shù)據(jù):(將花流進(jìn)行到底,101,神奈川,102)(洋仙還是仙洋,102,東京,103)4向工作表Work加入數(shù)據(jù):(1002,101,10/8/23)(1003,101,10/8/23)(1004,102,10/12/25)(1003,105,10/12/25)5向家屬表Relat

7、ive加入數(shù)據(jù):(1001,徐天才,男)、(1001,徐偉大,男)、(1002,安西,男) insert into Employee values('徐達(dá)舒','1001','90/8/23','無錫榮巷','30000000','1001','101'); insert into Employee values('櫻木花道','1002','90/4/1','湘北','3000000','100

8、1','102'); insert into Employee values('流川楓','1003','90/1/1','富丘','4000000','1002','102'); insert into Employee values('仙道彰','1004','89/2/14','陵南','20000000','1005','103'); ins

9、ert into Employee values('水戶洋平','1005','90/7/1','湘北','1000000','1001','102'); insert into Department values('讀者部','101','1001'); insert into Department values('湘北部','102','1002'); insert into Depa

10、rtment values('陵南部','103','1004'); insert into Project values('將花流進(jìn)行到底','101','神奈川','102'); insert into Project values('洋仙還是仙洋','102','東京','103'); insert into Work values('1002','101','10/8/23

11、'); insert into Work values('1003','101','10/8/23'); insert into Work values('1004','102','10/12/25'); insert into Work values('1005','102','10/12/25'); insert into Relative values('1001','徐天才','m');

12、insert into Relative values('1001','徐偉大','m'); insert into Relative values('1002','安西','m')4執(zhí)行違反數(shù)據(jù)約束的操作,并觀察結(jié)果1驗(yàn)證主鍵約束 insert into Employee values('徐達(dá)舒','1001','90/8/23','無錫榮巷','30000000','1001','101

13、9;)如果輸入insert into Employee values('徐天才','1001','90/8/23','無錫榮巷','100000','1001','101')在SQL處理期間,它返回:SQL0803N INSERT 語句、UPDATE 語句或由 DELETE語句導(dǎo)致的外鍵更新中的一個或多個值無效,因?yàn)橛?quot;1"標(biāo)識的主鍵、唯一約束或者唯一索引將表 "BLINDDREAM.EMPLOYEE"的索引鍵限制為不能具有重復(fù)值。 SQLST

14、ATE=23505SQL0803N INSERT 語句、UPDATE 語句或由 DELETE 語句導(dǎo)致的外鍵更新中的一個或多個值無效,因?yàn)橛?"1" 標(biāo)識的主鍵、唯一約束或者唯一索引將表 "BLINDDREAM.EMPLOYEE2驗(yàn)證唯一性約束alter table Employee add constraint U_ENAME unique(ENAME)如果輸入insert into Employee values('徐天才','1006','90/8/23','無錫榮巷','100000&

15、#39;,'1001','101')則會違反了 UNIQUE KEY 約束。不能在對象 'Employee' 中插入重復(fù)鍵。3驗(yàn)證外鍵約束當(dāng)刪除項(xiàng)目表記錄時,工作表中相關(guān)的記錄也會同時刪除。alter table Work add constraint FK_PNO foreign key(PNO) references Project(PNO) on delete cascadedelete from Project where PNO='101'4驗(yàn)證檢查約束這個數(shù)據(jù)庫中表沒有使用到check約束,所以不需要驗(yàn)證。5驗(yàn)證允許空

16、值約束insert into Employee values('赤木晴子','1008','90/8/1',null,null ,null ,null )5創(chuàng)建一個觸發(fā)器,當(dāng)職工參加一個新的項(xiàng)目時,年薪增加2% create trigger update_sal after insert on Work for each statement update Employee set ESALARY=1.02*ESALARY where ENO = (select ENO from Work where WTIME != all(select WTIME from Work)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論