在审查了许多数据库设计之后,我仍然不确定什么是最好的方法。我正在设计一个数据库,其中大多数实体具有不同的状态。例如我可能有类似的东西
我在思考两种不同的选择。
1)为每个实体创建一个“状态”表
CREATE TABLE UserStatus(
UserStatusID int,
Description varchar(255)
);
CREATE TABLE OrderStatus(
OrderStatusID int,
Description varchar(255)
);
Run Code Online (Sandbox Code Playgroud)
2)为所有实体创建一个共享状态表
CREATE TABLE Status(
StatusID int,
Description varchar(255)
);
Run Code Online (Sandbox Code Playgroud)
如果您能解释哪个选项更好或每个选项的优点,我将不胜感激