數(shù)據(jù)庫(kù)試驗(yàn)上機(jī)答案解析整編中國(guó)石油大學(xué)龔安_第1頁(yè)
數(shù)據(jù)庫(kù)試驗(yàn)上機(jī)答案解析整編中國(guó)石油大學(xué)龔安_第2頁(yè)
數(shù)據(jù)庫(kù)試驗(yàn)上機(jī)答案解析整編中國(guó)石油大學(xué)龔安_第3頁(yè)
數(shù)據(jù)庫(kù)試驗(yàn)上機(jī)答案解析整編中國(guó)石油大學(xué)龔安_第4頁(yè)
數(shù)據(jù)庫(kù)試驗(yàn)上機(jī)答案解析整編中國(guó)石油大學(xué)龔安_第5頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余32頁(yè)可下載查看

下載本文檔

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

文檔簡(jiǎn)介

1、實(shí)驗(yàn)四SQL練習(xí)2一、實(shí)驗(yàn)?zāi)康? .掌握索引的建立、刪除及使用;2 .掌握單表查詢、連接查詢、嵌套查詢和集合查詢;3 .掌握插入數(shù)據(jù)、修改數(shù)據(jù)和刪除數(shù)據(jù)語(yǔ)句的非常用形式。二、實(shí)驗(yàn)學(xué)時(shí)2學(xué)時(shí)三、實(shí)驗(yàn)內(nèi)容1.利用QueryAnalyzer完成以下操作:在預(yù)算日期、結(jié)算日期和入賬日期上分別建立索引,并在查詢操作中體會(huì)索引的作用。在完成第2題的查詢操作后,刪除預(yù)算日期、結(jié)算日期和入賬日期上的索引。2 .利用QueryAnalyzer完成以下操作:采油一礦二隊(duì)2016-5-1至U2016-5-28有哪些項(xiàng)目完成了預(yù)算,列出相應(yīng)明細(xì)。采油一礦二隊(duì)2016-5-1至U2016-5-28有哪些項(xiàng)目完成了結(jié)算,

2、列出相應(yīng)明細(xì)。采油一礦二隊(duì)2016-5-1至U2016-5-28有哪些項(xiàng)目完成了結(jié)算,列出相應(yīng)的材料費(fèi)消耗明細(xì)。采油一礦二隊(duì)2016-5-1至U2016-5-28有哪些項(xiàng)目完成了入*賬,列出相應(yīng)明細(xì)。列出采油一礦二隊(duì)2016-5-1到2016-5-28總的預(yù)算金額。列出采油一礦二隊(duì)2016-5-1到2016-5-28總的結(jié)算金額。列出采油一礦二隊(duì)2016-5-1到2016-5-28總的入賬金額。列出采油一礦2016-5-1到2016-5-28總的入賬金額。有哪些人員參與了入賬操作。(10)列出2016-5-1到2016-5-28進(jìn)行了結(jié)算但未入賬的項(xiàng)目。(11)列出采油一礦二隊(duì)的所有項(xiàng)目,按入

