Базы данных. Аптека

Автор работы: Пользователь скрыл имя, 29 Мая 2013 в 17:56, курсовая работа

Описание работы

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

Файлы: 1 файл

Курсовик БД Аптека.doc

— 434.00 Кб (Скачать файл)

Таблица 2.25– Лечение

Наименование термина

Примеры значений

Полное

Краткое

1

2

3

Код назначения

kodnazn

dihanie1

болезни

bolezni

Болезни органов дыхания


 

Словарь понятий и терминов для  сущности «Болезни органов дыхания» приведен в таблице 2.26

Таблица 2.26– Болезни органов дыхания

Наименование термина

Примеры значений

Полное

Краткое

1

2

3

Болезни органов дыхания

boldih

Пневмония

Код болезни органов дыхания

kboldih

dihanie1 4


 

Словарь понятий и терминов для  сущности «Болезни органов кровообращения» приведен в таблице 2.27

Таблица 2.27– Болезни органов кровообращения

Наименование термина

Примеры значений

Полное

Краткое

1

2

3

Болезни органов кровообращения

krovoobr

Аневризма аорты

Код болезни органов кровообращения

kodkrov

krovoobrac1


 

Словарь понятий и терминов для  сущности «Болезни органов пищеварения» приведен в таблице 2.28

Таблица 2.28– Болезни органов пищеварения

Наименование термина

Примеры значений

Полное

Краткое

1

2

3

Болезни органов пищеварения

bolzhkt

Гастрит

Код болезни органов пищеварения

kodzhkt

zh_k_t12


 

 

 

 

 

 

 

 


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2.2.2Диаграмма сущность – связь для предметной области.

 

 

2.3 Построение функциональных зависимостей

 

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

kodprepar, dataispoln, kodklient -> kodsotr .

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

kodsotr -> zarplata ,

zarplata -> kodsotr.

Не может такого быть, чтобы два поставщика имели одинаковый код поставщика:

nazvanie -> kodpost ,

kodpost -> nazvanie .

Не может такого быть, чтобы один и тот же препарат имел два одинаковых кода:

nazvanprep -> kodprep ,

kodprep -> nazvanprep .

 

Формальное описание функциональных зависимостей представлено на рисунке 2.1.

    kodprepar, dataispoln, kodklient -> kodsotr

    kodsotr -> zarplata

    nazvanie -> kodpost

    nazvanprep -> kodprep

    zarplata -> kodsotr

    kodpost -> nazvanie

    kodprep -> nazvanprep

    kodprep, kodnachen, kodpost -> nazvanprep, edizmer, cenazakup, cenarealiz

    kodzakaza, kodklient, kodsotr -> datarazmes, datanaznach, dataispoln, stoimdostav

    kodsotr -> familia, name, soname, dolzhnost, datarozhd, datanaima, addres, gorod, strana, telefon

    kodklient -> nazvanie, predstavitel, address, gorod, strana, telefon

    kodzakaza, kodpost -> kodprepar, cenarealiz, kolichestvo

    kodpost -> nazvanie, predstavitel, dolzhnost, address, gorod, strana, telefon

    kodgr -> gruppa

    kodvyazh -> vyazhobv

    kodgrup -> antibiot

    kodnazn -> bolezni

    kodanalg -> analget

    kodspazm -> spazmog

    kodantik -> antikoag

    kboldih -> boldih

    kodkrov -> krovoobr

    kodzhkt -> bolzhkt

    kodnepr -> antnepr

    kodpryam -> antpryam

    kodtetr -> tetrasik

    kodamin -> aminogl

    kodlev -> levomis

    kodmakr -> makrolid

    kodpen -> penisil

    kodgrib -> gribkov


Рисунок 2.1

2.4  Синтез схемы базы данных на основании

функциональных зависимостей

2.4.1 Построение неизбыточного покрытия

 

Минимизация системы функциональных зависимостей производится при помощи программы MINDB.

Результат работы программы приведен на рисунке 2.2.

 

 

Рисунок 2.2 – Построение неизбыточного покрытия

2.4.2    Построение леворедуцированного покрытия

Этапы построения леворедуцированного  покрытия представлены на рисунке 2.3.

 

Рисунок 2.3 - Построение леворедуцированного покрытия

2.4.3    Построение праворедуцированного покрытия

 

Этапы построения праворедуцированного покрытия представлены на рисунке 2.4

 

 

Рисунок 2.4- Построение праворедуцированного покрытия.

2.4.4   Построение минимального покрытия

 

Этапы построения классов эквивалентности представлены на рисунках 2.5(1)-(2). Этапы построения минимального покрытия представлены на рисунке 2.6.

 

 

 

 

 

 

 

 

 

 

 

 

Рисунок 2.5(1) - Построение классов эквивалентности

 

Рисунок 2.5 (2) - Построение классов  эквивалентности

 

Рисунок 2.6-Построение минимального покрытия.

2.4.5    Построение редуцированного минимального

кольцевого покрытия

Определение CF-зависимостей по классам эквивалентности представлено на рисунках 2.7 – 2.11.

 

Рисунок 2.7 - Построение редуцированного  минимального кольцевого

покрытия

Рисунок 2.8 - Построение редуцированного  минимального кольцевого покрытия

 

 

