数据库系统原理课程设计
僅限參考:不要直接拷貝使用。直接拷貝使用、不利于自己的學習進步。加油、加油、加油
課程名稱: 數據庫系統原理課程設計
設計題目:圖書借閱管理系統。
已知技術參數和設計要求:
圖書借閱管理系統
(1)某圖書借閱管理系統需要如下信息:
- 讀者信息,包括身份證號,姓名,性別,電話號碼等。
- 書籍信息,包括書籍ISBN編號,書籍名稱,作者,單價,出版社,出版日期,庫存數等。
- 書籍種類信息,包括書籍種類編號,書籍種類名稱等。
其業務規則描述如下: - 一個讀者可借閱多本書籍,但讀者借閱的書籍數量不能超過十本,讀者借閱書籍時有借閱時間。
- 一個讀者可歸還多本書籍,歸還書籍時有歸還時間,約定讀者借閱書籍的時間若超過30天,歸還時需繳納罰金。
- 一個讀者還可續借多本書籍。
(2)系統功能基本要求:
A. 使用存儲過程完成以下查詢統計。 - 按照一定條件查詢圖書信息,比如圖書名稱、作者、價格范圍等信息。
- 根據讀者姓名查詢讀者的借閱、歸還記錄。
B. 定義一些視圖。 - 統計書籍的借閱情況。
- 顯示客戶的借閱記錄。
C. 使用存儲過程和觸發器模擬完成一個訂單交易
圖書借閱主要包括讀者注冊,登錄,查詢書籍,借閱書籍(注意圖書借閱只面向注冊會員,且注意逾期記錄查詢及圖書庫存等信息),歸還書籍,續借書籍等全過程。
文章目錄
- 摘 要
- 第1章 設計內容與要求
- 1.1、設計背景
- 1.2、設計要求
- 第2章 需求分析
- 2.1、業務描述
- 2.2數據庫設計環境說明
- 2.3數據庫對象命名規則
- 2.4需求分析
- 第3章 數據庫設計
- 3.1系統功能結構
- 3.2、數據庫概念結構設計
- 3.3 數據庫邏輯結構設計
- 3.4 數據庫規范化分析
- 3.5 數據庫物理設計
- 3.6 數據庫安全及維護設計
- 第4章 系統詳細設計
- 4.1 視圖的設計
- 4.2 存儲過程的設計
- 4.3觸發器過程的設計
- 第5章 安全性設計
- 5.1 防止用戶直接操作數據庫的方法
- 5.2 用戶角色與權限
- 總 結
摘 要
隨著科技的發展,傳統的各行各業都有一定的升級發展。閱讀書籍在人們的生活中是一件不可缺少的事情。傳統的書籍借閱方式由人工手動記錄完成、不但耗費大量的人力物力、還會導致一些記錄的失誤。效率不是很理想。通過對書籍進行數字化處理,將書籍以數據的形式保存在數據庫系統中,便于管理員進行數據的管理。其次、讀者可以通過使用計算機在短時間內查詢圖書館是否存在自己所要查詢的書籍,這個是傳統借閱方式所不能達到的;讀者可以自動完成借書還書等一系列操作。讀者個人信息記錄在數據庫中、比如讀者的借閱書籍的數量、應該歸還書籍的時間等。圖書管理員通過操作電腦便可以查詢讀者的借閱情況。可以對讀者進行罰款、根據讀者的誠信記錄來控制讀者能否繼續借書。現代形式的由計算機控制的圖書館借閱系統的管理,不論在效率還是成本上都比傳統形式的有優勢。
第1章 設計內容與要求
1.1、設計背景
隨著網絡技術的發展,網絡技術的應用能給人們的生活帶來方便。傳統形式的圖書借閱管理繁瑣、當借閱人數增加時不利于圖書的管理;圖書的流通率和利用率較低,不利于文獻信息的廣泛傳播和利用。而網絡技術的使用可以解決這一些難題。
1.2、設計要求
具體要求:
- 使用存儲過程完成以下查詢統計。
- 按照一定條件查詢圖書信息,比如圖書名稱、作者、價格范圍等信息。
- 根據讀者姓名查詢讀者的借閱、歸還記錄。
- .定義一些視圖。
- 統計書籍的借閱情況。
- 顯示客戶的借閱記錄。
- 使用存儲過程和觸發器模擬完成一個訂單交易
- 圖書借閱主要包括讀者注冊,登錄,查詢書籍,借閱書籍(注意圖書借閱只面向注冊會員,且注意逾期記錄查詢及圖書庫存等信息),歸還書籍,續借書籍等全過程。
第2章 需求分析
2.1、業務描述
(1)通過計算機網絡技術的應用來管理圖書借閱情況
(2)借閱者可以查詢借閱書籍、當歸還書籍時,圖書管理員能夠判斷其是否能夠借閱書籍。
(3)需要將圖書的所有信息編寫進入數據庫,在查詢時只需輸入相應的圖書編號便能夠查詢到
2.2數據庫設計環境說明
2.3數據庫對象命名規則
2.4需求分析
首先圖書借閱者查詢所借圖書是否存在、如果存在則可以借取,否則不能借取。借取圖書者可以查尋自己借取圖書的相關信息包括借書日期歸還信息。歸還圖書的時候,圖書管理員可以查詢所借圖書是否在正常的歸還書籍的期限之內。若果在正常期限內、還書完成、不影響下次借書。如果超過了還書期限,則根據超出期限的天數,借閱者交納相應的資金。如果借閱者不交資金,下次則不能正常的借書。
借閱者可以按照一定條件查詢圖書的相關信息,根據讀者的姓名可以查詢堵著的借閱、歸還記錄。通過編寫相應的SQL語句可以實現這些基本功能。
第3章 數據庫設計
3.1系統功能結構
3.2、數據庫概念結構設計
3.2.1 借閱者信息實體圖
============================================================================
3.2.2 書籍類別實體圖
============================================================================
3.2.3 書籍信息實體圖
============================================================================
3.2.4 借閱記錄實體圖
============================================================================
3.2.5 還書信息實體圖
============================================================================
3.2.6 罰款信息實體圖
============================================================================
3.2.7 學生實體圖
============================================================================
3.2.8實體之間大的關系圖
3.3 數據庫邏輯結構設計
主鍵用下劃線標識,外鍵用波浪線標識
讀者
1、書籍類別(書籍類別編號、類別名稱)
2、借閱者信息實體(借閱證號、姓名、性別、登記日期、讀者類別)
3、讀者實體(借閱證號、讀者類別、學號、借閱數、電話、身份證號)
4、書籍(書籍編號、書籍名稱、書籍類別編號、作者、出版社、出版日期、價格、是否可借、庫存量)
5、借閱(借閱證號、書籍編號、借閱時間,歸還時間)
6、還書(借閱證號、書籍編號、還書時間)
7、罰款(借閱證號、姓名、書籍名稱、書籍編號、借閱時間、歸還時間、應還時間、罰款金額)
8、讀者類別(讀者類別編號、讀者類別名稱)
3.4 數據庫規范化分析
關于INF、2NF、3NF的區別參考這個文章(下邊的可能有誤、哈哈哈哈哈哈。當時我沒整明白)
https://blog.csdn.net/weixin_43304253/article/details/119696652
在讀者實體關系中,通過學號→借閱數,學號→電話,學號→身份證號,身份證號→學號,學號→讀者類別,非主屬性借閱數,電話,讀者類別能夠被學號唯一標識。但是身份證號可以確定學號,學號也可以唯一標識身份證號,是2nf。
在書籍實體關系中,書籍編號可以確定書籍名稱,書籍類別、作者等一些屬性,屬性之間相互獨立沒有依賴關系。屬于3NF。
3.5 數據庫物理設計
通過對本數據庫表的功能進行詳細描述和匯總得到XX系統表匯總如表3.1所示:
3.6 數據庫安全及維護設計
- 1、用戶身份鑒別作為數據庫管理系統提供的最外層安全防護措施。每個用戶在系統中都有一個用戶標識。系統內部記錄著所有合法用戶的標識,每次用戶進入系統、由系統進行核對,通過鑒定后才能提供使用數據庫管理系統的權限。可以通過靜態口令鑒別、動態口令鑒別、生物特征鑒別、智能卡鑒別
- 2、定義用戶權限和合法權限檢查機制一起組成數據庫管理系統的存取控制子系統,通過授權給合法用戶,使其具有對數據庫的相關操作,同時也可以撤銷其的相關權限。其中自主存取控制較為普遍,通過授權給用戶對數據庫的操作,強制存取控制方法采用分等級的形式來對數據庫操作。不同的等級所能查看到和修改的數據不同,低級的不能查看高級的數據。
- 3、可以為不同的用戶定義不同的視圖、把數據對象限制在一定的范圍內。通過視圖機制把要保護的數據對無權存取的用戶隱藏起來,從而對數據提供一定程度的安全保護。
- 4、對借閱者和書籍兩類實體設置觸發器。每當借閱者借閱一本圖書,借閱書籍的總數目會增加,而圖書館的圖書數目則減少。當借閱書籍達到一定的數量,讀者不能繼續借書;圖書館某一類書籍為0時,則不能借閱該書籍。對于特定的系統事件發生時,對規則的條件進行檢查,如果條件成立則執行規則中的動作。
- 5、通過完整數據庫備份+日志備份策略。當數據庫出現數據丟失或災難,可以將數據庫恢復到故障點,從而恢復所有數據。
第4章 系統詳細設計
4.1 視圖的設計
1、建立一個查詢讀者信息的視圖
目的:顯示讀者的信息
功能:便于管理員了解到讀者的信息
意義:便于管理
結果:
2、建立一個查詢讀者借閱圖書的信息視圖
目的:顯示讀者借閱信息
功能:便于管理員了解到借閱者何時歸還書籍
意義:便于管理員通知讀者歸還圖書時期通知
結果
3、建立一個查詢圖書書籍分類的信息視圖
目的:顯示書籍類別信息
功能:通過輸入書籍編號便可查詢書籍屬于哪個類型的書籍
意義:便于讀者找尋圖書,管理員整理歸還圖書
結果
4.2 存儲過程的設計
(1)用戶注冊存儲過程
目的:存儲插入的客戶信息
功能:插入客戶信息
意義:下次重復同樣能夠的操縱時,可直接執行存儲過程,簡化操作步驟
結果
(2)管理員存儲圖書過程
目的:向圖書館增添書籍
功能: 通過寫入一本書的詳細信息,書籍入庫
意義:方便管理員增添書籍
結果
(3)根據圖書的編號查詢書籍
目的:查找自己所需要的圖書
功能:通過輸入書籍編號進行查詢
意義:便于操作,短時間便能在大量圖書中查找自己所要
測試
(4)根據讀者的姓名查詢書籍借閱歸還
目的:查詢自己曾看過的書籍
功能:通過輸入個人信息進行查詢借書記錄
意義:更好的幫助自己選擇書籍閱讀
測試結果
4.3觸發器過程的設計
(1)借書觸發器的設計
目的:控制借閱量和圖書數量變化
功能:通過增加一條借閱記錄,判斷讀者的借閱量是否可借,圖書館書籍是否可借
意義:實現讀者借書量和書籍量的動態變化
(1)還書觸發器的設計
目的:控制借閱量和圖書數量變化
功能:通過增加一條還書記錄,讀者可借書數目增加1,對應書籍的庫存量增加1
意義:實現讀者借書量和書籍量的動態變化
第5章 安全性設計
5.1 防止用戶直接操作數據庫的方法
1、做一個中間層,放在服務器運行,客戶端程序向中間層程序申請數據。
2、為用戶分組,在數據庫中對用戶進行權限設置。
3、寫存儲過程,用存儲過程訪問數據庫數據,然后對存儲過程設置權限
5.2 用戶角色與權限
總 結
通過本次課程設計我對數據庫的基礎知識有了更加深刻的了解,能夠運用SQL語句實現一些功能需求。通過不同知識的聯合使用可以解決一些生活中的實際問題,對自己靈活掌握知識有很大的幫助。在使用數據庫實現項目時,首先需要了解業務的流程和其需要實現的功能需求,然后設計概念模型、然后轉化為邏輯模型、然后就是編程實現業務邏輯。整體業務需要在開始實現前規劃好流程,要不在實現過程中會遇到很多麻煩。在開始設計前,考慮到各種情況,擇優選擇設計概念和方法對后來的實現工作至關重要。在完成整個設計后,其次進行編碼實現,最后進行數據測試。通過在失敗中找到不足,可以幫助自己很好地提高,在系統實現的過程中自己也遇到了很多的麻煩,通過查詢資料和閱讀文獻資料也能找到方法解決問題。編程是一個不斷學習的過程,在每一次的實戰中都會學習到一些新的技巧和方法。自己也得到了進一步的提高。
總結
以上是生活随笔為你收集整理的数据库系统原理课程设计的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 虚拟人出新晋卷王,无薪工作70天却没人认
- 下一篇: 判断2个list中是否有相同的数据(相交