Структура базы данных может быть представлена в следующем виде:
Рис. 1. Таблица “клиенты”.
Рис. 2 – Таблица “Сотрудники”
Рис. 3 – Таблица “Описание услуг”
Рис. 4 – Таблица “Оказание услуг”
Рис. 5 – Таблица “Схема данных”
Рис. 6 – Таблица “Выполненные заказы”
Рис. 7 – Таблица “Невыполненные заказы”
Рис. 8 – Таблица “Заказы по клиенту ”
Рис. 9 – Таблица “Заказы по сотруднику”
Рис. 10 – Таблица “Заказы по услуге”
Рис. 11 – Таблица “Отчёт о заказе”
Рис. 12 – Таблица “Стоимость заказа”
Создаем статические запросы. В обозревателе объектов "Microsoft SQL Server 2008" все запросы БД находятся в папке "Представления".
Запрос – команда, которую вы даете вашей программе БД, и которая сообщает ей, чтобы она вывела определенную информацию из таблиц в память. Эта информация обычно посылается непосредственно на экран компьютера или терминала которым вы пользуетесь, хотя, в большинстве случаев, ее можно также послать принтеру, сохранить в файле (как объект в памяти компьютера), или представить как вводную информацию для другой команды или процесса.
Все запросы на получение практически любого количества данных из одной или нескольких таблиц выполняются с помощью предложения SELECT. В общем случае результатом реализации предложения SELECT является другая таблица.
Создадим запрос “Отдел кадров”. Он связывает таблицы "Сотрудники" и "Должности" по полю "Код должности". Программный код представлен на рис 9
Рис. 9 – Запрос “Отдел кадров”
Аналогично создаем запросы “Риски полисов”, “Список клиентов” и “Список полисов”.
Рис. 10 – Запрос “Риски полисов”
Рис. 11 – Запрос “Список клиентов”
Рис. 12 – Запрос “Список полисов”
Представления, или просмотры (VIEW), – это временные, производные (иначе - виртуальные) таблицы. Они являются объектами БД, информация в которых не хранится постоянно, как в базовых таблицах, а формируется динамически при обращении к ним. Обычные таблицы относятся к базовым, т.е. содержащим данные и постоянно находящимся на устройстве хранения информации. Представление не может существовать само по себе, а определяется только в терминах одной или нескольких таблиц. Применение представлений позволяет разработчику БД обеспечить каждому пользователю или группе пользователей наиболее подходящие способы работы с данными, что решает проблему простоты их использования и безопасности. Содержимое представлений выбирается из других таблиц с помощью выполнения запроса, причем при изменении значений в таблицах данные в представлении автоматически меняются. Представление - это фактически тот же запрос, который выполняется всякий раз при участии в какой-либо команде. Результат выполнения этого запроса в каждый момент времени становится содержанием представления. У пользователя создается впечатление, что он работает с настоящей, реально существующей таблицей.
Создаем представления (фильтры):
- для отображения сотрудников отдельных должностей (на основе запроса "Отдел кадров"),
- для отображения клиентов отдельных групп (На основе запроса "Список клиентов").
- для отображения полисов отдельных видов (На основе запроса "Список полисов").
- для отображения полисов по которым производились выплаты и по которым не производились выплаты (На основе запроса "Список полисов").
- для оконченных и неоконченных полисов (На основе запроса "Список полисов").
Фильтры создаются на основе запросов. Они будут основаны на запросах нашей базы данных. В окне "Таблицы" перейдем на вкладку "Представления" и добавим новый запрос. Затем установим критерий отбора записей в фильтре. Программный код готового фильтра будет иметь вид, представленный на рис.13.
Рис. 13 – Фильтр “Отдел кадров”
Аналогично создаем остальные фильтры.
Рис. 14 – Фильтр “Список клиентов”
Рис. 16 – Фильтр “Выплаты”
2.3 Создание проекта в среде разработки “Microsoft Visual Studio 2008”
Создаем пользовательский интерфейс нашей БД в "Microsoft Visual Studio 2008". Его создание начнем с создания главной кнопочной формы. Для создания кнопки на панели объектов необходимо нажать кнопку
а затем нарисовать прямоугольник мышью на форме, удерживая ЛКМ.
Внешний вид готового внешнего интерфейса примет вид, показанный на рисунке 18.
Рис. 18 – Внешний вид кнопочной формы
Программный код рабочей базы данных примет вид:
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Form2.Show()
End Sub
Private Sub Button8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button8.Click
Form3.Show()
End Sub
Private Sub Button7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button7.Click
Form4.Show()
End Sub
Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click
Form5.Show()
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Form6.Show()
End Sub
Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
Form7.Show()
End Sub
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
Form8.Show()
End Sub
Private Sub Button9_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button9.Click
Form9.Show()
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
Form10.Show()
End Sub
Private Sub Button10_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button10.Click
Form11.Show()
End Sub
Private Sub Button16_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button16.Click
Form12.Show()
End Sub
Private Sub Button15_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button15.Click
Form13.Show()
End Sub
Private Sub Button14_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button14.Click
Form14.Show()
End Sub
Private Sub Button13_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button13.Click
Form15.Show()
End Sub
Private Sub Button12_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button12.Click
Form16.Show()
End Sub
Private Sub Button11_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button11.Click
Form17.Show()
End Sub
End Class
Заключение
В ходе курсового проектирования создана информационная система для предметной области “Рекламное агентство ”.
Разработана структура базы данных, состоящей из 12 таблиц, и сформулированы запросы на языке SQL для вывода наиболее часто запрашиваемой информации. Для ограничения целостности базы данных созданы 3 триггера, а для вывода и обработки данных из нескольких таблиц были реализованы представления.
Таким образом, спроектированная база данных может удовлетворить потребности администрации, менеджеров и агентов, работающих в рекламном агентстве.