Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практическая работа БД.doc
Скачиваний:
66
Добавлен:
20.05.2015
Размер:
3.07 Mб
Скачать

Лабораторная работа № Создание приложений для работы с базами данных На основе технологии bde

Цель лабораторной работы: приобрести практические навыки организации взаимодействия программного приложения Delphi с однотабличной базой данных.

Реляционные базы данных. Основные понятия и определения

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

Реляционная база данных - это набор таблиц, процедур и др. объектов, поддерживающих ее работу. Таблица имеет имя – идентификатор, по которому на нее можно сослаться.

Пример таблицы данных о сотрудниках Pers представлен в табл. 1.

Таблица 1.

Таблица данных о сотрудниках Pers

Номер

Отдел

Фамилия

Имя

Отчество

Год рождения

Пол

Характеристика

Фотография

Num

Dep

Fam

Nam

Par

Year_b

Sex

Charact

Photo

1

Бухгалтерия

Иванов

Иван

Иванович

1950

м

2

Цех 1

Петров

Петр

Петрович

1960

м

3

Цех 2

Сидоров

Сидор

Сидорович

1955

м

4

Цех 1

Иванова

Ирина

Ивановна

1961

ж

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

Тип поля характеризует тип хранящихся в поле данных. Это могут быть строки, числа, булевы значения, большие тексты (например, характеристики сотрудников), изображения (фотографии сотрудников) и т.п.

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

При построении таблиц баз данных важно обеспечить непротиворечивость информации. Обычно это делается введением ключевых полей–обеспечивающих уникальность каждой записи. Ключевым может быть одно или несколько полей. В приведенном примере можно было бы сделать ключевыми совокупность полей Fam, Nam, Par. Но в этом случае нельзя было бы заносить в таблицу сведения о полных однофамильцах, у которых совпадают фамилия, имя и отчество. Поэтому в таблицу введено первое поле Num–номер, которое можно сделать ключевым, обеспечивающим уникальность каждой записи.

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

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

Индексы могут быть первичными и вторичными.

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

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

Таблица 2

Таблица подразделений Deps с характеристикой каждого из них

Отдел

Тип

Dep

Proisv

Бухгалтерия

управление

Цех 1

производство

Цех 2

производство

Например, таблица Deps может быть главной, а вспомогательной- Pers. Связываться они могут по полю Dep, присутствующему в обеих таблицах.

Каждой записи в главной таблице Deps соответствуют те записи вспомогательной таблицы Pers, в которых ключевое поле Dep с названием отдела совпадает с названием отдела в текущей записи главной таблицы. Иначе говоря, если в текущей записи главной таблицы в поле Dep написано «Бухгалтерия», то во вспомогательной таблице Pers выделяются все записи сотрудников бухгалтерии.

Создают базы данных и обрабатывают запросы системы управления базами данных – СУБД: Paradox, Microsoft Access, FoxPro, Oracle, InterBase и т.д.

Разные СУБД по-разному организуют и хранят базы данных. Paradox использует для каждой таблицы один файл. В Microsoft Access и InterBase несколько таблиц хранятся как один файл. В этом случае база данных–это имя файла с путем доступа к нему. Системы типа клиент/сервер (Sybase, Microsoft SQL, Oracle) хранят все данные на отдельном компьютере и общаются с клиентом посредством специального языка – SQL.

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