假设我有表学生和导师
有没有人使用如下关系的命名约定?我认为这种方式可以快速查看关系。有人会建议更好的方法吗?
Student
StudentID
StudentName
Student2MentorID
假设我有表学生和导师
有没有人使用如下关系的命名约定?我认为这种方式可以快速查看关系。有人会建议更好的方法吗?
Student
StudentID
StudentName
Student2MentorID
我认为:您可以根据模块代表(学者、销售、商店)在表中添加前缀(3 个字母)
模块:学者-> sc
表:scStudent (IdStudent,nameStudent..)
表:scMentor (IdMentor,nameMentor...)
关系
scMentorStudent ( IdMentorStudent pk..)
您可以使用 Microsoft 的 EF 表示法:
http ://weblogs.asp.net/jamauss/pages/DatabaseNamingConventions.aspx
从头开始 - 你可能已经知道了 - 有几种方法可以表示你的数据库模式,我的意思是,通过使用图表,例如帮助你(和你的团队)与数据库设计保持同步的 ER 图从而使其更易于理解。
现在,就个人而言,在实现方面,我确实使用了某种命名约定。例如:
对于大型项目,我使用双下划线来分隔表格类别(即hr__personnel
、hr__clocks
、hr__timetable
、vehicles__cars
、vehicles__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 只是表的一个外部字段。只是,另一个提示帮助。
只需遵循这些简单的步骤,您就可以节省几个小时,而且可能还有些头疼。
希望这可以帮助。
最好使用下划线...我建议简单地使用现有的命名约定规则,例如: http ://www.oracle-base.com/articles/misc/naming-conventions.php