怎么设计数据库

一.先根据页面UI或者需求(最好是UI,因为UI才是最准确的,UI有时会对需求进行微调)抽离出主体,设置基础表

例:

题目:共享云音乐网站
需求
1.登录注册
2.音乐的上传、下载、管理:音乐包括音乐信息和音乐文件(.mp3.wma等等格式),能够实现在线播放
3.对音乐的评论
4.搜索功能【先用关键词搜索,后期尝试用es】
5.用户个人主页功能
6.歌单功能,也需要新增一个页面
以下内容选做(有能力的就做):
1.导入歌单(excel、csv等等格式)
2.歌曲收藏功能
3.给歌曲的点赞功能,和相应的排行榜
4.实现实时进度条(音乐播放和上传)
5.音乐可视化

可以抽离出主体:用户,音乐,评论,歌单,收藏,点赞

二.然后根据不同主体/对象之间的关系设置外键或者中间表,如果是一对一或者一对多的关系就设置外键,如果是多对多的关系就设置中间表。

一个用户对应多个音乐,所以在音乐表设置音乐表外键。
音乐与评论属于一对多的关系,音乐与用户也属于一对多的关系。所以在评论表设置用户外键和音乐外键。
用户与歌单的关系为一对多,所以要在歌单设置用户外键。同时用音乐与歌单之间是多对多的关系,所以需要新增一张中间表。
收藏的音乐与用户之间是一对多的关系,所以收藏表设置外键。而搜藏表与音乐是一对多的关系,所以也设置外键。
点赞和收藏一样。
所以总的有七张表。

三.根据需要什么内容增加字段

然后数据库就设计好了。

你可能感兴趣的:(数据库)