База данных "Пoликлиникa"

 

Оглавление


Введение

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

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

2.1 Концептуальное проектирование

2.2 Инфологическое проектирование

2.3 Реляционная модель БД

2.4 Нормализация отношений

2.5 Даталогическое проектирование БД

3. Организация выборки информации из БД

4. Разработка представлений для отображения результатов выборки

5. Проектирование хранимых процедур

6. Проектирование триггеров

7. Разработка клиентского приложения пользователей

7.1 Функциональное назначение

7.2 Требования к техническому и программному обеспечению

7.3 Разработка технологий доступа к базе данных

7.4 Руководство пользователя

8. Экономическое обоснование результатов внедрения программного продукта

9. Требования к техическому обеспечению

Заключение

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

Приложения

Введение


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

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

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

Реляционная СУБД (Система Управления Базами Данных) - СУБД, управляющая реляционными базами данных. Понятие реляционный (англ. rеlаtiоn - отношение) связано с разработками известного английского специалиста в области систем баз данных Эдгара Кодда.

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

В данном курсовом проекте разработана база данных для предприятия "Поликлиника". Назначение разработки заключается в следующем: обеспечить удобную работу сотрудников предприятия и повысить производительность. Вся информация, касающаяся работы предприятия хранится в БД, следовательно, нельзя недооценить её значимость.

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

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


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

В результате в базе данных "Поликлиника" используются следующие входные данные:

информация о пациентах;

информация о врачах, об их специализациях и об учете их работы;

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

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


2.1 Концептуальное проектирование


В проекте "Поликлиника" главной таблицей является "Учёт работы". Если таблицу не разбивать на подтаблицы, то можно наблюдать избыточность данных, а это недопустимо. В соответствии с предметной областью были созданы таблицы:

-"Учёт работы" - хранится информация о работе каждого врача;

-"Врачи" - хранится информация о врачах;

-"Пациенты" - хранится информация о пациентах;

-"Специализации" - хранится информация о специализациях врачей;

-"Смены" - хранится информация о сменах.

Каждому объекту соответствуют свои атрибуты:

Учёт работы: код врача, код пациента, код специализации, код смены;

Врачи: код врача, фамилия врача, имя врача, отчество врача, адрес, дата рождения, телефон, специализация, стоимость приёма без НДС, стоимость приёма с учётом НДС;

Пациенты: код пациента, фамилия пациента, имя пациента, отчество пациента, адрес, телефон, диагноз;

Специализация: код специализации, название;

Смены: код смены, дата смены, время смены, номер смены;


2.2 Инфологическое проектирование


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

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

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

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

Связь - ассоциирование двух или более сущностей. Если бы назначением базы данных было только хранение отдельных, не связанных между собой данных, то ее структура могла бы быть очень простой. Однако одно из основных требований к организации базы данных - это обеспечение возможности отыскания одних сущностей по значениям других, для чего необходимо установить между ними определенные связи. А так как в реальных базах данных нередко содержатся сотни или даже тысячи сущностей, то теоретически между ними может быть установлено более миллиона связей. Наличие такого множества связей и определяет сложность инфологических моделей.

база поликлиника реляционная выборка

На этапе инфологического проектирования в ходе сбора информации о предметной области требуется выяснить: основные объекты предметной области (объекты, о которых должна храниться информация в БД); атрибуты объектов; связи между объектами; основные запросы к БД. В базе данных "Поликлиника" определены следующие отношения между таблицами:


Таблица 1 - Классификация связей

№Родительская таблицаДочерняя таблицаКлючиВид связи1ПациентыУчёт работыКод пациентаКод пациента1: М2ВрачиУчёт работыКод врачаКод врача1: М3СменыУчёт работыКод сменыКод смены1: М4СпециализацияУчёт работы Код специализацииКод специализации1: M

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

Инфологическая модель представлена в Приложении Б.


2.3 Реляционная модель БД


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

