Лабораторная работа №1 / БДлаб1.doc
Лабораторная работа № 1
Настройка ядра процессора баз данных
и использование утилиты Database Desktop
для работы с таблицами
Цель работы: получить навыки работы с утилитами в системе Delphi.
Продолжительность работы - 4 ч.
Теоретические сведения
Система Delphi обеспечивает прикладной программе доступ к информации, хранящейся в базе данных (БД), через ядро процессора баз данных Borland Database Engine (BDE). BDE осуществляет непосредственную связь с локальными базами данных и используется при организации доступа к удаленным базам данных.
В основе BDE лежит технология IDAPI (Integrated Database Application Program Interface), используемая в системе управления базами данных (СУБД) фирмы Borland.
Для настройки параметров BDE служит утилита BDE Administrator.
Утилита BDE Administrator
Утилита BDE Administrator запускается из стартового меню системы Windows командой Программы | Borland Delphi | BDE Administrator.
Задание 1. Запустить утилиту BDE Administrator.
После запуска утилиты появляется форма, левая панель которой содержит блокнот с двумя закладками Databases и Configuration.
Закладка Databases содержит псевдонимы баз данных. Псевдоним - это имя, присвоенное базе данных. Дерево псевдонимов раскроется или свернется, если щелкнуть мышью по узлу Databases.
Выбрав псевдоним из списка (например, DBDEMOS), на правой панели формы можно увидеть параметры соответствующей базы данных, в частности, тип базы данных (Type) и путь (PATH), задающий местоположение базы данных.
Для создания нового псевдонима служит команда Object│New. При ее выборе появляется окно диалога New Database Alias, в котором выбирается имя драйвера (Database Driver Name) из предложенного списка. Имя STANDARD соответствует драйверам dBASE, Paradox и ASCII. После выбора драйвера и нажатия на кнопку OK в списке появляется новый псевдоним, имя которого можно скорректировать. Параметры базы данных, обозначенной новым псевдонимом, устанавливаются на правой панели. Информация о новом псевдониме запоминается после выбора команды Object│Apply. Для удаления псевдонима следует выбрать его в списке и воспользоваться командой Object│Delete.
Задание 2. Создать каталоги DELPHI и DELPHI\DATAPRDX на устройстве D и псевдоним TUTOR_DATABASE для базы даных типа STANDARD, которая будет размещаться в каталоге DATAPRDX.
Закладка Configuration содержит представленные в виде дерева параметры драйверов (ветвь Configuration│Drivers) и системные параметры (ветвь Configuration│System).
Ветвь Drivers│Native содержит список прямых драйверов, используемых для непосредственной работы с различными типами баз данных. В частности, имеются драйверы dBASE, Paradox и InterBase.
При выборе драйвера из раскрытого дерева на правой панели отображаются параметры этого драйвера. Например, одним из важных параметров является LANGDRIVER (имя языкового драйвера), который устанавливает набор символов, применяемых в базе данных, и порядок алфавитной сортировки для используемого языка.
Ветвь Drivers│ODBC содержит список драйверов, обеспечивающих доступ к данным с помощью интерфейса Open Database Connectivity (ODBC - открытая связь баз данных).
Ветвь System│INIT включает ряд параметров, управляющих запуском приложений и распределением ресурсов.
Ветвь System│Formats│Date содержит параметры отображения дат:
SEPARATOR - символ-разделитель числа, месяца, года;
MODE - порядок следования числа, месяца, года (0 - MDY, 1 - DMY, 2 - YMD);
FOURDIGITYEAR - число цифр года (TRUE - 4; FALSE - 2);
LEADINGZEROM - нули перед значением месяца;
LEADINGZEROD - нули перед значением числа (дня);
YEARBIASED - правило преобразования значения года, введенного в виде двух цифр (TRUE - прибавить смещение, равное 1900; FALSE - смещение не прибавлять).
Ветвь System│Formats│Time содержит параметры отображения времени:
TWELVEHOUR - интервал отображения часов: 0 - 12 (TRUE), 0 - 24 (FALSE);
AMSTRING - символьная строка для обозначения первой половины дня, если TWELVEHOUR=TRUE;
PMSTRING - символьная строка для обозначения второй половины дня, если TWELVEHOUR=TRUE;
SECONDS - указывать (TRUE) или нет (FALSE) секунды;
MILSECONDS - указывать (TRUE) или нет (FALSE) миллисекунды.
Ветвь System│Formats│Number включает параметры отображения числовых данных в символьной форме:
DECIMALSEPARATOR - символ, отделяющий дробную часть числа;
THOUSANDSEPARATOR - символ, отделяющий тройки разрядов в целой части числа;
DECIMALDIGITS - максимальное количество десятичных цифр в дробной части числа, преобразуемого из символьной формы в числовую;
LEADINGZERON - наличие (TRUE) или отсутствие (FALSE) нулевой целой части у числа, меньшего 1.
Утилита DBD
Утилиту Database Desktop (DBD) можно рассматривать как диалоговую оболочку СУБД. База данных представляет собой набор таблиц, хранящихся в одном или нескольких файлах.
Утилита DBD запускается из стартового меню командой Программы | Borland Delphi | Database Desktop или из главного меню системы Delphi командой Tools | Database Desktop. DBD может работать с файлами, в которых хранятся таблицы БД и запросы к БД по образцу или на языке SQL.
Главное меню утилиты DBD содержит пункты File, Edit, Tools, Window, Help.
В дополнительное меню пункта File входят команды для создания (New), открытия (Open) и закрытия (Close) файла, для задания рабочего (Working Directory) и личного (Private Directory) каталогов. Рабочий каталог имеет псевдоним WORK, личный каталог - PRIV. В личном каталоге сохраняются таблицы ответов на запросы и временные таблицы, содержащие, в частности, исключенные строки (записи).
Задание 3. Определить местонахождение рабочего каталога. Если рабочий каталог находится на сетевом диске, защищенном от записи, то указать каталог D:\DELPHI\DATAPRDX в качестве рабочего.
Дополнительное меню пункта Tools содержит команду Alias Manager, дублирующую функции утилиты BDE Administrator, относящиеся к созданию псевдонимов БД и изменению параметров БД.
Задание 4. С помощью команды Alias Manager определить местонахождение БД с псевдонимом DBDEMOS. Если эта БД находится на сетевом диске, защищенном от записи, то скопировать каталог DATA, в котором расположена БД, на устройство D в каталог DELPHI и задать для БД с псевдонимом DBDEMOS параметр PATH = D:\DELPHI\DATA.
Чтобы посмотреть содержимое таблицы, ее нужно открыть командой File|Open|Table или кнопкой Open Table. Появится диалоговое окно, в котором выбираются устройство (или псевдоним) и имя таблицы. После выбора таблицы и нажатия кнопки ОК появится окно, отображающее строки выбранной таблицы: в первой колонке окна указаны имя таблицы и номера строк (записей); во второй и последующих колонках, приведены имена и значения полей таблицы.
Задание 5. Ознакомиться с содержимым таблицы ANIMALS.DBF из БД с псевдонимом DBDEMOS.
Операции с таблицами
Дополнительное меню пункта Tools│Utilities содержит команды для операций с таблицами.
Команда Copy создает копию содержимого таблицы.
Задание 6. Скопировать из БД с псевдонимом DBDEMOS в БД с псевдонимом WORK таблицу типа dBASE ANIMALS.DBF и таблицы типа Paradox CUSTOMER.DB - покупатели, EMPLOYEE.DB - принявшие заказ служащие, ITEMS.DB - заказанные изделия, ORDERS.DB - заказы, PARTS.DB - поставки партий изделий, VENDORS.DB - поставщики изделий. При копировании таблиц типа DBF в окне Copy to необходимо явно указать этот тип после имени файла (путь к файлу не задавать).
Таблица ANIMALS.DBF содержит сведения о животных, а остальные таблицы хранят информацию о продаже снаряжения для морских путешествий.
Команда Info Structure отображает структуру выбранной таблицы, т.е. описание полей таблицы.
Задание 7. Отобразить на экране структуру всех скопированных таблиц и ознакомиться с содержимым полей (табл. 1 - 7).
Таблица 1
Структура таблицы ANIMALS.DBF (Животные)
| N п/п | Поле | Тип | Размер | Содержимое | Индекс |
| 1 | Name | C | 10 | Название животного | + |
| 2 | Size | N | 2 | Размер | |
| 3 | Weight | N | 2 | Вес | |
| 4 | Area | C | 20 | Область обитания | |
| 5 | BMP | B | Изображение животного |
Индекс задает порядок сортировки строк таблицы.
Таблица 2
Структура таблицы СUSTOMER.DB (Покупатели)
| N п/п | Поле | Тип | Размер | Первичный ключ | Содержимое |
| 1 | CustNo | N | * | Номер покупателя | |
| 2 | Company | A | 30 | Название компании-покупателя | |
| 3 | Addr1 | A | 30 | Адрес 1 | |
| 4 | Addr2 | A | 30 | Адрес 2 | |
| 5 | City | A | 15 | Город | |
| 6 | State | A | 20 | Штат | |
| 7 | Zip | A | 10 | Почтовый индекс | |
| 8 | Country | A | 20 | Страна | |
| 9 | Phone | A | 15 | Номер телефона |
Окончание
| N п/п | Поле | Тип | Размер | Первичный ключ | Содержимое |
| 10 | FAX | A | 15 | Номер факса | |
| 11 | TaxRate | N | Ставка налога | ||
| 12 | Contact | A | 20 | Представитель компании | |
| 13 | LastInvoiceDate | @ | Дата последнего заказа |
Первичный ключ - поле или набор минимального числа полей, значение которого уникально и однозначно идентифицирует строку в таблице.
Таблица 3
Структура таблицы EMPLOYEE.DB (Служащие)
| N п/п | Поле | Тип | Размер | Первичный ключ | Содержимое |
| 1 | EmpNo | I | * | Номер служащего | |
| 2 | LastName | A | 20 | Фамилия | |
| 3 | FirstName | A | 15 | Имя | |
| 4 | PhoneExt | A | 4 | Добавочный номер телефона | |
| 5 | HireDate | @ | Дата приема на работу | ||
| 6 | Salary | N | Жалование |
Таблица 4
Структура таблицы ORDERS.DB (Заказы)
| N п/п | Поле | Тип | Размер | Первичный ключ | Содержимое |
| 1 | OrderNo | N | * | Номер заказа |
