1:数据库结构设计与建立html
小白作好前端html设计后,立刻开始进入数据库结构设计步骤。前端
在开始以前,小白回忆了一下老大在公司里培训时讲过的数据库设计解说:python
对于初学者来讲,不少拿到原型时不知道怎么设计数据表结构,这是很正常的事,能够经过借鉴别人的项目总结经验,慢慢就会了。sql
拿到原型后,咱们要认真观察原型里显示的内容有那些,考虑一下这些内容中那些是不变的,即写死在页面中的,那些是须要后台更改变更的,将这些变更的记录下来,添加到数据字典中。在记录这些字段时,还要作的事就是分类,一个类别就是一个数据表。(固然若是初学者很牛的话,那你也能够像一些架构师大神那样,不用原型直接打开设计工具绘制表结构关系图也没有任何问题)数据库
而后咱们再根据业务流程与业务需求,对字段进行增减优化。数据结构
最后再根据目标业务量,与一些非功能的质量属性要求,来优化表结构。作完这一步,数据表结构设计就八九不离十了。架构
固然在设计时,咱们要注意的是表结构的可扩展性,也就是说某些字段会不会存在一对多的状况,若是你设计成一对一的话,那有可能后续要升级功能时就会遇到不少障碍了。数据库设计
另外,咱们也要立足当前,不能为了未来有可能的事情去增长一大堆冗余字段,到最后可能多了好多没有用过的字段存在。对于python来讲,它不须要去生成一大堆实体类,因此咱们在后续根据须要添加各类字段也是很是方便的,建议绝要用到时再添加对应的字段。编辑器
1、表结构设计分布式
首先咱们打开有公司介绍的页面
能够看到公司介绍里面显示的是图片和文字信息,它属于信息编辑类型,而联系咱们也是同样的,因此能够把它们放到一个信息表中统一管理,根据原型咱们能够看到首页和公司介绍页面展现的图片大小是不同的,因此须要增长一个封面图片地址字段,用来存放首页显示的图片地址,而公司介绍页的图片与内容文字能够一块儿存储到内容字段中(首页展现内容时,可使用代码过滤掉内容中的图片),因此这里须要两个字段来存储对应的内容。另外,为了方便后台管理员区分这是什么内容的记录,因此再增长一个标题字段来进行说明,不用作前端展现用。
前面的分析,小白使用老大给的数据字典excel模板,设计对应的数据表结构(使用的是postgresql数据库,见下图)
PS:主键几乎每一个数据表都是必须的,通常使用自增类型的整形数值,对于数据量比较大的分布式数据结构,多数会用uuid作为主键id;另外对于信息表,还会增长一个额外的add_time来存储这条记录添加的时间
打开产品中心与产品详情页面
从原型的产品中心页面,咱们能够看到左栏有产品分类列表,右栏是产品详细内容,因此咱们须要分两个表来进行存储,并将它们关联起来。产品分类表用来存储分类信息(须要有分类名称字段),用于管理前端分类列表的展现,能够增长是否启用字段,方便新增或下架某个系列产品时,批量上线或下线操做用的(显示或隐藏该分类)。
而产品信息表则能够根据产品详情页面所展现的内容字段来进行添加(从产品详情页面上能够看到,须要产品名称、编码、规格、保质期、产地与产品描述字段)。除了页面展现内容外,咱们还须要增长产品分类id字段,用来绑定产品分类表,用于点击产品分类时,后台根据这个分类id来查询出对应的产品。另外增长封面图片地址字段,用于显示产品列表时,展现对应的图片。最后是否启用字段也是为了显示和隐藏产品用的。
除了以上内容外,咱们还须要增长一个管理员管理表,用来管理后台登陆用户用的,因为这个企业站过小了,因此小菜鸟偷懒不作这个管理页面,哈哈...后面的故事慢慢展开后会逐渐完善系统功能
2、数据表SQL代码生成
运行下载包中的ExcelToPostgreSql.exe(这是用C#开发的,须要Framework 3.5才能运行),选择下载包中的数据字典,而后填入Excel表名称Sheet1,点击运行就能够看到生成好的Sql执行代码了(若是用WPS打开了数据字典,点运行可能会无反应,是由于WPS独占了excel文件,须要关闭后才会正常运行)
PS:因为这个软件是随手写出来的,因此不是很完善,必须遵循下面一些要求才行
第一行列的中文说明不能删除,否则运行时会出错;表与表之间要空一行;主键列支持PK(建立主键)、IX(生成索引)与UX(建立惟一索引)三种,若是想要建立复合索引,只能手动添加;容许空列,只须要添加no就会添加非空限制;默认值列,默认时间类型字段为null值,若是想要设置为now(),即生成当前时间,则须要将容许空列设置为no就能够了,由于now多是excel的关键字,这个默认值程序读不出来;另外,text类型字段默认值为'',即生成时会自动添加。
3、建立数据库与数据表
打开pgAdmin链接本地postgresql数据库
点击
在弹出窗口中,输入数据库名称:simple_db,点击肯定,完成数据库建立。
而后点击刚建立好的数据库后,再点击标题栏的sql查询分析器
在弹出来的sql编辑器窗口中粘贴前面生成好的sql语句进来,而后点击执行查询,数据表就建立好了
接着清空sql编辑器里的代码,输入下面语句,点击执行建立后台管理员帐号,方便后面开发操做
INSERT INTO manager(login_name, login_password, is_enable) VALUES ('admin', 'E10ADC3949BA59ABBE56E057F20F883E', 1);
到这里就完成了数据库的相关设计与建立工做了,点击下面连接下载相关文件