Компоненты Delphi для работы с базами данных



Введение ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .3
Не визуальных компоненты для работы с базами данных ... ... ... ... ... ... 4
Визуальные компоненты для работы с базами данных ... ... ... ... ... ... ...5
Как связаны друг с другом компоненты для работы с базами данных ... ... .6
Процессор баз данных Borland Database Engine ... ... ... ... ... ... ... ... ... 6
Алиасы ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...7
Создание таблиц с помощью Database Desktop ... ... ... ... ... ... ... ... ... .8
Доступ к базе данных ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .10
Компоненты Database, Table, Query и DataSource ... ... ... ... ... ... ... ... .10
Просмотр базы данных ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 13
Листинг База данных "Данные о группе №307 ... ... ... ... ... ... ... ... ... ..19
Режим таблицы ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .21
Выборка информации из БД ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..27
Список литературы ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 32
Без баз данных сегодня невозможно представить работу большинства финансовых, промышленных, торговых и прочих организации. Потоки информации, циркулирующие в мире, который нас окружает, огромны. Во времени они имеют тенденцию к увеличению. Не будь баз данных, мы давно захлебнулись бы в информационной лавине. Базы данных позволяют информацию структурировать, хранить и извлекать оптимальным для пользователя образом.
Поскольку использование баз данных является одним из краеугольных камней, на которых построено существование различных организаций, пристальное внимание разработчиков приложений баз данных вызывают инструменты, при помощи которых такие приложения можно было бы создавать. Выдвигаемые к ним требования в общем виде можно сформулировать как: "быстрота, простота, эффективность, надежность".
В основе такой общепризнанной популярности Delphi лежит тот факт, что Delphi, как никакая другая система программирования, удовлетворяет изложенным выше требованиям. Действительно, приложения с помощью Delphi разрабатываются быстро, причем взаимодействие разработчика с интерактивной средой Delphi не вызывает внутреннего отторжения, а наоборот, оставляет ощущение комфорта. Delphi-приложения эффективны, если разработчик соблюдает определенные правила (и часто - если не соблюдает). Эти приложения надежны и при эксплуатации обладают предсказуемым поведением.
1.Андрей Сорокин «Дельфи разработка баз данных», «ПИТЕР» 2005г.
2.В.Фараонов «Программирование баз данных в среде Delphi 7», «ПИТЕР»2006г

Дисциплина: Информатика, Программирование, Базы данных
Тип работы:  Курсовая работа
Бесплатно:  Антиплагиат
Объем: 26 страниц
В избранное:   
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РК
КАЗАХСКИЙ ЭКОНОМИЧЕСКИЙ УНИВЕРСИТЕТ ИМ. Т.РЫСКУЛОВА
ФАКУЛЬТЕТ ИНЖЕНЕРНО-ЭКОНОМИЧЕСКИЙ

КАФЕДРА ПМиАИС

КУРСОВАЯ РАБОТА

ПО ДИСЦИПЛИНЕ: ПРОГРАМИРОВАНИЯ НА АЛГОРИТМИЧЕСКИХ ЯЗЫКАХ

ТЕМА: Компоненты Delphi для работы с базами данных

ВЫПОЛНИЛ: СТУДЕНТ 3-ГО КУРСА

ФАКУЛЬТЕТА ИЭ

ГРУППЫ №307

ПАНОВ АЛЕКСЕЙ
РУКОВОДИТЕЛЬ:

к.э.н., доцент, ЖАНДАУЛЕТОВ У.И

Содержание
Введение ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . ... 3
Не визуальных компоненты для работы с базами данных ... ... ... ... ... ... 4
Визуальные компоненты для работы с базами данных ... ... ... ... ... ... ...5
Как связаны друг с другом компоненты для работы с базами данных ... ... .6
Процессор баз данных Borland Database Engine ... ... ... ... ... ... ... ... ... 6

Алиасы ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . ..7

Создание таблиц с помощью Database Desktop ... ... ... ... ... ... ... ... ... .8
Доступ к базе данных ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .10
Компоненты Database, Table, Query и DataSource ... ... ... ... ... ... ... ... .10
Просмотр базы данных ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 13
Листинг База данных "Данные о группе №307 ... ... ... ... ... ... ... ... ... ..19
Режим таблицы ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .2 1
Выборка информации из БД ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..27
Список литературы ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 3 2

