數(shù)據(jù)庫課程設計---多需求數(shù)據(jù)查詢設計_第1頁
已閱讀1頁,還剩25頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  課程設計說明書</b></p><p>  題目: 多需求數(shù)據(jù)查詢設計 </p><p>  課程設計(論文)任務書</p><p><b>  年 月 日</b></p><p><b>  摘要</b></p>

2、<p>  1)數(shù)據(jù)平臺:SQL Server</p><p>  2)設計介紹:設某一工程管理數(shù)據(jù)庫中有如下四個基本表:</p><p>  供應商關(guān)系:S(SNO,SNAME,SADDR)</p><p>  零件關(guān)系:P(PNO,PNAME,COLOR,WEIGHT)</p><p>  工程關(guān)系:J(JNO,JNAME,

3、JCITY,BALANCE)</p><p>  供應關(guān)系:SPJ(SNO,PNO,JNO,PRICE,QTY)</p><p>  (1)查詢上海的供應商名稱,假設供應商關(guān)系的saddr列的值都以城市名開頭。</p><p>  (2)求不使用編號為p3零件的工程編號jno和名稱jname。</p><p>  (3)求使用了全部零件的工程

4、名稱。</p><p> ?。?)求至少使用了供應商“s1”所供應的全部零件的工程編號jno。</p><p> ?。?)求項目余額的最大值,最小值,總值和平均值。</p><p> ?。?)求供應商s1所供應的全部零件總收入。</p><p> ?。?)統(tǒng)計上海地區(qū)的項目使用零件的種數(shù)(超過3種)和零件總數(shù)量。要求查詢結(jié)果按零件的種數(shù)升序排

5、列,種數(shù)相同時按總數(shù)量降序排列。</p><p> ?。?)求供應商所供應的工程總數(shù)大于2類的供應商名稱。</p><p>  (9)求每個供應商所供應工程總數(shù)。</p><p>  (10)統(tǒng)計使用編號為p3零件的工程總數(shù)。</p><p>  關(guān)鍵字: SQL Server 工程管理數(shù)據(jù)庫 基本表 查詢分析 </p>

6、<p><b>  目錄</b></p><p><b>  1 緒論1</b></p><p>  1.1 開發(fā)背景1</p><p>  1.2 系統(tǒng)功能:1</p><p>  1.3 開發(fā)意義:1</p><p>  1.4 可行性分析1</

7、p><p><b>  2 需求分析2</b></p><p>  2.1 系統(tǒng)的具體功能模塊:2</p><p><b>  3 設計3</b></p><p>  3.1 E-R圖3</p><p>  3.2 數(shù)據(jù)庫表4</p><p> 

8、 3.3多需求查詢的實現(xiàn)8</p><p><b>  4 系統(tǒng)實現(xiàn)15</b></p><p>  4.1 操作系統(tǒng)15</p><p>  4.2 開發(fā)環(huán)境15</p><p>  4.3 關(guān)鍵代碼15</p><p>  5 設計體會及今后的改進意見20</p>&

9、lt;p><b>  6 參考文獻21</b></p><p><b>  1 緒論</b></p><p><b>  1.1 開發(fā)背景</b></p><p>  現(xiàn)如今工程業(yè)發(fā)展迅速。隨著規(guī)模的擴大傳統(tǒng)的對工程中的供應商,供應關(guān)系,零件關(guān)系,工程關(guān)系的管理已經(jīng)不能適應發(fā)展的需要。<

10、/p><p>  對工程業(yè)的管理工作量較大,采用手工的方式還容易出錯,并且不能滿足顧客對工程關(guān)系,供應商關(guān)等的詳細的查詢功能。本系統(tǒng)在設計中考慮和克服了上訴的諸多問題,以數(shù)據(jù)庫系統(tǒng)的形式使數(shù)據(jù)更加有條理,以便能使用戶迅速地查到供應商,工程及零件的相關(guān)信息,從而提高工作的效率,增強了實用性。</p><p><b>  1.2 系統(tǒng)功能:</b></p>&l

