69 lines
2.1 KiB
SQL
69 lines
2.1 KiB
SQL
|
|
-- Table: skill
|
|
|
|
-- DROP TABLE skill;
|
|
|
|
CREATE TABLE skill
|
|
(
|
|
_id bigserial NOT NULL,
|
|
name character varying(2024) NOT NULL,
|
|
rate integer NOT NULL DEFAULT 50,
|
|
CONSTRAINT skill_pkey PRIMARY KEY (_id),
|
|
CONSTRAINT skill_name_key UNIQUE (name)
|
|
)
|
|
WITH (
|
|
OIDS=FALSE
|
|
);
|
|
|
|
|
|
-- Table: userskills
|
|
|
|
-- DROP TABLE userskills;
|
|
|
|
CREATE TABLE userskills
|
|
(
|
|
applicationname character varying(512) NOT NULL,
|
|
username character varying(512) NOT NULL,
|
|
comment character varying,
|
|
skillid bigint NOT NULL, -- Skill identifier
|
|
rate integer NOT NULL,
|
|
_id bigserial NOT NULL, -- The id ...
|
|
CONSTRAINT userskills_pkey PRIMARY KEY (applicationname, username, skillid),
|
|
CONSTRAINT userskills_applicationname_fkey FOREIGN KEY (applicationname, username)
|
|
REFERENCES users (applicationname, username) MATCH SIMPLE
|
|
ON UPDATE CASCADE ON DELETE CASCADE,
|
|
CONSTRAINT userskills_skillid_fkey FOREIGN KEY (skillid)
|
|
REFERENCES skill (_id) MATCH SIMPLE
|
|
ON UPDATE CASCADE ON DELETE CASCADE,
|
|
CONSTRAINT userskills__id_key UNIQUE (_id)
|
|
)
|
|
WITH (
|
|
OIDS=FALSE
|
|
);
|
|
COMMENT ON COLUMN userskills.skillid IS 'Skill identifier';
|
|
COMMENT ON COLUMN userskills._id IS 'The id ...';
|
|
|
|
-- Table: satisfaction
|
|
|
|
-- DROP TABLE satisfaction;
|
|
|
|
CREATE TABLE satisfaction
|
|
(
|
|
_id bigserial NOT NULL,
|
|
userskillid bigint, -- the user's skill reference
|
|
rate integer, -- The satisfaction rating associated by a client to an user's skill
|
|
comnt character varying(8192), -- The satisfaction textual comment associated by a client to an user's skill, it could be formatted ala Markdown
|
|
CONSTRAINT satisfaction_pkey PRIMARY KEY (_id),
|
|
CONSTRAINT satisfaction_userskillid_fkey FOREIGN KEY (userskillid)
|
|
REFERENCES userskills (_id) MATCH SIMPLE
|
|
ON UPDATE CASCADE ON DELETE CASCADE
|
|
)
|
|
WITH (
|
|
OIDS=FALSE
|
|
);
|
|
COMMENT ON COLUMN satisfaction.userskillid IS 'the user''s skill reference';
|
|
COMMENT ON COLUMN satisfaction.rate IS 'The satisfaction rating associated by a client to an user''s skill';
|
|
COMMENT ON COLUMN satisfaction.comnt IS 'The satisfaction textual comment associated by a client to an user''s skill, it could be formatted ala Markdown';
|
|
|
|
|