Опубликован: 17.08.2010 | Доступ: свободный | Студентов: 1000 / 59 | Оценка: 4.11 / 3.89 | Длительность: 29:38:00
Самостоятельная работа 14:

Создание СУБД локальной базы данных средствами BDE

Аннотация: В данной лабораторной работе вы выполните проектирование базы данных. Создание псевдонима базы данных. Автоматически создаваемые псевдонимы рабочего и частного каталогов. Создание таблиц базы данных. Изменение структуры таблицы и индексирование полей. Обзор компонентов C++Builder 6, используемых для связи с локальными базами данных. Основные свойства компонента Table. Создание заготовки приложения.
Файлы к данной лабораторной работе, Вы можете скачать здесь.

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

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

Пользователем этого приложения должен быть работник школы (лучше - секретарь директора), в обязанность которого входит:

  1. Первичное заполнение БД сведениями об учащихся
  2. Первичное заполнение БД сведениями о преподаваемых предметах
  3. Оперативное занесение текущих оценок по предметам
  4. Выборка отчета по успеваемости
  5. Ведение архива

Наша задача, как разработчиков, проанализировать задачу с привлечением работников школы, а затем реализовать ее по следующему плану:

  1. Спроектировать базу данных
  2. Создать базу данных
  3. Спроектировать приложение для управления данными

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

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

Список учеников SCHOOL
Field Name Type Size Пояснения
ID_SCHOOL Numeric 4 Идентификатор ученика
NAME Character 30 ФИО ученика
NUM_CLASS Character 2 Номер класса
SUB_CLASS Character 1 Индекс класса
ADDRESS Character 20 Домашний адрес
BIRTHDAY Date Дата рождения
Список телефонов PHONE
Field Name Type Size Пояснения
PHONE Character 20 Связанный с учеником телефон
ID_SCHOOL Numeric 4 Идентификатор ученика
OWNER Character 20 Чей телефон
CONNECT Logical 1 Участвует ли в процессе обслуживания
Список предметов TOPIC
Field Name Type Size Пояснения
ID_TOPIC Numeric 4 Идентификатор предмета
TOPIC Character 20 Изучаемый предмет
NUM_CLASS Character 2 Номер класса
SUB_CLASS Character 1 Индекс класса
ID_TUTOR Numeric 3 Идентификатор учителя
TUTOR Character 20 Учитель
TERM Numeric 1 Учебная четверть
Список оценок по предметам VALUATION
Field Name Type Size Пояснения
ID_SCHOOL Numeric 4 Идентификатор ученика
DATE Date Текущая дата
ID_TOPIC Numeric 4 Идентификатор предмета
VALUATION Numeric 4 Оценка

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

  1. В каждой ячейке таблицы должно содержаться единственное значение атрибута (поля)
  2. Все атрибуты, не являющееся частью первичного ключа, полностью от него функционально зависимы
  3. Атрибуты должны зависить только от ключа и не от чего более (взаимная связь атрибутов должна быть исключена)

Создание псевдонима базы данных

Прежде, чем начать разработку приложения, нужно сделать так, чтобы при запуске оно автоматически узнавало логическое имя своей базы данных. Это логическое имя называется псевдонимом ( Alias ) BDE. Оно необходимо для обеспечения работы механизма BDE. Использование логического имени позволяет перемещать каталог с базой на новое место или другой компьютер, а для подключения к исполнимому коду приложения достаточно эту базу зарегистрировать внешней утилитой, указав место размещения, поддерживаемый драйвер и тот же псевдоним. В самом же приложении ничего переделывать не нужно.

Механизм BDE действует как интерфейс между базой данных и приложением, обеспечивая работу невидимых компонентов доступа. BDE реализован в виде набора DLL -файлов. Взаимодействие программных элементов приложения не зависит от конкретной реализации базы данных благодаря BDE, который обеспечивает доступ к данным на нижнем уровне иерархии управления данными.


Псевдоним BDE аналогичен DSN (Data Source Name) источнику данных ODBC фирмы Microsoft. Это набор параметров, определяющих способ установления связи с базой данных или СУБД, который разработчик должен настроить при его создании. В этом случае приложению безразлично, где физически раположена та или иная база данных, а часто безразлична и СУБД, создавшая и обслуживающая эту базу данных. При переносе базы администратору базы достаточно внести соответствующую информацию в псевдоним.

BDE по псевдониму находит подходящий для указанной базы данных драйвер. Драйвер - это вспомогательная программа (обычно поставляемая разработчиками баз данных), которая понимает, как обращаться к базам данных определенного типа. Если в BDE имеется собственный драйвер, соответствующий СУБД, то BDE связывается через него с базой данных и с нужной таблицей в ней, обрабатывает запрос пользователя и возвращает в приложение результаты обработки. BDE поддерживает естественный доступ к таким базам данных, как Microsoft Access, FoxPro, Paradox, dBase.

