Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Таблицы Delphi для управления базами данных

Покупка
Артикул: 799082.01.99
Доступ онлайн
300 ₽
В корзину
В учебно-методическом пособии предлагается руководство по визуальному программированию систем управления базами данных на языке Object Pascal в среде Delphi. Пособие содержит необходимые сведения по обработке таблиц баз данных и файлов при помощи визуальных компонентов. Описаны структуры графических интерфейсов, их настройка и технология кодирования обработки событий. Предлагаются задания для самостоятельной работы. Методическое пособие предназначено для студентов и преподавателей, использующих базы данных на персональных ЭВМ.
Неудачин, И. Г. Таблицы Delphi для управления базами данных : учебно-методическое пособие / И. Г. Неудачин. - Екатеринбург : Изд-во Уральского ун-та, 2016. - 96 с. - ISBN 978-5-7996-1790-5. - Текст : электронный. - URL: https://znanium.com/catalog/product/1936337 (дата обращения: 12.04.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов. Для полноценной работы с документом, пожалуйста, перейдите в ридер.
Министерство образования и науки Российской Федерации
Уральский федеральный университет
имени первого Президента России Б. Н. Ельцина

И. Г. Неудачин

ТАБЛИЦЫ DELPHI 
ДЛЯ УПРАВЛЕНИЯ БАЗАМИ ДАННЫХ

Учебно-методическое пособие

Рекомендовано методическим советом УрФУ
для студентов, обучающихся по направлениям подготовки
«Информатика и вычислительная техника», 
«Ядерные физика и технологии»

Екатеринбург
Издательство Уральского университета
2016

УДК 004.65(075.8)
ББК 32.972.34я73
          Н57

Рецензенты:
кафедра прикладной информатики УралГАХА (завкафедрой канд. техн. 
наук, доц. Г. Б. Захарова);
замдиректора по производству ООО «Наудок» канд. физ.-мат. наук, доц. 
О. А. Евсегнеев

Научный редактор — канд. физ.-мат. наук, проф. В. И. Рогович

На обложке использовано изображение с сайта https://www.contactcenter-
world.com/imagestemp/592015175448_shutterstock_157231454.jpg 

 
Неудачин, И. Г.
Н57    Таблицы Delphi для управления базами данных : учеб.-метод. посо-
бие / И. Г. Неудачин. — Екатеринбург : Изд-во Урал. ун-та, 2016. — 96 с.

ISBN 978-5-7996-1790-5

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

Библиогр.: 5 назв. Табл. 2. Рис. 37. Прил. 3.

УДК 004.65(075.8)
ББК 32.972.34я73

ISBN 978-5-7996-1790-5 
© Уральский федеральный
 
     университет, 2016

Глава 1.  
Архитектура баз данных в Delphi

1.1. Принципы строения баз данных

Р

еляционная база данных (БД) — это набор таблиц. Таблица яв-
ляется набором характеристик некоторого множества объек-
тов. Столбцы таблицы соответствуют характеристикам объек-
тов, полям. Строки, таким образом, содержат записи, соответствующие 
отдельным объектам. В программном проекте таблица представлена 
визуальным компонентом Table.
Каждое поле обладает именем (идентификатором) и типом храня-
щихся в нем данных. Имя поля нужно для ссылок на него.
Непротиворечивость информации в таблице обеспечивается вве-
дением ключевых полей. Ключевое поле обеспечивает своим значе-
нием уникальность каждой записи. Ключевым может быть одно или 
несколько полей. Например, ключевым может быть поле порядково-
го номера записи.
При работе с таблицей программа имеет дело с одной текущей за-
писью. На нее указывает курсор, положение которого может менять-
ся для обработки другой записи. Записи в таблице физически могут 
располагаться произвольно (в порядке их ввода). Но когда данные 
предъявляются пользователю, они должны быть упорядочены. Для 
упорядочивания данных по полям используется понятие индекса. Он 
показывает последовательность просмотра таблицы. Это посредник 
между пользователем и таблицей.
Курсор-указатель скользит по индексу. Индекс указывает (рис. 1.1) 
на запись таблицы. Для пользователей таблица выглядит упорядо- 
ченной.

