Разработка базы данных «Турфирма»

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Введение

 

Тема курсовой работы «Разработка  базы данных «Турфирма». Целью курсовой работы является разработка базы данных «Турфирма».

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

- Создание таблицы Microsoft Access

- Создание запросов к базе данных «Турфирма»

-позволяет в любое время просматривать  информацию о турфитме, (добавлять, редактировать, удалять: при работе с ней);

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

- обеспечивает организацию защиты  посредством логина и пароля;

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

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

В системе должен быть предусмотрен режим администрирования, то есть режим  просмотра и изменения базы данных .

Разработка структуры базы данных начинается с выбора типа базы данных.

Мы будем использовать наиболее распространенные базы данных, которыми являются реляционные базы данных. Реляционная модель будет реализована  на основе инфологической модели «сущность  – связь»

База данных будет создаваться  в СУБД MS Access.

 

1 Теоретические основы БД

 

 

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

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

Данные — это сведения о фактах и событиях по конкретной предметной области, уменьшающие неопределенность о ней.

Система управления базами данных (СУБД) — это совокупность программных и языковых средств, предназначенных для ведения баз данных.

Ведение базы данных — это создание базы данных и поддержание ее в актуальном состоянии. Ведение базы данных представляет собой определенную последовательность действий:

разработку  и создание структуры БД;

ввод  данных;

корректировку, добавление и удаление данных;

поиск данных по запросу пользователя;

формирование  и вывод отчетов и т. п.

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

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  1. СУБД Access

 

Microsoft Access является СУБД реляционного типа, в которой разумно сбалансированы все средства и возможности, типичных для современных СУБД. Реляционная база упрощает поиск, анализ, поддержку и защиту данных, поскольку они сохраняются в одном месте. Access в переводе с английского означает «доступ». MS Access — это функционально полная реляционная СУБД. Кроме того, MS Access одна из самых мощных, гибких и простых в использовании СУБД. В ней можно создавать большинство приложений, не написав ни единой строки программы, но если нужно создать нечто очень сложное, то на этот случай MS Access предоставляет мощный язык программирования — Visual Basic Application.

Популярность СУБД Microsoft Access обусловлена следующими причинами:

  • доступность в изучении и понятность позволяют Access являться одной из лучших систем быстрого создания приложений управления базами данных;
  • возможность использования OLE технологии;
  • интегрированность с пакетом Microsoft Office;
  • полная поддержка Web-технологий;
  • визуальная технология позволяет постоянно видеть результаты своих действий и корректировать их;
  • наличие большого набора «мастеров» по разработке объектов

Основными видами объектов, с которыми работает программа, являются:

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

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

  • Запрос - это объект, который позволяет пользователю получить нужные данные из одной или нескольких таблиц. С помощью запросов можно также создавать новые таблицы, используя данные одной или нескольких таблиц, которые уже существуют. Наиболее распространенный тип запросов — запрос на выборку. Запрос на выборку отбирает данные из одной или более таблиц по заданным условиям, а затем отображает их в нужном порядке.
  • Форма - это объект, предназначенный в основном для ввода данных, отображения их на экране или управления работой приложения.
  • Отчет - объект, предназначенный для создания документа, который впоследствии может быть распечатан или включен в документ другого приложения.
  • Страница - используется для доступа к данным текущей базы данных Access.
  • Макрос - объект, представляющий собой структурированное описание одного или нескольких действий, которые должен выполнить Access в ответ на определенное событие.
  • Модуль - объект, содержащий программы на Microsoft Visual Basic, которые позволяют разбить процесс на более мелкие действия
  1. Реализация базы данных «Турфирма» средствами СУБД Access

 

 

База  данных в Microsoft Access представляет собой файл с расширением .mdb. Создание новой базы данных осуществляется в следующей последовательности (рис. 1.1). В главном меню Access в пункте Файл необходимо выбрать пункт Создать, затем в диалоговом окне Создание на вкладке Общие выбрать пункт База данных, потом указать диск и папку, в которой будет храниться новый файл БД, затем следует ввести имя файла базы данных и нажать кнопку Создать. На экране появится диалоговое окно.

 

Microsoft Access позволяет создавать таблицы тремя способами:

в режиме конструктора;

с помощью  мастера;

путем ввода  данных.

 

 

 

Рис. 1.1. Создание таблицы Microsoft Access

 

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

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

В третьем способе автоматически создается таблица с десятью полями со стандартными именами Поле 1, Поле 2,..., Поле 10. После ввода данных Microsoft Access автоматически назначает каждому полю тип и размер:

 

для символьных данных — тип текстовый размером 50 символов;

для числовых целых данных — тип числовой, подтип длинное целое;

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

для данных даты и времени — тип дата/время.

 

В Access предусмотрены следующие типы полей: текстовый, числовой, MEMO, дата/время, денежный, счетчик, логический, поле объекта OLE, гиперссылка, мастер подстановок.

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

Размер  поля типа «текстовый» определяется максимальным числом символов в значениях  данного поля и в Microsoft Access должен находиться в пределах от 0 до 255. Если число вводимых символов больше, то происходит усечение до 255 символов.

Тип данных «MEMO» предназначен для хранения больших текстовых данных суммарной длиной до 64 тыс. символов.

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

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

Тип данных «логический» может содержать одно из двух возможных значений истина (1) или ложь (0) и обычно используется в логических выражениях. В базе данных «Турфирма» этот тип используется для указания о визовой поддержке для конкретной страны: нужна виза или нет.

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

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

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

Тип данных «гиперссылка» предназначен для  представления вида данных «Адреса  Web- и других HTML-документов». Поле этого типа содержит адреса Web-страниц, которые могут быть Web-страницами Интернета или локально храниться на персональном компьютере или сети.

