Использование реляционных баз данных в сфере туризма

НЕГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ

ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ 

РОССИЙСКАЯ  МЕЖДУНАРОДНАЯ АКАДЕМИЯ ТУРИЗМА

Казанский филиал 
 
 
 

КУРСОВАЯ  РАБОТА

по дисциплине «Информатика» 
 

на тему:

«Использование  реляционных баз данных в сфере  туризма » 
 
 
 
 

Выполнил:  студент 2 курса

 группы  Г-102

очного  отделения 

Галимов Азат

Проверил: к. пед. н. Степанов А.П. 
 
 
 

Казань 2011

СОДЕРЖАНИЕ.

Введение…………………………………………………………………………...3

  1. Базы данных и системы управления базами данных (СУБД)…………..4
  2. Модели описания баз даны………………………………………………5
  3. Реляционная модель базы данных………………………………………8
  4. Создание базы данных. Этапы проектирования……………………….16
  5. Создание Базы данных…………………………………………………..17
  6. Запросы к базе данных……………………………………………………23
  7. Формы к полученным таблицам…………………………………………24
  8. Отчет к базе данных………………………………………………………26

Заключение……………………………………………………………………….27

Список  литературы……………………………………………………………....28

 

Введение. 

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

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

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

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

  1. Изучить основные возможности Microsoft Access
  2. Получить и обработать необходимую информацию по разрабатываемой базе данных

 

    1. Базы данных и  системы управления  базами данных (СУБД) 

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

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

     Базы  данных должны обеспечивать:

  • Лёгкую, быструю и дешевую разработку приложений, многократное использование данных;
  • Гибкость использования данных, возможность применения различных методов доступа к ним;
  • Высокую производительность, достоверность и секретность данных, их защиту от искажения и уничтожения.

     При создании базы данных используются различные  типы данных:

  • Числовые;
  • Символьные данные переменной длины;
  • Типы даты;
  • Гиперссылки;
  • Двоичные данные.

     Системы управления базами данных (СУБД) – это комплекс программных средств, предназначенных для создания, ведения и организации совместного доступа к базе данных множеству пользователей. Современные СУБД в основном являются приложениями операционной системы Windows, так как данная среда позволяет более полно использовать возможности персональной ЭВМ по сравнению с операционной системой DOS.

     Виды  и функции СУБД приведены в таблице 1. 

     Таблица 1 - Виды и функции СУБД

Виды  СУБД Функции СУБД
Lotus Approach

Ms-Access

Bortand dBase

Bortand Paradox

Microsoft Visual FoxPro

Microsoft Visual Basic

Microsoft SQL Server

Oracl

Управление  данными во внешней памяти

Управление  буферами оперативной памяти

Ведение журналов изменений в базе данных

Обеспечение целостности и безопасности базы данных

 

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

 

2. Модели описания баз данных

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

     Иерархическая модель. В ней связи между данными можно представить и описать в виде упорядоченного графа (дерева). При программировании для описания структуры иерархической базы данных используется тип данных «дерево». Достаточно небольшое количество СУБД построено на иерархической модели данных.

     Достоинства модели:

  • Эффективно используется память ЭВМ;
  • Высокая скорость выполнения операций над данными;
  • Удобство работы с иерархически упорядоченной информацией.

     Недостатки  модели:

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

     Сетевая модель. Описывает данные и отношения между ними в виде ориентированной сети. В основу модели положены сетевые структуры, в которых каждый элемент может быть информационно связан с любым другим элементом. Примером является сетевая структура, в которой между объектами присутствуют два вида взаимосвязей: «один ко многим» и «многие к одному». Её можно рассматривать как развитие и обобщение иерархической модели данных. В этой модели могут описываться многообразные взаимосвязи между данными в виде произвольного графа.

     Достоинства модели:

  • Эффективное использование памяти ЭВМ;
  • Высокая скорость выполнения операций над данными;
  • Возможно описание произвольных связей.

     Недостатки  модели:

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

     СУБД, построенные на основе этой модели, также не получили широкого распространения  в практике.

     Реляционная модель. Её разработал сотрудник фирмы IBM Э.Кодд. В основе модели лежит понятие отношения (таблицы). Большинство СУБД построены на основе этой модели данных.

     Достоинства модели:

  • Простота построения;
  • Гибкость структуры;
  • Независимость данных;
  • Данные представляются в простой, понятной и удобной форме;
  • Удобно реализовать такую базу данных на ЭВМ.

     Недостатки  модели:

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

 