11、t;p>  我們這一系統(tǒng)滿足了對工程的管理及對供應商關(guān)系,工程關(guān)系,零件關(guān)系,供應關(guān)系的查詢功能。</p><p><b>  1.3 開發(fā)意義:</b></p><p>  這一數(shù)據(jù)庫系統(tǒng)基本實現(xiàn)了對工程的數(shù)據(jù)庫管理,大大的提高了工作效率和經(jīng)濟效益。 </p><p><b>  1.4 可行性分析</b><

12、/p><p>  系統(tǒng)現(xiàn)階段的發(fā)展過程中,利用現(xiàn)有人力和物力是完全具備能力開發(fā)出來的,作為階段性產(chǎn)品,日后的發(fā)展空間大,實現(xiàn)方法簡單容易。由于目前世面上的工程很多,許多都要求使用計算機進行管理,并且實際中也有系統(tǒng)的使用。所以本系統(tǒng)的使用市場非常的廣闊,易于推廣和普及到現(xiàn)實中應用。所以本系統(tǒng)在市場應用上是完全可行的。</p><p>  還有本系統(tǒng)簡單、易學、易懂、易用,具有有親和力的界面。能夠

13、滿足管理者和操作員對工程關(guān)系等的管理,對于顧客可以很方便的進行特殊的查詢。所以本系統(tǒng)在操作上是可行的。</p><p>  結(jié)論:綜上所述,本系統(tǒng)技術(shù)成熟,有較好的市場應用價值,開發(fā)設計成本低,因此本系統(tǒng)完全可行。</p><p><b>  2 需求分析</b></p><p>  2.1 系統(tǒng)的具體功能模塊</p><p

14、>  本系統(tǒng)實現(xiàn)了以下的功能:多需求數(shù)據(jù)查詢設計</p><p>  具體查詢要求如下所示:</p><p> ?。?)查詢上海的供應商名稱,假設供應商關(guān)系的saddr列的值都以城市名開頭。</p><p>  (2)求不使用編號為p3零件的工程編號jno和名稱jname。</p><p>  (3)求使用了全部零件的工程名稱。<

15、/p><p>  (4)求至少使用了供應商“s1”所供應的全部零件的工程編號jno。</p><p> ?。?)求項目余額的最大值,最小值,總值和平均值。</p><p> ?。?)求供應商s1所供應的全部零件總收入。</p><p> ?。?)統(tǒng)計上海地區(qū)的項目使用零件的種數(shù)(超過3種)和零件總數(shù)量。要求查詢結(jié)果按零件的種數(shù)升序排列,種數(shù)相同時

16、按總數(shù)量降序排列。</p><p> ?。?)求供應商所供應的工程總數(shù)大于2類的供應商名稱。</p><p>  (9)求每個供應商所供應工程總數(shù)。</p><p> ?。?0)統(tǒng)計使用編號為p3零件的工程總數(shù)。</p><p><b>  3 設計</b></p><p><b>  

17、3.1 E-R圖</b></p><p>  該系統(tǒng)的E-R模型如圖所示。</p><p><b>  圖3.1 E-R圖</b></p><p><b>  相應說明:</b></p><p>  供應商關(guān)系:S(SNO,SNAME,SADDR)</p><p>

18、;  零件關(guān)系:P(PNO,PNAME,COLOR,WEIGHT)</p><p>  工程關(guān)系:J(JNO,JNAME,JCITY,BALANCE)</p><p>  供應關(guān)系:SPJ(SNO,PNO,JNO,PRICE,QTY)</p><p><b>  3.2 數(shù)據(jù)庫表</b></p><p> ?。?)數(shù)據(jù)庫

19、名:工程關(guān)系管理數(shù)據(jù)庫</p><p><b> ?。?)數(shù)據(jù)表:</b></p><p>  表3-1供應商關(guān)系表</p><p>  表3-2 零件關(guān)系表</p><p><b>  表3-3工程關(guān)系表</b></p><p><b>  表3-4供應關(guān)系表&l

20、t;/b></p><p>  (3)添加表的信息:</p><p>  1.添加S表信息如下:</p><p>  2.添加P表信息如下:</p><p>  3.添加J表信息如下:</p><p>  4.添加SPJ表信息如下:</p><p>  3.3多需求查詢的實現(xiàn)</p&

