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

 

Оглавление


Введение

Системный анализ и анализ требований к базе данных

ERD - Диаграмма

Программная реализация ER - диаграммы

Создание форм в Visual Studio 2012

Заключение

Список использованных источников

Введение


Эффективность работы любого предприятия зависит от систем обработки информации. Такая система должна:

· обеспечивать получение общих и/или детализированных отчетов по итогам работы;

· позволять легко определять тенденции изменения важнейших показателей;

· обеспечивать получение информации, критической по времени, без

существенных задержек;

· выполнять точный и полный анализ данных.

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

Для взаимодействия с пользователями используются системы управления базами данных (СУБД). Одной из таких СУБД является Microsoft SQL Server.

В настоящем отчете разработано теоретическое обоснование базы данных для её дальнейшей практической реализации.

Задачей отчета является системный анализ и анализ требований к базе данных, создание инфологической, логической и физической модели базы данных, генерация ее в SQL Server 2012, создание отчетов, запросов и форм в Visual Studio 2012.

1. Системный анализ и анализ требований к базе данных


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

Все сотрудники организации зарегистрированы в справочнике сотрудников. О каждом сотруднике хранится: ФИО, паспортные данные, адрес регистрации, ИНН, номер пенсионного страхования, отдел, должность, адрес электронной почты, рабочий телефон.

При регистрации заявки фиксируется:

-дата (с указанием часов и минут) регистрации заявки;

-дата планового времени исполнения заявки (назначается оператором по согласованию с сотрудником, подающим заявку);

-сотрудник, от которого она поступила;

-тема заявки (формирует оператор со слов сотрудника);

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

-текст заявки (формирует оператор со слов сотрудника).

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

Для сотрудников службы технической поддержки требуется разработать отдельный интерфейс.

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

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

1)динамка поступления заявок по дням за период, определенный пользователем:

-дата,

-количество заявок.

Итого - отдельной строкой - общее количество за период.

2)динамка поступления заявок по месяцам в разрезе рубрик за период, определенный пользователем:

-месяц, год,

-рубрика,

-количество заявок,

-среднее время исполнения заявки в данной рубрике.

Итого - отдельной строкой - общее количество за период.

3)динамка выполнения заявок по дням за период, определенный пользователем:

-дата,

количество заявок.

Итого - отдельной строкой - общее количество за период.

1) динамка выполнения заявок месяца в разрезе исполнителей за период, определенный пользователем,:

-исполнитель,

-месяц, год,

количество заявок.

Итого - отдельной строкой - общее количество за период.

2. ERD - диаграмма

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

Логическая модель

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


Рис. 1 - Логическая модель БД.


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

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

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

. Никакой из атрибутов первичного ключа не должен иметь нулевое значение.

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

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

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

Потенциальный ключ, который не стал первичным называется альтернативным ключом (Alternate key). Erwin может выделять атрибуты альтернативных ключей. В дальнейшем, по умолчанию генерируется уникальный индекс. Когда создается альтернативный ключ, на диаграмме рядом с атрибутом появляется символ (АК). В моей базе данных альтернативных ключей не было.

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

Физическая модель.

Рис. 2 - Физическая модель базы данных


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


Таблица 8 - Сопоставление компонентов логической и физической модели

Логическая модельФизическая модельСущностьТаблицаАтрибутСтолбецЛогический типФизический типПервичный ключПервичный ключ, индекс PKВнешний ключВнешний ключ, индекс FKАльтернативный ключИндекс AKПравило бизнес - логикиТриггер или сохраненная процедураВзаимосвязиВзаимосвязи, определяемые FK атрибутами

3. Программная реализация ER-диаграммы


Создаваться БД будет в MS SQL Server 2012, используя sql запросы.

Для удаления таблиц используем DROP TABLE <название таблицы>.


DROP TABLE zayvka;TABLE sotrudnoki;TABLE rubrika;TABLE otdely; TABLE doljnosty;


Для создания таблиц используются CREATE TABLE <название табл.>, в скобках указываем атрибуты с его свойствами (тип, ключ. поля, уникальность и т.д.). Для полей которые будут уникальны указываем свойство PRIMARY KEY.


CREATE TABLE [doljnosty](

[name] [varchar](40) PRIMARY KEY NOT NULL);

// создаем табл. otdelyTABLE [dbo].[otdely](

[name] [varchar](40) PRIMARY KEY NOT NULL);

// создаем табл. rubrikaTABLE [dbo].[rubrika](

[name] [varchar](40) PRIMARY KEY NOT NULL);

