目的
首先数据字典设计目的,就是为了数据库设计有文档可以记录,因为在项目当中,我发现就算是很忙很忙的开发,也要形成文档描述,这样既让自己的代码有可以依据的文档解释,又让后人接手你的代码有文档可以追溯。
思路
我们来分析一下,该项目的核心对象“电影”,肯定要有电影名称,类型,语言,上映时间,时长,简介,以及关联的海报图片。其中名称可以直接以 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 设计进行讲解,讲讲我这个后端开发人员是如何解决前端设计的过程,如何完成前端设计的。
共同学习,写下你的评论
评论加载中...
作者其他优质文章