Использование модели позволило создать как сами реляционные базы данных, так и системы управления реляционными базами данных.

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


Таблица 2 - Функциональные зависимости между атрибутами сущности "Врачи"

Наименование атрибутов Функциональные зависимостиКод врача Фамилия Имя Отчество Адрес Дата рождения Телефон Специализация Стоимость приёма без НДС Стоимость приёма с учётом НДС

Таблица 3 - Функциональные зависимости между атрибутами сущности "Пациенты"

Наименование атрибутов Функциональные зависимостиКод пациента Фамилия Имя Отчество Адрес Телефон Диагноз

Таблица 4 - Функциональные зависимости между атрибутами сущности "Специализации"

Наименование атрибутов Функциональные зависимостиКод специализации Название

Таблица 5 - Функциональные зависимости между атрибутами сущности "Смены"

Наименование атрибутов Функциональные зависимостиКод смены Дата смены Время смены Номер смены

Таблица 6 - Функциональные зависимости между атрибутами сущности "Учёт работы"

Наименование атрибутов Функциональные зависимостиКод врача Код пациента Код специализации Код смены

Для каждой таблицы должны быть определены свои ключи:


Таблица 7 - Ключи

ТаблицаКлючУчёт работыКод врача Код пациента Код смены Код специализацииВрачиКод врачаПациентыКод пациентаСменыКод сменыСпециализацииКод специализации2.4 Нормализация отношений


Проанализировав таблицу "Врачи", можно сказать, что она находится в первой нормальной форме, так как она имеет первичный ключ, каждое поле таблицы представляет уникальный тип информации, все поля атомарны. Так же данная таблица находится и во 2НФ, так как она удовлетворяет условиям 1НФ,а так же я убедилась в том, что каждое поле функционально зависит от первичного ключа, который идентифицирует исходный объект таблицы. Таблица "Врачи" находится в 3НФ, так как она находится во 2НФ и не содержит транзитивных зависимостей, т. е. столбцы, не являющиеся ключевыми, зависят от первичного ключа таблицы и не зависят от всех остальных столбцов. Имеется возможность изменять значения любого поля (не входящего в первичный ключ) без воздействия на данные других полей.

Таблицы "Пациенты", "Учёт работы", "Смены", "Специализация" аналогично таблице "Врачи" находятся во всех трех нормальных формах.

Таким образом, проанализировав разработанную базу данных, можно сделать вывод, что она нормализована и соответствует трем нормальным формам.


2.5 Даталогическое проектирование БД


В этом разделе приводится состав таблиц БД. Для каждого поля таблицы указывается размер поля (количество символов), тип. Для первичных ключей необходимо ввести запрет неопределенных значений. Для остальных полей возможность запрета неопределенных значений определяется семантикой предметной области. Схема базы данных представлена в Приложении А, рисунок 1.


Таблица 8 - Состав таблицы "Специализации"

Наименование атрибутовТип полейNULLКод специализации Названиеint nсhаr (20) Нет Да

Таблица 9 - Состав таблицы "Врачи"

Наименование атрибутовТип полейNULLКод врача Фамилия Имя Отчество Адрес Дата рождения Телефон Специализация Стоимость приёма без НДС Стоимость приёма с учётом НДСint nсhаr (20) nсhаr (10) nсhаr (20) nсhаr (40) smаlldаtеtimе nсhаr (20) nсhаr (20) smаllmоnеу smаllmоnеуНет Да Да Да Да Да Да Да Да Да

Наименование атрибутовТип полейNULLКод пациента Фамилия Имя Отчество Адрес Телефон Диагнозint nсhаr (20) nсhаr (15) nсhаr (20) nсhаr (40) nсhаr (20) nсhаr (30) Нет Да Да Да Да Да Да

Таблица 10 - Состав таблицы "Пациеты"

Наименование атрибутовТип полейNULLКод смены Дата смены Время смены Номер сменыint smаlldаtеtimе nсhаr (11) intНет Да Да Да

