Определение таблиц базы данных. Создание индексов. Установление связей между таблицами, страница 2

- для поля ТЕЛЕФОН рекомендуется задать маску ввода, чтобы упростить ввод данных в это поле

ПРИМЕЧАНИЕ. Ключ таблицы может значение не одного, а большего количества полей. Например, для данной таблицы ключом может быть три атрибута ФАМИЛИЯ, ИМЯ, ОТЧЕСТВО (это не эффективно в силу значительной длины ключа, а также возможности, хотя и крайне редкой дубликата). Составной ключ формируется в диалоге ИНДЕКСЫ.

V)  Описываем таблицу ЗАКАЗЫ: атрибуты:

- НОМЕР ЗАКАЗА;

- КОД КЛИЕНТА;

- ДАТА ЗАКАЗА (можно вставить проверку, чтобы исключить ввод данных за будущие периоды, а также и за прошедшие периоды)

- КОД ТОВАРА – обратите внимание, что имеет место дублирование информации. Поле КОД ТОВАРА обеспечивает связь таблиц ТОВАРЫ и ЗАКАЗЫ. Если бы для связи использовалось текстовое поле КОД ТОВАРА, избыточность данных в БД была бы большой.

ПРИМЕЧАНИЕ. В таблице ЗАКАЗЫ важным моментом (требующим принятия решения) является выбор ключа. Если ключом выбрать поле номер заказа, неизбежно возникнут ограничения по содержанию заказа.

ВОПРОС: в чем проявляется негативные последствия такого выбора ключа!

VI)  В таблице ЗАКАЗЫ создаем составной ключ – вызываем диалог ИНДЕКСЫ. Как можно видеть на иллюстрации при определении ключа и полей-индексов была допущена определенная некорректность – поле НОМЕР  ЗАКАЗА рассматривается и как ключ и как индекс (ненужное дублирование!). Определим составной ключ:

- если ключ простой, то в диалоге Индексы в графе Индекс отображается название индекса (PrimaryKey либо имя столбца таблицы);

- описание составного ключа занимает несколько строк таблицы Индексы. В первой строке указывается название ключа, в других строках составного ключа графа индекс не заполнена.

ПРИМЕЧАНИЕ. При заполнении колонки КОД ТОВАРА (номер товара, как в примере) при вводе данных неизбежно возникнут сложности – необходимо знать кодировку товаров. Можно избежать возникновения ошибок ввода данных при заполнении таких полей таблиц (код, которому соответствует некоторое содержательное значение, которое может храниться в справочнике либо ограниченное количество этих значений можно просто перечислить). Применяются подстановки, которые задаются при определении свойств атрибута таблицы.

VII)  Задаем подстановку в поле КОД ТОВАРА:

1. В меню ТИП ДАННЫХ диалога СВОЙСТВА ПОЛЯ выбираем значение мастер подстановок;

2. В диалоге СОЗДАНИЕ ПОДСТАНОВКИ выбираем тип подстановки – … значения из другой базы данных или запроса (для обсуждаемой ситуации с таблицей ЗАКАЗЫ и полем КОД ТОВАРА);

3. следующая стадия диалога СОЗДАНИЕ ПОДСТАНОВКИ – выбор таблицы значений для подстановки (может использоваться и результат запроса);

4. следующая стадия диалога СОЗДАНИЕ ПОДСТАНОВКИ – выбор столбцов подстановки – выбираем поле с кодом и поле с содержательным значением;

5. следующая стадия диалога СОЗДАНИЕ ПОДСТАНОВКИ – выбор порядка сортировки значений подстановки;

6. следующая стадия диалога СОЗДАНИЕ ПОДСТАНОВКИ – принятие решения: отображать/не отображать столбец с кодами;