Главная страница

Лаб 3. Лабораторная работа 3 Дисциплина Базы данных Тема Автоматизированная информационная система туристического агенства


Скачать 0.82 Mb.
НазваниеЛабораторная работа 3 Дисциплина Базы данных Тема Автоматизированная информационная система туристического агенства
Дата31.10.2019
Размер0.82 Mb.
Формат файлаdocx
Имя файлаЛаб 3.docx
ТипЛабораторная работа
#92913
страница2 из 13
1   2   3   4   5   6   7   8   9   ...   13

2.2 Классификация связей


Рассмотрим связи, образующиеся между сущностями. Клиент может иметь несколько путевок, которые включают в себя несколько туров; тур может иметь несколько стран, отелей и экскурсионных маршрутов. То есть между сущностями встречается связь «один - ко - многим». В данной связи максимальная мощность связи «один» направлена к исходному объекту, а максимальная мощность связи «много» - к вновь созданному объекту.

3 РЕЛЯЦИОННАЯ МОДЕЛЬ БД

3.1 Функциональные зависимости между атрибутами


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

3.2 Выбор ключей


В качестве первичного ключа сущности «Клиенты» может быть выбрано сочетание атрибутов «Фамилия», «Имя», «Отчество» или атрибут «Номер паспорта». Но удобнее ввести искусственный атрибут (числовой код), который является более коротким и не подвержен изменениям как.

Для сущностей «Отели», «Страны», «Туры», «Экскурсионные маршруты» также удобнее использовать искусственные числовые коды «Код отеля», «Код страны», «Код тура» и «Код экскурсионного маршрута» соответственно.

Таким же образом в качестве первичного ключа сущности «Путевки» удобнее ввести искусственный числовой атрибут «№ путевки» вместо сочетания атрибутов «Код клиента» и «Код тура».

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

3.3 Нормализация отношений


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

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

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

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

4 ДАТАЛОГИЧЕСКОЕ ПРОЕКТИРОВАНИЕ БД

4.1 Состав таблиц БД


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

На основе ER-модели были сформированы шесть таблиц. Каждая таблица имеет свои атрибуты, среди которых есть и ключевые.

Имена и характеристики полей таблиц БД представлены в таблице 1. Ключевые поля отношений отмечены подчеркиванием.

Таблица 1. Имена и характеристики полей

Название сущности

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

Тип данных

Размер/формат

Обязатель-ность

1

2

3

4

5

Клиенты

код клиента

счетчик

длинное целое

да

фамилия

текстовый

20 символов

да

имя

текстовый

20 символов

да

отчество

текстовый

20 символов

да

паспорт

текстовый

15 символов

да

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

дата/время

краткий формат даты

да

адрес

текстовый

50 символов

нет

контактный телефон

текстовый

50 символов

нет

Отели

код отеля

числовой

длинное целое

да

название отеля

текстовый

20 символов

да

количество звезд

числовой

длинное целое

да

цена за 1 местный номер

денежный

денежный

нет

цена за 2

денежный

денежный

нет

цена за 2+1

денежный

денежный

нет

цена за 2+2

денежный

денежный

нет

цена за 3

денежный

денежный

нет

цена за vip

денежный

денежный

нет



Таблица 1. Имена и характеристики полей

Туры

код тура

счетчик

длинное целое

да

код страны

числовой

длинное целое

да

код отеля

числовой

длинное целое

да

код экскурсионного маршрута

числовой

длинное целое

да

наименование тура

текстовый

20 символов

да

Экскурсионные маршруты

код экскурсионного маршрута

счетчик

длинное целое

да

наименование маршрута

текстовый

30 символов

да

цена за 1 день

денежный

денежный

да

Страны

код страны

счетчик

длинное целое

да

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

текстовый

20 символов

да

столица

текстовый

20 символов

да

визовый тур

текстовый

5 символов

да

Путевки

номер путевки

счетчик

длинное целое

да

код клиента

числовой

длинное целое

да

код тура

числовой

длинное целое

да

дата вылета

дата/время

краткий формат даты

да

Путевки

время вылета

дата/время

краткий формат времени

да

время прибытия

дата/время

краткий формат времени

да

стоимость путевки

денежный

денежный

да


1   2   3   4   5   6   7   8   9   ...   13


написать администратору сайта