Глава 1. Архитектура баз данных в Delphi 

указатель

2
3
0
1
4

индекс
таблица

0
1
2
3
4

C
D
A
B
E

Рис. 1.1. Индексирование поля таблицы

Пользователь может сменить индекс и последовательность просмо-
тра изменится. Сама таблица не перестраивается физически. Меняет-
ся только индекс, т. е. последовательность ссылок на записи.
Индексы могут быть первичными (по ключевому полю) и вторич-
ными (по другому полю). Вторичные индексы создаются по другим 
полям таблицы при ее создании или позднее, при реструктуризации. 
Если индекс состоит из нескольких полей, то он называется сложным. 
В этом случае происходит упорядочивание базы данных по перво-
му полю, затем внутри групп записей с одинаковым первым полем — 
по второму полю и т. д.
База данных обычно содержит не одну, а несколько таблиц, т. к. их 
совокупность дает больше информации. Создают базы данных и обслу-
живают информационные запросы к ним системы управления базами 
данных (СУБД): Paradox, dBase, MsAccess, FoxPro, Oracle, InterBase, 
Sybase и др.
Разные СУБД по-разному организуют и хранят БД. Например, 
Paradox и dBase используют для хранения каждой таблицы отдельный 
файл. Здесь БД — это каталог с файлами таблиц. В MsAccess и InterBase 
несколько таблиц хранятся в одном файле. В этом случае БД — это имя 
файла с путем доступа к нему. Системы типа клиент/сервер (Sybase, 
MsSQL) хранят все данные на отдельном компьютере — сервере. Они 
общаются с клиентом на специальном языке SQL.
Свойства БД разнообразны: типы СУБД, каталоги, файлы, серве-
ры. Здесь сложно учитывать изменения, т. к. программу надо переде-
лывать. Проблему решают псевдонимы БД. Псевдоним (alias) содер-
жит всю информацию для доступа к БД. Эта информация сообщается 
разработчиком только один раз при создании псевдонима.

1.2. Типы баз данных

1.2. Типы баз данных

Задачи разного масштаба целесообразно решать, используя соот-
ветствующие модели БД. Процесс определения подходящей модели 
БД для конкретного проекта приложения называется масштабирова-
нием. Есть четыре модели БД:
· автономные (локальные);
· файл-серверные;
· клиент/сервер;
· многоярусные (распределенные).
Изучим приемы работы, нужные для любых из перечисленных мо-
делей.
Отметим, что работа с данными в Delphi происходит через Borland 
Database Engine (BDE). Это процессор БД фирмы Borland. Соответ-
ствующая программа должна быть поставлена на ЭВМ пользователя 
во всех моделях, кроме многоярусных моделей.

1.3. Основные понятия баз данных

Таблица — набор строк (записей) в БД.
Строка — поле (атрибут), которое содержится в каждой строке та-
блицы.
Borland Database Engine (BDE) — набор модулей DLL и других файлов. 
С их помощью Delphi и другие продукты Borland обращаются к БД.
Драйвер — вспомогательная программа для общения с БД данного 
типа.
Драйвер BDE — модуль или набор модулей DLL для взаимодействия 
с конкретной СУБД.
Псевдоним BDE. Программы Delphi обращаются к драйверам BDE 
через псевдонимы (alias) BDE. Alias обозначает набор параметров для 
подключения BDE к БД. Создают псевдоним отдельным приложением 
BDE Administrator, Delphi Database Explorer или Database. Драйвер 
нужен для СУБД, alias — для обращения к конкретной БД этой СУБД.
Драйвер SQL Links обеспечивает доступ BDE к БД из СУБД архитектуры 
клиент/сервер.
Драйверы ODBC — доступ на основе спецификации Open Database 
Connectivity.

Глава 1. Архитектура баз данных в Delphi 

1.4. Доступ к данным

