| 105 | | ====================================================================================== |
| 106 | | SubCategory |
| 107 | | biobank_ibfk_1 |
| 108 | | CONSTRAINT `biobank_ibfk_5` FOREIGN KEY (`SubCategory`) REFERENCES `BiobankSubCategory` (`id`) |
| 109 | | CONSTRAINT `biobank_ibfk_5` FOREIGN KEY (`SubCategory`) REFERENCES `BiobankSubCategory` (`id`), |
| 110 | | |
| 111 | | |
| 112 | | =============================WITH COMMENTS =========================================== |
| 113 | | |
| 114 | | CREATE TABLE `BiobankSubCategory` ( |
| 115 | | `id` int(11) NOT NULL, |
| 116 | | PRIMARY KEY (`id`), |
| 117 | | CONSTRAINT `biobanksubcategory_ibfk_1` FOREIGN KEY (`id`) REFERENCES `OntologyTerm` (`id`) ON DELETE CASCADE |
| 118 | | ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; |
| 119 | | |
| 120 | | /* move data from BiobankCategory to BiobankSubCategory table */ |
| 121 | | INSERT INTO BiobankSubCategory (id) |
| 122 | | SELECT id |
| 123 | | FROM BiobankCategory |
| 124 | | WHERE id NOT IN ("281", "284", "285") ; |
| 125 | | /*WHERE name NOT IN ("A. Core Biobanks, DNA available", "B: Supporting biobanks, DNA not yet available" ,"C: Biobanken in opbouw") ;* - IF NEEDED CORRECT THE IDs/ |
| 126 | | |
| 127 | | /* alter constraints */ |
| 128 | | ALTER TABLE Biobank DROP FOREIGN KEY biobank_ibfk_5; |
| 129 | | |
| 130 | | |
| 131 | | ALTER TABLE BiobankSubCategory ADD FOREIGN KEY (id) REFERENCES OntologyTerm (id) ON DELETE CASCADE; |
| 132 | | NOT OK : ERROR 1050 (42S01): Table './bbmri/BiobankSubCategory' already exists |
| 133 | | THEN USE : |
| 134 | | ALTER TABLE `BiobankSubCategory` |
| 135 | | ADD CONSTRAINT `id` |
| 136 | | FOREIGN KEY (`id`) REFERENCES OntologyTerm (id) ON DELETE CASCADE; |
| 137 | | |
| 138 | | ALTER TABLE Biobank ADD FOREIGN KEY (SubCategory) REFERENCES BiobankSubCategory (id) ON DELETE RESTRICT; |
| 139 | | NOT OK : ERROR 1050 (42S01): Table './bbmri/Biobank' already exists |
| 140 | | THEN USE : |
| 141 | | ALTER TABLE `Biobank` |
| 142 | | ADD CONSTRAINT `SubCategory` |
| 143 | | FOREIGN KEY (`SubCategory`) REFERENCES BiobankSubCategory (id) ON DELETE CASCADE; |
| 144 | | |
| 145 | | |
| 146 | | |
| 147 | | /* delete moved data from BiobankCategory */ |
| 148 | | DELETE FROM BiobankCategory |
| 149 | | WHERE id NOT IN ("281", "284", "285") ; |
| 150 | | /*IF NEEDED CORRECT THE IDs |
| 151 | | WHERE name IN ("A. Core Biobanks, DNA available", "B: Supporting biobanks, DNA not yet available" ,"C: Biobanken in opbouw") ; |
| 152 | | */ |
| 153 | | |
| 154 | | CREATE TABLE BiobankPersonRole ( |
| 155 | | id INTEGER NOT NULL |
| 156 | | , PRIMARY KEY(id) |
| 157 | | ); |
| 158 | | |
| 159 | | ALTER TABLE BiobankPersonRole ADD FOREIGN KEY (id) REFERENCES PersonRole (id) ON DELETE CASCADE; |
| 160 | | |
| 161 | | alter table OntologyTerm modify column __Type enum('OntologyTerm','PersonRole','Species','AlternateId','BiobankCategory','BiobankTopic','BiobankDataType', 'BiobankSubCategory','BiobankPersonRole'); |
| 162 | | |
| 163 | | UPDATE OntologyTerm SET __Type="BiobankSubCategory" WHERE id='282'; |
| 164 | | UPDATE OntologyTerm SET __Type="BiobankSubCategory" WHERE id='283'; |
| 165 | | UPDATE OntologyTerm SET __Type="BiobankSubCategory" WHERE id='286'; |
| 166 | | UPDATE OntologyTerm SET __Type="BiobankSubCategory" WHERE id='287'; |
| 167 | | UPDATE OntologyTerm SET __Type="BiobankSubCategory" WHERE id='288'; |
| 168 | | UPDATE OntologyTerm SET __Type="BiobankSubCategory" WHERE id='289'; |
| 169 | | UPDATE OntologyTerm SET __Type="BiobankSubCategory" WHERE id='290'; |
| 170 | | UPDATE OntologyTerm SET __Type="BiobankSubCategory" WHERE id='291'; |
| 171 | | UPDATE OntologyTerm SET __Type="BiobankSubCategory" WHERE id='292'; |
| 172 | | UPDATE OntologyTerm SET __Type="BiobankSubCategory" WHERE id='293'; |
| 173 | | UPDATE OntologyTerm SET __Type="BiobankSubCategory" WHERE id='295'; |
| 174 | | UPDATE OntologyTerm SET __Type="BiobankSubCategory" WHERE id='296'; |
| 175 | | UPDATE OntologyTerm SET __Type="BiobankSubCategory" WHERE id='297'; |
| 176 | | UPDATE OntologyTerm SET __Type="BiobankSubCategory" WHERE id='298'; |
| 177 | | UPDATE OntologyTerm SET __Type="BiobankSubCategory" WHERE id='564'; |
| 178 | | |
| 179 | | /*below we resolve the problem of duplicate entries in ontology term for PersonRole*/ |
| 180 | | |
| 181 | | select * from OntologyTerm where name="Software Engineer"; |
| 182 | | delete from OntologyTerm where id=561; |
| 183 | | select * from BiobankPersonRole; |
| 184 | | insert into BiobankPersonRole values(561); |
| 185 | | |
| 186 | | select * from OntologyTerm where name="coordinator"; |
| 187 | | delete from OntologyTerm where id=593; |
| 188 | | select * from BiobankPersonRole; |
| 189 | | insert into BiobankPersonRole values(277); |
| 190 | | |
| 191 | | select * from OntologyTerm where name="postdoc"; |
| 192 | | delete from OntologyTerm where id=594; |
| 193 | | select * from BiobankPersonRole; |
| 194 | | insert into BiobankPersonRole values(278); |
| 195 | | |
| 196 | | select * from OntologyTerm where name="administrator"; |
| 197 | | delete from OntologyTerm where id=595; |
| 198 | | select * from BiobankPersonRole; |
| 199 | | insert into BiobankPersonRole values(279); |
| 200 | | |
| 201 | | |
| 202 | | select * from OntologyTerm where name="IT responsible"; |
| 203 | | delete from OntologyTerm where id=596; |
| 204 | | select * from BiobankPersonRole; |
| 205 | | insert into BiobankPersonRole values(280); |
| 206 | | |
| 207 | | |
| 208 | | COMMIT; |
| 209 | | |
| | 105 | ============= |