1

好的,我有一个可以以两种不同方式设计的主表,但我不确定最佳方法。我正在做关于设置数据库的模型优先编程。

到目前为止,我有 5 张桌子。

Master table
Departments
Functions
Processes
Procedures

哪个是处理设计的更好方法?

想法1:

主表

masterId, departmentID, functionID, processID, procedureID, user1, date

我是否应该这样做,然后提供从 master 到部门表、功能表、进程表和程序表的 FK?

想法#2

主表

MasterID, departmentID, user1, date

该表将链接到部门表,然后将链接到功能,该功能将链接到将链接到程序的流程。

主表将包含所有内容的完整列表。

A department can have many functions.
a function can have many processes.
a process can have many procedures.

哪种方法最好,或者我只是做错了,有人可以告诉我你或接近你的最佳方法来创建这个表格和链接结构图?

4

1 回答 1

2

如果您有以下条件,

A master can have many departments.
a department can have many functions.
a function can have many processes.
a process can have many procedures.

那么你必须使用你的第二个设计理念。在您的第一个设计理念中,您只有一个部门、一个职能、一个流程和一个程序密钥。

Master
------
Master ID
User
Date
...

Department
----------
Department ID
Master ID
...

Function
--------
Function ID
Department ID
...

等等。

每个表的主键是一个自动递增的整数或长整数。

外键由名称标识。

于 2013-04-29T17:45:10.567 回答