|
CREATE TABLE users ( |
|
id BIGSERIAL, |
|
name VARCHAR(32), |
|
PRIMARY KEY (id) |
|
); |
|
|
|
CREATE TABLE groups ( |
|
id BIGSERIAL, |
|
name VARCHAR(32), |
|
PRIMARY KEY (id) |
|
); |
|
|
|
CREATE TABLE users_groups ( |
|
user_id BIGINT, |
|
group_id BIGINT, |
|
PRIMARY KEY (user_id, group_id), |
|
FOREIGN KEY (user_id) REFERENCES users (id) ON DELETE CASCADE, |
|
FOREIGN KEY (group_id) REFERENCES groups (id) ON DELETE CASCADE |
|
); |
|
|
|
INSERT INTO users (name) VALUES ('Вася'); |
|
INSERT INTO users (name) VALUES ('Петя'); |
|
INSERT INTO users (name) VALUES ('Антон'); |
|
INSERT INTO users (name) VALUES ('Сергей'); |
|
|
|
INSERT INTO groups (name) VALUES ('Админы'); |
|
INSERT INTO groups (name) VALUES ('Программисты'); |
|
INSERT INTO groups (name) VALUES ('Продавцы'); |
|
INSERT INTO groups (name) VALUES ('Гетеросексуалисты'); |
|
|
|
INSERT INTO users_groups (user_id, group_id) VALUES ((SELECT id FROM users WHERE name = 'Антон'), (SELECT id FROM groups WHERE name = 'Программисты')); |
|
INSERT INTO users_groups (user_id, group_id) VALUES ((SELECT id FROM users WHERE name = 'Антон'), (SELECT id FROM groups WHERE name = 'Гетеросексуалисты')); |
|
INSERT INTO users_groups (user_id, group_id) VALUES ((SELECT id FROM users WHERE name = 'Петя'), (SELECT id FROM groups WHERE name = 'Продавцы')); |
|
INSERT INTO users_groups (user_id, group_id) VALUES ((SELECT id FROM users WHERE name = 'Петя'), (SELECT id FROM groups WHERE name = 'Гетеросексуалисты')); |
|
INSERT INTO users_groups (user_id, group_id) VALUES ((SELECT id FROM users WHERE name = 'Вася'), (SELECT id FROM groups WHERE name = 'Продавцы')); |
|
INSERT INTO users_groups (user_id, group_id) VALUES ((SELECT id FROM users WHERE name = 'Вася'), (SELECT id FROM groups WHERE name = 'Гетеросексуалисты')); |
|
INSERT INTO users_groups (user_id, group_id) VALUES ((SELECT id FROM users WHERE name = 'Сергей'), (SELECT id FROM groups WHERE name = 'Программисты')); |
|
INSERT INTO users_groups (user_id, group_id) VALUES ((SELECT id FROM users WHERE name = 'Сергей'), (SELECT id FROM groups WHERE name = 'Админы')); |