



下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
實(shí)驗(yàn)三數(shù)據(jù)庫完整性一、實(shí)驗(yàn)?zāi)康?、理解并掌握關(guān)系的三類數(shù)據(jù)完整性的概念以及域完整性含義;2、理解并掌握PRIMARYKEY、CHECK、FOREIGNKEY-REFERENCES、NOTNULL、UNIQUE等關(guān)鍵字的含義及規(guī)則;3、掌握使用SQL語句完整性的設(shè)置。二、實(shí)驗(yàn)內(nèi)容1、練習(xí)使用SQL語句設(shè)置PRIMARYKEY、NOTNULL、UNIQUE、CHECK、FOREIGNKEY約束;2、練習(xí)約束的查看;3、練習(xí)使用SQL語句刪除約束。三、實(shí)驗(yàn)步驟1、以SCOTT賬戶登錄ORCL數(shù)據(jù)庫(1)首先運(yùn)行CMD,執(zhí)行SQLPLUSSYS/Oracle11ASSYSDBA;啟動(dòng)SQL*PLUS,登錄到ORCL數(shù)據(jù)庫。(2)執(zhí)行CONNECTSCOTT/tiger;連接到ORCL數(shù)據(jù)庫。(3)使用SQL創(chuàng)建表:Student、SC、Course,表結(jié)構(gòu)如實(shí)驗(yàn)二所示。(4)向Student、SC、Course表中插入實(shí)驗(yàn)二所示的記錄。2、主鍵約束(1)使用ALTERTABLE設(shè)置主鍵,約束名:PK_SNOCNO①創(chuàng)建表SC1,結(jié)構(gòu)如下:snovarchar(12)cnovarchar(3)gradenumber(3)②用命令A(yù)LTERTABLE設(shè)置(SNO,CNO)為主鍵,約束名為PK_SNOCNO③數(shù)據(jù)驗(yàn)證,插入一條記錄指定SNO,CNO為NULL進(jìn)行數(shù)據(jù)驗(yàn)證。(2)分別設(shè)計(jì)一個(gè)Student、Course表的主鍵屬性為NULL和主鍵值重復(fù)的驗(yàn)證記錄。3、UNIQUE約束(1)用CREATETABLE創(chuàng)建表STUDENT2,并設(shè)置sname為唯一約束,結(jié)構(gòu)如下:snovarchar(12)主鍵snamevarchar(8)UNIQUEsagenumber(3)Ssexvarchar(2)Sdeptvarchar(20)插入兩條記錄指定Sname為重復(fù)的值,進(jìn)行UNIQUE數(shù)據(jù)驗(yàn)證。(2)使用ALTERTABLE設(shè)置UNIQUE約束=1\*GB3①使用ALTERTABLE設(shè)置STUDENT的SNAME為UNIQUE約束,約束名為:UQ_SN=2\*GB3②數(shù)據(jù)驗(yàn)證插入一條記錄指定Sname為重復(fù)的值,進(jìn)行UNIQUE數(shù)據(jù)驗(yàn)證。③刪除約束:UQ_SN4、設(shè)置NOTNULL約束(1)用CREATETABLE創(chuàng)建表STUDENT3,并設(shè)置sname為非空約束,結(jié)構(gòu)如下:snovarchar(12)主鍵snamevarchar(8)NOTNULLsagenumber(3)Ssexvarchar(2)Sdeptvarchar(20)插入一條條記錄指定Sname為NULL,進(jìn)行NOTNULL約束數(shù)據(jù)驗(yàn)證(2)使用ALTERTABLE設(shè)置NOTNULL約束①使用ALTERTABLE設(shè)置STUDENT3表中SDEPT為NOTNULL約束,約束名為:SDNL②數(shù)據(jù)驗(yàn)證插入一條記錄指定Sdept為NULL,進(jìn)行NULL數(shù)據(jù)驗(yàn)證。③刪除約束:SDNL5、設(shè)置CHECK約束(1)用CREATETABLE創(chuàng)建表STUDENT4,并設(shè)置sage的檢查條件:SAGE<=70ANDSAGE>=18,結(jié)構(gòu)如下:snovarchar(12)主鍵snamevarchar(8)sagenumber(3)Ssexvarchar(2)Sdeptvarchar(20)進(jìn)行數(shù)據(jù)驗(yàn)證CHECK約束插入一條記錄指定Sage為18-70之外的值,進(jìn)行CHECK數(shù)據(jù)驗(yàn)證。(2)使用ALTERTABLE設(shè)置CHECK約束①使用ALTERTABLE設(shè)置SC表中GRADE檢查條件:GRADE<=100ANDGRADE>=0,約束名為:SCCK②數(shù)據(jù)驗(yàn)證插入一條記錄指定Grade為0-100之外的值,進(jìn)行CHECK數(shù)據(jù)驗(yàn)證。③刪除約束:SCCK(3)設(shè)置student的檢查約束,約束的名稱為sexchk,條件:性別只能為男和女。仿照上面并設(shè)計(jì)一個(gè)數(shù)據(jù)驗(yàn)證記錄。6、設(shè)置FOREIGNKEY約束(1)CREATETABLE設(shè)置FOREIGNKEY約束,執(zhí)行如下命令:=1\*GB3①createtableZY(zyhchar(2)primarykey,zymchar(20));=2\*GB3②createtableXSZY(xhchar(10)PRIMARYKEY,xmchar(8),nlnumber(3),zyhchar(2)constraintcon_xszreferenceszy(zyh))=3\*GB3③向ZY表和XSZY表插入如下記錄:=4\*GB3④數(shù)據(jù)驗(yàn)證:在XSZY中插入外鍵值在ZY主鍵值(ZYH)中不存在的記錄:INSERTINTOXSZYVALUES(‘004’,’趙六’,19,‘04’);?在XSZY中修改外鍵值在ZY主鍵值(ZYH)中不存在的記錄:UPDATEXSZYSETZYH=’07’WHEREXH=’001’;?=5\*GB3⑤刪除約束con_xsz(2)使用ALTERTABLE設(shè)置FOREIGNKEY約束=1\*GB3①檢查STUDENT表和SC表主鍵-外鍵數(shù)據(jù)是否有沖突SELECT*FROMSTUDENTSELECT*FROMSC=2\*GB3②設(shè)置SC的Sno為外鍵,該外鍵參照Student的主鍵(Sno),約束名位fksno1。=3\*GB3③數(shù)據(jù)驗(yàn)證刪除主表的記錄(從表有對(duì)應(yīng)的記錄):修改主表的記錄(從表有對(duì)應(yīng)的記錄):修改子表的記錄(主表沒有對(duì)應(yīng)的記錄):刪除子表的記錄(主表有對(duì)應(yīng)的記錄):=4\*GB3④查看數(shù)據(jù),執(zhí)行如下命令,查看規(guī)則是否起作用:SELECT*FROMSTUDENTSELECT*FROMSC⑤回滾數(shù)據(jù):ROLLBACK⑥刪除約束FKSNO1:(3)使用ALTERTABLE設(shè)置FOREIGNKEY約束:ONDELETE規(guī)則①檢查STUDENT表和SC表主鍵-外鍵數(shù)據(jù)是否有沖突SELECT*FROMSTUDENTSELECT*FROMSC②設(shè)置SC的Sno為外鍵,該外鍵參照Student的主鍵(Sno),約束名位fksno2,約束規(guī)則為:ONDELETE。③數(shù)據(jù)驗(yàn)證刪除主表的記錄(從表有對(duì)應(yīng)的記錄):修改主表的記錄(從表有對(duì)應(yīng)的記錄):修改子表的記錄(主表沒有對(duì)應(yīng)的記錄):刪除子表的記錄(主表有對(duì)應(yīng)的記錄):④查看數(shù)據(jù),執(zhí)行如下命令,查看規(guī)則是否起作用:SELECT*FROMSTUDENTSELECT*FROMSC⑤刪除約束FKSNO2:(4)使用ALTERTABLE設(shè)置FOREIGNKEY約束:ONDELETESETNULL規(guī)則=1\*GB3①檢查ZY和XSZY數(shù)據(jù)是否有沖突SELECT*FORMZYSELECT*FROMXSZY=2\*GB3②設(shè)置XSZY的ZYH為外鍵,該外鍵參照ZY的主鍵(ZYH),約束名位FKZYSNULL,約束規(guī)則為:SETNULL。=3\*GB3③數(shù)據(jù)驗(yàn)證:DELETEFROMzyWHEREzyh=‘02’=4\*GB3④查看數(shù)據(jù),執(zhí)行如下命令,查看規(guī)則是否起作用:SELECT*FROMZY;SELECT*FROMXSZY;⑤刪除約束FKZYSNULL;(5)設(shè)置SC表和course表的參照關(guān)系,參照規(guī)則為:ONDELETECASCADE,約束的名稱為SCCO_FK。提示:設(shè)置之前一定要查看SC表和course表的數(shù)據(jù)是否有沖突。7、刪除STUDENT、SC所有約束,如果已刪除則忽略四、實(shí)驗(yàn)報(bào)告要求
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年城市智能停車系統(tǒng)投資與融資策略建議
- 2025年藝術(shù)市場(chǎng)數(shù)字化交易平臺(tái)藝術(shù)衍生品市場(chǎng)研究報(bào)告
- 2025年工程經(jīng)濟(jì)實(shí)戰(zhàn)挑戰(zhàn)題目試題及答案
- 工程項(xiàng)目管理的職業(yè)道德與考核標(biāo)準(zhǔn)試題及答案
- 自考行政管理科技應(yīng)用展望試題及答案
- 經(jīng)濟(jì)現(xiàn)象背后的理論邏輯試題及答案
- 2025年經(jīng)濟(jì)法考情預(yù)覽試題及答案
- 2025智慧景區(qū)智慧景區(qū)文創(chuàng)產(chǎn)品開發(fā)實(shí)施方案報(bào)告
- 高層火災(zāi)應(yīng)急預(yù)案(3篇)
- 公共關(guān)系學(xué)的聲譽(yù)管理與公眾信任關(guān)系探討及試題及答案
- AI在金融行業(yè)的應(yīng)用
- 護(hù)理研究框架圖解
- 2023-2023小升初語文文言文閱讀試題50篇及答案
- fakra線束生產(chǎn)工藝
- 電感式位移傳感器
- 2024奧數(shù)競賽6年級(jí)培訓(xùn)題-答案版
- 房屋租賃的法律風(fēng)險(xiǎn)與防范培訓(xùn)
- 為成果而管理
- 如何正確選擇和使用運(yùn)動(dòng)護(hù)具
- 武術(shù)禮儀:抱拳禮、手型、步型
- 大學(xué)生心理教育的社會(huì)支持與合作
評(píng)論
0/150
提交評(píng)論