Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Работа_с_БД.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
786.43 Кб
Скачать

Работа с БД 12

Базы данных

Delphi предоставляет программисту компоненты, используя которые он может создать программу работы практически с любой базой данных: от Microsoft Access до Microsoft SQL Server и Oracle.

База данных и СУБД

База данных — это файл или совокупность файлов определенной структуры, в которых находится информация. Программная система, обеспечивающая работу с базой данных, называется системой управления базой данных (СУБД). СУБД обеспечивает создание базы данных, наполнение ее информацией, решение задач поиска, а также отображение информации. Типичным примером СУБД является Microsoft Access.

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

Локальные и удаленные базы данных

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

В локальной базе данных файлы данных, как правило, находятся на диске того компьютера, на котором работает программа манипулирования данными. Локальные базы данных не обеспечивают одновременный доступ к информации нескольким пользователям. Несомненным достоинством локальной базы данных является высокая скорость доступа к информации Microsoft Access — это типичная локальная база данных.

В удаленных базах данных файлы базы данных размещают на отдельно доступном по сети, компьютере (сервере). Программы, обеспечивающие работу с удаленными базами данных, строят по технологии "клиент-сервер: Программа-клиент, работающая на компьютере пользователя, обеспечивает прием команд от пользователя, передачу их серверу, получение и отображение данных. Серверная часть (сервер) работает на удаленном компьютере, принимает запросы (команды) от клиента, выполняет их и пересылает данные клиенту. Программа, работающая на удаленном компьютере, проектируется так, чтобы обеспечить одновременный доступ к базе данных многим пользователям. В большинстве случаев в качестве серверной части используется стандартный сервер баз данных, например, Borland InterBase, Microsoft SQL Server, MySQL или Oracle. Таким образом, разработка программы paботы с удаленной базой данных в большинстве случаев сводится к разработке программы-клиента.

Структура базы данных

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

На практике наиболее широко используются так называемые реляционные базы данных (от англ. relation — отношение, таблица). Реляционная база данных— это совокупность таблиц данных. Так, например, базу данных Projects (Проекты) можно представить как совокупность таблиц Projects (Проекты), Tasks (Задачи) и Resources (Ресурсы), а базу данных Contacs-(Контакты)— одной-единственной таблицей Contacts (Контакты). Доступ таблице осуществляется по имени.

Строки таблиц данных называются записями и содержат информацию об объектах базы данных. Например, строка таблицы Tasks (Задачи) базы данных Projects (Проекты) может содержать название задачи, дату, когда должна быть начата работа, и идентификатор ресурса, который назначен на выполнение задачи. Доступ к записям осуществляется по номеру.

Записи состоят из полей (поле - ячейка в строке таблицы). Поля содержат информацию о характеристиках объекта. Доступ к полю осуществляется по имени. Например, поля записей таблицы Tasks могут содержать: идентификатор задачи (поле TaskiD), название задачи (поле Title), идентификатор проекта, частью которого является задача (поле ProjiD), дату, когда работа по выполнению задачи должна быть начата (поле start), информацию о состоянии задачи (поле status) и идентификатор ресурса, который назначен на выполнение задачи (поле ResiD). При представлении данных в табличной форме имена полей указывают в первой строке таблицы.

Физически база данных представляет собой файл или совокупность файлов, в которых находятся таблицы. Например, в Microsoft Access все таблицы, образующие базу данных, хранятся в одном файле.

Механизмы доступа к данным

Существует достаточно много механизмов доступа к данным. В Delphi до недавнего времени основной технологией доступа к данным являлась технология BDE, в основе которой лежит процессор баз данных Borland Database Engine (BDE), представляющий собой набор библиотек, драйверов и утилит. BDE обеспечивает работу практически с любой из существующих баз данных. Однако значительным недостатком реализации программы работы с базой данных на основе технологии BDE является достаточно трудоемкий процесс ее развертывания: помимо самой программы работы с базой данных на компьютер пользователя необходимо установить BDE и выполнить его настройку. Другой широко распространенной технологией доступа к данным является разработанная Microsoft технология ADO (ActiveX Data Object). Несомненное ее достоинство — универсальность.

Компоненты доступа к данным

Компоненты, обеспечивающие работу с базами данных, находятся на вкладках dbGo, dbExpress, InterBase и BDE.

  • Компоненты вкладки dbGo для доступа к данным используют разработанную Microsoft технологию ADO.

  • Koмпоненты dbExpress обеспечивают так называемый однонаправленный (unidirectional) доступ удаленным базам данных на основе разработанной Borland (CodeGear) технологии dbExpress.

  • Вкладки InterBase и InterBaseAdmin содержат компоненты, обеспечивающие работу с базами данных InterBase.

  • Компоненты вкладки BDE для доступа к данным используют Borland Database Engine — процессор баз данных, реализованный в виде набора динамических библиотек и драйверов.

Следует обратить внимание на то, что компоненты доступа к данным напрямую с базами данных не взаимодействуют, доступ к базе данных (сервер; обеспечивают соответствующие драйверы. Таким образом, чтобы программа (компонент) могла получить доступ к базе данных, на компьютере должен быть соответствующий драйвер. На компьютер разработчика драйверы доступа к базам данных устанавливаются в процессе установки Delphi.

На вкладках DataControls и DataAccess находятся компоненты, обеспечивающие Отображение и редактирование данных (DBGrid, DBText, DBEdit, DBMemo и др.), хранение данных во время работы программы (clientDataSet), а также управление данными (DBNavigator).

Создание базы данных

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

База данных Microsoft Access

Процесс разработки программы работы с базой данных Microsoft Access рассмотрим на примере. Создадим программу, обеспечивающую работу с базой данных Записная книжка (notebook.mdb). Для доступа к базе данных будем использовать технологию ADO.

Перед тем как приступить к непосредственной работе над программой, необходимо с помощью Microsoft Access создать файл базы данных notebook.mdb и поместить в него таблицу contact.

Также в каталоге D:\Database\ следует создать каталог Images. В этом каталоге будем хранить иллюстрации.

Таблица Contacts базы данных Записная книжка (notebook.mdb)

Поле

Тип

Размер

Name

Текстовый

50

Phone

Текстовый

30

Comment

Текстовый

100

Здесь надо обратить внимание на следующее. Строго говоря, базы данных Microsoft Access как таковой не существует. Microsoft Access— это СУБД, программа, которая обеспечивает работу с базами данных формата Microsoft Jet (в процессе установки операционной системы на компьютер пользователя устанавливается ядро баз данных Microsoft Jet).