3、賬金額從高到低排列。(12)列出有哪些施工單位實(shí)施了項(xiàng)目,并計(jì)算各單位所有項(xiàng)目結(jié)算金額總和。(13)找出消耗了材料三且消耗超過了2000元的項(xiàng)目,列出相應(yīng)消耗明細(xì)(利用子查詢)。(作業(yè)公司二隊(duì)參與了哪些項(xiàng)目。(15)作業(yè)公司一隊(duì)和二隊(duì)參與了哪些項(xiàng)目(利用union)。(16)采油一礦的油井是哪些作業(yè)隊(duì)參與施工的。3 .利用QueryAnalyzer完成以下操作:建立數(shù)據(jù)表(包含3個(gè)屬性列:施工單位、年月、結(jié)算金額)保存各個(gè)施工單位每月的結(jié)算金額總和。用子查詢將各個(gè)施工單位每月的結(jié)算金額總和插入到所建立的數(shù)據(jù)表中。用帶子查詢的修改語(yǔ)句將采油一礦油井作業(yè)項(xiàng)目的結(jié)算人改為“李兵”。用帶子查詢的刪除語(yǔ)

4、句刪除采油一礦油井作業(yè)項(xiàng)目。撤消上述兩個(gè)操作。四、實(shí)驗(yàn)報(bào)告提交實(shí)驗(yàn)內(nèi)容中用SQL語(yǔ)句完成的題目的SQL語(yǔ)句文檔及相應(yīng)的執(zhí)行結(jié)果。實(shí)驗(yàn)五SQL練習(xí)3一、實(shí)驗(yàn)?zāi)康? .掌握基本表的刪除與修改;2 .掌握實(shí)體完整性、參照完整性和用戶定義的完整性的定義、檢查和違約處理;3 .掌握視圖的定義、查詢和更新,了解視圖的作用。二、實(shí)驗(yàn)學(xué)時(shí)2學(xué)時(shí)三、實(shí)驗(yàn)內(nèi)容1 .利用QueryAnalyzer完成以下操作:向在實(shí)驗(yàn)四中所定義的數(shù)據(jù)表增加“備注”歹U,其數(shù)據(jù)類型為字符型,并查看新增列的值。對(duì)上述數(shù)據(jù)表增加主碼約束條件,并觀察在數(shù)據(jù)表中存在數(shù)據(jù)的情況下主碼約束是否創(chuàng)建成功,然后再次執(zhí)行實(shí)驗(yàn)四中實(shí)驗(yàn)內(nèi)容3.2的操作,

5、并觀察記錄執(zhí)行結(jié)果。刪除上述數(shù)據(jù)表中的數(shù)據(jù),然后再刪除該數(shù)據(jù)表,對(duì)這兩個(gè)操作進(jìn)行比較。2.利用QueryAnalyzer完成以下任務(wù):對(duì)實(shí)驗(yàn)三中所定義的6個(gè)數(shù)據(jù)表增加主碼約束條件,并觀察在數(shù)據(jù)表中存在數(shù)據(jù)的情況下主碼約束是否創(chuàng)建成功,然后執(zhí)行以下2個(gè)操作,觀察并記錄實(shí)體完整性的檢查和違約處理。 insertinto材料費(fèi)表values('zy2016001','wm004',100,10) insertinto材料費(fèi)表values('zy2016002',NULL,200,10)注:“材料費(fèi)表”根據(jù)自己所命名的表名進(jìn)行相應(yīng)的替換。對(duì)實(shí)驗(yàn)三中所定義

6、的6個(gè)數(shù)據(jù)表增加相應(yīng)的參照完整性約束,并觀察在數(shù)據(jù)表中存在數(shù)據(jù)的情況下參照完整性約束是否創(chuàng)建成功,然后執(zhí)行以下操作,觀察并記錄參照完整性的檢查和違約處理。將(y007油井112203002)插入到油水井表。 insertinto材料費(fèi)表values('zy2016007','wm006',100,10) 將作業(yè)項(xiàng)目編號(hào)zy2016001的施工單位修改為“作業(yè)公司作業(yè)五隊(duì)”。將單位代碼表中的(112202002采油二礦二隊(duì))刪除,查看油水井表和作業(yè)項(xiàng)目表中的數(shù)據(jù)有何變化。 將物碼表中的(wm004材料四袋)修改為(wm04材料四袋)。 撤銷上述成功的更新操作。注:

7、“材料費(fèi)表”根據(jù)自己所命名的表名進(jìn)行相應(yīng)的替換。對(duì)實(shí)驗(yàn)三中所定義的6個(gè)數(shù)據(jù)表按以下要求增加相應(yīng)的完整性約束條件,并觀察在數(shù)據(jù)表中存在數(shù)據(jù)的情況下完整性約束是否創(chuàng)建成功。* 單位代碼表的單位名稱不能取空值、且取值唯一。 油水井表的井別只允許取“油井”或“水井”,單位代碼不能取空值。 物碼表的名稱規(guī)格不能取空值、且取值唯一,計(jì)量單位不能取空值。材料費(fèi)表的消耗數(shù)量不能取空值,單價(jià)不能取空值。 對(duì)作業(yè)項(xiàng)目表根據(jù)實(shí)際應(yīng)用的要求定義適當(dāng)?shù)挠脩舳x的完整性約束條件。3.利用QueryAnalyzer完成以下操作:定義一個(gè)視圖,用于保存作業(yè)項(xiàng)目表和材料費(fèi)表的全部列。查詢上面定義的視圖,可任意組合查詢條件,構(gòu)造

