Проектирование и реализация базы данных

Автор работы: Пользователь скрыл имя, 10 Ноября 2013 в 21:28, курсовая работа

Краткое описание

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

Содержание

Введение……………………………………………………….……………..
Постановка задачи………………………………………………………….
Анализ предметной области………………………………………
Обоснование актуальности решаемой задачи....…………………
Проектирование логической модели системы……………………………
Функциональная модель..…………………………………………
Контекстная диаграмма и диаграммы детализации процессов.………………………………..…………..…
Миниспецификации процессов….………………………
Информационная модель……………………………………………
Идентификация сущностей и связей. Исходная ER-диаграмма………………………………………………..
Определение доменов для схем отношений. Нормализация схемы данных. ER-диаграмма логического уровня……………………………………
Разрешение неспецифических отношений. Уточнение типов данных для атрибутов схем отношений. Реализация ссылочной целостности. Проектирование индексов. ER-диаграмма физического уровня………
Реализация системы………………………………………………………...
Описание разработанного программного обеспечения…………
SQL-определения регламентированных запросов…..……………
Исследование операционных характеристик ИСС….……………………
Описание базы данных контрольного примера……………………
Анализ результатов тестирования ИСС……………………………
Заключение………………………………………………………………………
Список использованных источников………….…….……………………

Прикрепленные файлы: 1 файл

ЗАПИСКА К КУРСОВОЙ ПО БД.doc

— 5.48 Мб (Скачать документ)

 

 

 

Рисунок 3 Детализирующая диаграмма  для процесса 1

 

Процесс 2 "Обработать данные о противопоказаниях" детализируется диаграммой с двумя процессами (рис.4). Процесс "Найти данные о противопоказании", получает информацию по входному потоку Запрос о противопоказании. Процесс "Сформировать данные о противопоказании" имеет входной поток Информация о противопоказании (шифр, противопоказание). После обработки данные по выходным потокам Новые данные (шифр, противопоказании), Информация о противопоказаниях, рекомендации по применению выдаются пользователю. Данные процессы являются элементарными и не нуждаются в дальнейшей детализации. Они описываются с помощью миниспецификации.

 

 

Рисунок 4 Детализирующая диаграмма  для процесса 2

Процесс 3 "Обработать данные о заболевании" детализируется на два процесса “Найти информацию о заболевании по заданным критериям” и “Внести информацию о заболевании”. Они получают информацию по входным потокам Запрос о заболеваниях и Новые данные(заболевание, лечение, шифр заболевания). После обработки данные выдаются по выходным потокам  Информация о заболевании, Новые данные (лечение, шифр, заболевание),Рекомендации по лечению, Критерии поиска (рис.5). Эти процессы являются элементарными и описываются с помощью миниспецификаций.

 

 

Рисунок 5 Детализирующая диаграмма  для процесса 3

 

Процесс 4 "Обработать новые  данные" детализируется на три процесса “Внести информацию” и “Создать отчеты”, “ Сформировать информацию”. Они  имеют входной поток  Новые данные (о растениях, о препаратах, о противопоказаниях, о заболеваниях, о применении). Данные по выходным потокам Отчёт о растениях, Отчёт о препаратах, Отчёт о противопоказаниях, Отчёт о заболеваниях, Отчёт о применении заносятся в отчёт и по выходному потоку Обработанные данные (о растениях, о препаратах, о противопоказаниях, о заболеваниях, о применении) передаются пользователю (рис.6). Эти процессы являются элементарными и описываются с помощью миниспецификаций.

 

Рисунок 6 Детализирующая диаграмма  для процесса 5

 

Процесс 5 "Обработать данные о применении"  детализируется диаграммой с  двумя  процессами (рис.7). Процессы "Найти информацию о применении", "Сформировать информацию о применении" имеют входные потоки Запрос о применении ,  Запрос о препарате, Информация о применении, Информация о препарате соответственно, по которым передаются изменения. После обработки данные выдаются по выходным потокам Информация о хранении, Новые данные (данные о блюдах, применение в медицине), Название препарата, Информация о составе. Все процессы являются элементарными и не нуждаются в дальнейшей детализации. Они описываются с помощью миниспецификаций.

 

Рисунок 7 Детализирующая диаграмма  для процесса 5

 

2.1.2 Миниспецификация процессов

 

Построим спецификацию процесса «Найти данные о противопоказании».

@ВХОД=ЗАПРОС О ПРОТИВОПОКАЗАНИИ

