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



бет1/2
Дата25.01.2022
өлшемі65,2 Kb.
#114160
түріПояснительная записка
  1   2
Байланысты:
Oracle-18 05 2012
Алғыс хат

Oracle

от dudis | skachatreferat.ru


МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ УКРАИНЫ

ХАРЬКОВСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ СТРОИТЕЛЬСТВА И АРХИТЕКТУРЫ

Кафедра экономический кибернетики и информационных технологий

ТЕМА


ПРОДАЖА И УЧЕТ ЛЕКАРСТВЕННЫХ СРЕДСТВ

ПОЯСНИТЕЛЬНАЯ ЗАПИСКА

К КУРСОВОМУ ПРОЕКТУ

по дисциплине

«ПРОЕКТИРОВАНИЕ БАЗ ДАННЫХ»

Выполнила: Чернышева Мария,

студентка гр.ЭКБ-32

Руководитель: Овечко К.О.

Харьков 2010

СОДЕРЖАНИЕ:

ВВЕДЕНИЕ……………………………………………………………….……....3

ПОСТАНОВКА ЗАДАЧИ………………………………………………………..4

РАЗДЕЛ 1. Теоретические сведения

1.1.Актуальность темы……………………………………………………..5

1.2.Анализ информационного объекта

1.2.1.Описание предметной области…………………………….....6

1.2.2.Сущности базы данных…………………………………….....6
1.2.3. Атрибуты базы данных…………………………………........8

1.2.4. Ключи базы данных……………………………………..……8

РАЗДЕЛ 2. Компьютерная модель объекта

2.1. Таблицы базы данных………………………………………...10

2.2. Описание таблиц «База данных о продаже аптечных медпрепаратов »…………………………………………………....10

2.3. Связи базы данных…………………………………………….14

2.4. Схема данных «База данных о продаже аптечных медпрепаратов»…………………………………………………….15

РАЗДЕЛ 3. Программная реализация

3.1. Описание СУБД Oracle Application Express…………………16

3.2. Создание таблиц……………………………………………….17

3.3. Создание табличной формы…………………………………..19

3.4. Создание отчетов………………………………………….…..22

3.5. Инструкция по работе с БД………………………………...…24

ПРИЛОЖЕНИЕ А…………………………………………………………….…26

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

ВВЕДЕНИЕ


Цель курсовой работы - построить базу данных (БД), которая будет служить средством автоматизации работы менеджера аптеки. Объектом исследования является аптека, а предметом исследования – лекарственные препараты, реализуемые данной аптекой. Необходимо разработать базу данных, которая была бы максимально гибкой и удобной в использовании. База данных, разрабатываемая в данном курсовом проекте, предназначенадля регистрации и ведения учета продаж лекарственных препаратов по заказу, она должна оперативно производить поиск, сортировки, составлять различного рода запросы по пожеланиям клиента, а также вести отчётность. В качестве инструмента построения базы данных использован Oracle Application Express.

ПОСТАНОВКА ЗАДАЧИ

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

РАЗДЕЛ 1. Теоретические сведения


1.1. Актуальность темы


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


Аптека — не только учреждение здравоохранения, обеспечивающее медикаментами население, но и коммерческое предприятие со сложной структурой отчетности, поддерживающее контакты со многими поставщиками, контролирующее различные аспекты столь специфического товара, как лекарственные средства.
Автоматизация аптек помогает решить целый комплекс жизненно важных задач и приводит  к следующим результатам:
1) Практически все аналитики отмечают, что автоматизация аптек приводит к сокращению издержек и увеличению товарооборота, росту продаж и прибыли компаний.
2) За счет автоматизации процессов от рутинной работы освобождаются ценные работники, что помогает решить кадровую проблему и снимает необходимость увеличения штата.
3) Благодаря прозрачности всех основных процессов и товарооборота внутри компании,  борьба со злоупотреблениями внутри аптечной сети становится намного проще. 
4) Полный контроль оборота, достигаемый благодаря системе автоматизации аптечных сетей, поможет руководителям в борьбе с некачественным или фальсифицированным товаром. 5) Информационные системы помогут упростить процесс планирования закупок и распределения товара.
6) Автоматизация аптек существенно облегчит работу бухгалтерии сети.

