Определение таблиц, которые должна содержать база данных
Определение цели создания базы данных
На первом этапе проектирования базы данных необходимо определить назначение базы данных, как она будет использоваться и какие сведения она должна содержать. Зная это, можно определить, какие сведения будут храниться в таблицах (темы) и в полях таблиц (подробности по темам).
База данных должна отвечать требованиям тех, кто будет непосредственно с ней работать. Для этого нужно определить темы, которые должна покрывать база данных, отчеты, которые она должна выдавать, проанализировать формы, которые в настоящий момент используются для записи данных, сравнить создаваемую базу данных с хорошо спроектированной, подобной ей базой.
Определение необходимых в базе данных таблиц может оказаться самым непростым этапом процесса проектирования базы данных, поскольку результаты, которые должна выдавать база данных — отчеты, формы и т.п. — не всегда дают полное представление о структуре таблиц, по которым они создаются.
Для проектирования таблиц вовсе не обязательно использовать Microsoft Access. Сначала лучше разработать структуру на бумаге. При разработке таблиц рекомендуется руководствоваться следующими основными принципами.
· Сведения не должны дублироваться в таблице или между таблицами. В этом отношении таблицы в реляционной базе данных отличаются от таблиц в приложениях, работающих с таблицами в текстовом формате, таких как редакторы электронных таблиц.
Данные, хранящиеся только в одной таблице, обновляются только в этой таблице. Это более эффективно и, кроме того, исключает возможность дублирования записей, содержащих разные сведения. Например, адрес и номер телефона каждого клиента достаточно сохранить один раз, в одной таблице.
· Каждая таблица должна содержать информацию только на одну тему.
Когда каждая таблица содержит сведения только по одной теме, со сведениями по каждой теме можно работать независимо от остальных тем. Например, адрес клиента хранится отдельно от заказов этого клиента, что позволяет удалить один заказ, сохранив сведения о клиенте.
Каждая таблица содержит сведения по конкретной теме, а каждое поле в таблице содержит конкретный факт по теме таблицы. Например, таблица сведений о клиенте может содержать поля сведений о названии компании, адресе, городе, стране и номере телефона. При составлении схемы полей для каждой таблицы учитывайте следующее.
· Каждое поле должно быть связано с темой таблицы.
· Не рекомендуется включать в таблицу данные, которые являются результатом выражения.
· Таблица должна содержать все необходимые сведения.
· Данные следует разбить на наименьшие логические единицы (например, поля «Имя» и «Фамилия», а не общее поле «Имя»).
Для связывания в Microsoft Access сведений, хранящихся в разных таблицах — например, для связывания клиента со всеми его заказами — каждая таблица базы данных должна содержать поля или набор полей, однозначно определяющих каждую запись. Такое поле или набор полей называют первичным ключом.