@ВЫХОД=ИНФОРМАЦИЯ О ПРОТИВОПОКАЗАНИИ [ШИФР, ПРОТИВОПОКАЗАНИЕ]

@СПЕЦПРОЦ 2.1 НАЙТИ ДАННЫЕ О ПРОИВОПОКАЗАНИИ

ДЛЯ каждого ПРОТИВОПОКАЗАНИЯ из ЗАПРОС О ПРОТИВОПОКАЗАНИИ

ВЫПОЛНИТЬ Найти ДАННЫЕ О ПРОТИВОПОКАЗАНИИ

по ЗАПРОС О ПРОТИВОПОКАЗАНИИ

ВЫПОЛНИТЬ Выдать ИНФОРМАЦИЯ О ПРОТИВОПОКАЗАНИИ [ШИФР, ПРОТИВОПОКАЗАНИЕ]

КОНЕЦ ВЫПОЛНИТЬ

КОНЕЦ ДЛЯ

@КОНЕЦ Конец спецификации процесса «Найти данные о противопоказании».

Построим спецификацию процесса «Сформировать данные о  противопоказании».

@ВХОД= ИНФОРМАЦИЯ О ПРОТИВОПОКАЗАНИИ [ШИФР, ПРОТИВОПОКАЗАНИЕ]

@ВЫХОД=НОВЫЕ ДАННЫЕ [ШИФР, ПРОТИВОПОКАЗАНИЕ]

@ВЫХОД=ИНФОРМАЦИЯ О ПРОТИВОПОКАЗАНИИ

@ВЫХОД=РЕКОМЕНДАЦИИ ПО ЛЕЧЕНИЮ

@СПЕЦПРОЦ 2.2 СФОРМИРОВАТЬ ДАННЫЕ О ПРОТИВОПОКАЗАНИИ

ДЛЯ каждого противопоказания из ИНФОРМАЦИЯ О ПРОТИВОПОКАЗАНИИ [ШИФР, ПРОТИВОПОКАЗАНИЕ]

ВЫПОЛНИТЬ Сформировать ДАННЫЕ О ПРОТИВОПОКАЗАНИЯХ

по ИНФОРМАЦИЯ О ПРОТИВОПОКАЗАНИИ

ВЫПОЛНИТЬ Выдать НОВЫЕ ДАННЫЕ [ШИФР, ПРОТИВОПОКАЗАНИЕ], ИНФОРМАЦИЯ О ПРОТИВОПОКАЗАНИИ, РЕКОМЕНДАЦИИ ПО ЛЕЧЕНИЮ

КОНЕЦ ВЫПОЛНИТЬ

КОНЕЦ ДЛЯ

@КОНЕЦ Конец спецификации процесса «Сформировать данные о противопоказании».

Построим спецификацию процесса «Найти информацию о заболевании по заданным критериям».

@ВХОД=ЗАПРОС О ЗАБОЛЕВАНИИИ

@ВЫХОД=ИНФОРМАЦИЯ О ЗАБОЛЕВАНИИ

@ВЫХОД=РЕКОМЕНДАЦИИ ПО ЛЕЧЕНИЮ

@ВЫХОД=КРИТЕРИИ ПОИСКА

@ВЫХОД=НОВЫЕ ДАННЫЕ [ЗАБОЛЕВАНИЕ, ЛЕЧЕНИЕ, ШИФР]

@СПЕЦПРОЦ 3.1 НАЙТИ ИНФОРМАЦИЮ О ЗАБОЛЕВАНИИ ПО ЗАДАННЫМ КРИТЕРИЯМ

ДЛЯ каждого заболевания из ЗАПРОС О ЗАБОЛЕВАНИИ

ВЫПОЛНИТЬ Найти ДАННЫЕ О ЗАБОЛЕВАНИИ по ЗАПРОС О ЗАБОЛЕВАНИИ

ВЫПОЛНИТЬ Выдать ИНФОРМАЦИЯ О ЗАБОЛЕВАНИИ, РЕКОМЕНДАЦИИ ПО ЛЕЧЕНИЮ, КРИТЕРИИ ПОИСКА, НОВЫЕ ДАННЫЕ [ЗАБОЛЕВАНИЕ, ЛЕЧЕНИЕ, ШИФР]

КОНЕЦ ВЫПОЛНИТЬ

КОНЕЦ ДЛЯ

@КОНЕЦ Конец спецификации процесса «Найти информацию о заболевании по заданным критериям».

Построим спецификацию процесса «Внести информацию о заболевании».

@ВХОД= НОВЫЕ ДАННЫЕ [ЗАБОЛЕВАНИЕ, ЛЕЧЕНИЕ, ШИФР]

@ВЫХОД= НОВЫЕ ДАННЫЕ [ШИФР, ЗАБОЛЕВАНИЕ, ЛЕЧЕНИЕ]

@СПЕЦПРОЦ 3.2 ВНЕСТИ ИНФОРМАЦИЮ О ЗАБОЛЕВАНИИИ

ДЛЯ каждого заболевания из НОВЫЕ ДАННЫЕ [ШИФР, ЗАБОЛЕВАНИЕ, ЛЕЧЕНИЕ] 

ВЫПОЛНИТЬ Внести НОВЫЕ ДАННЫЕ [ШИФР, ЗАБОЛЕВАНИЕ, ЛЕЧЕНИЕ]  по НОВЫЕ ДАННЫЕ [ШИФР, ЗАБОЛЕВАНИЕ, ЛЕЧЕНИЕ]

ВЫПОЛНИТЬ Выдать НОВЫЕ ДАННЫЕ [ШИФР, ЗАБОЛЕВАНИЕ, ЛЕЧЕНИЕ]

КОНЕЦ ВЫПОЛНИТЬ

КОНЕЦ ДЛЯ

@КОНЕЦ Конец спецификации процесса «Внести информацию о заболевании».

Построим спецификацию процесса «Найти информацию о применении».

@ВХОД=ЗАПРОС О ПРИМЕНЕНИИ

@ВХОД=ЗАПРОС О ПРЕПАРАТЕ

@ВЫХОД=ИНФОРМАЦИЯ О ПРИМЕНЕНИИ

@ВЫХОД=ИНФОРМАЦИЯ О ПРЕПАРАТЕ

@СПЕЦПРОЦ 4.1 НАЙТИ ИНФОРМАЦИЮ О ПРИМЕНЕНИИ

ДЛЯ каждого препарата из ЗАПРОС О ПРЕПАРАТЕ

ВЫПОЛНИТЬ Найти ИНФОРМАЦИЯ О ПРИМЕНЕНИИ по ЗАПРОС О ПРИМЕНЕНИИ, ИНФОРМАЦИЯ О ПРЕПАРАТЕ по ЗАПРОС О ПРЕПАРАТЕ

ВЫПОЛНИТЬ Выдать ИНФОРМАЦИЯ О ПРИМЕНЕНИИ, ИНФОРМАЦИЯ О ПРЕПАРАТЕ

КОНЕЦ ВЫПОЛНИТЬ

КОНЕЦ ДЛЯ

@КОНЕЦ Конец спецификации процесса «Найти информацию о применении».

Построим спецификацию процесса «Сформировать информацию о применении».

@ВХОД=ИНФОРМАЦИЯ О ПРЕПАРАТЕ

@ВХОД=ИНФОРМАЦИЯ О ПРИМЕНЕНИИ

@ВЫХОД=НОВЫЕ ДАННЫЕ [О БЛЮДАХ, ПРИМЕНЕНИЕ В МЕДИЦИНЕ]

@ВЫХОД=ИНФОРМАЦИЯ О ХРАНЕНИИ, ИНФОРМАЦИЯ О СОСТАВЕ, НАЗВАНИЕ ПРЕПАРАТА

@СПЕЦПРОЦ  4.2 СФОРМИРОВАТЬ ИНФОРМАЦИЮ О ПРИМЕНЕНИИ

ДЛЯ каждого препарата из ИНФОРМАЦИЯ О ПРЕПАРАТЕ

ВЫПОЛНИТЬ Сформировать  ДАННЫЕ О ПРЕПАРАТЕ по ИНФОРМАЦИЯ О ПРИМЕНЕНИИ, ИНФОРМАЦИЯ О ПРЕПАРАТЕ

ВЫПОЛНИТЬ Выдать ИНФОРМАЦИЯ О ХРАНЕНИИ, ИНФОРМАЦИЯ О СОСТАВЕ, НАЗВАНИЕ ПРЕПАРАТА, НОВЫЕ ДАННЫЕ [О БЛЮДАХ, ПРИМЕНЕНИЕ В МЕДИЦИНЕ]

КОНЕЦ ВЫПОЛНИТЬ

КОНЕЦ ДЛЯ

@КОНЕЦ Конец спецификации процесса «Сформировать информацию о применении».

