新聞中心
引言

成都創(chuàng)新互聯(lián)公司專注于網(wǎng)站建設(shè),為客戶提供成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站、網(wǎng)頁設(shè)計(jì)開發(fā)服務(wù),多年建網(wǎng)站服務(wù)經(jīng)驗(yàn),各類網(wǎng)站都可以開發(fā),成都品牌網(wǎng)站建設(shè),公司官網(wǎng),公司展示網(wǎng)站,網(wǎng)站設(shè)計(jì),建網(wǎng)站費(fèi)用,建網(wǎng)站多少錢,價(jià)格優(yōu)惠,收費(fèi)合理。
在當(dāng)今信息時代,數(shù)據(jù)庫已經(jīng)成為信息技術(shù)的重要組成部分。數(shù)據(jù)庫應(yīng)用廣泛,從個人電腦到企業(yè)的服務(wù)器,都需要使用數(shù)據(jù)庫來存儲、管理和處理數(shù)據(jù)。因此,對于計(jì)算機(jī)專業(yè)的學(xué)生來說,學(xué)習(xí)數(shù)據(jù)庫是至關(guān)重要的。課程設(shè)計(jì)是學(xué)生學(xué)習(xí)數(shù)據(jù)庫的重要組成部分,通過數(shù)據(jù)庫課程設(shè)計(jì),學(xué)生可以更好地理解和應(yīng)用數(shù)據(jù)庫知識。
本文將介紹一個基于數(shù)據(jù)庫課程設(shè)計(jì)的圖書管理系統(tǒng)。系統(tǒng)的設(shè)計(jì)思路、數(shù)據(jù)架構(gòu)和功能實(shí)現(xiàn)將被詳細(xì)闡述,以期為學(xué)習(xí)數(shù)據(jù)庫的初學(xué)者提供參考和幫助。
設(shè)計(jì)思路
圖書管理系統(tǒng)是一個基于數(shù)據(jù)庫的應(yīng)用系統(tǒng),其目的在于幫助圖書館、書店或其他組織管理其圖書收藏。在該系統(tǒng)中,用戶可以完成一系列的操作,包括添加、刪除、查詢和借閱書籍。圖書管理系統(tǒng)的設(shè)計(jì)思路應(yīng)該包括以下三個方面:
1. 數(shù)據(jù)庫的設(shè)計(jì)
在圖書管理系統(tǒng)中,數(shù)據(jù)庫是該系統(tǒng)的核心。合理的數(shù)據(jù)庫設(shè)計(jì)可以使系統(tǒng)更加高效、穩(wěn)定和易用。數(shù)據(jù)庫應(yīng)該包括以下幾個方面:
(1)用戶數(shù)據(jù)表:包括用戶名、密碼、用戶類型等重要信息。
(2)圖書數(shù)據(jù)表:包括書名、作者、出版社、價(jià)格等圖書基本信息。
(3)借閱數(shù)據(jù)表:包括借閱者、書籍編號、借閱時間等信息。
(4)歸還數(shù)據(jù)表:包括還書的時間、借閱者和書籍編號等信息。
2. 系統(tǒng)的架構(gòu)
在設(shè)計(jì)系統(tǒng)架構(gòu)時,需要考慮到系統(tǒng)的可擴(kuò)展性和靈活性。系統(tǒng)可以采用分層設(shè)計(jì)的方式,包括用戶界面層、業(yè)務(wù)邏輯層和數(shù)據(jù)存儲層。用戶界面層負(fù)責(zé)與用戶交互,業(yè)務(wù)邏輯層負(fù)責(zé)系統(tǒng)中的所有業(yè)務(wù)邏輯,數(shù)據(jù)存儲層負(fù)責(zé)將數(shù)據(jù)存儲到數(shù)據(jù)庫中。
3. 功能的實(shí)現(xiàn)
系統(tǒng)的功能應(yīng)該包括以下幾方面:
(1)用戶登錄:需要實(shí)現(xiàn)對用戶信息的校驗(yàn),只有合法的用戶才能登錄系統(tǒng)。
(2)圖書查詢:用戶可以根據(jù)書名、作者、出版社等信息查詢圖書。
(3)圖書添加和刪除:管理員可以添加和刪除圖書信息。
(4)借閱操作:用戶可以借閱圖書,借閱時需要記錄借閱者和借閱時間等信息。
(5)歸還操作:用戶可以歸還圖書,歸還時需要記錄還書的時間。
數(shù)據(jù)架構(gòu)
在本系統(tǒng)中,數(shù)據(jù)庫的結(jié)構(gòu)如下:
1. 用戶數(shù)據(jù)表
該表包括的字段如下:
字段名 類型 備注
user_id int 用戶編號
user_name varchar 用戶名
user_pwd varchar 密碼
user_type int 用戶類型
2. 圖書數(shù)據(jù)表
該表包括的字段如下:
字段名 類型 備注
book_id int 圖書編號
book_name varchar 圖書名稱
book_author varchar 圖書作者
book_press varchar 出版社
book_price decimal(8,2) 圖書價(jià)格
3. 借閱數(shù)據(jù)表
該表包括的字段如下:
字段名 類型 備注
borrow_id int 借閱編號
book_id int 圖書編號
user_id int 借閱者編號
borrow_time datetime 借閱時間
4. 歸還數(shù)據(jù)表
該表包括的字段如下:
字段名 類型 備注
return_id int 歸還編號
book_id int 圖書編號
user_id int 借閱者編號
return_time datetime 歸還時間
功能實(shí)現(xiàn)
在本系統(tǒng)中,主要實(shí)現(xiàn)了以下功能:
1. 用戶登錄功能
用戶使用正確的用戶名和密碼登錄系統(tǒng)。
2. 圖書查詢功能
用戶可以根據(jù)圖書名稱、作者、出版社等信息進(jìn)行圖書查詢,在查詢結(jié)果中可以看到圖書的名稱、作者、出版社和價(jià)格等信息。
3. 圖書添加功能
管理員可以添加圖書信息,包括圖書編號、名稱、作者、出版社和價(jià)格等信息,同時需要對輸入的圖書信息進(jìn)行合法性驗(yàn)證。
4. 圖書刪除功能
管理員可以根據(jù)圖書編號刪除某本圖書,刪除圖書時需要驗(yàn)證圖書是否存在且當(dāng)前沒有被借閱。
5. 圖書借閱功能
用戶可以借閱圖書,需要輸入自己的學(xué)號和借閱書籍的編號,借閱成功后系統(tǒng)會記錄借閱時間。
6. 圖書歸還功能
用戶可以歸還已借閱的圖書,需要輸入自己的學(xué)號和還書的編號,歸還成功后系統(tǒng)會記錄還書時間。
結(jié)論
通過以上內(nèi)容的介紹,我們可以看到,圖書管理系統(tǒng)是一個基于數(shù)據(jù)庫的應(yīng)用系統(tǒng),并且數(shù)據(jù)庫的設(shè)計(jì)是圖書管理系統(tǒng)的核心。一個好的數(shù)據(jù)庫設(shè)計(jì)可以提高系統(tǒng)的效率、穩(wěn)定性和易用性。通過圖書管理系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn),我們可以更好地理解和應(yīng)用數(shù)據(jù)庫知識。
因此,在學(xué)習(xí)數(shù)據(jù)庫時,我們不僅需要掌握基本概念和知識,還要通過實(shí)際項(xiàng)目的設(shè)計(jì)和實(shí)現(xiàn)來深入理解和應(yīng)用。當(dāng)然,這也需要我們不斷地學(xué)習(xí)和探索,才能在數(shù)據(jù)庫領(lǐng)域取得更好的結(jié)果。
相關(guān)問題拓展閱讀:
- 數(shù)據(jù)庫課程設(shè)計(jì)做圖書館信息管理系統(tǒng)用vs2023自帶的sqlserver能做嗎,還是要下一個sql
- 200分2天內(nèi)求大學(xué)本科數(shù)據(jù)庫課程設(shè)計(jì)!急!急!
數(shù)據(jù)庫課程設(shè)計(jì)做圖書館信息管理系統(tǒng)用vs2023自帶的sqlserver能做嗎,還是要下一個sql
大學(xué)?
功能上做是能做,但是課程會有要求的吧
200分2天內(nèi)求大學(xué)本科數(shù)據(jù)庫課程設(shè)計(jì)!急!急!
我們上半年也做過 不知道有沒有同學(xué)備份的留下
一、課程設(shè)計(jì)的內(nèi)容
本課程設(shè)計(jì)要采用本課程中學(xué)習(xí)的數(shù)據(jù)庫設(shè)計(jì)方法,運(yùn)用其基本思路與主要圖表工具完成“企業(yè)報(bào)刊訂閱管理系統(tǒng)”數(shù)據(jù)庫應(yīng)用系統(tǒng)。完成閉簡迅信息需求分析與數(shù)據(jù)庫的概念設(shè)計(jì)、邏輯設(shè)計(jì)、物理設(shè)計(jì)以及處理功能設(shè)計(jì),用SQL Sever的數(shù)據(jù)庫管理系統(tǒng)、P開發(fā)工具實(shí)現(xiàn)該系統(tǒng),并運(yùn)行、評價(jià)、改進(jìn)之;在此基礎(chǔ)上嚴(yán)格按課程設(shè)計(jì)教學(xué)大綱所附報(bào)告提綱撰寫課程設(shè)計(jì)報(bào)告。通過本課程設(shè)計(jì)進(jìn)一步弄懂?dāng)?shù)據(jù)庫系統(tǒng)及其相關(guān)的基本概念,理解數(shù)據(jù)庫系統(tǒng)的系統(tǒng)結(jié)構(gòu)、主要特點(diǎn),掌握數(shù)據(jù)庫設(shè)計(jì)的原理、方法及其基本過程,初步具備數(shù)據(jù)庫應(yīng)用設(shè)計(jì)的能力,初步形成運(yùn)用數(shù)據(jù)庫應(yīng)用系統(tǒng)解決管理決策中的實(shí)際問題的基本素質(zhì)。
二、課程設(shè)計(jì)的要求與數(shù)據(jù)
要求學(xué)生結(jié)合所學(xué)管理知識,在借鑒課堂教學(xué)案例、了解家人或親友所從事的業(yè)務(wù)及其流程的基礎(chǔ)上,參考有關(guān)資料,選擇自己了解的一項(xiàng)業(yè)務(wù),運(yùn)用課堂所學(xué)數(shù)據(jù)庫系統(tǒng)與數(shù)據(jù)庫設(shè)計(jì)知識,完成信息需求分析、數(shù)據(jù)庫概念設(shè)計(jì)、邏輯設(shè)計(jì)、物理設(shè)計(jì),實(shí)現(xiàn)完成該業(yè)務(wù)的數(shù)據(jù)庫應(yīng)用系統(tǒng),并運(yùn)行、評價(jià)改進(jìn)之,最后要寫出課程設(shè)計(jì)報(bào)告。
三、課程設(shè)計(jì)應(yīng)完成的工作
要求學(xué)生按照《數(shù)據(jù)庫應(yīng)用課程設(shè)計(jì)》教學(xué)大綱完成一個數(shù)據(jù)庫應(yīng)用系統(tǒng),并撰寫相應(yīng)的課程設(shè)計(jì)報(bào)告,主要內(nèi)容包括:
概述:系統(tǒng)的基本任務(wù),主要業(yè)務(wù),開發(fā)目標(biāo)
1. 需求分析
2. (數(shù)據(jù)庫)概念(模型)設(shè)計(jì)
3. (數(shù)據(jù)庫)邏輯(模型)設(shè)計(jì)
4. 數(shù)據(jù)庫物理設(shè)計(jì)與數(shù)據(jù)庫保護(hù)設(shè)計(jì)
5. 處理功能設(shè)計(jì)
6. 數(shù)據(jù)庫應(yīng)用系統(tǒng)的實(shí)現(xiàn)
7. 數(shù)據(jù)庫應(yīng)用系統(tǒng)運(yùn)行
四、課程設(shè)計(jì)進(jìn)程安排
序號 設(shè)計(jì)各階段內(nèi)容 地點(diǎn) 起止日期
五、應(yīng)收集的資料及主要參考文獻(xiàn)
王 珊、陳 虹編著,數(shù)據(jù)庫系統(tǒng)原理教程,清華大學(xué)出版社,2023.
金銀秋主編,數(shù)據(jù)庫原理與設(shè)計(jì),科學(xué)出版社,2023.
李建中 王珊,數(shù)據(jù)庫系統(tǒng)原理,電子工業(yè)出版社,1998.
李大友,數(shù)據(jù)庫原理及應(yīng)用(第二版),清華大學(xué)出版社,2023
發(fā)出任務(wù)書日期: 年 月 日 指導(dǎo)教師簽名:
計(jì)劃完成日期:年 月 日 基層教學(xué)單位責(zé)任人簽章:
主管院長簽章:
目錄
概述 …………………………………………………………………4
1. 需求分析…………………………………………………………4
1.1用戶需求……………………………………………………………………4
1.2業(yè)務(wù)流程分析………………………………………………………………4
1.3信息需求分析………………………………………………………………5
1.4功能需求分析………………………………………………………………6
2. (數(shù)據(jù)庫)概念(模型)設(shè)計(jì)…………………………………7
3. (數(shù)據(jù)庫)邏輯(模型)設(shè)計(jì)…………………………………9
3.1 一般邏輯模型設(shè)計(jì)…………………………………………………………9
3.2 具體邏輯模型設(shè)計(jì)…………………………………………………………9
4. 數(shù)據(jù)庫物理設(shè)計(jì)與數(shù)據(jù)庫保護(hù)咐御設(shè)計(jì)…………………………10
4.1設(shè)計(jì)索引……………………………………………………………………10
4.2 設(shè)計(jì)表間關(guān)系………………………………………………………………10
4.3完整性設(shè)計(jì)…………………………………………………………………10
5. 處理功能設(shè)計(jì)…………………………………………………11
6. 數(shù)據(jù)庫應(yīng)用系統(tǒng)的實(shí)現(xiàn)………………………………………11
7. 數(shù)據(jù)庫應(yīng)用系統(tǒng)運(yùn)行…………………………………………11
7.1 寫出系統(tǒng)操作使用的簡要說明……………………………………………11
7.2 系統(tǒng)實(shí)施過程………………………………………………………………11
7.3系統(tǒng)使用結(jié)果………………………………………………………………22
7.4系統(tǒng)評價(jià)……………………………………………………………………31
企業(yè)報(bào)刊訂閱管理系統(tǒng)
概述
隨著社會不斷的發(fā)展,人們的生活水平越來越高,對知識的和對時事的渴求也越來越高,人們希望能夠方便快捷地訂閱各種報(bào)刊雜志。但是各種各樣的報(bào)刊名目和詳細(xì)信息以及訂閱,為相關(guān)企業(yè)的管理造成很大的麻煩。因此網(wǎng)上訂閱成為不可或缺的一部轎此分。
本系統(tǒng)就是面向一個企業(yè)的報(bào)刊訂閱管理系統(tǒng)。此系統(tǒng)是一種比較智能化的管理系統(tǒng),它面向所有企業(yè)部門的職工用戶,但具有比較高的安全性能。它能夠?qū)崿F(xiàn)報(bào)刊訂閱的基本功能,包括新報(bào)刊信息的錄入、訂閱、查詢等操作以及后臺數(shù)據(jù)庫的備份和恢復(fù)。用戶合法注冊后必須輸入有效密碼才能成功進(jìn)入此系統(tǒng),可以進(jìn)行訂閱報(bào)刊,查詢信息,統(tǒng)計(jì)信息等操作。對于非法操作,系統(tǒng)有識別和防護(hù)措施。
1. 需求分析
1.1 用戶需求:
本系統(tǒng)就是面向一個企業(yè)的報(bào)刊訂閱管理系統(tǒng)。此系統(tǒng)是一種比較智能化的管理系統(tǒng),它面向所有企業(yè)部門的職工用戶,但具有比較高的安全性能。它能夠?qū)崿F(xiàn)報(bào)刊訂閱的基本功能,包括新報(bào)刊信息的錄入、訂閱、查詢等操作以及后臺數(shù)據(jù)庫的備份和恢復(fù)。用戶合法注冊后必須輸入有效密碼才能成功進(jìn)入此系統(tǒng),可以進(jìn)行訂閱報(bào)刊,查詢信息,統(tǒng)計(jì)信息等操作。對于非法操作,系統(tǒng)有識別和防護(hù)措施。
訂閱信息處理的特點(diǎn)是訂閱信息處理量比較大,所管理的信息信息種類繁多,而且訂閱單、編輯單的發(fā)生量特別大,關(guān)聯(lián)信息多,查詢和統(tǒng)計(jì)的方式各不相同。因此在管理上實(shí)現(xiàn)起來有一定因難。
本系統(tǒng)在設(shè)計(jì)過程中,為了克服這些困難,需要使程序代碼標(biāo)準(zhǔn)化,軟件統(tǒng)一化,確保軟件的可維護(hù)性和實(shí)用性;刪除不必要的管理冗余,實(shí)現(xiàn)管理規(guī)范化、科學(xué)化;界面友好、簡單化,做到實(shí)用、方便,盡量滿足報(bào)刊訂閱中員工的需要。
1.2 業(yè)務(wù)流程分析:
本系統(tǒng)主要面向的用戶有系統(tǒng)管理員、讀者。下面分角色對該系統(tǒng)的不同操作范圍做說明。
本系統(tǒng)主要有以下功能模塊:
(1)登陸功能:登陸系統(tǒng)為身份驗(yàn)證登錄。分為管理員登錄和一般用戶登錄。分別通過不同的用戶名和密碼進(jìn)入報(bào)刊訂閱管理界面,新的用戶需要注冊。
(2)錄入新信息功能:對于管理員,包括新用戶信息和新報(bào)刊信息的錄入功能,信息一旦提交就存入到后臺數(shù)據(jù)庫中;普通用戶自行注冊進(jìn)行可以修改個人信息。
(3)訂閱功能:用戶可以訂閱報(bào)刊,系統(tǒng)自動計(jì)算所需金額,并顯示在界面上;管理員不可訂閱報(bào)刊,必須以用戶身份訂閱報(bào)刊。
(4)查詢功能:用戶可以查詢并顯示自己所訂閱的信息;管理員可以按人員、報(bào)刊、部門分類查詢。查詢出的信息顯示在界面上,并且可以預(yù)覽和打印出結(jié)果。
(5)統(tǒng)計(jì)功能:管理員可以按用戶、部門、報(bào)刊統(tǒng)計(jì)報(bào)刊的銷售情況,并對一些重要的訂閱信息進(jìn)行統(tǒng)計(jì);普通用戶可以統(tǒng)計(jì)出自己的訂閱情況,并且可以預(yù)覽和打印出結(jié)果。
(6)系統(tǒng)維護(hù)功能:數(shù)據(jù)的安全管理,主要是依靠管理員對數(shù)據(jù)庫里的信息進(jìn)行備份和恢復(fù),數(shù)據(jù)庫備份后,如果出了什么意外可以恢復(fù)數(shù)據(jù)庫到當(dāng)時備份的狀態(tài),這提高了系統(tǒng)和數(shù)據(jù)的安全性,有利于系統(tǒng)的維護(hù)。
下圖為該系統(tǒng)的業(yè)務(wù)流程圖
1.3 信息需求分析
1.3.1 資料收集:業(yè)務(wù)流程中用到的相關(guān)單據(jù)主要是報(bào)刊信息還有訂單信息
報(bào)刊信息表:
報(bào)刊代號報(bào)刊名稱 IT時代周刊
出版報(bào)社 科技出版社
出版周期 半月刊
每月定價(jià) 10.00 元/月
分類編號 1001
報(bào)刊介紹 《IT時代周刊》是一本深刻解讀信息時代商業(yè)變革的雜志。除深度報(bào)道信息產(chǎn)業(yè)的重大新聞外,還報(bào)道金融、汽車、股市、零售等傳統(tǒng)行業(yè)利用IT提升商業(yè)與管理的新聞?!禝T時代周刊》以調(diào)查見深度;以商業(yè)故事見功力。是CEO/CIO/CFO以及官員、商業(yè)領(lǐng)袖首選刊物。
訂單信息表:
訂單編號 報(bào)刊代號 用戶編號 訂閱日期 訂閱月數(shù) 份數(shù) 操作
訂一月 1 取消訂閱
訂半年 2 取消訂閱
訂一年 1 取消訂閱
訂一季 1 取消訂閱
1.3.2 事項(xiàng)分析:根據(jù)以上資料中標(biāo)題、表頭等中各欄目名,可以得出相關(guān)事項(xiàng),作為數(shù)據(jù)項(xiàng);分析這些數(shù)據(jù)項(xiàng),找出組合項(xiàng)、導(dǎo)出項(xiàng)、非結(jié)構(gòu)化數(shù)據(jù)項(xiàng),確定基本項(xiàng)。檢查是否有要補(bǔ)充的基本數(shù)據(jù)項(xiàng),是否有要改進(jìn)的地方,補(bǔ)充改進(jìn)之,得出所有基本項(xiàng)。
1.4 功能需求分析:
本系統(tǒng)的主要結(jié)構(gòu)功能圖如下:
2. (數(shù)據(jù)庫)概念(模型)設(shè)計(jì)
基本項(xiàng)構(gòu)思ERD的四條基本原則:
①原則1 (確定實(shí)體):能獨(dú)立存在的事物,例如人、物、事、地、團(tuán)體、機(jī)構(gòu)、活動、事項(xiàng)等等,在其有多個由基本項(xiàng)描述的特性需要關(guān)注時,就應(yīng)把它作為實(shí)體。
②原則2 (確定聯(lián)系):兩個或多個實(shí)體間的關(guān)聯(lián)與結(jié)合,如主管,從屬,組成,占有,作用,配合,協(xié)同等等,當(dāng)需要予以關(guān)注時,應(yīng)作為聯(lián)系。實(shí)體間的聯(lián)系可分為一對一、一對多、多對多等三類,在確定聯(lián)系時還要確定其類型。
③原則3 (確定屬性):實(shí)體的屬性是實(shí)體的本質(zhì)特征。實(shí)體應(yīng)有標(biāo)識屬性(能把不同個體區(qū)分開來的屬性組),并指定其中一個作為主標(biāo)識。聯(lián)系的屬性是聯(lián)系的結(jié)果或狀態(tài)。
④原則4(一事一地):信息分析中得到的基本項(xiàng)要在且僅在實(shí)體聯(lián)系圖中的一個地方作為屬性出現(xiàn)。
經(jīng)過上述系統(tǒng)功能分析和需求總結(jié),設(shè)計(jì)如下面所示的數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu)。
? 管理員表(Adminuser):用于存放管理員的數(shù)據(jù)記錄,包括數(shù)據(jù)項(xiàng):管理員名、密碼。
? 部門表(Department):用來存放部門的相關(guān)記錄,包括數(shù)據(jù)項(xiàng):部門號,部門名。
? 用戶表(Users):用于存放注冊用戶的記錄,包括數(shù)據(jù)項(xiàng):用戶賬號、密碼、真實(shí)姓名、身份證號、聯(lián)系,聯(lián)系地址,部門號(和部門表有關(guān))等。
? 報(bào)刊類別表(NewspaperClass):用于存放初始的報(bào)刊類別記錄,包括數(shù)據(jù)項(xiàng):分類編號、分類名稱。
? 報(bào)刊信息表(Newspaper):用于存放報(bào)刊記錄,包括數(shù)據(jù)項(xiàng):報(bào)刊代號、報(bào)刊名稱、出版報(bào)社、出版周期、季度報(bào)價(jià)、內(nèi)容介紹、分類編號(和報(bào)刊類別表有關(guān))等。
? 訂單表(Order):用于存放用戶下達(dá)的訂閱報(bào)刊的基本信息,包括數(shù)據(jù)項(xiàng):訂單編號、用戶編號(用戶表的主碼)、報(bào)刊代號(報(bào)刊信息表的主碼)、訂閱份數(shù)、訂閱月數(shù)等。
根據(jù)上面的設(shè)計(jì)規(guī)劃出來的實(shí)體有部門實(shí)體、管理員實(shí)體、用戶實(shí)體、報(bào)刊類別實(shí)體、報(bào)刊信息實(shí)體和訂單實(shí)體。
部門實(shí)體的E-R圖如下圖所示:管理員實(shí)體的E-R圖如下圖所示:
用戶實(shí)體的E-R圖如下圖所示: 報(bào)刊信息實(shí)體的E-R圖如下圖所示:
訂單實(shí)體的E-R圖如下圖所示:報(bào)刊類別實(shí)體的E-R圖如下圖所示:
所有實(shí)體之間的的關(guān)系E-R圖如下圖所示:
3. (數(shù)據(jù)庫)邏輯(模型)設(shè)計(jì)
3.1 一般邏輯模型設(shè)計(jì):
關(guān)系模型的邏輯結(jié)構(gòu)是一組關(guān)系模式的。將E-R圖轉(zhuǎn)換為關(guān)系模型就是要將實(shí)體型、實(shí)體的屬性和實(shí)體型之間的聯(lián)系轉(zhuǎn)換為關(guān)系模式。
由ERD導(dǎo)出一般關(guān)系模型的四條原則;
①一個1:1聯(lián)系可以轉(zhuǎn)換為一個獨(dú)立的關(guān)系模式,也可以與任意一端對應(yīng)的關(guān)系模式合并。如果軟換為一個獨(dú)立的關(guān)系模式,則與該聯(lián)系相連的各實(shí)體的碼以及聯(lián)系本身的屬性均轉(zhuǎn)換為關(guān)系的屬性,每個實(shí)體的碼均是該關(guān)系的候選碼。如果與某一端實(shí)體對應(yīng)的關(guān)系模式何明,則需要在該關(guān)系模式的屬性中加入另一個關(guān)系模式的碼和聯(lián)系本身的屬性。
②一個1:n聯(lián)系可以轉(zhuǎn)換為一個獨(dú)立的關(guān)系模式,也可以與n端對應(yīng)的關(guān)系模式合并。如果轉(zhuǎn)換為一個獨(dú)立的關(guān)系模式,則與該聯(lián)系相連的各實(shí)體的碼以及聯(lián)系本身的屬性均轉(zhuǎn)換為關(guān)系的屬性,而關(guān)系的碼為n端實(shí)體的碼。
③一個m:n聯(lián)系轉(zhuǎn)換為一個關(guān)系模式。與該聯(lián)系相連的各實(shí)體的碼以及聯(lián)系本身的屬性均轉(zhuǎn)換為關(guān)系的屬性,各實(shí)體的碼組成關(guān)系的碼或關(guān)系碼的一部分。
④3個或3個以上實(shí)體間的一個多元聯(lián)系可以轉(zhuǎn)換為一個關(guān)系模式。與該多元聯(lián)系項(xiàng)鏈呢的各實(shí)體的碼以及聯(lián)系本身的屬性均轉(zhuǎn)換為關(guān)系的屬性,各實(shí)體的碼組成關(guān)系的碼或關(guān)系碼的一部分。
根據(jù)以上原則將E-R圖轉(zhuǎn)換成的關(guān)系模式如下:
部門(部門號,部門名稱)
用戶(用戶賬號,密碼,用戶真實(shí)姓名,聯(lián)系,聯(lián)系地址,部門號)
管理員(管理員名,密碼)
報(bào)刊類別(分類編號,分類名稱)
報(bào)刊(報(bào)刊代號,報(bào)刊名稱,出版報(bào)社,出版周期,每月訂價(jià),內(nèi)容介紹,分類編號)
訂單(用戶編號,報(bào)刊代號,訂閱份數(shù),訂閱月數(shù),訂閱總額)
3.2 具體邏輯模型設(shè)計(jì):
在SQL Server2023數(shù)據(jù)庫中,首先創(chuàng)建newspaper數(shù)據(jù)庫,然后根據(jù)數(shù)據(jù)庫的邏輯結(jié)構(gòu)分析創(chuàng)建表4-1━4-6的6張數(shù)據(jù)表。在前臺訪問數(shù)據(jù)庫階段設(shè)置了用戶和密碼,用戶為sa,密碼為空。
表4-2 department部門表結(jié)構(gòu)
字段名稱 字段類型 允許空 說明
depNumber(主碼) Char(10) 否 部門號
depName Char(50) 是 部門名稱
表4-3 users用戶表結(jié)構(gòu)
字段名稱 字段類型 允許空 說明
userNo(主碼) Char(10) 否 用戶帳號
userName Char(20) 是 真實(shí)姓名
passWord Char(10) 否 用戶密碼
address Char(150) 是 用戶聯(lián)系地址
phone Char(20) 是 用戶聯(lián)系
depNumber Char(10) 否 用戶所屬部門號
表4-3 newspaperClass報(bào)刊分類表結(jié)構(gòu)
字段名稱 字段類型 允許空 說明
classid(主碼) Int(4) 否 報(bào)刊分類編號
className Char(30) 是 報(bào)刊分類名稱
表4-4 newspaper報(bào)刊表結(jié)構(gòu)
字段名稱 字段類型 允許空 說明
newsNo(主碼) Char(10) 否 報(bào)刊代號
newsName Char(40) 否 報(bào)刊名稱
classid Int(4) 否 報(bào)刊分類編號
publish Char(150) 是 出版報(bào)社
pubPeriod Char(30) 是 出版周期
content Char(4000) 是 內(nèi)容介紹
price Float(8) 否 每月報(bào)價(jià)
表-6 book訂單表結(jié)構(gòu)
字段名稱 字段類型 允許空 說明
userNo(主碼) Char(10) 否 用戶帳號
newsNo(主碼) Char(10) 否 報(bào)刊代號
orderAmount Int(4) 否 訂閱份數(shù)
orderMonth Int(4) 否 訂閱月數(shù)
totalPrice Float(8) 是 訂閱總額
表4-1 adminuser管理員表結(jié)構(gòu)
字段名稱 字段類型 允許空 說明
adminUser(主碼) Char(20) 否 管理員用戶名
adminPass Char(10) 否 管理員密碼
4. 數(shù)據(jù)庫物理設(shè)計(jì)與數(shù)據(jù)庫保護(hù)設(shè)計(jì)
4.1設(shè)計(jì)索引:我們可以在最經(jīng)常查詢的列上建立索引以提高查詢效率。
而在這個系統(tǒng)中,我們經(jīng)常要按用戶賬號,按報(bào)刊代號,按部門查詢,所以,我們可以為這三個表建立索引,建立所以的SQL語句如下,這幾個都是字符型
Create unique index userNum on users(userNo)
Create unique index departNum on department(depNumber)
Create unique index newsNum on newspaper(newsNO)
4.2 設(shè)計(jì)表間關(guān)系:
4.3完整性設(shè)計(jì)列出主要字段完整性的字段名、完整性約束條件;列出記錄完整性約束及其約束條件;列出參照完整性表。
主要字段的完整性字段名和參照完整性表可以參照上圖各個表之間的關(guān)系來看。
比如建立報(bào)刊表newspaper時,要求報(bào)刊代號在100~99999之間,報(bào)刊名稱和每月定價(jià)不能取空值,報(bào)刊類別是報(bào)刊類別表的主鍵,則
Create table user
(userNo char(10) constraint C1 check(newsNo between 100 and 99999),
newsName char(40) constraint C2 not null,
classid int(4) constraint C3 not null,
publish char(150),pubPeriod char(30),content char(4000),
price float(8) not null,
constraint C4 foreign key(classid) references newspaperclass(classid) )
4.4在有多個用戶操作時,考慮用戶授權(quán)與安全性控制。
因?yàn)檫@個報(bào)刊訂閱系統(tǒng)由多個用戶使用,分為管理員和用戶,他們擁有不同的權(quán)限和安全性控制。所以在權(quán)限設(shè)置方面,采用管理員和用戶分別使用用戶名和密碼進(jìn)入他們能使用權(quán)限范圍里的界面。管理員登陸系統(tǒng)后,可以添加、修改用戶和報(bào)刊的信息,可以對訂單進(jìn)行查詢和統(tǒng)計(jì),并且可以把查詢統(tǒng)計(jì)的結(jié)果進(jìn)行預(yù)覽和打印出來,還要對數(shù)據(jù)庫系統(tǒng)進(jìn)行維護(hù),適時備份數(shù)據(jù)庫,一旦數(shù)據(jù)庫遇到問題,可以恢復(fù)到最近備份的狀態(tài),減少不必要的損失。
用戶登錄,用戶使用該系統(tǒng)前需要進(jìn)行注冊,他應(yīng)該是該企業(yè)某個部門下面的員工,所以他需要輸入他的部門號等信息,注冊成功后,登錄到系統(tǒng),可以修改自己的信息還有訂閱報(bào)刊,但由于權(quán)限的限制,他只能查看和統(tǒng)計(jì)自己的訂單信息。
5. 處理功能設(shè)計(jì)
5.1 主控模塊設(shè)計(jì):
使用本系統(tǒng),首先它會自動彈出“歡迎使用本系統(tǒng)”的歡迎界面,然后跳轉(zhuǎn)到用戶身份驗(yàn)證界面,選擇管理員的身份進(jìn)入,有錄入(錄入報(bào)刊信息、錄入用戶信息),查詢,統(tǒng)計(jì)(統(tǒng)計(jì)用戶、統(tǒng)計(jì)、報(bào)刊訂單),系統(tǒng)維護(hù)(備份數(shù)據(jù)庫、恢復(fù)數(shù)據(jù)庫),注銷,退出等菜單可使用,沒注冊的用戶可進(jìn)入注冊界面進(jìn)行注冊,然后返回登錄界面登錄,進(jìn)入后有歡迎界面,有訂閱、查詢、統(tǒng)計(jì)、修改、注銷、退出等菜單可使用。
6. 數(shù)據(jù)庫應(yīng)用系統(tǒng)的實(shí)現(xiàn)
6.1 數(shù)據(jù)庫及其表結(jié)構(gòu)的建立:按照上面的邏輯分析見表
6.2數(shù)據(jù)輸入:在建好的各個表中輸入數(shù)據(jù),要符合數(shù)據(jù)的約束條件
7. 數(shù)據(jù)庫應(yīng)用系統(tǒng)運(yùn)行
7.1 寫出系統(tǒng)操作使用的簡要說明
本系統(tǒng)的運(yùn)行需要安裝PowerBuilder9.0和SQL Server2023軟件。操作該系統(tǒng),首先把備份的數(shù)據(jù)庫還原出來,導(dǎo)入SQL Server中,然后打開該系統(tǒng),連接上還原出來的數(shù)據(jù)庫,再運(yùn)行,就可以了。
7.2 系統(tǒng)實(shí)施過程
(1)打開PowerBuilder,新建一個工作區(qū),命名為newspaper
(2)新建一個Application,取名newspaper,然后點(diǎn)擊工具欄上的DB Profile,新建一個MSS Microsoft SQL Server,填入Profile Name,服務(wù)器名,用戶名,密碼,數(shù)據(jù)庫,如下圖,然后輸入連接數(shù)據(jù)庫的主要代碼:
open(w_welcome)
// Profile newspaper
SQLCA.DBMS = “MSS Microsoft SQL Server”
SQLCA.Database = “newspaper”
SQLCA.ServerName = “CHINA-41CD782EF”
SQLCA.LogId = “sa”
SQLCA.LogPass=””
SQLCA.AutoCommit = False
SQLCA.DBParm = “”
connect;
if sqlca.sqlcode0 then
messagebox(“錯誤”,”數(shù)據(jù)庫連接錯誤,程序?qū)㈥P(guān)閉!”,stopsign!)
return
end if
close(w_welcome)
open(w_login)
(3)制作登錄頁面w_login,在“確定”按鈕輸入如下:
“注冊”按鈕代碼:open(w_register) //打開用戶注冊頁面
“退出”按鈕代碼:close(w_login) //退出本系統(tǒng)
(4)制作注冊窗口w_register,在“注冊”按鈕的代碼如下:
“取消”按鈕代碼:close(w_register)
open(w_login)
(5)制作管理員主菜單w_adminview,建管理員主界面w_adminview,將該菜單放到窗口中
(6)制作用戶主菜單w_userview,建用戶主界面w_userview,將菜單放到窗口中
(7)制作管理員主菜單里的錄入報(bào)刊信息窗口w_inmagazine,錄入用戶信息窗口w_inuser,
制作數(shù)據(jù)窗口dw_magagrid,dw_magafree,dw_userfree,dw_usergrid,在數(shù)據(jù)窗口調(diào)整好外觀,添加控件,并設(shè)定相應(yīng)的動作,分別放到這兩個窗口中
這兩個窗口功能相識,在窗口中輸入:
dw_1.settransobject(sqlca)
dw_1.retrieve()
dw_2.settransobject(sqlca)
dw_2.retrieve()
(8)制作管理員主菜單中的查詢訂閱信息窗口w_searchorder,制作數(shù)據(jù)窗口dw_booksearch,將其放入窗體中,在窗口中輸入代碼:
dw_1.settransobject(sqlca)
dw_1.retrieve()
sle_1.setfocus()
在“查詢”按鈕中輸入代碼:
“預(yù)覽”按鈕的代碼:
“關(guān)閉”按鈕代碼:close(w_searchorder)
數(shù)據(jù)窗口字段如下:
(9)制作管理員主菜單中的統(tǒng)計(jì)用戶訂單窗口w_statuser,統(tǒng)計(jì)部門訂單窗口w_statdept,統(tǒng)計(jì)報(bào)刊訂單窗口w_statnews:制作統(tǒng)計(jì)數(shù)據(jù)窗口dw_statnews,dw_statuser,dw_statdept將dw_statnews,dw_statuser,dw_statdept分別放入w_statnews, w_statuser,w_statdept中;以下僅列出按出按部門統(tǒng)計(jì)的代碼和界面 (按用戶、報(bào)刊統(tǒng)計(jì)類似,略);
按部門統(tǒng)計(jì)代碼:
窗口代碼:
按部門統(tǒng)計(jì)數(shù)據(jù)窗口:
dw_1.settransobject(sqlca)
dw_1.retrieve()
預(yù)覽鍵代碼:(與上頁預(yù)覽代碼相同)
退出:close(parent)
(10)管理員主菜單中的更改登錄在w_adminview中的代碼
(11)管理員主菜單中的退出系統(tǒng)在w_adminview中的代碼
(12)管理員主菜單中的數(shù)據(jù)庫備份窗口w_backup,“開始備份”按鈕的代碼如下
在“>>”按鈕帶輸入代碼:
(13)管理員主菜單中的數(shù)據(jù)庫恢復(fù)窗口w_restore,“開始恢復(fù)”按鈕的代碼如下
在“>>”按鈕帶輸入代碼:
在“開始恢復(fù)”按鈕輸入代碼:
(14)用戶主菜單的訂閱報(bào)刊窗口w_userorder
該系統(tǒng)中定義了一個全局變量gs_userid,其它窗口界面都可以使用該變量,并顯示用戶名,用戶登錄后,它會顯示“~~~~,歡迎使用本系統(tǒng)!”的歡迎界面。
窗口代碼:
dw_1.settransobject(sqlca)
dw_1.retrieve()
sle_1.setfocus()
sle_2.text=gs_userid
“清空”按鈕代碼:
sle_1.text=””
sle_3.text=””
sle_5.text=””
“退出”按鈕代碼:
close(w_userorder)
“訂閱”按鈕代碼:
(14)用戶主菜單的查詢訂單窗口w_usersearch,將訂單查找dw_booksearch放到窗口里,在窗口中過過濾器篩選中用戶自己的訂單信息,一打開就可以看到自己的訂單信息,可打印和預(yù)覽結(jié)果
窗口代碼:
“預(yù)覽”和“退出”按鈕同上
(15)用戶主菜單的查詢訂單窗口w_userstatis,將用戶統(tǒng)計(jì)dw_statuser放到窗口里,在窗口中過過濾器篩選中用戶自己的訂單信息,一打開就可以看到自己的訂單信息,可打印和預(yù)覽結(jié)果,窗口代碼如下:
用戶統(tǒng)計(jì)dw_statuser數(shù)據(jù)窗口如下:
“預(yù)覽”“退出”按鈕略
(16)用戶主菜單中的修改用戶信息窗口w_usermodify,打開會先顯示出你的信息,而用戶名這一欄是輸入不了的,也就是不能修改用戶名,窗口代碼如下:
“保存”按鈕代碼如下:
(17)用戶主菜單中的更改登錄和退出系統(tǒng)的代碼和管理員的一樣,這里就省略了。
7.3系統(tǒng)使用結(jié)果
打開本系統(tǒng),首先彈出歡迎界面,通常一閃而過,然后到了登錄界面,點(diǎn)擊“注冊”
按確定后,彈出“恭喜,您已注冊成功!”的對話框。如果這時刷新服務(wù)管理器,打開SQL Server企業(yè)管理器,打開該數(shù)據(jù)庫的用戶表,就可看到剛才注冊的用戶已經(jīng)在表中了
然后返回到登陸頁面,輸入剛才注冊到的用戶名和密碼maishning,123456
登錄后,彈出一個窗口,有供用戶使用的菜單,界面顯示“~~~~,歡迎使用本系統(tǒng)”
選擇“訂閱”菜單,在這個訂閱界面,用戶可以瀏覽到所有的報(bào)刊信息,要訂閱報(bào)刊時,用戶不需輸入用戶名與密碼,只需輸入您要訂閱的報(bào)刊代號(該報(bào)刊代號必須是報(bào)刊表中存在的),訂閱份數(shù)(必須是小于8的整數(shù)才有效),然后選擇需要訂閱的月數(shù)(一月、一季、半年或一年)然后點(diǎn)擊“訂閱”按鈕
訂閱成功后,系統(tǒng)彈出“恭喜!你已成功訂閱該報(bào)刊,總金額是~~~~”確定后會顯示出您所訂閱的總額是多少元,按“清空”按鈕后可以訂閱其它報(bào)刊(同樣的報(bào)刊不可重復(fù)訂閱)
再訂閱其它報(bào)刊,然后按“退出”按鈕,來到用戶主菜單然后選擇“查詢”菜單,這個數(shù)據(jù)窗口經(jīng)過過濾,一打開就直接顯示該用戶過訂閱的訂單,可以進(jìn)行預(yù)覽和打印。
由于權(quán)限的限制,“統(tǒng)計(jì)”菜單中的也是只能統(tǒng)計(jì)自己訂單信息的數(shù)據(jù)
在“退訂”報(bào)刊菜單中,可以查看自己的訂單,單擊“退訂”然后“保存”即可完成退訂
在“修改”信息菜單中,用戶名也是不可輸入的文本框,即不可修改用戶名,其它信息可以修改,保存后它會自動添加到數(shù)據(jù)庫中
選擇菜單上的“注銷”,可以用不同的身份進(jìn)入系統(tǒng),確定后回到登錄界面
以管理員的身份登錄,用戶名111,密碼111,按登錄按鍵,可看到管理員菜單
選擇菜單欄中的錄入->錄入報(bào)刊信息,管理員可以大致瀏覽所有報(bào)刊信息,在上面的數(shù)據(jù)窗口可以查看上一頁和下一頁的具體內(nèi)容,并且可以對其進(jìn)行添加,刪除、修改、保存等操作。
錄入用戶信息頁面,基本相似
選擇菜單欄中的“查詢”->“訂單信息”,管理員擁有的權(quán)限可以看到所有的訂單信息
管理員也可以根據(jù)需要分別按部門、按用戶、按報(bào)刊查詢,比如,要查詢msishning用戶,在文本框中輸入關(guān)鍵字,選擇單選按鈕中的“按部門號”,點(diǎn)擊“查詢”,結(jié)果如下
可對全部訂單或查詢出來的訂單進(jìn)行預(yù)覽和打印,方便使用
菜單欄中的“統(tǒng)計(jì)”菜單有三個子菜單,管理員可以分別統(tǒng)計(jì)用戶訂單信息、部門訂單信息和報(bào)刊訂單信息, 直接選擇就可看到統(tǒng)計(jì)結(jié)果,比如選擇“統(tǒng)計(jì)用戶訂單信息”
可將統(tǒng)計(jì)出來的結(jié)果進(jìn)行預(yù)覽和打印,方便使用,其它兩個統(tǒng)計(jì)功能相似,略
主菜單中的系統(tǒng)維護(hù)->數(shù)據(jù)庫備份,選擇備份的位置,然后“開始備份”
主菜單中的系統(tǒng)維護(hù)->數(shù)據(jù)庫恢復(fù),選擇之前備份的文件,輸入路徑和數(shù)據(jù)庫名,然后“開始恢復(fù)”
7.4系統(tǒng)評價(jià):
關(guān)于數(shù)據(jù)庫課程設(shè)計(jì) 圖書管理系統(tǒng)的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。
成都網(wǎng)站設(shè)計(jì)制作選創(chuàng)新互聯(lián),專業(yè)網(wǎng)站建設(shè)公司。
成都創(chuàng)新互聯(lián)10余年專注成都高端網(wǎng)站建設(shè)定制開發(fā)服務(wù),為客戶提供專業(yè)的成都網(wǎng)站制作,成都網(wǎng)頁設(shè)計(jì),成都網(wǎng)站設(shè)計(jì)服務(wù);成都創(chuàng)新互聯(lián)服務(wù)內(nèi)容包含成都網(wǎng)站建設(shè),小程序開發(fā),營銷網(wǎng)站建設(shè),網(wǎng)站改版,服務(wù)器托管租用等互聯(lián)網(wǎng)服務(wù)。
網(wǎng)頁名稱:數(shù)據(jù)庫課程設(shè)計(jì):圖書管理系統(tǒng) (數(shù)據(jù)庫課程設(shè)計(jì) 圖書管理系統(tǒng))
分享網(wǎng)址:http://fisionsoft.com.cn/article/djhjope.html


咨詢
建站咨詢
