


版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、交通大學(xué)信息科學(xué)與工程學(xué)院設(shè)計性實驗報告專業(yè):計算機科學(xué)與技術(shù)班級:2015級4 班學(xué)號:631507020418姓名:再朝課程名稱:數(shù)據(jù)庫原理課程實驗實驗項目性質(zhì):設(shè)計性實驗實驗所屬課程:數(shù)據(jù)庫原理B實驗室(中心):軟件與通信實驗室指導(dǎo)教師:王家偉實驗完成時間: 2017 年也月25_日總成績教師簽名此頁必須保留評分標(biāo)準(zhǔn)及成績實驗名稱評分細則評分實驗四報告表述的清晰程度和完整 性(20分)概念模型的合理性(實驗一 容)(10分)邏輯模型的合理性(實驗一 容)(10分)功能合理性(20分)功能完善性(10分)個人體會(10分)實驗二10分實驗三10分總成績總體實驗要求:1排版要求標(biāo)題用黑體四號
2、,段前、段后距6磅(或0.3行);正文用小四號宋體,行距為1.5 倍行距。報告必須生成目錄,目錄必須帶頁碼。2設(shè)計報告需要打印,裝訂,1份/人,理論課考試時交設(shè)計報告。3各班學(xué)習(xí)委員收集每位同學(xué)做的成果, 包含數(shù)據(jù)庫的備份、程序源代碼和運行配 置說明,并將每位同學(xué)的成果拷貝到軟件與通信實驗室的教師機上。第一部分 實驗四目錄報告正文4一、實驗?zāi)康?4二、實驗題目 4三、實驗涉及儀器設(shè)備和材料清單(或軟件) 4四、實驗原理 5五、實驗容 5六、實驗步驟及代碼分析 七、實驗結(jié)果及分析 8實驗體會 . 11實驗二 表查詢 13一 實驗要求 13二 實驗結(jié)果 14實驗三 對象的建立與數(shù)據(jù)更新操作 17實
3、驗要求 實驗結(jié)果 1719報告正文一、實驗?zāi)康?、掌握 ODBC 的概念并學(xué)習(xí)使用 ODBC 訪問數(shù)據(jù)庫;2、學(xué)習(xí)Visual C+下如何通過ODBC訪問數(shù)據(jù)庫;3、學(xué)習(xí)用Visual C+制作簡單數(shù)據(jù)庫應(yīng)用程序的方法。二、實驗題目某大學(xué)需要使用計算機管理學(xué)生信息、成績信息等,要求如下:1、學(xué)生信息管理,包含學(xué)生的基本信息,如學(xué)號、 、性別、出生日期等;還要包含 學(xué)生的簡歷、社會關(guān)系等;2、課程管理,包含整個學(xué)校開設(shè)的所有課程;3、教學(xué)計劃管理,包含設(shè)定各系各專業(yè)在哪學(xué)期開設(shè)什么樣的課程,學(xué)分是多少;4、學(xué)生選課管理,包含學(xué)生在某學(xué)期選擇什么樣的課程;5、學(xué)生成績管理,包含學(xué)生各課程的成績、是
4、否補考、補考成績;6、學(xué)生獎懲管理,管理學(xué)生在校期間所獲得的獎勵和懲罰記錄。 根據(jù)實驗一的結(jié)果,完成設(shè)計。可以根據(jù)自己的實際情況實現(xiàn)一部分也可。三、實驗涉及儀器設(shè)備和材料清單(或軟件)操作系統(tǒng): Windows10軟件: Visual Studio Professional 2017,Power Designer 15.1實現(xiàn)語言: C#開發(fā)平臺: .NET Framework 4數(shù)據(jù)庫: SQL Server 2014四、實驗原理Microsoft推出的ODBC(Open Database Connectivity)技術(shù)為異質(zhì)數(shù)據(jù)庫的訪問提供 了統(tǒng)一的接口。 ODBC 基于 SQL(Stru
5、ctured Query Language,) 并把它作為訪問數(shù)據(jù)庫的 標(biāo)準(zhǔn)。這個接口提供了最大限度的相互可操作性:一個應(yīng)用程序可以通過一組通用的代 碼訪問不同的數(shù)據(jù)庫管理系統(tǒng)。 一個軟件開發(fā)者開發(fā)的客戶 /服務(wù)器應(yīng)用程序不會被束定 于某個特定的數(shù)據(jù)庫之上。 ODBC 可以為不同的數(shù)據(jù)庫提供相應(yīng)的驅(qū)動程序。ODBC 的靈活性表現(xiàn)在以下幾個方面 :應(yīng)用程序不會受制于某種專用的 API SQL語句以源代碼的方式直接嵌入在應(yīng)用程序中應(yīng)用程序可以以自己的格式接收和發(fā)送數(shù)據(jù) ODBC 的設(shè)計完全和 ISO Call-Level In terface 兼容現(xiàn)在的 ODBC 數(shù)據(jù)庫驅(qū)動程序支持 55 家公司
6、的數(shù)據(jù)產(chǎn)品最新推出的 ODBC 3.0已經(jīng)升級到 32位,支持 Win32。在C#中,提供了良好的數(shù)據(jù)庫支持。輸入數(shù)據(jù)源是遵循開放式數(shù)據(jù)庫互接(ODBC)標(biāo)準(zhǔn),還是微軟的數(shù)據(jù)訪問對象(DAO)標(biāo)準(zhǔn),或OLE數(shù)據(jù)庫(OLE DB)標(biāo)準(zhǔn)。ODBC功 能在數(shù)據(jù)庫管理系統(tǒng),如 Microsoft Access、Oracle或dBase的特定的驅(qū)動程序中實現(xiàn)。 C#提供了一個 ODBC驅(qū)動程序的集合;其他的可從經(jīng)銷商那里買到。實驗中即利用 ODBC 接口來創(chuàng)建 .NET 下的數(shù)據(jù)庫支持。五、實驗容1、建立概念模型M.'IT 11: 一中:沁LLtii'.ii 11;T(cai|ji! E
7、iorfx:Bri gSpTH一 _L】4M咄話丄事*丄5-tiViriarlt rNrw-WP 刃論» e I h:arjfe:.4:由1 f-Al , MilfclXjia1LKT: LfXK-j.1=T護壬12qh-町訂*竺宴丄屮-jtEk-S."u-aabLa «Ihxbkh-i .X 裁j:jrjrjj_j21LL£llLL1lU'dElalilM* ttwon* TKJai-JBfi* *iri II 4: r 虱4217k*1a=-* zacxzI4M1i址 if 1 11 耳 CW IEnEtertLErJ.ILhl. |-:L-
8、=«tLJ:hi.2、利用Power Designer生成的SQL語句建立相關(guān)數(shù)據(jù)表3、利用C#進行相關(guān)軟件開發(fā)六、實驗步驟及代碼分析查詢部分:private void 查詢課程 ToolStripMenultem_Click( object sender, EventArgs e)stri ng Comma ndStri ng = "select * from Course" ;tryOdbcDataAdapter adapter =n ewOdbcDataAdapter(Comma ndStri ng,odbcC onn ecti on);DataSet ds
9、 =newDataSet();adapter.Fill(ds);dataGridViewl.DataSource = ds.TablesO.DefaultView;odbcC onn ectio n.Close();catch (OdbcExcepti on ex)MessageBox.Show(ex.Message);錄入成績,利用數(shù)據(jù)源自動更新private void button2_Click( object sender, EventArgs e)OdbcCommandBuilder ocd = newOdbcCommandBuilder(adapter); try adapter.U
10、pdate(ds);catch (Exception ex)MessageBox.Show(ex.Message);this .Close(); return ;MessageBox.Show( " 成功");this .Close();更改成績,利用數(shù)據(jù)源自動更新private void button1_Click( object sender, EventArgs e) /dataGridView1.DataSource = null;ds.Clear(); dataGridView1.Update();string CommandString = "sele
11、ct * from Score where Score.CourseNo='" + textBox1.Text + "' " ;tryadapter = new OdbcDataAdapter(CommandString, odbcConnection); adapter.Fill(ds);dataGridView1.DataSource = ds.Tables0.DefaultView; odbcConnection.Close();catch (OdbcException ex)MessageBox.Show(ex.Message);priva
12、te void butt on 2_Click(object sen der, Eve ntArgs e) _OdbcComma ndBuilder ocd =n ewOdbcComma ndBuilder(adapter);tryadapter.Update(ds);catch (Exceptio n ex)MessageBox.Show(ex.Message);this .Close();return ;MessageBox.Show( "成功");this .Close();七、實驗結(jié)果及分析登錄界面:查詢界面:增加界面:修改界面:刪除界面:實驗體會通過本次實驗,我明
13、白了數(shù)據(jù)庫中的各種操作是怎么回事,這些操作有增加,修改 和刪除,基于這些操作,完成了學(xué)生信息管理系統(tǒng)。在用C#完成系統(tǒng)的過程中,重新回顧了高級程序設(shè)計語言編程的基本語法和思想, 由此讓我產(chǎn)生了許多學(xué)習(xí)的心得:在上理論課的時候,要把筆記做好,課堂上的重點容需要記錄下來,尤其是關(guān)于技 術(shù)方面的知識,這些知識的貫通需要通過應(yīng)用來實現(xiàn),在實驗的實踐過程中把理論知識 用起來,達到活學(xué)活用的目的。在完成了本次實驗之后,我對于 SQL代碼的掌握更熟練了,而且對于 C#語法的認(rèn) 識更深刻,在做出體現(xiàn)面向?qū)ο蟮某绦虻哪芰ι?,有所進步。第二部分 實驗二、實驗三目錄實驗二 表查詢 13一 實驗要求 13二 實驗結(jié)果
14、 14實驗三 對象的建立與數(shù)據(jù)更新操作 17一 實驗要求 17二 實驗結(jié)果 19實驗二 表查詢一 實驗要求根據(jù)給定的樣例數(shù)據(jù)庫 pubs, 完成以下查詢操作。1、無條件查詢1) 查找 pub 庫中 authors 表的全部信息。2) 查找其他樣例表中全部信息。2、簡單條件查詢1) 查找 titles 表中全部書號及書名。2) 查找titles 表中價格在$1518元之間的書的書名。3) 查找 titles 表中書名以 T 開頭的書號 , 書名。4) 對其他樣例表構(gòu)造各種簡單查詢條件,進行查詢。3、多條件查詢1) 查找書名起始字符為T,價格小于$16元的書名及價格。2) 查找書名起始字符不為T的
15、,價格大于$16元的書號,書名及價格。3) 對其他樣例表構(gòu)造多個查詢條件,進行查詢。4、用連接操作(或嵌套查詢)進行查詢1) 使用樣例表 titles, publishers 進行查詢 : 查找的名稱以及所出的書名。2) 使用樣例表 authors, titleauthor, titles進行查詢 : 查找作者的姓、名和所寫的書名。3) 對構(gòu)造其他條件,在兩個以上樣例表中進行查詢。5、得到排序的查詢結(jié)果1) 查找作者的姓、名、,并按作者姓、名排列。2) 查找書名和書的價格,按書價由大到小的次序排列。3) 對其他樣例表構(gòu)造查詢條件、排序要求,給出查詢結(jié)果。6、使用函數(shù)進行查找1)列出有多少類書。
16、2)列出書的定價有多少種。3)列出書價最低的書名和書價。4)查出書價最高的書名及書價。5)列出當(dāng)年銷量的總和。6)構(gòu)造其他查詢條件和統(tǒng)計要求,給出查詢結(jié)果。二 實驗結(jié)果select * from authorsselect * from discountsselect *from salesselect *from titlesselect * from employeeselect *from jobsselect * from pub_infoselect * from publishersselect * from royschedselect *from storesselect *f
17、rom titleauthorselect title_id , title from titlesselect from wheretitletitlesprice >15and price <18select from wheretitle_id titles title, titleselecttitle_id, title, pub_idfromtitleswherepub_id<1000selectprice, titlefromtitleswhereprice <16 and title like'T%'selecttitle_id, tit
18、le, pricefromtitleswheretitlenot like'T%' andprice>16selecttitle_id, title, pricefromtitleswheretitlenot like'T%' andprice<=16selectpub_name , titlefromtitles ,publisherswheretitles. pub_id =publishers. pub_idselectau_lname , au_fname , titlefromauthors, titleauthor, titleswher
19、etitles. title_id=titleauthortitle_id'T%'liketitleauthor. au_id =authors . au_idandselect city , title from titles , publisherswheretitles . pub_id=publishers. pub_idselectau_fname , au_lname , phonefromauthorsorderby au_fname , au_lnameselecttitle , pricefromtitlesorderby price descselectti
20、tle , pricefromtitlesorderby price ascselectCOUNT( distincttype )as書的種類fromtitlesselectCOUNT( distinctprice )as定價種類fromtitlesselecttitle , pricefromtitleswhereprice =( selectmin ( price) from titles )selecttitle , pricefromtitleswhere price =( select max( price ) from titles )實驗三對象的建立與數(shù)據(jù)更新操作實驗要求1創(chuàng)建和
21、修改對象(1)創(chuàng)建表對象按照下面的的結(jié)構(gòu)與容建兩個關(guān)系。表名分別以S、T開頭,后面是建表人的學(xué)號(以 下簡記為T*、S* )。先用create table 命令建立表的初始結(jié)構(gòu),表 T*的初始結(jié)構(gòu) 包括下面T*中前四個屬性。然后再用alter table .add.添加一個屬性:QTY庫存量)。 并插入相應(yīng)的容。Titleauthort_nopriceQTY計算機原理一平S309220.80200C語言程序設(shè)計華H1298 15.30300數(shù)據(jù)庫原理王家樹D100722.70150計算機網(wǎng)絡(luò)高明S5690 18.90230ArtificialP.Wi nsto nD200820.50400in
22、 tellige neeExpert systemsR.Ullma nH306717.00370軟件工程魯廷璋S200535.00200Fortra n程序設(shè)計顧學(xué)峰S500618.00180S*T_noPagepub-dateS30923041986D10072801993S50063151987S56903001993H12982101989D20083581994S20052981995H30673071995(2) 用 alter table.alter column.改變屬性 title 的長度。(3) 用子查詢方式建新表。表名以ST開頭,后面為建表人學(xué)號(簡記為ST* )(新表須包
23、括title 和price兩個屬性。)(4) 按t_no建索引,索引名為IT*( *表示建表人的學(xué)號,下同)。(5)用子查詢方式建視圖,視圖名為 VT* ,并在視圖上查找所需信息。(6)刪除以VT*命名的視圖。(7)刪除以ST*命名的表。2、記錄的插入、刪除與更新(1) 同前,用子查詢方式建立表 ST*。該表的屬性應(yīng)有t_no, title, price(2)在 ST* 表中插入一元組:S7028, Digital Image Processing, 36.00(3)刪除書名為“ Fortran程序設(shè)計”的那個元組。(4)刪除書號以H開頭的元組。(5)把書價調(diào)整到原來價格的95%。(6) 把書
24、號以D開頭的那些書的書價減掉2.00元。(7) 將“計算機原理”的書號改為S1135(8)對所建的表,進行各種插入、刪除、更新操作。(9)每次修改表后,可用select查看一下修改后表中的容,看是否滿足要求。3、統(tǒng)計(1)計算T*表中這些書籍的最高書價、最低書價及平均書價。(2)計算T*表中的書的種類是多少。(3)計算S*表中1990年后出版的書有多少。(4)計算總共有多少本書。(5)對樣例表,設(shè)計統(tǒng)計要求,獲得各種統(tǒng)計量。二 實驗結(jié)果/* 1 */*(1)*/create database student use studentcreatetable T631507020418 (Title
25、varchar ( 30),author varchar ( 15), t_no char ( 6), price numeric ( 6, 2) )insertinto T631507020418 ( Title ,author,tno, price )select' 計算機原理 ' , ' 一平 ' , 'S3092''20.8'unionallselect'C 語言程序設(shè)計 ' , ' 華' , 'H1298', '15.3'unionallselect'
26、; 數(shù)據(jù)庫原理 ' , ' 王家樹 ' , 'D1007', '22.7'unionallselect' 計算機網(wǎng)絡(luò) ' , ' 高明 ' , 'S5690''18.9'unionallselect'Artificial intelligence', 'P.Winston', 'D2008'unionallselect'Expert systems', 'R.Ullman', 'H3067
27、' ,'17'unionallselect' 軟件工程 ' , ' 魯廷璋 ' , 'S2005''35'unionallselect'Fortran 程序設(shè)計 ' , ' 顧學(xué)峰 ' , 'S5006'J'18'altertable T631507020418add QTY intupdateT631507020418 set QTY=200wheretno='S3092'updateT631507020418 set QTY
28、=300wheretno='H1298'updateT631507020418 set QTY=150wheretno='D1007'updateT631507020418 set QTY=230wheretno='S5690'updateT631507020418 set QTY=400wheretno='D2008'updateT631507020418 set QTY=370wheretno='H3067'updateT631507020418 set QTY=200wheretno='S2005
29、39;updateT631507020418 set QTY=180wheretno='S5006', '20.5'create table S631507020418 (T_nochar ( 6),pageint ,pub_date date )insertinto S631507020418select'S3092', '304', '1986'unionallselect'D1007', '280', '1993'unionallselect'S5006
30、', '315', '1987'unionallselect'S5690', '300', '1993'unionallselect'H1298', '210', '1989'unionallselect'D2008', '358', '1994'unionallselect'S2005', '298', '1995'unionallselect'H3067', '307', '1995'/*(2)*/altertable T631507020418altercolumnTitlevarchar ( 35)/*(3)*/selectTitle ,priceinto ST631507020418fromT631507020418/*(4)*/createindexon T631507020418 ( t_no )/*(5)*/create view
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 7 不甘屈辱 奮勇抗?fàn)帲ń虒W(xué)設(shè)計)2023-2024學(xué)年統(tǒng)編版道德與法治五年級下冊
- 2025年高頻可變均衡機芯項目投資可行性研究分析報告
- 加法的簡便運算(教學(xué)設(shè)計)-2023-2024學(xué)年四年級下冊數(shù)學(xué)人教版
- Unit 6 Section A Grammar Focus 3a-3d 教學(xué)設(shè)計 2024-2025學(xué)年人教版英語七年級上冊
- 2025至2030年中國機車?yán)^電器數(shù)據(jù)監(jiān)測研究報告
- 2025年耐熱防腐涂料項目可行性研究報告
- 2025至2030年中國高分子雕塑品數(shù)據(jù)監(jiān)測研究報告
- 2025年熱敏POS打印機項目可行性研究報告
- Module 9 Unit 2 Im going to do the high jump(教學(xué)設(shè)計)-2024-2025學(xué)年外研版(三起)英語四年級上冊
- 2025至2030年中國超細硅灰石數(shù)據(jù)監(jiān)測研究報告
- 《道路建筑材料緒論》課件
- 2025年湖南現(xiàn)代物流職業(yè)技術(shù)學(xué)院高職單招職業(yè)技能測試近5年常考版參考題庫含答案解析
- 第二十章手術(shù)減肥及體形塑造美容手術(shù)美容外科學(xué)概論講解
- 2025年蘇州衛(wèi)生職業(yè)技術(shù)學(xué)院高職單招職業(yè)技能測試近5年常考版參考題庫含答案解析
- 履帶式剪叉高空作業(yè)平臺安全操作規(guī)程
- 《水稻育秧技術(shù)新》課件
- 2024-2025年第一學(xué)期初中德育工作總結(jié)
- 圍手術(shù)期手術(shù)患者護理要點
- 2025年大連長興開發(fā)建設(shè)限公司工作人員公開招聘高頻重點提升(共500題)附帶答案詳解
- 貨物學(xué) 課件1.3貨物的計量
- 《鈉離子電池用電解液編制說明》
評論
0/150
提交評論