5.3.5. Foreign Keys (The SQL Language) possible enhance
От | Grzegorz Szpetkowski |
---|---|
Тема | 5.3.5. Foreign Keys (The SQL Language) possible enhance |
Дата | |
Msg-id | BANLkTimbdXudnU+fV236f8aQ3iHdta_MOA@mail.gmail.com обсуждение исходный текст |
Ответы |
Re: 5.3.5. Foreign Keys (The SQL Language) possible enhance
|
Список | pgsql-docs |
I have some remark about "Now it is impossible to create orders with product_no entries that do not appear in the products table." http://www.postgresql.org/docs/9.0/static/ddl-constraints.html#DDL-CONSTRAINTS-FK Let' see: 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 ); INSERT INTO products VALUES (1, 'Bosch vacuum cleaner', 10); INSERT INTO orders VALUES (1, 1, 1); INSERT INTO orders VALUES (2, NULL, 5); There is still possibility to add product_no (exactly NULL) value, which does not appear (cannot because of primary key nature) in products table. To get "full solution" you need create orders table as CREATE TABLE orders ( order_id integer PRIMARY KEY, product_no integer REFERENCES products (product_no) NOT NULL, quantity integer ); Regards, Grzegorz Szpetkowski
В списке pgsql-docs по дате отправления: