1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108
| CREATE TABLE community
(
id serial NOT NULL,
name text NOT NULL,
category_id integer NOT NULL,
last_visit timestamp with time zone NOT NULL,
CONSTRAINT community_pkey PRIMARY KEY (id ),
CONSTRAINT community_category_id_fk FOREIGN KEY (category_id)
REFERENCES category (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION
)
CREATE INDEX ix_community_category_id
ON community
USING btree
(category_id );
CREATE INDEX ix_community_last_visit
ON community
USING btree
(last_visit );
--------------------------------------------------
CREATE TABLE user
(
id serial NOT NULL,
profile_name text,
name text,
sex sex,
age integer,
birthday date,
last_visit timestamp with time zone,
location_id integer,
hometown_id integer,
work_id integer,
valid boolean NOT NULL,
CONSTRAINT user_pkey PRIMARY KEY (id ),
CONSTRAINT user_hometown_id_fk FOREIGN KEY (hometown_id)
REFERENCES place (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION,
CONSTRAINT user_location_id_fk FOREIGN KEY (location_id)
REFERENCES place (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION,
CONSTRAINT user_work_id_fk FOREIGN KEY (work_id)
REFERENCES work (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION
)
CREATE INDEX ix_user_age
ON user
USING btree
(age );
CREATE INDEX ix_user_hometown_id
ON user
USING btree
(hometown_id );
CREATE INDEX ix_user_last_visit
ON user
USING btree
(last_visit );
CREATE INDEX ix_user_location_id
ON user
USING btree
(location_id );
CREATE INDEX ix_user_sex
ON user
USING btree
(sex );
CREATE INDEX ix_user_valid
ON user
USING btree
(valid );
CREATE INDEX ix_user_work_id
ON user
USING btree
(work_id );
--------------------------------------------------
CREATE TABLE user_communities__community_users
(
community_id integer NOT NULL,
user_id integer NOT NULL,
CONSTRAINT user_communities__community_users_pkey PRIMARY KEY (community_id , user_id ),
CONSTRAINT community_users_fk FOREIGN KEY (community_id)
REFERENCES community (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE CASCADE,
CONSTRAINT user_communities_fk FOREIGN KEY (user_id)
REFERENCES user (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE CASCADE
)
CREATE INDEX ix_user_communities__community_users_community_id
ON user_communities__community_users
USING btree
(community_id );
CREATE INDEX ix_user_communities__community_users_user_id
ON user_communities__community_users
USING btree
(user_id ); |
Partager