好的我有一个主表可以用两种不同的方式设计,我不确定最好的方法。我正在进行关于设置数据库的模型优先编程。
到目前为止我有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.
哪种方式最好,或者我只是完全错了,有人可以告诉我或接近你创建这个表格和链接结构的最佳方法吗?
答案 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
...
等等。
每个表的主键是一个自动递增的整数或长整数。
外键按名称标识。