最新文章專(zhuān)題視頻專(zhuān)題問(wèn)答1問(wèn)答10問(wèn)答100問(wèn)答1000問(wèn)答2000關(guān)鍵字專(zhuān)題1關(guān)鍵字專(zhuān)題50關(guān)鍵字專(zhuān)題500關(guān)鍵字專(zhuān)題1500TAG最新視頻文章視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專(zhuān)題關(guān)鍵字專(zhuān)題tag2tag3文章專(zhuān)題文章專(zhuān)題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專(zhuān)題3
當(dāng)前位置: 首頁(yè) - 科技 - 知識(shí)百科 - 正文

個(gè)人版機(jī)房收費(fèi)數(shù)據(jù)庫(kù)設(shè)計(jì)

來(lái)源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-09 07:33:03
文檔

個(gè)人版機(jī)房收費(fèi)數(shù)據(jù)庫(kù)設(shè)計(jì)

個(gè)人版機(jī)房收費(fèi)數(shù)據(jù)庫(kù)設(shè)計(jì):在做機(jī)房收費(fèi)系統(tǒng)個(gè)人版的時(shí)候又一次的遇到了數(shù)據(jù)庫(kù)設(shè)計(jì)方面的內(nèi)容,還記得第一次機(jī)房收費(fèi)系統(tǒng)的時(shí)候,數(shù)據(jù)庫(kù)的設(shè)計(jì)基本上是邊敲邊設(shè)計(jì)的,搞得特別的亂,也不符合編程的規(guī)范。既然我們現(xiàn)在已經(jīng)是專(zhuān)業(yè)人士了,那么就應(yīng)該采取一些專(zhuān)業(yè)的手段來(lái)設(shè)計(jì),并且一個(gè)
推薦度:
導(dǎo)讀個(gè)人版機(jī)房收費(fèi)數(shù)據(jù)庫(kù)設(shè)計(jì):在做機(jī)房收費(fèi)系統(tǒng)個(gè)人版的時(shí)候又一次的遇到了數(shù)據(jù)庫(kù)設(shè)計(jì)方面的內(nèi)容,還記得第一次機(jī)房收費(fèi)系統(tǒng)的時(shí)候,數(shù)據(jù)庫(kù)的設(shè)計(jì)基本上是邊敲邊設(shè)計(jì)的,搞得特別的亂,也不符合編程的規(guī)范。既然我們現(xiàn)在已經(jīng)是專(zhuān)業(yè)人士了,那么就應(yīng)該采取一些專(zhuān)業(yè)的手段來(lái)設(shè)計(jì),并且一個(gè)

在做機(jī)房收費(fèi)系統(tǒng)個(gè)人版的時(shí)候又一次的遇到了數(shù)據(jù)庫(kù)設(shè)計(jì)方面的內(nèi)容,還記得第一次機(jī)房收費(fèi)系統(tǒng)的時(shí)候,數(shù)據(jù)庫(kù)的設(shè)計(jì)基本上是邊敲邊設(shè)計(jì)的,搞得特別的亂,也不符合編程的規(guī)范。既然我們現(xiàn)在已經(jīng)是專(zhuān)業(yè)人士了,那么就應(yīng)該采取一些專(zhuān)業(yè)的手段來(lái)設(shè)計(jì),并且一個(gè)


在做機(jī)房收費(fèi)系統(tǒng)個(gè)人版的時(shí)候又一次的遇到了數(shù)據(jù)庫(kù)設(shè)計(jì)方面的內(nèi)容,還記得第一次機(jī)房收費(fèi)系統(tǒng)的時(shí)候,數(shù)據(jù)庫(kù)的設(shè)計(jì)基本上是邊敲邊設(shè)計(jì)的,搞得特別的亂,也不符合編程的規(guī)范。既然我們現(xiàn)在已經(jīng)是專(zhuān)業(yè)人士了,那么就應(yīng)該采取一些專(zhuān)業(yè)的手段來(lái)設(shè)計(jì),并且一個(gè)數(shù)據(jù)庫(kù)設(shè)計(jì)的好壞直接影響到后臺(tái)數(shù)據(jù),對(duì)軟件的運(yùn)行效率也是密切聯(lián)系的。下面就分享下這次做數(shù)據(jù)庫(kù)的心得。