3. Реляционная модель базы данных. 

     Понятие реляционной (англ. relation – отношение) связано с разработками известного американского специалиста в  области систем баз данных Е. Кодда.   

     Базовые понятия реляционной  модели данных

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

     Тип данных – эквивалентно понятию типа данных в алгоритмических языках. Существуют:

     Ø  целочисленные типы;

     Ø  вещественные типы;

     Ø  строковые типы;

     Ø  типы данных для денежных величин;

     Ø  типы данных для временных величин;

     Ø  типы двоичных объектов (не имеет аналогов в языках программирования, и обозначаются Blob)

     Атрибуты, схема отношения, схема базы данных

     Столбцы отношения называют атрибутами, им присваиваются имена, по которым  к ним затем производится обращение.

     Список  имен атрибутов отношения с указанием  имен доменов (или типов, если домены не поддерживаются) называется схемой отношения.

     Степень отношения — это число его  атрибутов. Отношение степени один называют унарным, степени два —  бинарным, степени три — тернарным,..., а степени п — n-арным.

     Схемой  базы данных называется множество именованных  схем отношений.

     Ключи отношения

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

     Для каждого отношения свойством  уникальности обладает, по крайней  мере, полный набор его атрибутов. Однако требуется обеспечить и условие  минимальности. Поэтому, как правило, в отношении всегда имеется один атрибут, обладающий свойством уникальности и являющийся первичным ключом.

     В зависимости от количества атрибутов, входящих в ключ, различают простые  и сложные (или составные) ключи.

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

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

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

     Естественный  ключ — ключ, в который включены значимые атрибуты и который, таким  образом, содержит информацию.

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

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

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

     UNIQUE — ограничение уникальности, значения  вторичных ключей при дан ном  ограничении не могут дублироваться;

     NOT NULL — при данном ограничении  ни один из атрибутов, входящих  в со став вторичного ключа,  не может принимать значение NULL.

     Перекрывающиеся ключи — сложные ключи, которые  имеют один или несколько общих  столбцов.

     Связанные отношения

     В реляционной модели данные представляются в виде совокупности взаимосвязанных  таблиц. Подобное взаимоотношение между  таблицами называется связью (rilationship). Таким образом, еще одним важным понятием реляционной модели является связь между отношениями.

     При рассмотрении связанных таблиц важное значение имеет понятие внешнего ключа. Рассмотрим его более подробно.

     Внешние ключи отношения

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

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

     Так же как и любые другие ключи, внешние  ключи могут быть простыми либо составными.

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

     Условия целостности данных

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

     Важнейшими  ограничениями целостности данных являются: категорийная целостность; ссылочная целостность.

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

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

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

  - первый подход заключается в том, что запрещается производить удаление кортежа, на который существуют ссылки (то есть сначала нужно либо удалитьссы лающиеся кортежи, либо соответствующим образом изменить значения их внешнего ключа);

     - при втором подходе при удалении кортежа, на который имеются ссылки, во всех ссылающихся кортежах значение внешнего ключа автоматически становится неопределенным;

     - третий подход (называемый также каскадным удалением) состоит в том, что при удалении кортежа из отношения, на которое ведет ссылка, из ссылающегося отношения автоматически удаляются все ссылающиеся кортежи.

     Типы  связей между таблицами

     При установлении связи между двумя  таблицами одна из них будет являться глав ной (master), а вторая — подчиненной (detail). Различие между ними несколько  упрощенно можно пояснить следующим  образом. В главной таблице всегда доступны все содержащиеся в ней  записи. В подчиненной же таблице  доступны только те записи, у которых  значение атрибутов внешнего ключа  совпадает со значением соответствующих  атрибутов текущей записи главной  таблицы. Причем изменение текущей  записи главной таблицы приведет к изменению множества доступных  записей подчиненной таблицы, а  изменение текущей записи в подчиненной  таблице не вы зовет никаких изменений  ни в одной из таблиц. На практике часто связывают более двух таблиц. Одна и та же таблица может быть главной по отношению к одной  таблице и подчиненной по отношению  к другой. Или у одной главной  таблицы может находиться в подчинении не одна, а несколько таблиц. Однако подчиненная таблица не может  управляться двумя таблицами. Таким  образом, у главной таблицы может  быть несколько подчиненных, но у  подчиненной таблицы может быть только одна главная.

     Различают четыре типа связей между таблицами  реляционной базы данных:

     один  к одному — каждой записи одной  таблицы соответствует только одна запись другой таблицы;

       

       один ко многим — одной записи  главной таблицы могут соответствовать  несколько записей подчиненной  таблицы;

     

       многие ко многим — одна  запись главной таблицы связана  с несколькими записями подчиненной  таблицы, а одна запись подчиненной  таблицы связана с не сколькими  записями главной таблицы.

       
 

     Различие  между типами связей «один ко многим»  и «многие к одному» зависит  от того, какая из таблиц выбирается в качестве главной, а какая в  качестве подчиненной.

     Один  ко многим (1:М) или один к одному  (1:1) связи. Схема данных прежде всего ориентирована на работу с таблицами, отвечающими требованиям нормализации, между которыми могут быть установлены связи один ко многим (1:М) или один к одному (1:1) , для которых может автоматически поддерживаться связная целостность. Поэтому схему данных целесообразно строить в соответствии с информационно-логической моделью.

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

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

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

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

4. Создание базы данных. Этапы проектирования.

 
Создание БД начинается с проектирования.  
Этапы проектирования БД:

    1. Исследование предметной области;
    2. Анализ данных (сущностей и их атрибутов);
    3. Определение отношений между сущностями и определение первичных и вторичных (внешних) ключей.

В процессе проектирования определяется структура  реляционной БД (состав таблиц, их структура  и логические связи). Структура таблицы  определяется составом столбцов, типом  данных и размерами столбцов, ключами  таблицы.

К базовым  понятиями модели БД «сущность – связь» относятся: сущности, связи между ними и их атрибуты (свойства).

Использование реляционных баз данных в сфере туризма