具有不同属性的相同项目的数据库设计
Database design for same items with various properties
我刚开始接触数据库设计和结构。我现在面临一个问题。假设我想要一个票数据库,共有三种类型的票:
1 号票
---------------------------
| id creation_time .... |
---------------------------
票 #2
------------------------------------------------
| id creation_time auto_closure_time .... |
------------------------------------------------
票 #3
-------------------------
| id permanent .... |
-------------------------
数据类型:
creation_time, auto_closure_time - 日期时间
永久 - 布尔值
工单 #3 没有 creation_time,具体原因
四个点 (....) 表示其他一些包含所有门票的列
我的问题是:我应该将这些 table 分开,还是将它们合并成一个 table,看起来像这样?
-----------------------------------------------------------
| id creation_time auto_closure_time permanent |
| 1 xyz NULL 0 |
| 2 xyz xyz 0 |
| 3 NULL NULL 1 |
-----------------------------------------------------------
ID 1 代表 Ticket #1 等等。
分开的 table 和合并的有什么好处?
感谢大家的回答,感谢您的宝贵时间。
我会有一个 table 只有 creation_time
和 auto_closure_time
,并使用 "impossible" 值来表示永久性。这可能是创建时间的开始,也可能是关闭时间的结束(无论如何定义)。正如您所描述的,类型 1 的票证只是得到一个 NULL auto_closure_time
。
"how many tables" 的答案取决于所表示实体的属性的共性。在您的情况下,这 3 种门票的唯一区别在于它是否过期。
我刚开始接触数据库设计和结构。我现在面临一个问题。假设我想要一个票数据库,共有三种类型的票:
1 号票
---------------------------
| id creation_time .... |
---------------------------
票 #2
------------------------------------------------
| id creation_time auto_closure_time .... |
------------------------------------------------
票 #3
-------------------------
| id permanent .... |
-------------------------
数据类型:
creation_time, auto_closure_time - 日期时间
永久 - 布尔值
工单 #3 没有 creation_time,具体原因
四个点 (....) 表示其他一些包含所有门票的列
我的问题是:我应该将这些 table 分开,还是将它们合并成一个 table,看起来像这样?
-----------------------------------------------------------
| id creation_time auto_closure_time permanent |
| 1 xyz NULL 0 |
| 2 xyz xyz 0 |
| 3 NULL NULL 1 |
-----------------------------------------------------------
ID 1 代表 Ticket #1 等等。
分开的 table 和合并的有什么好处?
感谢大家的回答,感谢您的宝贵时间。
我会有一个 table 只有 creation_time
和 auto_closure_time
,并使用 "impossible" 值来表示永久性。这可能是创建时间的开始,也可能是关闭时间的结束(无论如何定义)。正如您所描述的,类型 1 的票证只是得到一个 NULL auto_closure_time
。
"how many tables" 的答案取决于所表示实体的属性的共性。在您的情况下,这 3 种门票的唯一区别在于它是否过期。