ER模型

在自學(xué)考試中,學(xué)習(xí)過(guò)有關(guān)ER模型方面的知識(shí),這是被廣泛被采用的概念模型設(shè)計(jì)方法,就是所謂的圖形的方式來(lái)展示用戶需求中各方面的聯(lián)系,這與Use Case是不一樣,用例圖只是單一的展示了用戶的需求,沒(méi)有加入任何的關(guān)系操作,而ER模型在此基礎(chǔ)上引入了聯(lián)系的基本元素。


基本元素

實(shí)體:一個(gè)數(shù)據(jù)對(duì)象,指應(yīng)用中可以區(qū)別的客觀存在的事物

聯(lián)系:表示多個(gè)實(shí)體間的關(guān)系

屬性:實(shí)體的某一特性


操作方法

1.分析需求

下面機(jī)房收費(fèi)系統(tǒng)中用戶的描述

學(xué)生:可以上機(jī),查看自己的余額,查看自己的上機(jī)記錄,還有自己的充值記錄,并且可以自己修改自己的密碼。

值班教師:我是機(jī)房的值班老師,由我來(lái)管理學(xué)生的上機(jī)情況,我的職責(zé)是負(fù)責(zé)同學(xué)上機(jī),并且可以幫助

同學(xué)注冊(cè),充值和退卡,也可以管理學(xué)生的上機(jī)情況。當(dāng)然了也可以查看今天收取金額的情況。

管理員:我可以管理值班教師,比如添加和刪除值班教師,查看他們的工作記錄,并且我也可以
把近段時(shí)間來(lái)的金額進(jìn)行匯總結(jié)賬,只能由我來(lái)設(shè)置學(xué)生上機(jī)消費(fèi)的金額信息信息


2.設(shè)計(jì)局部ER模型

2.1 確定局部結(jié)構(gòu)的范圍

我們從用戶的需求中,然后根據(jù)用戶的不同職責(zé)來(lái)劃分出范圍(學(xué)生、值班教師、管理員)

2.2 定義實(shí)體

這就需要從每一個(gè)局部的結(jié)構(gòu)中概括出一些實(shí)體類(lèi)型

比如學(xué)生這個(gè)職責(zé)范圍內(nèi)的實(shí)體(學(xué)生、上機(jī)情況、余額情況、密碼等)

2.3 定義聯(lián)系

為實(shí)體與實(shí)體之間根據(jù)需求分析的結(jié)果,考察是否存在聯(lián)系


2.4 分配屬性

最后根據(jù)需求分析的結(jié)果,為每一個(gè)實(shí)體定義自己的特性,例如學(xué)生的屬性有——姓名、卡號(hào)、性別等

下面是學(xué)生ER圖的連接http://my.csdn.net/my/album/detail/1764165



3.設(shè)計(jì)全局ER模型

3.1 確定公共實(shí)體

當(dāng)分別設(shè)計(jì)完局部的ER圖后,就可以把局部合并成為全局,在合并的過(guò)程中也要合并實(shí)體,因?yàn)椴煌?/p>

的類(lèi)別范圍內(nèi)查找的實(shí)體可能會(huì)重復(fù)。

3.2 合并局部ER模型

在確定完公共實(shí)體后,就可以根據(jù)公共的實(shí)體來(lái)合并局部的ER圖

下面是合并完后全局ER圖的連接http://my.csdn.net/my/album/show/274159


通過(guò)ER模型我們就能夠很清楚的了解到軟件項(xiàng)目中包括的實(shí)體,以及實(shí)體與實(shí)體之間的聯(lián)系,就能夠從宏觀上

把握軟件的架構(gòu)。