Компоненты доступа к данным часто относятся к невидимым и расположены 
на странице Data Access палитры визуальных компонентов 
среды визуального программирования Delphi: TВatabase, TTable, 
TDataSource.
TdataSet — класс Delphi для доступа к таблицам и табличным запросам. 
Компоненты TTable, TQuery, TSortedProc являются потомками 
TDataSet и относятся к его семейству (рис. 1.2).
TTable — компонент доступа к таблице базы данных. Свойство 
TableName содержит имя файла реальной таблицы с псевдонимом 
(путь к файлу) DatabaseMame.
TQuery создает, выполняет и обрабатывает запросы SQL.
TDataSource связывает компоненты семейства TDataSet и элемен-
ты управления для работы с базами данных.
Элементы управления данными. Визуальные компоненты страницы 
DataControls палитры компонентов. К ним относятся специализиро-
ванные стандартные элементы, умеющие работать с базами данных: 
TDBEdit, TDBMemo, TDBImage, TDBGrid, TDBNavigator.

 

 

 

 

 

 

 

 

 

 

TDataSet

TDatabase

TQuery
TTable
TSortedProc

TDBEdit
TDBNavigator
TDBGrid

TDataSource

Рис. 1.2. Классы доступа к базам данных

Tfield — класс Delphi доступа к полям таблицы базы данных. Ре-
дактор полей таблицы создает порожденные классы: TStringField, 
TIntegerField.

1.5. Связь с базой данных в Delphi

Компонент TDatabase не используется для доступа к базе данных, 
но имеет ряд дополнительных свойств и элементов управления, удоб-
ных для разработки приложений.

1.5. Связь с базой данных в Delphi

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

 
 
 

 

 

 

 

 

 

 

 

 

 

Приложение Delphi

BDE

Драйвер   

СУБД… 

Драйвер

Paradox

Драйвер  

ODBC

БД
БД
БД

Таблица
Таблица
Таблица
Таблица
Таблица

Рис. 1.3. Схема связи приложения с БД

Если в BDE нет драйвера нужной СУБД, то используется драй-
вер ODBC. Microsoft создала драйвер ODBC практически к любым 
СУБД. Если собственный драйвер соответствующей СУБД есть, 
то BDE связывается через него с БД и с нужной таблицей в ней, об-
рабатывает запрос и возвращает в приложение результаты обработки.
BDE поддерживает стандартный язык запросов SQL. Он позволя-
ет обмениваться данными с SQL-серверами (Sybase, MsSQL, Oracle, 
InterBase). SQL используется при работе на платформе клиент/сервер.

Глава 1. Архитектура баз данных в Delphi 

1.6. Класс TTable (таблица)

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

1.6.1. Основные компоненты

Изучив этот раздел, нужно понять большинство механизмов досту-
па к данным, которые есть в Delphi. Более подробно здесь рассказы-
вается о классах TTable и TDataSource.
Имеются несколько основных компонентов, которые вы будете ис-
пользовать постоянно для доступа к БД. Эти объекты могут быть разделены 
на три группы в зависимости от интерфейса связи с БД:
· невизуальные: TTable, TQuery, TDataSet, Tfield;
· визуальные: TDBGrid, TDBEdit;
· связующие: TdataSource.
Первая группа включает невизуальные классы, которые используются 
для управления таблицами и запросами. Эта группа сосредотачивается 
вокруг компонент типа TTable, TQuery, TDataSet и TField. В Палитре 
Компонентов эти объекты расположены на странице Data Access.
Вторая важная группа классов — визуальные, которые показывают 
данные пользователю и позволяют ему просматривать и модифицировать 
их. Эта группа классов включает компоненты типа TDBGrid, 
TDBEdit, TDBImage и TDBComboBox. В Палитре Компонентов эти 
объекты расположены на странице Data Controls.
Имеется и третий тип, который используется для того, чтобы связать 
предыдущие два типа объектов. К третьему типу относится только 
невизуальный компонент TDataSource.

1.6.2. Класс TDataSet