Введение
Без баз данных сегодня невозможно представить работу большинства
финансовых, промышленных, торговых и прочих организации. Потоки информации,
циркулирующие в мире, который нас окружает, огромны. Во времени они имеют
тенденцию к увеличению. Не будь баз данных, мы давно захлебнулись бы в
информационной лавине. Базы данных позволяют информацию структурировать,
хранить и извлекать оптимальным для пользователя образом.
Поскольку использование баз данных является одним из краеугольных камней,
на которых построено существование различных организаций, пристальное
внимание разработчиков приложений баз данных вызывают инструменты, при
помощи которых такие приложения можно было бы создавать. Выдвигаемые к ним
требования в общем виде можно сформулировать как: "быстрота, простота,
эффективность, надежность".
В основе такой общепризнанной популярности Delphi лежит тот факт, что
Delphi, как никакая другая система программирования, удовлетворяет
изложенным выше требованиям. Действительно, приложения с помощью Delphi
разрабатываются быстро, причем взаимодействие разработчика с интерактивной
средой Delphi не вызывает внутреннего отторжения, а наоборот, оставляет
ощущение комфорта. Delphi-приложения эффективны, если разработчик соблюдает
определенные правила (и часто - если не соблюдает). Эти приложения надежны
и при эксплуатации обладают предсказуемым поведением.

Не визуальных компоненты для работы с базами данных
TSession - Содержит информацию о текущем сеансе работы с БД; позволяет
определить список доступных и активных БД, открывать, отыскивать и
закрывать БД, управлять параметрами.
TDataBase- Активно используется при работе в архитектуре "клиент-сервер".
Позволяет осуществлять соединение с удаленной БД и управлять параметрами
соединения, получать информацию о БД, получать информацию об открытых НД и
о доступных таблицах БД.
TDataSource- Служит промежуточным звеном в цепочке "Набор данных -
TDataSource - Визуальные компоненты для работы с данными". Позволяет
устанавливать некоторые параметры НД, устанавливать состояние НД,
отслеживать изменения в НД.
TDataSet TBDEDataSet TDBDataSet- Явно в приложениях не используются, однако
ценны тем, что являются предками активно используемых в приложениях
компонентов типа "набор данных" (TTable, TQuery и TstoredProc). Определяют
ряд свойств и методов, наследуемых и частично переопределяемых компонентами
TTable, TQuery и TStoredProc. TDataSet определяет свойства и методы для
работы с БД, независимые от машины баз данных. Многие из них являются
абстрактными или виртуальными. TBDEDataSet, определяет ряд свойств и
методов, зависящих от используемой машины баз данных. TDBDataSet
дополнительно вводит ряд свойств.
TTable- Реализует набор данных, источником данных для которого является
одна таблица БД. Содержит множество методов, свойств и событий, посредством
которых можно выполнять над НД богатый спектр операций. Многие из них
расширяют множество свойств, методов и событий, определенных в предках
Ttable - компонентах TDataSet и TBDEDataSet.
TQuery- Реализует набор данных, источником данных для которого являются
одна или несколько таблиц БД. Структура записи НД, состав НД определяются
SQL-запросом (оператор SELECT). Кроме выдачи НД, используется для групповых
операций обновления, добавления или удаления в ТБД, а также может выполнять
любые действия, Предусмотренные реализацией языка SQL для тон СУБД, с
которой работает TQuery. Для типов данных так называемых "персональных"
СУБД позволяет реализовывать "локальный" вариант SQL. При помощи TQuery
можно реализовывать как статические, так и динамические (изменяющиеся в
процессе выполнения приложения) SQL-запросы.
TStoredProc- Используется в архитектуре "клиент-сервер" для доступа к
хранимым процедурам, расположенным на удаленной БД.
Визуальные компоненты для работы с базами данных
TDBText- Показывает "только для чтения" значение поля текущей записи НД.

TDBEdit- Обеспечивает просмотр и изменение значения поля текущей записи НД.
Поля - любого типа, кроме полей комментариев и BLOB.

TDBCheckBox- Обеспечивает возможность выбора значения для поля, которое
может содержать фиксированное число вариантов значений. Значения
показываются в виде радиокнопок.

TDBMemo- Позволяет просматривать и корректировать значение мемо-поля (поля
комментария) в режиме текстового редактора.

TDBRichEdit- Имеет то же назначение, что и TDBMemo, но позволяет работать с
текстом формата RTF, включающим разные шрифты, графику.

TDBImage- Позволяет просматривать графические поля, заносить в них
содержимое.