8、出2個(gè)查詢。定義一個(gè)反映作業(yè)項(xiàng)目預(yù)算狀態(tài)的視圖,并向該視圖插入('zy2016008','112202002','y005',10000,'張三','2016-07-02'),查看作業(yè)項(xiàng)目表的數(shù)據(jù)有何變化。撤銷上述成功的更新操作。四、實(shí)驗(yàn)報(bào)告提交實(shí)驗(yàn)內(nèi)容中用SQL語(yǔ)句完成的題目的SQL語(yǔ)句文檔及相應(yīng)的執(zhí)行結(jié)果。實(shí)驗(yàn)六其它數(shù)據(jù)庫(kù)對(duì)象的管理一、實(shí)驗(yàn)?zāi)康? .掌握事務(wù)的概念、性質(zhì)、定義及使用;2 .掌握游標(biāo)的概念、組成、創(chuàng)建及使用;3 .掌握存儲(chǔ)過程的概念、類型、特點(diǎn)、創(chuàng)建、執(zhí)行及管理。4 .掌握觸發(fā)器的概念、創(chuàng)建、管理

9、及使用。二、實(shí)驗(yàn)學(xué)時(shí)2學(xué)時(shí)三、實(shí)驗(yàn)內(nèi)容1 .利用QueryAnalyzer進(jìn)行如下事務(wù)處理練習(xí)(把下列五條語(yǔ)句作為一個(gè)事務(wù)處理,只有五條語(yǔ)句全部成功執(zhí)行才做提交,并給出成功的提示信息;否則就做回退處理,并給出具體的錯(cuò)誤提示信息)insertinto作業(yè)項(xiàng)目表values('zy2016006','112202002','y005',10000,'張三','07-01-2016','07-04-2016','07-25-2016','作業(yè)公司作業(yè)一隊(duì),堵漏',7000,

10、2500,1000,1400,11900,'李四','07-26-2016',11900,'王五','07-28-2016')insertinto材料費(fèi)表values('zy2016006','wm001',200,10)insertinto材料費(fèi)表values('zy2016006','wm002',200,10)insertinto材料費(fèi)表values('zy2016006','wm003',200,10)insertinto材料費(fèi)

11、表values('zy2016006','wm004',100,10)注:“作業(yè)項(xiàng)目表”、“材料費(fèi)表”根據(jù)自己所命名的表名進(jìn)行相應(yīng)的替換。2 .利用QueryAnalyzer進(jìn)行如下游標(biāo)練習(xí):定義一個(gè)游標(biāo),用于存放作業(yè)項(xiàng)目表的全部行數(shù)據(jù),并打印以下表頭和各行數(shù)據(jù)。表頭:?jiǎn)螕?jù)號(hào)預(yù)算單位井號(hào)預(yù)算金額預(yù)算人預(yù)算日期開工日期完工日期施工單位施工內(nèi)容材料費(fèi)人工費(fèi)設(shè)備費(fèi)其它費(fèi)用結(jié)算金額結(jié)算人結(jié)算日期入賬金額入賬人入賬日期執(zhí)行以上所定義的游標(biāo),查看是否能正確輸出結(jié)果。3 .利用QueryAnalyzer定義一個(gè)存儲(chǔ)過程,要求完成以下功能:生成某單位(單位可以是采油廠或采油礦或

12、采油隊(duì))某段時(shí)間內(nèi)的成本運(yùn)行情況(輸入?yún)?shù):?jiǎn)挝淮a起始日期結(jié)束日期)。輸出格式*單位*時(shí)間-*時(shí)間成本運(yùn)行情況預(yù)算金額結(jié)算金額入賬金額未結(jié)算金額未入賬金額*其中:未必算金額=預(yù)算金額-結(jié)算金額未入賬金額=結(jié)算金額-入賬金額分三種情況(單位分別為:采油廠、采油礦、采油隊(duì))執(zhí)行以上定義的存儲(chǔ)過程,查看執(zhí)行輸出結(jié)果。4.利用QueryAnalyzer針對(duì)作業(yè)項(xiàng)目表定義三個(gè)觸發(fā)器,分別完成以下功能:對(duì)作業(yè)項(xiàng)目表插入一行數(shù)據(jù)時(shí),自動(dòng)計(jì)算并插入結(jié)算金額字段(結(jié)算金額=材料費(fèi)+人工費(fèi)+設(shè)備費(fèi)+其它費(fèi)用)。當(dāng)修改作業(yè)表的某行數(shù)據(jù)時(shí)自動(dòng)修改結(jié)算金額字段。當(dāng)刪除作業(yè)表中一行數(shù)據(jù)時(shí),自動(dòng)刪除材料費(fèi)表中相應(yīng)明細(xì)數(shù)據(jù)

