版權(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 姓 名: 張 再 朝 課 程 名 稱: 數(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)完成時間: 2017 年 11 月 25 日總 成 績教師簽名23 / 23文檔可自由編輯打印此頁必須保留評分標(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分)功能合理性(
2、20分)功能完善性(10分)個人體會(10分)實(shí)驗(yàn)二10分實(shí)驗(yàn)三10分總成績總體實(shí)驗(yàn)要求:1 排版要求標(biāo)題用黑體四號,段前、段后距6磅(或0.3行);正文用小四號宋體,行距為1.5倍行距。報(bào)告必須生成目錄,目錄必須帶頁碼。2 設(shè)計(jì)報(bào)告需要打印,裝訂,1份/人,理論課考試時交設(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)康?二、實(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é)果及分析8實(shí)驗(yàn)體會
3、11實(shí)驗(yàn)二 表查詢13一 實(shí)驗(yàn)要求13二 實(shí)驗(yàn)結(jié)果14實(shí)驗(yàn)三 對象的建立與數(shù)據(jù)更新操作17一 實(shí)驗(yàn)要求17二 實(shí)驗(yàn)結(jié)果19報(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、課程管理,包含整個學(xué)校開設(shè)的所有課程;3、教學(xué)計(jì)劃管理,包含設(shè)定各系各專業(yè)在哪學(xué)期開設(shè)什么樣的課程,學(xué)分是多少;
4、4、學(xué)生選課管理,包含學(xué)生在某學(xué)期選擇什么樣的課程;5、學(xué)生成績管理,包含學(xué)生各課程的成績、是否補(bǔ)考、補(bǔ)考成績;6、學(xué)生獎懲管理,管理學(xué)生在校期間所獲得的獎勵和懲罰記錄。根據(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 Connectiv
5、ity)技術(shù)為異質(zhì)數(shù)據(jù)庫的訪問提供了統(tǒng)一的接口。ODBC基于SQL(Structured 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è)計(jì)完全和I
6、SO Call-Level Interface兼容 ·現(xiàn)在的ODBC數(shù)據(jù)庫驅(qū)動程序支持55家公司的數(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ū)動程序中實(shí)現(xiàn)。C#提供了一個ODBC驅(qū)動程序的集合;其他的可從經(jīng)銷商那里買到。實(shí)驗(yàn)中即利用ODBC接口來創(chuàng)建.NET下的數(shù)據(jù)庫支持。 五、實(shí)驗(yàn)內(nèi)容1、建立概念模型
7、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" try OdbcDataAdapter adapter = new OdbcDataAdapter(CommandString, odbcConnection); DataSet ds = new DataSet(); ad
8、apter.Fill(ds); dataGridView1.DataSource = ds.Tables0.DefaultView; odbcConnection.Close(); catch (OdbcException ex) MessageBox.Show(ex.Message); 錄入成績,利用數(shù)據(jù)源自動更新 private void button2_Click(object sender, EventArgs e) OdbcCommandBuilder ocd = new OdbcCommandBuilder(adapter); try adapter.Update(ds); cat
9、ch (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 = "select * from S
10、core where Score.CourseNo='" + textBox1.Text + "' " try adapter = new OdbcDataAdapter(CommandString, odbcConnection); adapter.Fill(ds); dataGridView1.DataSource = ds.Tables0.DefaultView; odbcConnection.Close(); catch (OdbcException ex) MessageBox.Show(ex.Message); private void
11、 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),我明白了數(shù)據(jù)庫中的各種
12、操作是怎么回事,這些操作有增加,修改和刪除,基于這些操作,完成了學(xué)生信息管理系統(tǒng)。在用C#完成系統(tǒng)的過程中,重新回顧了高級程序設(shè)計(jì)語言編程的基本語法和思想,由此讓我產(chǎn)生了許多學(xué)習(xí)的心得:在上理論課的時候,要把筆記做好,課堂上的重點(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ū)ο蟮某绦虻哪芰ι希兴M(jìn)步。第二部分 實(shí)驗(yàn)二、實(shí)驗(yàn)三目 錄實(shí)驗(yàn)二 表查詢13一 實(shí)驗(yàn)要求13二 實(shí)驗(yàn)結(jié)果14實(shí)驗(yàn)三 對象的建立與數(shù)據(jù)更新
13、操作17一 實(shí)驗(yàn)要求17二 實(shí)驗(yàn)結(jié)果19實(shí)驗(yàn)二 表查詢一 實(shí)驗(yàn)要求根據(jù)給定的樣例數(shù)據(jù)庫pubs,完成以下查詢操作。1、無條件查詢 1) 查找pub庫中authors表的全部信息。 2) 查找其他樣例表中全部信息。 2、簡單條件查詢 1) 查找titles表中全部書號及書名。 2) 查找titles 表中價格在$1518 元之間的書的書名。 3) 查找titles 表中書名以T 開頭的書號, 書名。 4) 對其他樣例表構(gòu)造各種簡單查詢條件,進(jìn)行查詢。 3、多條件查詢 1) 查找書名起始字符為T,價格小于$16元的書名及價格。 2) 查找書名起始字符不為T的, 價格大于$16元的書號, 書名及價格
14、。 3) 對其他樣例表構(gòu)造多個查詢條件,進(jìn)行查詢。 4、用連接操作(或嵌套查詢)進(jìn)行查詢 1) 使用樣例表titles, publishers 進(jìn)行查詢: 查找出版社的名稱以及所出的書名。 2) 使用樣例表authors, titleauthor, titles進(jìn)行查詢: 查找作者的姓、名和所寫的書名。 3) 對構(gòu)造其他條件,在兩個以上樣例表中進(jìn)行查詢。 5、得到排序的查詢結(jié)果 1)查找作者的姓、名、電話號碼,并按作者姓、名排列。 2)查找書名和書的價格,按書價由大到小的次序排列。 3)對其他樣例表構(gòu)造查詢條件、排序要求,給出查詢結(jié)果。 6、使用函數(shù)進(jìn)行查找 1)列出有多少類書。 2)列出書的
15、定價有多少種。 3)列出書價最低的書名和書價。 4)查出書價最高的書名及書價。 5)列出當(dāng)年銷量的總和。 6)構(gòu)造其他查詢條件和統(tǒng)計(jì)要求,給出查詢結(jié)果。二 實(shí)驗(yàn)結(jié)果select *from authorsselect *from discountsselect *from salesselect *from titlesselect *from employeeselect *from jobsselect *from pub_infoselect *from publishersselect *from royschedselect *from storesselect *from titl
16、eauthorselect title_id,titlefrom titlesselect titlefrom titles where price>15 and price<18select title_id,titlefrom titleswhere title like 'T%'select title_id,title,pub_idfrom titleswhere pub_id<1000select price,titlefrom titleswhere price<16 and title like 'T%'select tit
17、le_id,title,pricefrom titleswhere title not like 'T%' and price>16select title_id,title,pricefrom titleswhere title not like 'T%' and price<=16select pub_name,titlefrom titles,publisherswhere titles.pub_id=publishers.pub_idselect au_lname,au_fname,titlefrom authors,titleauthor,
18、titleswhere titles.title_id=titleauthor.title_id and titleauthor.au_id=authors.au_idselect city,titlefrom titles,publisherswhere titles.pub_id=publishers.pub_idselect au_fname,au_lname,phonefrom authorsorder by au_fname,au_lnameselect title,pricefrom titlesorder by price descselect title,pricefrom t
19、itlesorder by price ascselect COUNT(distinct type) as 書的種類from titlesselect COUNT(distinct price) as 定價種類from titlesselect title,pricefrom titleswhere price=(select min(price)from titles)select title,pricefrom titleswhere price=(select max(price)from titles)實(shí)驗(yàn)三 對象的建立與數(shù)據(jù)更新操作一 實(shí)驗(yàn)要求1 創(chuàng)建和修改對象(1)創(chuàng)建表對象 按照
20、下面的的結(jié)構(gòu)與內(nèi)容建兩個關(guān)系。表名分別以S、T 開頭,后面是建表人的學(xué)號(以下簡記為T*、S* )。先用create table 命令建立表的初始結(jié)構(gòu),表T*的初始結(jié)構(gòu)包括下面T*中前四個屬性。然后再用alter table .add. 添加一個屬性: QTY(庫存量)。并插入相應(yīng)的內(nèi)容。T* Title author t_nopriceQTY計(jì)算機(jī)原理張一平S3092 20.80 200 C語言程序設(shè)計(jì)李華H1298 15.30 300 數(shù)據(jù)庫原理王家樹D1007 22.70 150 計(jì)算機(jī)網(wǎng)絡(luò)高明S5690 18.90 230 Artificial intelligence P.Winst
21、on D2008 20.50 400 Expert systems R.Ullman H3067 17.00 370 軟件工程魯廷璋S2005 35.00 200 Fortran 程序設(shè)計(jì)顧學(xué)峰S5006 18.00 180 S* T_no Page pub-date S3092 304 1986 D1007 280 1993 S5006 315 1987 S5690 300 1993 H1298 210 1989 D2008 358 1994 S2005 298 1995 H3067 307 1995 (2)用alter table.alter column.改變屬性title 的長度。 (
22、3)用子查詢方式建新表。表名以ST 開頭, 后面為建表人學(xué)號(簡記為ST* )。 (新表內(nèi)須包括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)刪除書名為“F
23、ortran 程序設(shè)計(jì)”的那個元組。 (4)刪除書號以H 開頭的元組。 (5)把書價調(diào)整到原來價格的95% 。 (6)把書號以D 開頭的那些書的書價減掉2.00元。 (7)將“計(jì)算機(jī)原理”的書號改為S1135。 (8)對所建的表,進(jìn)行各種插入、刪除、更新操作。 (9)每次修改表后,可用select 查看一下修改后表中的內(nèi)容,看是否滿足要求。 3、統(tǒng)計(jì) (1)計(jì)算T* 表中這些書籍的最高書價、最低書價及平均書價。 (2)計(jì)算T* 表中的書的種類是多少。 (3)計(jì)算S* 表中1990年后出版的書有多少。 (4)計(jì)算總共有多少本書。 (5)對樣例表,設(shè)計(jì)統(tǒng)計(jì)要求,獲得各種統(tǒng)計(jì)量。 二 實(shí)驗(yàn)結(jié)果/*
24、1 */*(1)*/create database studentuse studentcreate table T631507020418(Title varchar(30),author varchar(15),t_no char(6),price numeric(6,2) )insert into T631507020418(Title,author,t_no,price)select '計(jì)算機(jī)原理','張一平','S3092','20.8'union allselect 'C語言程序設(shè)計(jì)','李華&
25、#39;,'H1298','15.3'union allselect '數(shù)據(jù)庫原理','王家樹','D1007','22.7'union allselect '計(jì)算機(jī)網(wǎng)絡(luò)','高明','S5690','18.9'union allselect 'Artificial intelligence','P.Winston','D2008','20.5'union allselec
26、t 'Expert systems','R.Ullman','H3067','17'union allselect '軟件工程','魯廷璋','S2005','35'union allselect 'Fortran程序設(shè)計(jì)','顧學(xué)峰','S5006','18'alter table T631507020418add QTY intupdate T631507020418 set QTY=200 wher
27、e t_no='S3092'update T631507020418 set QTY=300 where t_no='H1298'update T631507020418 set QTY=150 where t_no='D1007'update T631507020418 set QTY=230 where t_no='S5690'update T631507020418 set QTY=400 where t_no='D2008'update T631507020418 set QTY=370 where t_n
28、o='H3067'update T631507020418 set QTY=200 where t_no='S2005'update T631507020418 set QTY=180 where t_no='S5006'create table S631507020418(T_no char(6),page int,pub_date date)insert into S631507020418select 'S3092','304','1986'union allselect 'D1007
29、','280','1993'union allselect 'S5006','315','1987'union allselect 'S5690','300','1993'union allselect 'H1298','210','1989'union allselect 'D2008','358','1994'union allselect 'S2005','298','1995'union allselect 'H3067','307','1995'/*(2)*/alter table T631507020418alter column Title varchar(35)/*(3)*/select Title,price into ST631507020418 from T631507020418/*(4)*/create index IT63on T631507020418(t_no
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 重慶健康職業(yè)學(xué)院《建筑外環(huán)境設(shè)計(jì)》2023-2024學(xué)年第二學(xué)期期末試卷
- 長沙電力職業(yè)技術(shù)學(xué)院《財(cái)務(wù)管理與分析》2023-2024學(xué)年第二學(xué)期期末試卷
- 信陽職業(yè)技術(shù)學(xué)院《金融學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 石家莊郵電職業(yè)技術(shù)學(xué)院《服裝專題設(shè)計(jì)與實(shí)踐》2023-2024學(xué)年第二學(xué)期期末試卷
- 湖北美術(shù)學(xué)院《過程控制專業(yè)實(shí)驗(yàn)》2023-2024學(xué)年第二學(xué)期期末試卷
- 云南輕紡職業(yè)學(xué)院《生活中的稅收》2023-2024學(xué)年第二學(xué)期期末試卷
- 太原旅游職業(yè)學(xué)院《微波與射頻技術(shù)實(shí)驗(yàn)》2023-2024學(xué)年第二學(xué)期期末試卷
- 大連汽車職業(yè)技術(shù)學(xué)院《軟件工程綜合課程設(shè)計(jì)》2023-2024學(xué)年第二學(xué)期期末試卷
- 益陽醫(yī)學(xué)高等??茖W(xué)?!蹲詣踊瘜?dǎo)論》2023-2024學(xué)年第二學(xué)期期末試卷
- 中級經(jīng)濟(jì)師金融專業(yè)-2025中級經(jīng)濟(jì)師考試金融專業(yè)實(shí)務(wù)預(yù)測試卷4
- 軟星酒店網(wǎng)絡(luò)規(guī)劃與設(shè)計(jì)
- 自然辯證法概論(新)課件
- 基層醫(yī)療機(jī)構(gòu)基本情況調(diào)查報(bào)告
- 六西格瑪(6Sigma)詳解及實(shí)際案例分析
- 機(jī)械制造技術(shù)-成都工業(yè)學(xué)院中國大學(xué)mooc課后章節(jié)答案期末考試題庫2023年
- 電解槽檢修施工方案
- 正常分娩 分娩機(jī)制 助產(chǎn)學(xué)課件
- 廣東縣級農(nóng)商銀行聯(lián)社高管候選人公開競聘筆試有關(guān)事項(xiàng)上岸提分題庫3套【500題帶答案含詳解】
- 中國成人住院患者高血糖管理目標(biāo)專家共識課件
- 讀書分享-精力管理課件
- 新上崗干部的90天轉(zhuǎn)身計(jì)劃課件
評論
0/150
提交評論