Разработка базы данных "Рабочее место дежурного инженера связи"

Тип работы:
Курсовая
Предмет:
Программирование


Узнать стоимость

Детальная информация о работе

Выдержка из работы

СОДЕРЖАНИЕ

ВВЕДЕНИЕ

1. АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ И ИНФОЛОГИЧЕСКОЕ ПРОЕКТИРОВАНИЕ

1.1 Информационная модель предметной области

1.2 Спецификации сущностей

1.3 Спецификации атрибутов

1.4 Спецификации связей

1.5 Ограничения ссылочной целостности

1.6 Запросы пользователей

2. ДАТАЛОГИЧЕСКОЕ ПРОЕКТИРОВАНИЕ

2.1 Даталогическая модель базы данных

2.2 Спецификации таблиц

2.3 Спецификации связей

2.4 SQL — запросы

3. РАБОЧЕЕ ПРОЕКТИРОВАНИЕ

3.1 Схема данных

3.2 Интерфейс конечного пользователя

3.3 Инструкция для пользователя

ВЫВОДЫ

ЛИТЕРАТУРА

ВВЕДЕНИЕ

База данных «Рабочее место дежурного инженера связи» предназначена для автоматизации работы дежурной службы телекоммуникационной компании. В базе хранятся данные об абонентах, договорах на предоставление услуг связи, сотрудниках компании, а также технические данные оборудования АТС.

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

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

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

1. АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ И ИНФОЛОГИЧЕСКОЕ ПРОЕКТИРОВАНИЕ

1.1 Информационная модель предметной области

В среде AllFusion ERwin Data Modeler разработаем информационную модель предметной области в терминах модели сущность — связь. Результат разработки в виде инфологической модели представлен на рис. 1.

Рис. 1 Инфологическая модель предметной области

1.2 Спецификации сущностей

база данные пользователь телекоммуникационный

Создадим отчет в среде ERwin при помощи генератора отчетов. Результаты сведены в таблицу 1.1.

Таблица 1. 1

Спецификации сущностей

Имя сущности

Описание сущности

Абонент

Содержит сведения об абонентах компании

Данные КРОССа

Содержит сведения о технических данных оборудования АТС

Договор

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

Сотрудник

Сотрудники компании, ответственные исполнители по договорам абонентов с компанией

Услуга

Услуги связи, предоставляемые компанией абоненту на основании договора

1.3 Спецификации атрибутов

Создадим отчет в среде ERwin при помощи генератора отчетов. Результаты сведены в таблицу 1.2.

Таблица 1. 2

Спецификации атрибутов сущностей

Имя сущности

Имя атрибута

Описание атрибута

Первичный ключ

Внешний ключ

Домен (тип)

Договор

ID услуги

Номер ID услуги

Yes

Yes

Number

Табельный номер

Табельный номер сотрудника, ведущего договор

Yes

Yes

Number

ID абонента

Номер ID абонента

Yes

Yes

String

Номер договора

No

No

Number

Дата заключения

No

No

Datetime

Дата завершения

No

No

Datetime

Абонент

ID абонента

Yes

Yes

String

ФИО абонента

No

No

String

Адрес

No

No

String

Номер телефона

No

Yes

Number

Услуга

ID услуги

Yes

No

Number

Наименование услуги

No

No

String

Данные КРОССа

Номер телефона

Yes

No

Number

ID абонента

Yes

No

String

Номер платы

No

No

String

Название платы

No

No

String

Номер порта

No

No

Number

Номер станционной стороны

No

No

String

Номер линейной стороны

No

No

String

Сотрудник

Табельный номер

Yes

No

Number

ФИО сотрудника

No

No

String

Должность

No

No

String

1.4 Спецификации связей

Создадим отчет в среде ERwin при помощи генератора отчетов. Результаты сведены в таблицу 1.3.

Таблица 1. 3

Спецификации связей в иерархии агрегации

Имя связи «отец-сын»

Тип связи

Null внешнего ключа

Кардинальность связи

Описание связи

Имя отцовской сущности

Имя сыновьей сущности

Соответствует

Non-identifying

Nulls Allowed

Zero-or-One-to-Zero-One-or-More

Данные КРОССа

Абонент

Предоставлена на

Identifying

One-to-One-or-More (P)

Услуга

Договор

Исполняет

Identifying

Сотрудник

Заключил

Identifying

One-to-Zero-or-One (Z)

Абонент

1.5 Ограничения ссылочной целостности

Создадим отчет в среде ERwin при помощи генератора отчетов. Результаты сведены в таблицу 1.4.

Таблица 1. 4

Ограничения ссылочной целостности

Имя связи «отец-сын»

Тип связи

Null внешнего ключа

Вставка в отцовской

Обновление в отцовской

Удаление в отцовской

Вставка в сыновьей

Обновление в сыновьей

Удаление в сыновьей

Заключил

Identifying

Restrict

Restrict

Restrict

