Разработка базы данных "Рабочее место дежурного инженера связи"
Автоматизация работы дежурной службы телекоммуникационной компании. Спецификации сущностей, атрибутов, связей, ссылочной целостности и таблиц. Даталогическая модель базы данных. Запросы пользователей и SQL–запросы. Интерфейс конечного пользователя.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 16.02.2013 |
Размер файла | 301,2 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
СОДЕРЖАНИЕ
ВВЕДЕНИЕ
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 с.
Размещено на Allbest.ru
Подобные документы
Функциональная и информационная модель предметной области. Спецификации сущностей, атрибутов, связей. Ограничение ссылочной целостности, запросы пользователей. Даталогическая модель базы данных, спецификация таблиц. Интерфейс конечного пользователя.
курсовая работа [1,1 M], добавлен 13.02.2014Операции обработки, преобразования, упорядочения отношений базы данных для оптимизации её ответов на запросы пользователя. Инфологическое моделирование предметной области. Анкеты описания сущностей, атрибутов и связей. SQL-скрипт схемы базы данных.
курсовая работа [1,4 M], добавлен 03.03.2015Понятия реляционных баз данных. Структура и создание таблиц. Заполнение базы данных. Запросы на выборку. Запросы с вычисляемыми полями. Создание форм, кнопочной формы, макросов и отчетов. Итоговые и перекрестные запросы. Перечень сущностей и атрибутов.
курсовая работа [1,3 M], добавлен 18.10.2015Создание таблиц базы данных с помощью MS Access "Страны Азии". Форма базы данных и запросы к выборкам данных. Модификация структуры таблиц, создания связей между главными таблицами, редактирование данных и проектирование форм для реальной базы данных.
контрольная работа [723,9 K], добавлен 25.11.2012Логическое проектирование базы данных по автоматизации деятельности строительной компании. Классификация связей. Реляционная модель базы данных. Функциональные зависимости между атрибутами. Выбор ключей. Нормализация отношений. Запросы к базе данных.
курсовая работа [1,2 M], добавлен 26.05.2015Системный анализ и анализ требований. Концептуальная модель данных. Проектирование логической структуры реляционной базы данных. Даталогическая модель базы данных. Алгоритмы реализации модулей и их реализация (запросы, таблицы, формы, отчеты, макросы).
курсовая работа [1,6 M], добавлен 17.12.2015Концептуальная модель базы данных "Бюро по трудоустройству". Разработка информационного и программного обеспечения объектов автоматизации. Реализация базы данных в СУБД MsAccess. Запросы к базе данных. Таблицы, отчеты и макросы. Интерфейс пользователя.
курсовая работа [5,2 M], добавлен 30.05.2016Разработка приложения, позволяющего автоматизировать документооборот предприятия по списанию основных средств. Мероприятия по защите и обеспечению целостности базы данных. Разработка клиентского приложения. Запросы к базе данных, руководство пользователя.
курсовая работа [700,0 K], добавлен 14.01.2015Этапы проектирования базы данных, определение целей и содержание таблиц. Добавление данных и создание других объектов базы данных. Даталогическая модель: структуризация, нормализация, схемы данных. Порядок, принципы создания пользовательского интерфейса.
курсовая работа [1,3 M], добавлен 26.03.2013Создание основных и вспомогательных таблиц в режиме конструктора. Использование поля со списком для ссылок на объекты. Установление связей между таблицами и контроля ссылочной целостности. Параметрические запросы. Ввод параметров для формирования отчетов.
контрольная работа [1,1 M], добавлен 27.02.2015