關(guān)系模型

所謂的關(guān)系模型簡(jiǎn)單的說(shuō)就是我們數(shù)據(jù)庫(kù)中一張一張的表,當(dāng)然了數(shù)據(jù)庫(kù)中的數(shù)據(jù)也有自己的設(shè)置規(guī)則

1.1 實(shí)體參照性規(guī)范

主鍵值不能為空,否則主鍵就起不到惟一標(biāo)識(shí)的作用

1.2參照完整性原則

在數(shù)據(jù)表中的外鍵值不是空值就是定于其他表的主鍵值

1.3 用戶定義完整性規(guī)則

為了方便用戶的管理,用戶還可以自己制定相應(yīng)的數(shù)據(jù)約束


ER模型到關(guān)系模型的轉(zhuǎn)變

在ER模型中有:實(shí)體、聯(lián)系和屬性,我們知道在數(shù)據(jù)庫(kù)中有記錄、字段和表名

這些都是相互對(duì)應(yīng)的,下面就說(shuō)一下如何來(lái)從ER模型來(lái)轉(zhuǎn)變?yōu)殛P(guān)系模型

轉(zhuǎn)變

1.1 實(shí)體轉(zhuǎn)換為模型

1.2 若實(shí)體間聯(lián)系是1:1,則可以在兩個(gè)實(shí)體間加入任何一個(gè)實(shí)體的主鍵值

1.3 若實(shí)體間聯(lián)系是M:N,則可以把兩個(gè)實(shí)體的主鍵提取出來(lái)重新組合成新的關(guān)系

最后機(jī)房收費(fèi)系統(tǒng)后的關(guān)系模型如下:


教師(教工號(hào)、水平、年齡、性別、姓名、狀態(tài))

學(xué)生(卡號(hào)、學(xué)號(hào)、班級(jí)、年級(jí)、性別、姓名、系、密碼、狀態(tài))

退款記錄(學(xué)生卡號(hào)、教工號(hào)、值班教師、退款日期,退款金額,退款人員、退款時(shí)間)

收取金額(學(xué)生卡號(hào)、教工號(hào)、值班教師,收取日期、收取金額、收款人)

基本數(shù)據(jù)(教職工號(hào)、臨時(shí)用戶費(fèi)用、遞增時(shí)間、至少上機(jī)時(shí)間、準(zhǔn)備時(shí)間、最少金額)

值班記錄(教工號(hào)、值班教師、值班日期、值班時(shí)間、下機(jī)日期)

充值記錄(學(xué)生卡號(hào)、充值教師、充值金額、充值日期、充值時(shí)間)

上機(jī)記錄(學(xué)生卡號(hào)、上機(jī)日期、上機(jī)時(shí)間、下機(jī)日期、下機(jī)時(shí)間)

日結(jié)賬單(教工號(hào)、上次余額、本日消費(fèi)金額、本日充值金額、本日退款金額、日期)

周結(jié)賬單(教工號(hào)、上周余額、本期消費(fèi)金額、本期充值金額、本期退款金額、日期)


優(yōu)化

1 消除重復(fù)

我們看到教師查看收取金額記錄和學(xué)生的充值記錄是重復(fù)的,所以需要去除重復(fù)來(lái)消除冗余。

2.三范式

1NF:表中的列是不可以在分的(原子性)

例如一張員工信息的表(姓名、住址、電話號(hào)碼),但是員工的電話號(hào)碼又分為住址號(hào)碼和手機(jī)號(hào)碼,所以就違反了1NF

要修改的話,要不就把電話號(hào)碼的屬性拆分為住址號(hào)碼和手機(jī)號(hào)碼,要不就強(qiáng)制員工直流一個(gè)號(hào)碼

2NF:表中不存在重復(fù)的記錄(即表中的行是不可以重復(fù)的)

