Наименование атрибутов
|
Тип полей
|
NULL
|
Код_аптеки
|
int
|
|
Название_аптеки
|
text
|
|
Адрес_аптеки
|
text
|
|
Телефон_аптеки
|
numeric(10)
|
|
Код_сотрудника
|
int
|
|
Ключи таблицы: Код_аптеки (первичный ключ).
2.2.1 Диаграмма связи
по полям
3. ОРГАНИЗАЦИЯ
ВЫБОРКИ ИНФОРМАЦИИ ИЗ БД
Запросы в БД создаются пользователем для выборки нужных
данных из одной или нескольких связанных таблиц.
Он представляет команду, которые обращаются к базе данных и
сообщает ей, чтобы она отобразила определенную информацию из таблиц.
В данной работе все запросы написаны с помощью языка SQL. Которые состоят из одиночной
команды SELECT с достаточно простой структурой,
однако, путем ее использования можно выполнить сложную обработку данных.
С помощью запроса можно также обновить, удалить или добавить данные в
таблице или создать новые таблицы на основе уже существующих. Рассмотрим
приведенные ниже запросы:
. Запрос вычисляемых значений с помощью стандартных функций
SELECT MIN (цена) as Минимальный,MAX(цена)as
Максимальный,AVG(цена)as Средний FROM
Заказы - запрос выводит информацию о минимальной, максимальной и средней цене
заказа. Результат данного запроса приведен на рисунке 3.1.
2. Запрос с сортировкой по убыванию
SELECT
* FROM Товары ORDER BY Имеется_товаров desc - сортируем записи по убыванию по полю Имеется_товаров. Результат
данного запроса приведен на рисунке 3.2.
Рисунок 3.2 - Сортировка по убыванию
3. Запрос с оператором between* FROM Заказы WHERE цена between 100 AND
400 - производится выборка записей из таблицы «Заказы» поле цена которых
находится в диапазоне значений от 100 до 400. Результат данного запроса
приведен на рисунке 3.3.
Рисунок 3.3 - Запрос с оператором Between
4.Запрос с оператором in
SELECT
* FROM Заказы WHERE цена in
(20,150,400) - выбираем записи где цена 20,150,400. Результат данного запроса
приведен на рисунке 3.4.
Рисунок 3.4 - Запрос с оператором in
5. Запрос с оператором like
SELECT
Код_аптеки, Название_аптеки, Адрес_аптеки, Тел_аптеки FROM Аптеки WHERE
Название_аптеки LIKE 'Б%' - выбираем записи из таблицы «Аптеки»,
которые начинаются с символа «Б». Результат данного запроса приведен на рисунке
3.5.
Рисунок 3.5 - Условная выборка с оператором like
6. Запрос из связных таблицСотрудники.ФИО_сотрудника, Аптеки.Название_аптеки
FROM Сотрудники, Аптеки WHERE Аптеки.Код_сотрудника=Сотрудники.Код_сотрудника -
показывает имя сотрудника и аптеку, в которой он работает. Результат данного
запроса приведен на рисунке 3.6.
Рисунок 3.6 - Выборка из связных таблиц
7. Естественное соединениеТовары.Название_товара, Товары.Код_товара,
Поставщики.Название_поставщика FROM Товары INNER JOIN Поставщики ON
Товары.Код_поставщика = Поставщики.Код_поставщика - результатом данного запроса
является множество которое представляет собой выборку всего товара и
устанавливает в соответствии с кодом поставщика названиепоставщика. Результат
данного запроса приведен на рисунке 3.7.
Рисунок 3.7 - Естественное соединение
8. Запрос по дате* FROM Заказы WHERE Дата between '15.02.2011' AND
'13.05.2011' - выборка заказов, которые были заказаны в промежутке 15.02.2011
по 13.05.2011. Результат данного запроса приведен на рисунке 3.8.
Рисунок 3.8 - Запрос по дате
9.Запрос с подзапросом* from Заказы where цена>(select AVG(цена) from
Заказы) - выборка заказов, цена которых больше средней. Результат данного
запроса приведен на рисунке 3.9.
Рисунок 3.9 - Запрос с подзапросом
10. Запрос с условием.
SELECT
* FROM Заказы WHERE цена>300 - запрос производит выборку записей из
таблицы «Заказы» поле цена которых больше 300.
4.
РАЗРАБОТКА ПРЕДСТАВЛЕНИЙ для отображения результатов выборки
Представления - это сохраненные результаты SQL-запроса, при помощи
которых можно осуществлять доступ к данным таблицы, являющейся главной при его
разработке. Представления являются удобным инструментом для работы с таблицами
базы данных.
В базе данных «Аптечный склад» разработано одно представление:
«Представление_Аптеки_Сотрудники».
«Представление_Аптеки_Сотрудники». Данное представление содержит
информацию об аптеках, а так же информацию о сотрудниках, котрые работают в
аптеках. Информацию об аптеках составляет следующие поля: Код_аптеки,
Название_аптеки, Адрес_аптеки. Информацию о сотрудниках представляют поля:
ФИО_сотрудника и Тел_сотрудника. Данное представление выглядит следующим
образом:
Рисунок 4.1 - Представление - Аптеки_Сотрудники
5. ПРОЕКТИРОВАНИЕ
ХРАНИМЫХ ПРОЦЕДУР
Хранимые процедуры - представляют собой процессы, выполняемые
непосредственно на сервере баз данных. В данном курсовом проекте была
разработана хранимая процедура, которая называется - «Товар». Dанная процедура увеличивает данные в
указанном столбце. Код процедуры представлен ниже:
CREATE PROCEDURE NEW_Товар AS
UPDATE ТоварыКоличество_товаров=Количество_товаров+1
Проверка работоспособности созданной процедуры:
EXEC NEW_Товар
SELECT * FROM Товары
Результат данной процедуры:
Рисунок 5.1 - Результат хранимой процедуры
6.
Разработка механизмов управления данными в базе при помощи триггеров
Триггер являются особой разновидностью хранимых процедур, выполняемых
автоматически (срабатывающих) при модификации данных таблицы.
Триггеры находят разное применение - от проверки данных до обеспечения
сложных деловых правил.
Особенно полезным свойством триггеров является то, что они имеют доступ к
образам записи до и после модификации; таким образом, можно сравнить две записи
и принять соответствующее решение.
В курсовом проекте «Аптечный склад» разработано 3 триггера: «триггер для
вставки», «триггер для удаления», «триггер для обновления».
6.1 Триггер для
добавления данных
Код триггера для добавления данных:
CREATE TRIGGER [dbo].[InsertDealTrg1]
ON [dbo].[Çàêàçû]
FOR INSERT
- SET NOCOUNT ON added to prevent extra result sets from
- interfering with SELECT statements.NOCOUNT ON;
- Insert statements for trigger here(SELECT
Äàòà FROM Inserted) < getdate()
6.2 Триггер для удаления данных
Код триггера для удаления данных:
CREATE TRIGGER [dbo].[InsertDealTrg2][dbo].[Çàêàçû]
FOR DELETE
- SET NOCOUNT ON added to prevent extra result sets from
- interfering with SELECT statements.NOCOUNT ON;
- Delete statements for trigger here(SELECT
Äàòà FROM Deleted) < getdate()
6.3 Триггер для
обновления данных
CREATE TRIGGER [dbo].[UpdateDealTrg3]
ON [dbo].[Çàêàçû]
FOR UPDATE
- SET NOCOUNT ON added to prevent extra result sets from
- interfering with SELECT statements.NOCOUNT ON;
- Update statements for trigger here(SELECT
Äàòà FROM Updated) < getdate()
7. РАЗРАБОТКА ТЕХНОЛОГИЙ ДОСТУПА К
БАЗЕ ДАННЫХ
7.1 Выбор
пользователей базы данных
Пользователем данного клиентского приложения является только администратор
базы данных. Войти в систему можно только зная логин и пароль.
7.2 Разграничение полномочий
пользователя
Рисунок 7.1 - Окно авторизации
8.
Проектирование клиентского приложения
8.1 Функциональное
назначение
Пользователи могут работать с БД, используя клиентское приложение.
Приложение разработано с использованием языка программирования Microsoft Visual FoxPro 6.0.
Клиентское приложение соединяется с БД, после чего получает копию данных
из БД, отсоединяется от БД и пользователь работает с копией данных. Если
необходимо сохранить изменения нужно это делать вручную (нажать на кнопку).
Происходит соединение с БД и вносятся изменения непосредственно в БД.
Пользователем является администратор, который имеет неограниченные
возможности, а именно:
- Добавление записей;
- Удаление записей;
- Просмотр записей;
- Сохранение записей;
- Сортировку записей;
- Редактирование записей.
Также администратор может выполнять определенную выборку данных из таблиц
БД. Внутренние механизмы защиты и запросы на подтверждение критичных операций
предохраняют всех пользователей от случайных ошибок в процессе работы, которые
могут повлечь за собой нарушение целостности данных, и просто необдуманных
действий.
8.2 Описание входных
и выходных форм
В качестве входных данных выступает информация об объектах БД т.е. записи
в таблицах. В каждой таблице присутствует первичный ключ, отсюда следует, что
на входные данные накладывается ограничение на дублирование значений некоторых
атрибутов. В качестве выходных данных выступают экранные формы, в которых
отображены записи отношений БД.
На рисунке 8.1 представлено окно авторизации.
Рисунок 8.1 - Вход в систему
На рисунке 8.2 представлено главное меню приложения.
Рисунок 8.2 - Главная форма «Аптечный склад»
Для получения результатов выборки нужно выбрать пункт меню
«Запросы». А для того, чтобы просмотреть таблицы нужно выбрать соответствующую
кнопку.
9.
ОРГАНИЗАЦИЯ ОБМЕНА ДАННЫМИ МЕЖДУ ПРИЛОЖЕНИЯМИ
Одним из способов, с помощью которых различные приложения могут
подключиться базам данных SQL - sервера,
является интерфейс Open Database Connectivity (открытый интерфейс подключения к
базам данных). ODBC обеспечивает
набор функций программного интерфейса приложений (API), которые упрощают подключение к базам данных самых
различных форматов.
Доступ к базам данных в этом случае осуществляется с помощью драйверов ODBC, библиотек DLL, в которых содержатся функции для обеспечения таких
возможностей. Драйверы ODBC
устанавливаются в системе одновременно с установкой в ней утилит SQL - сервера.
Кроме этого они могут устанавливаться совместно с некоторыми приложениями и средствами
разработки, например с Microsoft Office. В поставке
комплекта Microsoft Office находится специальное приложение Microsoft Query, с помощью которого осуществляется формирование
запросов к базам данных. Это приложение запускается из Word и Excel,
после чего оно формирует запросы к базам данных для этих систем и возвращает им
результаты выполнения этих запросов (рисунок 9.1).
Рисунок 9.1 - Результат выполнения запроса с помощью приложения Microsoft Query
10. ЭКОНОМИЧЕСКОЕ ОБОСНОВАНИЕ
РЕЗУЛЬТАТОВ ВНЕДРЕНИЯ ПРОГРАММНОГО ПРОДУКТА
Любой pрограммный продукт, в том числе и
база данных, разрабатываются, а затем внедряются на предприятиях для того,
чтобы ускорить выполнение несложных, но занимающих достаточно много времени
операций, в том числе подготовка отчетной документации, составление табеля
рабочего времени, поиск необходимой информации для передачи в другие
организации.
Eкономический
эффект от использования программного продукта за период внедрения (T) можно рассчитать по формуле:
, (12.1)
где - стоимостная оценка результатов применения разработки в
период внедрения Т, руб.,
- затраты на разработку, в том числе приобретение среды
проектирования, справочной литературы, расходных материалов (бумага, накопители
на гибких магнитных дисках), оборудования (если это необходимо).
Стоимостная оценка результатов применения разработанного приложения за
период внедрения можно рассчитать по формуле:
, (12.2)
где Т - период внедрения; - стоимостная оценка результатов t - расчетного периода, руб.; - дисконтирующая функция, которая
вводится с целью приведения всех затрат и результатов к одному моменту времени:
. (12.3)
В формуле (9.3) р - коэффициент дисконтирования, , - нормативный коэффициент капитальных
вложений.
Стоимостная оценка результатов t - расчетного периода =200 руб.
Затраты на разработку =400 руб.
Таким образом, в результате вычислений =619,24 руб., 219,24 руб.
После замены ручной обработки информации на автоматизированную происходит
снижение затрат на ее обработку, тогда полученную экономию средств от внедрения
продукта можно рассчитать по формуле:
. (12.4)
Здесь - затраты на ручную обработку информации, руб, , - объем информации, обрабатываемой
вручную, Мбайт, Ц - стоимость одного часа работы, руб/час, - коэффициент, учитывающий
дополнительные затраты времени на логические операции при ручной обработке
информации, - норма выработки, Мбайт/час. За - затраты на
автоматизированную обработку информации, руб, - время автоматической обработки
(час), - стоимость одного часа машинного
времени, руб/час; - время работы оператора, час; - стоимость одного часа работы
оператора, руб./час.
В результате вычислений получили следующие результаты:
Затраты на автоматизированную обработку информации, За = 200
руб.
Затраты на ручную обработку информации, Зр = 855 руб.
Eкономия
средств от внедрения продукта, Эу= 745 руб.
Экономический эффект от внедрения разработки в течение года использования
можно определить по формуле:
, (12.6)
где - калькуляция расходов на разработку программного продукта.
Получив необходимы величины из вычислений выше можем узнать величину
экономического эффекта от внедрения разработки в течение года,
Эг=405.
Тогда эффективность разработки может быть определена по формуле:
. (12.7)
Для разработанного проекта Эр = 0,84, использование на предприятии
разработанного программного продукта считается экономически целесообразным,
если значение .
Вывод: база данных «Аптечный склад» является экономически выгодным
программным продуктом.
11.
Требования к техническому обеспечению
Для успешной эксплуатации программного продукта необходим персональный
компьютер со следующими характеристиками: процессор Intel Pentium с тактовой
частотой 800 МГц и выше, оперативная память - не менее 256 Мбайт, свободное
дисковое пространство - не менее 700 Мбайт, устройство для чтения
компакт-дисков, монитор типа Super VGA (число цветов - 256) с диагональю не
менее 15″, принтер.
Программное обеспечение: Операционная система WINDOWS 2000/XP и выше,
Платформа Net Framework 2.0 и выше, Microsoft Visual Studio 2005, MS Microsoft SQL Server 2005.
12.
Инструкция по эксплуатации базы данных и клиентского приложения
Для установки программного продукта «Аптечный склад» не требуется особых
усилий. Для этого нужно скопировать проект «Аптечный склад» на жесткий диск,
после чего открыть его в среде Visual Studio 2005 и прописать свойство Connection string с указанием
пути к БД «Аптечный склад». После указания пути необходимо скомпилировать и
запустить проект. Запуск проекта осуществляется двойным щелчком мыши по файлу
Аптечный склад из каталога проекта.
ЗАКЛЮЧЕНИЕ
В данной работе мною был разработан
проект базы данных «Аптечный склад». Был проведен анализ поставленной задачи с
последовательным её решением. Для разработки базы данных была выбрана среда MS SQL Server 2005. Был рассмотрен и усвоен предложенный
теоретический материал, что позволило более качественно и быстро справиться с
поставленными целями и задачами:
- Был разработан удобный для
пользователя интерфейс базы данных, включающий в себя все необходимые объекты;
- Изучена предметную область;
- Осуществлён выбор основного набора
данных, необходимых для составления базы данных и составление инфологической и
даталогической моделей.
- Практическая реализация базы данных
была выполнена;
- Создали вспомогательные элементы для
работы с базой данных (запросы);
- Таблицы были заполнены необходимыми
данными.
База данных обладает минимальной избыточностью, все таблицы находятся в
третьей нормальной форме, отсутствуют аномалии добавления, исключения,
модификации.
СПИСОК ИСПОЛЬЗУЕМЫХ
ИСТОЧНИКОВ ИНФОРМАЦИИ
1. Карпова Т.С. Базы данных. Модели, разработка,
реализация/СПб.: Питер, 2002. - 304 с.
. Хомоненко А.Д., Цыганков В.М., Мальцев М.Г. Базы данных.
Учебник для ВУЗов /под ред. проф.А.Д.Хомоненко // СПб.:КОРОНАпринт, 2000.- 416
с.
. Корнеев В.В. и др. Базы данных. Интеллектуальная обработка
информации // М.:Нолидж, 2000.- 352 с.
. Каратыгин С.А.,Тихонов А.Ф., Тихонова Л.Н. Visual FoxPro
6.0//М.: Бином, 1999-784С.
. Ханcен Г., Ханcен Д. Базы данных. Разработка и
управление/М.: Бином, 1999-704С.
. Глушаков С.В., Ломотько Д.В. Базы данных. Учебный курс //
Харьков: Фолио; Ростов н/Д : Феникс; Киев : Абрис, 2000. - 504 с.
. Игорева, Е.Л., Основы алгоритмизации и программирования
(3-е издание)./ И.И. Попов, О.Л. Игорева - М. : Инфа-М, 2006 - 432 с.
. Петгольц, Ч. Программирование для Microsoft Windows на C#.
В 3-х томах. Том 2. Пер. с англ./ Ч. Петгольц - М. : Издательско-торговый дом
«Русская редакция», 2002. - 576 с.
. Петгольц, Ч. Программирование для Microsoft Windows на C#.
В 3-х томах. Том 3 Пер. с англ./ Ч. Петгольц - М. : Издательско-торговый дом
«Русская редакция», 2002. - 624 с.
11. Гражданский кодекс РФ Части первая, вторая.
М.: Норма. - 2000.
Похожие работы на - База данных 'Аптечный склад'