实体框架数据库设计外键和表链接

时间:2013-04-29 17:21:08

标签: entity-framework database-design

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

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

Master table
Departments
Functions
Processes
Procedures

哪种方式更适合处理设计?

想法#1:

主表

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

我应该这样做,然后从master提供FK到departments表,函数表,processess表和程序表吗?

创意#2

主表

MasterID, departmentID, user1, date

此表将链接到Departments表,然后将链接到函数,这些函数将链接到将链接到过程的进程。

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

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

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

1 个答案:

答案 0 :(得分: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
...

等等。

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

外键按名称标识。