// создаем табл. sotrudnokiTABLE [dbo].[sotrudnoki](

[inn] [int] PRIMARY KEY NOT NULL,

[familia] [varchar](40) NOT NULL,

[name] [varchar](40) NOT NULL,

[otchestvo] [varchar](40) NOT NULL,

[pasport_nomer] [varchar](10) NOT NULL,

[pasport_seria] [varchar](10) NOT NULL,

[addres_gorod] [varchar](100) NULL,

[addres_ulica] [varchar](100) NULL,

[addres_dom] [varchar](10) NULL,

[addres_kvartira] [varchar](10) NULL,

[nomer_pensionnogo] [varchar](30) NULL,

[otdel] [varchar](40) NOT NULL,

[dolgnost] [varchar](40) NOT NULL,

[email] [varchar](50) NULL,

[phone] [varchar](20) NULL);


Если необходимо указать, что поле заполняется автоматически, то ставим свойство IDENTITY(<начало>,<шаг>)


// создаем табл. zayvkaTABLE [dbo].[zayvka](

[id] [int] IDENTITY(1,1) PRIMARY KEY NOT NULL,

[date_create] [datetime] NOT NULL,

[date_poplanu] [datetime] NULL,

[zakazchik] [int] NOT NULL,

[tema] [varchar](120) NOT NULL,

[rubrika] [varchar](40) NOT NULL,

[text_zayvki] [varchar](250) NOT NULL,

[date_start] [datetime] NULL,

[date_end] [datetime] NULL,

[ispolnitel] [int] NULL);


Отредактируем таблицы, добавив внешние ключи.


ALTER TABLE [dbo].[sotrudnoki] WITH CHECK ADD CONSTRAINT [R_6] FOREIGN KEY([dolgnost]) REFERENCES [dbo].[doljnosty] ([name]);TABLE [dbo].[sotrudnoki] CHECK CONSTRAINT [R_6];TABLE [dbo].[sotrudnoki] WITH CHECK ADD CONSTRAINT [R_7] FOREIGN KEY([otdel]) REFERENCES [dbo].[otdely] ([name]);TABLE [dbo].[sotrudnoki] CHECK CONSTRAINT [R_7];TABLE [dbo].[zayvka] WITH CHECK ADD CONSTRAINT [R_4] FOREIGN KEY([ispolnitel]) REFERENCES [dbo].[sotrudnoki] ([inn]);TABLE [dbo].[zayvka] CHECK CONSTRAINT [R_4];TABLE [dbo].[zayvka] WITH CHECK ADD CONSTRAINT [R_5] FOREIGN KEY([zakazchik]) REFERENCES [dbo].[sotrudnoki] ([inn])UPDATE CASCADEDELETE CASCADE;TABLE [dbo].[zayvka] CHECK CONSTRAINT [R_5];TABLE [dbo].[zayvka] WITH CHECK ADD CONSTRAINT [R_8] FOREIGN KEY([rubrika])[dbo].[rubrika] ([name]);TABLE [dbo].[zayvka] CHECK CONSTRAINT [R_8];


Так же добавим ограничения, что бы дата исполнения не была меньше даты заказа.


ALTER TABLE [dbo].[zayvka] WITH CHECK ADD CONSTRAINT [zayvkacheck] CHECK (([date_create]<=[date_start] AND [date_start]<=[date_end]));TABLE [dbo].[zayvka] CHECK CONSTRAINT [zayvkacheck];


4. Создание форм в среде Visual Studio 2012


Для начала создадим новый источник данных, для связи ПО с созданной БД. база данные visual studio

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


Рисунок 3. Подключение БД


После подключения БД, создаем формы через обозреватель решений.


Рисунок 4. Создание форм

Добавляем элементы на форму DataSet, DataGridView для просмотра и BridingSource для связи с источником.

Также создаем кнопки для сохранения, добавления и удаления записей.

И создаем элементы для создания и редактирования записей (рис.5).


Рисунок 5.


И по ТЗ к ПО создаем меню, с полями: Файл, Справочники и Помощь.



Для закладки Сотрудники (рис.6) добавим просмотр его заявок и фильтрации по отделам.

Рисунок 6.


Отчеты

Для отчетов создадим дополнительные поля с типом datetime. А отчеты сделаем через конструктор элемента ReportViewer.


Рисунок 7. Макет


Для вычисления среднего времени используем следующую формулу


(Sum(Fields!date_end.Value-Fields!date_start.Value)/(36000000000)*60)/count(Fields!date_end.Value)


Рисунок 8. Отчет 1

Программирование элементов:

Создание новых элементов в БД.


