ЛАБОРАТОРНАЯ РАБОТА № 3
ОСНОВЫ ПОСТРОЕНИЯ БАЗЫ ДАННЫХ
В СРЕДЕ BORLAND DELPHI
Цели работы:
1. Освоение методики построения систем управления базами данных;
2. Освоение программных средств синтеза таблиц данных различных форматов, реализации систем управления базами данных, включающих модули представления и редактирования табличной информации.
Порядок выполнения работы
1. Изучить методические указания.
2. Определить структуру таблицы в соответствии с вариантом задания.
3. Создать файл таблицы на диске с помощью утилиты Database Desktop.
4. Разработать Windows-приложение в среде Delphi для работы с созданной таблицей (размер таблицы не менее 15 записей).
7. Оформить отчёт.
Определение структуры таблицы
Например, в учебном управлении высшего учебного заведения необходимо хранить информацию о студентах заведения: № зачётной книжки, шифр группы, ФИО, год рождения, пол, предмет, среднюю оценку по предмету.
Таблица БД представляет собой обычную двумерную таблицу с характеристиками (атрибутами) какого-то множества объектов и имеющая имя - идентификатор, по которому на неё можно сослаться.
Таблица 1. Данные о студентах
№ зач. книжки | Группа | Фамилия | Имя | Отчество | Год рождения | Пол | Предмет | Оценка |
Zach | Group | Fam | Nam | Par | Year_b | Sex | Pred | Oz |
В2201 | Иванов | Егор | Петрович | М | Информатика | |||
Э3514 | Петров | Иван | Сидорович | М | Информатика | |||
Э3514 | Сидоров | Иван | Петрович | М | СПО | |||
А1501 | Егорова | Инна | Егоровна | Ж | ТОЭ | |||
… | … | … | … | … | … | … | … | … |
Например, для таблицы введём для последующих ссылок имена полей Zach, Group, Fam, Nam, Par, Year_b, Sex, Pred, Oz, соответствующие указанным в ней заголовкам полей.
Тип поля характеризует тип хранящихся в поле данных. Это могут быть строки, числа, булевы значения,большие тексты (например характеристики сотрудников),изображения (фотографии) и т.п.
Каждая строка таблицы соответствует одному из объектов. Она называется записью и содержит значения всех полей, характеризующих данный объект.
При построении таблиц БД важно обеспечить непротиворечивость информации. Это делается введением ключевых полей, обеспечивающих уникальность каждой записи. Ключевым может быть одно или несколько полей. В приведённом примере можно было бы сделать ключевыми совокупность полей Fam, Nam и Par. Но в этом случае нельзя было бы заносить в таблицу сведения о полных однофамильцах, у которых совпадают фамилия, имя и отчество. Поэтому целесообразнее использовать поле Zach – номер зачётной книжки, которое можно сделать ключевым, поскольку номер зачётной книжки не может быть одинаковым у двух студентов.
В каждый момент времени есть некоторая текущая запись, с которой ведётся работа. Записи в таблице БД физически могут располагаться без какого-либо порядка, просто в последовательности их ввода (появления новых студентов). Но когда данные таблицы предъявляются пользователю, они должны быть упорядочены. Для упорядочения данных в БД, так же, как и для упорядочения данных в массивах, используется понятие индекса. Индекс показывает, в какой последовательности будет просматриваться таблица. Часто индексы хранятся отдельно от файла с данными. Для быстрой сортировки обычно индексы выносят в отдельный индексный файл с тем же названием, но с другим расширением. В таком файле содержатся только первичные ключи и описание очередности записей. Основной же файл при этом остается неупорядоченным. Т. к. индексный файл намного меньше файла объектов, сортировка по индексу происходит гораздо быстрее, чем сортировка основного файла.
Индексы могут быть первичными и вторичными. Например, первичным индексом могут служить поля, отмеченные при создании таблицы как ключевые. А вторичные индексы могут создаваться для других полей как при создании таблицы, так и впоследствии. Вторичным индексам присваиваются идентификаторы, по которым их можно использовать.
Если индекс включает в себя несколько полей, то упорядочение БД сначала осуществляется по первому полю, а для записей, имеющих одинаковое значение первогополя, по второму полю. Например, таблицу о студентах можно проиндексировать по группам, а внутри каждой группыпо алфавиту.