13、。對(duì)上述3個(gè)觸發(fā)器用適當(dāng)?shù)母抡Z(yǔ)句進(jìn)行驗(yàn)證,并查看結(jié)果是否達(dá)到預(yù)期結(jié)果。四、實(shí)驗(yàn)報(bào)告提交實(shí)驗(yàn)內(nèi)容中用SQL語(yǔ)句完成的題目的SQL語(yǔ)句文檔及相應(yīng)的執(zhí)行結(jié)果。實(shí)驗(yàn)七安全機(jī)制2.利用QueryAnalyzer完成以下操作:建立采油一礦的作業(yè)項(xiàng)目的視圖,把該視圖的查詢權(quán)限授予給采油一礦的用戶userll,以u(píng)serll的身份查詢?cè)撘晥D,觀察執(zhí)行情況;再以其他用戶的身份查詢?cè)撘晥D,觀察執(zhí)行情況。創(chuàng)建一個(gè)用戶user12,以u(píng)ser12的身份執(zhí)行實(shí)驗(yàn)六中所定義的存儲(chǔ)過程,觀察記錄是否成功執(zhí)行;然后把該存儲(chǔ)過程的執(zhí)行權(quán)限授予給user12,再次以u(píng)ser12的身份執(zhí)行該存儲(chǔ)過程,觀察記錄是否成功執(zhí)行。定義觸

