发表于: 2020-01-03 23:00:42
2 1086
今天完成的事情:
在数据库建成了9个表
添加了一个 角色和模块 多对多关系的 关联表
为了实现表的可拓展性,把所有的表的外键(物理外键)都取消了,只添加了 prentID
这个是逻辑外键方式, 即在代码里实现表之间的联系,需要用到SQL语句的join语法
SQL join 用于根据两个或多个表中的列之间的关系,从这些表中查询数据(最常用的是INNER JOIN)
自己做个测试:
onework表(1级作品)
twowork表(2级作品)
onework表里的id 对应 twowork表里的onework_id
查询语法:
SELECT onework.id, onework.onework_name, twowork.twowork_name
FROM onework
INNER JOIN twowork
ON onework.id=twowork.onework_id;
这样就不用强制在表里添加外键了
ps: 数据库外键的缺点
1.数据库需要维护外键的内部管理;
2.外键等于把数据的一致性事务实现,全部交给数据库服务器完成;
3.有了外键,当做一些涉及外键字段的增,删,更新操作之后,需要触发相关操作去检查,而不得不消耗资源;
4.外键还会因为需要请求对其他表内部加锁而容易出现死锁情况;
接口文档还没写完
明天计划的事情;
写完接口文档
做简单的方案设计
看师兄日报用到了 mybatis-generator代码自动生成工具
可以尝试配置下
评论