При использовании  типа данных «мастер подстановок» создается  столбец подстановок, в котором  отображается список возможных значений для данного поля (рис. 1.2).

Выбор типа данных поля осуществляется щелчком  мыши в столбце тип данных:

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

Кроме типа данных можно указать форматы  вывода значений полей на экран и печать (рис. 1.4). Причем эти форматы влияют только на отображение значения, но не меняют формат хранения значений.

В окне Свойства поля можно установить также следующие свойства.

 

 

Рис. 1.2. Типы полей

 

 

 

 

Рис. 1.3. Выбор подтипа числового поля

 

 

Рис. 1.4. Выбор формата числового поля

 

Точность задает суммарное допустимое число десятичных цифр в целой и дробной части числа. Используется только для числового типа данных (подтип действительный).

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

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

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

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

 

 

 

Рис. 1.5. Построитель выражений

 

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

 Создание индекса следует выполнить следующую последовательность действий:

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

в поле Имя поля выбрать первое поле, для которого необходимо создать индекс;

в следующей  строке столбца Имя поля указать второе индексируемое поле.

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

Структуры таблиц базы данных «Турфирма» приведены на рис. 1.6.

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

Создать схему данных можно двумя способами:

1) при  помощи меню Microsoft Access: выбрать в меню Сервис пункт Схема данных, а затем в появившемся диалоговом окне Схема данных выбрать пункт Отобразить таблицу в меню Вид или пункт Добавить таблицу в меню Связи;

2) при  помощи кнопок панели управления: щелкнуть мышью по кнопке Схема данных , а затем в окне Схема данных по кнопке Отобразить таблицу.

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

В Microsoft Access можно установить типы связей: «один-к-одному»; «один-ко-многим»; «не определено» («многие-ко-многим»).

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

 

Рис. 1.6. Структура таблиц базы данных «Турфирма»: а — Тур; б — Менеджер; в — Страна

 

 

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

 

 

 

Рис. 1.7. Изменение связей

 

 

В таблице удаляются и все связанные записи в подчиненной (рис. 1.8).

 

Рис. 1.8. Простая форма: а — столбец; б — ленточная; в — табличная

 

Простая форма в Microsoft Access обычно представлена в одном из видов: столбец, ленточная, табличная (рис. 1.8).

Для автоматического  конструирования первых трех видов  форм Microsoft Access предоставляет средство «Автоформат».

Составные формы могут быть представлены в  одном из трех видов: подчиненная, связанная, одиночная. Подчиненная форма имеет  иерархический вид, отображающий структуру  первичного документа. Форма состоит из главной формы и одной или нескольких подчиненных форм. Вверху формы содержатся наименования и значения полей, входящих в главную форму, соответствующие общей части документа, а внизу формы отображаются наименования и значения полей, входящих в подчиненные формы (рис. 1.9).

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

 

 

 

Рис. 1.9. Подчиненная форма «Страна-Тур»

 

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

 

Рис. 1.10. Связанная форма «Страна-Тур»: а — главная таблица; б — подчиненная таблица

 

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

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4 Схема данных

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5 Запросы

 

 

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

В СУБД Access существуют: запросы на выборку; запросы с параметрами; перекрестные запросы; запросы на изменение (обновление, добавление и удаление записей, создание таблиц по результатам запроса); запросы SQL (запросы на объединение, к серверу, управляющие и подчиненные запросы).

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

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

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

Пример. В базе данных «Турфирма» во всех записях  таблицы ТУР необходимо изменить код менеджера М-1 на М-4. Это удобно реализовать с помощью запроса  на обновление.

Запрос  SQL — это запрос, создаваемый при помощи языка SQL (Structured Query Language).

 

 

 

Рис. 1.11. Новый запрос

 

 

При создании запроса в режиме конструктора Microsoft Access автоматически создает эквивалентную инструкцию при помощи языка SQL, которую можно изменять в режиме SQL.

Некоторые запросы не могут быть созданы  в режиме конструктора, например запросы  к серверу, управляющие запросы. В этом случае используется написание  запросов сразу на языке SQL.

В СУБД Access существуют два способа создания запросов: с помощью мастера; в режиме конструктора.

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

Рассмотрим  создание некоторых типов запросов к базе данных «Турфирма».

Создание простого запроса на выборку  с помощью мастера. Пусть требуется составить список всех менеджеров турфирмы по таблице МЕНЕДЖЕР с указанием их телефонов.

В окне базы данных необходимо выбрать значок Запросы и нажать кнопку Создать.

В появившемся  диалоговом окне Новый запрос выбрать Простой запрос (рис. 1.11).

Затем укажите  имя таблицы МЕНЕДЖЕР, по которой  осуществляется поиск, и выберите требуемые  поля ФИО менеджера и Телефон (рис. 1.12).

 

Рис. 1.12. Создание простых запросов

 

 

Укажите любое имя запроса, после этого  на экране появится результат его  выполнения в форме таблицы (рис.1.13).

Создание запроса на выборку  с помощью конструктора. Каждый запрос может быть просмотрен и модифицирован в режиме конструктора (рис. 1.14).

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

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

Строка Сортировка позволяет упорядочивать записи в результирующей таблице.

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

В режиме конструктора можно осуществлять любую  модификацию запроса.

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

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

 

 

 

Рис. 1.13 Список менеджеров; запрос на выборку

 

 

Рис. 1.14. Список менеджеров в режиме конструктора

 

 

 

Рис. 1.15. Диалоговое окно

 

 

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

В окне Добавление таблицы следует выделить таблицы ТУР и СТРАНА и добавить их в поле конструктора. Связи между таблицами появляются автоматически в соответствии со схемой базы данных.

Разработка базы данных «Турфирма»