




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
課程設(shè)計(jì)說(shuō)明書(shū)設(shè)計(jì)題目:實(shí)現(xiàn)DBMS的創(chuàng)建表和修改表.專業(yè):信息管理與信息系統(tǒng)班級(jí):設(shè)計(jì)人:山東科技大學(xué)2011年7月1日課程設(shè)計(jì)任務(wù)書(shū)學(xué)院專業(yè)信息管理與信息系統(tǒng)班級(jí)姓名一、課程設(shè)計(jì)題目:(1)運(yùn)用C#語(yǔ)言實(shí)現(xiàn)DBMS中創(chuàng)建表的功能(2)運(yùn)用C#語(yǔ)言實(shí)現(xiàn)DBMS中修改表結(jié)構(gòu)的功能(3)運(yùn)用C#語(yǔ)言實(shí)現(xiàn)DBMS中刪除表的功能二、課程設(shè)計(jì)主要參考資料:(1)MicrosoftSQLServer2008(2)MicrosoftVisualStudio2008文檔(3)數(shù)據(jù)庫(kù)系統(tǒng)概論(第四版),王珊、薩師煊等編著,高等教育出版社三、課程設(shè)計(jì)應(yīng)解決的主要問(wèn)題:(1)可以重復(fù)新建表結(jié)構(gòu)(2)可以對(duì)已經(jīng)創(chuàng)建好的表結(jié)構(gòu)進(jìn)行修改(3)可以刪除已創(chuàng)建的表四、課程設(shè)計(jì)相關(guān)附件(如:圖紙、軟件等):(1)數(shù)據(jù)庫(kù)課程設(shè)計(jì).exe(2)(3)五、任務(wù)發(fā)出日期:2011-4-29課程設(shè)計(jì)完成日期:2011-7-1指導(dǎo)教師簽字:系主任簽字:指導(dǎo)教師對(duì)課程設(shè)計(jì)的評(píng)語(yǔ)指導(dǎo)教師簽字:年月日一、設(shè)計(jì)要求:實(shí)現(xiàn)DBMS的創(chuàng)建表和修改表這個(gè)模塊的功能要求就是實(shí)現(xiàn)創(chuàng)建表結(jié)構(gòu)及插入、刪除、修改表結(jié)構(gòu)。要求:(1)設(shè)計(jì)實(shí)現(xiàn)表的物理存儲(chǔ)結(jié)構(gòu);(2)語(yǔ)句以命令行或圖形界面實(shí)現(xiàn)。二、需求分析:在以前的學(xué)習(xí)過(guò)程中已經(jīng)學(xué)習(xí)了數(shù)據(jù)庫(kù)的應(yīng)用方面的知識(shí),那時(shí)所學(xué)到的只是如何應(yīng)用別人開(kāi)發(fā)的軟件,而對(duì)其入后臺(tái)如何運(yùn)行沒(méi)有深刻的認(rèn)識(shí)。通過(guò)這學(xué)期數(shù)據(jù)庫(kù)系統(tǒng)概論的學(xué)習(xí),我明白了數(shù)據(jù)庫(kù)軟件的后臺(tái)運(yùn)行情況,為了加深對(duì)數(shù)據(jù)庫(kù)DBMS后臺(tái)運(yùn)行的理解,因此老師要求實(shí)現(xiàn)DBMS的某個(gè)模塊的功能。而DBMS的創(chuàng)建表和修改表就是其中的一個(gè)模塊。三、設(shè)計(jì)思想:本課程設(shè)計(jì)中包括三個(gè)模塊:1)新建表:新建一個(gè)表的表結(jié)構(gòu),其中包括表的實(shí)體完整性、參照完整性和部分自定義完整性(唯一性)的約束的框架的實(shí)現(xiàn),每一個(gè)新建的表都以單獨(dú)的XML文檔來(lái)存儲(chǔ),并且新建的每個(gè)表都只能存儲(chǔ)到指定的文件夾下。2)修改表:這個(gè)模塊包含新增字段、刪除字段和修改已有字段。新增字段只需要在DataGridView中添加新的字段,然后保存就可以了;刪除字段是要選中所要修改的字段所在的行,然后右擊鼠標(biāo),選擇快捷菜單中的“刪除列”即可;修改字段的屬性時(shí)不可以改變屬性是否為主鍵和是否為空的屬性。3)刪除表:選中表單中已存在的表,然后單擊“刪除表”,即可實(shí)現(xiàn)刪除本地文件夾下的表文件和TreeView中的該表的相應(yīng)的節(jié)點(diǎn)。編寫程序的環(huán)境是MicrosoftVisualStudio2008。程序的主界面如下:其中,右側(cè)的DataGridView在程序開(kāi)始運(yùn)行時(shí)是隱藏的,當(dāng)選擇“創(chuàng)建表”或?qū)σ延斜磉M(jìn)行“設(shè)計(jì)表”操作時(shí)才會(huì)顯示。其中添加行的功能是DataGridView自帶的功能。表中某一字段的各個(gè)屬性的限制如下:一個(gè)表中的同一個(gè)字段不能同時(shí)設(shè)置成主鍵并要求唯一。列名可以是任意字符串,但不能為空。數(shù)據(jù)類型包括char、float和int類型,必須選其中的一種類型。數(shù)據(jù)長(zhǎng)度要求必須是整型,且不能為空。主鍵不允許為空。外鍵參照要求當(dāng)前字段所參照的屬性是被參照表的主鍵,且當(dāng)前字段的數(shù)據(jù)類型和數(shù)據(jù)長(zhǎng)度要與被參照屬性一致。若在程序運(yùn)行過(guò)程中違反了上述限制的任一條,程序都會(huì)彈窗向用戶提示,錯(cuò)誤所在。程序的另一個(gè)界面就是選擇表名的名稱,界面如下圖所示:在上圖所示的文本框中輸入表名,點(diǎn)擊“確定”即可保存,點(diǎn)擊“取消”回到主程序頁(yè)面。不保存新建的表。四、程序流程圖:由于本課程設(shè)計(jì)所實(shí)現(xiàn)的是新建表和修改表,因此執(zhí)行的先后順序沒(méi)有嚴(yán)格的區(qū)別,下圖的程序流程圖只是其中的一種執(zhí)行次序,實(shí)際運(yùn)行過(guò)程完全可以根據(jù)個(gè)人喜好自由選擇。開(kāi)始^始^IIIL新建表一失敗......』<二保存::〕二二,,]成功一中表x一否一計(jì)表H成功是廣一噸表否—二..__成功__一.->J是結(jié)束圖1程序流程圖五、主要源程序:新建表privatevoid創(chuàng)建表ToolStripMenuItem_Click(objectsender,EventArgse)(〃清空gvTablegvTable.Rows.Clear();〃將gvTable設(shè)置為可見(jiàn)gvTable.Visible=true;〃表示目前所做的操作是創(chuàng)建表flag=0;}保存新建表或?qū)Ρ斫Y(jié)構(gòu)的修改privatevoid保存新建表ToolStripMenuItem_Click(objectsender,EventArgse)(intk=SaveXML();〃如果是新建表并且生成xml文檔成功,則保存新的xml文檔if(flag==0&&k==1)(//創(chuàng)建一個(gè)窗體SaveAsXML類的實(shí)體,將創(chuàng)建好的XML文檔傳過(guò)去SaveAsXMLtable=newSaveAsXML(doc);//彈出保存窗口table.ShowDialog();〃將新建的表添加到左側(cè)的Treeview表單中AppendToTreeV();}//若是修改表并且生成xml文檔成功,則修改已有的xml文檔并保存elseif(flag==1&&k==1)(〃用修改后的xml文檔替換已有的doc.Save(礦..\..\..\table\〃+tvMenu.SelectedNode.Text+".xml");MessageBox.Show(〃修改表結(jié)構(gòu)成功!");}}刪除選中的字段privatevoid刪除列ToolStripMenuItem_Click_1(objectsender,EventArgse)(for(inti=0;i<gvTable.Rows.Count;i++)(〃每刪除一行DataGridView都會(huì)改變,因此需要重新遍歷if(gvTable.Rows[i].Selected)(gvTable.Rows.Remove(gvTable.Rows[i]);i=0;}〃若DataGridView中只剩一行,即表中字段為空時(shí)if(gvTable.Rows.Count==1)(//刪除選中的表刪除表ToolStripMenuItem1_Click(sender,e);〃同時(shí)刪除這個(gè)表的樹(shù)節(jié)點(diǎn)DeleTreeNode();}}}刪除選中的表privatevoid刪除表ToolStripMenuItem1_Click(objectsender,EventArgse)(〃刪除選中的節(jié)點(diǎn)的表的xml文件System.IO.File.Delete(礦..\..\..\table\"+tvMenu.SelectedNode.Text+".xml");DeleTreeNode();gvTable.Visible=false;
六、運(yùn)行結(jié)果:1、按照程序要求正常輸入的運(yùn)行結(jié)果:(1)初始界面圖1.1所示:圖1.1初始界面(2)新建表sc,其中sno為外鍵,參照表student中的sno字段,要求sno必須是student表中的主鍵,并且sc表中sno的數(shù)據(jù)類型和數(shù)據(jù)長(zhǎng)度都要與student表中的要一致,若不一致則報(bào)錯(cuò)。如果輸入都正確則會(huì)彈出輸入表名的對(duì)話框,輸入表明后即提示保存成功。運(yùn)行結(jié)果如圖1.2所示。
圖1.2新建表選中表sc,然后點(diǎn)擊“設(shè)計(jì)表”,即在DataGridView中顯示出當(dāng)前表的結(jié)構(gòu),如圖1.3.1所示。在表sc中添加一個(gè)字段:列名為score,數(shù)據(jù)類型為float,數(shù)據(jù)長(zhǎng)度為8,允許為空,執(zhí)行結(jié)果如圖1.3.2。將sno字段名改為stuno,執(zhí)行結(jié)果如圖1.3.3所示。刪除選中字段score,執(zhí)行結(jié)果如圖1.3.4所示。圖1.3.1設(shè)計(jì)表初始界面
圖1.3.3修改字段圖1.3.4刪除字段刪除選中的表,執(zhí)行結(jié)果是刪除本地存儲(chǔ)文件,同時(shí)刪除選中的表的樹(shù)節(jié)點(diǎn)。圖1.4是刪除表r的執(zhí)行結(jié)果。圖1.4刪除選中的表2、部分輸入與程序要求不符的處理結(jié)果:(1)在新建表或?yàn)橐粋€(gè)表添加字段時(shí),同時(shí)選中“設(shè)置主鍵”和“是否唯一”兩個(gè)屬性,運(yùn)行結(jié)果如圖2.1所示。圖2.1異常處理一(2)在新建表或?yàn)橐粋€(gè)表添加字段時(shí),同時(shí)選中“設(shè)置主鍵”和“允許null值”兩個(gè)屬性,運(yùn)行結(jié)果如圖2.2所示。圖2.2異常處理二(3)在新建表或添加一個(gè)新字段時(shí),若某個(gè)字段有外鍵約束,則這個(gè)字段的參照字段必須是被參照表中的主鍵,且數(shù)據(jù)類型和數(shù)據(jù)長(zhǎng)度必須相同,若不同,則會(huì)報(bào)錯(cuò)。運(yùn)行結(jié)果如圖2.3所示。圖2.3異常處理三七、參考資料:MicrosoftSQLServer2008中的SQLServerManagementStudio;MicrosoftVisualStudio2008文檔;―3.數(shù)據(jù)庫(kù)系統(tǒng)概論(第四版),王珊、薩師煊等編著,高等教育出版社4.c#操作XML(讀XML,寫XML,更新,刪除節(jié)點(diǎn),與dataset結(jié)合等)_.NET教程—編程技術(shù):/program/aZ2008050727580.shtmlo八、總結(jié):通過(guò)這次課程設(shè)計(jì)的實(shí)踐,我有以下幾點(diǎn)收獲:更加明確了數(shù)據(jù)庫(kù)管理系統(tǒng)與數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的區(qū)別,之前在上課的過(guò)程中聽(tīng)到這兩個(gè)概念的時(shí)候感覺(jué)很困惑,雖然老師也講解了多次,但始終分不清兩者的區(qū)別,而做這個(gè)課程設(shè)計(jì)之前首先就是明確了DBMS的功能是什么。對(duì)數(shù)據(jù)庫(kù)的三種完整性約束(即實(shí)體完整性約束、參照完整性約束、自定義完整性約束)有了更加全面深入的認(rèn)識(shí)。其中的實(shí)體完整性要求表中的主碼值必須唯一,且主碼的各個(gè)屬性不能為空,這個(gè)比較容易理解;而參照完整性約束中要求必須參照的是其他表的主碼,這是在以前的學(xué)習(xí)中我沒(méi)有注意到的;自定義完整性中的CHECK短語(yǔ)在圖形界面中實(shí)現(xiàn)起來(lái)比較復(fù)雜,因此我沒(méi)有實(shí)現(xiàn),也沒(méi)有很深刻的了解,而非空和唯一
溫馨提示
- 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 亞馬遜雨傘訂購(gòu)合同范本
- 農(nóng)村住房修建合同范例
- 廠區(qū)工人雇傭合同范本
- 企業(yè)采購(gòu)紅酒合同范本
- 吧臺(tái)主理人合同范本
- 品牌供貨合作合同范例
- 前臺(tái)課程顧問(wèn)合同范本
- 壓手續(xù)不押車合同范本
- 北京二手房服務(wù)合同范本
- 危險(xiǎn)建筑拆除合同范本
- 對(duì)外漢語(yǔ)量詞
- 小學(xué)體育-小小特種兵教學(xué)設(shè)計(jì)學(xué)情分析教材分析課后反思
- 中國(guó)故事英文版年英文二篇
- WS/T 367-2012醫(yī)療機(jī)構(gòu)消毒技術(shù)規(guī)范
- GB/T 37827-2019城鎮(zhèn)供熱用焊接球閥
- GB 25936.1-2012橡膠塑料粉碎機(jī)械第1部分:刀片式破碎機(jī)安全要求
- 8-馬工程《藝術(shù)學(xué)概論》課件-第八章(2019.4.2)【已改格式】.課件電子教案
- 手機(jī)攝影專業(yè)模式講解課件
- 大國(guó)崛起專題課件
- 工程項(xiàng)目策劃與決策方課件
- 醫(yī)院管理案例剖析-醫(yī)院酸化水應(yīng)用標(biāo)準(zhǔn)(中)課件
評(píng)論
0/150
提交評(píng)論