2013-12-13 6 views
1

Мне нужно создать новую таблицу в моей базе данных. От формы, я собираюсь отправить информацию в базу данных:Организация базы данных MySQL

-Gene name 
-Chromosome 
-Sequence 
-Organism 

С другой стороны, у меня есть еще одна таблица (таблица 1) с user id, user name и password. Поэтому я решил создать еще 6 таблиц, чтобы организовать эту информацию:

-Table2: id_user + id_send 
-Table3: id_seq + sequence 
-Table4: id_gene + gene name 
-Table5: id_chromosome + chromosome number 
-Table6: id_organism + organism name 
-Table7: id_send + id_chromosome + id_organism + id_gene + id_sequence 

Считаете ли вы, что эта организация верна? Или я должен что-то изменить?

Огромное спасибо вам, люди.

+2

Некоторые из нас не являются биологи. Без понимания взаимосвязи объектов мы можем изо всех сил пытаться помочь. – Strawberry

+1

Мне кажется хорошо :) –

+0

Дайте имя своему столу, если вам нужна дополнительная помощь. Например, я не понимаю, что такое 'id_send'. – kmas

ответ

0

Говоря, как восстанавливающейся биолог ....

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

Далеко не ясно, что должен представлять 'id_send'.

Я подозреваю (хотя это до сих пор в основном догадки), что структура вам нужно выглядит так:

user (user_id, user name, password, PK(user_id)) 
sequence (sequence_id (auto increment) gene_name, organism_name, 
    user_id, chromosome, PK(sequence_id)) 
sequence_data (sequence_id, atcgs) 

Расщепление данные последовательности от его метаданных облегчает работу, а также допускает возможность, что вы будете иметь гены для одного и того же организма, которые имеют разные последовательности (хотя вы можете изменить это, добавив ограничение UNIQUE в таблицу последовательностей).

Следующие таблицы позволяют ограничить ввод/применение проверки/хранения дополнительных данных о запросах, которые вы используете не входит в описание):

genes (gene_name, .... PK(gene_name)) 
organism (organism_name,.... PK(organism_name))  

 Смежные вопросы

  • Нет связанных вопросов^_^