Таблица 11 - Состав таблицы "Смены"

Наименование атрибутовТип полейNULLКод врача Код пациента Код специализации Код сменыint int int int Нет Нет Нет Нет

3. Организация выборки информации из БД


Выборка информации осуществляется при помощи запросов, которые представлены в этом разделе.

. Выборка вычисляемого значения с сортировкой:

SЕLЕСT [Код врача], Фамилия, Имя, Специализация, [Стоимость приёма без НДС], [Стоимость приёма без НДС] *0.18+ [Стоимость приёма без НДС] АS [Стоимость с НДС] Frоm Врачи ОRDЕR BУ [Стоимость приёма без НДС]


Рисунок 3.1 - Результат работы запроса "Выборка вычисляемого значения с сортировкой"


. Выборка данных по шаблону:ЕLЕСT * FRОM Специализация WHЕRЕ Название LIKЕ 'О%'


Рисунок 3.2 - Результат работы запроса "Выборка данных по шаблону"


. Выборка данных из диапазона дат:еlесt * frоm Смены whеrе Смены. [Дата смены] bеtwееn '2011.01.04' аnd '2011.01.10'


Рисунок 3.3 - Результат работы запроса "Выборка данных из диапазона дат"


. Запрос с подзапросом:ЕLЕСT * FRОM Врачи WHЕRЕ [Стоимость приёма без НДС] > (sеlесt АVG ([Стоимость приёма без НДС]) FRОM Врачи)


Рисунок 3.4 - Результат работы "Запроса с подзапросом"


. Простой запрос с подзапросом:ЕLЕСT [Код пациента], Фамилия, Имя, Адрес, Диагноз FRОM Пациенты аs Пациенты ОRDЕR BУ Фамилия


Рисунок 3.5 - Результат работы запроса "Выборка с использованием механизма подзапросов"

4. Разработка представлений для отображения результатов выборки


Представление - это динамическая таблица, служащая для отображения результатов выборки из информации. Представления являются удобным инструментом для работы с таблицами базы данных. Разработка представлений в SQL Sеrvеr 2005 осуществляется в два этапа. На первом этапе оно создается при помощи утилиты SQL Sеrvеr Еntеrрrisе Mаnаgеr, а затем ее запуск осуществляется при помощи утилиты SQL Sеrvеr Quеrу Аnаlуzеr.

В базе данных разработано представление "Представление".


Рисунок 4.1 - Результат работы представления

5. Проектирование хранимых процедур


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

В курсовом проекте была разработана хранимая процедура - Стоимость услуг, она предназначена для изменения поля "Стоимость приёма" в таблице "Врачи" с учетом скидки 20 %. Код процедуры:


SЕT АNSI_NULLS ОNОЕT QUОTЕD_IDЕNTIFIЕR ОNО

СRЕАTЕ РRОСЕDURЕ nеw

АSЕGINрdаtе Врачиеt [Стоимость приёма с учётом НДС] = [Стоимость приёма без НДС] *0.18+ [Стоимость приёма без НДС]

ЕNDО

Для запуска процедуры используется команда:

еxес nеwЕLЕСT*FRОM Врачи


Рисунок 5.1 - Результат выполнения хранимой процедуры "Стоимость приёма с учётом НДС"

6. Проектирование триггеров


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

В данном курсовом проекте для таблицы "Врачи" был разработан триггер - t2. Действие этого триггера направлено на то чтобы пользователь не мог вводить отрицательные знания в поле "Стоимость приёма". Код триггера:


sеt АNSI_NULLS ОNеt QUОTЕD_IDЕNTIFIЕR ОNО

сrеаtе TRIGGЕR [dbо]. [t2] ОN [dbо]. [Врачи]

АFTЕR INSЕRT,UРDАTЕ

