(swjtu西南交大)數據庫實驗(數據庫需求分析):音樂軟件數據管理系統

實驗內容:

數據庫需求分析:各用戶組需求描述,繪出數據流圖(詳細案例參見教材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
流向:用戶
組成:歌單編號+歌曲列表+歌單描述信息

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/161042.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/161042.shtml
英文地址,請注明出處:http://en.pswp.cn/news/161042.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Ajax入門-Express框架介紹和基本使用

電腦實在忒垃圾了,出現問題耗費了至少一刻鐘time,然后才搞出來正常的效果; 效果鎮樓 另外重新安裝了VScode軟件,原來的老是報錯,bug。。; 2個必要的安裝命令; 然后建立必要的文件夾和文件&…

雷軍:我的程序人生路

今天有朋友發給我一篇我在20年前在BBS上寫的帖子。那還是1996年,我們通過電話線撥號連接到西點BBS上飆帖子玩的年代。那是一個互聯網混沌初開的年代,那是一個BBS和Email幾乎主宰了全部互聯網的年代,那是一個青春的理想和熱血沸騰的年代。 我…

新能源車將突破2000萬輛,漢威科技為電池安全保駕護航

近年來,我國新能源汽車銷量持續突破新高。據中汽協數據,1~10月,國內新能源汽車銷量達728萬輛,同比增長37.8%,市場占有率達到30.4%。隨著第四季度車市傳統旺季的到來,新能源消費需求將進一步釋放&#xff0c…

Python小灰灰

系列文章 序號文章目錄直達鏈接表白系列1浪漫520表白代碼https://want595.blog.csdn.net/article/details/1306668812滿屏表白代碼https://want595.blog.csdn.net/article/details/1297945183跳動的愛心https://want595.blog.csdn.net/article/details/1295031234漂浮愛心htt…

【軟件工程師從0到1】- 封裝 (知識匯總)

前言 介紹:大家好啊,我是hitzaki辰。 社區:(完全免費、歡迎加入)日常打卡、學習交流、資源共享的知識星球。 自媒體:我會在b站/抖音更新視頻講解 或 一些純技術外的分享,賬號同名:hi…

藍橋等考C++組別八級005

第一部分:選擇題 1、C++ L8 (15分) 以下關于break的說法正確的是( )。 A. 只有循環結構里面才可以使用break語句。 B. 程序運行到break語句的時候會暫停,直到用戶按下任意鍵才會繼續執行。 C. 嵌套循環的內層循環里面遇到break的時候,整個嵌套循環結構會立即停止,…

Jenkins擴展篇-流水線腳本語法

JenkinsFile可以通過兩種語法來聲明流水線結構,一種是聲明式語法,另一種是腳本式語法。 腳本式語法以Groovy語言為基礎,語法結構同Groovy相同。 由于Groovy學習不適合所有初學者,所以Jenkins團隊為編寫Jenkins流水線提供一種更簡…

kubernetes學習-概念5

服務(Service) Kubernetes 中 Service 是 將運行在一個或一組 Pod 上的網絡應用程序公開為網絡服務的方法。 Kubernetes 中 Service 的一個關鍵目標是讓你無需修改現有應用以使用某種不熟悉的服務發現機制。 你可以在 Pod 集合中運行代碼,無…

nginx使用詳解:轉發規則、負載均衡、server_name

文章目錄 一、nginx常用的轉發規則location 指令說明location轉發使用 二、upstream負載均衡使用三、server_name使用四、其他常用配置限制請求類型處理靜態資源目錄遍歷問題限制客戶端使用的ip或者域名 五、需要注意的地方location /api1 探討location ~ /api1 探討&#xff0…

DataFunSummit:2023年OLAP引擎架構峰會-核心PPT資料下載

一、峰會簡介 OLAP技術是當前大數據領域的熱門方向,該領域在各個行業都有廣泛的使用場景,對OLAP引擎的功能有豐富多樣的需求。同時,在性能、穩定性和成本方面,也有諸多挑戰。目前,OLAP技術沒有形成統一的事實標準&…

redis性能管理

redis的數據庫是存放在內存當中,所以對內存的監控至關重要 redis內存監控和解析 1.如何查看redis內存使用情況 [rootlocalhost utils]# redis-cli -h 20.0.0.170 -p 6379 20.0.0.170:6379> info memory used_memory:853336 //redis中數據占用的內存 use…

觸發設備離線

業務場景 業務開發過程中,我們經常會需要判斷遠程終端是否在線,當終端離線的時候我們需要發送消息告知相應的系統, 環形隊列 1.創建一個index從0到30的環形隊列(本質是個數組) 2.環上每一個slot是一個Set&#xf…

python 執行系統命令

subprocess 模塊和 os.system 或 os.popen 等函數相比,功能更為強大和靈活,是 Python 官方推薦的執行系統命令的方法。主要的優勢包括: 更強的錯誤處理:subprocess 模塊可以更精細地控制錯誤輸出和錯誤代碼,而 os.syst…

自定義springboot的生命周期函數在項目啟動完成后去取配置文件中的值

主要是實現smartLifecycle類 package com.ruoyi.workflow.util;import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.ApplicationContext; import org.springfr…

MYSQL索引使用注意事項

索引使用注意事項: 1.索引列運算 不要在索引列上進行運算操作,否則索引將失效; 2.字符串不加引號 字符串類型使用時,不加引號,否則索引將失效; 3.模糊查詢 如果僅僅是尾部模糊匹配,索引將不會失…

防火墻暴露端口

如果你想開通防火墻上的端口,具體的操作方式可能會取決于你所使用的操作系統。以下是一些常見操作系統的步驟: 1. Linux(例如,Ubuntu 或 CentOS): 使用 ufw(適用于 Ubuntu): # 開…

RK平臺查看板子上的dts信息

簡介 dts文件描述了硬件每個模塊的信息,我們嵌入式軟件的調試很多時候都是在改dts文件,有時候我們不確定板子上的固件是否已經更新了我們的修改,這時候我們可以直接讀取板子上的dts信息,下面來演示一下。 進入uboot命令行模式 …

關于軟raid的實現及常見問題

RAID概念 磁盤陣列(Redundant Arrays of Independent Disks,RAID),有“獨立磁盤構成的具有冗余能力的陣列”之意。 磁盤陣列是由很多價格較便宜的磁盤,以硬件(RAID卡)或軟件(MDADM&…

關于用css設置input輸入框hover的時候的樣式以及當input為disabled的時候,不要讓hover樣式生效

效果如果&#xff1a; 編輯狀態下的時候&#xff1a; 只讀狀態下的時候&#xff1a; 代碼如圖&#xff1a; <input type"text" name"dataForm.exportCode" id"exportCodeItem" required :disabled"editDisabled" />input:not(…

【前端學java】語法練習-工具類的封裝(13)

往期回顧&#xff1a; 【前端學java】JAVA開發的依賴安裝與環境配置 &#xff08;0&#xff09;【前端學 java】java的基礎語法&#xff08;1&#xff09;【前端學java】JAVA中的packge與import&#xff08;2&#xff09;【前端學java】面向對象編程基礎-類的使用 &#xff08…