DB

CREATE TABLE directories
(
id bigserial NOT NULL,
first_name character varying(32) NOT NULL,
middle_name character varying(32),
last_name character varying(32) NOT NULL,
kana_first_name character varying(32) NOT NULL,
kana_middle_name character varying(32),
kana_last_name character varying(32) NOT NULL,
email character varying(256) NOT NULL,
phone character varying(32),
extension_phone character varying(32),
location_id bigint,
CONSTRAINT directories_pkey PRIMARY KEY (id),
CONSTRAINT directories_location_id_fkey FOREIGN KEY (location_id)
REFERENCES locations (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION
)
WITH (
OIDS=FALSE
);


CREATE TABLE
positions(

id bigserial NOT NULL,

name character varying(64) NOT NULL,
CONSTRAINT positions_pkey PRIMARY KEY (id)
)
WITH (
OIDS=FALSE
);


CREATE TABLE
sections(

id bigserial NOT NULL,

name character varying(64) NOT NULL,
CONSTRAINT sections_pkey PRIMARY KEY (id)
)
WITH (
OIDS=FALSE
);


CREATE TABLE
locations(

id bigserial NOT NULL,

name character varying(64) NOT NULL,
CONSTRAINT sections_pkey PRIMARY KEY (id)
)
WITH (
OIDS=FALSE
);


CREATE TABLE positions_directories
(
id bigserial NOT NULL,
position_id bigint,
directory_id bigint,
CONSTRAINT positions_directories_pkey PRIMARY KEY (id),
CONSTRAINT positions_directories_directory_id_fkey FOREIGN KEY (directory_id)
REFERENCES directories (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION,
CONSTRAINT positions_directories_position_id_fkey FOREIGN KEY (position_id)
REFERENCES positions (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION
)
WITH (
OIDS=FALSE
);

CREATE TABLE sections_directories
(
id bigserial NOT NULL,
section_id bigint,
directory_id bigint,
CONSTRAINT sections_directories_pkey PRIMARY KEY (id),
CONSTRAINT sections_directories_directory_id_fkey FOREIGN KEY (directory_id)
REFERENCES directories (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION,
CONSTRAINT sections_directories_section_id_fkey FOREIGN KEY (section_id)
REFERENCES sections (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION
)
WITH (
OIDS=FALSE
);