1.2. Анализ информационного объекта


1.2.1. Описание предметной области


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


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

1.2.2. Сущности базы данных


По определению М. Михайлова, сущность - это множество экземпляров реальных и абстрактных объектов, которые обладают общими свойствами. Любой объект предметной области может быть представлен только одной сущностью, которая должна иметь уникальное имя и храниться в базе данных[3].


При создании таблиц сущностей нужно помнить основное правило – это «каждой сущности – отдельную таблицу». Поля таблиц сущностей могут быть двух видов: ключевые и неключевые. В разработанной базе данных использовались ключевые поля таблиц сущностей, что ускоряет обработку записей таблицы, позволяет выполнять автоматическую сортировку записей по значениям в ключевых полях[10].
В процессе обработки таблиц сущностей надо иметь в виду следующее. Новую сущность легко добавить и изменить, но при удалении следует уничтожить все ссылки на нее из таблиц связей, иначе таблицы связей будут некорректными.
В данной работе при создании базы данных были использованы следующие сущности. Основываясь на описании предметной области и определённых запросов и задач, представлены они на рис.1.1
|Наименование |Первичный ключ ||сущности | |
| | |
|Аптеки |Номер аптеки |
|Производитель |Код производителя |
|Категории |Код категории |
|Препараты |Код препарата |
|Хранение |Номер аптеки, |
| |Код препарата |
|Продажа |Код покупки |

Рис.1.1. Таблица сущностей

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

1.2.3. Атрибуты базы данных


Атрибут представляет собой свойство сущности. Так, атрибутами сущности ХРАНЕНИЕ являются НОМЕР АПТЕКИ, КОД ПРЕПАРАТА и НАЯВНОСТЬ. Атрибут – это информационное отображение свойств объекта. При реализации информационной модели на каком-либо носителе информации, атрибут часто называют элементом данных, полем данных или просто полем[9].


На основании таблицы сущностей, а также задач, выделим все необходимые атрибуты, используемые в данной базе данных.Описание атрибутов приводится в ПРИЛОЖЕНИИ А.

1.2.3. Ключи базы данных


В правильно построенной реляционной базе данных в каждой таблице есть один или несколько столбцов, значения в которых во всех строках разные. Этот столбец (столбцы) называется первичным ключом таблицы. В разработанной базе данных для аптеки, например, первичным ключом таблицы ПРОИЗВОДИТЕЛЬ является столбец КОД ПРОИЗВОДИТЕЛЯ, первичным ключом таблицы ПРЕПАРАТЫ является столбец КОД ПРЕПАРАТА.


На практике в качестве первичных ключей таблиц обычно следует выбирать идентификаторы.
Первичный ключ длякаждой строки таблицы является уникальным, поэтому в таблице с первичным ключом нет двух совершенно одинаковых строк. Таблица, в которой все строки отличаются друг от друга, в математических терминах называется отношением. Именно этому термину реляционные базы данных и обязаны своим названием, поскольку в их основе лежат отношения (таблицы с отличающимися друг от друга строками).
Столбец одной таблицы, значения в котором совпадают со значениями столбца, являющегося первичным ключом другой таблицы, называется внешним ключом[5]. В нашей базе данных столбец КОД КАТЕГОРИИ представляет собой внешний ключ для таблицы ПРЕПАРАТЫ. Значения, содержащиеся в этом столбце, представляют собой идентификаторы категорий. Эти значения соответствуют значениям в столбце КОД КАТЕГОРИИ, который является первичным ключом таблицы КАТЕГОРИИ. Совокупно первичный и внешний ключи создают между таблицами, в которых они содержатся, такое же отношение предок/потомок, как и в иерархической базе данных.
Внешний ключ, как и первичный ключ, тоже может представлять собой комбинацию столбцов. На практике внешний ключ всегда будет составным (состоящим из нескольких столбцов), если он ссылается на составной первичный ключ в другой таблице. Очевидно, что количество столбцов и их типы данных в первичном и внешнем ключах совпадают.
Если таблица связана с несколькими другими таблицами, она может иметь несколько внешних ключей.
Внешние ключи являются неотъемлемой частью реляционной модели, поскольку реализуют отношения между таблицами базы данных. К несчастью, как и в случае с первичными ключами, поддержка внешних ключей отсутствовала в первых реляционных СУБД. Она была введена в системе DB2 Version 2 и теперь имеется во всех коммерческих СУБД.
ВЫВОД: в данном разделе была описана предметная область курсовой работы и ее актуальность. Также были определены сущности базы данных и их атрибуты, определены типы данных каждого атрибута, выбраны первичные ключи для каждой сущности.