При работе с базами данных часто применяется кэширование всех изменений. Это означает, что все изменения данных (вставка/удаление записей), проводимые пользователем, вначале выполняются не с самой базой, а с виртуальной таблицей в оперативной памяти или виртуальном диске. И только после окончательных проверок пользователь может сохранить изменения в базе или отказаться от сохранения.

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

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

  1. Tools/Database Desktop
  2. Tools/BDE Administrator
  3. Database/Explore

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

C:\Program Files\Common Files\Borland Shared\Database Desktop\dbd32.exe C:\Program Files\Common Files\Borland Shared\BDE\bdeadmin.exe C:\Program Files\Borland\CBuilder6\Bin\dbexplor.exe

Вспомните, что для запуска Администратора ODBC фирмы Microsoft необходимо запустить режим командной строки, выбрав меню Пуск/Выполнить, и в поле ввода внести команду odbcad32.

Автоматически создаваемые псевдонимы рабочего и частного каталогов

Прежде, чем приступить к созданию новых псевдонимов, нужно упомянуть о двух псевдонимах, автоматически создаваемых BDE. Эти псевдонимы размещаются в двух каталогах: рабочем ( working ) и частном ( private ).

Рабочий каталог используется для совместной работы всех пользователей. Database Desktop создает его в момент установки на компьютере средa C++Builder с путем

C:\Program Files\Common Files\Borland Shared\Database Desktop\WorkDir

Он имеет псевдоним WORK. Изменить рабочий каталог можно с помощью Database Desktop, выполнив в нем команду меню File/Working Directory.


Появится окно для смены места хранения псевдонима


При смене рабочего каталога псевдоним WORK автоматически будет подразумевать этот новый каталог. Если вы - единственный или основной пользователь Database Desktop, то полезно установить в качестве рабочего тот каталог, внутри которого или в подкаталогах которого сосредоточено большинство ваших баз данных.

Личный ( private ) каталог также создается автоматически при уcтановки Database Desktop там же, где и рабочий каталог. Он предназначен для хранения личных таблиц и других объектов пользователя, не предназначенных для всеобщего обозрения. Он имеет псевдоним PRIV. Изменить рабочий каталог также можно с помощью Database Desktop, выполнив в нем команду меню File/Private Directory.

Создание и просмотр псевдонимов баз данных в Database Desktop

Псевдонимы баз данных могут создаваться в C++Builder двух видов:

  1. Открытые - доступные приложению из любого каталога при его работе на компьютере пользователя. Они хранятся в файле IDAPI32.CFG
    C:\Program Files\Common Files\Borland Shared\BDE\IDAPI32.CFG
  2. Псевдонимы проекта - доступные только при работе в конкретном каталоге и хранятся в этом каталоге в файле IDAPI.CFG. Используя псевдонимы проекта, мы можем в разных каталогах разместить файлы конфигурации с разными псевдонимами и в зависимости от того, какой каталог мы назначим рабочим, будем иметь разные наборы псевдонимов.

Псевдонимы можно просматривать и создавать в Database Desktop, выполнив в этой программе команду меню Tools/Alias Manager (Диспетчер псевдонимов)


Появится окно диспетчера псевдонимов, вид которого зависит от того, псевдоним какой базы данных просматривается.


Индикатор Public alias (открытый псевдоним) в верхней части окна показывает, будет ли создаваться открытый псевдоним или псевдоним проекта. Выпадающий список Database alias позволяет выбрать псевдоним из уже созданных. То, какие псевдонимы в нем видны, определяется группой радиокнопок справа.

Группа радиокнопок
Show public aliases only В списке отображаются только открытые псевдонимы
Show project aliases only В списке отображаются только псевдонимы проекта
Show all aliases В списке отображаются псевдонимы обоих типов

Кнопка Browse позволяет установить путь размещения таблиц базы данных. Кнопка Remove удаляет выбранный псевдоним. Кнопка Save as... позволяет перезаписать копию псевдонима на новое место и под другим именем.

Для создания псевдонима с помощью Database Desktop нужно выполнить следующие шаги:

  1. Установить или убрать опцию Public alias
  2. Выбрать драйвер базы данных в списке Driver type
  3. Установить через кнопку Browse путь размещения таблиц базы
  4. Щелкнуть по кнопке New и в окне редактирования Database alias ввести имя нового псевдонима (если создается псевдоним базы с однотипными характеристиками, то выгоднее вначале выбрать существующий псевдоним, а затем изменить его имя и щелкнуть по кнопке Keep New, чтобы сохранить новую информацию)
  5. Сохранить всю информацию, щелкнув по кнопке Save as.., и выйти из диалога
Александр Даниленко
Александр Даниленко
Стоит Windows 8 Pro, Visual Studio 2010 Express Edition .