數(shù)據(jù)庫試驗(yàn)報(bào)告----機(jī)票管理系統(tǒng)_第1頁
數(shù)據(jù)庫試驗(yàn)報(bào)告----機(jī)票管理系統(tǒng)_第2頁
數(shù)據(jù)庫試驗(yàn)報(bào)告----機(jī)票管理系統(tǒng)_第3頁
數(shù)據(jù)庫試驗(yàn)報(bào)告----機(jī)票管理系統(tǒng)_第4頁
數(shù)據(jù)庫試驗(yàn)報(bào)告----機(jī)票管理系統(tǒng)_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、河北工業(yè)大學(xué)計(jì)算機(jī)科學(xué)與軟件學(xué)院數(shù)據(jù)庫原理課程實(shí)驗(yàn)報(bào)告題 目: 機(jī)票預(yù)訂系統(tǒng)角色學(xué)號姓名班級承擔(dān)工作組長108400XXX網(wǎng)絡(luò)C102第一部分組員108456XXX網(wǎng)絡(luò)C102第二部分組員108610XXX網(wǎng)絡(luò)C102第五部分組員108664XXX網(wǎng)絡(luò)C102第三部分組員108438XXX網(wǎng)絡(luò)C102第四部分組員108581XXX網(wǎng)絡(luò)C102第六部分機(jī)票預(yù)訂系統(tǒng)1需求分析為方便旅客,某航空公司擬開發(fā)一個(gè)機(jī)票預(yù)定系統(tǒng)。旅客可通過旅行社 或機(jī)場前臺(tái)向該系統(tǒng)查詢航班情況(按目的地、起飛時(shí)間、航班班次等)。旅行社把預(yù)定機(jī)票的旅客信息(姓名、性別、工作單位、身份證號碼、旅行時(shí)間、旅 行目的地等)輸入該系

2、統(tǒng),系統(tǒng)為旅客安排航班,打印取票通知和賬單,旅客在 收到取票通知和賬單后可交費(fèi)并于飛機(jī)起飛前 24小時(shí)憑取票通知和賬單到機(jī)場 前臺(tái)取票,經(jīng)系統(tǒng)校對信息無誤后打印機(jī)票給旅客,旅客也可以直接到機(jī)場前臺(tái) 購票。旅客也可向系統(tǒng)提出退票要求,系統(tǒng)針對具體情況計(jì)算手續(xù)費(fèi)后進(jìn)行相應(yīng) 退票處理。1 . 1系統(tǒng)功能分析本系統(tǒng)設(shè)有三部分,分為旅行社登錄部分、機(jī)場前臺(tái)登錄部分和管理員登 陸部分。不同部分通過不同的用戶名進(jìn)入機(jī)票預(yù)訂系統(tǒng)的不同界面進(jìn)行操作。1)旅行社界面查詢:可對航班信息進(jìn)行查詢操作;預(yù)訂:可對旅客選定的航班進(jìn)行預(yù)定操作并記錄旅客預(yù)定信息;幫助:提供系統(tǒng)使用幫助文檔;退出:關(guān)閉當(dāng)前頁面。2)機(jī)場前臺(tái)界

3、面查詢:可對航班信息進(jìn)行查詢操作;售票:可對旅客選定的航班進(jìn)行操作記錄旅客信息并打印機(jī)票; 取票:根據(jù)旅客提供的訂單號核實(shí)旅客預(yù)定信息,打印機(jī)票; 退票:根據(jù)旅客提供的訂單號核實(shí)旅客預(yù)定信息,為旅客提供退票服 務(wù);幫助:提供幫助文檔,方便旅客使用該系統(tǒng);退出:關(guān)閉當(dāng)前頁面。3)系統(tǒng)管理員界面查詢機(jī)票信息:可對航班信息進(jìn)行查詢操作;錄入/修改機(jī)票信息:可對旅客信息進(jìn)行添加、修改、瀏覽操作;刪除機(jī)票信息:可對旅客訂票信息進(jìn)行刪除操作;幫助:提供系統(tǒng)使用幫助文檔;退出:關(guān)閉當(dāng)前頁面。機(jī)票預(yù)訂系統(tǒng)主功能圖:機(jī)票預(yù)訂系統(tǒng)數(shù)據(jù)流圖:3.機(jī)票預(yù)訂系統(tǒng)數(shù)據(jù)字典在數(shù)據(jù)流圖的基礎(chǔ)上,定義數(shù)據(jù)字典。數(shù)據(jù)字典是關(guān)丁數(shù)

