gpt4 book ai didi

sql - 关系数据 : entity inheritance approaches. 最佳实践

转载 作者:行者123 更新时间:2023-12-01 23:40:57 25 4
gpt4 key购买 nike

有几种方法可以在关系数据库中存储实体层次结构

例如,有人员实体(20个基本属性)、学生实体(与人员相同,但存在一些新的特定字段)、员工(与人员相同,但存在一些新字段)等。

当您建议使用(而不是使用)以下数据建模方法时:

  • 一个包含所有可能字段的大表 + personType 标记字段(学生或员工)
  • 表继承
  • 一个带有 XML 字段(或者可能是其他数据类型)的表来存储所有自定义字段
  • 其他但也有关系的东西......

提前谢谢您!

最佳答案

数据库建模的是事实,而不是对象,每个表应该建模一组相对独立的事实。这样做的结果是你的表格应该看起来像这样:

person { person_id PK, name, dob, ... }
student { person_id PK FK(person.person_id), admission_id, year_started, ... }
employee { person_id PK FK(person.person_id), salary_bracket, ... }

另一个结果是学生也可以是雇员,这可能比继承图更接近现实生活。

关于sql - 关系数据 : entity inheritance approaches. 最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3275022/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com