РАЗДЕЛ 2. Компьютерная модель объекта


2.1. Таблицы базы данных


Таблицы – это основные объекты любой базы данных. В них хранятся все данные, имеющиеся в базе, а во-вторых, таблицы хранят и структуру базы (поля, их типы и свойства).


Таблица БД создаётся в два этапа. На первом этапе определяется её структура: состав полей, их имена,тип каждого поля, его размер и другие свойства полей. На втором этапе таблица заполняется данными, т. е. формируются записи.
Каждое поле предоставляет собой столбец таблицы и содержит определенную категорию информации. Каждая запись предоставляет собой строку таблицы и содержит информацию об определенном товаре. Можно создать взаимосвязи между таблицами, вместо того, чтобы хранить всю информацию в одной большой таблице, избегая тем самым ненужного дублирования данных, экономии памяти компьютера, а также увеличение скорости и точности обработки информации[4].

2.2. Описание таблиц «База данных о продаже аптечных медпрепаратов »


Таблица «Аптеки» (Рис.2.1) состоит из семи полей: «Номер аптеки» (ключевое поле, тип данных числовой), «Город» (текстовый тип данных), «Район» (текстовый тип данных), «Улица» (текстовый тип данных), «Индекс» (числовой тип данных), «Телефон» (числовой тип данных) и «Факс» (числовой тип данных).

|№ Аптеки |Город |Район |Улица |Индекс |Телефон |Факс |
|79900 |Харьков |Суворовский |Артема |99595 |848484 |9898988 |
|75775 |Днепропетровск |Сумской |Шевченко |44433 |393939 |9399393 |
|12323 |Харьков |Дзержинский |Клочковская |78678 |968755 |3546572 |

Рис.2.1. Таблица «Аптеки»

Таблица «Производитель» (Рис.2.2) состоит из восьми полей: «Код производителя» (тип данных счетчик), «Название производителя» (текстовый тип данных),«Производитель» (текстовый тип данных), «Город» (текстовый тип данных), «Улица» (текстовый тип данных), «№ здания» (числовой тип данных), «Телефон» (числовой тип данных), «Индекс» (числовой тип данных ).

|Код производителя |Название производителя |Производитель |Город |Улица |№ Здания |Индекс |Телефон |


|12 |Иван-Чай |Россия |Ирбит |Курасова |122 |5667 |44343 |
|13 |Дарница |Украина |Киев |Мирная|67 |9877 |45677 |
|14 |Идеофарм |Германия |Берлин |Штирлица |113 |6555 |45668 |

Рис.2.2. Таблица «Производитель»

Таблица «Категории» (Рис.2.3.) состоит из двух полей: «Код категории» (тип данных счетчик) и «Название категории» (текстовый тип данных).
|Код категории |Название категории |
|1223 |Иммуностимулирующее |
|10 |Антисептик |
|2 |Снотворное |
|3 |Жаропонижающее |
|6 |Сосудосужающее |
|7 |БАД |
|8 |Анорексиген |

Рис.2.3. Таблица «Категории»


