База данных биологической систематики [требует правки]

337
16 сентября 2017, 23:51

Появилась у меня интересная задачка - биологическая систематика. Каждый живой организм относится к царству, типу, классу и т.п.

Царство Животные. Царство - это таксономический ранг, Животные - название таксона.

Но это укороченная систематика. На самом деле названий таксонов намного больше, причём для, например, насекомых их больше, чем для растений. И есть нюансы в именах таксонов в зависимости от принадлежности к флоре или фауне. Например, для фауны (животный мир) таксономический ранг называется - тип, а для фауны (растительный мир) - отдел.

Цель базы данных хранить данные о принадлежности видов к таксономическим рангам. Т.е, например, Еж белогрудый - это вид. И нужно хранить данные о том, в какому царству, типу, классу и т.п. он относится с названиями этих таксонов.

В итоге что имеем:

  • 7 основных таксономических рангов. Все организмы можно вписать в эту систему.
  • У каждого вида помимо основных 7 могут быть дополнительные промежуточные таксономические ранги (в разном количестве для каждого вида).
  • Каждый ранг имеет свой строгий порядок - тип находится под Царством, а Вид над Родом.
  • В перспективе нужны возможность построения таксономического древа в виде "дерева папок"

Я попробовал реализовать структуру и вот что вышло:

В первых трёх таблицах (слева направо) я описываю какие есть вообще, например Царства для Флоры и Фауны. А в оставшихся двух таблицах для каждого Вида определяю его принадлежность в Царству, Типу и т.п. Может есть какие-то другие варианты?

upd

Получается что-то подобное

upd2

READ ALSO
Партицирование в MySQL, индексы и кэш

Партицирование в MySQL, индексы и кэш

Добрый деньПри партицировании таблиц в кэше в оперативе находится только последняя партиция, а все остальные лежат в "холодном кэше", чтобы...

340
Как добавить Java 8 в Android?

Как добавить Java 8 в Android?

Можно ли использовать лямбда-выражения? И вообще - можно ли Java 8 туда добавить? Только официально, а не "левыми" путями

365
Как ускорить GET / POST запросы в Java?

Как ускорить GET / POST запросы в Java?

Нижеприведенный запрос тянет из базы список из таблицы где 1000-1500 строк (id, code, title)Но по времени это происходит не очень быстро

328
Запись в файл List<String[]>

Запись в файл List<String[]>

Есть структура

368