4、據(jù)庫中數(shù)據(jù)的描述, 它的作用是在軟件分析和設(shè)計(jì)過程中為有關(guān)人員提供關(guān)丁數(shù)據(jù)描述信息的查詢, 以保證數(shù)據(jù)的一致性。下面舉例說明數(shù)據(jù)字典的定義。數(shù)據(jù)項(xiàng)以“訂單號”為例。描述如下:數(shù)據(jù)項(xiàng)名:訂單號別名:訂單號含義:唯一標(biāo)識(shí)旅客預(yù)訂的機(jī)票信息類型:數(shù)字型取值范圍:0000000000至 999999999取值含義:標(biāo)示訂單數(shù)據(jù)結(jié)構(gòu)以“fly表”為例,描述如下:數(shù)據(jù)結(jié)構(gòu)名:fly表含義說明:定義了一個(gè)航班的有關(guān)信息組成:航班號,日期,起飛時(shí)間,到達(dá)時(shí)間,出發(fā)地點(diǎn)、到達(dá)地點(diǎn),票價(jià),票余量數(shù)據(jù)存儲(chǔ)以“預(yù)定機(jī)票信息表”為例,描述如下:數(shù)據(jù)存儲(chǔ)名:lvke表說明:旅客信息表情況流出數(shù)據(jù)流:查詢旅客信息流入數(shù)據(jù)流

5、:填寫訂票信息數(shù)據(jù)描述:身份證號,姓名,性別,聯(lián)系電話,訂單號,日期,目的地,座位號二. 機(jī)票預(yù)訂系統(tǒng)概念結(jié)構(gòu)設(shè)計(jì)根據(jù)需求分析,我們知道機(jī)票預(yù)訂系統(tǒng)的實(shí)體有:航班和旅客。航班實(shí)體的屆性有:航班號,日期,航班起飛時(shí)間,航班到達(dá)時(shí)間,目的地, 票價(jià),票余量旅客實(shí)體的屆性有:身份證號,姓名,聯(lián)系電話,航班號,日期,目的地,座位他們之間有M N的訂購關(guān)系,即一旅客可以定多個(gè)航班,一個(gè)航班也可 以被多個(gè)旅客訂購。按照以上機(jī)票預(yù)定系統(tǒng)總框架圖,設(shè)計(jì)實(shí)體屆性圖以及局部E-R圖系統(tǒng)總結(jié)構(gòu)設(shè)計(jì)視圖 E-R圖三. 機(jī)票預(yù)訂系統(tǒng)邏輯結(jié)構(gòu)設(shè)計(jì)1. E-R圖向關(guān)系模型的轉(zhuǎn)換將圖3.4總體概念結(jié)構(gòu)E-R圖轉(zhuǎn)化成關(guān)系模型。

6、旅行社(賬號,密碼)訂單信息(訂單號,航班號,過期時(shí)間,票價(jià))旅客信息(旅客姓名,性別,身份證號,聯(lián)系方式,訂單號,航班號 )此關(guān)系模型包含關(guān)系“包含”所對應(yīng)的關(guān)系模型機(jī)場前臺(tái)(賬號,密碼)系統(tǒng)管理員(賬號,密碼)機(jī)票信息(航班號,起飛日期,起飛地點(diǎn),到達(dá)地點(diǎn),起飛時(shí)間,到達(dá)時(shí)間, 座位類型,機(jī)票價(jià)格,系統(tǒng)管理員賬號)此模型包含關(guān)系“管理”所對應(yīng)的關(guān)系模型預(yù)定(旅行社賬號,訂單號,航班號,過期時(shí)間,票價(jià))查詢(旅行社賬號,航班號)售票(機(jī)場前臺(tái)賬號,訂單號,航班號)2. 數(shù)據(jù)模型的優(yōu)化1、確定數(shù)據(jù)依賴退票信息(訂單號,旅客姓名,電話號,身份證號)根據(jù)這個(gè)關(guān)系寫出數(shù)據(jù) 依賴訂單號T旅客姓名,訂單