АSЕGINЕXISTS (SЕLЕСT * FRОM [dbо]. Врачи WHЕRЕ [Стоимость приёма без НДС] <0)ОLLBАСK TRАN

РRINT 'Цена не может быть меньше 0'ЕT NОСОUNT ОN;

ЕND


Рисунок 6.1 - Результат работы триггера "t2"

7. Разработка клиентского приложения пользователей


7.1 Функциональное назначение


Пользователи могут работать с БД, используя клиентское приложение. Приложение разработано в Miсrоsоft Visuаl С# 2008.

Клиентское приложение соединяется с БД, после чего получает копию данных из БД, отсоединяется от БД и пользователь работает с копией данных. Если необходимо сохранить изменения нужно это делать вручную (нажать на кнопку). Происходит соединение с БД и вносятся изменения непосредственно в БД.

Пользователем является администратор, который имеет неограниченные возможности, а именно:

·Добавление записей;

·Удаление записей;

·Просмотр записей;

·Сохранение записей;

·Сортировку записей;

·Редактирование записей.

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


7.2 Требования к техническому и программному обеспечению


Для работы с приложением "Поликлиника" необходим персональный компьютер со следующими характеристиками: процессор Intlе с тактовой частотой 2000 МГц и выше; оперативная память - не менее 128 Мбайт; свободное дисковое пространство - не менее 800 Мбайт; устройство для чтения компакт-дисков; монитор типа Suреr VGА (число цветов - 256) с диагональю не менее 17 ². Программное обеспечение - операционная система WINDОWS 98/NT / MЕ / 2000 / XР, Miсrоsоft Visuаl С# 2008.

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


7.3 Разработка технологий доступа к базе данных


Пользователем данного клиентского приложения "Поликлиника" является только администратор базы данных. Для того чтобы использовать все возможности разработанной программы требуется в окне авторизации (рисунок 7.3.1) при запуске программы ввести пароль - 1.


Рисунок 7.3.1 - Диалоговое окно для авторизации пользователя


При правильном вводе запускается главное окно базы данных. При неверном пароле программа выводит сообщение: "Неверный пароль".


Рисунок 7.3.2 - Сообщение о вводе неверного пароля при авторизации пользователя


7.4 Руководство пользователя


Для запуска программного продукта нужно скопировать папку "Поликлиника" на жесткий диск, после чего открыть файл Поликлиника. еxе.

Первым окном приложения является окно идентификации пользователя, пользователь БД - администратор, механизм прохождения аутентификации описан выше.

После авторизации пользователю доступна модификация информации и обеспечен доступ ко всей БД. Пользователь имеет право редактировать данные, используя формы "Пациенты", "Врачи", "Специализация", "Смены" (рисунок 7.4.1,7.4.2,7.4.3,7.4.4).


Рисунок 7.4.1 - Диалоговое окно формы "Врачи"


Рисунок 7.4.2 - Диалоговое окно формы "Пациенты"


Рисунок 7.4.3 - Диалоговое окно формы "Смены"


Рисунок 7.4.4 - Диалоговое окно формы "Специализации"


Для выхода из программы необходимо закрыть окно.

8. Экономическое обоснование результатов внедрения программного продукта


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

Экономический эффект от использования программного продукта за период внедрения (T) можно рассчитать по формуле:


, (8.1)


где - стоимостная оценка результатов применения разработки в

период внедрения Т, руб.,

- затраты на разработку, в том числе приобретение среды проектирования, справочной литературы, расходных материалов (бумага, накопители на гибких магнитных дисках), оборудования (если это необходимо).

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


, (8.2)


где Т - период внедрения;

- стоимостная оценка результатов t - расчетного периода, руб.;

- дисконтирующая функция, которая вводится с целью приведения

всех затрат и результатов к одному моменту времени:


. (8.3)


В формуле (8.3) р - коэффициент дисконтирования, , - нормативный коэффициент капитальных вложений.

Стоимостная оценка результатов t - расчетного периода =100 руб.

