版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、重慶交通大學(xué)信息科學(xué)與工程學(xué)院設(shè)計(jì)性 實(shí) 驗(yàn)報(bào)告專業(yè):計(jì)算機(jī)科學(xué)與技術(shù)班級:2015 級4 班學(xué)號:631507020418姓名:張?jiān)俪n程名稱:數(shù)據(jù)庫原理課程實(shí)驗(yàn)實(shí)驗(yàn)項(xiàng)目性質(zhì):設(shè)計(jì)性實(shí)驗(yàn)實(shí)驗(yàn)所屬課程:數(shù)據(jù)庫原理B實(shí)驗(yàn)室(中心):軟件與通信實(shí)驗(yàn)室指導(dǎo)教師: 王家偉實(shí)驗(yàn)完成時(shí)間: 2017 年11月25日總成績教師簽名此頁必須保留評分標(biāo)準(zhǔn)及成績實(shí)驗(yàn)名稱評分細(xì)則評分實(shí)驗(yàn)四報(bào)告表述的清晰程度和完整 性(20分)概念模型的合理性(實(shí)驗(yàn)一 內(nèi)容)(10分)邏輯模型的合理性(實(shí)驗(yàn)一 內(nèi)容)(10分)功能合理性(20分)功能完善性(10分)個(gè)人體會(10分)實(shí)驗(yàn)二10分實(shí)驗(yàn)三10分總成績總體實(shí)驗(yàn)要求:1排版
2、要求標(biāo)題用黑體四號,段前、段后距6磅(或0.3行);正文用小四號宋體,行距為1.5 倍行距。報(bào)告必須生成目錄,目錄必須帶頁碼。2設(shè)計(jì)報(bào)告需要打印,裝訂,1份/人,理論課考試時(shí)交設(shè)計(jì)報(bào)告。3各班學(xué)習(xí)委員收集每位同學(xué)做的成果, 包含數(shù)據(jù)庫的備份、程序源代碼和運(yùn)行配 置說明,并將每位同學(xué)的成果拷貝到軟件與通信實(shí)驗(yàn)室的教師機(jī)上。實(shí)驗(yàn)四目錄報(bào)告正文4一、實(shí)驗(yàn)?zāi)康?4二、實(shí)驗(yàn)題目 4三、實(shí)驗(yàn)涉及儀器設(shè)備和材料清單(或軟件) 4四、實(shí)驗(yàn)原理 5五、實(shí)驗(yàn)內(nèi)容 5六、實(shí)驗(yàn)步驟及代碼分析 6七、實(shí)驗(yàn)結(jié)果及分析實(shí)驗(yàn)體會11實(shí)驗(yàn)二 表查詢 13一 實(shí)驗(yàn)要求二 實(shí)驗(yàn)結(jié)果實(shí)驗(yàn)要求實(shí)驗(yàn)結(jié)果13141719實(shí)驗(yàn)三 對象的建立
3、與數(shù)據(jù)更新操作17報(bào)告正文一、實(shí)驗(yàn)?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)用程序的方法。二、實(shí)驗(yàn)題目某大學(xué)需要使用計(jì)算機(jī)管理學(xué)生信息、成績信息等,要求如下:1、學(xué)生信息管理,包含學(xué)生的基本信息,如學(xué)號、姓名、性別、出生日期等;還要包含學(xué)生的簡歷、社會關(guān)系等;2、課程管理,包含整個(gè)學(xué)校開設(shè)的所有課程;3、教學(xué)計(jì)劃管理,包含設(shè)定各系各專業(yè)在哪學(xué)期開設(shè)什么樣的課程,學(xué)分是多少;4、學(xué)生選課管理,包含學(xué)生在某學(xué)期選擇什么樣的課程;5、學(xué)生成績管理,包含學(xué)生各課程的成績、是否補(bǔ)考、補(bǔ)考
4、成績;6、學(xué)生獎(jiǎng)懲管理,管理學(xué)生在校期間所獲得的獎(jiǎng)勵(lì)和懲罰記錄。根據(jù)實(shí)驗(yàn)一的結(jié)果,完成設(shè)計(jì)。可以根據(jù)自己的實(shí)際情況實(shí)現(xiàn)一部分也可。三、實(shí)驗(yàn)涉及儀器設(shè)備和材料清單(或軟件)操作系統(tǒng):Windows10軟件: Visual Studio Professional 2017, Power Designer 15.1實(shí)現(xiàn)語言:C#開發(fā)平臺:.NET Framework 4數(shù)據(jù)庫:SQL Server 2014四、實(shí)驗(yàn)原理Microsoft推出的ODBC(Open Database Connectivity)技術(shù)為異質(zhì)數(shù)據(jù)庫的訪問提供 了統(tǒng)一的接口。ODBC基于SQL(Structured Query
5、Language)并把它作為訪問數(shù)據(jù)庫的 標(biāo)準(zhǔn)。這個(gè)接口提供了最大限度的相互可操作性:一個(gè)應(yīng)用程序可以通過一組通用的代 碼訪問不同的數(shù)據(jù)庫管理系統(tǒng)。一個(gè)軟件開發(fā)者開發(fā)的客戶/服務(wù)器應(yīng)用程序不會被束定于某個(gè)特定的數(shù)據(jù)庫之上。ODBC 可以為不同的數(shù)據(jù)庫提供相應(yīng)的驅(qū)動(dòng)程序。ODBC 的靈活性表現(xiàn)在以下幾個(gè)方面: 應(yīng)用程序不會受制于某種專用的 API SQL語句以源代碼的方式直接嵌入在應(yīng)用程序中 應(yīng)用程序可以以自己的格式接收和發(fā)送數(shù)據(jù) ODBC 的設(shè)計(jì)完全和 ISO Call-Level Interface 兼容 現(xiàn)在的ODBC數(shù)據(jù)庫驅(qū)動(dòng)程序支持55家公司的數(shù)據(jù)產(chǎn)品最新推出的ODBC 3.0 已經(jīng)升
6、級到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ū)動(dòng)程序中實(shí)現(xiàn)。 C#提供了一個(gè) ODBC驅(qū)動(dòng)程序的集合;其他的可從經(jīng)銷商那里買到。實(shí)驗(yàn)中即利用 ODBC 接口來創(chuàng)建.NET 下的數(shù)據(jù)庫支持。五、實(shí)驗(yàn)內(nèi)容1、建立概念模型Z7E4«M:lfLKsL SC二 i二u* 廠匚17二4: J EirW :MJIC-4ffl 唐 一T紀(jì):i*K*箍 I
7、'2'Lt L mi auh M*MiLLUxdbLEa.KULlTiPE * KE:2、利用Power Designer生成的SQL語句建立相關(guān)數(shù)據(jù)表3、利用C#進(jìn)行相關(guān)軟件開發(fā)六、實(shí)驗(yàn)步驟及代碼分析查詢部分:private void 查詢課程 ToolStripMenuItem_Click( object sender, EventArgs e) string CommandString = "select * from Course"tryOdbcDataAdapter adapter =new OdbcDataAdapter(CommandStrin
8、g, odbcConnection);DataSet ds =new DataSet();adapter.Fill(ds);dataGridViewl.DataSource = ds.Tables0.DefaultView;odbcConnection.Close();catch (OdbcException ex)MessageBox.Show(ex.Message);錄入成績,利用數(shù)據(jù)源自動(dòng)更新private void button2_Click(object sender, EventArgs e) OdbcCommandBuilder ocd =new OdbcCommandBuild
9、er(adapter); try adapter.Update(ds);catch (Exception ex)MessageBox.Show(ex.Message);this.Close();return;MessageBox.Show"成功");this.Close();更改成績,利用數(shù)據(jù)源自動(dòng)更新private void button1_Click(object sender, EventArgs e) /dataGridView1.DataSource = null;ds.Clear();dataGridView1.Update();string CommandSt
10、ring = "select * 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.Mes
11、sage);private void button2_Click(object sender, EventArgs e) OdbcCommandBuilder ocd =new OdbcCommandBuilder(adapter); try adapter.Update(ds);catch (Exception ex)MessageBox.Show(ex.Message);this.Close();return;MessageBox.Show"成功");this.Close();七、實(shí)驗(yàn)結(jié)果及分析登錄界面:查詢界面:增加界面:修改界面:刪除界面:實(shí)驗(yàn)體會通過本次實(shí)驗(yàn),我明
12、白了數(shù)據(jù)庫中的各種操作是怎么回事,這些操作有增加,修改和刪除,基于這些操作,完成了學(xué)生信息管理系統(tǒng)。在用C#完成系統(tǒng)的過程中,重新回顧了高級程序設(shè)計(jì)語言編程的基本語法和思想,由此讓我產(chǎn)生了許多學(xué)習(xí)的心得:在上理論課的時(shí)候,要把筆記做好,課堂上的重點(diǎn)內(nèi)容需要記錄下來,尤其是關(guān)于技術(shù)方面的知識,這些知識的貫通需要通過應(yīng)用來實(shí)現(xiàn),在實(shí)驗(yàn)的實(shí)踐過程中把理論知識用起來,達(dá)到活學(xué)活用的目的。在完成了本次實(shí)驗(yàn)之后,我對于 SQL代碼的掌握更熟練了,而且對于 C#法的認(rèn) 識更深刻,在做出體現(xiàn)面向?qū)ο蟮某绦虻哪芰ι?,有所進(jìn)步。第二部分實(shí)驗(yàn)二、實(shí)驗(yàn)三目錄實(shí)驗(yàn)二表查詢 131 實(shí)驗(yàn)要求 132 實(shí)驗(yàn)結(jié)果 14實(shí)驗(yàn)三
13、對象的建立與數(shù)據(jù)更新操作171 實(shí)驗(yàn)要求 172 實(shí)驗(yàn)結(jié)果 19表查詢一 實(shí)驗(yàn)要求根據(jù)給定的樣例數(shù)據(jù)庫pubs, 完成以下查詢操作。1、無條件查詢1)查找pub庫中authors表的全部信息。2) 查找其他樣例表中全部信息。2、簡單條件查詢1) 查找 titles 表中全部書號及書名。2)查找titles表中價(jià)格在$1518元之間的書的書名。3) 查找 titles 表中書名以T 開頭的書號, 書名。4) 對其他樣例表構(gòu)造各種簡單查詢條件,進(jìn)行查詢。3、多條件查詢1)查找書名起始字符為T,價(jià)格小于$16元的書名及價(jià)格。2)查找書名起始字符不為T的,價(jià)格大于$16元的書號,書名及價(jià)格。3) 對其
14、他樣例表構(gòu)造多個(gè)查詢條件,進(jìn)行查詢。4、用連接操作(或嵌套查詢)進(jìn)行查詢1) 使用樣例表titles, publishers 進(jìn)行查詢: 查找出版社的名稱以及所出的書名。2) 使用樣例表authors, titleauthor, titles進(jìn)行查詢: 查找作者的姓、名和所寫的書名。3) 對構(gòu)造其他條件,在兩個(gè)以上樣例表中進(jìn)行查詢。5、得到排序的查詢結(jié)果1)查找作者的姓、名、電話號碼,并按作者姓、名排列。2)查找書名和書的價(jià)格,按書價(jià)由大到小的次序排列。3)對其他樣例表構(gòu)造查詢條件、排序要求,給出查詢結(jié)果。6、使用函數(shù)進(jìn)行查找1)列出有多少類書。2)列出書的定價(jià)有多少種。3)列出書價(jià)最低的書名
15、和書價(jià)。4)查出書價(jià)最高的書名及書價(jià)。5)列出當(dāng)年銷量的總和。6)構(gòu)造其他查詢條件和統(tǒng)計(jì)要求,給出查詢結(jié)果。二 實(shí)驗(yàn)結(jié)果select *from authors select *from discountsselect*from salesselect * from titles select *from employee select *from jobsselect * from pub_info select *from publishers select *from royschedfrom storesselect*from titleauthorselecttitle_id, ti
16、tlefrom titles select titlefrom titleswhere price >15 and price <18 select title_id , title from titles where title like 'T% select title_id , title , pub_idfrom titleswhere pub_id <1000select price , titlefrom titleswhere price <16 and title like 'T%select title_id , title from
17、titleswhere title not likeselect title_id , title from titleswhere title not like, price'T%' and price >16, price'T%' and price <= 16select pub_name , titlefrom titles , publisherswhere titles . pub_id =publishers . pub_idselect au_lname , au_fname , titleandfrom authors , titl
18、eauthor , titleswhere titles . title_id =titleauthor . title_id titleauthor . au_id =authors . au_idfrom titles , publisherswhere titles . pub_id =publishers . pub_idselect au_fname , au_lname , phonefrom authorsorder by au_fname , au_lnameselect title , price from titlesorder by price descselect ti
19、tle , price from titlesorder by price ascselectCOUNT( distinctfrom titlesselectCOUNT( distinctfrom titlesselect title , price from titleswhere price =( selectselect title , price from titleswhere price =( selecttype ) as 書的種類price ) as 定價(jià)種類min ( price ) from titles )max( price ) from titles )實(shí)驗(yàn)三對象的建
20、立與數(shù)據(jù)更新操作實(shí)驗(yàn)要求1創(chuàng)建和修改對象(1)創(chuàng)建表對象按照下面的的結(jié)構(gòu)與內(nèi)容建兩個(gè)關(guān)系。表名分別以 S T開頭,后面是建表人的學(xué) 號(以下簡記為T*、S* )。先用create table命令建立表的初始結(jié)構(gòu),表 T*的初始 結(jié)構(gòu)包括下面T*中前四個(gè)屬性。然后再用alter table .add.添加一個(gè)屬性:QTY(庫存量)。并插入相應(yīng)的內(nèi)容。T*Titleauthort_nopriceQTY計(jì)算機(jī)原理張一平S309220.80200C語言程序設(shè)計(jì)李華H1298 15.30300數(shù)據(jù)庫原理王家樹D100722.70150計(jì)算機(jī)網(wǎng)絡(luò)高明S5690 18.90230Artificialinte
21、lligenceP.WinstonD200820.50400Expert systemsR.UllmanH306717.00370軟件工程魯廷璋S200535.00200Fortran 程序設(shè)計(jì)顧學(xué)峰S500618.00180S*T_noPagepub-dateS30923041986D10072801993S50063151987S56903001993H12982101989D20083581994S20052981995H30673071995(2)用 alter table.alter column.改變屬性 title的長度。(3)用子查詢方式建新表。表名以 ST開頭,后面為建表人學(xué)
22、號(簡記為ST* )(新表內(nèi)須包括title 和price兩個(gè)屬性。)(4)按t_no建索引,索引名為IT* (*表示建表人的學(xué)號,下同)。(5)用子查詢方式建視圖,視圖名為 VT* ,并在視圖上查找所需信息。(6)刪除以VT*命名的視圖。(7)刪除以ST*命名的表。2、記錄的插入、刪除與更新(1)同前,用子查詢方式建立表 ST* o該表的屬性應(yīng)有t_no, title, price(2)在 ST* 表中插入一元組:S7028, Digital Image Processing, 36.00(3)刪除書名為“Fortran程序設(shè)計(jì)”的那個(gè)元組。(4)刪除書號以H開頭的元組。(5)把書價(jià)調(diào)整到原
23、來價(jià)格的95%。(6)把書號以D開頭的那些書的書價(jià)減掉2.00元。(7)將“計(jì)算機(jī)原理”的書號改為 S113s(8)對所建的表,進(jìn)行各種插入、刪除、更新操作。(9)每次修改表后,可用select查看一下修改后表中的內(nèi)容,看是否滿足要求。3、統(tǒng)計(jì)(1)計(jì)算T*表中這些書籍的最高書價(jià)、最低書價(jià)及平均書價(jià)。(2)計(jì)算T*表中的書的種類是多少。(3)計(jì)算S*表中1990年后出版的書有多少。(4)計(jì)算總共有多少本書。(5)對樣例表,設(shè)計(jì)統(tǒng)計(jì)要求,獲得各種統(tǒng)計(jì)量。實(shí)驗(yàn)結(jié)果/* 1 */*(1)*/createdatabase studentuse studentcreatetable T631507020
24、418 (Titlevarchar(30 ),authorvarchar(15),t_nochar ( 6),pricenumeric(6, 2) )insert into T631507020418 ( Title , author , t_no , price )select ' 計(jì)算機(jī)原理' , ' 張一平 ' , 'S3092' , '20.8'union allselect 'C 語言程序設(shè)計(jì)' , ' 李華 ' , 'H1298' , '15.3'unio
25、n allselect ' 數(shù)據(jù)庫原理' , ' 王家樹 ' , 'D1007' , '22.7'union allselect ' 計(jì)算機(jī)網(wǎng)絡(luò)' , ' 高明 ' , 'S5690' , '18.9', '20.5'union allselect 'Artificial intelligence', 'P.Winston' , 'D2008'union allselect 'Expert sys
26、tems' , 'R.Ullman' , 'H3067' , '17' union allselect ' 軟件工程' , ' 魯廷璋 ' , 'S2005' , '35'union allselect 'Fortran 程序設(shè)計(jì)' , ' 顧學(xué)峰 ' , 'S5006' , '18'alter table T631507020418add QTY intupdateT631507020418setQTY=200
27、wheret_no='S3092'updateT631507020418setQTY=300wheret_no='H1298'updateT631507020418setQTY=150wheret_no='D1007'updateT631507020418setQTY=230wheret_no='S5690'updateT631507020418setQTY=400wheret_no='D2008'updateT631507020418setQTY=370wheret_no='H3067'updat
28、eT631507020418setQTY=200wheret_no='S2005'updateT631507020418setQTY=180wheret_no='S5006'create table S631507020418 (T_nochar ( 6),pageint ,pub_date date )select'S3092', '304', '1986'unionallselect'D1007', '280', '1993'unionallselect'
29、S5006', '315', '1987'unionallselect'S5690', '300', '1993'unionallselect'H1298', '210', '1989'unionallselect'D2008', '358', '1994'unionallselect'S2005', '298', '1995'unionallselect'H3067', '307', '1995'S631507020418insertinto/*(2)*/alter table T631507020418alter column Title varchar ( 35)/*(3)*/select Title , price into ST631507020418from T631507020418/*(4)*/create index IT6315070200418on T631507020418 ( t_no )/*(5)*/create view VT631507020418 as
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版國際金融風(fēng)險(xiǎn)管理合同范本3篇
- 二零二五版建筑工地勞務(wù)用工及社會保障服務(wù)合同范本3篇
- 二零二五年酒店客房協(xié)議價(jià)優(yōu)惠合作合同3篇
- 2024政府采購合同環(huán)境與安全監(jiān)督協(xié)議3篇
- 2025年新型城鎮(zhèn)化項(xiàng)目水電設(shè)施安裝施工合同3篇
- 二零二五版板房租賃與租賃期滿資產(chǎn)評估與轉(zhuǎn)讓合同3篇
- 二零二五年度出租車司機(jī)服務(wù)規(guī)范與客戶滿意度提升合同3篇
- 二零二五年透水混凝土工程驗(yàn)收與評估合同2篇
- 二零二五年智能交通管理系統(tǒng)采購合同3篇
- 二零二五版房屋代理租賃資產(chǎn)評估合同3篇
- 蓋洛普Q12解讀和實(shí)施完整版
- 2023年Web前端技術(shù)試題
- GB/T 20840.8-2007互感器第8部分:電子式電流互感器
- GB/T 14864-2013實(shí)心聚乙烯絕緣柔軟射頻電纜
- 品牌策劃與推廣-項(xiàng)目5-品牌推廣課件
- 信息學(xué)奧賽-計(jì)算機(jī)基礎(chǔ)知識(完整版)資料
- 發(fā)煙硫酸(CAS:8014-95-7)理化性質(zhì)及危險(xiǎn)特性表
- 數(shù)字信號處理(課件)
- 公路自然災(zāi)害防治對策課件
- 耳鳴中醫(yī)臨床路徑
- 安徽身份證號碼前6位
評論
0/150
提交評論