2013-05-03 4 views
0

Я новичок в дизайне базы данных, и я пытаюсь исправить существующий беспорядок.Лучшая практика для хранения HistoryOfAllEvents и EventDetails

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

Что вы рекомендовали бы в качестве структуры для этого?

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

Моя вторая мысль состоит в том, чтобы иметь одну, единственную таблицу собранных данных и использовать P-ключ, F-ключ, чтобы связать историю использования с собранными данными. Но если у меня есть сотни инструментов, каждый из которых каждый день собирает тысячи данных, то этот стол станет очень большим (может быть, ГБ в год). Все будет в порядке? (Я микроконтроллер/встроенный инженер, поэтому для меня что-то больше МБ).

Любые предложения будут оценены. Благодаря!

+0

Это действительно зависит от конкретной реализации. Вы могли бы показать нам некоторые данные образца? Я думаю, что любая из ваших идей может работать, но что лучше - или есть третий, лучший способ - действительно зависит от того, как выглядят ваши данные. –

+0

Кстати, добавление 1 ГБ данных в год не должно быть проблемой вообще. Я думаю, что многие люди считают, что база данных с несколькими гигабайтами будет довольно маленькой. –

+0

@JeffRosenberg К сожалению, мне не разрешено публиковать какие-либо реальные примеры, поэтому я должен использовать гипотезы. Можете ли вы посоветовать, какие факторы помогут сделать один метод лучше другого? – XKCD137

ответ

1

Основываясь на ваших комментариях выше, я бы сказал, что ваш второй вариант кажется лучшим - наличие единой таблицы собранных данных, связанных внешним ключом. Пока вы указываете свой внешний ключ, у вас не должно быть проблем с таблицами размером в несколько ГБ.

Не смотря на ваши данные, я не могу предложить, есть ли альтернативы, которые могут быть лучше, но это должно быть хорошо.

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