Физическое проектирование

Для повышения производительности используются специальные объекты – индексы. Индекс упорядочен по значению ключевого поля, что позволяет системе быстро находить нужные значения. Фактически индексная структура является "оглавлением". Но индексирование замедляет обновление записей.

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

Для устранения ошибок ввода задаются условия на возможные значения поля: для поля Цена тура таблицы Договоры можно установить опцию Условие на значение: > 0.

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

Таблица 11.4

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

Описание

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

Код клиента

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

Наименование клиента

Для поиска по компании

Признак группы

Для поиска но группе

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

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

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

Фамилия

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

Таблица "Туры"

Код тура

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

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

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

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

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

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

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

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

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

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

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

Описание таблиц базы данных туристического агентства

Результат для нашего примера можно представить в виде полного описания свойств полей для всех таблиц (табл. 11.5–11.8). Для задания обязательности ввода данных в поле используется свойство Обязательное поле. Тин данных поля выделен в отдельный столбец, названия и значения остальных свойств перечислены в следующих двух столбцах.

Таблица 11.5

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

Название поля

Тип данных

Свойства поля

Свойство

Значение

Код клиента

Число

Размер поля

Новые значения

Индекс

Длинное целое

Последовательные

Да (совпадения не допускаются)

Название клиента

Текст

Размер поля

50

Обязательное поле

Да

Индекс

Да (допускаются

совпадения)

Контактное

лицо

Текст

Размер поля

30

Обязательное поле

Да

Индекс

Пет

Признак группы

Логический

Формат поля

Да/Нет

Телефон

Текст

Размер поля

20

Обязательное поле

Пет

Индекс

Нет

Адрес

Текст

Размер поля

255

Обязательное поле

Нет

Индекс

Нет

Таблица 11.6

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

Название поля

Тип

данных

Свойства поля

Свойство

Значение

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

Число

Размер поля

Длинное целое

Индекс

Да (совпадения не допускаются)

ФИО

Текст

Размер поля

30

Обязательное поле

Да

Индекс

Да (допускаются

совпадения)

Должность

Текст

Размер поля

30

Обязательное поле

Да

Индекс

Нет

Дата найма

Дата/ Время

Формат

Краткая дата

Обязательное поле

Да

Индекс

Нет

Дата рождения

Текст

Размер поля

20

Обязательное поле

Нет

Индекс

Нет

Телефон

Текст

Размер поля

20

Обязательное поле

Нет

Индекс

Нет

Адрес

Текст

Размер поля

255

Обязательное поле

Нет

Индекс

Нет

Оклад

Число

Размер поля

Длинное целое

Индекс

Да (совпадения не допускаются)

Таблица 11.7

Таблица "Туры"

Название поля

Тип данных

Свойства поля

Свойство

Значение

Кол тура

Число

Размер поля

Длинное целое

Обязательное поле

Да

Индекс

Да (совпадения не допускаются)

Страна

Текст

Размер поля

50

Обязательное поле

Да

Индекс

Нет

Регион

Текст

Размер поля

50

Обязательное поле

Да

Индекс

Нет

Таблица 11.8

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

Название поля

Тип данных

Свойства поля

Свойство

Значение

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

Число

Обязательное поле

Да

Индекс

Да (совпадения не допускаются)

Код клиента

Число

Размер поля

Длинное целое

Обязательное поле

Да

Индекс

Да (Допускаются совпадения)

Поле подстановки значений из таблицы "Клиенты"

Код тура

Текст

Размер поля

Длинное целое

Обязательное поле

Да

Индекс

Да (допускаются совпадения)

Поле подстановки значений из таблицы "Туры"

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

Дата/

Время

Формат

Краткая дата

Обязательное поле

Да

Индекс

Да (допускаются совпадения)

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

Дата/Время

Формат

Краткая дата

Обязательное поле

Да

Индекс

Да (допускаются совпадения)

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

Число

Размер поля

Целое

Десятичных знаков

0

Значение по умолчанию

1

Условие на значение

>0

Обязательное поле

Да

Индекс

Нет

Цена тура

Денежный

Размер ноля

Длинное целое

Обязательное поле

Нет

Индекс

Пет

Дата платежа

Дата/Время

Формат

Краткая дата

Обязательное поле

Да

Индекс

Нет

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

Число

Размер поля

Длинное целое

Индекс

Да (допускаются совпадения)

Поле подстановки значений из таблицы "Сотрудники"