TDBComboBox- Применяется для тех же целей, что и TDBListBox, но список
"выпадающий".

TDBLookupListBox- Применяется, когда нужно выбрать значение поля из
предустановленного списка значений; значения показываются в виде строк в
списке фиксированного размера. Содержимое списка определяется свойством
Items.

TDBGrid- Показывает содержимое полей НД в "табличном" виде, когда записям
соответствуют строки, полям – столбцы.

TQuickRep- Компонент TQuickRep и связанная с ним группа компонентов
позволяет разрабатывать формы отчетов

TDBNavigator- Позволяет осуществлять навигацию по записям НД, переводить НД
в состояния вставки, изменения, добавления записи, запоминать изменения.

Как связаны друг с другом компоненты для работы с базами данных
Визуальные и не визуальные компоненты связываются друг с другом при помощи
свойств. Значения этих свойств обычно устанавливаются на этапе разработки
приложения, но могут устанавливаться и во время выполнения приложения.
Первым уровнем являются псевдонимы BDE, устанавливаемые при помощи ВDE
Administrator. На псевдоним ссылается компонент типа "набор данных"
(показанные на рисунке компоненты TTable и Tquery, не показанный компонент
TStoredProc, применяемый преимущественно в архитектуре "клиент-сервер").
Имя псевдонима БД записывается как значение свойства DataBaseName этих
компонентов.
При работе в архитектуре "клиент-сервер" псевдоним БД часто записывается в
свойство AliasName компонента TDatabase, отвечающего за связь с удаленной
БД. База данных получает новый псевдоним (свойство DataBaseName компонента
TDatabase). В этом случае компоненты типа "набор данных" в свойстве
DataBaseName хранят значение из свойства DataBaseName компонента TDatabase.
Компонент TTable работает с записями одной физической таблицы БД. Поэтому
свойство TableName этого компонента хранит имя этой таблицы БД.
Компонент TQuery в общем случае возвращает набор данных, записи которого
получены в результате выполнения запроса к одной или нескольким таблицам
БД. Имена таблиц и условия выборки из них записей устанавливаются в запросе
(SQL-оператор SELECT), который хранится в свойстве SQL компонента TQuery.
Процессор баз данных Borland Database Engine

Мощность и гибкость Delphi при работе с базами данных основана на
низкоуровневом ядре - процессоре баз данных Borland Database Engine (BDE).
Его интерфейс с прикладными программами называется Integrated Database
Application Programming Interface (IDAPI). В принципе, сейчас не различают
эти два названия (BDE и IDAPI) и считают их синонимами. BDE позволяет
осуществлять доступ к данным как с использованием традиционного record-
ориентированного (навигационного) подхода, так и с использованием set-
ориентированного подхода, используемого в SQL-серверах баз данных. Кроме
BDE, Delphi позволяет осуществлять доступ к базам данных, используя
технологию (и, соответственно, драйверы) Open DataBase Connectivity (ODBC)
фирмы Microsoft. Но, как показывает практика, производительность систем с
использованием BDE гораздо выше, чем оных при использовании ODBC. ODBC
драйвера работают через специальный “ODBC socket”, который позволяет
встраивать их в BDE.
Все инструментальные средства баз данных Borland - Paradox, dBase,
Database Desktop - используют BDE. Все особенности, имеющиеся в Paradox или
dBase, “наследуются” BDE, и поэтому этими же особенностями обладает и
Delphi.
Алиасы

Таблицы сохраняются в базе данных. Некоторые СУБД сохраняют базу
данных в виде нескольких отдельных файлов, представляющих собой таблицы (в
основном, все локальные СУБД), в то время как другие состоят из одного
файла, который содержит в себе все таблицы и индексы (InterBase). Например,
таблицы dBase и Paradox всегда сохраняются в отдельных файлах на диске.
Каталог, содержащий dBase .DBF файлы или Paradox .DB файлы, рассматривается
как база данных. Другими словами, любой каталог, содержащий файлы в формате
Paradox или dBase, рассматривается Delphi как единая база данных. Для
переключения на другую базу данных нужно просто переключиться на другой
каталог. Как уже было указано выше, InterBase сохраняет все таблицы в одном
файле, имеющем расширение .GDB, поэтому этот файл и есть база данных
InterBase.

Рис. 1: Главное окно утилиты конфигурации BDE