7、號T電話號,訂單號T身份證號旅客(旅客姓名,身份證號,電話號,性別,工作單位 )旅客姓名T身份證號,旅客姓名T電話號,旅客姓名T性別,旅客姓名T工 作單位航班信息表(航班號,起飛地,目的地,起飛時(shí)間)航班號T起飛地,航班號T目的地,航班號T起飛時(shí)間取票通知單(旅客姓名,取票時(shí)間,航班號,座位號,機(jī)票類型)旅客姓名T取票時(shí)間,旅客姓名T航班號,旅客姓名T座位號,旅客姓名T機(jī)票類型航班座位信息表(座位號,航班號,座位信息,機(jī)票類型)(座位號,航班號)T座位信息,(座位號,航班號,座位信息)T機(jī)票類 型2、對各關(guān)系模式問數(shù)據(jù)依賴進(jìn)行極小化處理,消除冗余訂單號T旅客姓名,訂單號T電話號,訂單號T身份證

8、號,旅客姓名T性別旅客姓名T工作單位,旅客姓名T取票時(shí)間,旅客姓名T航班號旅客姓名T座位號,旅客姓名T機(jī)票類型,航班號T起飛地,航班號T目的 地航班號T起飛時(shí)間,(座位號,航班號)T座位信息3、看這些模式是否符合要求,確定是否要對某些模式進(jìn)行合并或者分解最終分解成第三范式:(訂單號,電話號,身份證號)(訂單號,旅客姓名)(旅客姓名,取票時(shí)間, 性別,工作單位,機(jī)票類型)(旅客姓名,航班號)(旅客姓名,座位號)(航 班號,座位號,機(jī)票類型)(航班號,起飛地,目的地,起飛時(shí)間)四. 機(jī)票預(yù)訂系統(tǒng)物理結(jié)構(gòu)設(shè)計(jì)機(jī)票預(yù)訂系統(tǒng)數(shù)據(jù)庫(access)各個(gè)表設(shè)計(jì)如下:機(jī)票預(yù)訂系統(tǒng)旅客信息表(lvke )字段名

9、數(shù)據(jù)類型長度約束姓名文本r 50不為空性別文本2不為空身份證號數(shù)字20不為空電話號數(shù)字11不為空訂單號數(shù)字10主鍵機(jī)票預(yù)訂系統(tǒng)航班信息表(fly )字段名數(shù)據(jù)類型長度約束航班號文本50主鍵起飛時(shí)間時(shí)間/日期不為空到達(dá)時(shí)間時(shí)間/日期r不為空出發(fā)地點(diǎn)文本50到達(dá)地點(diǎn)文本50不為空票價(jià)數(shù)字r不為空票余量數(shù)字不為空五. 部分實(shí)驗(yàn)代碼:5.1添加: aConnection.Open();string strSQLI = "select * from fly where航班號='"+textBox1.Text.Trim() + "”'OleDbCommandc