Restrict

Соответствует

Non-identifying

Nulls Allowed

Set Null

Set Null

Set Null

Set Null

Исполняет

Identifying

Restrict

Restrict

Restrict

Restrict

Предоставлена на

Identifying

Restrict

Cascade

Restrict

Restrict

1.6 Запросы пользователей

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

1) Поиск абонента по номеру телефона.

2) Предоставить список услуг компании.

3) Предоставить технические данные телефонного номера (абонентская карточка).

4) Удаление абонента по номеру телефона.

5) Предоставить список договоров, которые ведет один сотрудник.

6) Добавление нового абонента в базу данных.

7) Предоставить список услуг, подключенных абоненту.

8) Подключение дополнительных услуг абоненту.

9) Добавление новой услуги в список дополнительных услуг.

10) Изменение фамилии абонента.

2. ДАТАЛОГИЧЕСКОЕ ПРОЕКТИРОВАНИЕ

2.1 Даталогическая модель базы данных

Разработаем концептуальную даталогическую модель базы данных в среде AllFusion ERwin Data Modeler. Для реализации разработанной инфологической модели выберем СУБД Microsoft Access. На рис. 2 представлена СУБД — ориентированная ER — диаграмма.

Рис. 2 СУБД (Access) — ориентированная модель предметной области

2.2 Спецификации таблиц

Рассмотрим структуру таблиц и создадим по ней отчет в среде ERwin при помощи генератора отчетов. Результаты сведены в таблицу 2.1.

Таблица 2. 1

Структура реляционных таблиц

Имя таблицы

Имя столбца

Домен (тип)

Null — значение

Первичный ключ

Внешний ключ

Договор

Номер договора

Long Integer

NULL

No

No

Табельный номер сотрудника

Дата заключения

Date/Time

Дата завершения

Табельный номер

Long Integer

NOT NULL

Yes

Yes

ID абонента

Text (20)

ID услуги

Long Integer

Абонент

ID абонента

Text (20)

ФИО абонента

No

No

Адрес

Номер телефона

Long Integer

NULL

Yes

Услуга

ID услуги

NOT NULL

Yes

No

Наименование услуги

Text (20)

No

Данные КРОССа

Номер телефона

Long Integer

Yes

Номер платы

Text (20)

NULL

No

Название платы

Номер порта

Long Integer

Номер станционной стороны

Text (20)

Номер линейной стороны

ID абонента

NOT NULL

Yes

Сотрудник

ФИО сотрудника

No

Табельный номер

Long Integer

Yes

Должность

Text (20)

No

2.3 Спецификации связей

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

Таблица 2. 2

Структура связей между таблицами

Имя связи

Имя отцовской таблицы

Первичный ключ отцовской таблицы

Имя сыновьей таблицы

Первичный ключ сыновьей таблицы

Внешний ключ сыновьей таблицы

Заключил

Абонент

ID абонента

Договор

ID услуги

ID абонента

Табельный номер

ID абонента

Соответствует

Данные КРОССа

Номер телефона

Абонент

Номер телефона

ID абонента

ID абонента

Исполняет

Сотрудник

Табельный номер

Договор

ID услуги

Табельный номер

Табельный номер

ID абонента

Предоставлена на

Услуга

ID услуги

ID услуги

ID услуги

Табельный номер

ID абонента

Представим ограничения ссылочной целостности при манипулировании строками таблицы. Создадим отчет в среде ERwin при помощи генератора отчетов. Результаты сведены в таблицу 2.3.

Таблица 2. 3

Ограничения ссылочной целостности

Имя связи «отец-сын»

Тип связи

Null внешнего ключа

Вставка в отцовской

Обновление в отцовской

Удаление в отцовской

Вставка в сыновьей

Обновление в сыновьей

Удаление в сыновьей

Заключил

Identifying

Restrict

Restrict

Restrict

Restrict

Соответствует

Non-identifying

Nulls Allowed

Set Null

Set Null

Set Null

Set Null

Исполняет

Identifying

Restrict

Restrict

Restrict

Restrict

Предоставлена на

Identifying

Restrict

Cascade

Restrict

Restrict

2.4 SQL — запросы

Составим запросы на языке запросов SQL, сформулированные ранее на естественном языке (см. п. 1. 6):

1) Поиск абонента по номеру телефона.

SELECT Абонент. ID абонента], Абонент. ФИО абонента], Абонент. Адрес

FROM Абонент

WHERE (((Абонент. Номер телефона])=[Введите номер телефона: ]));

2) Предоставить список услуг компании.

SELECT Услуга. ID услуги], Услуга. Наименование услуги]

FROM Услуга;

3) Предоставить технические данные телефонного номера (абонентская карточка).

SELECT [Данные КРОССа]. Номер телефона], Абонент. ФИО абонента], Абонент. Адрес, [Данные КРОССа]. Номер станционной стороны], [Данные КРОССа]. Номер линейной стороны], [Данные КРОССа]. Номер порта], [Данные КРОССа]. Номер платы], [Данные КРОССа]. Название платы]