TDataSet класс — один из наиболее важных объектов БД. Для того 
чтобы начать работать с ним, нужно взглянуть на следующую иерархию.
TDataSet содержит абстрактные методы там, где должно быть непосредственное 
управление данными. TDBDataSet знает, как обращаться 
с паролями и что нужно сделать, чтобы присоединить вас к определен-

1.6. Класс TTable (таблица)

ной таблице. TTable знает (т. е. уже все абстрактные методы переписаны), 
как обращаться с таблицей, ее индексами и т. д.
TDataSet
       |
   TDBDataSet
       |
       |-- TTable
       |-- TQuery
       |-- TStoredProc
Как вы увидите далее, TQuery имеет определенные методы для обработки 
SQL запросов.
TDataSet — инструмент, который вы будете использовать для того, 
чтобы открыть таблицу и перемещаться по ней. Конечно, вы никогда 
не будете непосредственно создавать объект типа TDataSet. Вместо 
этого вы будете использовать TTable, TQuery или других потомков 
TDataSet (например, TQBE). Полное понимание работы системы 
и точное значение TDataSet будут становиться все более ясными 
по мере прочтения этого раздела.
На наиболее фундаментальном уровне Dataset — это просто набор 
записей с указателями начала BOF и конца EOF набора. Любой Dataset 
состоит из ряда записей (каждая запись содержит N полей) и есть указатель 
на текущую запись.
В большинстве случаев dataset будет иметь прямое, один к одному, 
соответствие с физической таблицей, которая существует на диске. 
Однако в других случаях вы можете исполнять запрос или другое 
действие, возвращающее dataset, который содержит либо любое подмножество 
записей одной таблицы, либо объединение (join) между 
несколькими таблицами. В тексте будут иногда использоваться термины 
DataSet и TTable как синонимы.
Обычно в программе используются объекты типа TTable или 
TQuery, поэтому в следующих нескольких главах будет предполагаться 
существование объекта типа Ttable, называемого Table1.

Итак, самое время начать исследование TDataSet. Как только вы 
познакомитесь с его возможностями, начнете понимать, какие методы 
использует Delphi для доступа к данным, хранящимся на диске 
в виде БД. Ключевой момент здесь — не забывать, что почти всякий 
раз, когда программист на Delphi открывает таблицу, он будет использовать 
TTable или TQuery, которые являются просто некоторой надстройкой 
над TDataSet.

Глава 1. Архитектура баз данных в Delphi 

1.6.3. Открытие и закрытие DataSet

Если вы используете TTable для доступа к таблице, то при открытии 
данной таблицы заполняются некоторые свойства TTable (количество 
записей RecordCount, описание структуры таблицы и т. д.).
Прежде всего во время дизайна необходимо поместить на форму 
объект TTable и указать, с какой таблицей БД хотите работать. Для этого 
нужно заполнить в Инспекторе Объектов свойства DatabaseName 
и TableName. В DatabaseName можно указать директорию, в которой 
лежат таблицы БД формата dBase или Paradox (например, 
C:\DELPHI\DEMOS\DATA), либо выбрать из списка псевдоним базы 
данных (например, DBDEMOS). Псевдоним базы данных (Alias) определяется 
в утилите Database Engine Configuration. Теперь если свойство 
Active установить в True, то при запуске приложения таблица будет 
открываться автоматически.
Есть два различных способа открыть таблицу во время выполнения 
программы. Можно написать следующую строку кода:
Table1.Open;
Или можете установить свойство Active равным True:
Table1.Active := True;
Нет никакого различия между результатом, производимым этими 
двумя операциями. Метод Open, однако, сам заканчивается установкой 
свойства Active в True, так что, может быть, даже чуть более эффективно 
использовать свойство Active напрямую.
Так же, как имеются два способа открыть таблицу, так есть два 
способа закрыть ее. Самый простой способ — просто вызывать Close:
Table1.Close;
Или, если вы желаете, можно написать:
Table1.Active := False;
Еще раз повторим, что нет никакой существенной разницы между 
двумя этими способами. Нужно только помнить, что Open и Close — 
это методы (процедуры), а Active — свойство.

Доступ онлайн
300 ₽
В корзину