From e73fbd82a917e0eff302dcecccd6a1f25259f7ef Mon Sep 17 00:00:00 2001 From: Nikolaos Laskaris Date: Thu, 14 Sep 2017 12:51:26 +0200 Subject: [PATCH] The sql dump file --- dmp-db-scema/DataManagementPlanDB.sql | 455 ++++++++++++++++++++++++++ 1 file changed, 455 insertions(+) create mode 100644 dmp-db-scema/DataManagementPlanDB.sql diff --git a/dmp-db-scema/DataManagementPlanDB.sql b/dmp-db-scema/DataManagementPlanDB.sql new file mode 100644 index 000000000..6bfa4beff --- /dev/null +++ b/dmp-db-scema/DataManagementPlanDB.sql @@ -0,0 +1,455 @@ + +SET statement_timeout = 0; +SET lock_timeout = 0; +SET idle_in_transaction_session_timeout = 0; +SET client_encoding = 'UTF8'; +SET standard_conforming_strings = on; +SET check_function_bodies = false; +SET client_min_messages = warning; +SET row_security = off; + + +drop table if exists "DMP" cascade; +drop table if exists "DMPOrganisation" cascade; +drop table if exists "DMPProfile" cascade; +drop table if exists "DMPResearcher" cascade; +drop table if exists "Dataset" cascade; +drop table if exists "DatasetProfile" cascade; +drop table if exists "DatasetProfileRuleset" cascade; +drop table if exists "DatasetProfileViewstyle" cascade; +drop table if exists "Organisation" cascade; +drop table if exists "Project" cascade; +drop table if exists "Researcher" cascade; +drop table if exists "Service" cascade; +drop table if exists "DataRepository" cascade; +drop table if exists "Registry" cascade; +drop table if exists "DatasetService" cascade; +drop table if exists "DatasetRegistry" cascade; +drop table if exists "DatasetDataRepository" cascade; + + +-- CREATE EXTENSION IF NOT EXISTS plpgsql WITH SCHEMA pg_catalog; + + +-- CREATE EXTENSION IF NOT EXISTS "uuid-ossp"; + +SET search_path = public, pg_catalog; + +SET default_tablespace = ''; + +SET default_with_oids = false; + + +CREATE TABLE "DMP" ( + "ID" uuid DEFAULT uuid_generate_v4() NOT NULL, + "Previous" uuid, + "Label" character varying(250) NOT NULL, + "Version" integer NOT NULL, + "Project" uuid NOT NULL, + "ProfileData" xml, + "Profile" uuid +); + + +ALTER TABLE "DMP" OWNER TO dmptool; + + +COMMENT ON COLUMN "DMP"."ProfileData" IS 'More data about the DMP as defined by the profile'; + + +CREATE TABLE "DMPOrganisation" ( + "DMP" uuid NOT NULL, + "Organisation" uuid NOT NULL, + "Role" integer, + "ID" uuid DEFAULT uuid_generate_v4() NOT NULL +); + + +ALTER TABLE "DMPOrganisation" OWNER TO dmptool; + + +COMMENT ON TABLE "DMPOrganisation" IS 'Linking of DMPs to Organisations'; + + +COMMENT ON COLUMN "DMPOrganisation"."Role" IS 'Enumerator of roles'; + + +CREATE TABLE "DMPProfile" ( + "ID" uuid DEFAULT uuid_generate_v4() NOT NULL, + "Label" character varying(250) NOT NULL, + "Definition" xml +); + + +ALTER TABLE "DMPProfile" OWNER TO dmptool; + + +CREATE TABLE "DMPResearcher" ( + "DMP" uuid NOT NULL, + "Researcher" uuid NOT NULL, + "Role" integer, + "ID" uuid DEFAULT uuid_generate_v4() NOT NULL +); + + +ALTER TABLE "DMPResearcher" OWNER TO dmptool; + +COMMENT ON TABLE "DMPResearcher" IS 'Linking of DMPs to researchers'; + +COMMENT ON COLUMN "DMPResearcher"."Role" IS 'Enumerator of roles'; + + +CREATE TABLE "Dataset" ( + "ID" uuid DEFAULT uuid_generate_v4() NOT NULL, + "Label" character varying(250) NOT NULL, + "DMP" uuid NOT NULL, + "Uri" character varying(250), + "Properties" xml, + "Profile" uuid +); + + +ALTER TABLE "Dataset" OWNER TO dmptool; + + +COMMENT ON COLUMN "Dataset"."Uri" IS 'URI of item'; + + +COMMENT ON COLUMN "Dataset"."Properties" IS 'More data about the dataset such as Uri, data types etc as defined by the profile'; + + +CREATE TABLE "DatasetProfile" ( + "ID" uuid DEFAULT uuid_generate_v4() NOT NULL, + "Label" character varying(250) NOT NULL, + "Ruleset" uuid, + "Viewstyle" uuid, + "Definition" xml NOT NULL +); + + +ALTER TABLE "DatasetProfile" OWNER TO dmptool; + + +COMMENT ON TABLE "DatasetProfile" IS 'Profiles for dmp datasets'; + + +CREATE TABLE "DatasetProfileRuleset" ( + "ID" uuid DEFAULT uuid_generate_v4() NOT NULL, + "Label" character varying(250) NOT NULL, + "Definition" xml NOT NULL +); + +ALTER TABLE "DatasetProfileRuleset" OWNER TO dmptool; + +COMMENT ON TABLE "DatasetProfileRuleset" IS 'Sets of Rules for dmp dataset profiles'; + + +CREATE TABLE "DatasetProfileViewstyle" ( + "ID" uuid DEFAULT uuid_generate_v4() NOT NULL, + "Label" character varying(250) NOT NULL, + "Definition" xml NOT NULL +); + +ALTER TABLE "DatasetProfileViewstyle" OWNER TO dmptool; + +COMMENT ON TABLE "DatasetProfileViewstyle" IS 'Style sets for dmp dataset profiles'; + + +CREATE TABLE "Organisation" ( + "ID" uuid DEFAULT uuid_generate_v4() NOT NULL, + "Label" character varying(250) NOT NULL, + "Abbreviation" character varying(50), + "Reference" xml, + "Uri" character varying(250), + "Definition" xml +); + + +ALTER TABLE "Organisation" OWNER TO dmptool; + +COMMENT ON TABLE "Organisation" IS 'Table of organizations utilized in the project'; + +COMMENT ON COLUMN "Organisation"."ID" IS 'Unique identifier and primary key of item'; + +COMMENT ON COLUMN "Organisation"."Label" IS 'A human readable long label of the item'; + +COMMENT ON COLUMN "Organisation"."Abbreviation" IS 'A human readable abbreviation of the item'; + +COMMENT ON COLUMN "Organisation"."Reference" IS 'Reference to the URI of the item along with information to allow how the item reached the system (e.g. via an external vocabulary)'; + +COMMENT ON COLUMN "Organisation"."Uri" IS 'URI of item'; + +COMMENT ON COLUMN "Organisation"."Definition" IS 'More data about the Organisation such as web site, type etc'; + + + +CREATE TABLE "Project" ( + "ID" uuid DEFAULT uuid_generate_v4() NOT NULL, + "Label" character varying(250) NOT NULL, + "Abbreviation" character varying(50), + "Reference" xml, + "Uri" character varying(250), + "Definition" xml +); + + +ALTER TABLE "Project" OWNER TO dmptool; + + +COMMENT ON TABLE "Project" IS 'Table of project managed in the system'; + + +COMMENT ON COLUMN "Project"."ID" IS 'Unique identifier and primary key of item'; + + +COMMENT ON COLUMN "Project"."Label" IS 'A human readable long label of the item'; + + + +COMMENT ON COLUMN "Project"."Abbreviation" IS 'A human readable abbreviation of the item'; + + +COMMENT ON COLUMN "Project"."Reference" IS 'Additional reference data for the item along with information to allow how the item reached the system (e.g. via an external vocabulary)'; + + + +COMMENT ON COLUMN "Project"."Uri" IS 'URI of item'; + + + +COMMENT ON COLUMN "Project"."Definition" IS 'More data about the project such as web site, start/stop, etc'; + + + +CREATE TABLE "Researcher" ( + "ID" uuid DEFAULT uuid_generate_v4() NOT NULL, + "Label" character varying(250) NOT NULL, + "Uri" character varying(250), + "PrimaryEmail" character varying(250), + "Definition" xml, + "Reference" xml +); + + +ALTER TABLE "Researcher" OWNER TO dmptool; + + + +COMMENT ON TABLE "Researcher" IS 'Table of Researcher managed in the system'; + + + +COMMENT ON COLUMN "Researcher"."ID" IS 'Unique identifier and primary key of item'; + + + +COMMENT ON COLUMN "Researcher"."Label" IS 'Full name of the researcher (as presented by the system, and composed automatically by data or provided by the reference service)'; + + + +COMMENT ON COLUMN "Researcher"."Uri" IS 'URI of item'; + + + +COMMENT ON COLUMN "Researcher"."Definition" IS 'More data about the researcher such as: email addresses, affiliations etc'; + + +COMMENT ON COLUMN "Researcher"."Reference" IS 'Additional reference data for the item along with information to allow how the item reached the system (e.g. via an external vocabulary)'; + + +ALTER TABLE ONLY "DMPProfile" + ADD CONSTRAINT "DMPPRofile_pkey" PRIMARY KEY ("ID"); + + +ALTER TABLE ONLY "DMP" + ADD CONSTRAINT "DMP_pkey" PRIMARY KEY ("ID"); + + +ALTER TABLE ONLY "DatasetProfile" + ADD CONSTRAINT "DatasetProfile_pkey" PRIMARY KEY ("ID"); + + +ALTER TABLE ONLY "DatasetProfileRuleset" + ADD CONSTRAINT "DatasetProfileRuleset_pkey" PRIMARY KEY ("ID"); + + +ALTER TABLE ONLY "DatasetProfileViewstyle" + ADD CONSTRAINT "DatasetProfileViewstyle_pkey" PRIMARY KEY ("ID"); + + +ALTER TABLE ONLY "Dataset" + ADD CONSTRAINT "Dataset_pkey" PRIMARY KEY ("ID"); + + +ALTER TABLE ONLY "Organisation" + ADD CONSTRAINT "Organisation_pkey" PRIMARY KEY ("ID"); + +ALTER TABLE ONLY "DMPOrganisation" + ADD CONSTRAINT "PKey_DMPOrganisation" PRIMARY KEY ("ID"); + +ALTER TABLE ONLY "DMPResearcher" + ADD CONSTRAINT "PKey_DMPResearcher" PRIMARY KEY ("ID"); + + +ALTER TABLE ONLY "Project" + ADD CONSTRAINT "Project_pkey" PRIMARY KEY ("ID"); + + +ALTER TABLE ONLY "Researcher" + ADD CONSTRAINT "Researcher_pkey" PRIMARY KEY ("ID"); + + +CREATE INDEX "fki_DMPDMPProfileReference" ON "DMP" USING btree ("Profile"); + +CREATE INDEX "fki_DatasetDatasetProfileReference" ON "Dataset" USING btree ("Profile"); + + +ALTER TABLE ONLY "DMP" + ADD CONSTRAINT "DMPDMPProfileReference" FOREIGN KEY ("Profile") REFERENCES "DMPProfile"("ID"); + + +ALTER TABLE ONLY "DMPOrganisation" + ADD CONSTRAINT "DMPOrganisationDMPReference" FOREIGN KEY ("Organisation") REFERENCES "Organisation"("ID"); + + +ALTER TABLE ONLY "DMPOrganisation" + ADD CONSTRAINT "DMPOrganisationOrganisationReference" FOREIGN KEY ("DMP") REFERENCES "DMP"("ID"); + + +ALTER TABLE ONLY "DMP" + ADD CONSTRAINT "DMPProjectReference" FOREIGN KEY ("Project") REFERENCES "Project"("ID"); + +ALTER TABLE ONLY "DMPResearcher" + ADD CONSTRAINT "DMPResearcherDMPReference" FOREIGN KEY ("Researcher") REFERENCES "Researcher"("ID"); + + +ALTER TABLE ONLY "DMPResearcher" + ADD CONSTRAINT "DMPResearcherResearcherReference" FOREIGN KEY ("DMP") REFERENCES "DMP"("ID"); + + +ALTER TABLE ONLY "Dataset" + ADD CONSTRAINT "DatasetDatasetProfileReference" FOREIGN KEY ("Profile") REFERENCES "DatasetProfile"("ID"); + + +ALTER TABLE ONLY "Dataset" + ADD CONSTRAINT "DatasetDMPReference" FOREIGN KEY ("DMP") REFERENCES "DMP"("ID"); + + +ALTER TABLE ONLY "DatasetProfile" + ADD CONSTRAINT "DatasetProfileDatasetProfileRulesetReference" FOREIGN KEY ("Ruleset") REFERENCES "DatasetProfileRuleset"("ID"); + +ALTER TABLE ONLY "DatasetProfile" + ADD CONSTRAINT "DatasetProfileDatasetProfileViewstyleReference" FOREIGN KEY ("Viewstyle") REFERENCES "DatasetProfileViewstyle"("ID"); + + +CREATE TABLE "Service" ( + "ID" uuid DEFAULT uuid_generate_v4() NOT NULL, + "Label" character varying(250), + "Abbreviation" character varying(50), + "Reference" xml, + "Uri" character varying(250), + "Definition" xml +); + +ALTER TABLE "Service" OWNER TO dmptool; + +ALTER TABLE ONLY "Service" + ADD CONSTRAINT "PKey_Service" PRIMARY KEY ("ID"); + + +CREATE TABLE "DataRepository" ( + "ID" uuid DEFAULT uuid_generate_v4() NOT NULL, + "Label" character varying(250), + "Abbreviation" character varying(50), + "Reference" xml, + "Uri" character varying(250), + "Definition" xml +); + +ALTER TABLE "DataRepository" OWNER TO dmptool; + +ALTER TABLE ONLY "DataRepository" + ADD CONSTRAINT "PKey_DataRepository" PRIMARY KEY ("ID"); + + + +CREATE TABLE "Registry" ( + "ID" uuid DEFAULT uuid_generate_v4() NOT NULL, + "Label" character varying(250), + "Abbreviation" character varying(50), + "Reference" xml, + "Uri" character varying(250), + "Definition" xml +); + +ALTER TABLE "Registry" OWNER TO dmptool; + +ALTER TABLE ONLY "Registry" + ADD CONSTRAINT "PKey_Registry" PRIMARY KEY ("ID"); + + + +CREATE TABLE "DatasetService" ( + "Dataset" uuid NOT NULL, + "Service" uuid NOT NULL, + "Role" integer, + "ID" uuid DEFAULT uuid_generate_v4() NOT NULL +); + +ALTER TABLE "DatasetService" OWNER TO dmptool; + +COMMENT ON TABLE "DatasetService" IS 'Linking Dataset to Service'; + + +CREATE TABLE "DatasetRegistry" ( + "Dataset" uuid NOT NULL, + "Registry" uuid NOT NULL, + "Role" integer, + "ID" uuid DEFAULT uuid_generate_v4() NOT NULL +); + +ALTER TABLE "DatasetRegistry" OWNER TO dmptool; + +COMMENT ON TABLE "DatasetRegistry" IS 'Linking Dataset to Registry'; + + +CREATE TABLE "DatasetDataRepository" ( + "Dataset" uuid NOT NULL, + "DataRepository" uuid NOT NULL, + "Role" integer, + "ID" uuid DEFAULT uuid_generate_v4() NOT NULL +); + +ALTER TABLE "DatasetDataRepository" OWNER TO dmptool; + +COMMENT ON TABLE "DatasetDataRepository" IS 'Linking Dataset to DataRepository'; + + + +ALTER TABLE ONLY "DatasetDataRepository" + ADD CONSTRAINT "DatasetDataRepositoryDatasetReference" FOREIGN KEY ("Dataset") REFERENCES "Dataset"("ID"); + +ALTER TABLE ONLY "DatasetDataRepository" + ADD CONSTRAINT "DatasetDataRepositoryDataRepositoryReference" FOREIGN KEY ("DataRepository") REFERENCES "DataRepository"("ID"); + + +ALTER TABLE ONLY "DatasetRegistry" + ADD CONSTRAINT "DatasetRegistryDatasetReference" FOREIGN KEY ("Dataset") REFERENCES "Dataset"("ID"); + +ALTER TABLE ONLY "DatasetRegistry" + ADD CONSTRAINT "DatasetRegistryRegistryReference" FOREIGN KEY ("Registry") REFERENCES "Registry"("ID"); + + +ALTER TABLE ONLY "DatasetService" + ADD CONSTRAINT "DatasetServiceDatasetReference" FOREIGN KEY ("Dataset") REFERENCES "Dataset"("ID"); + +ALTER TABLE ONLY "DatasetService" + ADD CONSTRAINT "DatasetServiceServiceReference" FOREIGN KEY ("Service") REFERENCES "Service"("ID"); + + +REVOKE ALL ON SCHEMA public FROM PUBLIC; +REVOKE ALL ON SCHEMA public FROM postgres; +GRANT ALL ON SCHEMA public TO postgres; +GRANT ALL ON SCHEMA public TO PUBLIC; + +