10、omm1 = new OleDbCommand(strSQL1,aConnection);if (null != comm1.ExecuteScalar()MessageBox.Show("已有此航班,請重新輸入","提示");else try/aConnection.Open();String strSQL = "INSERT INTO fly("+ "起飛日期,航班號,起飛時(shí)間,到達(dá)時(shí)間,起飛地點(diǎn),到達(dá)地點(diǎn),頭等艙票價(jià),公務(wù)艙票價(jià),經(jīng)濟(jì)艙票價(jià),頭等艙余票,公務(wù)艙余票,經(jīng)濟(jì) 艙余票)"+ "VALUES

11、." + dateTimePicker1.Text + "','" + textBox1.Text + "','"textBox2.Text +III III+ textBox3.Text +III III+ textBox4.Text+"','"+ textBox5.Text + "','"+ textBox6.Text+ "','" + textBox7.Text + "','

12、" + textBox8.Text + "','" + textBox9.Text + "','" + textBox10.Text + "','" + textBoxll.Text + "')"OleDbCommand myCmd = new OleDbCommand(strSQL, aConnection);myCmd.ExecuteNonQuery();MessageBox.Show("插入操作成功");OleDbComma

13、nd comm = new OleDbCommand("select * from fly", aConnection);OleDbDataAdapteradapter = newOleDbDataAdapter(comm);OleDbCommandBuilderbuilder = newOleDbCommandBuilder(adapter); DataSet ds = new DataSet(); adapter.Fill(ds, "fly"); dataGridViewl.DataSource = ds.Tables"fly"t

14、extBox1.Clear(); aConnection.Close(); catch (Exception ex) (MessageBox.Show("Errorin handling: "+ex.Message); 5.2刪除: try ( aConnection.Open();string delete_by_id = "delete from fly where航班號='"+ comboBox1.Text.Trim() + "”'OleDbCommandcmd = new OleDbCommand(delete_by_i

15、d,aConnection);cmd.ExecuteNonQuery();MessageBox.Show("刪除成功");OleDbCommand comm = new OleDbCommand("select * from fly", aConnection);OleDbDataAdapteradapter=newOleDbDataAdapter(comm);OleDbCommandBuilderbuilder= newOleDbCommandBuilder(adapter);DataSet ds = new DataSet();adapter.Fil

16、l(ds, "fly");dataGridViewl.DataSource = ds.Tables"fly”;aConnection.Close();catchMessageBox.Show("請選擇準(zhǔn)確的行!");5.3修改:tryString strSql = "Select* From fly"aConnection.Open();dadapter = new OleDbDataAdapter();dadapter.SelectCommand= new OleDbCommand(strSql,aConnection);

17、 dset = new DataSet();dadapter.Fill(dset);aConnection.Close();dataGridView1.DataSource = dset.Tables0;catch (Exception ex)MessageBox.Show("Error in handling: " + ex.Message);5.4查詢:tryString strSql = "Select * From fly where起飛日期='"+dateTimePicker1.Text.Trim() + "'and

18、起飛地點(diǎn)='"+ comboBox1.Text.Trim() + "' and到達(dá)地點(diǎn)='"+ comboBox2.Text.Trim() + "”'aConnection.Open();dadapter = new OleDbDataAdapter();dadapter.SelectCommand= new OleDbCommand(strSql,aConnection); dset = new DataSet();dadapter.Fill(dset);aConnection.Close();dataGridViewl

19、.DataSource = dset.Tables0;catch (Exception ex)(MessageBox.Show("Error in handling: " + ex.Message);六. 機(jī)票預(yù)訂系統(tǒng)操作界面查詢機(jī)票信息子界面:添加修改機(jī)票信息界面:1)添加2)修改機(jī)場前臺(tái)主界面:機(jī)票預(yù)訂界面:起Pt與寶撻地爭起飛時(shí)爪引;尬祉曲-盼£與:旬工1推訂麹回取票界面;六.課程設(shè)計(jì)小結(jié)在數(shù)據(jù)庫課程設(shè)計(jì)過程中,經(jīng)過認(rèn)真的回顧數(shù)據(jù)庫的相關(guān)知識(shí), 并很好的鞏固了 課程設(shè) 計(jì)的基本步驟,掌握了在數(shù)據(jù)庫 理堂設(shè)計(jì)過程中所要遵循的基本原則和環(huán)節(jié);運(yùn)用軟件設(shè)計(jì)中的數(shù)據(jù)庫的增、刪、改、

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論