實驗內容:
數據庫需求分析:各用戶組需求描述,繪出數據流圖(詳細案例參見教材p333~p337,陶宏才,數據庫原理及設計,第三版);
一、選題背景
??????? 近年來,“聽歌”逐漸成為大眾高頻剛性的需求,音樂軟件數據急劇增加,用戶和軟件管理者需要在使用和管理音樂軟件時對各種數據更高效便捷地管理。數據庫系統充分保證了大量數據的存儲和管理有非常強的重新組織數據的能力同時又能充分描述數據間的內在聯系。因此設計并實現一個通用的音樂數據庫系統,對音樂軟件數據的統一存儲、保護、管理和共享具有非常重要的現實意義。
二、需求描述
角色 | 要求 |
用戶 | 管理歌單歌曲,查看和發布歌曲評論,對歌單進行增刪查詢操作,修改歌單信息,關注歌手,修改個人信息 |
歌手 | 發布歌曲 |
客服 | 審核、確認用戶的修改信息,發送推送請求 |
?
三、系統數據流圖
頂層數據流圖
1層數據流圖
?2層數據流圖
四、系統數據字典
數據項:
數據項:歌曲編號
數據類型:字符型
數據長度:20位
?數據構成:發布年月+發布順序號
?數據項:歌曲名稱
數據類型:字符型
數據長度:20位
數據項:歌曲類型
數據類型:字符型
數據長度:10位
數據項:歌曲語言
數據類型:字符型
數據長度:8位
數據項:演唱歌手號
數據類型:字符型
數據長度:10位
數據項:發布時間
數據類型:日期型
數據長度:8位
數據構成:年+月+日
?
數據項:歌詞
數據類型:字符型
數據長度:3000位
數據項:歌手編號
數據類型:字符型
數據長度:10位
數據項:歌手名稱
數據類型:字符型
數據長度:10位
數據項:用戶名
數據類型:字符型
數據長度:10位
數據項:用戶賬號
數據類型:字符型
數據長度:10位
數據項:密碼
數據類型:字符型
數據長度:10位
數據項:性別
數據類型:字符型
數據長度:1位
數據項:生日
數據類型:日期型
數據長度:8位
數據構成:年+月+日
數據項:地區
數據類型:字符型
數據長度:20位
數據項:手機號碼
數據類型:字符型
數據長度:11位
數據項:個性簽名
數據類型:字符型
數據長度:50位
數據項:評論時間
數據類型:日期型
數據長度:20位
數據構成:年+月+日+時+分+秒
數據項:評論內容
數據類型:字符型
數據長度:20位
數據項:關注時間
數據類型:日期型
數據長度:20位
數據構成:年+月+日
數據項:歌單編號
數據類型:字符型
數據長度:10位
數據項:歌單標題
數據類型:字符型
數據長度:20位
數據項:歌曲數量
數據類型:整型
數據長度:100位
數據項:簡介
數據類型:字符型
數據長度:1000位
數據項:歌單創建時間
數據類型:日期型
數據長度:8位
數據構成:年+月+日
數據項:歌單用戶
數據類型:字符型
數據長度:10位
數據項:審核人
數據類型:字符型
數據長度:10位
加工處理:
加工處理:評論系統
編號:1
輸入:(用戶)評論信息+用戶評論信息
輸出:(該用戶)評論信息
加工邏輯:滿足用戶評論歌曲操作
加工處理:歌單歌曲管理
編號:2
輸入:(用戶)管理歌單操作+管理的歌單
輸出:(該用戶)歌單信息
加工邏輯:根據需求對歌單進行管理操作
加工處理:查看歌單信息
編號:2.1
輸入:(用戶)查看命令+歌單信息
輸出:(該用戶)需要修改歌單的信息
加工邏輯:滿足查詢請求條件
加工處理:修改歌單
編號:2.2
輸入:(用戶)新增或修改命令+修改(歌單中歌曲)后的歌單信息
輸出:新增或修改后的歌單信息
加工邏輯:滿足修改歌單請求條件
加工處理:傳送修改請求
編號:3
輸入:(用戶)修改信息請求
輸出:用戶修改請求
加工邏輯:將用戶修改請求傳送給客服
加工處理:歌曲發布
編號:4
輸入:(歌手)發布歌曲信息(原始信息)
輸出:歌曲信息(添加編號、歌手、發布時間后)
加工邏輯:滿足歌曲發布條件
加工處理:關注歌手
編號:5
輸入:(用戶)關注請求
輸出:(該用戶)關注信息
加工邏輯:用戶未曾關注該歌手
加工處理:修改用戶信息
編號:6
輸入:(客服)需要修改的信息
輸出:修改后的信息
加工邏輯:根據用戶的修改請求修改信息
加工處理:歌單歌曲管理系統
編號:7
輸入:(用戶)管理請求命令+歌曲信息+需要管理的歌單+管理的歌單
輸出:管理后的歌單歌曲+管理的歌單
加工邏輯:根據用戶對歌單的管理請求進行管理
加工處理:查看歌單歌曲
編號:7.1
輸入:(用戶)查看歌單歌曲命令+歌單歌曲信息
輸出:(該用戶)所查看歌單歌曲的信息
加工邏輯:滿足查詢請求條件
加工處理:修改歌單歌曲
編號:7.2
輸入:(用戶)修改命令+需要修改的歌單歌曲信息
輸出:修改后的歌單歌曲
加工邏輯:滿足修改歌單歌曲請求條件
加工處理:推送歌單
編號:8
輸入:(客服)推送請求+需推送的歌單
輸出:推送的歌單
加工邏輯:根據推送請求推送相關歌單
數據文件:
數據文件:評論表
文件組成:評論時間+評論內容
組成:按評論時間降序排列
數據文件:歌單表
文件組成:歌單編號+歌單標題+歌曲數量+簡介+創建時間+歌單用戶
組成:按歌單編號升序排列
數據文件:用戶信息表
文件組成:用戶名+賬號+密碼+性別+生日+地區+手機號碼+個性簽名
組成:按賬號和地區升序排列
數據文件:歌曲表
文件組成:歌曲編號+歌曲名稱+歌曲類型+歌曲語言+歌詞+演唱歌手號+發布時間
組成:按編號升序排列
數據文件:關注表
文件組成:被關注的歌手編號+被關注的歌手名稱+關注者賬號+關注者用戶名+關注時間
組織:按歌手編號和關注者賬號升序排列
數據文件:歌單歌曲表
文件組成:歌單編號+歌曲編號
組成:按歌單和歌曲編號升序排列
數據流:
數據流名:發布歌曲的信息
來源:發布歌曲的歌手
流向:加工4
組成:歌曲名稱+歌曲類型+歌曲語言+歌詞
?
?數據流名:歌曲信息
來源:加工4
流向:歌曲表
組成:歌曲編號+歌曲名稱+歌曲類型+歌曲語言+歌詞+演唱歌手號+發布時間
?
數據流名:歌曲信息
來源:歌曲表
流向:加工7
組成:歌曲編號+歌曲名稱+歌曲類型+歌曲語言+歌詞+演唱歌手號+發布時間
數據流名:關注請求
來源:用戶
流向:加工5
組成:要關注的歌手的編號+用戶編號
數據流名:關注信息
來源:加工5
流向:關注表存儲文件
組成:要關注的歌手的編號+歌手名+用戶名+用戶編號
數據流名:歌單信息
來源:文件2中的歌單表
流向:加工2.1
組成:歌單編號+歌單標題+歌單創建者編號+歌單歌曲數量+歌單簡介+歌單創建時間
數據流名:查看歌單命令
來源:用戶
流向:加工2.1
組成:需要查看的歌單編號
數據流名:需修改的歌單
來源:加工2.1
流向:加工2.2
組成:需修改的歌單編號
?
數據流名:修改的歌單
來源:加工2
流向:加工7
組成:修改的歌單編號
數據流名:新增歌單或修改命令
來源:用戶
流向:加工2.2
組成:命令+修改歌單編號
數據流名:新增的歌單或修改后的歌單信息
來源:加工2.2
流向:歌單表文件
組成:修改后的歌單編號
數據流名:查看歌單歌曲命令
來源:用戶
流向:加工7.1
組成:需要查看的歌單編號
數據流名:歌單歌曲信息
來源:文件6歌單歌曲表
流向:加工7.1
組成:歌單編號+歌單標題+歌單歌曲列表
數據流名:需修改的歌單歌曲
來源:加工7.1
流向:加工7.2
組成:歌單編號+歌單歌曲列表
?
數據流名:新增歌單中歌曲或修改歌單歌曲信息
來源:用戶
流向:加工7.2
組成:需修改的歌單編號+需修改的歌單歌曲編號
數據流名:新增后的歌單歌曲或修改信息
來源:加工7.2
流向:文件6歌單歌曲表
組成:修改后的歌單歌曲編號
數據流名:(用戶新增)評論信息
來源:用戶
流向:加工1
組成:評論內容+評論者賬號+評論時間+評論的歌曲編號
數據流名:(添加到文件中的)評論信息
來源:加工1
流向:評論表存儲文件
組成:評論內容+評論者賬號+評論時間
數據流名:修改信息請求
來源:用戶
流向:加工3
組成:修改信息項+修改時間+修改前信息+修改后信息
數據流名:用戶修改請求
來源:加工3
流向:客服
組成:修改信息項+修改時間+修改前信息+修改后信息
數據流名:需要修改的信息
來源:客服
流向:加工6
組成:修改信息項+審核人(哪一個客服)+修改時間+修改后信息
數據流名:修改后的信息
來源:加工6
流向:用戶信息表
組成:修改信息項+修改后信息
數據流名:推送請求
來源:客服
流向:加工8
組成:要推送的歌單編號
數據流名:要推送的歌單
來源:歌單表
流向:加工8
組成:歌單編號+歌曲列表+歌單描述信息
數據流名:推送的歌單
來源:加工8
流向:用戶
組成:歌單編號+歌曲列表+歌單描述信息