Таблица «Препараты» (Рис.2.4) имеет шесть полей: «Номер препарата» (тип данных числовой), «Название» (текстовый тип данных), «Категория» (текстовый тип данных), «Код производителя» (числовой тип данных), «Срок хранения» (числовой тип данных), «Отпуск без рецепта» (логический тип данных).


|№Препарата |Название |Категория |Код производителя |Срок хранения |Рецепт |


|2 |Ревит |Антисептик |10 |14 |Нет |
|3 |Капазол |БАД |12 |10 |Нет |
|4 |Сахол |Жаропонижающее |13 |6 |Нет |
|5 |Гептрал |Иммуностимулирующее |14 |12 |Да |
|6 |Бишофит |Снотворное |123 |12 |Да |
|7 |Энтерол |Сосудосужающее |10 |24|Нет |

Рис.2.4. Таблица «Препараты»


Таблица «Хранение»(Рис.2.5) имеет три поля: «№ аптеки» (числовой тип данных), «Препарат» (числовой тип данных) и «Наличие» (логический тип данных).
|№ Аптеки |Препарат |Наличие |
|41 |Храп |Нет |
|12323 |Гептрал |Есть |
|33234 |Капазол |Есть |
|78877 |Ревит |Нет |
|65555 |Гептрал |Есть |
|76765 |Энтерол |Нет |
|56565 |Сахол |Есть |

Рис.2.5. Таблица «Хранение»


Таблица «Продажа» (Рис.2.6) имеет семь полей: «Код покупки» (тип данных числовой), «Номер аптеки» (Числовой тип данных), «Препарат» (текстовый тип данных), «Дата покупки» (дата/время), «Цена» (денежный тип данных), «Количество» (числовой тип данных), «Стоимость» (денежный тип данных).


|Код покупки |№ Аптеки |Препарат |Дата покупки |Цена |Количество |Стоимость |


|2 |12323 |Гептрал |05.05.09 |20 |2 |40 |
|3 |33234 |Капазол |15.09.10 |45 |1 |45 |
|4 |78877 |Ревит |31.12.09 |24 |2 |48 |
|6 |65555 |Гептрал |01.03.10 |12 |3 |36 |
|8 |76765 |Энтерол |13.07.10 |56 |1 |56 |

Рис.2.6. Таблица «Продажа»


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

2.3. Связи базы данных

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


Обычно одна таблица связей описывает взаимосвязь двух сущностей. Поскольку таблицы сущностей в простейшем случае имеют по одному ключевому полю, то таблица связей двух таблиц для обеспечения уникальности записей о связях должна иметь два ключа.
Более сложные связи следует сводить к бинарным. Транзитивных связей и избытка связей не должно быть. Не следует включать в таблицы связей характеристики сущностей, иначе неизбежны аномалии. Их лучше хранить в отдельных таблицах сущностей.
При работе с таблицами связей следует иметь в виду, что любая запись из таблицы связей легко может быть удалена, поскольку сущности некоторое время могут обойтись и без связей. При добавлении или изменении содержимого записей таблицы надо контролировать правильность ссылок на существующие объекты, так как связь без объектов существовать не может. Наличие связей между таблицами позволяет включать данные из нескольких таблиц в запросы, формы и отчёты. Таблицы связываются между собой через ключевые поля.
Выделяют следующие виды связей:
1. Многие ко многим. Один поставщик поставляет много товара и одно наименование товара может поставлять много поставщиков.
2. Один ко многим. Один поставщик может заключить много договор на поставку товара с оптовой базой и в одном договоре может участвовать только один поставщик.
3. Многие к одному. Множество клиентов обслуживаются у одного врача.
4. Один к одному. Договор может содержать только один счет.
2.4. Схема данных «База данных о продаже аптечных медпрепаратов»
После создания таблиц, связываем их в единую схему данных в соответствии с описанием связей.

Полученная схема данных представлена на Рис.2.7.


[pic]

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


ВЫВОД: данный раздел содержит описание структуры каждой таблицы базы данных, а также связи между ними.

Достарыңызбен бөлісу:
  1   2




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет