список клиентов, в качестве первичного ключа можно использовать поле CustomerID с кодами клиентов.
Рисунок 3.8 – Окно мастера для определения первичного ключа и индексов таблицы
Используя список Field Name (Имя поля), укажите дополнительные индексы для таблицы, установив соответствующие флажки слева от наименования полей. Затем нажмите кнопку Next (Далее).
10. При создании таблицы, входящей в базу данных, на следующем шаге мастера определяются связи между новой таблицей и таблицами базы данных (рисунок 3.9). В списке My new <имя_таблицы> table (Моя новая таблица) диалогового окна содержится перечень всех существующих и возможных связей для новой таблицы. Используя данный список и диалоговое окно Relationships (Отношения), открываемое при нажатии кнопки Relationships (Отношения), задайте тип связи между создаваемой таблицей и остальными таблицами базы данных.
Примечание
Если в базе данных не содержится таблиц, то сразу осуществляется переход к последнему шагу мастера.
11. На последнем шаге работы мастера (рисунок 3.10) указывается режим дальнейшей работы с таблицей. Для этого необходимо выбрать одну из трёх опций, назначение которых описано в таблице 3.5.
26
Рисунок 3.9 – Задание связей между создаваемой таблицей и таблицами базы данных
Рисунок 3.10 – Задание режима дальнейшей работы с таблицей
Выбрав одну из трёх опций, нажмите кнопку Finish (Готово). На экране открывается диалоговое окно Save As (Сохранить как) для задания имени таблицы. Введите в поле Enter Table (Введите имя таблицы) имя таблицы, укажите папку, в которой её сохраняете, и нажмите кнопку Сохранить.
27
Таблица 3.4 – Назначение опций диалогового окна Table Wizard – Step 4
Опция |
|
|
|
|
Назначение |
|
|
|
|
Save |
table |
for |
later use |
(Сохранить |
Сохраняет созданную таблицу |
|
|||
таблицу) |
|
|
|
|
|
|
|
|
|
Save |
table |
and |
browse it |
(Сохранить |
Сохраняет |
созданную |
таблицу |
и |
|
таблицу и открыть для просмотра) |
|
открывает |
её в режиме Browse |
||||||
|
|
|
|
|
|
(Обзор) для просмотра содержимого |
|||
Save table and modify In the Table Designer |
Сохраняет |
созданную |
таблицу |
и |
|||||
(Сохранить таблицу и открыть в |
окне |
открывает её в конструкторе таблиц |
|||||||
конструктора для модификации) |
|
для модификации |
|
|
|||||
Конструктор таблиц предоставляет разработчику более широкие возможности при создании таблицы, чем мастер.
В конструктор таблиц можно перейти из мастера по созданию таблицы или непосредственно из диалогового окна New Table (Новая таблица) (см. рисунок 3.4), нажав кнопку New Table (Новая таблица) и введя в диалоговом окне Create (Создать) имя создаваемой таблицы. В результате выполнения этих действий откроется окно конструктора таблицы Table Designer (Конструктор таблиц).
Окно конструктора таблиц Table Designer (Конструктор таблиц) (рисунок 3.11) содержит три вкладки, предназначенные для определения следующих параметров:
Fields (Поля) – поля таблицы; Indexes (Индексы) – индексы;
Table (Таблица) – условия достоверности, вводимых данных, а также триггеров добавления, удаления и модификации.
Рисунок 3.11 – Окно конструктора таблицы Table Designer
28
Определение полей таблицы
При определении полей таблицы используется вкладка Fields (Поля), позволяющая ввести наименование поля, тип данных и ширину.
Помимо основных параметров в правой части вкладки Fields (Поля) для каждого поля можно указать дополнительные параметры, которые будут определять условия ввода в него данных, а также краткое описание, которое поможет разработчику при модификации таблицы в процессе создания или сопровождения приложения.
Ввод наименований полей
Наименования полей таблицы вводятся на вкладке Fields (Поля) в строке ввода столбца Name (Имя). При задании наименований полей можно использовать буквы, цифры и знак подчёркивания. Попытки ввести специальные символы Visual FoxPro проигнорирует. Visual FoxPro не допускает наличие в таблице полей с одинаковыми именами.
Типы полей
Поля таблицы предназначены для хранения в них данных. Это могут быть числа, текстовая информация, даты, графические файлы и т. д. Для определения типа данных, размещаемых в поле, используются тип поля, его ширина и количество знаков после запятой. Для их ввода предназначены столбцы Туре (Тип), Width (Ширина) и Decimal (Десятичные) вкладки Fields (Поля) конструктора таблиц.
ВVisual FoxPro допустимыми являются типы полей, рассмотренные на лекции, в данном пособии на этом не акцентируется внимание.
Задание свойств полей
Вправой части вкладки Fields (Поля) конструктора расположены поля, позволяющие задать для каждого поля таблицы свойства, которые будут использоваться при вводе в них данных.
Область Display (Отображение) содержит поля, позволяющие задать форматы ввода и отображения данных (таблица 3.6).
Таблица 3.6 – Назначение полей области Display вкладки Fields
Поле |
Назначение |
Format (Формат) |
Задаёт формат отображения данных в формах, |
|
отчётах и окне Browse |
Input mask (Маска ввода) |
Задаёт формат ввода данных |
Caption (Надпись) |
Определяет заголовок поля |
29
Область Field validation (Проверка правильности ввода) позволяет задать параметры, описанные в таблице 3.7.
Таблица 3.7 – Назначение полей области Field validation вкладки Fields
Свойство |
Назначение |
Rule (Условие) |
Условие правильности ввода данных |
Message (Сообщение) |
Сообщение, выводимое при неправильном вводе |
|
данных в поле |
Default value |
Значение, вводимое в поле по умолчанию |
(Значение по умолчанию) |
|
Область Map field type to classes (Используемые типы полей для классов) предназначена для указания библиотеки и имени класса, который будет использоваться для создания объектов при размещении данного поля таблицы в форме (таблица 3.8).
Таблица 3.8 – Назначение полей области Map field type to classes вкладки
Fields
Поле |
Назначение |
Display library |
Задаёт местоположение и имя файла библиотеки |
(Показывать библиотеку) |
классов |
Display class |
Задаёт имя класса из выбранной библиотеки |
(Показывать класс) |
|
Область AutoIncrement (Автоматический инкремент) доступна только для полей таблицы с типом Integer (Autolnc) и позволяет задать параметры, описанные в таблице 3.9.
Таблица 9 – Назначение полей области Autolncrement вкладки Fields
Поле |
Назначение |
|
Next Value |
Задаёт |
начальное значение поля, имеющего тип |
(Начальное значение) |
Integer (AutoInc) |
|
Step (Шаг) |
Задаёт |
число от 1 до 255, на которое будет |
|
увеличиваться значение поля |
|
В текстовом поле Field comment (Комментарий) можно ввести краткое описание поля, которое может потребоваться при последующих модификациях структуры таблицы и сопровождении проекта.
Опция null
Для каждого поля можно определить признак, разрешающий при вводе данных оставлять это поле пустым. Для этого используется опция null в описании поля таблицы.
30