21、gt;<p>  (1)查詢上海的供應商名稱,假設供應商關(guān)系的saddr列的值都以城名開頭。具體執(zhí)行語句如下:</p><p>  SELECT SNAME</p><p><b>  FROM S</b></p><p>  WHERE SADDR=’上海';</p><p><b> 

22、 結(jié)果如下(截圖):</b></p><p>  (2)求不使用編號為p3零件的工程編號jno和名稱jname。</p><p><b>  具體執(zhí)行語句如下:</b></p><p>  SELECT JNO,JNAME</p><p><b>  FROM J</b></p&g

23、t;<p>  WHERE JNO IN</p><p>  (SELECT JNO</p><p><b>  FROM SPJ</b></p><p>  WHERE PNO NOT IN ('P3'));</p><p><b>  結(jié)果如下(截圖):</b>&l

24、t;/p><p> ?。?)求使用了全部零件的工程名稱。</p><p><b>  具體執(zhí)行語句如下:</b></p><p>  SELECT DISTINCT JNAME</p><p>  FROM J,P,SPJ</p><p>  WHERE J.JNO=SPJ.JNO AND P.PNO

25、=SPJ.PNO; </p><p>  結(jié)果(如截圖所示):</p><p> ?。?)求至少使用了供應商“s1”所供應的全部零件的工程編號jno。</p><p><b>  執(zhí)行語句如下:</b></p><p>  1.SELECT DISTINCT PNO</p><p><b&g

26、t;  FROM SPJ</b></p><p>  WHERE SNO=’S1’;</p><p>  2.SELECT JNO </p><p><b>  FROM SPJ</b></p><p>  WHERE PNO=’P1’</p><p>  AND JNO IN(&

27、lt;/p><p>  SELECT JNO</p><p><b>  FROM SPJ</b></p><p>  WHERE PNO=’P2’);</p><p><b>  結(jié)果:</b></p><p> ?。?)求項目余額的最大值,最小值,總值和平均值。</p&

28、gt;<p><b>  執(zhí)行語句如下:</b></p><p>  SELECT MAX(BALANCE) MAX,MIN(BALANCE) MIN,AVG(BALANCE) AVG</p><p><b>  FROM J </b></p><p><b>  結(jié)果如下:</b>&

29、lt;/p><p>  (6)求供應商s1所供應的全部零件總收入。</p><p><b>  執(zhí)行語句如下:</b></p><p>  SELECT SUM(PRICE) 總收入</p><p><b>  FROM SPJ</b></p><p>  WHERE SNO=&

30、#39;S1';</p><p><b>  結(jié)果如下:</b></p><p> ?。?)統(tǒng)計上海地區(qū)的項目使用零件的種數(shù)(超過3種)和零件總數(shù)量。要求查詢結(jié)果按零件的種數(shù)升序排列,種數(shù)相同時按總數(shù)量降序排列。</p><p><b>  執(zhí)行語句如下:</b></p><p>  SEL

31、ECT COUNT(DISTINCT PNAME)PNAME,SUM(QTY)QTY</p><p>  FROM P,SPJ</p><p>  WHERE EXISTS (</p><p>  SELECT PNO</p><p>  FROM SPJ,S</p><p>  WHERE SADDR='上海

32、')</p><p>  GROUP BY PNAME;</p><p><b>  結(jié)果:</b></p><p> ?。?)求供應商所供應的工程總數(shù)大于2類的供應商名稱。</p><p><b>  執(zhí)行語句如下:</b></p><p>  SELECT COU

33、NT(DISTINCT JNO)JNO</p><p><b>  FROM SPJ</b></p><p>  GROUP BY SNO</p><p>  HAVING COUNT(*)>2;</p><p><b>  結(jié)果:</b></p><p>  (9)求

34、每個供應商所供應工程總數(shù)。</p><p>  SELECT COUNT(JNO)JNO</p><p><b>  FROM SPJ</b></p><p>  GROUP BY SNO;</p><p><b>  結(jié)果如下(截圖):</b></p><p> ?。?0)