FROM [Данные КРОССа] INNER JOIN Абонент ON ([Данные КРОССа]. Номер телефона] = Абонент. Номер телефона]) AND ([Данные КРОССа]. ID абонента] = Абонент. ID абонента])

WHERE ((([Данные КРОССа]. Номер телефона])=[Введите номер телефона: ]));

4) Удаление абонента по номеру телефона.

DELETE Абонент. ID абонента], Абонент. ФИО абонента], Абонент. Адрес, Абонент. Номер телефона]

FROM Абонент

WHERE (((Абонент. Номер телефона])=[Введите номер телефона: ]));

5) Предоставить список договоров, которые ведет один сотрудник.

SELECT Сотрудник. Табельный номер], Сотрудник. ФИО сотрудника], Сотрудник. Должность, Договор. Номер договора], Договор. ID услуги], Услуга. Наименование услуги], Договор. ID абонента], Договор. Дата заключения], Договор. Дата завершения]

FROM Услуга INNER JOIN (Сотрудник INNER JOIN Договор ON Сотрудник. Табельный номер] = Договор. Табельный номер]) ON Услуга. ID услуги] = Договор. ID услуги]

WHERE (((Сотрудник. Табельный номер])=[Введите табельный номер: ]));

6) Добавление нового абонента в базу данных.

INSERT INTO Абонент ([ID абонента], [ФИО абонента], Адрес, [Номер телефона])

SELECT Абонент. ID абонента], Абонент. ФИО абонента], Абонент. Адрес, Абонент. Номер телефона]

FROM Абонент

WHERE (((Абонент. ID абонента])=[Введите ID номер: ]) AND ((Абонент. ФИО абонента])=[Введите ФИО: ]) AND ((Абонент. Адрес)=[Введите адрес: ]) AND ((Абонент. Номер телефона])=[Введите номер телефона: ]));

7) Предоставить список услуг, подключенных абоненту.

SELECT Абонент. ФИО абонента], Абонент. Номер телефона], Договор. Номер договора], Договор. Дата заключения], Договор. Дата завершения], Услуга. ID услуги], Услуга. Наименование услуги]

FROM Услуга INNER JOIN (Абонент INNER JOIN Договор ON Абонент. ID абонента] = Договор. ID абонента]) ON Услуга. ID услуги] = Договор. ID услуги]

WHERE (((Абонент. Номер телефона])=[Введите номер телефона: ]));

8) Подключение дополнительных услуг абоненту.

INSERT INTO Договор ([Номер договора], [ID услуги], [Дата заключения], [Дата завершения], [Табельный номер], [ID абонента])

SELECT Договор. Номер договора], Договор. ID услуги], Договор. Дата заключения], Договор. Дата завершения], Договор. Табельный номер], Договор. ID абонента]

FROM Услуга INNER JOIN (Абонент INNER JOIN Договор ON Абонент. ID абонента] = Договор. ID абонента]) ON Услуга. ID услуги] = Договор. ID услуги]

WHERE (((Договор. Номер договора])=[Номер договора: ]) AND ((Договор. ID услуги])=[ID услуги: ]) AND ((Договор. Дата заключения])=[Дата начала: ]) AND ((Договор. Дата завершения])=[Дата окончания: ]) AND ((Договор. Табельный номер])=[Таб. номер сотр. :]) AND ((Договор. ID абонента])=[ID абонента: ]) AND ((Абонент. Номер телефона])=[Номер телефона: ]));

9) Добавление новой услуги в список дополнительных услуг.

INSERT INTO Услуга ([ID услуги], [Наименование услуги])

SELECT Услуга. ID услуги], Услуга. Наименование услуги]

FROM Услуга

WHERE (((Услуга. ID услуги])=[Введите ID услуги: ]) AND ((Услуга. Наименование услуги])=[Введите наименование услуги: ]));

10) Изменение фамилии абонента.

UPDATE Абонент SET Абонент. ФИО абонента] = [Введите новую фамилию: ]

WHERE (((Абонент. ФИО абонента])=[Введите изменяемую фамилию: ]));

3. РАБОЧЕЕ ПРОЕКТИРОВАНИЕ

3.1 Схема данных

Рассмотрим схему спроектированной базы данных в СУБД Microsoft Access (рис. 3).

Рис. 3 Схема спроектированной базы данных

3.2 Интерфейс конечного пользователя

На рис. 4 представлен внешний вид формы интерфейса пользователя системы.

Рис. 4 Интерфейс пользователя

3.3 Инструкция для пользователя

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

ВЫВОДЫ

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

ЛИТЕРАТУРА

1. Michael Pinkus, Alexsander Mustafin. Руководство по программному пакету ERwin (http: //infocity. spedia. net/).

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

ПоказатьСвернуть
Заполнить форму текущей работой