Автор работы: Пользователь скрыл имя, 24 Апреля 2013 в 21:54, курсовая работа
Предметной областью называется фрагмент реальности, который описывается или моделируется с помощью БД и ее приложений. В мире существует множество систем управления базами данных. Несмотря на то, что они могут по-разному работать с разными объектами и предоставляют пользователю различные функции и средства, большинство СУБД опираются на единый устоявшийся комплекс основных понятий. В качестве такого объекта мы выберем СУБД Microsoft Access, входящую в пакет MicrosoftOffice.
ВВЕДЕНИЕ 2
1. ПОНЯТИЕ «БАЗА ДАННЫХ» 4
1.1. Архитектура баз данных 5
1.1.1. Инфологическая модель данных 7
1.1.2. Даталогическаямодель данных 7
1.1.3. Физическая модель данных 7
1.1.4. Жизненный цикл БД 8
2. ПРОЕКТИРОВАНИЕ БД 9
2.1. Системный анализ предметной области 9
2.2. Инфологическое моделирование предметной области 10
2.3. Построение модели «сущность-связь» 16
2.4. Проектирование реляционной модели БД 18
2.5. Нормализация реляционных БД 21
3. РАЗРАБОТКА БД В MS ACCESS 2007 24
3.1. Создание таблиц 25
3.2. Создание схемы данных 28
3.3. Создание запросов 30
3.4. Создание форм 35
3.4.1. Создание справочных форм 35
3.4.2. Создание главной формы 36
3.5. Создание отчетов 38
3.6. Создание главной кнопочной формы 39
4. Описание процесса работы с разработанной БД 43
ЗАКЛЮЧЕНИЕ 44
СПИСОК ЛИТЕРАТУРЫ 46
В каждое отношение, соответствующее сущности со стороны «многие» (связь 1:N), добавляется набор атрибутов сущности со стороны «один», являющихся первичным ключом сущности со стороны «один». В отношении, соответствующим сущности со стороны «многие», этот набор атрибутов становится внешним ключом (рис. 11).
Рис. 11. Пример добавления ключей
Для моделирования необязательного класса принадлежности у атрибутов,соответствующих внешнему ключу, устанавливается свойство допустимости неопределенных значений. При обязательном классе принадлежности атрибуты получают свойство отсутствия неопределенных значений.
Пример перехода от модели «сущность-связь» к реляционной модели показан нарис.12.
В указанной модели выделены следующие сущности: Товар, Поставщики, Города, Поставка, Группа товаров. Следовательно, и в реляционной модели будут участвовать пять отношений (таблиц) с такими же именами.
Для всех полей таблицы (атрибутов сущности) указываются допустимые типы данных, а так же задается первичный ключ однозначно определяющий записи в этой таблице.
Рис. 12. Переходот модели «сущность-связь» к реляционной модели
Окончательный вариант реляционной модели (схемы БД) приведен нарис. 13.
Рис. 13. Реляционная модель данных учета поставки товаров в магазин
На этапе инфологического моделирования была построена концептуальная модель «сущность-связь», и с помощью алгоритма перехода к реляционной модели получена модель БД, т.е. был начат этап логического проектирования. Для продолжения процесса проектирования необходимо проверить полученную схему БД на отсутствие избыточных функциональных зависимостей и при необходимости нормализовать схему БД.
Процесс нормализации может быть проведен уже в концептуальной модели «сущность-связь», тогда после перехода к реляционной модели получится нормализованная схема БД.
Данная схема БД была выполнена путем декомпозиции, когда исходное множество отношений, входящих в схему БД заменяется другим множеством отношений (их числопри этом возрастает), являющихся проекциями исходных отношений.
Процесс проектирования с использованием декомпозиции представляет собой процесс последовательной нормализации схем отношений, при этом каждая последующая итерация соответствует нормальной форме более высокого уровня и обладает лучшими свойствами по сравнению с предыдущей.
Каждой
нормальной форме соответствует
определенный набор ограничений, и
отношение находится в
Первая нормальная форма (1НФ): в каждой позиции пересечения столбца и строки таблицы расположено в точности одно значение, а не набор значений. Отношения в 1НФ часто называются просто нормализованными отношениями. В одном поле можно хранить весь адрес (город, улица, дом, квартира) если нет необходимости манипулировать отдельными городами или улицами, в противном случае этот атрибут необходимо разбить на отдельные атрибуты (город), (улица, дом, квартира).
Вторая нормальная форма (2НФ): Отношение (таблица) находится во 2НФ, если оно находится в 1НФ, и каждый не ключевой атрибут функционально полно зависит от всего ключа.
Если какой-либо атрибут зависит от части составного первичного ключа, то необходимо создать новое отношение, атрибутами которого будут:
Третья нормальная форма (3НФ): Отношение находится в 3НФ, если оно находится во 2НФ и ни в одном из полей не содержится информация, которую можно было бы вычислить по содержимому других полей.
Процесс разработки БД в среде MSAccess сводится к выполнению следующей последовательности действий:
Для начала работы по созданию БД я запустила MSAccess2007. Для этого из меню «Пуск->Все Программы->MicrosoftOffice» выбрала пункт MicrosoftAccess 2007. В результате чего на экране появилось окно, показанное нарис. 14.
Рис. 14. Окно приложения MS Access2007
Чтобы приступить к созданию новой БД в области «Новая пустая база данных» я выбрала команду «Новая база данных». В результате этих действий (рис. 15) в зоне «Новая база данных» указала имя файла, в котором будет размещаться вся информация, касающаяся БД. (При необходимости можно указать каталог, в котором следует расположить файл базы данных). После ввода имени файла БД щелкнула по кнопке «Создать», в результате MSAccess автоматически перешел в режим создания таблиц.
Рис. 15. Создание новой БД
MSAccess представляет возможность созданияреляционных БД (данные в таких БД размещаются в нескольких связанных между собой таблицах). На рис. 16показано окно MSAccess в режиме работы с таблицами.
Рис. 16. Создание таблицы в режиме «Таблица»
Удобным вариантом при создании таблиц является режим «Конструктор». Нарис. 17 показана возможность переключения между режимами отображения таблиц (запросов, форм, отчетов).
Рис. 17. Выбор режима отображения таблиц
При переключении
созданной по умолчанию таблицы
из режима «Таблица» в режим «
Рис. 18. Присвоение имени таблицы
На рис. 19приведен вид таблицы в режиме конструктора с созданными полями таблицы. Каждое поле в понимании MSAccess является столбцом в создаваемой таблице. Основным моментом при задании полей является указание типа данных и длины создаваемого поля. Правильно заданные параметры позволят сократить объем БД и ускорить процесс работы с данными. MSAccess предлагает несколько стандартных типов данных (числовой, текстовый, денежный…),а также специфические типы. «Счетчик» – данные такого типа автоматически создаются средой и служат для авто нумерации записей или для создания простейшего кода записи.
Рис. 19. Таблица MS Access в режиме конструктор
После создания всех полей таблицы её я сохранила, ноперед этим указала ключевое поле (первичный ключ) для создаваемой таблицы.
Для создания новой таблицыпереключилась в режим «Создание» и выбрала команду «Конструктор таблиц» (рис. 20).
Рис. 20. Создание новой таблицы в режиме «Конструктор таблиц»
После того как я создала все таблицы, я их связала между собой с использованием специального инструмента в MSAccess «Схема данных».
Для создания связей между таблицами переключила главное меню в режим «Работа с базами данных» и отыскала команду «Схема данных». В открывшееся поле «Схема данных» внесла таблицы, для этого в пустом месте диалогового окна щелкнула правой кнопкой мыши и выбрала команду «Добавить таблицу».
В появившемся окне дважды щелкнула левой кнопкой мыши по таблицам, которые я хотела добавить и закрыла окно «Добавление таблицы».
Создание связей между таблицами я осуществляла следующим образом. В подчиненной таблице щелкнула левой кнопкой мышипо первичному ключевому полю и, не отпуская кнопкумыши перетащила курсор в главную таблицу. Отпустила левую кнопку мыши над одноименным полем (внешним ключом главной таблицы). После этого на экране появится диалоговое окно «Изменение связей» (рис. 21), в котором для создания связи установила флажок «Обеспечение целостности данных». Также установила флажки «Каскадное обновление связанных полей» и «Каскадное удаление связанных полей», с помощью которых будет обеспечена автоматическая корректировка данных для сохранения целостности во взаимосвязанных таблицах.
Рис. 21. «Изменение связей»
После установки всех связей вид окна получился таким, как нарис. 22.
Рис. 22. Схема данных
После назначения связей между таблицами можно я перешла к первичному заполнению данными таблиц. Для этого на имени таблицы дважды щелкнула левой кнопкой мыши и переключила таблицу в режим «Таблица» и внесла 7 – 10 строк данных. В соответствии со схемой данных таблицу «тПоставка» условно можно назвать главной, а остальные таблицы вспомогательными. При заполнении таблиц сначала заполняла вспомогательные таблицы и в последнюю очередь главную. В процессе заполнения главной таблицы в поля «Код поставщика» и «Код товара» можно вносила такие значения кодов, которые есть в соответствующих таблицах «тПоставщики» и «тТовар». На рис. 23показан вид главной таблицы с внесенными в неё данными.
Рис. 23. Таблица «тПоставка»
Итак,
созданные таблицы и
Решение большинства поставленных задач возможно с использованием запросов.
Запрос – это поиск данных из многообразия записей, находящихся во всех таблицах. Запросы выбирают из базы данных информацию, которая в данный момент интересует пользователя. Результат такого запроса представляет собой новую таблицу, в которой содержится только нужная информация.
Запросы
могут выполнять следующие
Для создания запросов в MSAccess в верхнем меню выбрала режим «Создание».
Существует три основные возможности создания запросов: с помощью «Мастера», «Конструктора» и на основе макроса. Наиболее широкие возможности работы с запросами дает режим создания запросов в режиме «Конструктор». Для вызова этого режима щелкнула по команде «Конструктор запросов». В результате на экране появилось основное окно создания запросов и окно «Добавления таблиц». В последнем выбрала таблицы, содержащие поля, участвующие в запросе и добавила их в окно «Запрос».
Для решения первой поставленной задачи (вывести название, кол-во и дату поставки каждого поставщика) построила простой запрос на выборку. В этом запросе необходимы три таблицы, содержащие поля «Название», «Название товара», «Количество», «Дата поставки». Эти поля содержат таблицы «тПоставщики», «тТовар», «тПоставка», соответственно из них и выбирались данные для поиска. В окне «Добавление таблиц» (рис.24) выбрала интересующие таблицы (двойной щелчок левой кнопкой мыши по имени таблицы) и щелкнула по кнопке «Закрыть».
Рис. 24. Добавление таблиц в запрос
Выбранная таблица появилась в поле «Запрос 1». Из таблиц «тПоставщики», «тТовар», «тПоставка» выбрала только нужные поля. Для этого дважды щелкнула левой кнопкой мыши по полю «Название», «Название товара», «Количество», «Дата поставки». Эти поля автоматически появились в нижней части окна «Запрос 1». Для проверки работоспособности созданного запроса в верхнем меню выбрала режим «Конструктор» и отыскала кнопку «Выполнить», которая имеет вид восклицательного знака. На экране в табличном виде был выведен перечень всех поставщиков, поставляемый ими товар, количество и дата поставки, сохранила запрос с именем «зВыводит название, кол-во и дату поставки каждого поставщика». Окно сохранения запроса можно вызвать, щелкнув правой кнопкой мыши по закладке «Запрос 1» и выбрать команду «Сохранить».
Созданныйзапрос позволяет выводить на экран список поставщиков, дату поставки и количество всех товаров, поставляемых ими.
Вычисление стоимости каждого товара, занесенного в базу данных,я реализовала с помощью запроса выполняющего вычисления. Начало создания запроса ни чем не отличается от простого запроса на выборку. Для вычислений использовала поля «Название товара», «Количество товара», «Цена товара» из таблицы «тТовар».
Как и в первом случае при создании простого запроса на выборку переключила верхнее меню в режим «Создание» и выбрала команду «Мастер запросов». Указала опцию «Простой запрос» и перешла к следующему шагу. В новом окне в списке «Таблицы и запросы» (источник данных) выбирала таблицу «тТовар». Из области «Доступные поля» в область "Выбранные поля» перенесла интересующие поля таблицы, после чего нажала кнопку «Готово» (рис. 25)