35、統(tǒng)計使用編號為p3零件的工程總數(shù)。</p><p><b>  執(zhí)行語句如下:</b></p><p>  SELECT COUNT(JNO)</p><p><b>  FROM J</b></p><p>  WHERE EXISTS</p><p>  (SELECT

36、JNO</p><p><b>  FROM SPJ</b></p><p>  WHERE PNO='P3';)</p><p><b>  結(jié)果如下所示:</b></p><p><b>  4.系統(tǒng)實現(xiàn)</b></p><p>&

37、lt;b>  4.1操作系統(tǒng)</b></p><p>  適用內(nèi)存不低于256M配備有Windows2000,Windows2003,WindowsXP系統(tǒng)的計算機,本實驗所用系統(tǒng)為windows 7。</p><p><b>  4.2 開發(fā)環(huán)境</b></p><p>  本系統(tǒng)使用SQL語言進行開發(fā)。開發(fā)環(huán)境為SQL S

38、erver 2005。</p><p><b>  4.3關(guān)鍵代碼:</b></p><p>  /*建立供應商關(guān)系表S*/</p><p>  create table S</p><p>  (SNO char(2) primary key, /*SNO是主碼*/</p><p>  SN

39、AME char(10) unique, /*唯一性約束*/</p><p>  SADDR char(10),</p><p><b>  );</b></p><p>  /*建立零件關(guān)系表P*/</p><p>  create table P</p><p>  (PNO char(2

40、) primary key, /*PNO是主碼*/</p><p>  PNAME char(10) , </p><p>  COLOR char(10),</p><p>  WEIGHT int</p><p><b>  );</b></p><p>  /*建立工程關(guān)系表J*/<

41、;/p><p>  create table J</p><p>  (JNO char(2)primary key, /*JNO是主碼*/</p><p>  JNAME char(10)unique, /*唯一性約束*/</p><p>  JCITY char(10),</p><p>  BALANCE

42、 int</p><p><b>  );</b></p><p>  /*建立供應關(guān)系表SPJ*/</p><p>  create table SPJ</p><p>  (SNO char(2),</p><p>  PNO char(2),</p><p>  JN

43、O char(2),</p><p>  primary key(SNO,PNO,JNO), /*主碼由SNO,PNO,JNO3個屬性構(gòu)成*/</p><p>  foreign key(SNO) references S(SNO), /*表級完整性約束條件,SNO是外碼,</p><p><b>  被參照表是S*/</b></p&g

44、t;<p>  foreign key(PNO) references P(PNO), /*表級完整性約束條件,PNO是外碼,</p><p><b>  被參照表是P*/</b></p><p>  foreign key(JNO) references J(JNO), /*表級完整性約束條件,JNO是外碼,</p><p>&

45、lt;b>  被參照表是J*/</b></p><p>  PRICE int,</p><p><b>  QTY int</b></p><p><b>  );</b></p><p>  查詢語句有關(guān)代碼如下所示:</p><p>  SELECT

46、SNAME</p><p><b>  FROM S</b></p><p>  WHERE SADDR=’上海';</p><p>  SELECT JNO,JNAME</p><p><b>  FROM J</b></p><p>  WHERE JNO IN&

47、lt;/p><p>  (SELECT JNO</p><p><b>  FROM SPJ</b></p><p>  WHERE PNO NOT IN ('P3'));</p><p>  SELECT DISTINCT JNAME</p><p>  FROM J,P,SPJ&l

48、t;/p><p>  WHERE J.JNO=SPJ.JNO AND P.PNO=SPJ.PNO; </p><p>  SELECT DISTINCT PNO</p><p><b>  FROM SPJ</b></p><p>  WHERE SNO=’S1’;</p><p>  2.SEL

49、ECT JNO </p><p><b>  FROM SPJ</b></p><p>  WHERE PNO=’P1’</p><p>  AND JNO IN(</p><p>  SELECT JNO</p><p><b>  FROM SPJ</b></p&g

50、t;<p>  WHERE PNO=’P2’);</p><p>  SELECT MAX(BALANCE) MAX,MIN(BALANCE) MIN,AVG(BALANCE) AVG</p><p><b>  FROM J </b></p><p>  SELECT SUM(PRICE) 總收入</p><

