Understanding object dependencies
In most databases, there will be dependencies between objects in a database. Sometimes, we need to understand these dependencies to figure out how to perform certain actions, such as modifying or deleting existing objects. Let’s look at this in detail.
Getting ready
We’ll use the following simple database to understand and investigate the dependencies:
- Create two tables as follows:
CREATE TABLE orders ( orderid integer PRIMARY KEY ); CREATE TABLE orderlines ( orderid integer ,lineid smallint ,PRIMARY KEY (orderid, lineid) );
- Now, we add a link between them to enforce what is known as referential integrity, as follows:
ALTER TABLE orderlines ADD FOREIGN KEY (orderid) REFERENCES orders (orderid);
- If we try to drop the referenced table, we get the following message:
DROP TABLE orders; ERROR: cannot drop table orders because other objects depend on it DETAIL: constraint...