版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、2數(shù)據(jù)更新實(shí)驗(yàn)、實(shí)驗(yàn)的:(1)理解和掌握數(shù)據(jù)庫更新操作,能夠使SQL語句對(duì)數(shù)據(jù)庫進(jìn)數(shù)據(jù)的插、修改、刪除操作。(2)掌握SQL語句常見語法錯(cuò)誤的調(diào)試法。、實(shí)驗(yàn)內(nèi)容:按照下列要求操作,并截取相應(yīng)的結(jié)果圖1、教材79-80頁三張表student、course、sc中數(shù)據(jù)輸由于學(xué)的學(xué)號(hào)收到完整性約束,Sno為主碼,所以Sno的值唯,不可重復(fù)。在實(shí)際操作時(shí)學(xué)號(hào)為201215120重復(fù),出現(xiàn)了以下錯(cuò)誤提:改正后輸出的表為:Course表為:SC表為:2、按照教材3.5數(shù)據(jù)更新中例3.69例3.78的要求操作3.5.1 插數(shù)據(jù)1.插元組【例3.69】 將個(gè)新學(xué)元組(學(xué)號(hào):201215128,姓名:秦可卿,性
2、別:,所在系:IS,年齡18歲)插到student表中。在student表的定義中,屬性列的順序是Sno,Sname,Ssex,Sdept,Sage。新增的屬性列的順序可以與表定義中的順序不樣,如Sno,Sname,Ssex,Sage,Sdept。但值應(yīng)該要與新增屬性列相對(duì)應(yīng)。 student表插前:插語句:插后:【例3.70】將學(xué)史湘云的信息插到student表中插語句:into句中只指出了表名,沒有指出屬性名,這表新元組要在表的所有屬性列上都指定值,且屬性列的次序與表定義中的次序相同。 插前:插后:【例3.71】插條選課記錄(201215128,1)。插語句為:關(guān)系數(shù)據(jù)庫管理系統(tǒng)將在新插記
3、錄的Grade列上動(dòng)的賦空值。 插前:插后,學(xué)號(hào)為201215128的成績(jī)?yōu)閚ull:也可以下的插語句:因?yàn)闆]有指出SC的屬性名,在Grade列上要明確給出空值。 插后,學(xué)號(hào)為201215126的元組與學(xué)號(hào)為201215128的元組類似。2.插查詢結(jié)果【例3.72】對(duì)每個(gè)系,求學(xué)的平均年齡,并把結(jié)果存數(shù)據(jù)庫先在數(shù)據(jù)庫中建個(gè)新表,其中列存放系名,另列存放相應(yīng)的學(xué)的平均年齡。代碼如下:執(zhí)結(jié)果為:然后對(duì)student表按系分組求平均年齡,再把系名和平均年齡存新表中。代碼如下:執(zhí)結(jié)果為:關(guān)系數(shù)據(jù)庫管理系統(tǒng)在執(zhí)插語句時(shí),會(huì)檢查所插元組是否破壞表上已定義的完整性規(guī)則。3.5.2 修改數(shù)據(jù)1.修改某個(gè)元組的
4、值【例3.73】將學(xué)201215121的年齡改為22歲。代碼為:修改的元組需滿WHERE句的條件,即學(xué)的學(xué)號(hào)為201215121。 SET句給出的表達(dá)式的值于取代相應(yīng)的屬性列值,即年齡22歲取代17歲。 修改前:修改后:2.修改多個(gè)元組的值【例3.74】將所有學(xué)的年齡增加1歲。代碼為:此代碼省略了where句,表要修改表中的所有元組。 修改前:修改后:3.帶查詢的修改語句【例3.75】將計(jì)算機(jī)科學(xué)系全體學(xué)的成績(jī)置零。代碼為:查詢語句也可嵌套在UPDATE語句中,以構(gòu)造修改的條件。 從學(xué)表中找出系為CS的學(xué)的學(xué)號(hào),在到SC表中找到滿學(xué)號(hào)的元組,將元組中的Grade置為0。系為CS的學(xué)的學(xué)號(hào)為20
5、1215120、201215121、201215126 修改前SC表:修改后SC表:3.5.3刪除數(shù)據(jù)【例3.76】刪除學(xué)號(hào)為201215128的學(xué)記錄。刪除語句為:delete語句的功能是從指定表中刪除滿where句條件的所有元組。 但直接刪除會(huì)出現(xiàn)如下錯(cuò)誤提:是因?yàn)閯h除操作破壞了參照完整性,所以要先把其他信息刪除。 刪除前:刪除后:2.刪除多個(gè)元組的值【例3.77】刪除所有的學(xué)選課記錄。刪除語句為:此語句省略where句則表刪除表中全部元組,但表的定義仍在字典中。也就是說,delete語句刪除的是表中的數(shù)據(jù),不是關(guān)于表的定義。 刪除前:刪除后:3.帶查詢的刪除語句【例3.78】刪除計(jì)算機(jī)科
6、學(xué)系所有學(xué)的選課記錄。刪除語句為:查詢同樣也可以嵌套在delete語句中,以構(gòu)造執(zhí)刪除操作的條件。 在student表中,計(jì)算機(jī)科學(xué)系的學(xué)的學(xué)號(hào)分別為201215120、201215121和201215126。刪除前:刪除后:3.教材70頁習(xí)題6中SPJ數(shù)據(jù)庫的創(chuàng)建,并在該數(shù)據(jù)庫中創(chuàng)建S、P、J、SPJ四個(gè)表,再參照71頁各表的數(shù)據(jù)輸記錄供應(yīng)商表S代碼:供應(yīng)商表S執(zhí)結(jié)果:零件表P代碼:零件表P執(zhí)結(jié)果:程項(xiàng)表J代碼:程項(xiàng)表J執(zhí)結(jié)果:供應(yīng)情況表SPJ代碼:供應(yīng)情況表SPJ執(zhí)結(jié)果:4、分別建三個(gè)帶各種約束(PRIMARY KEY、FOREIGN KEY 、NOT NULL、UNIQUE、CHECK)
7、的表student1、course1、sc1,和不帶以上任何約束的表student2、course2、sc2,輸測(cè)試數(shù)據(jù),驗(yàn)證數(shù)據(jù)的完整性約束,并截取結(jié)果圖進(jìn)分析。PRIMARY KEY: 在student1表中,使Sno受到PRIMARY KEY的約束,代碼如下:在student1中插兩條元組,當(dāng)兩條元組的Sno同為201215120時(shí),執(zhí)會(huì)出現(xiàn)錯(cuò)誤警告:改為兩個(gè)不同的學(xué)號(hào)后,插成功:在student2表中,Sno不受任何約束,代碼如下:同樣插兩條學(xué)號(hào)相同的數(shù)據(jù)時(shí),可以成功插:UNIQUE:在student1表中,使Sname受到UNIQUE約束,即Sname必須取唯值,插以下語句:兩條元組
8、的Sname同為花襲,執(zhí)時(shí)出現(xiàn)錯(cuò)誤提:在student2表中,Sname不受到任何約束,插相同的語句,可以成功插:CHECK:在student1表中,Sage受到Sage15并且Sage20的約束。學(xué)號(hào)為201215126的同學(xué)的年齡為14歲,不在約束的范圍內(nèi),所以執(zhí)時(shí)會(huì)出現(xiàn)錯(cuò)誤提:同理,學(xué)號(hào)為201215128的同學(xué)的年齡為21歲,也不在約束范圍內(nèi),也會(huì)出現(xiàn)錯(cuò)誤提:在student2中,Sage不受CHECK的約束,所以在插年齡為14歲和21歲同學(xué)的信息時(shí),不會(huì)出現(xiàn)錯(cuò)誤提,可以插成功:NULL:在course1表中,Cname不能取空值,在插的元組Cname中值為null,執(zhí)時(shí)會(huì)出現(xiàn)錯(cuò)誤提:
9、FOREIGN KEY:表sc1的Sno和Cno是外碼:刪除student1中學(xué)號(hào)為201215120的學(xué)的信息時(shí),會(huì)出現(xiàn)錯(cuò)誤:同樣,在刪除course1中課程號(hào)為1的信息時(shí),也會(huì)出現(xiàn)錯(cuò)誤:在sc2表中,Sno和Cno不是外碼,在刪除student2中學(xué)號(hào)為201215120的學(xué)的信息時(shí),可成功刪除:但sc2表中學(xué)號(hào)為201215120的信息不因student2中信息的刪除缺少信息。但sc2表中學(xué)號(hào)為201215120的信息不因student2中信息的刪除缺少信息。同樣在course2中刪除課程號(hào)為1的信息時(shí),可成功刪除:sc2表不受影響:SQL代碼:( Sno char(9) PRIMARY
10、, 列級(jí)完整性約束條件,Sno是主碼*/Sname char(20) , /*Sname取唯值*/Ssex char(2),Sage SMALLINT,Sdept char(20);create table Course( Cno char(4) PRIMARY, 列級(jí)完整性約束條件,Cno是主碼*/Cname char(40) NOT NULL, 列級(jí)完整性約束條件,Cname不能取空值*/Cpno char(4),/*Cpno的含義是先修課*/Ccredit SMALLINT,FOREIGN KEY(Cpno) REFERENCESCourse(Cno)表級(jí)完整性約束條件,Cpno是外碼,
11、被參照表是Course,被參照列是Cno*/);insert into Coursevalues (1,5,4),(2,null,2),(3,1,4),(4,6,3),(5,7,4),(6,null,2),(7,6,4)select *from Coursecreate table SC(Sno char(9),Cno char(4),PRIMARY(Sno,Cno), /FOREIGN KEY(Sno) REFERENCESstudent(Sno),表級(jí)完整性約束條件,Sno是外碼,被參照表是student*/FOREIGN KEY(Cno) REFERENCESCourse(Cno)表級(jí)完
12、整性約束條件,Cno是外碼,被參照表是Course*/);insert into SCvalues (201215126,18,CS);insertupdate studentset Sage22where Sno=201215121;select from student;update Studentset SageSage1;update SCset Grade =0where Sno IN(Select Sno from student where Sdept=CS);SELECTFROM SCdelete from student where Sno=201215128;( Sno c
13、har(9) PRIMARY, 列級(jí)完整性約束條件,Sno是主碼*/Sname char(20) , /*Sname取唯值*/values (201215126,14,CS),(201215128,21,IS)( Cno char(4) PRIMARY, 列級(jí)完整性約束條件,Cno是主碼*/Cname char(40) NOT NULL, 列級(jí)完整性約束條件,Cname不能取空值*/Cpno char(4),/*Cpno的含義是先修課*/Ccredit SMALLINT,FOREIGN KEY(Cpno) REFERENCEScourse1(Cno)表級(jí)完整性約束條件,Cpno是外碼,被參照表
14、是course1,被參照列是Cno*/);select *from course1create table sc1(Sno char(9),Cno char(4),Grade SMALLINT,PRIMARY(Sno,Cno), /FOREIGN KEY(Sno) REFERENCESstudent1(Sno),表級(jí)完整性約束條件,Sno是外碼,被參照表是student*/FOREIGN KEY(Cno) REFERENCEScourse1(Cno)表級(jí)完整性約束條件,Cno是外碼,被參照表是Course*/);insertinto student2values (201215126,14,CS),(201215128,21,
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024版事業(yè)單位標(biāo)準(zhǔn)化勞動(dòng)協(xié)議
- 2024年簡(jiǎn)易離婚財(cái)產(chǎn)處理協(xié)議書
- 紙樂園班本課程設(shè)計(jì)
- 測(cè)控技術(shù)綜合課程設(shè)計(jì)
- 音樂幼兒歌曲課程設(shè)計(jì)
- 英語機(jī)構(gòu)導(dǎo)流課程設(shè)計(jì)
- 論文思維鍛煉課程設(shè)計(jì)
- 音樂課程設(shè)計(jì)特點(diǎn)
- 財(cái)稅基礎(chǔ)知識(shí)課程設(shè)計(jì)
- 車輛消防安全課程設(shè)計(jì)
- JJF(京) 3029-2023 醫(yī)用(硬性)內(nèi)窺鏡校準(zhǔn)規(guī)范
- 工業(yè)數(shù)字孿生要求
- 固體礦產(chǎn)資源儲(chǔ)量核實(shí)報(bào)告編寫規(guī)范2
- GB/T 44592-2024紅樹林生態(tài)保護(hù)修復(fù)技術(shù)規(guī)程
- 人教版(2024新版)七年級(jí)上冊(cè)生物期末復(fù)習(xí)全冊(cè)知識(shí)點(diǎn)提綱
- 期末達(dá)標(biāo)測(cè)試卷(二)(試卷)-2024-2025學(xué)年冀教版數(shù)學(xué)四年級(jí)上冊(cè)
- 2024-2030年中國(guó)干燥設(shè)備行業(yè)研發(fā)創(chuàng)新狀況及發(fā)展行情監(jiān)測(cè)報(bào)告
- GB/T 44413-2024城市軌道交通分類
- GB 19041-2024光氣及光氣化產(chǎn)品生產(chǎn)安全規(guī)范
- 拔除氣管導(dǎo)管的護(hù)理
- 2024年大學(xué)英語四六級(jí)考試大綱詞匯
評(píng)論
0/150
提交評(píng)論