为了账号安全,请及时绑定邮箱和手机立即绑定

实战:Thinkphp+MySQL电影点播系统02-数据字典

标签:
Java Spring

目的

首先数据字典设计目的,就是为了数据库设计有文档可以记录,因为在项目当中,我发现就算是很忙很忙的开发,也要形成文档描述,这样既让自己的代码有可以依据的文档解释,又让后人接手你的代码有文档可以追溯。

思路

我们来分析一下,该项目的核心对象“电影”,肯定要有电影名称,类型,语言,上映时间,时长,简介,以及关联的海报图片。其中名称可以直接以 varchar 形式保存,类型,语言可以单独拿出一张表,用数字表示,上映时间可以是 date 类型,简介可以直接用大一点的 varchar 表示,至于海报,因为一部电影可以有多个海报,所以我打算用单独的一张表来表示图片,然后用第三张表来做电影与海报之间的关联
图片描述
注意点一:
每一张表都有一个创建时间和修改时间,类型为 timestamp ,其中修改时间记录每次修改该表的时间
注意点二:
数据库字段大写,用于区别 SQL 和 字段类型(个人习惯)

如果直接使用 UPM_MOVE 表来存放图片,那就只能用多个字段,或者一个段里存放多个编号,然后处理字符串来解决这个问题,这样设计很不友好,不易理解。

设计

DROP TABLE IF EXISTS `upm_movie`;
CREATE TABLE `upm_movie` (
  `ID` int(20) NOT NULL AUTO_INCREMENT COMMENT '电影主键',
  `NAME` varchar(10) NOT NULL COMMENT '电影名',
  `TYPE_LINK` tinyint(1) NOT NULL COMMENT '类型',
  `LANG` tinyint(1) DEFAULT NULL COMMENT '语言',
  `RELEASE_TIME` date DEFAULT NULL COMMENT '上映时间',
  `LENGTH` int(10) DEFAULT NULL COMMENT '电影时长',
  `CONTENT` varchar(500) DEFAULT NULL COMMENT '简介',
  `CREATE_TIME` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `UPDATE_TIME` timestamp NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
  PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

字典

接下来是形成文档,也是就书面描述,需要对数据库进行文字和表格描述,备注用途,以表格的形式展示。
例如电影主表,其中类型可以分为:剧情、喜剧、冒险、爱情、动作、科幻、动画
图片描述

图片描述

接下来的准备

我们可以开始涉及 UI 界面,完成基本的版面设计,有点像画图的意思,在一侧怎样显示,在另一侧如何显示,是否要有输入框,大小是多大,整体界面的颜色是怎样的,也就是主色调如何。
目前我想好的就是,左侧要有浏览界面,左侧是可以滚动的,右侧不动,左侧可以滚动,而且也可以搜索,支持模糊搜索,异步提交,右侧根据点击左侧不同的电影,显示不同的信息。主色调为蓝色,这样显得比较高大上一点,而且尽量不要使用原生的组件,会很丑。小图标可以参考 iconfont ,这里面的矢量图都很精致。

总结

本篇需要你对数据库有所了解,尤其是,Java 中的类型与数据库字段类型如何匹配,设计数据库需要想到的尽可能全面。
其实设计并不难,当你设计多了之后,你会发现,其实不过如此,轻车熟路了嘛。
下一篇,我将对 UI 设计进行讲解,讲讲我这个后端开发人员是如何解决前端设计的过程,如何完成前端设计的。

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
JAVA开发工程师
手记
粉丝
31
获赞与收藏
154

关注作者,订阅最新文章

阅读免费教程

  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消