栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

关系数据库设计多种用户类型

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

关系数据库设计多种用户类型

您的案例看起来像是类/子类的实例。

有两种设计SQL表以处理子类的经典方法。每种都有优点和缺点。

一种方法称为“单表继承”。在此设计中,只有一张桌子可供所有类型的用户使用。如果给定的列与给定的行不相关,则交集为NULL。可以添加一列以指示用户类型。

另一种方法称为“类表继承”。这很像Nanego给出的答案,但做了一些小的更改。有一个供用户使用的表,其中包含所有常用数据和一个id字段。每个子类都有一个表,其中包含与该子类有关的数据。id字段通常设置为用户表中匹配行中id字段的副本。这样,子类键可以起到双重作用,既充当主键又充当引用用户表的外键。最后一种技术称为“共享主键”。插入时需要一些编程,但这是值得的。它增强了关系的一对一性质,并加快了必要的联接。

您可以将所有这三种设计查找为SO中的标签或Web上的文章。

单表继承 类表继承
共享主键



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/395316.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号