Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
информационные тех ю.2 4204.02.01;РУ.01;1.doc
Скачиваний:
15
Добавлен:
18.08.2019
Размер:
3.42 Mб
Скачать

3.4.2. Проектирование базы данных

Создание базы данных можно разбить на следующие этапы:

  • Проектирование структуры базы данных.

  • Конструирование структуры будущих таблиц базы данных.

  • Создание схемы базы данных.

  • Ввод данных в таблицы.

  • Сохранение базы данных.

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

В проектируемой базе данных должна храниться следующая информация (табл. 3.4).

Таблица 3.4

Информация БЗ «Турагенство»

Клиент

Страна

Код клиента

Число

Код тура

Число

Контактное лицо

Текст

Название страны

Текст

Адрес клиента

Текст

Договор

Телефон

Текст

Номер договора

Текст

Сотрудник

Дата начала тура

Дата

Код сотрудника

Число

Дата окончания тура

Дата

Фамилия, имя, отчество

Текст

Дата платежа

Дата

Должность

Текст

Код клиента

Число

Домашний телефон

Текст

Код тура

Число

Размер оклада

Яш I,

Число

Число туристов

Число

Цена тура

Текст

Код сотрудника

Число

В этом примере сущности Клиент, Страна и Сотрудник связаны с сущностью Договор связями «один-ко-многим»: один клиент может заключить несколько договоров, один сотрудник выполняет работу по нескольким договорам, заказ на туры в определенную страну встречается в нескольких договорах.

Исходные данные, приведенные в табл. 3.4, будут основой таблиц базы данных. Создадим четыре таблицы: Сотрудники, Клиенты, Страны, Договоры.

Зададим первичные ключи для таблиц Договоры, Клиенты, Страны и Сотрудники, высту­пающие в связях как «один-ко-многим». Таблица Договоры имеет в своем составе уникальное для каждой строки поле – это Номер договора. Таблицам Клиенты, Страны и Сотрудники в качестве первичных ключей назначается некоторый уникальный числовой идентификатор записи: Код клиента, Код тура, Код сотрудника.

На втором этапе необходимо определить индексируемые поля.

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

Для повышения производительности реляционные СУБД используют специальные объекты, называемые Индексами. Они содержат набор записей из двух элементов:

«Значение ключевого поля» – «Указатель на соответствующую запись в таблице».

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

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

Если предполагается осуществлять поиск по имени сотрудника туристической фирмы – выво­дить контактную информацию, то нужно создать индекс по полю Фамилия сотрудника. Для поиска договора по дате окончания необходимо провести индексирование таблицы Договор по полю Дата окончания.

В табл. 3.5 перечислены индексные поля для таблиц БД туристического агентства.

Таблица 3.5

Индексированные поля таблиц БД «Турагенство»

Индексированное поле

Описание

Таблица Клиент

Код клиента

Первичный ключ

Таблица Сотрудник

Код сотрудника

Первичный ключ

Фамилия

Для поиска по сотруднику

Таблица Страна

Код тура

Первичный ключ

Название страны

Для поиска по названию страны

Таблица Договор

Номер договора

Первичный ключ

Дата начала тура

Для поиска договоров по дате начала

Дата окончания тура

Для поиска договоров по дате окончания тура