本文主要记录如何设计数据表结构以及一些注意事项。若转载请注明出处。
本文链接:https://www.jianshu.com/p/675f8875c4ee
表结构、表关系、唯一索引、单索引+组合索引
Q:主键为什么使用自增长id而不是uuid或者其它?为什么老师设计的主键都是使用的自增长id?我自己在实际使用过程中,基本都是用的uuid。自增长id很容易出现关联出错导致数据乱掉。
A:使用自增长id效率更高和uuid安全性相对好一些。关于具体的自增长id和uuid的优劣比较可以参看下方的几个链接:
http://blog.csdn.net/mchdba/article/details/52336203
http://blog.csdn.net/caodongfang126/article/details/76977942
Q:betree有什么作用呢USING BTREE
http://blog.csdn.net/ty_hf/article/details/53526822
Q:如何设计数据库
https://www.cnblogs.com/RunForLove/p/5693986.html
http://blog.csdn.net/haiross/article/details/50427382
http://blog.csdn.net/u010205879/article/details/52551061
Q:数据库设计时为什么不使用外键?
Q:数据库设计时,为什么尽量不使用主键做表之间的关联?
Q:唯一索引,主键索引,组合索引区别
A:唯一索引:索引列的值必须唯一,但允许有空 值。
主键索引:它 是一种特殊的唯一索引,不允许有空值。
组合索引:当where条件查询,条件过多时,使用单一索引并不能一次性很好的检索出所想要的内容,除非多个单一索引查询,那样所花费的系统资源过多。所以出现了组合索引,使用组合索引相比于多单一索引查询可以极大的减少系统的io次数。
Q:关于索引:
http://blog.csdn.net/v_victor/article/details/52232685
唯一约束、唯一索引是否是同一个概念?
Q:datetime和datestamp的区别?
DATETIME是日期和时间,范围是'1000-01-01 00:00:00'到'9999-12-31 23:59:59',TIMESTAMP是时间戳,范围是'1970-01-01 00:00:00'到2037-12-31 23:59:59,选择根据业务场景而定。
Q:关于表结构中表ENGINE=InnoDB,AUTO_INCREMENT=10032,DEFAULTCHASET=utf8分别是什么意思?
A:https://coding.imooc.com/learn/questiondetail/9665.html
Q:如何使用powerdesigner?
A:http://www.cnblogs.com/huangcong/archive/2010/06/14/1757957.html
https://www.cnblogs.com/biehongli/p/6025954.html
http://blog.csdn.net/yh88356656/article/details/52181113
http://blog.csdn.net/wangpeng047/article/details/7164643
Q:数据库中为何不存放图片,而是存放图片的相对地址?
A:图片服务器前缀+数据库图片相对地址=业务代码中的完整图片地址;当图片服务器需要迁移时,只需要更换图片服务器域名和配置文件即可,而数据是不需要清洗。
Q:mydql中存放富文本,使用text数据类型,oracle使用clob
Q:mysql的decimal(20,2),20表示有效位数,2表示小数位;
Q:创建表时,如何选择使用冗余字段?
唯一索引unique,保证数据唯一性;
Q:mysql中utf8和utf8mb4区别:
A:http://ourmysql.com/archives/1402
Q:utf8_general_ci与utf8_bin两者有什么不同?
A:https://zhidao.baidu.com/question/575705449.html
maven报错:
Could not set the project description for 'mmall' because the project description file (.project) is out of sync with the file system.
关闭eclipse重新打开即可。
https://stackoverflow.com/questions/34895323/project-is-out-of-sync-with-the-file-system-eclipse
controller--
service--
dao--
pojo--实体类,对应数据库表
vo--值对象,封装数据,用于返回给controller层展示;
util--工具类
common--公共类(如异常类)、常量