Рисунок 2.9 - Построение редуцированного минимального кольцевого

покрытия

Рисунок 2.10 - Построение редуцированного  минимального кольцевого

покрытия

 

Рисунок 2.11 - Построение редуцированного  минимального кольцевого

покрытия

2.5 Построение запросов на языке SQL.

Запрос на выборку

2.5.1   Словесная формулировка запроса

 

Вывести сведения о сотрудниках, получающих больше 20 000 и занимающих должность «заведующий-провизор», которые приняли заказ после 05/01/12 у клиента «РАОМЕД» на препарат «Аминазин» поставщика «НижФарм» в количестве 20.

 

2.5.2 Текст запроса на языке SQL

Текст запроса представлен на рисунке  2.12.

Рисунок 2.12

2.5.3 Исходное дерево запроса

Дерево запроса представлено на рисунке 2.13.

Рисун ок 2.13


2.5.4 Оптимизированное дерево запроса


Рисунок 2.14

2.5.5 Текст оптимизированного запроса на языке SQL

Текст оптимизированного запроса  представлен на рисунке 2.15.

select zarplata, kodsotr;

from staff;

where staff.zarplata > 15000;

into table a1;

 

select familia, kodsotr, dolzhnost;

from sotrudniki;

where sotrudniki.dolzhnost = "заведующий-провизор";

into table a2;

 

select kodsotr , kodklient, dataispoln, kodzakaza;

from zakazi;

where zakazi.dataispoln > DATE(2012,03,05);

into table a3;

 

select kodklient, nazvanie;

from klienti;

where klienti.nazvanie = "РАОМЕД";

into table a4;

 

select kodzakaza, kolichestvo, kodpost;

from zakazano;

where zakazano.kolichestvo = 20;

into table a5;

 

select kodpost, nazvanie;

from postavsiki;

where postavsiki.nazvanie = "НижФарм";

into table a6;

 

select kodpost, nazvanprep;

from preparati;

where preparati.nazvanprep = "Аминазин";

into table a7;

 

SELECT staff.zarplata,sotrudniki.familia,zakazi.kodklient,klienti.nazvanie,

zakazano.kodprepar,postavsiki.nazvanie, preparati.nazvanprep;

from((((((a1 inner join a2 on a1.kodsotr = a2.kodsotr);

inner join a3 on a3. kodsotr = a2. kodsotr);

inner join a4 on a4. kodklient = a3. kodklient);

inner join a5 ON a5.kodzakaza = a3. kodzakaza);

inner join a6 ON a6. kodpost = a5. kodpost);

inner join a7 ON a7. kodpost = a6. kodpost);

 

 

Заключение

 

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

Для достижения цели был  решен ряд задач: составление  описания предметной области; составление словаря понятий и терминов; построение исходной модели (ER-диаграммы) базы данных; определение функциональных зависимостей; синтез схемы базы данных на основании функциональных зависимостей; построение оптимизированной концептуальной модели; построение запросов.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Список литературы

 

  1. Токмаков, Г. П. Базы данных. Концепция баз данных, реляционная модель данных, языки SQL и XML: учебное пособие / Г. П. Токмаков. - Ульяновск: УлГТУ, 2010. - 192 с.
  2. Джексон, Г. Проектирование  реляционных баз данных для использования с микро-ЭВМ. [Текст] / Джексон Г. – М.:Мир, 1991.- 252 с.
  3. Горев, А. Эффективная работа с СУБД [Текст] / Горев А. Ахаян Р. Макашарипов С.– СПб.: Питер, 1997. – 704 с.
  4. Джеймс, Р. SQL: полное руководство: пер.с англ. [Текст] / Джеймс Р. Грофф, Пол Н. Вайнберг.– К.: Издательская группа BHV, 1999.-608 с.
  5. Чен, Питер Пин-Шен. Модель “сущность-связь”– шаг к единому представлению данных. [Текст] / Питер Пин-Шен Чен.СУБД,N3,1995, с.137.
  6. Структурный подход к организации баз данных. / [Текст] : Атре, Ш. - М.: Финансы и статистика, 1983. – 320 с.
  7. Дейт, К., Руководство по реляционной СУБД DB2. / [Текст] : Дейт, К. – М.: Финансы и статистика, 1988. – 320 с.
  8. Джексон, Г., Проектирование реляционных баз данных для использования с микроЭВМ. / [Текст] : Джексон, Г., -М.: Мир, 1991. – 252 с.
  9. Кириллов, В.В., Структуризованный язык запросов (SQL). / [Текст] : Кириллов, В.В., – СПб.: ИТМО, 1994. – 80 с.
  10. Мартин, Дж., Планирование развития автоматизированных систем. / [Текст] : Мартин, Дж., – М.: Финансы и статистика, 1984. – 196 с.
  11. Мейер, М., Теория реляционных баз данных. / [Текст] : Мейер, М.,– М.: Мир, 1987. – 608 с.
  12. Тиори, Т., Проектирование структур баз данных. / [Текст] : Тиори, Т., Фрай, Дж., В 2 кн., – М.: Мир, 1985. Кн. 1. – 287 с.: Кн. 2. – 320 с.

 

 


Информация о работе Базы данных. Аптека