Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Текстовый документ OpenDocument (2).doc
Скачиваний:
12
Добавлен:
18.04.2019
Размер:
121.86 Кб
Скачать

29 Вставка графических объектов.

Наиболее просто вывести иллюстрацию, которая находится в файле с расширением bmp, jpg или ico, можно при помощи компонента image, значок которого находится на вкладке Additional палитры. Picture Width, Height - Иллюстрацию, которая отображается в поле компонента. AutoSize - Размер компонента. Если размер компонента меньше размера иллюстрации, и значение свойств AutoSize и strech равно False, то отображается часть иллюстрации. Strech - Признак автоматического изменения размера компонента в соответствии с реальным размером иллюстрации. Visible - Признак автоматического масштабирования иллюстрации в соответствии с реальным размером компонента. Чтобы было выполнено масштабирование, значение свойства AutoSize должно быть False

Отображается ли компонент, и, соответственно, иллюстрация, на поверхности формы

30 Основные понятия баз данных: архитектура, модели, таблицы, ключи и индексы.

Архитектура

Приложение баз данных, как следует уже из его названия, предназначено для взаимодействия с некоторым источником данных — базой данных (БД). Взаимодействие подразумевает получение данных, их представление в определенном формате для просмотра пользователем, редактирование в соответствии с реализованными в программе бизнес- алгоритмами и возврат обработанных данных обратно в базу данных.

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

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

Тем не менее, несмотря на разнообразие реализаций, общая архитектура приложения баз данных остается неизменной.

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

Механизм получения и отправки данных обеспечивает соединение с источником данных (часто опосредованно). Он должен "знать", куда ему обращаться и какой протокол обмена использовать для обеспечения двунаправленного потока данных.

Механизм внутреннего представления данных является ядром приложения баз данных. Он обеспечивает хранение полученных данных в приложении и предоставляет их по запросу других частей приложения.

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

Бизнес-логика приложения представляет собой набор реализованных в программе алгоритмов обработки данных.

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

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

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

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

В этой главе рассматриваются общие подходы к разработке приложений баз данных в Delphi, базовые классы и механизмы, которые не изменятся, выберите ли вы для вашего приложения Borland Database Engine (BDE), Microsoft ActiveX Data Objects (ADO) или dbExpress.

Модель базы данных в Delphi

Каждая таблица физически хранится в отдельном файле. Однако отождествлять базу данных и таблицу нельзя, так как довольно часто поля одной записи распределены по нескольким таблицам и, следовательно, находятся в разных файлах.

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

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

базы данных.

Создание таблицы

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

Например, сведения об исторических памятниках Санкт-Петербурга могут быть организованы в виде записей, состоящих из полей "Памятник" и "Историческая справка" или из полей "Памятник", "Архитектор", "Год" и "Историческая справка".

В первом варианте поле "Памятник" будет содержать название памятника, например Эрмитаж, а поле "Историческая справка" - - всю остальную информацию. При этом пользователь сможет найти информацию об интересующем его памятнике только по

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

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

поместить в отдельное поле.

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

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

Примечание

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

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

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

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

Утилита Database Desktop позволяет выполнять все необходимые при работе с базами данных действия. Она обеспечивает создание, просмотр и модификацию таблиц баз данных различных форматов (Paradox, dBASE, Microsoft Access). Кроме того,

утилита позволяет выполнять выборку информации путем создания запросов.

Для того чтобы создать новую таблицу, нужно выбором из меню Tools команды Database Desktop запустить Database Desktop. Затем в появившемся окне утилиты Database Desktop надо из меню File выбрать команду New и в появившемся списке

выбрать тип создаваемого файла — Table. Затем в открывшемся диалоговом окне Create Table следует выбрать тип создаваемой таблицы (значением по умолчанию является тип Paradox 7).

В результате открывается диалоговое окно Create Paradox 7 Table, в котором можно определить структуру записей таблицы.

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

алфавита и цифр длиной не более 25 символов.

Индекс

Индекс - это поле или набор полей, которые часто используются для сортировки или поиска данных. Индексные поля еще называют вторичными ключами. В отличие от первичных ключей, поля для индексов могут содержать как уникальные, так и повторяющие значения. Например, поле "Фамилия" можно сделать индексным - ведь поиск и сортировка записей часто может производиться по этому полю. Индексы могут быть уникальными, то есть, не допускающими совпадений в записях, как первичные ключи, и не уникальными, допускающими такие совпадения. Индексы могут быть как в восходящем порядке (А, Б, …, Я), так и в нисходящем (Я, Ю, …, А). Таблица может иметь множество индексов. Можно все поля сделать индексными, причем даже на каждое поле по два индекса - в восходящем и нисходящем порядке. Однако при этом следует иметь в виду, что база данных в этом случае будет непомерно раздута, и работа с ней значительно замедлится. Другими словами, нужно соблюдать меру, и делать индексными только те поля, по которым действительно часто придется сортировать или фильтровать данные.

Ключ

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

Создание таблиц базы данных, изменение структуры.

База данных — это набор файлов (таблиц), в которых находится информация. Как правило, база данных состоит из нескольких таблиц, которые размещают в одном каталоге. Каталог для новой базы данных создается обычным образом, например, при помощи Проводника. Таблицу можно создать, воспользовавшись входящей в состав Delphi утилитой Borland Database Desktop или организовав SQL-запрос к серверу базы данных.

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

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

1. Создание каталога.

2. Создание псевдонима.

3. Создание таблиц.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]