Шаг 19.
Работа с локальными БД в Delphi.
Создание таблиц базы данных. Объявление полей

    На этом шаге мы рассмотрим общие принципы объявления полей.

    Важным моментом при создании базы данных является распределение информации между полями записи. Очевидно, что информация может быть распределена между полями различным образом.

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

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

   Для создания таблиц БД используется утилита Database Desktop (DBD). Утилита Database Desktop позволяет выполнять все необходимые при работе с базами данных действия. Она обеспечивает создание, просмотр и модификацию таблиц баз данных различных форматов (Paradox, dBASE, Microsoft Access). Кроме того, утилита позволяет выполнять выборку информации путем создания запросов.

   После запуска этой утилиты можно установить рабочий псевдоним утилиты. Для установки рабочего псевдонима нужно выбрать элемент главного меню File | Working Directory и в выпадающем списке Aliases выбрать имя псевдоним PROBA, после чего нажать кнопку OK.


Рис.1. Установка рабочей директории

   Для того чтобы создать новую таблицу, надо из меню File выбрать команду New и в появившемся списке выбрать тип создаваемого файла - Table.


Рис.2. Первый шаг в создании новой таблицы

   Затем в открывшемся диалоговом окне Create Table следует выбрать тип создаваемой таблицы (значением по умолчанию является тип Paradox 7).


Рис.3. Второй шаг в создании новой таблицы

   В результате открывается диалоговое окно Create Paradox 7 Table, в котором можно определить структуру записей таблицы (рисунок 4).


Рис.4. Окно Create Paradox 7 Table

    Каждая строка таблицы соответствует полю. Назначения столбцов:

    Рассмотрим более подробно каждый из этих столбцов.

   Fields Name. Задает имя поля. Как было сказано выше, в качестве имени символа можно использовать последовательность из букв латинского алфавита и цифр длиной не более 25 символов. В Database Desktop можно использовать и другие символы (пробел, ' - ', ' = ' и т.д.), но нужно учесть, что при обращение к полям через приложения, имя поля будет корректироваться например: Kol-vo prihod = Kolvoprihod. Поэтому крайне желательно использовать символы только латинского алфавита или цифры, т.к. могут возникнуть трудности при обращении к таблице через SQL-запросы.

    Type. Тип поля определяет тип данных, которые могут быть помещены в это поле. Тип задается вводом в колонку Туре символьной константы. Типы полей и соответствующие им константы приведены в таблице 1.

Таблица 1. Возможные типы и соответствующие им константы
Тип Константа Содержимое поля
Alpha A Строка символов. Максимальная длина строки определяется характеристикой Size, значения которой находятся в диапазоне 1-255
Number N Число из диапазона 10-307- 10308 с 15-ю значащими цифрами
Money $ Число в денежном формате. Цифры числа делятся на группы при помощи разделителя групп разрядов. Также выводится знак денежной единицы
Short S Целое число из диапазона от -32767 до 32767
Long Integer I Целое число из диапазона от -2 147 483 648 до 2 147 483 647
Date D Дата
Time Т Время с полуночи, выраженное в миллисекундах
Time stamp @ Время и дата
Memo M Строка символов произвольной длины. Поле типа Memo используется для хранения текстовой информации, которая не может быть сохранена в поле типа Alpha. Размер поля (1-240) определяет, сколько символов хранится в таблице. Остальные символы хранятся в файле, имя которого совпадает с именем файла таблицы, а расширение файла - mb
Formatted Memo F Строка символов произвольной длины (как у типа Memo). Имеется возможность указать тип и размер шрифта, способ оформления и цвет символов
Graphic G Графика
Logical L Логическое значение "Истина" (True) или "Ложь" (False)
Autoincrement + Целое число. При добавлении к таблице очередной записи в поле записывается число на единицу большее, чем находится в соответствующем поле последней добавленной записи
Bytes Y Двоичные данные. Поле этого типа используется для хранения данных, которые не могут быть интерпретированы Database Desktop
Binary В Двоичные данные. Поле этого типа используется для хранения данных, которые не могут быть интерпретированы Database Desktop. Как и данные типа Memo, эти данные не находятся в файле таблицы. Поля типа Binary, как правило, содержат аудио-данные

    Константа, определяющая тип поля, может быть введена с клавиатуры или путем выбора типа поля из списка, который появляется при щелчке правой кнопкой мыши в колонке Туре или при нажатии клавиши <Пробел>.

   Key. Признак первичного ключа. Для того чтобы включить данное поле в состав первичного ключа необходимо нажать любой символ на клавиатуре. Повторное нажатие любого символа снимает отметку звездочкой в столбце Kеу.

   Если данные, для хранения которых предназначено поле, должны обязательно присутствовать в записи, то следует установить флажок Required Field. Например, очевидно, что поле Fam (Фамилия) обязательно должно быть заполнено, в то время как поле Tel (Телефон) может оставаться пустым.

   Если значение, записываемое в поле, должно находиться в определенном диапазоне, то вводом значений в поля Minimum value (Минимальное значение) и Maximum value (Максимальное значение) можно задать границы диапазона.

   Поле Default value позволяет задать значение по умолчанию, которое будет автоматически записываться в поле при добавлении к таблице новой записи.

   Поле Picture позволяет задать шаблон, используя который можно контролировать правильность вводимой в поле информации. Шаблон представляет собой последовательность обычных и специальных символов.

    На следующем шаге мы продолжим изучение этого вопроса.




Предыдущий шаг Содержание Следующий шаг