数据库设计技巧



我必须有一个有效的方法从一个表连接两个记录。

该表保存有开始日期和持续时间(以天为单位)的实验室测试的记录。我从我的客户那里得到一个请求,他们希望在测试之间有一个连接(例如,Test2在Test1结束后开始),如果第一个测试被推迟,那么第二个测试也将被推迟。此外,他们还希望插入的测试可以指定test2以test1开头。

我如何在Dataverse表中实现它?

我尝试使用建模表"连接"其中Test1、Test2和Connection Type是主键,Startdate是一列。但是我不知道如何处理没有连接的选项。

您有一个Test

Test
----
Test ID
Start date
Duration in days

其中Test ID为自动递增的整数盲主键。

你也有一个Connection

Connection
----------
Connection ID
Starting Test ID
Connecting Test ID
Connection Type (start-start, end-start)

其中Connection ID为自动递增的整数盲主键。在(Starting Test ID,Connecting Test ID)和(Connecting Test ID,Starting Test ID)上也有唯一的索引。

可以直接访问Test表,也可以通过Connection表访问Test表。