Книга: The Programmers
Избегайте избыточности представления
Избегайте избыточности представления
Каждый проектировщик баз данных знает о нормальных формах. Дело становится очень сложным, если пытаться проводить полный анализ предмета в условиях реального мира, но базовая идея очень проста. Избегайте избыточности в представлении. Если вам понадобилась запись заказа и запись счета, каждая из которых требует названия заказчика, храните запись о заказчике в одной таблице, и используйте уникальную ссылку на таблицу заказчиков в записи заказа. Затем вставьте ссылку на таблицу заказов в записи счета. Тогда вещи никогда не встанут наперекосяк, когда вам придется не забывать удостовериться в загрузке разных мелочей каждый раз, когда вы хотите изменить данные.
Дело в том, что концепция нормализации базы данных из тех же соображений применима везде. Никогда не храните одну вещь и, отдельно, еще одну неподсоединенную вещь, которая полагается на то, что первая существует. Пусть данные управляют своей собственной структурой, и не появится никаких перекосов. Ритуальное использование структур данных часто включает претензию на управление держа зубную щетку и палочки для еды в одной руке. Если мы создаем структуру финансовых отчетов в Ящике А, а сложное описание Ящика А в Ящике В, то мы можем провести много времени копаясь в Ящике В, и ни разу не обратим внимания на тот факт, что на самом деле мы вообще не понимаем того, что происходит в Ящике А!
Не попадайте в эту ловушку. Пусть данные представляют сами себя, или, как сказал Лори Андерсон (Laurie Anderson) в книге «Большая наука» (Big Science)
Let X = X
- Простая и надежная среда
- Типы систем
- Обработка ошибок — лимфатическая система программы
- Увлечение формой (а не содержанием) и комбинаторный взрыв
- Избегайте избыточности представления
- Посмотри на состояние всего этого!
- Реальность системы как объекта
- Детекторы утечки памяти
- Таймауты
- Проектируй для тестирования
- Даты, деньги, единицы измерения и проблема Y2K
- Безопасность
- 1. Требования к табличной форме представления отношений
- Использование представления в виде таблицы данных
- Добавление и изменение представления списка
- Создание представления
- Избегайте «смерти от экспертов»
- Две формы представления сетевого графика
- 13.4.2. Представления многобайтных символов
- 15.4.1.2. По возможности избегайте макросов с выражениями
- 15.4.1.5. По возможности избегайте объединений
- Совет 47. Избегайте «нечитаемого» кода
- Фреймы для представления знаний
- 1.6.14. Правило генерации: избегайте кодирования вручную; если есть возможность, пишите программы для создания программ