发表于: 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代码自动生成工具

可以尝试配置下




返回列表 返回列表
评论

    分享到