Построим спецификацию процесса «Внести информацию».

@ВХОД= НОВЫЕ ДАННЫЕ [О РАСТЕНИЯХ, О ПРЕПАРАТЕ, О ПРИМЕНЕНИИ, О ЗАБОЛЕВАНИИ, О ПРОТИВОПОКАЗАНИИ]

@ВЫХОД= ДАННЫЕ

@СПЕЦПРОЦ 5.1 ВНЕСТИ ИНФОРМАЦИЮ

ДЛЯ каждого растения из НОВЫЕ ДАННЫЕ [О РАСТЕНИЯХ, О ПРЕПАРАТЕ, О ПРИМЕНЕНИИ, О ЗАБОЛЕВАНИИ, О ПРОТИВОПОКАЗАНИИ]

ВЫПОЛНИТЬ Внести ДАННЫЕ по НОВЫЕ ДАННЫЕ [О РАСТЕНИЯХ, О ПРЕПАРАТЕ, О ПРИМЕНЕНИИ, О ЗАБОЛЕВАНИИ, О ПРОТИВОПОКАЗАНИИ]

ВЫПОЛНИТЬ Выдать ДАННЫЕ

КОНЕЦ ВЫПОЛНИТЬ

КОНЕЦ ДЛЯ

@КОНЕЦ Конец спецификации процесса «Внести информацию».

Построим спецификацию процесса «Сформировать информацию».

@ВХОД=ДАННЫЕ

@ВЫХОД=ОБРАБОТАННЫЕ ДАННЫЕ [О РАСТЕНИЯХ, О ПРЕПАРАТЕ, О ПРИМЕНЕНИИ, О ЗАБОЛЕВАНИИ, О ПРОТИВОПОКАЗАНИИ]

@СПЕЦПРОЦ 5.2 СФОРМИРОВАТЬ ИНФОРМАЦИЮ

ДЛЯ каждого растения из ДАННЫЕ

ВЫПОЛНИТЬ Сформировать ОБРАБОТАННЫЕ ДАННЫЕ НОВЫЕ ДАННЫЕ [О РАСТЕНИЯХ, О ПРЕПАРАТЕ, О ПРИМЕНЕНИИ, О ЗАБОЛЕВАНИИ, О ПРОТИВОПОКАЗАНИИ] по ДАННЫЕ

ВЫПОЛНИТЬ Выдать ОБРАБОТАННЫЕ ДАННЫЕ НОВЫЕ ДАННЫЕ [О РАСТЕНИЯХ, О ПРЕПАРАТЕ, О ПРИМЕНЕНИИ, О ЗАБОЛЕВАНИИ, О ПРОТИВОПОКАЗАНИИ]

КОНЕЦ ВЫПОЛНИТЬ

КОНЕЦ ДЛЯ

@КОНЕЦ Конец спецификации процесса «Сформировать информацию».

Построим спецификацию процесса «Создать отчеты».

@ВХОД=НОВЫЕ ДАННЫЕ [О РАСТЕНИЯХ, О ПРЕПАРАТЕ, О ПРИМЕНЕНИИ, О ЗАБОЛЕВАНИИ, О ПРОТИВОПОКАЗАНИИ]

@ВЫХОД=ОТЧЕТ [О РАСТЕНИЯХ, О ПРЕПАРАТЕ, О ПРИМЕНЕНИИ, О ЗАБОЛЕВАНИИ, О ПРОТИВОПОКАЗАНИИ]

@СПЕЦПРОЦ 5.3 СОЗДАТЬ ОТЧЕТЫ

ДЛЯ каждого растения из НОВЫЕ ДАННЫЕ [О РАСТЕНИЯХ, О ПРЕПАРАТЕ, О ПРИМЕНЕНИИ, О ЗАБОЛЕВАНИИ, О ПРОТИВОПОКАЗАНИИ] ВЫПОЛНИТЬ Создать ОТЧЕТЫ [О РАСТЕНИЯХ, О ПРЕПАРАТЕ, О ПРИМЕНЕНИИ, О ЗАБОЛЕВАНИИ, О ПРОТИВОПОКАЗАНИИ] по НОВЫЕ ДАННЫЕ [О РАСТЕНИЯХ, О ПРЕПАРАТЕ, О ПРИМЕНЕНИИ, О ЗАБОЛЕВАНИИ, О ПРОТИВОПОКАЗАНИИ]

