如何为 SQL table 创建自定义属性

How to make Custom attributes for SQL table

让用户使用自定义属性的正确方法是什么?

举个例子
考虑一下, 有一个 Web 应用程序,使用前端用户界面管理员用户需要能够稍后向 Employee 添加自定义属性。这意味着不仅针对特定员工记录,而且针对所有员工。

最初,有一名员工 table 具有以下字段,

| Employee |
|----------|
| ID       |
| Name     |
| Email    |

稍后,系统管理员想为员工 table 添加一些自定义字段(属性),例如国籍、手机号码、地址。

更改 table 并向其添加新列是否是个好主意?或者有什么正确的方法可以做到这一点。

目前正在做数据库的ER图,希望使用Postgresql或者MySQL来实现

谢谢!

有多种方法可以满足您的需求:

  • 向给定的 table 添加新列。
  • 创建一个具有附加属性的新 table。
  • 使用 table 中的 JSON 列来处理灵活的新属性。
  • 为灵活属性创建一个实体属性值 table,每个实体属性一行。

你是如何选择的?这取决于您在问题中未讨论的因素。其中包括:

  1. 是否所有实体都具有相同的属性?
  2. 你能把 table 脱机来改变它的结构吗?
  3. table 有多大,行有多宽?这些问题与查询性能有关吗?
  4. 多久添加一次新列?

可能会有更多的考虑,可能会有更多可能的解决方案。关键是没有通用的正确答案。不同的解决方案有不同的优点和缺点。