Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
OAP_VOpros_6-7_Bazy_dannykh_1_lektsia_lab_1.doc
Скачиваний:
23
Добавлен:
30.04.2015
Размер:
3.33 Mб
Скачать

Механизм bde

Характерной особенностью программ, созданных с помощью Delphi и предназна­ченных для работы с базами данных, является их зависимость от специальной биб­лиотеки программ, которая называется BDE (Borland Database Engine — машина баз данных корпорации Borland). BDE представляет собой набор библиотек DLL, предназначенных для низкоуровнего доступа к данным самых различных форма­тов. BDE автоматически устанавливается в процессе установки Delphi и регист­рируется в реестре 32-разрядной версии Windows. BDE «умеет» работать с табли­цами самых распространенных СУБД, причем как файл-серверных (dBase, Paradox, FoxPro, Clipper), так и клиент-серверных (InterBase, Microsoft SQL Server, Oracle и др.). В BDE имеется собственный интерпретатор языка SQL, что позволяет со­здавать запросы не только к серверам БД, но и таблицам файл-сервера.

Без установки и регистрации BDE на компьютере не может работать ни одна про­грамма БД, созданная в Delphi и использующая механизм BDE.

Проектирование бд

Проектирование БД заключается в определении состава полей ее таблиц и связей между таб­лицами. Оттого, насколько тщательно проведен анализ и насколько грамотно спро­ектирована БД, в существеннейшей мере зависит эффективность будущей СУБД и ее полезность для пользователя.

Имена таблиц и полей

В файл-серверных БД имя таблицы совпадает с именем файла, в котором размеща­ются все содержащиеся в ней данные. В именах полей полезно ставить префикс из одной-двух букв названия таблицы (в таблице NAKLS все имена начинать с буквы «N», в FIRMS — с «F» и т. п.). Старайтесь делать имена полей по возможности лаконичными — это сократит код программы и сроки ее создания.

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

В файл-серверных БД все таблицы размещаются в одном ка­талоге (папке). Создание таблиц файл-серверных БД осуществляется с помо­щью утилиты (вспомогательной программы) Database Desktop (DBD), входящей в комплект поставки Delphi.

Утилита DBD решает целый ряд задач, связанных с таблицами файл-серверных БД. С ее помощью можно создать или изменить структуру таблицы, создать ее первичные ключи и индексы, создавать и изменять записи, просматривать их и т. д. К сожалению, используемые ею шрифты не поддерживают кириллицу, так что работать с записями, содержащими русскоязычные текстовые поля, невозможно. Другим существенным недостатком утилиты является невозможность ее использования в клиент-серверных БД.

Запустите DBD с помощью команды Пуск ► Программы ► Borland Delphi 7 ► Database Desktop (если вы работаете в среде Delphi, для запуска используйте команду Tools ► Database Desktop главного меню).

Первое, что необходимо сделать, — это настроить рабочий каталог утилиты. Выберите команду File ► Working Directory и установите в появившемся окне ссылку на каталог C:\BIBLDATA (рис. 1.3).

Для создания таблицы NAKLS выберите команду File ► New ► Table. DBD откроет окно Create Table, в котором можно выбрать тип таблицы. Тип таблицы определяет многие ее свойства. Тип Paradox 7 можно считать наилучшим для файл-сервер­ных таблиц: щелчком на кнопке ОК согласитесь с вариантом Paradox 7, предложен­ным по умолчанию. На экране появится окно (рис. 1.4), предназначенное для со­здания/редактирования структуры таблицы.

Рис. 1.3. Установка рабочего каталога

Рис. 1.4. Окно создания структуры таблицы

Каждому полю создаваемой таблицы соответствует одна запись в таблице Field roster этого окна: в колонку Field Name нужно поместить имя поля, в колонку Туре — сим­вол, определяющий тип хранимых в поле данных, в колонку Size — число, опреде­ляющее длину поля (требуется не для всех типов полей), и, наконец, в колонку Key — символ звездочки (*), если по значениям этого поля нужно построить пер­вичный ключ.

Введите название первого поля Naklld (первый символ названия поля для таб­лиц Paradox DBD всегда вводится прописным) и нажмите клавишу табуляции для перехода к следующей колонке, в которой вводится тип поля. Нажмите клавишу пробела, чтобы утилита DBD показала список возможных типов, и выберите в нем тип Autoincrement. Поля автоинкрементного типа служат для создания уникально­го числа, однозначно определяющего запись: для первой записи в это поле будет автоматически помещено число 1, для второй — 2 и т. д. При удалении какой-либо записи выделенное для нее число не используется вновь. Щелкните на колонке Key. Нажмите клавишу пробела, чтобы создать по полю первичный ключ.

Продолжите ввод полей таблицы NAKLS так, как показано на рис. 1.5. Для первых четырех полей установите флажок Required Field, означающий, что при вводе оче­редной записи в эти поля обязательно должны быть помещены значения — за этим будет следить BDE. Четыре других поля могут не определяться в момент ввода очередной записи. Имеет смысл определить для них значения по умолчанию в стро­ке Default value: для поля NCoeff таким значением будет 1, для остальных — 0.

По полю NDate нужно определить индекс (в терминологии таблиц Paradox он на­зывается вторичным). Для этого раскройте список Table properties в правом верх­нем углу окна, выберите пункт Secondary Indexes и щелкните на появившейся кнопке Define. В окне Define Secondary Index (рис. 1.6) в списке полей таблицы выделите (щелчком) поле NDate и затем щелкните на кнопке со стрелкой вправо, чтобы перенести поле в список Indexed fields. Замечу, что таким способом можно перене­сти не одно, а несколько полей. Индекс, построенный по нескольким полям, назы­вается составным.

Рис. 1.5. Структура полей таблицы NAKLS

Рис. 1.6. Определение индексного поля (полей)

С помощью флажков группы Index options можно определить следующие особен­ности индекса:

  • Unique — индекс будет содержать уникальные значения;

  • Maintained — индексные поля сортируются по возрастанию значений;

  • Case sensitive — индекс чувствителен к регистру букв в текстовых полях;

  • Descending — индексные поля сортируются по убыванию значений.

В нашем случае (а также при определении индексов в других таблицах демонстра­ционной БД) оставьте эти флажки без изменений и щелкните на кнопке ОК. DBD запросит имя индекса (в таблицах Paradox, как и в большинстве серверов БД, индексы именуются) — введите строку Nakls_date и щелкните на кнопке ОК. Во вновь появившемся окне определения структуры таблицы щелкните на кнопке Save as и затем укажите имя файла — Nakls.

Мы только что создали структуру таблицы NAKLS.