0

假设我有表学生和导师

有没有人使用如下关系的命名约定?我认为这种方式可以快速查看关系。有人会建议更好的方法吗?

Student

StudentID
StudentName
Student2MentorID

4

3 回答 3

1

我认为:您可以根据模块代表(学者、销售、商店)在表中添加前缀(3 个字母)

模块:学者-> sc

表:scStudent (IdStudent,nameStudent..)

表:scMentor (IdMentor,nameMentor...)

关系

scMentorStudent ( IdMentorStudent pk..)

您可以使用 Microsoft 的 EF 表示法:
http ://weblogs.asp.net/jamauss/pages/DatabaseNamingConventions.aspx

于 2013-02-21T21:08:21.503 回答
1

从头开始 - 你可能已经知道了 - 有几种方法可以表示你的数据库模式,我的意思是,通过使用图表,例如帮助你(和你的团队)与数据库设计保持同步的 ER 图从而使其更易于理解。

现在,就个人而言,在实现方面,我确实使用了某种命名约定。例如:

  • 对于大型项目,我使用双下划线来分隔表格类别(即hr__personnelhr__clockshr__timetablevehicles__carsvehicles__trips)等。

  • 现在,有了两个表之间的关系,我确实包含了两个(或全部)所涉及的表名。(即hr__personnel_timetable,vehicles__cars_trips等)

  • 有时,(众所周知),我们不能严格遵循标准,所以在这些情况下,我在选择大型关系名称时会使用我自己的标准。

  • 通常,我还使用三个字母的前缀来命名表属性。例如,在我的表中trips,我的字段将是tri_id, tri_distance,tri_elapsed

  • 另请注意,在上述项目中,我没有包含外键。所以我就去吧。当谈到 FK 时,我(和我的团队)很容易意识到该领域是 FK。如果我们按照前面的例子,我想知道每次旅行都有谁开车(为了更容易,我们假设只有一个人开车一次)。所以我的桌子现在是这样的:tri_id, per_id, tri_distance, tri_elapsed. 现在您可以很容易地意识到 per_id 只是表的一个外部字段。只是,另一个提示帮助。

只需遵循这些简单的步骤,您就可以节省几个小时,而且可能还有些头疼。

希望这可以帮助。

于 2013-02-21T20:52:52.053 回答
0

最好使用下划线...我建议简单地使用现有的命名约定规则,例如: http ://www.oracle-base.com/articles/misc/naming-conventions.php

于 2013-02-22T13:05:17.823 回答