版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、實(shí)驗(yàn)一:數(shù)據(jù)定義及更新語(yǔ)句練習(xí)一實(shí)驗(yàn)?zāi)康模菏炀氄莆沼肧QL語(yǔ)句實(shí)現(xiàn)數(shù)據(jù)庫(kù)和基本表的創(chuàng)建、數(shù)據(jù)的更新。二實(shí)驗(yàn)內(nèi)容:(一)用SQL語(yǔ)句建立如下 mySPJ數(shù)據(jù)庫(kù),包括 S, P, J,和SPJ四個(gè)基本表(教材第二章習(xí)題 5 中的四個(gè)表),要求實(shí)現(xiàn)關(guān)系的三類完整性。S(SNO,SNAME,STA TUS,CITY);P(PNO,PNAME,COLOR,WEIGHT);J(JNO,JNAME,CITY);SPJ(SNO,PNO,JNO,QTY)供應(yīng)商表S由供應(yīng)商代碼(SNO、供應(yīng)商姓名(SNAME、供應(yīng)商狀態(tài)(STATUS、供應(yīng) 商所在城市(CITY)組成。零件表P由零件代碼(PN。、零件名(PNAM
2、E、顏色(COLOR、重量(WEIGHT組成。工程項(xiàng)目表J 由工程項(xiàng)目代碼( JNO) 、 工程項(xiàng)目名( JNAME) 、 工程項(xiàng)目所在城市( CITY)組成。供應(yīng)情況表SPJ由供應(yīng)商代碼(SNO、零件代碼(PNO、工程項(xiàng)目代碼(JNQ、供應(yīng)數(shù) 量(QTY組成,表示某供應(yīng)商供應(yīng)某種零件 給某工程項(xiàng)目的數(shù)量為QTY(二)在數(shù)據(jù)庫(kù) mySPJ中建立S, P, J,和SPJ四個(gè)基本表:按照實(shí)驗(yàn)內(nèi)容給出的基本表結(jié)構(gòu)在查詢分析器窗口中書寫SQL 語(yǔ)句分別建立各表,并設(shè)置主鍵和外鍵約束;三完成情況USE masterGOCREATE DATABASE myspjON( NAME = TEXTS_dat ,
3、FILENAME = 數(shù)據(jù)庫(kù)實(shí)驗(yàn)myspjdat.mdf' ,SIZE = 10 ,MAXSIZE = 50 ,FILEGROWTH = 5 )LOG ON( NAME = 'TEXTS_log' ,FILENAME = 數(shù)據(jù)庫(kù)實(shí)驗(yàn)myspjlog.ldf' ,SIZE = 5 MB,MAXSIZE = 25 MB,FILEGROWTH = 5 MB )bGO create table s(sno char ( 9) primary key , sname char ( 20), statuint ,citychar ( 20 ),);create table
4、p(pno char ( 9) primary key , pname char ( 20), color char ( 20), weigh int ,);create table j(jno char ( 9) primary key , jname char ( 20), city char ( 20 ),);create (tablespjsno char pno char jno char qty int primary foreign( 9),( 9),( 9),key ( sno , pno , jno ), key ( sno ) referencess( sno ),fore
5、ignkey( pno ) referencesp( pno ),foreign);key( jno ) referencesj ( jno ),1. 利用Insert語(yǔ)句將習(xí)題中給出的示例記錄插入各表。insertinto svalues ( 's1' ,' 精益 ' , '20' , '天津 ' );insertinto svalues ( 's2' ,' 盛錫 ' , '10' , '北京 ' );insertinto svalues( 's3'
6、, ' 東方紅', '30' , ' 北京 ' );insertintosvalues( 's4', ' 豐泰盛', '20' , ' 天津 ' );insertintosvalues( 's5', ' 為民 ' , '30' , ' 上海 ' );insertintopvalues( 'p1', ' 螺母 ' , '紅 ' , '12' );inserti
7、ntopvalues( 'p2', ' 螺栓 ' , '綠 ' , '17' );insertintopvalues( 'p3', ' 螺絲刀', ' 藍(lán) ' , '14' );insertintopvalues( 'p4', ' 螺絲刀', ' 紅 ' , '14' );insertintopvalues( 'p5', ' 凸輪 ' , '藍(lán) ' ,
8、39;40' );insertintopvalues( 'p6', ' 齒輪 ' , '紅 ' , '30' );insertintojvalues( 'j1', ' 三建 ' , '北京 ' );insertintojvalues( 'j2', ' 一汽 ' , '長(zhǎng)春 ' );insertintojvalues( 'j3', ' 彈簧廠', ' 天津 ' );insertint
9、ojvalues( 'j4', ' 造船廠', ' 天津 ' );insertintojvalues( 'j5', ' 機(jī)車廠', ' 唐山 ' );insertintojvalues( 'j6', ' 無(wú)線電廠' , ' 常州 ' );insertintojvalues( 'j7', ' 半導(dǎo)體廠', ' 南京 ' );insertintospjvalues( 's1', 'p1
10、', 'j1', '200' );insertintospjvalues( 's1', 'p1', 'j3', '100' );insertintospjvalues( 's1', 'p1', 'j4', '700' );insertintospjvalues( 's1', 'p2', 'j2', '100' );insertintospjvalues( '
11、s2', 'p31', 'j1', '400'insertintospjvalues( 's2', 'p3', 'j2', '200' );insertintospjvalues( 's2', 'p3', 'j4', '500' );insertintospjvalues( 's2', 'p3', 'j5', '400' );insertintosp
12、jvalues( 's2', 'p5', 'j1', '400' );insertintospjvalues( 's2', 'p5', 'j2', '100' );insertintospjvalues( 's3', 'p1', 'j1', '200' );insertintospjvalues( 's3', 'p3', 'j1', '200'
13、; );insertintospjvalues( 's4', 'p5', 'j1', '100' );insertintospjvalues( 's4', 'p6', 'j3', '300' );insertinto spj values ( 's4 insertinto spjvalues ( 's5 insertinto spj values ( 's5 insertinto spjvalues ( 's5, 'p6'
14、; , 'j4', 'p2' , 'j4', 'p3' , 'j1', 'p6' , 'j2', '200' );, '100' );, '200' );, '200' );2. 利用 Update 更新表中的記錄:1 將 p 表中的所有紅色零件的重量增加5。update pset weigh =weigh +5 where color =' 紅 ' ;2將spj表中所有天津供應(yīng)商的QTY屬性值減少10。
15、用子查詢。并記錄在實(shí)驗(yàn)報(bào)告中。update spjset qty =qty - 10where sno in(select snofrom swhere city =' 天津 ');3. 利用 Delete 語(yǔ)句刪除p 表中的所有紅色零件的記錄。deletefrom pwhere color =' 紅 ' ;思考題(1) 在為各表設(shè)定關(guān)鍵字時(shí)彈出的頁(yè)面中有關(guān)鍵字和索引選項(xiàng),試通過(guò)給基本表設(shè)定這兩個(gè)項(xiàng)目并說(shuō)明二者的區(qū)別。答 : 關(guān)鍵字受主鍵影響,而索引不受主鍵影響(2) 在基本表中輸入數(shù)據(jù)時(shí),注意數(shù)據(jù)與字段的數(shù)據(jù)類型和長(zhǎng)度以及能否為空的屬性 是否一致,保存時(shí)如有錯(cuò)
16、誤分析錯(cuò)誤原因,及時(shí)改正并將錯(cuò)誤報(bào)告寫在實(shí)驗(yàn)報(bào)告中。七實(shí)驗(yàn)總結(jié):心得體會(huì),建議等。答: 從這次實(shí)驗(yàn)中我明白一個(gè)道理:細(xì)節(jié)決定成敗,尤其是要注意sql 語(yǔ)言與 c 語(yǔ)言的差別。實(shí)驗(yàn)二:簡(jiǎn)單查詢和連接查詢一實(shí)驗(yàn)?zāi)康模菏炀氄莆沼肧QL語(yǔ)句實(shí)現(xiàn)的簡(jiǎn)單查詢和多個(gè)數(shù)據(jù)表連接查詢。二實(shí)驗(yàn)內(nèi)容:( 一 ) 完成下面的簡(jiǎn)單查詢:查詢所有“天津”的供應(yīng)商明細(xì);查詢所有“紅色”的 14公斤以上的零件。查詢工程名稱中含有“廠”字的工程明細(xì)。( 二 ) 完成下面的連接查詢:等值連接:求s表和j表的相同城市的等值連接。自然連接:查詢所有的供應(yīng)明細(xì),要求顯示供應(yīng)商、零件和工程的名稱, 并按照供應(yīng)、工程、零件排序。笛卡爾積:
17、求s和p表的笛卡爾積左連接:求j表和spj表的左連接。右連接:求spj表和j表的右連接。三完成情況( 三 ) 完成下面的簡(jiǎn)單查詢:詢所有“天津”的供應(yīng)商明細(xì);select *from swhere city =' 天津 ' ;查詢所有“紅色”的 14公斤以上的零件。select pnofrom pwherecolor =' 紅 ' and weigh >14 ;查詢工程名稱中含有“廠”字的工程明細(xì)。select *from j where jname like '% 廠 ' ;( 四 ) 完成下面的連接查詢:值連接:求s表和j表的相同城市的
18、等值連接。selects.*, j .*from s , jwhere s . city =j . city ;自然連接:查詢所有的供應(yīng)明細(xì),要求顯示供應(yīng)商、零件和工程的名稱,并按照供應(yīng)、工程、零件排序。select s . sname , p. pname , j . jname from s , p, j , spjwhere s . sno =spj . sno and p. pno =spj . pno and j . jno =spj . jno ;笛卡爾積:求s和p表的笛卡爾select *from s , p左連接:求j表和spj表的左連接。select j .*, sno ,
19、pno , qtyfrom j left outer join spj on ( j . jno =spj . jno );右連接:求spj表和j表的右連接。select j .*, sno , pno , qty from spj right outer join j on ( j . jno =spj . jno );回答思考題提出的問(wèn)題,查看實(shí)驗(yàn)內(nèi)容2 中左連接和右連接的執(zhí)行結(jié)果是否一致,為什么?答:不一樣,左連接是輸出第一個(gè)表的全部,二右連接是輸出第二個(gè)表的全部。七實(shí)驗(yàn)總結(jié):心得體會(huì),建議等。答: 從這次實(shí)驗(yàn)中我明白一個(gè)道理:細(xì)節(jié)決定成敗,尤其是要注意sql 語(yǔ)言與 c 語(yǔ)言的差別。實(shí)
20、驗(yàn)三:分組查詢和嵌套查詢一、實(shí)驗(yàn)?zāi)康模菏炀氄莆沼肧QL語(yǔ)句實(shí)現(xiàn)多個(gè)數(shù)據(jù)表的分組查詢和嵌套查詢。二、實(shí)驗(yàn)內(nèi)容:完成下面的查詢:(一 ) 完成下面的查詢:1、分組查詢: 求各種顏色零件的平均重量。select color,AVG (weigh)weight from pgroup by color; 求北京供應(yīng)商和天津供應(yīng)商的總個(gè)數(shù)。select COUNT (city)個(gè)數(shù)from swhere city ='北京'or city='天津' 求各供應(yīng)商供應(yīng)的零件總數(shù)。select sno,sum(qty)數(shù) 目from spjgroup by snoorder b
21、y 數(shù)目 asc; 求各供應(yīng)商供應(yīng)給各工程的零件總數(shù)。select sno,jno,sum(qty )數(shù) 目 from spjgroup by sno,jno; 求使用了100 個(gè)以上 P1 零件的工程名稱。select jnamefrom jwhere jno in(select jno from spjwhere pno='p1' and qty>100); 求各工程使用的各城市供應(yīng)的零件總數(shù)。select jnamefrom jwhere jno in(select jnofrom spjwhere pno='p1' and qty>100);
22、嵌套查詢:1. in 連接謂詞查詢: 查詢沒有使用天津供應(yīng)商供應(yīng)的紅色零件的工程名稱。select jnamefrom jwhere jno not in(select jnofrom s,p,spjwhere spj. sno=s. sno andspj.pno=p.pno andp.color='紅'ands.city='天津') 查詢供應(yīng)了1000 個(gè)以上零件的供應(yīng)商名稱。(having)select snamefrom swhere sno in(select snofrom spjgroup by snohaving SUM (qty)>1000
23、)2. 比較運(yùn)算符:求重量大于所有零件平均重量的零件名稱。select pnamefrom pwhere weigh>(selectAVG(weigh)from p3. )Exists 連接謂詞: 查詢供應(yīng)J1 的所有的零件都是紅色的供應(yīng)商名稱。select snamefrom swhere exists(select *from p,spjwhere p.pno=spj.pno andspj .sno=s.snoandjno='j1'andcolor='紅'); 至少用了供應(yīng)商S1 所供應(yīng)的全部零件的工程號(hào)JNO。實(shí)驗(yàn)五:觸發(fā)器和存儲(chǔ)過(guò)程一、實(shí)驗(yàn)報(bào)告要求
24、:(一)實(shí)驗(yàn)?zāi)康模豪斫庥|發(fā)器和存儲(chǔ)過(guò)程的含義,掌握用SQL語(yǔ)句實(shí)現(xiàn)觸發(fā)器和存儲(chǔ)過(guò)程的編寫,并初步掌握什么情況下使用事務(wù)。(二 )實(shí)驗(yàn)內(nèi)容:有一個(gè)小型的圖書管理數(shù)據(jù)庫(kù),包含的表為:bookstore ( bookid , bookname, bookauthor , purchasedate , state ) ; - 圖書庫(kù)存表borrowcard ( cardid , ownername) ; - 借書證表borrowlog ( cardid , bookid , borrowdate , returndate ) ; - 借書記錄表寫一個(gè)存儲(chǔ)過(guò)程,實(shí)現(xiàn)借書操作,要求有事務(wù)處理。( 1)讀者
25、借書,要先設(shè)置書籍不在庫(kù)標(biāo)志state (借出),然后增加借書記錄,在同一事務(wù)中完成。(2)要求在事務(wù)執(zhí)行過(guò)程中引入錯(cuò)誤觸發(fā)事件,以此體會(huì)事務(wù)的錯(cuò)誤保護(hù)機(jī)制和事務(wù)編程的作用。( 3)要求用觸發(fā)器實(shí)現(xiàn)表的完整性控制。(三)完成情況(附上設(shè)計(jì)的SQL語(yǔ)句)。建立數(shù)據(jù)庫(kù):createdatabasebookstoruse bookstorcreate table bookstore(bookid int,bookname char(20),bookauthor char(20),purchasedate char(20),statchar(6),primary key(bookid),Check(s
26、tatin('在庫(kù):'不在庫(kù)),);create table borrowcard(cardid int primary key,ownername char(20),);create table borrowlog(cardid int,bookid int,borrowdate char(20),returndate char(20),primary key(cardid,bookid ),foreign key(cardid)references borrowcard (cardid),foreign key(bookid )references bookstore(bookid ),);存儲(chǔ)過(guò)程:create proc
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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個(gè)人的汽車抵押借款合同范本參考
- 2024個(gè)人對(duì)公司借款合同常用范本
- 鹽城師范學(xué)院《信息化審計(jì)技能訓(xùn)練》2022-2023學(xué)年第一學(xué)期期末試卷
- 2024旅店服務(wù)合同糾紛
- 人教版四年級(jí)上冊(cè)數(shù)學(xué)第六單元《除數(shù)是兩位數(shù)的除法》測(cè)試卷含答案【b卷】
- 2024工程吊籃租賃合同模板
- 年產(chǎn)3000噸玻璃纖維制品項(xiàng)目環(huán)評(píng)報(bào)告表
- 2024電視機(jī)購(gòu)銷合同
- 鹽城師范學(xué)院《曲式與作品分析》2021-2022學(xué)年第一學(xué)期期末試卷
- 2024快遞加盟合同協(xié)議模板
- 設(shè)備維修保養(yǎng)人員專業(yè)素質(zhì)培養(yǎng)
- 27《一個(gè)粗瓷大碗》(教學(xué)設(shè)計(jì))統(tǒng)編版語(yǔ)文三年級(jí)上冊(cè)
- 學(xué)前兒童聽說(shuō)游戲活動(dòng)(學(xué)前兒童語(yǔ)言教育活動(dòng)課件)
- 環(huán)境藝術(shù)設(shè)計(jì)發(fā)展現(xiàn)狀分析報(bào)告
- 培訓(xùn)機(jī)構(gòu)校長(zhǎng)競(jìng)聘
- 企業(yè)微信指導(dǎo)手冊(cè)管理員版
- 2024年公路交通運(yùn)輸技能考試-公交車筆試參考題庫(kù)含答案
- 孫子兵法中的思維智慧智慧樹知到期末考試答案2024年
- 監(jiān)控維保服務(wù)方案
- 臨床試驗(yàn)方案偏離處理流程
- 乳腺癌一病一品
評(píng)論
0/150
提交評(píng)論