Суббота, 04.05.2024, 15:43

Разработка баз данных Microsoft Access

Меню сайта
Категории раздела
Часто встречающиеся вопросы при проектировании БД [4] Изменение уровня защиты от макровирусов [1]
Особенности проектирования приложений в Access [1] Оптимизация приложений в Access [1]
Почему начинающие задают так много вопросов [1] Основные этапы разработки БД [1]
Техническое задание [2] Основные разделы ТЗ [1]
Наш опрос
Оцените мой сайт
Всего ответов: 7
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Вход на сайт
Поиск
Друзья сайта

Нормализация данных

Нормализация данных

Нормализация в основном необходима для устранения неоднозначностей при поиске данных в БД и для уменьшения общего размера БД – все это достигается благодаря соответствующему разложению данных по таблицам.

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

  • База данных будет иметь больший размер, чем это необходимо. Причем иногда разница может быть в разы, что в конечном итоге скажется на производительности.
  • Повторяющиеся данные долго вводить и сложно анализировать, причем обычно еще и забиваются разные варианты одного и того же обозначения: сокращенные, полные, с пробелами в начале, в конце (Авт. Покрышка, Автопокрышка) – в зависимости от фантазии пользователей. При запросах и группировках такое значение будет рассматриваться как самостоятельное, и строка, содержащая его, не попадет в нужную группу или просто не будет выведена на экран.
Самый простой способ избежать подобных проблем – вывести повторяющиеся значения в отдельные таблицы (то есть создать справочники обозначений) и в основную таблицу вставлять код записи справочника. Затем связать их (код записи справочника и код обозначения в основной таблице) соотношением один ко многим (одна запись в справочнике и много соответствующих ей записей в основной таблице). Тем самым в базе данных будет только один вариант обозначения и хранится он будет в одном месте – в справочнике. А для удобства ввода кодов обозначений обычно делают поля со списками, где вставляемый код делают невидимым пользователю, а вместо него показывают в списке соответствующее коду обозначение, что создает иллюзию ввода обозначения в поле, хотя на самом деле туда попадает его код.

Код записи – это ее уникальный идентификатор в таблице. Часто его называют ключом записи. Ключи бывают внутренние (собственно сам уникальный идентификатор записи в таблице) и внешние (для связи с другими таблицами), причем во втором случае внутренний ключ главной таблицы должен совпадать по типу с внешним ключом связанной таблицы: текст – текст, число – число.

В качестве ключа можно принять например ФИО сотрудника (для таблицы «tab_Sotrudnik»), но лишь в случае, если в БД не будет однофамильцев. В противном случае надежнее использовать более уникальный идентификатор, например табельный номер, а еще надежнее ввести в таблицу так называемый «суррогатный ключ» – обычно это поле с типом данных «счетчик». Это числовое поле, которое автоматически генерирует значение при создании новой записи в таблице.

<< 1 2 3 4 >>

Обсудить на форуме...
Категория: Часто встречающиеся вопросы при проектировании БД | Добавил: admin (04.11.2010)
Просмотров: 860 | Теги: нормализация данных