this.Validate();

this.sotrudnokiBindingSource.AddNew();


Удаление выбранных строк.


this.Validate();

this.sotrudnokiBindingSource.RemoveCurrent();


Сохранение данных


this.Validate();

this.sotrudnokiBindingSource.EndEdit();

this.sotrudnokiTableAdapter.Update(this.bd_kursovayDataSet.sotrudnoki);


Фильтрация сотрудников


int bb = sotrudnokiDataGridView.CurrentCell.RowIndex;bbb = this.comboBox5.SelectedIndex;(bbb == 0) sotrudnokiBindingSource.Filter = "otdel = '" + sotrudnokiDataGridView[4, bb].Value + "'";

if (bbb == 1) sotrudnokiBindingSource.Filter = "dolgnost = '" + sotrudnokiDataGridView[5, bb].Value + "'";


Открытие форм.


Form3 form22 = new Form3(); form22.Show();


Связь отчетов с формами


reportViewer1.LocalReport.SetParameters(new Microsoft.Reporting.WinForms.ReportParameter("d1", date1.Value.ToString()));.LocalReport.SetParameters(new Microsoft.Reporting.WinForms.ReportParameter("d2", date2.Value.ToString())); this.reportViewer1.RefreshReport();.LocalReport.SetParameters(new Microsoft.Reporting.WinForms.ReportParameter("d1", date1.Value.ToString()));.LocalReport.SetParameters(new Microsoft.Reporting.WinForms.ReportParameter("d2", date2.Value.ToString())); this.reportViewer2.RefreshReport();.LocalReport.SetParameters(new Microsoft.Reporting.WinForms.ReportParameter("d1", date1.Value.ToString()));.LocalReport.SetParameters(new Microsoft.Reporting.WinForms.ReportParameter("d2", date2.Value.ToString())); this.reportViewer3.RefreshReport();.LocalReport.SetParameters(new Microsoft.Reporting.WinForms.ReportParameter("d1", date1.Value.ToString()));.LocalReport.SetParameters(new Microsoft.Reporting.WinForms.ReportParameter("d2", date2.Value.ToString())); this.reportViewer4.RefreshReport();

Заключение


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

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

Были рассмотрены приемы проектирования и реализации реляционных баз данных и таблиц в СУБД MS SQL Server 2012 и Visual Studio 2012. Создана инфологическая модель, логическая и физическая модель в Erwin, спроектирована структура реляционной базы данных.

База данных имеет удобный интерфейс. Для нее необходим персональный компьютер на рабочем месте сотрудника с установленной программой MS SQL Server 2012 и старше.

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

Список использованных источников


1.Крёнке Д. Теория и практика построения баз данных: пер. с англ. / Д. Крёнке. - 9-е изд.. - СПб.: Питер, 2005. - 859 с.

2.Швецов, В. И. Базы данных: учебное пособие / В. И. Швецов; Нижегород. гос. ун-т [Электронный ресурс]. Режим доступа: http://window.edu.ru/window_catalog/redir?id=61460&file=shvetsov-lectures.pdf

.Подвальный С.Л. Базы данных: учебное пособие для вузов / С.Л. Подвальный, Т.И. Сергеева, Д.А. Ризванов; УГАТУ, Воронеж. гос. техн. ун-т. - Уфа: УГАТУ, 2004.- 219 с.

.Дейт К. Дж. Введение в системы баз данных: учебник / К. Дж. Дейт; пер. с англ. и ред. К. А. Птицына.-8-е изд.- М.: Вильямс, 2005.-1328 с.

.Дейт К. Дж. Основы будущих систем баз данных. Третий манифест / К. Дж. Дейт, Хью Дарвен; под ред. С. Д. Кузнецова; перевод с англ. С. Д. Кузнецова, Т. А. Кузнецовой.-2-е изд..- М.: Янус-К, 2004.-656 с.

.Мамаев Е.В. Microsoft SQL Server 2000: Наиболее полное руководство.-СПб.: БХВ-Петербург, 2001.-1280с.

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

.Кузнецов С.Д. SQL: Язык реляционных баз данных: Справ. руководство / С.Д. Кузнецов.- М.: Майор, 2001.-192 с.

.Хомоненко, А. Д. Работа с базами данных в C++ Builder : практическое руководство разработчика / А. Д. Хомоненко, С. Е. Ададуров .- Санкт-Петербург : БХВ-Петербург, 2006


Оглавление Введение Системный анализ и анализ требований к базе данных ERD - Диаграмма Программная реализация ER - диаграммы Создание форм в

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

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

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

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

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