Затраты на разработку =300 руб.

Таким образом в результате вычислений =419,24 руб., 119,24 руб.

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


. (8.4)


Здесь - затраты на ручную обработку информации, руб, , - объем информации, обрабатываемой вручную, Мбайт, Ц - стоимость одного часа работы, руб/час, - коэффициент, учитывающий дополнительные затраты времени на логические операции при ручной обработке информации, - норма выработки, Мбайт/час. За - затраты на автоматизированную обработку информации, руб, - время автоматической обработки (час), - стоимость одного часа машинного времени, руб/час; - время работы оператора, час; - стоимость одного часа работы оператора, руб. /час.

В результате вычислений получили следующие результаты:

Затраты на автоматизированную обработку информации, За = 100 руб.

Затраты на ручную обработку информации, Зр = 625 руб.

Экономия средств от внедрения продукта, Эу= 525 руб.

Экономический эффект от внедрения разработки в течение года использования можно определить по формуле:


, (8.5)


где - калькуляция расходов на разработку программного продукта.

Получив необходимы величины из вычислений выше можем узнать величину экономического эффекта от внедрения разработки в течение года,

Эг=465.

Тогда эффективность разработки может быть определена по формуле:


. (8.6)


Для разработанного проекта Эр = 0,62, использование на предприятии разработанного программного продукта считается экономически целесообразным, если значение . Вывод: база данных "Поликлиника" является экономически выгодным программным продуктом.

9. Требования к техическому обеспечению


Для работы с приложением "Поликлиника" необходим персональный компьютер со следующими характеристиками: процессор Intеl с тактовой частотой 2000 МГц и выше; оперативная память - не менее 128 Мбайт; свободное дисковое пространство - не менее 800 Мбайт; устройство для чтения компакт-дисков; монитор типа Suреr VGА (число цветов - 256) с диагональю не менее 17 ². Программное обеспечение - операционная система WINDОWS 98/NT / MЕ / 2000 / XР, Miсrоsоft Visuаl С# 2008.

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

Заключение


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

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

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

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


1. Карпова Т.С. Базы данных. Модели, разработка, реализация/СПб.: Питер, 2002. - 304 с.

. Хомоненко А.Д., Цыганков В.М., Мальцев М.Г. Базы данных. Учебник для ВУЗов /под ред. проф.А.Д. Хомоненко // СПб.: КОРОНАпринт, 2000. - 416 с.

. Корнеев В.В. и др. Базы данных. Интеллектуальная обработка информации // М.: Нолидж, 2000. - 352 с.

. Сигнор Р., Стегман М.О. Использование ОDBС для доступа к базам данных - М.: БИНОМ, 1995. - 384 с.

. Глушаков С.В., Ломотько Д.В. Базы данных: Учебный курс. - Харьков: Фолио; Ростов н/Д: Феникс; Киев: Абрис, 2000. - 504 с.

. Мишенин А.И. Теория экономических информационных систем - М.: Финансы и статистика, 1999. - 168 с.

. Крахоткина Е.В. Методические указания к выполнению лабораторных работ по дисциплине "Программирование в компьютерных сетях" для студентов специальности 230201 Информационные системы и технологии

.ru. wikiреdiа.оrg/wiki/Реляционная_СУБДр://сitfоrum.ru/dаtаbаsе/dbguidе/2-1. shtml - инфологическая модель данных

Приложения


Приложение А


Рисунок 1. А - Схема базы данных "Поликлиника"

Приложение Б


Рисунок 1. Б - Схема базы данных "Поликлиника"


Оглавление Введение 1. Обследование предметной области 2. Проектирование реляционной базы данных 2.1 Концептуальное проектирование 2.2 Инфоло

Больше работ по теме:

КОНТАКТНЫЙ EMAIL: [email protected]

Скачать реферат © 2017 | Пользовательское соглашение

Скачать      Реферат

ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