我們就拿上面機(jī)房收費(fèi)系統(tǒng)設(shè)計(jì)出來(lái)的表為例,學(xué)生信息表(學(xué)號(hào)、姓名、班級(jí)、系別)。如果這樣設(shè)計(jì)的話,我們可以知道一個(gè)系里面大概有1000多名學(xué)生,那么這個(gè)字段就會(huì)在這站張表中重復(fù)1000多次,而且還有班級(jí)這個(gè)字段也是同樣的道理

這樣做的話就會(huì)造成

數(shù)據(jù)冗余:一站表中多次出現(xiàn)了重復(fù)的記錄

更新異常:若要調(diào)整表中系別的字段的話,所有的系別都需要更新,有可能出現(xiàn)同一個(gè)學(xué)生出現(xiàn)在不同的系里面

插入異常:如果學(xué)校新開(kāi)一個(gè)系別,如果沒(méi)有學(xué)生的話,那么這個(gè)系別無(wú)法保存進(jìn)去

要改的話把系別和學(xué)生信息區(qū)別開(kāi)來(lái)(系別號(hào)、系別)和(學(xué)號(hào)、系別號(hào)、姓名、性別),然后這兩張表通過(guò)系別號(hào)來(lái)進(jìn)行連接


3NF:一個(gè)表中的列不依賴(lài)與另一個(gè)表中的非主鍵的列



其實(shí)數(shù)據(jù)庫(kù)的要求就是要遵從概念單一化"一事一地"原則,即一個(gè)關(guān)系模式描述一個(gè)實(shí)體或者實(shí)體間的一種聯(lián)系。通過(guò)三范式的約束后,我們來(lái)看一下最后的數(shù)據(jù)庫(kù)


教師(教工號(hào)、系別號(hào)、年齡、性別、姓名、狀態(tài))

系(系別號(hào)、系)

學(xué)生(卡號(hào)、學(xué)號(hào)、班級(jí)、年級(jí)、性別、姓名、系、密碼、狀態(tài))

退款記錄(學(xué)生卡號(hào)、教工號(hào)、值班教師、退款日期,退款金額,退款人員、退款時(shí)間)

基本數(shù)據(jù)(教職工號(hào)、臨時(shí)用戶費(fèi)用、遞增時(shí)間、至少上機(jī)時(shí)間、準(zhǔn)備時(shí)間、最少金額)

值班記錄(教工號(hào)、值班教師、值班日期、值班時(shí)間、下機(jī)日期)

充值記錄(學(xué)生卡號(hào)、充值教師、充值金額、充值日期、充值時(shí)間)

上機(jī)記錄(學(xué)生卡號(hào)、上機(jī)日期、上機(jī)時(shí)間、下機(jī)日期、下機(jī)時(shí)間)

日結(jié)賬單(教工號(hào)、上次余額、本日消費(fèi)金額、本日充值金額、本日退款金額、日期)

周結(jié)賬單(教工號(hào)、上周余額、本期消費(fèi)金額、本期充值金額、本期退款金額、日期)













聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

個(gè)人版機(jī)房收費(fèi)數(shù)據(jù)庫(kù)設(shè)計(jì)

個(gè)人版機(jī)房收費(fèi)數(shù)據(jù)庫(kù)設(shè)計(jì):在做機(jī)房收費(fèi)系統(tǒng)個(gè)人版的時(shí)候又一次的遇到了數(shù)據(jù)庫(kù)設(shè)計(jì)方面的內(nèi)容,還記得第一次機(jī)房收費(fèi)系統(tǒng)的時(shí)候,數(shù)據(jù)庫(kù)的設(shè)計(jì)基本上是邊敲邊設(shè)計(jì)的,搞得特別的亂,也不符合編程的規(guī)范。既然我們現(xiàn)在已經(jīng)是專(zhuān)業(yè)人士了,那么就應(yīng)該采取一些專(zhuān)業(yè)的手段來(lái)設(shè)計(jì),并且一個(gè)
推薦度:
  • 熱門(mén)焦點(diǎn)

最新推薦

猜你喜歡

熱門(mén)推薦

專(zhuān)題
Top