Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[52.14.175.148] |
|
Данный раздел предназначается исключительно для обсуждения вопросов использования языка запросов SQL. Обсуждение общих вопросов, связанных с тематикой баз данных - обсуждаем в разделе "Базы данных: общие вопросы". Убедительная просьба - соблюдать "Правила форума" и не пренебрегать "Правильным оформлением своих тем". Прежде, чем создавать тему, имеет смысл заглянуть в раздел "Базы данных: FAQ", возможно там уже есть ответ. |
Сообщ.
#1
,
|
|
|
Стала следующая проблема, есть большое кол-во данных их нужно засунуть в БД, но не могу сообразить как коректней организовать структуру, чтобы в последующем возможно было эффективно и быстро обрабатывать запросы.
Данные представленны так: | 1992| |01_01| |01_05| |01_25| |02_13| |.....| |12_18| где a_b = месяц_число (числа разные); каждый из блоков a_b содержит от 50-150 строк( неодинаковые в разных блоках ) и столбцов 250-400 (шапка плавающая, но одинаковая в разных блоках, т.е. некоторые столбцы могут отсутствовать) Как правильно организовать структуру при создании таблицы? Я думал создавать таблицу под каждый блок но количество таблиц будет расти еженедельно. И при таком условии количество таблиц будет на текущий момент составляет 1048 шт. И считаю что это мягко говоря не правильно. Прошу Вашего совета в решении данного вопроса. |
Сообщ.
#2
,
|
|
|
Если год и "месяц_число" объединить в поле типа Дата и присовокупить к каждой строке данных - получится вполне нормальная структура. Правда, 400 полей - слегка перебор, но если напрячь извилины и разделить их на несколько групп и в сответствии с таким делением на несколько связанных 1:1 таблиц с суррогатным ключом - то вполне даже ничего структура. При условии, что максимально возможный набор полей не будет в дальнейшем пополняться. Да даже если и будет - ничего страшного... сколько там у тебя сейчас блоков? тыща? по где-то сотне строк? сто тысяч записей... добавить поле в таблицу с 100к записей не самая сложная задача.
|
Сообщ.
#3
,
|
|
|
Akina,
Цитата не совсем понял про группы. разделить их на несколько групп и в сответствии с таким делением на несколько связанных 1:1 таблиц с суррогатным ключом - то вполне даже ничего структура. |
Сообщ.
#4
,
|
|
|
Цитата Trooper @ не совсем понял про группы. Описывай суть данных и основные формы их использования. |
Сообщ.
#5
,
|
|
|
1989 год
январь (01) за месяц может быть около (1-10 таблиц примерно со след структурой): ____________|__параметр1____|___параметр2 ___| вычисление_1| |________________| *при A = 5 |10,225 |______-0,001 ___| *при A = 10 | -18 |_______546 _____| вычисление_2|425,25|_______-0,222 __| вычисление_3|-3,333|_______-451 ____| вычисление_4|0,255|________-45 ____| вычисление_5|0,1 |______0,2 ______| ----------------| 5,23 |______4,89 _____| вычисление_100|4,05|______0,54_____ | параметров от 250-400 (по ним будет вестись потом выборка) значения в таблице все числовые. кроме первого поля (описание вычислений т.к. вычисление 1 = "при сумарной температуре 80 градусов") точность значение = 5-6 знаков |
Сообщ.
#6
,
|
|
|
Цитата Trooper @ параметров от 250-400 (по ним будет вестись потом выборка) Набор параметров, по которым ведётся выборка, может быть любым? или есть какие-то зависимости (скажем, при отборе по параметру25 никогда не используется отбор по параметру 80, или скажем параметр55 и параметр 56 никогда не используются по отдельности, только парой)? Есть ли параметры, по которым выборка будет почти всегда, и параметры, по которым выборка будет очень редко? |
Сообщ.
#7
,
|
|
|
Цитата Набор параметров, по которым ведётся выборка, может быть любым? он (набор параметров) будет указываться пользователем, По умолчанию пользователь указывает только что ему надо найти (это будет содержатся в названиях "вычислений") и в следствии чего из базы должны быть показаны записи соответствующие строке поиска по нажатию допустим на которую будет выводится вся таблица (400 параметров) по данному вычислению. |
Сообщ.
#8
,
|
|
|
Цитата Trooper @ он (набор параметров) будет указываться пользователем, Это я как бы догадался. Цитата Trooper @ будет выводится вся таблица (400 параметров) Даже если оно поместится в экран - будет совершенно нечитаемо. И хотелось бы получить ответ на вопрос. |
Сообщ.
#9
,
|
|
|
Цитата Да любым.Набор параметров, по которым ведётся выборка, может быть любым? Цитата Есть параметры по которым будет выборка проводится часто - это второй столбец.Есть ли параметры, по которым выборка будет почти всегда, и параметры, по которым выборка будет очень редко? Цитата этого никак не избежать, в любом случае это будет тяжело читаемо. Даже если оно поместится в экран - будет совершенно нечитаемо. |
Сообщ.
#10
,
|
|
|
Цитата Trooper @ Есть параметры по которым будет выборка проводится часто - это второй столбец. Всё-таки оценить частоту выборки по параметрам. Сгруппировать "частоиспользуемые", "редкоиспользуемые". Разделить по ним на несколько таблиц. То же и касательно наиболее интересующих - ну вряд ли реально нужны все 400. Tab1 (самые частоиспользуемые) ID Name Par 1 Par 2 ... Par N Tab2 ID Par N+1 Par N+2 ... Par K ... TabX ID Par Z Par Z+1 ... Par 400 |
Сообщ.
#11
,
|
|
|
Akina, Хорошо большое спасибо буду пробовать.
Добавлено |