我试图理解关系,自然而然就会出现问题。
referencing table 是什么意思,referenced table 是什么意思?在上面的例子中,应该引用哪一个,引用哪一个?
让我们说 settlements
表是一个子表(没有国家/地区就不能存在结算)。这个子表应该被引用还是被引用?
这么小的问题我宁愿不开新题:
Mandatory
复选框是什么意思?这是否意味着结算表是必需的,或者 country_id
是必需的?还是别的什么?
最佳答案
在 PostgreSQL 文档中找到了一个非常好的解释。
假设您有我们已经使用过多次的产品表:
CREATE TABLE products (
product_no integer PRIMARY KEY,
name text,
price numeric
);
我们还假设您有一个存储这些产品订单的表格。我们要确保订单表只包含实际存在的产品订单。所以我们在orders表中定义了一个外键约束来引用products表:
CREATE TABLE orders (
order_id integer PRIMARY KEY,
product_no integer REFERENCES products (product_no),
quantity integer
);
现在不可能创建带有 product_no 条目但未出现在 products 表中的订单。
我们说在这种情况下,订单表是引用表,产品表是引用表。同样,也有引用列和被引用列。
关于mysql - 引用表和引用表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8095588/