文章目錄:
在這學期,我們開設了一門課程——數據庫原理及應用,這門課可以說是計算機專業最重要的一門課之一了!!!如果說,你對軟件開發特別感興趣,那麼,就一定要學好數據庫這門課,因爲提到軟件,就會隨之聯想到數據,試問:哪一個軟件沒有數據呢?所以說,學號數據庫這門課程,對我們做項目、進行軟件開發的幫助是非常非常大的!!!
學好數據庫,不能僅僅只會一些SQL語句,還要對這當中的很多概念進行理解掌握,例如:什麼是數據庫的三級模式和兩級映像、數據庫系統具有哪些特點、SQL語句的語法和編寫規則、什麼是1NF、2NF、3NF、BCNF、模式分解中的最小依賴集的求解和無損分解、保持函數依賴的判斷、以及最後的數據庫保護、併發控制。
可以說,數據庫這門課程的知識點非常零碎,但總體來說不算太難,當我們對這些知識學的差不多的時候,就可以自己嘗試着做一個數據庫課程設計,下面,我把自己爲期一週的數據庫課程設計的內容分享給大家,希望可以對大家學習數據庫提供一些有效的幫助!!!👇👇👇
1.設計開篇
-
1.1 設計時間
2020年5月24日——2020年5月31日(時間僅僅是博主留作紀念,證明自己學過數據庫😁😁😁)
-
1.2 設計目的
數據庫原理及應用課程設計是計算機科學與技術專業集中實踐性環節之一,是學習完《數據庫原理及應用》課程後進行的一次全面的綜合性練習。其目的在於加深對數據庫基礎理論和基本知識的理解,掌握使用數據庫進行軟件開發的基本方法,提高運用數據庫解決實際問題的能力,最終實現對於給定的應用環境,構造最優的數據庫模式,建立數據庫及其應用系統,使之能夠有效地存儲數據,滿足各種用戶的應用需求(比如:信息需求和處理需求)。同時,此次設計對於我們將來的畢業論文設計和具體工作的實踐有着重要的意義。
-
1.3 設計任務
本課程設計的任務是通過開發一個數據庫機票預定信息系統,來學習數據庫系統的設計與開發,以及使用Navicat等一些MySQL相關的軟件來作爲開發工具。通過對計算機軟硬件解決方案的論證,對應用領域進行調查分析,同時也會參考各種資料和進行數據庫系統開發實踐。最後,在指導老師的幫助下,能夠自主的來實現課程設計的全部內容。(在這裏,給大家說明一下,數據庫不只有MySQL,還有SQL Server,DB2等,我學習的是MySQL,編寫SQL語句使用的軟件是Navicat)
2.系統概述
隨着全球逐漸的進入信息化時代,各個國家各個地區的航空公司爲了適應當前越來越激烈的競爭,不斷地增強公司的信息化程度、提高公司的售票管理的效率,所以就建立起了相應的不同的機票預訂信息系統,成功實現了航空公司對售票效率和管理水平上的進一步提高。
在計算機網絡、數據庫等一些先進的開發平臺上,利用現有的軟件,配置一定的硬件,可以嘗試的去開發一個具有開放體系結構的、易擴充的、易維護的、具有良好人機交互界面的機票預訂系統,實現航空公司的機票預定和銷售的數據庫管理系統,爲企業的決策層提供準確、精細以及迅速的機票預定銷售信息。
隨着社會發展的不斷進步,人民消費水平的不斷提高,致使民航事業不斷壯大,乘坐民航的消費者也越來越多,因此機票的預定也越發重要,航空公司爲方便客戶出行,需要開發一個機票預訂信息系統。根據預定機票的客戶信息(姓名、身份證號,聯繫方式、出行時間以及出行目的地等),系統經過查詢航空公司內的航班數、每個航班的座艙等級以及座位號等信息,來爲旅客安排合理的航班。
3.設計內容
3.1 需求分析
-
3.1.1 業務需求
機票預定需要提供一下業務:訂票、錄入客戶信息、錄入航班信息、登記機票、查詢機票、航班、客戶信息等。
-
3.1.2 功能需求
業務員從客戶獲得信息並且輸入客戶信息,形成客戶信息表。
業務員輸入航班信息,輸入機票信息,形成航班基本信息表和機票信息表。
通過客戶信息以及機票信息、航班信息形成機票出售信息表。
業務員和客戶查詢信息。
3.2 系統設計
-
3.2.1 概念結構設計
(1)航班信息實體-屬性圖 👇👇👇(由於E-R圖在博文中不太好畫,所以在這裏給大家上傳截圖)
(2)機票信息實體-屬性圖 👇👇👇
(3)客戶信息實體-屬性圖 👇👇👇
(4)機票出售信息實體-屬性圖 👇👇👇
上面是4個局部E-R圖,下面我們根據這4個局部E-R圖總結出全局E-R圖,如下圖所示👇👇👇
-
3.2.2 邏輯結構設計
我們將合併之後的全局E-R圖(機票預定信息系統)轉換爲關係模式(主鍵用下劃線標註)
①航班(航班編號,航班名稱,起飛地點,起飛時間,座位數)
②客戶(姓名,聯繫方式,證件類型,證件號)
③機票(機票號,航班號,座位號,座位等級,票價,是否預定,折扣,業務員)
④售出機票(航班號,起飛時間,機艙等級,票價,折扣,姓名,付款情況,座位號)
-
3.2.3 物理結構設計
根據總體結構圖設計出機票預訂信息系統的基本表的結構。 下面是4個基本表的具體內容👇👇👇
3.3 系統實施
-
3.3.1 數據庫實現
首先,創建機票預訂數據庫,然後根據基本表的結構分別創建四個基本表,具體實現的SQL語句如下:👇👇👇
(1)創建機票預訂數據庫
CREATE DATABASE 機票預定;
(2)創建航班信息表
(3)創建客戶信息表
(4)創建機票信息表
(5)創建售出機票信息表
-
3.3.2 數據載入
(1)航班信息表具體數據
(2)客戶信息表具體數據
(3)機票信息表具體數據
(4)售出機票表具體數據
3.4 運行與測試
-
3.4.1 查詢數據
(1)查詢起飛地點爲“瀋陽”,同時起飛時間是“3:10”的航班信息。
(2)查詢航班號爲“LN002”,同時是經濟艙的機票信息。
(3)查詢王五的客戶信息。
(4)查詢航班號爲“LN003”,同時是貴賓艙的機票售出情況。
-
3.4.2 分析數據
在設計機票預訂信息系統數據庫的時候,很多情況都是需要結合實際生活來一步一步進行的。由於要做的事情是機票的預定,可以將其想象爲操作系統中的實時系統,需要在規定的時間內爲用戶預定機票做出相應的處理。
那麼,在設計每個局部E-R圖以及全局E-R圖的時候,我們需要清楚各個實體、屬性之間的聯繫(比如:哪個屬性作爲主鍵,這個屬性能否爲空)。而在創建每一個基本表的時候,我們需要注意每個屬性用什麼數據類型存儲、以及長度(如若不考慮長度,可能會導致無法存儲或者數據溢出),當然還要記得對字符集的修改(utf8)。
4.總結與心得體會
通過這次數據庫課程設計,我發現在這其中還有很多我們沒有學到、但需要用到的知識,也有很多需要我們進一步掌握的內容。我也慢慢的發現,有很多學過的東西理解的還差不多,但是不能靈活的運用到實際生活中,我想這就需要我們自己不斷地去做大量的實踐,來增加在實際生活中使用這些知識的經驗。通過自己不斷地學習努力,去發現問題、解決問題,在這個過程中,我也會更加深入的理解這學期所學習的數據庫課程的知識,當然也會和其他課程(操作系統、數據結構)有一定的聯繫。
在老師提出數據庫還有一個課程設計的時候,我就開始在網上查找這方面的資料,也清楚了數據庫設計中的這些步驟,從需求分析→概念結構設計→邏輯結構設計→物理結構設計,也算是體驗到了這裏面的不易(也會有一些樂趣)。有些東西書上寫的很清楚,看上去貌似也挺簡單,但真正需要自己來設計完成的時候,才發現這其中的難度所在。
那麼,展望未來,大學畢業之後,無論是否考研,都會面臨着找工作的壓力,從選擇這個專業,到進入這個專業,再到以後從事本專業方面的工作,這是一個循序漸進的過程,更是需要我們不斷地去學習、去實踐,當我們面對困難時,要用於嘗試,去克服它、戰勝它,只有這樣,纔會擁有越來越多的實踐經驗,也會爲我們以後就業提供極大的幫助。
最後想說的是,在本次數據庫課程設計中,由於知識掌握的還不算是很全面,所以在設計過程中,也會出現一些錯誤,希望老師能夠給予批評和指導,我也會認真聽取老師的建議,把數據庫以及其他課程學的更好。
以上就是博主自己花了一個星期的時間,完成的數據庫課程設計——機票預定信息系統,在這其中,其實也可以添加數據庫視圖的創建、對數據進行備份這些操作,感興趣的朋友們可以自己嘗試完成一下。因爲博主本學期剛剛學完數據庫,所以博文中可能難免會出現錯誤,還請大家諒解!!!😀😀😀