Приложение, которое унаследовало результаты лабораторных испытаний треков, выполненных на образцах материалов. Данные хранятся в одной таблице (tblSampleData) с помощью первичного ключа SampleID и 235 столбцов, представляющих потенциальные результаты тестирования. Проблема состоит в том, что на выборку выполняется всего несколько тестов, поэтому каждая строка содержит более 200 нулей. Фактически, есть вторая подобная таблица (tblSampleData2) с другими 215 прежде всего нулевыми столбцами и первичным ключом SampleID. Две таблицы имеют взаимно-однозначные отношения, и большинство SampleID имеют некоторые данные в обеих таблицах. Для каждого SampleID, однако, имеется 400 нулевых столбцов!Утопление в море нулей
Является ли это плохим дизайном базы данных? Если да, то какое нормальное правило формы нарушено? Как я могу запросить эту таблицу, чтобы определить, какие группы столбцов обычно заполняются вместе с данными? Моя цель состояла бы в том, чтобы иметь, скажем, 45 таблиц с 10 столбцами и меньше нулевых значений. Как я могу это сделать? Как избежать нарушения существующих приложений?
В таблицах представлено около 200 000 образцов записей. Пользователи просят меня добавить больше столбцов для большего количества тестов, но я предпочел бы построить новую таблицу. Это мудрое?
Какие запросы это приложение работает от базы данных? – quantumSoup
Основные CRUD. Вставьте новую тестовую запись, обновите ее по завершении тестов, прочитайте результаты в диаграммах и отчетах, редко удалите. Чтение запросов выполняется на небольших наборах данных для каждого клиента. – DeveloperDan
См. Мой длинный ответ ниже, но было бы интересно узнать типы данных из столбцов результатов 400 или около того, в частности, являются ли они все * одинаковым * типом данных. –