Удобно не просто указывать путь доступа к таблицам базы данных, а
использовать для этого некий заменитель - псевдоним, называемый алиасом. Он
сохраняется в отдельном конфигурационном файле в произвольном месте на
диске и позволяет исключить из программы прямое указание пути доступа к
базе данных. Такой подход дает возможность располагать данные в любом
месте, не перекомпилируя при этом программу. Кроме пути доступа, в алиасе
указываются тип базы данных, языковый драйвер и много другой управляющей
информации. Поэтому использование алиасов позволяет легко переходить от
локальных баз данных к SQL-серверным базам (естественно, при выполнении
требований разделения приложения на клиентскую и серверную части).
Для создания алиаса запустите утилиту конфигурации BDE (программу
bdeadmin.exe), находящуюся в каталоге, в котором располагаются динамические
библиотеки BDE.
Главное окно утилиты настройки BDE имеет вид, изображенный на рис.1.
Для создания алиаса выберите в меню “Object” пункт “New”. В
появившемся диалоговом окне выберите имя драйвера базы данных. Тип алиаса
может быть стандартным (STANDARD) для работы с локальными базами в формате
dBase или Paradox или соответствовать наименованию SQL-сервера (InterBase,
Sybase, Informix, Oracle и т.д.).

Рис. 2: В диалоговом окне добавления нового алиаса можно указать тип базы
данных

После создания нового алиаса следует дать ему имя. Это можно сделать с
помощью подпункта “Rename” меню “Object”. Однако просто создать алиас не
достаточно. Вам нужно указать дополнительную информацию, содержание которой
зависит от типа выбранной базы данных. Например, для баз данных Paradox и
dBase (STANDARD) требуется указать лишь путь доступа к данным, имя драйвера
и флаг ENABLE BCD, который определяет, транслирует ли BDE числа в двоично-
десятичном формате (значения двоично-десятичного кода устраняют ошибки
округления):

TYPE STANDARD
DEFAULT DRIVER PARADOX
ENABLE BCD FALSE
PATH c:\users\data

SQL-сервер InterBase и другие типы баз данных требуют задания большого
количества параметров, многие из которых можно оставить установленными по
умолчанию.

Создание таблиц с помощью Database Desktop
Database Desktop - это утилита, во многом похожая на Paradox, которая
поставляется вместе с Delphi для интерактивной работы с таблицами различных
форматов локальных баз данных - Paradox и dBase, а также SQL-серверных баз
данных InterBase, Oracle, Informix, Sybase (с использованием SQL Links).
Исполняемый файл утилиты называется DBD32.EXE. Для запуска Database Desktop
просто дважды щелкните по ее иконке.

Рис. 1: Выпадающий список в диалоговом окне Table Type позволяет выбрать
тип создаваемой таблицы

После старта Database Desktop выберите команду меню FileNewTable для
создания новой таблицы. Перед Вами появится диалоговое окно выбора типа
таблицы, как показано на рис.1. Вы можете выбрать любой формат из
предложенного, включая различные версии одного и того же формата.

Рис. 2: Database Desktop позволяет задать имена и типы полей в таблице

После выбора типа таблицы Database Desktop представит Вам диалоговое
окно, специфичное для каждого формата, в котором Вы сможете определить поля
таблицы и их тип, как показано на рис.2.

Доступ к базе данных

Компоненты Database, Table, Query и DataSource
Доступ к базе данных обеспечивают компоненты Database, Table, Query и
DataSource, значки которых находятся на вкладках Data Access и BDE палитры
компонентов (рис. 1).

Рис. 1 Компоненты вкладок Data Access и BDE обеспечивают доступ к данным
Компонент Database представляет базу данных как единое целое, т. е.
совокупность таблиц, а компонент Table — одну из таблиц базы данных.
Компонент DataSource (источник данных) обеспечивает связь компонента
отображения-редактирования данных (например, компонента DBGrid) и источника
данных, в качестве которого может выступать таблица (компонент Tаblе) или
результат выполнения SQL-запроса к таблице (компонент SQL). Компонент
DataSource позволяет оперативно выбирать источник данных, использовать один
и тот же компонент, например, DBGrid для отображения данных из таблицы или
результата выполнения SQL-запроса к этой таблице. Механизм взаимодействия
компонентов отображения-редактирования данных с данными через компонент
DataSource иллюстрирует рис. 2

Рис. 2 Взаимодействие компонентов отображения и доступа к данным

