如何为 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,每个实体属性一行。
你是如何选择的?这取决于您在问题中未讨论的因素。其中包括:
- 是否所有实体都具有相同的属性?
- 你能把 table 脱机来改变它的结构吗?
- table 有多大,行有多宽?这些问题与查询性能有关吗?
- 多久添加一次新列?
可能会有更多的考虑,可能会有更多可能的解决方案。关键是没有通用的正确答案。不同的解决方案有不同的优点和缺点。
让用户使用自定义属性的正确方法是什么?
举个例子
考虑一下,
有一个 Web 应用程序,使用前端用户界面管理员用户需要能够稍后向 Employee 添加自定义属性。这意味着不仅针对特定员工记录,而且针对所有员工。
最初,有一名员工 table 具有以下字段,
| Employee |
|----------|
| ID |
| Name |
| Email |
稍后,系统管理员想为员工 table 添加一些自定义字段(属性),例如国籍、手机号码、地址。
更改 table 并向其添加新列是否是个好主意?或者有什么正确的方法可以做到这一点。
目前正在做数据库的ER图,希望使用Postgresql或者MySQL来实现
谢谢!
有多种方法可以满足您的需求:
- 向给定的 table 添加新列。
- 创建一个具有附加属性的新 table。
- 使用 table 中的 JSON 列来处理灵活的新属性。
- 为灵活属性创建一个实体属性值 table,每个实体属性一行。
你是如何选择的?这取决于您在问题中未讨论的因素。其中包括:
- 是否所有实体都具有相同的属性?
- 你能把 table 脱机来改变它的结构吗?
- table 有多大,行有多宽?这些问题与查询性能有关吗?
- 多久添加一次新列?
可能会有更多的考虑,可能会有更多可能的解决方案。关键是没有通用的正确答案。不同的解决方案有不同的优点和缺点。