畢業(yè)設(shè)計(jì):數(shù)據(jù)庫設(shè)計(jì)
功能分析:
系統(tǒng)主要實(shí)現(xiàn)前臺(tái)用戶和后臺(tái)管理員兩大功能模塊侨嘀,用戶功能主要提供給閱讀館會(huì)員的用戶使用型宝,包括用戶的登錄稠诲,查詢會(huì)員辦理日期、到期日期诡曙、繳費(fèi)金額臀叙、續(xù)費(fèi)提醒;后臺(tái)管理員功能主要提供給系統(tǒng)的管理員使用价卤,包括登錄劝萤、增加會(huì)員信息、修改會(huì)員信息慎璧、刪除會(huì)員信息床嫌、分類查詢會(huì)員信息、自動(dòng)結(jié)算會(huì)員費(fèi)用胸私、計(jì)算會(huì)員持續(xù)時(shí)間厌处、會(huì)員費(fèi)用統(tǒng)計(jì)、會(huì)員數(shù)量分期統(tǒng)計(jì)等
一岁疼、從功能中可以看出阔涉,大致分為2大類:管理員和會(huì)員用戶
接下來我們繼續(xù)細(xì)分!
1*.賬號(hào)表
從功能看捷绒,管理員瑰排,僅僅只有一個(gè)賬號(hào),也不需要什么多余的信息表暖侨。而且會(huì)員用戶也有賬號(hào)
所以我們可以建一張表專門用來存放賬號(hào):
表名為:'account';
設(shè)計(jì)字段:'a_username'椭住、'a_password'、'jurisdiction';
主鍵:'a_username';
外鍵:無;
'a_username'和'a_password'不做多余的解釋就是用戶和管理員的賬號(hào)和密碼字逗;
'jurisdiction'用來區(qū)分權(quán)限的京郑,因?yàn)槲覀冎溃芾韱T賬號(hào)和會(huì)員賬號(hào)權(quán)限不一樣葫掉,也就注定了登錄賬號(hào)不同所跳轉(zhuǎn)到的頁面不同些举。
所以我規(guī)定:
'1'為管理員賬號(hào);
'2'為普通用戶賬號(hào);
當(dāng)然也可以建立兩張表挖息,分別用來存放管理員與用戶的賬號(hào)金拒。
我這邊就選擇用了一張表兽肤。
二套腹、接下來我們繼續(xù)分析绪抛。這個(gè)系統(tǒng)主要是圍繞會(huì)員用戶設(shè)計(jì)的。所以數(shù)據(jù)庫的表也應(yīng)該是針對(duì)會(huì)員用戶的
我們?cè)賮砜纯?br>
用戶頁面需要實(shí)現(xiàn)的功能:用戶登錄电禀,查詢會(huì)員辦理日期幢码、到期日期、繳費(fèi)金額尖飞、續(xù)費(fèi)提醒
管理員頁面需要實(shí)現(xiàn)的功能:登錄症副、增加會(huì)員信息、修改會(huì)員信息政基、刪除會(huì)員信息贞铣、分類查詢會(huì)員信息、自動(dòng)結(jié)算會(huì)員費(fèi)用沮明、計(jì)算會(huì)員持續(xù)時(shí)間辕坝、會(huì)員費(fèi)用統(tǒng)計(jì)、會(huì)員數(shù)量分期統(tǒng)計(jì)
其中登錄
已經(jīng)實(shí)現(xiàn)
通過功能我們大致可以了解到荐健,我們所需要建立的表應(yīng)該有:1.用戶信息表酱畅;2.用戶充值記錄表;
我們首先從用戶信息入手江场。
我們都知道辦理會(huì)員卡纺酸,我們要獲取用戶的部分信息,那么我們應(yīng)該要獲取用戶的那部分信息呢址否?在一些正規(guī)的圖書館中餐蔬,用戶都是實(shí)名制,所以我們所獲取的用戶信息應(yīng)該包括:姓名
佑附、性別
用含、年齡
、身份證號(hào)
帮匾、手機(jī)號(hào)
啄骇、郵箱
。郵箱我們作為一個(gè)可選瘟斜,畢竟許多廣告還是要從郵箱和手機(jī)短信上推廣的缸夹,你們都懂得,嘿嘿嘿螺句。虽惭。。通過功能還需要添加上會(huì)員辦理日期
和到期日期
蛇尚。
所以我們的用戶信息表就可以創(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'中的唯一主鍵。
我們?cè)O(shè)計(jì)了信息表书蚪,那么這個(gè)信息對(duì)應(yīng)那個(gè)會(huì)員用戶呢喇澡?是不是就需要通過外鍵進(jìn)行關(guān)聯(lián)呢?所以我們選擇'a_username'作為外鍵來關(guān)聯(lián)這兩張表
接下來我們分析用戶消費(fèi)信息表:
消費(fèi)信息表比較簡(jiǎn)單:根據(jù)功能判斷殊校,此表中撩幽,只存儲(chǔ)充值記錄即可。
3*.用戶充值記錄表:
表名:'recharge';
字段:'r_id'箩艺、'money'窜醉、'r_date';
主鍵:'r_id';
外鍵:無
這樣表我們就創(chuàng)建完了艺谆,那么我們來分析一下表與表之間的關(guān)系榨惰,
首先:
賬號(hào)表'account'和用戶信息表'user'之間:
一個(gè)賬號(hào)只能對(duì)應(yīng)一個(gè)用戶信息,所以表'account'與表'vip_userinfo'之間是一對(duì)一關(guān)系静汤;
一個(gè)用戶信息也只對(duì)應(yīng)一個(gè)賬號(hào)琅催,表'vip_userinfo'與表'account'之間也是一對(duì)一關(guān)系;
它們通過'a_username'所關(guān)聯(lián)虫给。
然后:
用戶信息表'vip_userinfo'與用戶充值記錄表:'recharge':
一個(gè)用戶可以有多條充值記錄藤抡,所以用戶信息表'vip_userinfo'與用戶充值記錄表:'recharge'之間是一對(duì)多關(guān)系;
而一條充值記錄只能對(duì)應(yīng)一個(gè)用戶抹估,所以用戶充值記錄表:'recharge'與用戶信息表'vip_userinfo'之間是一對(duì)一關(guān)系缠黍;
因?yàn)榇嬖?對(duì)多關(guān)系,所以需要建立中間表药蜻,把它們進(jìn)行關(guān)聯(lián)起來瓷式。(注:一對(duì)多,多對(duì)多语泽,都需要建立中間表)
中間表:
表名:'userinfo_rechange';
字段:'v_id'贸典、'r_id';
主鍵:'v_id'、'r_id';('v_id'踱卵、'r_id';分別是外鍵廊驼,但是它們兩個(gè)一起構(gòu)成了唯一索引,所以'v_id'+'r_id'是主鍵;它們共同構(gòu)建為了主鍵)
外鍵:'v_id'、'r_id';
最后在刪除用戶時(shí)妒挎,我多建一張表用來收集用戶信息∩現(xiàn)在是大數(shù)據(jù)時(shí)代,所以刪除用戶信息不存在的饥漫。只是從正常的管理表中刪除榨呆,存儲(chǔ)到了專門存儲(chǔ)收集用戶信息的表中罗标,即:"userinfo_collect"表
表名:'userinfo_collect';
字段:'id'庸队、'user_name'、'sex'闯割、'age'彻消、'IdCard'、'phone_number'宙拉、'email';
主鍵:'id';
外鍵:無宾尚;
到這里我們畢業(yè)設(shè)計(jì)的數(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ù)庫的知識(shí),哦煌贴。
小白出品,不喜勿噴锥忿!
生活總會(huì)給你第二次機(jī)會(huì)牛郑,叫明天。