数据库设计 一对多 多对多 无限级菜单 设计方法

设计规范

1、每一个列保持一个原子性,字段不可再划分

2、一个物体描述信息一个表存完

3、每一个字段都是跟主键直接相关的,一条数据只存一次

一对多 如下

通过ID 进行关联

多对多 如下

通过中间表(映射表)进行关联

无限级菜单

name:菜单名称

parentId:上级菜单的ID  也就是这个表里面的ID

levelNum:菜单等级 方便查找

code 和path配合 下级菜单的path 是上级菜单的path+caode 方面通过 ‘path%’进行查询属于该菜单下级的所有菜单

order:排序

关于自增主键用ID还是Guid的区别

用int自增

优点:不需要指定ID值、简单易用、省空间

缺点:迁移数据麻烦,垮库麻烦

用Guid

优点:全球唯一

缺点:如果用做Url中当参数,看起来不友好

关于设置主外键

优点:插入数据的时候,会有校验、更新删除数据的时候,会自动查找 删除相关信息

缺点:多一步检测,耗时,数据导入麻烦

建议:虚拟主外键,逻辑上有外键,不在数据库中体现

原文地址:https://www.cnblogs.com/hunrry/p/9408444.html