![數(shù)據(jù)庫完整性實驗報告_第1頁](http://file4.renrendoc.com/view12/M02/32/3E/wKhkGWYAsnmAFuu0AAKiueUD1aI513.jpg)
![數(shù)據(jù)庫完整性實驗報告_第2頁](http://file4.renrendoc.com/view12/M02/32/3E/wKhkGWYAsnmAFuu0AAKiueUD1aI5132.jpg)
![數(shù)據(jù)庫完整性實驗報告_第3頁](http://file4.renrendoc.com/view12/M02/32/3E/wKhkGWYAsnmAFuu0AAKiueUD1aI5133.jpg)
![數(shù)據(jù)庫完整性實驗報告_第4頁](http://file4.renrendoc.com/view12/M02/32/3E/wKhkGWYAsnmAFuu0AAKiueUD1aI5134.jpg)
![數(shù)據(jù)庫完整性實驗報告_第5頁](http://file4.renrendoc.com/view12/M02/32/3E/wKhkGWYAsnmAFuu0AAKiueUD1aI5135.jpg)
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
北京理工大學(xué)珠海學(xué)院實驗報告ZHUHAICAMPAUSOFBEIJINGINSTITUTEOFTECHNOLOGY班級學(xué)號姓名指導(dǎo)教師張申勇成績實驗題目數(shù)據(jù)庫完整性一實驗?zāi)康?.熟悉通過SQL對數(shù)據(jù)進行完整性控制;2.針對具體應(yīng)用要求,設(shè)計相應(yīng)的完整性約束。二實驗工具SQLServer2005利用SQLServer2005SSMS及其SQL查詢編輯器。三實驗內(nèi)容和要求使用SQL對數(shù)據(jù)進行完整性控制〔3類完整性、CHECK短語、CONSTRAIN子句、觸發(fā)器〕。用實驗證實,當(dāng)操作違反了完整性約束條件時,系統(tǒng)是如何處理的。根據(jù)以下要求認真填寫實驗報告,記錄所有的實驗用例。具體操作內(nèi)容:創(chuàng)立以下兩個關(guān)系模式,并分別插入相應(yīng)的數(shù)據(jù)。職工〔職工號,姓名,年齡,職務(wù),工資,部門號〕其中職工號為主碼;部門〔部門號,名稱,經(jīng)理名,地址,號碼〕,其中部門號為主碼;〔1〕使用SQL語言定義這兩個關(guān)系模式,并完成以下完整性約束條件的定義;〔a〕定義每個模式的主碼;〔b〕定義參照完整性;〔c〕定義職工的年齡不能小于18歲,并且不能超過60歲;〔d〕職工的姓名不能為空;〔e〕職工的工資不能為空,且不能小于800;〔f〕部門名稱不能為空且不能重復(fù),定義約束名為UK_dName;〔2〕使用SQL語言分別向兩個表中插入7行記錄,驗證上面的各種約束條件;〔3〕將職工的年齡改為不能小于16歲,并且不能大于65歲;〔4〕定義一個表tbl_Emp_Log(eNO,eSalary,Username,ModiDate);在職工表上定義修改和插入數(shù)據(jù)的觸發(fā)器,將插入的職工號和工資數(shù)據(jù)填入到Emp_log表中,并記錄操作的用戶和插入時間;如果修改了職工的工資,也把職工號和修改后的工資數(shù)據(jù)填入到Emp_log表中,并記錄操作的用戶和插入時間。使用SQL語句向職工表中插入數(shù)據(jù)和修改工資,驗證觸發(fā)器的效果。四實驗報告4.1實驗環(huán)境:Windows7MicrosoftSQLserverManagementStudio20054.2實驗內(nèi)容與完成情況:--新建數(shù)據(jù)庫createdatabaseworkgousework--創(chuàng)立以下兩個關(guān)系模式,并分別插入相應(yīng)的數(shù)據(jù)。--Worker〔職工號,姓名,年齡,職務(wù),工資,部門號〕go--〔〕使用SQL語言定義這兩個關(guān)系模式,并完成以下完整性約束條件的定義;--〔a〕定義職工號為職工表的主碼;createtableWorker(職工號varchar(10)primarykey,--〔d〕職工的姓名不能為空;姓名char(10)notnull,--〔c〕定義職工的年齡不能小于歲,并且不能超過歲;年齡intconstraintw_agecheck(年齡>18and年齡<65),職務(wù)char(15),--〔e〕職工的工資不能為空,且不能小于;工資moneynotnullconstraintw_sacheck(工資>800),部門號char(50),--〔b〕定義參照完整性foreignkey(職工號)referencesWorker(職工號))--Section〔部門號,名稱,經(jīng)理名,地址,號碼〕createtableSection(--定義部門號為部門表的主碼部門號char(10)primarykey,--〔f〕部門名稱不能為空且不能重復(fù),定義約束名為UK_dName;名稱char(10)notnullconstraintUK_dNameunique,經(jīng)理名char(10),地址char(50),char(15),--〔b〕定義參照完整性foreignkey(部門號)referencesSection(部門號));go--〔〕使用SQL語言分別向兩個表中插入行記錄,驗證上面的各種約束條件;--驗證部門名稱不能為空且不能重復(fù),定義約束名為UK_dName;insertintoSectionvalues('a001','市場部門','李永','北工',);insertintoSectionvalues('a002','營銷部門','李剛','北工',);insertintoSectionvalues('a003','營銷部門','李忠','北工',);insertintoSectionvalues('a003',null,'李吧','北工',);insertintoWorkervalues('a001001','王明',20,'市場營銷員',2000,'a001');insertintoWorkervalues('a001002','李村',29,'市場營銷員',2000,'a001');--驗證職工的工資不能為空,且不能小于;insertintoWorkervalues('a002001','羅杰',19,'銷售員',null,'a002');insertintoWorkervalues('a002002','李紅',24,'銷售員',700,'a002');--驗證職工的姓名不能為空;insertintoWorkervalues('a002003',null,32,'經(jīng)理',5000,'a002');--驗證職工的年齡不能小于歲,并且不能超過歲;insertintoWorkervalues('a001003','李永',61,'經(jīng)理',5000,'a001');insertintoWorkervalues('a002004','黃鸝',17,'副經(jīng)理',4500,'a002');--查詢部門表和職工表的數(shù)據(jù)--〔〕將職工的年齡改為不能小于歲,并且不能大于歲;altertableWorkerdropconstraintw_age;altertableWorkeraddconstraintw_agecheck(年齡>16and年齡<65)--驗證職工年齡不能小于歲,并且不能大于歲insertintoWorkervalues('a002005','李芳',15,'副經(jīng)理',4500,'a002');insertintoWorkervalues('a002006','李姓',66,'副經(jīng)理',4500,'a002');--〔〕定義一個表tbl_Emp_Log(eNO,eSalary,Username,ModiDate);在--職工表上定義修改和插入數(shù)據(jù)的觸發(fā)器,--定義表createtabletbl_Emp_Log(idintidentityprimarykey,eNochar(20),eSalarymoney,Usernamechar(20),ModiDateDatetime)--定義插入數(shù)據(jù)的觸發(fā)器createtriggerinsert_EmponWorkerafterinsertasbegininsertintotbl_Emp_Logselect職工號,工資,User_name(),getDate()fromInserted;enddroptriggerinsert_Emp--驗證觸發(fā)器insertintoWorkervalues('a0010011','周濤',29,'市場營銷員',2000,'a001');insertintoWorkervalues('a0010010','霍利',28,'市場營銷員',2000,'a001');select*fromtbl_Emp_Log;droptabletbl_Emp_Log;--定義修改工資的觸發(fā)器createtriggerupdate_EmponWorkerafterupdateasifupdate(工資)begindeclare@eSeleryOldmoney,@eSeletyNewmoneyselect@eSeleryOld=工資fromDeletedselect@eSeletyNew=工資fromInsertedif(@eSeleryOld<>@eSeletyNew)insertintotbl_Emp_Logselect職工號,工資,User_name(),getDate()fromInserted;enddroptriggerupdate_Emp--驗證觸發(fā)器insertintoWorkervalues('a0010021','莉莉',29,'營銷員',3500,'a001');insertintoWorkervalues('a0010020','李麗',28,'市場營銷員',4500,'a001');updateWorkerset工資=5500where職工號='a0010021',updateWorkerset工資=8500where職工號='a0010020',select*from
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度高端獵頭服務(wù)合同標(biāo)的招聘管理協(xié)議2篇
- 2025年度物業(yè)服務(wù)企業(yè)信用評價體系合同
- 2025年度建筑金屬結(jié)構(gòu)材料采購與安裝合同
- 直播平臺知識產(chǎn)權(quán)教育的普及與推廣
- 電機控制系統(tǒng)故障快速定位與排查方法
- 航空電氣設(shè)備與維修知到智慧樹章節(jié)測試課后答案2024年秋西安航空職業(yè)技術(shù)學(xué)院
- 2025年度新型黃金首飾質(zhì)押貸款合同范本
- 燃氣隱患整改情況報告模板
- 物流信息系統(tǒng)中的決策支持系統(tǒng)研究
- 二零二五年度在線教育平臺軟件許可與教學(xué)資源共享合同
- (高清版)WST 408-2024 定量檢驗程序分析性能驗證指南
- 復(fù)工復(fù)產(chǎn)安全檢查記錄(總表)
- 醫(yī)療PDCA案例模板
- YB∕T 5363-2016 裝飾用焊接不銹鋼管
- 江蘇省2023年中職職教高考文化統(tǒng)考語文
- 客戶投訴處理情況總結(jié)范文
- 危險化學(xué)品押運員培訓(xùn)
- 干細胞市面推廣方案
- 國家基本藥物知識培訓(xùn)課件
- QCT 291-2023 汽車機械式分動器總成性能要求和臺架試驗方法 (正式版)
- 浙教版勞動八年級下冊全冊教案教學(xué)設(shè)計
評論
0/150
提交評論