数据库设计心得——感觉画质不如原神队
1.项目简介与背景
目前世界上数字作品的交易热火朝天,但国内关于数字作品交易的平台却较少,数字作品的版权保护并未受到重视,数字化的区块链技术具有去中心化,开放性,共享和信息匿名的特性可以有效的保护数字版权,同时也有利于数字作品的交易。NFT,全称为Non-Fungible Token,指非同质化通证,实质是区块链网络里具有唯一性特点的可信数字权益凭证,是一种可在区块链上记录和处理多维、复杂属性的数据对象,基于NFT可将数字作品上链进行保护并记录交易信息保障数字作品交易,因此本作品将通过搭建一个基于NFT的数字作品交易平台,方便大家的数字作品版权保护与交易。
2.团队介绍
项目名称:基于NFT的数字作品交易平台
指导老师:周军海
小组名称:感觉画质不如原神
小组成员:胡俊驰、邓飞、邓磊、陈志涛、武博文
3.数据库设计过程
根据用例文档以及我们对需求的分析,设计了以下数据库表格
|
序号 |
表名 |
功能说明 |
|
1 |
t_user |
用户信息表 |
|
2 |
t_work |
作品详细信息表 |
|
3 |
t_sale |
销售表 |
|
4 |
t_feedback |
系统反馈表 |
|
5 |
t_comment |
评论表 |
|
6 |
t_recharge_record |
充值记录表 |
|
7 |
t_search_record |
搜索记录表 |
|
8 |
t_news |
新闻表 |
|
9 |
t_case |
案例表 |
|
10 |
t_inform |
消息通知表 |
|
11 |
t_trade |
交易记录表 |
4.ER图设计
用户浏评论、交流

充值

反馈上传

购买商品

管理员维持热度

全局ER图

5.数据库设计心得
胡俊驰:
我主要负责的是通知、销售表。其中的销售表,我们项目的计划是将商品的在售状态进行一个分类:在售使用权、在售所有权、停售等。这个字段我打算采用int类型,0作为停售状态,1为在售使用权,2为在售所有权。
同时售单的id和作品的id要区分开来,售单是针对上架的商品而作品是属于该作品的id号,后续如果下架商品重新上架,作品号不会发生变化但是售单id会发生变化。
通知表的设计就注意要重要字段:发送方、接收方、发送内容,主键我们决定也采用id的形式,便于管理,以上是我本次数据库设计的心得。
邓磊:
在数据库设计中我主要负责的是交易信息表和用户表。
销售表和用户表是多对多的关系,因此需要新建一个实体,把销售表的主键售单号和作品号、用户表的主键用户id放入此实体作为主键;在数据库中不存储文件,存储服务器上的url,因此把交易凭证的字段内容设置为url;交易类型的区分使用一个int型的字段status,用数字对应交易类型
用户表的类型区分也是通过一个int型的字段status进行,1代表管理员,0代表普通用户;对于此项目要求的智能推送功能,我们希望用标签来进行推送,用户可以选择自己喜爱的标签,用户标签的数量限制在三个以内,因此在数据库设计中在用户表增加了三个标签的字段来解决这个问题。
通过这次数据库设计,我学习了数据库设计规范,并进行了实践,对上学期学习的数据库有了更深的理解
邓飞:
从业务上说,案例表与新闻表属于管理员模块,其结构是类似的。它们都有各种的id,文本url、图片url、案例标题、创建时间等字段。而评论表属于普通用户模块,其包含评论id、商品id、用户id、销售id、评论时间、文本url等字段,其中商品id、用户id、销售id是外键。
从功能上说,案例表与新闻表是为了管理员维持热度而服务的,其核心在于简单地得到和编辑对应地案例与新闻,因此表的设计都比较简单,字段较少。将文本内容与图片内容分别设置为url,意在顺应管理员的操作流程。评论表记录普通用户在购买之后发表评论的相关内容,需要有一部分外键用于记录整个售单的信息。
陈志涛:
在数据库设计中我主要负责的是作品标签表、用户标签表、搜索记录表和充值记录表。
作品标签表要我们提供作品名称,作品价格以及作品属性,因此具有作品id、价格、属性三个属性。用户标签表需要我们记录用户id、用户爱好,因此具有用户id、用户属性两个标签搜索记录表需要我们提供搜索内容和用户id还有搜索的时间的信息,因此带有三个属性,id、时间和搜索内容,充值记录表记录着某用户何时充值了多少钱,并且要有着转账记录的图片证据,所以带有四个属性,id、金额、时间和转账记录图片文件url。总而言之这几个表的属性与工作内容都很清晰,设计过程思路清晰,没有遇到困难。
武博文:
在本次数据库设计中,我主要负责设计作品信息表和系统反馈表。
作品信息表可以说是整个系统最重要的一环,经过反复讨论,我们确定
设计作品编号id标识作品,设计作品名称、作品类型等字段存储作品本身信息,设计作品作者名字等字段存储作者相关信息,设计所有权人名称等字段存储所有权人信息,设计上链时间、上链所在区块高度存储作品在区块链上相关信息。
系统反馈表用于记录反馈信息,设计文件编号等字段记录可能存在问题的作品信息,设计反馈内容字段记录反馈信息
之前上课有学习过数据库设计相关知识,但知识从理论到实践还是有很大的差别,从这次数据库设计中收获了很多,更加加深了对数据库相关知识的理解
浙公网安备 33010602011771号