14、發(fā)器,實(shí)現(xiàn)只能在工作時(shí)間內(nèi)更新“作業(yè)項(xiàng)目表”的數(shù)據(jù),然后通過選擇不同的時(shí)間進(jìn)行適當(dāng)?shù)母虏僮鱽眚?yàn)證。-實(shí)驗(yàn)3CREATETABLE單位代碼表(單位彳碼CHAR(20),單位名稱CHAR(20);CREATETABLE油水井表(井號(hào)CHAR(20),井別CHAR(20),單位彳碼CHAR(20);CREATETABLE施工單位表(施工單位名稱CHAR(20);CREATETABLE物碼表(物碼CHAR(20),名稱規(guī)格CHAR(20),計(jì)量單位CHAR(20);createtable材料費(fèi)表(單據(jù)號(hào)CHAR(20),物碼CHAR(20),消耗數(shù)量INT,單彳介MONEY,);CREATETABL

15、E作業(yè)項(xiàng)目表(單據(jù)號(hào)CHAR(20),預(yù)算單位CHAR(20),井號(hào)CHAR(20),預(yù)算金額MONEY,預(yù)算人CHAR(20),預(yù)算日期DATETIME,開工日期DATETIME,完工日期DATETIME,施工單位CHAR(20),施工內(nèi)容CHAR(20),材料費(fèi)money,人工費(fèi)MONEY,設(shè)備費(fèi)MONEY,其他費(fèi)用money,結(jié)算金額MONEY,結(jié)算人CHAR(20),結(jié)算日期DATETIME,入賬金額MONEY,入賬人CHAR(10),入賬日期DATETIME)insertinto單位代碼表values('1122','采油廠');insertinto單

16、位代碼表values('112201','采油一礦');insertinto單位代碼表values('112202','采油二礦');insertinto單位代碼表values('112201001','采油一礦一隊(duì));insertinto單位代碼表values('112201002','采油一礦二隊(duì));insertinto單位代碼表values('112201003','采油一礦三隊(duì)');insertinto單位代碼表values('1122

17、02001','采油二礦一隊(duì)');insertinto油水井表values('y001','油井','112201001');insertinto油水井表values('y002',油井','112201001');insertinto油水井表values('y003',油井','112201002');insertinto油水井表values('s001','水井','112201002');i

18、nsertinto油水井表values('y004',油井','112201003');insertinto油水井表values('s002',水井','112202001');insertinto油水井表values('s003',水井','112202001');insertinto油水井表values('y005','油井','112202002');insertinto施工單位表values('作業(yè)公司作業(yè)一隊(duì)&

19、#39;);insertinto施工單位表values('作業(yè)公司作業(yè)二隊(duì)");insertinto施工單位表values('作業(yè)公司作業(yè)三隊(duì)");insertinto物碼表values('wm001','材料一','噸');insertinto物碼表values('wm002','材料二','米');insertinto物碼表values('wm003','材料三','桶');insertinto物碼表values

20、('wm004','材料四','袋');insertinto材料費(fèi)表(單據(jù)號(hào),物碼,消耗數(shù)量,單彳)values('zy2016001','wm001',200,¥10);insertinto材料費(fèi)表(單據(jù)號(hào),物碼,消耗數(shù)量,單彳)values('zy2016001','wm002',200,¥10);insertinto材料費(fèi)表(單據(jù)號(hào),物碼,消耗數(shù)量,單彳)values('zy2016001','wm003',200,¥

21、;10);insertinto材料費(fèi)表(單據(jù)號(hào),物碼,消耗數(shù)量,單彳)values('zy2016003','wm001',200,¥10);insertinto材料費(fèi)表(單據(jù)號(hào),物碼,消耗數(shù)量,單彳)values('zy2016003','wm002',200,¥10);insertinto材料費(fèi)表(單據(jù)號(hào),物碼,消耗數(shù)量,單彳)values('zy2016003','wm003',250,¥10);insertinto材料費(fèi)表(單據(jù)號(hào),物碼,消耗數(shù)量,單彳)valu

22、es('zy2016004','wm001',200,¥10);insertinto材料費(fèi)表(單據(jù)號(hào),物碼,消耗數(shù)量,單彳)values('zy2016004','wm002',200,¥10);insertinto材料費(fèi)表(單據(jù)號(hào),物碼,消耗數(shù)量,單彳)values('zy2016004','wm004',200,¥10);insertinto材料費(fèi)表(單據(jù)號(hào),物碼,消耗數(shù)量,單彳)values('zy2016005','wm001',

23、200,¥10);insertinto材料費(fèi)表(單據(jù)號(hào),物碼,消耗數(shù)量,單彳)values('zy2016005','wm002',200,¥10);insertinto材料費(fèi)表(單據(jù)號(hào),物碼,消耗數(shù)量,單彳)values('zy2016005','wm004',300,¥10);insertinto作業(yè)項(xiàng)目表values('zy2016001','112201001','y001',¥10000,'張三','2016/

24、5/1','2016/5/4','2016/5/23','作業(yè)公司作業(yè)一隊(duì)','堵漏',¥7000,¥2500,¥1000,¥1400,¥10900,'王五','2016/5/26',¥10900,'王五','2016/5/28');insertinto作業(yè)項(xiàng)目表values('zy2016003','112201002','s001',¥10

25、500,'張三','2016/5/1''2016/5/6','2016/5/23','作業(yè)公司作業(yè)二隊(duì)','調(diào)剖',¥6500,¥2000,¥500,¥1400,¥10400,'李四','2016/5/26',¥10400,'王五','2016/5/28');insertinto作業(yè)項(xiàng)目表values('zy2016004','112202001'

26、;,'s002',¥12000,'張三','2016/5/1','2016/5/4','2016/5/24','作業(yè)公司作業(yè)三隊(duì)','解堵',¥6000,¥2000,¥1000,¥1600,¥10600,'李四','2016/5/26',¥10600,'趙六','2016/5/28');insertinto作業(yè)項(xiàng)目表values('zy2016

27、005','112202002','y005',¥12000,'張三','2016/5/1','2016/5/4','2016/5/28','作業(yè)公司作業(yè)三隊(duì)','防砂',¥7000,¥1000,¥2000,¥1300,¥11300,'李四','2016/6/1',NULL,NULL,NULL);begintranupdate作業(yè)項(xiàng)目表set人工費(fèi)=人工費(fèi)+200whe

28、re單據(jù)號(hào)='zy2016005'update作業(yè)項(xiàng)目表set結(jié)算金額=結(jié)算金額+200where單據(jù)號(hào)='zy2016005'deletefrom作業(yè)項(xiàng)目表where入賬金額isNULL;rollbacktran-實(shí)驗(yàn)四-1createindex預(yù)算日期索引on作業(yè)項(xiàng)目表(預(yù)算日期);createindex結(jié)算日期索引on作業(yè)項(xiàng)目表(結(jié)算日期);createindex入賬日期索引on作業(yè)項(xiàng)目表(入賬日期);-select*from作業(yè)項(xiàng)目表where預(yù)算日期between'2016/5/1'and'2016/5/28'and預(yù)算

29、單位=(select單位代碼from單位代碼表where單位名稱='采油一礦二隊(duì)');-anothersolutionselect*from作業(yè)項(xiàng)目表,單位代碼表where單位彳碼=預(yù)算單位and單位名稱="采油一礦二隊(duì),and預(yù)算日期between'2016/5/1'and'2016/5/28'-(2)select*from作業(yè)項(xiàng)目表where結(jié)算日期between'2016/5/1'and'2016/5/28'and預(yù)算單位=(select單位代碼from單位代碼表where單位名稱='采油一

30、礦二隊(duì),);-anothersolution-select*-from作業(yè)項(xiàng)目表,單位代碼表-where單位名稱='采油一礦二隊(duì),and預(yù)算單位=單位彳碼and結(jié)算日期>='2016-5-1'and算日期<='2016-5-28'-(3)select*from材料費(fèi)表where單據(jù)號(hào)=(select單據(jù)號(hào)from作業(yè)項(xiàng)目表where預(yù)算日期between'2016/5/1'and'2016/5/28'and預(yù)算單位=(select單位代碼from單位代碼表where單位名稱='采油一礦二隊(duì));- -(4

31、)select*from作業(yè)項(xiàng)目表where入賬日期between'2016/5/1'and'2016/5/28'and預(yù)算單位=(select單位代碼from單位代碼表where單位名稱='采油一礦二隊(duì));- -(5)select,sum(預(yù)算金額)預(yù)算金額總和from作業(yè)項(xiàng)目表where預(yù)算日期between'2016/5/1'and'2016/5/28'and預(yù)算單位=(select單位代碼from單位代碼表where單位名稱='采油一礦二隊(duì)');- -(6)select,sum(結(jié)算金額)結(jié)算金額總

32、和from作業(yè)項(xiàng)目表where結(jié)算日期between'2016/5/1'and'2016/5/28'and預(yù)算單位=(select單位代碼from單位代碼表where單位名稱='采油一礦二隊(duì));- -(7)selectsum(入賬金額)入賬金額總和from作業(yè)項(xiàng)目表where入賬日期between'2016/5/1'and'2016/5/28'and預(yù)算單位=(select單位代碼from單位代碼表where單位名稱='采油一礦二隊(duì));- -(8)selectsum(入賬金額)采油一礦入賬金額總和from作業(yè)項(xiàng)目表

33、,單位代碼表where入賬日期between'2016/5/1'and'2016/5/28'and預(yù)算單位=單位彳碼and單位名稱like'采油一礦%,;-anothersolutionselectsum(入賬金額)入賬金額總和from作業(yè)項(xiàng)目表where入賬日期between'2016/5/1'and'2016/5/28'and預(yù)算單位in(select單位代碼from單位代碼表where單位名稱like'采油一礦%,);- -(9)selectdistinct入賬人from作業(yè)項(xiàng)目表where入賬人isnotn

34、ull;- -(10)select單據(jù)號(hào)from作業(yè)項(xiàng)目表where結(jié)算日期between'2016/5/1'and'2016/5/28'and結(jié)算金額isnotnulland入賬金額isnull;- -(11)select單據(jù)號(hào)from作業(yè)項(xiàng)目表where預(yù)算單位=(select單位代碼from單位代碼表where單位名稱='采油一礦二隊(duì),)orderby入賬金額desc;- -(12)select施工單位表.施工單位名稱,count(結(jié)算金額)項(xiàng)目個(gè)數(shù),sum(結(jié)算金額)結(jié)算金額總和from施工單位表leftjoin作業(yè)項(xiàng)目表on(施工單位表.施工單

35、位名稱=作業(yè)項(xiàng)目表.施工單位)groupby施工單位表.施工單位名稱;- -(13)select*from材料費(fèi)表where單據(jù)號(hào)=(select單據(jù)號(hào)from材料費(fèi)表where物碼=(select物碼from物碼表where名稱規(guī)格='材料三')and消耗數(shù)量*單價(jià)2000);- -(14)selectdistinct單據(jù)號(hào)from作業(yè)項(xiàng)目表where施工單位='作業(yè)公司作業(yè)二隊(duì);- -(15)selectdistinct單據(jù)號(hào)from作業(yè)項(xiàng)目表where施工單位='作業(yè)公司作業(yè)一隊(duì)'unionselectdistinct單據(jù)號(hào)from作業(yè)項(xiàng)目表whe

36、re施工單位='作業(yè)公司作業(yè)二隊(duì),;- -(16)selectdistinct施工單位from作業(yè)項(xiàng)目表,油水井表,單位代碼表where預(yù)算單位=單位代碼表.單位彳碼and單位代碼表.單位彳碼=油水井表.單位彳碼and單位名稱like'采油一礦'-anothersolutionselectdistinct施工單位from作業(yè)項(xiàng)目表where井號(hào)in(select井號(hào)from油水井表where單位代碼in(select單位代碼from單位代碼表where單位名稱like'采油一礦%,);dropindex預(yù)算日期索引on作業(yè)項(xiàng)目表dropindex結(jié)算日期索引on

37、作業(yè)項(xiàng)目表;dropindex入賬日期索引on作業(yè)項(xiàng)目表;-3-(1)createtable結(jié)算金額表(施工單位char(20),年月varchar(7),結(jié)算金額money);-(2)insertinto結(jié)算金額表select施工單位,convert(varchar(7),結(jié)算日期,111),sum(結(jié)算金額)from作業(yè)項(xiàng)目表groupby施工單位,convert(varchar(7),結(jié)算日期,111);-anothersolution-insert-into結(jié)算金額表-select施工單位,丫EAR(結(jié)算日期)*100+MONTH(結(jié)算日期),sum(結(jié)算金額)-from作業(yè)項(xiàng)目表-g

38、roupby施工單位,丫EAR(結(jié)算日期)*100+MONTH(結(jié)算日期);-(3)begintranupdate作業(yè)項(xiàng)目表set結(jié)算人='李兵where預(yù)算單位in(select單位代碼from單位代碼表where單位名稱like'采油一礦%,);-(4)deletefrom作業(yè)項(xiàng)目表where預(yù)算單位in(select單位代碼from單位代碼表where單位名稱like'采油一礦%,);rollback實(shí)驗(yàn)五一altertable結(jié)算金額表add備注char(20);select*from結(jié)算金額表-(2)altertable結(jié)算金額表altercolumn施工單位

39、char(20)notnull;altertable結(jié)算金額表altercolumn年月varchar(7)notnull;altertable結(jié)算金額表addprimarykey(施工單位,年月);TRUNCATETABLE結(jié)算金額表insertinto結(jié)算金額表(施工單位,年月,結(jié)算金額)select施工單位,convert(varchar(7),結(jié)算日期,111),sum(結(jié)算金額)from作業(yè)項(xiàng)目表groupby施工單位,convert(varchar(7),結(jié)算日期,111);deletefrom結(jié)算金額表;delete結(jié)算金額表;-2一altertable材料費(fèi)表altercolu

40、mn單據(jù)號(hào)char(20)notnull;altertable材料費(fèi)表altercolumn物碼char(20)notnull;altertable材料費(fèi)表addprimarykey(單據(jù)號(hào),物碼);altertable作業(yè)項(xiàng)目表altercolumn單據(jù)號(hào)char(20)notnull;altertable作業(yè)項(xiàng)目表addprimarykey(單據(jù)號(hào));altertable單位代碼表altercolumn單位彳碼char(20)notnull;altertable單位代碼表addprimarykey(單位代碼);altertable施工單位表altercolumn施工單位名稱char(20)

41、notnull;altertable施工單位表addprimarykey(施工單位名稱);altertable物碼表altercolumn物碼char(20)notnull;altertable物碼表addprimarykey(物碼);altertable油水井表altercolumn井號(hào)char(20)notNUll;altertable油水井表addprimarykey(井號(hào));,'wm004',100,10);,NULL,200,10);begintraninsertinto材料費(fèi)表values('zy2016001'insertinto材料費(fèi)表value

42、s('zy2016002'rollback-(2)altertable材料費(fèi)表addconstrainta1foreignkey(單據(jù)#)references作業(yè)項(xiàng)目表(單據(jù)號(hào));altertable材料費(fèi)表addconstrainta2foreignkey(物碼)references物碼表(物碼);altertable作業(yè)項(xiàng)目表addconstraintblforeignkey(預(yù)算單位)references單位代碼表(單位代碼);altertable作業(yè)項(xiàng)目表addconstraintb2foreignkey(井號(hào))references油水井表(井號(hào));altertable

43、作業(yè)項(xiàng)目表addconstraintb3foreignkey(施工單位)references施工單位表(施工單位名稱);insertinto油水井表values('y007',油井','112203002');insertinto材料費(fèi)表values('zy2016007','wm006',100,10);begintranupdate作業(yè)項(xiàng)目表set施工單位='作業(yè)公司彳業(yè)五隊(duì),where單據(jù)號(hào)='zy2016001'deletefrom單位代碼表where單位彳碼='112202002&

44、#39;update物碼表set物碼='wm04'where名稱規(guī)格='材料四';rollbacktran-(3)altertable單位代碼表addconstraintaa1check(單位名稱isnotnull);altertable單位代碼表addconstraintuniunique(單位代碼);altertable油水井表addconstraintaa2check(井別in('油井','水井');altertable油水井表altercolumn單位彳碼char(20)notnull;altertable物碼表alter

45、column名稱規(guī)格char(20)notnull;altertable物碼表addconstraintuni2unique(名稱規(guī)格);altertable物碼表altercolumn計(jì)量單位char(20)notnull;altertable材料費(fèi)表altercolumn消耗數(shù)量intnotnull;altertable材料費(fèi)表altercolumn單價(jià)intnotnull;altertable作業(yè)項(xiàng)目表addconstraintasdafcheck(材料費(fèi)+人工費(fèi)+設(shè)備費(fèi)+其他費(fèi)用=結(jié)算金額);-3一createview視圖一asselect作業(yè)項(xiàng)目表.*,物碼,消耗數(shù)量,單價(jià)from作業(yè)項(xiàng)目表,材料費(fèi)表where作業(yè)項(xiàng)目表.單據(jù)號(hào)=材料費(fèi)表.單據(jù)號(hào);-(2)select結(jié)算金額,消耗數(shù)量from視圖一where物碼='wm003'select預(yù)算單位,施工內(nèi)容from視圖一where單據(jù)號(hào)='zy2016001'and物碼='wm001'-(3)createview預(yù)算狀態(tài)asselect單據(jù)號(hào),預(yù)算單位,井號(hào),預(yù)算金額,預(yù)算人,預(yù)算日期from作業(yè)項(xiàng)目表begintraninsertinto預(yù)算狀態(tài)values('zy2016008','11

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論