From 610a69fca1a0e99a7d36cc55c3ee2167381e2bf7 Mon Sep 17 00:00:00 2001 From: Marc Chakiachvili <mchakiachvili@ebi.ac.uk> Date: Wed, 19 Dec 2018 09:39:31 +0000 Subject: [PATCH] Updated SQL tables script with all updates --- misc-scripts/ontology/sql/patch_95_96_b.sql | 4 +- misc-scripts/ontology/sql/tables.sql | 203 ++++++++++---------- 2 files changed, 102 insertions(+), 105 deletions(-) diff --git a/misc-scripts/ontology/sql/patch_95_96_b.sql b/misc-scripts/ontology/sql/patch_95_96_b.sql index 50886e7f0e..92934a805d 100644 --- a/misc-scripts/ontology/sql/patch_95_96_b.sql +++ b/misc-scripts/ontology/sql/patch_95_96_b.sql @@ -21,6 +21,6 @@ -- Added fields to Term and Ontology tables -- Added columns -ALTER TABLE ontology ADD COLUMN `title` varchar(255) NULL; +ALTER TABLE ontology ADD COLUMN `title` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL; -ALTER TABLE term ADD COLUMN `iri` varchar(1000) NULL; +ALTER TABLE term ADD COLUMN `iri` text NULL; diff --git a/misc-scripts/ontology/sql/tables.sql b/misc-scripts/ontology/sql/tables.sql index b4c7873b0d..00a7d783d7 100644 --- a/misc-scripts/ontology/sql/tables.sql +++ b/misc-scripts/ontology/sql/tables.sql @@ -18,15 +18,14 @@ -- The schema for the ensembl_ontology_NN database. -- --------------------------------------------------------------------- -CREATE TABLE meta ( - meta_id INT UNSIGNED NOT NULL AUTO_INCREMENT, - meta_key VARCHAR(64) NOT NULL, - meta_value VARCHAR(128), - species_id INT UNSIGNED DEFAULT NULL, - - PRIMARY KEY (meta_id), - UNIQUE INDEX key_value_idx (meta_key, meta_value) -) COLLATE=latin1_swedish_ci ENGINE=MyISAM; +CREATE TABLE `meta` ( + `meta_id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `meta_key` varchar(64) COLLATE utf8_unicode_ci NOT NULL, + `meta_value` varchar(128) COLLATE utf8_unicode_ci DEFAULT NULL, + `species_id` int(10) unsigned DEFAULT NULL, + PRIMARY KEY (`meta_id`), + UNIQUE KEY `key_value_idx` (`meta_key`,`meta_value`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; # Add schema type and schema version to the meta table INSERT INTO meta (meta_key, meta_value) VALUES @@ -38,100 +37,98 @@ INSERT INTO meta (meta_key, meta_value) VALUES ('patch', 'patch_95_96_a.sql|schema_version'); -CREATE TABLE ontology ( - ontology_id INT UNSIGNED NOT NULL AUTO_INCREMENT, - name VARCHAR(64) NOT NULL, - namespace VARCHAR(64) NOT NULL, - data_version VARCHAR(64) DEFAULT NULL, - `title` varchar(255) NULL, - PRIMARY KEY (ontology_id), - UNIQUE INDEX name_namespace_idx (name, namespace) -) COLLATE=latin1_swedish_ci ENGINE=MyISAM; - -CREATE TABLE subset ( - subset_id INT UNSIGNED NOT NULL AUTO_INCREMENT, - name VARCHAR(64) NOT NULL, - definition VARCHAR(128) NOT NULL, - - PRIMARY KEY (subset_id), - UNIQUE INDEX name_idx (name) -) COLLATE=latin1_swedish_ci ENGINE=MyISAM; - -CREATE TABLE term ( - term_id INT UNSIGNED NOT NULL AUTO_INCREMENT, - ontology_id INT UNSIGNED NOT NULL, - subsets TEXT, - accession VARCHAR(64) NOT NULL, - name VARCHAR(255) NOT NULL, - definition TEXT, - is_root INT NOT NULL DEFAULT 0, - is_obsolete INT NOT NULL DEFAULT 0, - `iri` varchar(1000) NULL, - PRIMARY KEY (term_id), - UNIQUE INDEX accession_idx (accession), - UNIQUE INDEX ontology_acc_idx (ontology_id, accession), - INDEX name_idx (name) -) COLLATE=latin1_swedish_ci ENGINE=MyISAM; - -CREATE TABLE synonym ( - synonym_id INT UNSIGNED NOT NULL AUTO_INCREMENT, - term_id INT UNSIGNED NOT NULL, - name TEXT NOT NULL, - type ENUM('EXACT', 'BROAD', 'NARROW', 'RELATED'), - dbxref VARCHAR(258) NULL, - - PRIMARY KEY (synonym_id), - UNIQUE INDEX term_synonym_idx (term_id, synonym_id), - INDEX name_idx (name(50)) -) COLLATE=utf8_swedish_ci ENGINE=MyISAM; - -CREATE TABLE alt_id ( - alt_id INT UNSIGNED NOT NULL AUTO_INCREMENT, - term_id INT UNSIGNED NOT NULL, - accession VARCHAR(64) NOT NULL, - - PRIMARY KEY (alt_id), - UNIQUE INDEX term_alt_idx (term_id, alt_id), - INDEX accession_idx (accession(50)) -) COLLATE=latin1_swedish_ci ENGINE=MyISAM; - -CREATE TABLE relation_type ( - relation_type_id INT UNSIGNED NOT NULL AUTO_INCREMENT, - name VARCHAR(64) NOT NULL, - - PRIMARY KEY (relation_type_id), - UNIQUE INDEX name_idx (name) -) COLLATE=latin1_swedish_ci ENGINE=MyISAM; - -CREATE TABLE relation ( - relation_id INT UNSIGNED NOT NULL AUTO_INCREMENT, - child_term_id INT UNSIGNED NOT NULL, - parent_term_id INT UNSIGNED NOT NULL, - relation_type_id INT UNSIGNED NOT NULL, - intersection_of TINYINT UNSIGNED NOT NULL DEFAULT 0, - ontology_id INT UNSIGNED NOT NULL, - - PRIMARY KEY (relation_id), - UNIQUE INDEX child_parent_idx - (child_term_id, parent_term_id, relation_type_id, intersection_of, ontology_id), - INDEX parent_idx (parent_term_id) -) COLLATE=latin1_swedish_ci ENGINE=MyISAM; - -CREATE TABLE closure ( - closure_id INT UNSIGNED NOT NULL AUTO_INCREMENT, - child_term_id INT UNSIGNED NOT NULL, - parent_term_id INT UNSIGNED NOT NULL, - subparent_term_id INT UNSIGNED, - distance TINYINT UNSIGNED NOT NULL, - ontology_id INT UNSIGNED NOT NULL, - confident_relationship BOOL NOT NULL DEFAULT 0, - - PRIMARY KEY (closure_id), - UNIQUE INDEX child_parent_idx - (child_term_id, parent_term_id, subparent_term_id, ontology_id), - INDEX parent_subparent_idx - (parent_term_id, subparent_term_id) -) COLLATE=latin1_swedish_ci ENGINE=MyISAM; +CREATE TABLE `ontology` ( + `ontology_id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `name` varchar(64) COLLATE utf8_unicode_ci NOT NULL, + `namespace` varchar(64) COLLATE utf8_unicode_ci NOT NULL, + `data_version` varchar(64) COLLATE utf8_unicode_ci DEFAULT NULL, + `title` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, + PRIMARY KEY (`ontology_id`), + UNIQUE KEY `ontology_name_namespace_idx` (`name`,`namespace`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + + +CREATE TABLE `subset` ( + `subset_id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `name` varchar(64) COLLATE utf8_unicode_ci NOT NULL, + `definition` varchar(511) COLLATE utf8_unicode_ci NOT NULL DEFAULT '', + PRIMARY KEY (`subset_id`), + UNIQUE KEY `name` (`name`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + +CREATE TABLE `term` ( + `term_id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `ontology_id` int(10) unsigned NOT NULL, + `subsets` text, + `accession` varchar(64) NOT NULL, + `name` varchar(255) NOT NULL, + `definition` text, + `is_root` int(11) NOT NULL DEFAULT '0', + `is_obsolete` int(11) NOT NULL DEFAULT '0', + `iri` text, + PRIMARY KEY (`term_id`), + UNIQUE KEY `accession` (`accession`), + UNIQUE KEY `term_ontology_acc_idx` (`ontology_id`,`accession`), + KEY `term_name_idx` (`name`(100)) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; + +CREATE TABLE `synonym` ( + `synonym_id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `term_id` int(10) unsigned NOT NULL, + `name` text CHARACTER SET utf8 NOT NULL, + `type` enum('EXACT','BROAD','NARROW','RELATED') COLLATE utf8_unicode_ci DEFAULT NULL, + `dbxref` varchar(500) COLLATE utf8_unicode_ci DEFAULT NULL, + PRIMARY KEY (`synonym_id`), + UNIQUE KEY `synonym_term_idx` (`term_id`,`synonym_id`), + KEY `synonym_name_idx` (`name`(100)) +) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + +CREATE TABLE `alt_id` ( + `alt_id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `term_id` int(10) unsigned NOT NULL, + `accession` varchar(64) NOT NULL, + PRIMARY KEY (`alt_id`), + UNIQUE KEY `term_alt_idx` (`term_id`,`alt_id`), + KEY `ix_alt_id_accession` (`accession`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; + +CREATE TABLE `relation_type` ( + `relation_type_id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `name` varchar(64) NOT NULL, + PRIMARY KEY (`relation_type_id`), + UNIQUE KEY `name` (`name`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; + + +CREATE TABLE `relation` ( + `relation_id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `child_term_id` int(10) unsigned NOT NULL, + `parent_term_id` int(10) unsigned NOT NULL, + `relation_type_id` int(10) unsigned NOT NULL, + `intersection_of` tinyint(1) NOT NULL, + `ontology_id` int(10) unsigned NOT NULL, + PRIMARY KEY (`relation_id`), + UNIQUE KEY `child_parent_idx` (`child_term_id`,`parent_term_id`,`relation_type_id`,`intersection_of`,`ontology_id`), + KEY `ix_relation_parent_term_id` (`parent_term_id`), + KEY `ix_relation_relation_type_id` (`relation_type_id`), + KEY `ix_relation_ontology_id` (`ontology_id`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; + + +CREATE TABLE `closure` ( + `closure_id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `child_term_id` int(10) unsigned NOT NULL, + `parent_term_id` int(10) unsigned NOT NULL, + `subparent_term_id` int(10) unsigned DEFAULT NULL, + `distance` tinyint(3) unsigned NOT NULL, + `ontology_id` int(10) unsigned NOT NULL, + `confident_relationship` tinyint(1) NOT NULL, + PRIMARY KEY (`closure_id`), + UNIQUE KEY `closure_child_parent_idx` (`child_term_id`,`parent_term_id`,`subparent_term_id`,`ontology_id`), + KEY `ix_closure_subparent_term_id` (`subparent_term_id`), + KEY `ix_closure_ontology_id` (`ontology_id`), + KEY `parent_subparent_idx` (`parent_term_id`,`subparent_term_id`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; -- There are additional tables in the released databases called -- "aux_XX_YY_map". These are created by the "add_subset_maps.pl" -- GitLab