ВЫПОЛНИТЬ Выдать ОТЧЁТ [О РАСТЕНИЯХ, О ПРЕПАРАТЕ, О ПРИМЕНЕНИИ, О ЗАБОЛЕВАНИИ, О ПРОТИВОПОКАЗАНИИ]

КОНЕЦ ВЫПОЛНИТЬ

КОНЕЦ ДЛЯ

@КОНЕЦ Конец спецификации процесса «Создать отчеты».

Построим спецификацию процесса «Внести новые данные о  растении».

@ВХОД@ВЫХОД = НОВЫЕ ДАННЫЕ [НАЗВАНИЕ, СЕМЕЙСТВО, ВЫСОТА, СОСТАВ, МЕСТО_РАСПРОСТРАНЕНИЯ]

@СПЕЦПРОЦ 6.1 ВНЕСТИ НОВЫЕ ДАННЫЕ О РАСТЕНИИ

ДЛЯ каждого растения из НОВЫЕ ДАННЫЕ [НАЗВАНИЕ, СЕМЕЙСТВО, ВЫСОТА, СОСТАВ, МЕСТО_РАСПРОСТРАНЕНИЯ]

ВЫПОЛНИТЬ Внести ДАННЫЕ О РАСТЕНИИ по НОВЫЕ ДАННЫЕ [НАЗВАНИЕ, СЕМЕЙСТВО, ВЫСОТА, СОСТАВ, МЕСТО_РАСПРОСТРАНЕНИЯ]

 ВЫПОЛНИТЬ Выдать НОВЫЕ ДАННЫЕ [НАЗВАНИЕ, СЕМЕЙСТВО, ВЫСОТА, СОСТАВ, МЕСТО_РАСПРОСТРАНЕНИЯ]

КОНЕЦ ВЫПОЛНИТЬ

КОНЕЦ ДЛЯ

@КОНЕЦ Конец спецификации процесса «Внести новые данные о растении».

Построим спецификацию процесса «Найти запись».

@ВХОД=ЗАПРОС О РАСТЕНИИ

@ВХОД=ЗАПРОС О ХАРАКТЕРИСТИКАХ РАСТЕНИЙ

@ВЫХОД=ИНФОРМАЦИЯ О РАСТЕНИИ

@ВЫХОД=ИНФОРМАЦИЯ О ХАРАКТЕРИСТИКАХ РАСТЕНИЙ

@СПЕЦПРОЦ 6.2 НАЙТИ ЗАПИСЬ ДЛЯ каждого растения из ЗАПРОС О РАСТЕНИИ

ВЫПОЛНИТЬ Найти ИНФОРМАЦИЮ О РАСТЕНИИ по ЗАПРОС О ХАРАКТЕРИСТИКАХ РАСТЕНИЙ

ВЫПОЛНИТЬ Выдать ИНФОРМАЦИЯ О РАСТЕНИИ, ИНФОРМАЦИЯ О ХАРАКТЕРИСТИКАХ РАСТЕНИЙ

КОНЕЦ ВЫПОЛНИТЬ

КОНЕЦ ДЛЯ

@КОНЕЦ Конец спецификации процесса «Найти запись».

 

 

2.2 Информационная модель

2.2.1 Идентификация  сущностей и связей. Исходная ER-диаграмма

 

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

Основными понятиями ER-модели являются сущность, связь и атрибут. Сущность - это множество экземпляров  реальных или абстрактных объектов, обладающих общими атрибутами (характеристиками). Любой объект системы может быть представлен только одной сущностью. В диаграммах ER-модели сущность представляется в виде прямоугольника, содержащего имя сущности. При этом имя сущности - это имя типа, а не некоторого конкретного экземпляра этого типа.

Для базы данных лекарственных  растений создадим следующие сущности:

1.Сущность  «Растения»  вводится для учёта всех растений  и их основных характеристик. 

2.Сущность «Характеристика  растений» вводится для учёта  характеристики внешнего вида  растений.

3.Сущность «Препарат»  вводится для учёта всех видов  препаратов, в которые входят лекарственные растения и их хранения.

4.Сущность «Применение» предназначена  для учёта и характеристики  всех растений по применению  их в народной медицине и  кулинарии. Сущность «Применение»  является супертипом в связи  категоризации. Для подтипов вводятся сущности «Блюда», «Нар_медицина».

5.Сущность «Противопоказание»  вводится для учёта всех противопоказаний, вызванных данными растениями.

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

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

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

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

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

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

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

Информация о работе Проектирование и реализация базы данных