我正在通过指导对我们的表做一些FK分析 表示FK依赖关系然后遍历的图形 图形。在我的代码中,我使用有向图命名所有内容 术语,但我想要更多的东西 报告中的“用户友好”。
在这种情况下:
create table t1(a varchar2(20));
alter table t1 add constraint t1_fk foreign key(a) references t2(b);
t1.a必须存在于t2.b.那么,我应该在空白处使用什么词?
t1 is the _______ of t2.
t2 is the _______ of t1.
许多TIA!
答案 0 :(得分:4)
我会说(括号内的东西是可选的,但我会使用它们)
[Column a of] table t1 references [column b of] table t2
和
[Column b of] table t2 is referenced by [column a of] table t1
我还会指定删除/更新时发生的操作(如果有的话)。
Column b of table t2 is referenced by column a of table t1. Deleting a record in table t2 will delete matching records on table t1
答案 1 :(得分:2)
t1 is the parent of t2.
t2 is the child of t1.
这是什么观众?如果是理解关系模式的人,那么可能会这样做。如果它是非技术人员,那么我通常会在我的建模工具(ERWin)中记录具体关系的含义。
InvoiceLineItem is a part of Invoice.
Invoice has one or more InvoiceLineItems.
或者:
User must belong to a Business.
Business has zero or more Users.
答案 2 :(得分:1)
我会说
t1 is the master of t2. An ID must be in t1, before it can be mentioned in t2. t2 is the slave of t1. It cannot refer to an ID that does not exist in t1.
大多数非技术人员会非常直观地掌握主/从术语。
答案 3 :(得分:1)
您可以采用以下句子形式:
答案 4 :(得分:0)
在解释的场景中,我认为正确的命名应该是(从技术上讲):
t2
是t1
的父级
t1
是t2
受约束列的表称为子,而引用列的表称为 parent 。
我个人不喜欢这个命名,在SQL SERVER中,当你查询sys.foreign_keys
视图时,子表被称为parent_object_id
,而引用的表被称为referenced_object_id
..来自约束本身的观点可能是正确的..但最后这是非常令人困惑的。