2 回答
TA贡献1865条经验 获得超7个赞
您可以根据实体的持久性来决定数据库映射,即您的实体是否可以独立持久化。具体就您而言,以下是独立和依赖实体:
文件名 > 独立。即使没有测试或构建,文件也可以保留。
测试名称 > 相关。仅当文件存在且构建存在时,测试名称才能存在。并且每个测试名称都属于一个且仅一个文件名。
构建 > 部分依赖于文件。您可以在至少有一个文件时构建
所以,现在您可以通过这样的数据库映射开始:
文件名
+----------+----------
| Id | Filename |
+----------+----------+
| 1 | A.txt |
+----------+----------+
| 2 | Er.txt |
+----------+----------+
// Id is primary key
// 如果测试仅依赖于文件,那么 testId 可以直接在此处作为外键,但测试依赖于构建,这是一对多的。(一个测试可以在许多构建上运行)
测试
+------+--------------+
| Id | Test Name |
+------+--------------+
| 1 | Test 1 |
+------+--------------+
| 2 | Test 2 |
+------+--------------+
//Id is primary key
建表
+------+--------------+
| S No | Build Number |
+------+--------------+
| 1 | Build_123 |
+------+--------------+
| 2 | Build_234 |
+------+--------------+
// Id is primary key
构建测试映射
+------+--------------+ ------- + ------ + --------+---------
| Id | BuildId | TestId | FileId | Executed | Passed |
+------+--------------+ -------+ -------+ -------- + -------
| 1 | Build_123 | 1 | 2 | y | n |
+------+--------------+ -------+ ------+ ----------+ -------
| 2 | Build_234 | 1 | 2 | y | y |
+------+--------------+------- + ------+ ----------+ -------
//Notice here TestId is foreign key of Test table and FileId is foreign key of File table and BuildId is foreign key of Build table
- 2 回答
- 0 关注
- 151 浏览
添加回答
举报