我試圖理解關係,並自然出現問題。引用表和引用表
是什麼引用表的意思又是什麼引用的表呢?在上面的例子中應該引用哪一個引用? 可以說爲了爭辯,settlements
表是一個子表(沒有國家就不能存在結算)。這個子表是否應該引用或引用?
我不想爲這樣一個小問題打開一個新問題: 那個Mandatory
複選框是什麼意思?這是否意味着需要定居點表或需要country_id
?或者也許別的東西?
我試圖理解關係,並自然出現問題。引用表和引用表
是什麼引用表的意思又是什麼引用的表呢?在上面的例子中應該引用哪一個引用? 可以說爲了爭辯,settlements
表是一個子表(沒有國家就不能存在結算)。這個子表是否應該引用或引用?
我不想爲這樣一個小問題打開一個新問題: 那個Mandatory
複選框是什麼意思?這是否意味着需要定居點表或需要country_id
?或者也許別的東西?
在PostgreSQL文檔中找到了非常好的解釋。
說你有,我們已經多次使用的產品表:
CREATE TABLE products (
product_no integer PRIMARY KEY,
name text,
price numeric
);
讓我們假設你有一個表,用於存儲這些產品的訂單。我們希望確保訂單表只包含實際存在的產品訂單。因此,我們在訂單表引用產品表中定義一個外鍵約束:
CREATE TABLE orders (
order_id integer PRIMARY KEY,
product_no integer REFERENCES products (product_no),
quantity integer
);
現在是不可能與沒有出現在產品表product_no項創建訂單。
我們說,在這種情況下,訂單表是引用表和產品表是引用表。同樣,也有引用和引用的列。
被引用的表是「父」表。
引用表是'子'表。
線索在SQL DDL中,例如
ALTER TABLE Settlements ADD
FOREIGN KEY (country_id)
REFERENCES Countries (id);
住區引用國家,意味着引用國家。
強制複選框(如果它在生成的SQL中似乎沒有效果)對圖形有一定影響。如果不加以控制,你可以在有關聯的關係線上看到小圓圈(關係符號烏鴉的腳)。
這意味着外鍵可以是空的,又名。不是強制性的。
也許我應該在english.stackexchange.com上發佈這個:D – abruski