В простейшем случае, когда база данных представляет собой одну-единственную
таблицу, приложение работы с базой данных должно содержать один компонент
Table и один компонент DataSource.
В табл. 1 перечислены свойства компонента Table, а в табл. 2 — свойства
компонента DataSource. Свойства перечислены в том порядке, в котором
следует устанавливать их значения после добавления компонентов в форму
приложения.
Таблица 1 Свойства компонента Table

Свойство Определяет
Name Database Имя компонента. Используется для доступа к
свойствам компонента
NameTable Имя базы данных, частью которой является
таблица (файл данных), для доступа к которой
используется компонент. В качестве значения
Name Table свойства следует использовать псевдоним базы
данных
Type Имя файла данных (таблицы данных), для доступа
к которому используется компонент
Тип таблицы. Таблица может быть набором данных
в формате Paradox (Paradox), dBase (ttDBase),
Active FoxPro (FoxPro) или представлять собой
форматированный текстовый файл (ttASCII).

Признак активизации файла данных (таблицы). В
результате присваивания свойству значения True
происходит открытие файла таблицы


Во время разработки формы приложения значения свойств DatabaseName и
TabieName задаются путем выбора из списков. В списке DatabaseName
перечислены все зарегистрированные псевдонимы, а в списке TabieName -имена
файлов таблиц, которые находятся в соответствующем псевдониму каталоге.
Таблица 2 Свойства компонента DataSource

Свойство Определяет
Name Имя компонента. Используется для доступа к
свойствам компонента
DataSet Имя компонента, представляющего собой входные
данные


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

В табл. 3 и 4 приведены значения свойств компонентов Table и DataSource для
разрабатываемого приложения.
Таблица 3 Значения свойств компонента Table

Свойство Значение
Name Table1
DatabaseNameALEXXX
TableName Primeri.db
Active True

Таблица 4 Значения свойств компонента DataSource

Свойство Значение
Name DataSourcel
DataSet Table1


Просмотр базы данных
Пользователь может просматривать базу данных в режиме формы или в режиме
таблицы. В режиме формы можно видеть только одну запись, а в режиме таблицы
-- несколько записей одновременно. Довольно часто эти два режима
комбинируют. Краткая информация (содержимое некоторых ключевых полей)
выводится в табличной форме, а при необходимости видеть содержимое всех
полей записи выполняется переключение в режим формы.
Компоненты, обеспечивающие просмотр и редактирование содержимого полей базы
данных, находятся на вкладке Data Controls (рис. 1).

Рис. 1. Компоненты просмотра и редактирования полей базы данных
Режим формы
Для того чтобы обеспечить просмотр базы данных в режиме формы, в форму
приложения нужно добавить компоненты, обеспечивающие просмотр и, если
нужно, редактирование содержимого полей записи, причем по одному компоненту
для каждого поля.
Компонент DBText позволяет только просматривать содержимое поля, а
компоненты DBEdit и DBMеmо — просматривать и редактировать. В табл. 1
перечислены некоторые свойства этих компонентов. Свойства перечислены в том
порядке, в котором следует устанавливать их значения после добавления в
форму приложения.
Таблица 1. Свойства компонентов DBText, DBEdit и DBMето

Свойство Определяет
Name Имя компонента. Используется для доступа к
DataSource свойствам компонента
Компонент-источник данных
DataField

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


В качестве примера использования компонентов DBEdit и совместно рассмотрим
программу, которая обеспечивает работу с базой данных "Данные о студентах
группы 307".Вид формы приложения приведен на рис. 2

Создается форма следующим образом. Сначала в пустую форму надо добавить
компоненты Tаblе и Datasource и установить значения их свойств (табл. 2).
Значения свойств следует устанавливать в том порядке, в котором они следуют
в таблице.
Таблица 2 Значения свойств компонентов Tablel И DataSourcel

Свойство Значение Комментарий
Tablel. DatabaseName ... продолжение

Вы можете абсолютно на бесплатной основе полностью просмотреть эту работу через наше приложение.
Похожие работы
Создание базы данных по делам студентов для деканата физического факультета
Компоненты для работы с базами данных: TTable и TQuery
Создание автоматизированной информационной системы для организации выдачи кредита банка
Использование объектно-ориентированного программирования при создании приложений для работы с базами данных
Электронная экзаменационная ведомость
Касса автовокзала
Отдел кадров
Теоретические основы информационного обеспечения управления АО Казтелерадио
Автоматизация учета библиотеки колледжа
Технология программирования
Дисциплины