Creating tables manually in PostgreSQL
Oct 21, 2020
ONE to MANY
CREATE TABLE employee (
eid serial PRIMARY KEY,
ename VARCHAR ( 50 ) UNIQUE NOT NULL
);
CREATE TABLE department (
did serial,
dfid int NOT NULL,
PRIMARY KEY (did),
FOREIGN KEY (dfid) REFERENCES employee(eid) ON DELETE CASCADE
)
MANY to MANY
CREATE TABLE project(
pid serial PRIMARY KEY,
pname VARCHAR (255) UNIQUE NOT NULL
);
CREATE TABLE account_roles ( user_id INT NOT NULL, role_id INT NOT NULL, grant_date TIMESTAMP, PRIMARY KEY (user_id, role_id), FOREIGN KEY (role_id) REFERENCES roles (role_id), FOREIGN KEY (user_id) REFERENCES accounts (user_id) );