120 lines
2.5 KiB
SQL
120 lines
2.5 KiB
SQL
CREATE TABLE roles(
|
|
role_id SERIAL NOT NULL,
|
|
role_name VARCHAR(20) UNIQUE NOT NULL,
|
|
CONSTRAINT roles_pk PRIMARY KEY (role_id)
|
|
);
|
|
|
|
DESCRIBE roles;
|
|
|
|
|
|
CREATE TABLE user_roles(
|
|
u_id INTEGER NOT NULL,
|
|
role_id INTEGER NOT NULL,
|
|
CONSTRAINT user_roles_pk PRIMARY KEY(u_id,role_id)
|
|
);
|
|
|
|
|
|
-- foreign key to be added to this table in alter table form
|
|
CREATE TABLE users(
|
|
u_id SERIAL NOT NULL,
|
|
user_id_number CHAR(12) UNIQUE NOT NULL,
|
|
user_name VARCHAR(70) NOT NULL,
|
|
user_password VARCHAR(68) NOT NULL,
|
|
-- fk to uder_account
|
|
CONSTRAINT user_table_pk PRIMARY KEY(u_id)
|
|
);
|
|
|
|
|
|
ALTER TABLE user_roles ADD CONSTRAINT user_lones_U_fk_to_user FOREIGN KEY(u_id) REFERENCES users(u_id);
|
|
ALTER TABLE user_roles ADD CONSTRAINT user_lones_R_fk_to_user FOREIGN KEY(role_id) REFERENCES roles(role_id);
|
|
|
|
|
|
INSERT INTO roles(role_id, role_name) VALUES (1, 'ROLE_admin');
|
|
|
|
SELECT * FROM users;
|
|
SELECT * FROM user_roles;
|
|
SELECT * FROM roles;er
|
|
|
|
|
|
|
|
DROP TABLE IF EXISTS user_roles;
|
|
DROP TABLE IF EXISTS users;
|
|
|
|
SELECT * FROM users;
|
|
|
|
ALTER TABLE users
|
|
|
|
-- ALTER TABLE users
|
|
-- RENAME COLUMN user_name TO user_id_number;
|
|
|
|
-- ALTER TABLE users
|
|
-- ADD COLUMN user_name varchar(60) NOT NULL;
|
|
CREATE TABLE race_venue(
|
|
race_venue_id SERIAL NOT NULL,
|
|
venue VARCHAR(10) UNIQUE NOT NULL,
|
|
CONSTRAINT race_venue_id_pk PRIMARY KEY (race_venue_id)
|
|
);
|
|
|
|
|
|
CREATE TABLE race_number(
|
|
race_id SERIAL NOT NULL,
|
|
sys_data_only DATE NOT NULL,
|
|
race_venue_id INTEGER NOT NULL,
|
|
number_of_races SMALLINT,
|
|
CoNSTRAINT race_number_id_pk PRIMARY KEY (race_id)
|
|
);
|
|
|
|
CREATE TABLE ip_to_device(
|
|
ip_address varchar(20) UNIQUE NOT NULL,
|
|
device_id INTEGER NOT NULL
|
|
);
|
|
|
|
ALTER TABLE race_number
|
|
ADD CONSTRAINT race_venue_id_fk
|
|
FOREIGN KEY (race_venue_id) REFERENCES race_venue(race_venue_id);
|
|
|
|
|
|
--
|
|
|
|
|
|
SELECT * FROM users;
|
|
|
|
CREATE TABLE race_venue(
|
|
race_venue_id SERIAL NOT NULL,
|
|
venue VARCHAR(10) UNIQUE NOT NULL,
|
|
CONSTRAINT race_venue_id_pk PRIMARY KEY (race_venue_id)
|
|
);
|
|
|
|
|
|
CREATE TABLE race_number(
|
|
race_id SERIAL NOT NULL,
|
|
sys_data_only DATE NOT NULL,
|
|
race_venue_id INTEGER NOT NULL,
|
|
number_of_races SMALLINT NOT NULL,
|
|
CONSTRAINT race_number_id_pk PRIMARY KEY (race_id)
|
|
);
|
|
|
|
ALTER TABLE race_number
|
|
ADD CONSTRAINT composit_constraint
|
|
UNIQUE (sys_data_only, race_venue_id);
|
|
|
|
CREATE TABLE ip_to_device(
|
|
ip_address varchar(20) NOT NULL,
|
|
device_id INTEGER NOT NULL,
|
|
CONSTRAINT ip_to_device_pk PRIMARY KEY (ip_address)
|
|
);
|
|
|
|
DROP TABLE IF EXISTS race_number;
|
|
|
|
|
|
ALTER TABLE race_number
|
|
ADD CONSTRAINT race_venue_id_fk
|
|
FOREIGN KEY (race_venue_id) REFERENCES race_venue(race_venue_id);
|
|
|
|
|
|
SELECT * FROM race_venue;
|
|
SELECT * FROM race_number;
|
|
|
|
|
|
|