Правило 5. Избегайте избыточной информации

Другой тип несвязанной информации — избыточные данные — информация, которая уже есть где-то в БД или даже в той же таблице, иногда в слегка иной форме. Как и в случае дуб­лирования данных, такая избыточность может порождать противоречивость данных.

Вычисляемые данные — самый распространенный тип избыточной информации. Приме­ром может служить поле AverageOrderCost (средняя стоимость заказа) в таблице Customers. Проблема в данном случае состоит в том, что вы можете определить среднюю стоимость заказа, просмотрев в таблице Orders (заказы) все записи для данного клиента, и усреднить их. Вводя поле AverageOrderCost, вы создаете возможность хранения в нем не­корректных данных (возможно, его значение не будет соответствовать реальным записям о заказах). Кроме того, вы усложняете жизнь, поскольку каждый раз, когда клиент вставляет заказ, нужно пересчитывать среднее значение и обновлять запись клиента.

Примечание

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

Далее перечислены еще несколько примеров избыточной информации.

■ Поля Age (возраст) и DateOfBirth (дата рождения) (в таблице People). Обычно вы включаете только поле DateOfBirth. Если же у вас их два, то в поле Age содержится избыточная информация. Но если у вас только поле Age, то вы в опасности — если вы не сможете отслеживать дни рождения и тщательно редактировать каждую запись, ваши данные скоро станут некорректными.

■ Поле DiscountPrice (цена со скидкой) (в таблице Products). Вы должны иметь возможность вычислять цену со скидкой как положено, основываясь на заданных процентах. В обычном деловом мире надбавки и скидки часто меняются. Если вы вычислите скидки,

равные 10%, и сохраните измененные цены в вашей БД, вас ждет много работы в случае снижения скидки до 9%.

Правило 6. Включайте поле Код

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

В некоторых ситуациях в вашу таблицу может быть включено уникальное поле, которое можно использовать как первичный ключ. Не поддавайтесь искушению. Вставляя поле Код,вы всегда увеличиваете степень свободы ваших действий. Поле Кодне придется менять ни­когда. Другая информация, даже имена и номера социального обеспечения могут изменить­ся. И если вы используете связи между таблицами, программа Access копирует первичный ключ в другие таблицы. Если первичный ключ меняется, вы вынуждены искать его значение и разных местах БД.

Примечание

Хорошо бы сделать привычкой включение полей Код во все ваши таблицы. В главе 5 вы поймете преимущества такого подхода, когда начнете устанавливать связи между таблицами.

Глава 3

Обработка листа данных: сортировка, поиск, фильтрация и другие действия

В главе 1 вы впервые познакомились с листом данных — простым и понятным средством для просмотра и редактирования данных таблицы. Как вы уже узнали, лист данных — не луч­ший инструмент для создания таблицы. (Конструктор — более удобное средство для все­возможного управления БД.) Но лист данных — великолепный инструмент для просмотра записей таблицы, внесения изменений и добавления новых данных.

Имея опыт создания таблицы Dolls (см. разд. "Создание простой таблицы" главы 1), вы, возможно, чувствуете себя излишне самонадеянно в отношениях с листом данных. Однако большинство таблиц гораздо больше виденных вами до сих пор примеров. В конце концов, если вам необходимо вести учет только дюжины кукол-болванчиков, на самом деле никакая БД не нужна — вы будете вполне удовлетворены, набросав краткий список в старой элек­тронной таблице, документе текстового процессора или на клочке бумаги.

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

К счастью, у программы Access есть чудодейственные средства управления листом дан­ных, способные сделать жизнь проще. Прочитав эту главу, вы станете знатоком средств, ви­доизменяющих листы данных, досконально освоив такие методы, как сортировка, поиск и фильтрация. Вы также узнаете, как легко напечатать моментальную копию ваших таблич­ных данных.

Примечание

Время, затраченное на работу с листами данных, — исключительно ваш выбор. Некоторые знатоки программы Access предпочитают создавать формы для всех своих таблиц (как описано в части IV). С помощью форм можно создать полностью настраиваемое окно для ввода данных, Проектиро­вание форм требует больше усилий, но ваше творческое эго будет довольно.

Настройка листа данных

Бас утомил тусклый лист данных с монотонно тянущимися рядами столбцов и строк? Вы можете кое-что сделать с ним. Программа Access позволяет настроить внешний вид и струк­туру листа данных, чтобы сделать его более удобным (или отвечающим вашему чувству

стиля). Некоторые из этих настроек, например, изменение шрифта на листе данных, — по­стыдные излишества. Другие параметры, например скрытие или закрепление столбцов, мо­гут действительно облегчить работу с большими таблицами.

Примечание

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

Наши рекомендации