51、;p><b>  FROM SPJ</b></p><p>  WHERE SNO='S1';</p><p>  SELECT COUNT(DISTINCT PNAME)PNAME,SUM(QTY)QTY</p><p>  FROM P,SPJ</p><p>  WHERE EXISTS (&

52、lt;/p><p>  SELECT PNO</p><p>  FROM SPJ,S</p><p>  WHERE SADDR='上海')</p><p>  GROUP BY PNAME;</p><p>  SELECT COUNT(DISTINCT JNO)JNO</p><p

53、><b>  FROM SPJ</b></p><p>  GROUP BY SNO</p><p>  HAVING COUNT(*)>2;</p><p>  SELECT COUNT(JNO)JNO</p><p><b>  FROM SPJ</b></p><

54、;p>  GROUP BY SNO;</p><p>  SELECT COUNT(JNO)工程總數(shù)</p><p><b>  FROM J</b></p><p>  WHERE EXISTS</p><p>  (SELECT JNO</p><p><b>  FROM S

55、PJ</b></p><p>  WHERE PNO='P3');</p><p>  5.設計體會和今后的改進意見</p><p>  本實驗是在老師的指導下,按照老師給的題目,分組完成實驗。通過做課程設計,我不僅了解了SQL語言的開發(fā)與使用,還對數(shù)據(jù)庫產(chǎn)生了濃厚的興趣,并在實驗過程中得到一些心得體會。</p><

56、p>  通過對數(shù)據(jù)庫編程練習思考數(shù)據(jù)庫的使用,比如對多需求查詢的深入了解,讓我們感受到了數(shù)據(jù)庫管理及其SQL語言的重要。此外還熟悉了各種查詢語句及聚集函數(shù)等的應用。</p><p>  通過編程我知道了想要寫出好的程序,需要有扎實的基礎,這樣才會遇到一些基本算法時做的游刃有余。在編程時,我們要有豐富的想象力,不拘泥于固定的思維方式,試試別人從沒想過的方法。豐富的想象力是建立在豐富的知識的基礎上,所以我們要通

57、過多個途徑來幫助自己建立較豐富的知識結(jié)構(gòu)。</p><p>  在編程時,我們遇到了很多的困難,這就需要我們多與別人交流。在編程時我們也看到了有良好的編程風格是十分重要的,至少在時間效率上就體現(xiàn)了這一點。</p><p>  現(xiàn)在自己也能運用數(shù)據(jù)結(jié)構(gòu)的算法編寫小程序了,卻沒想到的是算法并沒想象的那么簡單(還有這份文檔)。這兩周,我們整天為了編程而忙碌,但看到自己的求解程序終于完成了,我們還

58、是覺得很開心。</p><p>  當一切都完成以后,我們也學會了許多的東西。首先,我們學會了合作。合作,必然會產(chǎn)生分歧;學會去解決分歧,留下更多的是友誼。其次,我們學會了分工。分工是為了更好的合作,分工才能提高合作的效率。最后,我們學會了奮斗。我們相信,通過在安理工的四年學習,我們定能寫出更精彩的程序,描繪出更精彩的人生。</p><p>  在這里,我們要感謝指導我們課程設計的老師,給

59、予我們悉心的指導。老師多次詢問我們編寫進程,并為我們指點迷津,幫助我們開拓研究思路,精心點撥、熱枕鼓勵。老師一絲不茍的工作作風,嚴謹求實的態(tài)度以及踏踏實實的精神,不僅授我以文,更教會我做人,給以終生受益無窮之道。我還要感謝我們小組的另外2名同學,在設計中給予我很大的幫助。正是由于我們團結(jié)協(xié)作,才順利地完成了課程設計任務。在本實驗,由于個人能力有限,是和同學們一起合作完成的。在設計中,我確實感到了團隊合作的力量。</p>&

60、lt;p>  課程設計完成之后,留下的必將是美好的回憶。</p><p><b>  6.參考文獻</b></p><p>  [1]王珊,薩師煊編的《數(shù)據(jù)庫系統(tǒng)概論》(第4版)高等教育出版社;</p><p>  [2] 從數(shù)據(jù)庫系統(tǒng)概論網(wǎng)絡資源平臺上下載的《數(shù)據(jù)庫課程設計指導》;</p><p>  [3]王軍

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論