畢業(yè)設(shè)計--設(shè)計數(shù)據(jù)庫

畢業(yè)設(shè)計:數(shù)據(jù)庫設(shè)計
功能分析:
系統(tǒng)主要實(shí)現(xiàn)前臺用戶和后臺管理員兩大功能模塊,用戶功能主要提供給閱讀館會員的用戶使用,包括用戶的登錄,查詢會員辦理日期、到期日期、繳費(fèi)金額、續(xù)費(fèi)提醒;后臺管理員功能主要提供給系統(tǒng)的管理員使用,包括登錄、增加會員信息、修改會員信息、刪除會員信息、分類查詢會員信息、自動結(jié)算會員費(fèi)用、計算會員持續(xù)時間、會員費(fèi)用統(tǒng)計、會員數(shù)量分期統(tǒng)計等

一、從功能中可以看出,大致分為2大類:管理員和會員用戶
接下來我們繼續(xù)細(xì)分!

1*.賬號表
從功能看,管理員,僅僅只有一個賬號,也不需要什么多余的信息表。而且會員用戶也有賬號
所以我們可以建一張表專門用來存放賬號:

表名為:'account';
設(shè)計字段:'a_username'、'a_password'、'jurisdiction';
主鍵:'a_username';
外鍵:無;
'a_username'和'a_password'不做多余的解釋就是用戶和管理員的賬號和密碼;
'jurisdiction'用來區(qū)分權(quán)限的,因?yàn)槲覀冎?,管理員賬號和會員賬號權(quán)限不一樣,也就注定了登錄賬號不同所跳轉(zhuǎn)到的頁面不同。
所以我規(guī)定:
  '1'為管理員賬號;
  '2'為普通用戶賬號;
當(dāng)然也可以建立兩張表,分別用來存放管理員與用戶的賬號。
我這邊就選擇用了一張表。

二、接下來我們繼續(xù)分析。這個系統(tǒng)主要是圍繞會員用戶設(shè)計的。所以數(shù)據(jù)庫的表也應(yīng)該是針對會員用戶的
我們再來看看
用戶頁面需要實(shí)現(xiàn)的功能:用戶登錄,查詢會員辦理日期、到期日期、繳費(fèi)金額、續(xù)費(fèi)提醒
管理員頁面需要實(shí)現(xiàn)的功能:登錄、增加會員信息、修改會員信息、刪除會員信息、分類查詢會員信息、自動結(jié)算會員費(fèi)用、計算會員持續(xù)時間、會員費(fèi)用統(tǒng)計、會員數(shù)量分期統(tǒng)計
其中登錄已經(jīng)實(shí)現(xiàn)
通過功能我們大致可以了解到,我們所需要建立的表應(yīng)該有:1.用戶信息表;2.用戶充值記錄表;
我們首先從用戶信息入手。
我們都知道辦理會員卡,我們要獲取用戶的部分信息,那么我們應(yīng)該要獲取用戶的那部分信息呢?在一些正規(guī)的圖書館中,用戶都是實(shí)名制,所以我們所獲取的用戶信息應(yīng)該包括:姓名、性別、年齡、身份證號、手機(jī)號郵箱。郵箱我們作為一個可選,畢竟許多廣告還是要從郵箱和手機(jī)短信上推廣的,你們都懂得,嘿嘿嘿。。。通過功能還需要添加上會員辦理日期到期日期。
所以我們的用戶信息表就可以創(chuàng)建了!

2*.用戶信息表:

表名:'vip_userinfo';
字段:'v_id'、'vip_name'、'vip_sex'、'vip_age'、'vip_IdCard'、'vip_phone_number'、'vip_email'、'vip_start_date'、'vip_end_date'、'a_username';
主鍵:'v_id';
外鍵:'a_username';
為什么使用'a_username'為外鍵呢?'a_username'為表'account'中的唯一主鍵。
我們設(shè)計了信息表,那么這個信息對應(yīng)那個會員用戶呢?是不是就需要通過外鍵進(jìn)行關(guān)聯(lián)呢?所以我們選擇'a_username'作為外鍵來關(guān)聯(lián)這兩張表

接下來我們分析用戶消費(fèi)信息表:
消費(fèi)信息表比較簡單:根據(jù)功能判斷,此表中,只存儲充值記錄即可。

3*.用戶充值記錄表:

表名:'recharge';
字段:'r_id'、'money'、'r_date';
主鍵:'r_id';
外鍵:無

這樣表我們就創(chuàng)建完了,那么我們來分析一下表與表之間的關(guān)系,
首先:
賬號表'account'和用戶信息表'user'之間:

一個賬號只能對應(yīng)一個用戶信息,所以表'account'與表'vip_userinfo'之間是一對一關(guān)系;
一個用戶信息也只對應(yīng)一個賬號,表'vip_userinfo'與表'account'之間也是一對一關(guān)系;
它們通過'a_username'所關(guān)聯(lián)。

然后:
用戶信息表'vip_userinfo'與用戶充值記錄表:'recharge':

一個用戶可以有多條充值記錄,所以用戶信息表'vip_userinfo'與用戶充值記錄表:'recharge'之間是一對多關(guān)系;
而一條充值記錄只能對應(yīng)一個用戶,所以用戶充值記錄表:'recharge'與用戶信息表'vip_userinfo'之間是一對一關(guān)系;
因?yàn)榇嬖?對多關(guān)系,所以需要建立中間表,把它們進(jìn)行關(guān)聯(lián)起來。(注:一對多,多對多,都需要建立中間表)

中間表:

表名:'userinfo_rechange';
字段:'v_id'、'r_id';
主鍵:'v_id'、'r_id';('v_id'、'r_id';分別是外鍵,但是它們兩個一起構(gòu)成了唯一索引,所以'v_id'+'r_id'是主鍵;它們共同構(gòu)建為了主鍵)
外鍵:'v_id'、'r_id';

最后在刪除用戶時,我多建一張表用來收集用戶信息?,F(xiàn)在是大數(shù)據(jù)時代,所以刪除用戶信息不存在的。只是從正常的管理表中刪除,存儲到了專門存儲收集用戶信息的表中,即:"userinfo_collect"表

表名:'userinfo_collect';
字段:'id'、'user_name'、'sex'、'age'、'IdCard'、'phone_number'、'email';
主鍵:'id';
外鍵:無;

到這里我們畢業(yè)設(shè)計的數(shù)據(jù)庫就創(chuàng)建完成了。
可以參考我的mysql教程《mysql入門:創(chuàng)建和刪除數(shù)據(jù)庫操作(DDL)》,哦:http://t.cn/Ru0XftA
也可以關(guān)注我的文集《mysql入門到提升》http://t.cn/Ru0XO78學(xué)習(xí)更多關(guān)于數(shù)據(jù)庫的知識,哦。

小白出品,不喜勿噴!

  生活總會給你第二次機(jī)會,叫明天。  
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容