Описание полей

Создание таблиц базы данных

Введение

Продемонстрируем возможности Delphi по работе с БД на примере создания простой информационной системы. Эту информационную систему можно раз­работать даже без написания кода: все необходимые операции выполняются с помощью программы Database Desktop, Конструктора формы и Инспектора объектов. Работа над информационной системой состоит из следующих основ­ных этапов:

§ создание БД;

§ создание приложения.

 

Кроме приложения и БД, в информационную систему также входят вычисли­тельная система и СУБД. Предположим, что компьютер или компьютерная сеть уже существуют, и их характеристики удовлетворяют потребностям будущей информационной системы. В качестве СУБД выберем Delphi.

В простейшем случае БД состоит из одной таблицы. Если таблицы уже имеют­ся, то первый этап не выполняется. Отметим, что совместно с Delphi поставля­ется большое количество примеров приложений, в том числе и приложений БД. Файлы таблиц для этих приложений находятся в каталоге c:\Program Files\Shared Files\Borland Shared\Data. Готовые таблицы можно использовать также и для своих приложений.


 

Для работы с таблицами БД при проектировании приложения удобно использо­вать программу Database Desktop, которая позволяет:

□ создавать таблицы;

□ изменять структуры;

□ редактировать записи.

 

Кроме того, с помощью Database Desktop можно выполнять и другие действия над БД (создание, редактирование и выполнение визуальных и SQL-запросов, операции с псевдонимами).

Замечание

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

 

Процесс создания новой таблицы начинается вызовом команды File/New/Table(Файл/Новая/Таблица) и происходит в интерактивном режиме. При этом разра­ботчик должен:

§ выбрать формат (тип) таблицы;

§ задать структуру таблицы.

В начале создания новой таблицы в окне Create Table(Создание таблицы) (рис. 5.1) выбирается ее формат. По умолчанию предлагается формат таблицы Paradox версии 7, который мы и будем использовать. Для таблиц других форма­тов, например dBase IV, действия по созданию таблицы практически не отлича­ются.

Рис. 5.1. Выбор формата таблицы

 

После выбора формата таблицы появляется окно определения структуры табли­цы (рис.5.2), в котором выполняются следующие действия:

§ описание полей;

§ задание ключа;

§ задание индексов;

§ определение ограничений на значения полей;

§ определение условий (ограничений) ссылочной целостности;

§ задание паролей;

§ задание языкового драйвера;

§ задание таблицы для выбора значений.

 

В этом списке обязательным является только первое действие, т. е. каждая таблица должна иметь хотя бы одно поле. Остальные действия выполняются при необходимости. Часть действий, такие как задание ключа и паролей, произво­дится только для таблиц определенных форматов, например, для таблиц Paradox.

При заведении новой таблицы сразу после выбора ее формата можно не созда­вать структуру таблицы, а скопировать ее из другой таблицы: при нажатии на кнопку Borrow...(Взаймы) открывается окно Select Borrow Table(Выбор табли­цы для заимствования) — рис. 5.3.

 

Рис. 5.2.Определение структуры таблицы

 

В этом окне можно выбрать таблицу (главный ее файл) и указать копируемые элементы структуры, установив соответствующий флаг, например, Primary index (Первичныйиндекс) для ключа. Посленажатия кнопки Openиз выбранной таблицы в новую копируются описания полей, а также те элементы, для кото­рых установлен флаг. Если какой-либо элемент в структуре копируемой табли­цы отсутствует, то состояние флага не имеет значения. Например, если в вы­бранной таблице не определены ограничения ссылочной целостности, то в но­вой таблице они не появятся, даже если установлен переключатель Referential integrity(Ссылочная целостность).

Рис. 5.3.Выбор таблицы для заимствования ее структуры

 

Впоследствии скопированную структуру можно настраивать, изменяя, добавляя или удаляя ее отдельные элементы.

 

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

 

Центральной частью окна определения структуры таблицы является список Field roster,в котором указываются поля таблицы. Для каждого поля задаются:

§ имя — в столбце Field Name;

§ тип — в столбце Туре;

§ размер — в столбце Size.

Имя поля вводится по правилам, установленным для выбранного формата таб­лиц. Правила именования и допустимые типы полей таблиц Paradox описаны в лекции 2.

Тип поля можно задать, непосредственно указав соответствующий символ, на­пример, A для символьного или I для целочисленного поля, или выбрать его из списка (рис. 5.4), раскрываемого при нажатии клавиши <Пробел> или щелч­ком правой кнопки мыши в столбце Туре.Список содержит все типы полей, допустимые для заданного формата таблицы. В списке под­черкнуты символы, используемые для обозначения соответ­ствующего типа, при выборе типа эти символы автоматиче­ски заносятся в столбец Туре.

Размер поля задается не всегда, необходимость его указания зависит от типа поля. Для полей определенного типа, на­пример, автоинкрементного (+) или целочисленного ( i), раз­мер поля не задается. Для поля строкового типа размер оп­ределяет максимальное число символов, которые могут хра­ниться в поле.

Рис. 5.4. Список типов для полей таблицы Paradox 7

 

Добавление к списку полей новой строки выполняется переводом курсора вниз на несуществующую строку, в результате чего эта строка появляется в конце списка. Вставка новой строки между существующими строками с описанием полей выполняется нажатием клавиши <Insert>. Новая строка вставляется перед строкой, в которой расположен курсор. Для удаления строки необходимо уста­новить курсор на эту строку и нажать комбинацию клавиш <Ctrl>+<Delete>.

Ключ создается указанием его полей. Для указания ключевых полей в столбце ключа (Key)нужно установить символ *, переведя в эту позицию курсор и на­жав любую алфавитно-цифровую клавишу. При повторном нажатии клавиши отметка о принадлежности поля ключу снимается. В структуре таблицы ключе­вые поля должны быть первыми, т. е. верхними в списке полей. Часто для клю­ча используют автоинкрементное поле (см. рис. 5.2).

Напомним, что для таблиц Paradox ключ также называют первичным индексом (Primary Index), а для таблиц dBase ключ не создается, и его роль выполняет один из индексов.

Для выполнения остальных действий по определению структуры таблицы ис­пользуется комбинированный список Table properties(Свойства таблицы), со­держащий следующие пункты:

§ Secondary Indexes— индексы;

§ Validity Checks— проверка правильности ввода значений полей

(выбирается по умолчанию);

§ Referential Integrity— ссылочная целостность;

§ Password Security— пароли;

§ Table Language— язык таблицы (языковой драйвер);

§ Table Lookup— таблица выбора;

§ Dependent Tables— подчиненные таблицы.

 

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

Состав данного списка зависит от формата таблицы. Так, для таблицы dBase он содержит только пункты Indexesи Table Language.