Файл: Инфологическое проектирование базы данных.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 11.04.2024

Просмотров: 18

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.


  1. Логическое проектирование базы данных

    1. Логическое проектирование реляционной базы данных


Таблица Вагоны в СУБД Access имеет следующую структуру:



Рис. 8. Таблица «Вагон» в режиме конструктора

Таблица Поезд в СУБД Access имеет следующую структуру:



Рис. 9. Таблица «Поезд» в режиме конструктора

Таблица Путь в СУБД Access имеет следующую структуру:



Рис. 10. Таблица «Путь» в режиме конструктора

Таблица Вагоны поезда в СУБД Access имеет следующую структуру:



Рис. 11. Таблица «Вагоны поезда» в режиме конструктора

Таблица Пассажир поезда в СУБД Access имеет следующую структуру:



Рис. 12. Таблица «Пассажир» в режиме конструктора

Таблица Билет поезда в СУБД Access имеет следующую структуру:



Рис. 13. Таблица «Билет» в режиме конструктора

Схема данных имеет следующий вид:



Рис. 14. Схема данных

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

1. RESTRICT (ОГРАНИЧИТЬ)- не разрешать выполнение операции, приводящей к нарушению ссылочной целостности. Это самая простая стратегия, требующая только проверки, имеются ли экземпляры в дочерней сущности, связанные с некоторым экземпляром в родительской сущности.

2. CASCADE (КАСКАДИРОВАТЬ)- разрешить выполнение требуемой операции, но внести при этом необходимые поправки в других сущностях так, чтобы не допустить нарушения ссылочной целостности и сохранить все имеющиеся связи. Изменение начинается в родительской сущности и каскадно выполняется в дочерней сущности. В реализации этой стратегии имеется одна тонкость, заключающаяся в том, что дочерняя сущность сама может быть родительской для некоторой третьей сущности. При этом может дополнительно потребоваться выполнение какой-либо стратегии и для этой связи и т.д. Если при этом какая-либо из каскадных операций (любого уровня) не может быть выполнена, то необходимо отказаться от первоначальной операции и вернуть базу данных в исходное состояние. Это самая сложная стратегия, но она хороша тем, что при этом не нарушается связь между экземплярами родительской и дочерней сущностей.

Таким образом, для данной связи операции удаление КАСКАДИРУЕТСЯ, а обновление КАСКАДИРУЕТСЯ.

Связь из сущности Поезд в сущность Путь:

Удаление КАСКАДИРУЕТСЯ, обновление КАСКАДИРУЕТСЯ

Связь из сущности Поезд в сущность Вагоны поезда:

Удаление КАСКАДИРУЕТСЯ, обновление КАСКАДИРУЕТСЯ

Связь из сущности Вагон в сущность Вагоны поезда:

Удаление КАСКАДИРУЕТСЯ, обновление КАСКАДИРУЕТСЯ

Связь из сущности Путь в сущность Билет:

Удаление КАСКАДИРУЕТСЯ, обновление КАСКАДИРУЕТСЯ

Связь из сущности Пассажир в сущность Билет:

Удаление КАСКАДИРУЕТСЯ, обновление КАСКАДИРУЕТСЯ

В СУБД Access установка данных свойств производится в следующем окне:



Рис. 15. Свойства связей

2.2. Типовые запросы на выборку данных


Билет пассажира:

SELECT Билет.[Код билета], Пассажир.Фамилия, Пассажир.[Вид документа], Пассажир.[Рег данные документа], Поезд.[Номер поезда], Билет.[Начальная станция], Билет.[Конечная станция], Путь.[Дата отправления], Вагон.[Номер вагона], Вагон.[Тип вагона], Билет.[Номер места], Билет.Стоимость

FROM (Поезд INNER JOIN (Вагон INNER JOIN Путь ON Вагон.[Номер вагона] = Путь.[Номер вагона]) ON Поезд.[Номер поезда] = Путь.[Номер поезда]) INNER JOIN (Пассажир INNER JOIN Билет ON Пассажир.[Код пассажира] = Билет.Пассажир) ON Путь.[Код пути] = Билет.Путь

WHERE (((Билет.[Код билета])=[Forms]![Билет]![Код билета]));

Результат



Рис. 16. Результат запроса «Билет пассажира»

Пассажиры пути:

SELECT Путь.[Код пути], Пассажир.Фамилия

FROM Путь INNER JOIN (Пассажир INNER JOIN Билет ON Пассажир.[Код пассажира] = Билет.Пассажир) ON Путь.[Код пути] = Билет.Путь

WHERE (((Путь.[Код пути])=[Forms]![Путь]![Код пути]));

Результат



Рис. 17. Результат запроса «Пассажиры пути»

Расписание:

SELECT Поезд.[Номер поезда], Поезд.[Место отправления], Поезд.[Пункт назначения], Поезд.[Дни отправления], Путь.[Дата отправления]

FROM Поезд INNER JOIN Путь ON Поезд.[Номер поезда] = Путь.[Номер поезда];

Результат



Рис. 18. Результат запроса «Расписание»

Выручка за месяц:


SELECT Путь.[Код пути], Путь.[Номер поезда], Путь.[Дата отправления], Sum(Билет.Стоимость) AS [Sum-Стоимость]

FROM Путь INNER JOIN Билет ON Путь.[Код пути] = Билет.Путь

GROUP BY Путь.[Код пути], Путь.[Номер поезда], Путь.[Дата отправления]

HAVING (((Month([Дата отправления]))=Month(Date())));

Результат



Рис. 19. Результат запроса «Выручка за месяц»

2.3. Описание интерфейса пользователя


Интерфейс – это приложение, работающее с базой данных, и обеспечивающее выполнение следующих функций:

  • ввод информации в БД;

  • удаление информации из БД;

  • редактирование внесенной информации;

  • выборка данных по различным критериям;

  • формирование отчетов и вывод информации из базы данных на экран или на печать.

Данные функции в Microsoft ACCESS реализуются с помощью форм.

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

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

Интерфейс БД «Железнодорожные кассы» состоит из 7 форм и 3 отчетов.

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

Заключение


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

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

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

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

Все функции выполняемые БД были тщательным образом проверены и протестированы в процессе разработки и их работа гарантируется.

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

СПИСОК ЛИТЕРАТУРЫ




Бакаревич Ю.Б., Пушкина Н.В. Самоучитель Microsoft Access 2002. – СПб.: БХВ-Петербург, 2002



Бондарева Г.А., Сахарова Е.В., Королькова Л.Н., Информатика. Методические указания. Ставрополь, СТИС, 2006



Бойко В.В., Савинков В.М. Проектирование баз данных информационных систем. – М.: Финансы и статистика, 1989.



Гончаров А. Ю. Access 2003. Самоучитель с примерами., Москва, 2004г.



Григорьев В.А., Ревунков В.И. Банки данных. Учебник для вузов. – М., МВТУ им.Баумана, 2002.



Домашняя страница Access: справка и обучение http://office.microsoft.com/ru-ru/access/FX100487571049.aspx



Мейер М. Теория реляционных баз данных. – М.: Мир, 1987.



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



Симонович С. В., Евсеев Г. А., Алексеев А. Г. Специальная информатика: Учебное пособие. – М.: АСТ-ПРЕСС: Инфорком-Пресс, 2000



Хаббард Дж. Автоматизированное проектирование баз данных. – М.: Мир, 1984.



Приложение 1




Главная форма



Форма «Поезд»



Форма «Вагон»



Форма «Путь»



Отчет «Пассажиры пути»



Форма «Билет»



Отчет «Билет»



Форма «Пассажир»



Отчет «Расписание»



Отчет «Выручка за месяц»