Автор работы: Пользователь скрыл имя, 24 Сентября 2014 в 20:55, контрольная работа
Оператором связи оказываются услуги абонентам. Абоненту может быть предоставлено несколько телефонных номеров, причем каждый номер предоставляется только одному абоненту. Для каждого номера абонент имеет возможность выбрать один из нескольких доступных тарифов на оказание услуг связи. По желанию абонента тариф может быть изменен. Для обеспечения правильности расчетов с абонентами важно учитывать историю изменения выбранного тарифа по каждому телефонному номеру. Один и тот же тариф доступен многим абонентам и может быть выбран для любого из располагаемых ими телефонных номеров. Помесячно оператором связи по каждому телефонному номеру учитываются суммы начислений за оказанные услуги, количество и продолжительность входящих и исходящих звонков.
Введение . . . . . . . . . . 3
Структурирование предметной области и создание реляционной базы данных 5
Заключение . . . . . . . . . . 18
Содержание
Стр.
Введение . . . . . . . . . . 3
Структурирование предметной области и создание реляционной базы данных 5
Заключение . . . . . . . . . .
Введение
Успешная работа экономических, финансовых и бухгалтерских служб предприятия во многом зависит от правильной организации системы учета и обработки информации, которые невозможно представить без использования баз данных. Базы данных позволяют организовать доступ к информации и ее хранение наиболее эффективно с выполнением требований по оперативности, качеству и гибкости при относительно небольших затратах.
Задание: Учет расчетов за услуги, оказываемые оператором связи.
Оператором связи оказываются услуги абонентам. Абоненту может быть предоставлено несколько телефонных номеров, причем каждый номер предоставляется только одному абоненту. Для каждого номера абонент имеет возможность выбрать один из нескольких доступных тарифов на оказание услуг связи. По желанию абонента тариф может быть изменен. Для обеспечения правильности расчетов с абонентами важно учитывать историю изменения выбранного тарифа по каждому телефонному номеру. Один и тот же тариф доступен многим абонентам и может быть выбран для любого из располагаемых ими телефонных номеров. Помесячно оператором связи по каждому телефонному номеру учитываются суммы начислений за оказанные услуги, количество и продолжительность входящих и исходящих звонков. Оплачивать услуги связи, оказанные оператором по каждому телефонному номеру, абоненты могут любое число раз в удобные для них сроки при условии поддержания положительного платежного баланса по каждому номеру.
Вывести список всех телефонных номеров, зарегистрированных на определенного абонента. Определить суммы начислений за оказанные услуги по каждому абоненту. Определить, какое количество телефонных номеров обслуживается на каждом тарифе в настоящее время. Определить текущий платежный баланс по каждому телефонному номеру.
Цель создания базы данных: автоматизация предметной области «Учет расчетов за услуги, оказываемые оператором связи» в СУБД Microsoft Access. Для чего необходимо прежде всего изучить предметную область, затем определить типы объектов и отношения между ними.
База данных должна реализовывать следующие функции:
Структурирование предметной области и создание реляционной базы данных
Выделим типы объектов, составляющих предметную область: абоненты, телефонные номера, тарифы, история тарифов, начисления, оплата.
Заполним матрицу отношений типов объектов (таблица 1.1). В таблице 1.1 представлены только прямые зависимости типа «один ко многим».
Таблица 1.1. Матрица отношений типов объектов предметной области
«Учет расчетов за услуги, оказываемые оператором связи»
Тип объектов |
Абоненты |
Тарифы |
Телефонные номера |
Оплата |
Начисления |
История тарифа |
Абоненты |
+ |
|||||
Тарифы |
+ | |||||
Телефонные номера |
+ |
+ |
+ | |||
Оплата |
||||||
Начисления |
||||||
История тарифа |
||||||
Уровень |
I |
I |
II |
III |
III |
III |
Согласно матрице отношений построим схему структуры предметной области и представим ее на рисунке 1.1.
Рисунок 1.1 Схема структуры предметной области
«Учет расчетов за услуги, оказываемые оператором связи»
Выше на схеме изображены родительские типы объектов, ниже – дочерние.
Все отношения между типами объектов, представленные на рисунке 1.1 на схеме структуры предметной области, имеют вид «один ко многим». Одному абоненту может принадлежать несколько телефонных номеров. По одному телефонному номеру может быть несколько оплат, несколько начислений. Отношение между типами объектов «Тарифы» и «Телефонные номера» имеет вид «многие ко многим», т. к. у одного тарифа может быть несколько номеров, и у одного телефонного номера может быть несколько тарифов. Отношение между типами объектов «Тарифы» и «Телефонные номера» является существенным и должно быть отражено на схеме структуры предметной области. Чтобы это сделать, в структуре предметной области выделим еще один тип объектов – «История тарифа», и отношением типа «многие ко многим» между типами объектов «Тарифы» и «Телефонные номера» отображается при помощи двух отношений типа «один ко многим», а именно: отношения между типами «Тарифы» и «История тарифов», а также отношения между типами объектов «Телефонные номера» и «История тарифов».
Определим набор таблиц базы данных. Каждому объекту предметной области будет соответствовать линейная таблица, т. е. база данных будет состоять из шести таблиц: Абоненты, Тарифы, ТелефонныеНомера, Оплата, Начисления, ИсторияТарифа.
Таблица 1.2 Словарь имен базы данных
«Учет расчетов за услуги, оказываемые оператором связи»
Сокращение |
Расшифровка |
Сокращение |
Расшифровка | |
ДатаОпл |
Дата оплаты |
НомПасп |
Номер паспорта абонента | |
ДатаТариф |
Дата активации тарифа |
НомТел |
Номер телефона | |
ДлитВхЗвон |
Продолжительность входящих звонков |
ОтчАб |
Отчество абонента | |
ДлитИсхЗвон |
Продолжительность исходящих звонков |
ПолАб |
Пол абонента | |
ИмяАб |
Имя абонента |
СумНачисл |
Сумма начисления | |
КодИТ |
Код истории тарифа |
СумОпл |
Сумма оплаты | |
КодНачисл |
Код начисления |
ФамАб |
Фамилия абонента | |
КодТариф |
Код тарифа |
ЧислоВхЗвон |
Количество входящих звонков | |
НаимТариф |
Наименование тарифа |
ЧислоИсхЗвон |
Количество исходящих звонков | |
НомКвитОпл |
Номер квитанции об оплате |
Составим словарь имен. Результаты этого шага проектирования базы данных представим в таблице 1.2 (отсортируем по алфавиту для удобства нахождения).
Определим состав, типы и размер полей для каждой из таблиц базы данных. При назначении полям системных имен обратимся к сокращениям, принятым в словаре имен. Состав, типы полей, их системные имена и размеры приведены в таблице 1.3. Жирным шрифтом в каждой из таблиц выделены ключевые поля.
Поля, по которым будут установлены связи между двумя таблицами, должны присутствовать в каждой из этих таблиц. В родительских таблицах эти поля являются ключевыми, в дочерних – обычными. Это позволяет установить между соответствующими таблицами связи типа «один ко многим». Чтобы можно было связать родительскую таблицу с дочерней, в дочернюю таблицу обязательно необходимо поместить ключевое поле из родительской.
Таблица 1.3 Состав полей таблиц базы данных
«Учет расчетов за услуги, оказываемые оператором связи»
Название таблицы |
Подпись поля |
Системное имя |
Тип |
Размер поля |
Абоненты |
№ паспорта |
НомПасп |
Т |
8 |
Фамилия |
ФамАб |
Т |
20 | |
Имя |
ИмяАб |
Т |
20 | |
Отчество |
ОтчАб |
Т |
20 | |
Пол |
ПолАб |
Т |
3 | |
Тел.номера |
№ телефона |
НомТел |
Т |
11 |
№ паспорта |
НомПасп |
Т |
8 | |
Оплата |
№ квитанции оплаты |
НомКвитОпл |
Т |
10 |
Дата оплаты |
ДатаОпл |
Д |
||
Сумма оплаты |
СумОпл |
Ч |
||
№ телефона |
НомТел |
Т |
11 | |
Начисления |
Код Начисления |
КодНачисл |
Т |
10 |
№ телефона |
НомТел |
Т |
11 | |
Сумма начисления |
СумНачисл |
Ч |
||
Продолж.вх.звонков |
ДлитВхЗвон |
Ч |
||
Кол-во вх. звонков |
ЧислоВхЗвон |
Ч |
||
Продолж.исх.звонков |
ДлитИсхЗвон |
Ч |
||
Кол-во исх. звонков |
ЧислоИсхЗвон |
Ч |
||
Тариф |
Код тарифа |
КодТариф |
Т |
10 |
Наименование тарифа |
НаимТариф |
Т |
20 | |
История тарифа |
Код истории |
КодИТ |
Т |
10 |
№ телефона |
НомТел |
Т |
11 | |
Код тарифа |
КодТариф |
Т |
10 | |
Дата активации тарифа |
ДатаТариф |
Д |
Создадим каждую из таблиц базы данных «Учет расчетов за услуги, оказываемые оператором связи» в СУБД Microsoft Access в режиме конструктора.
После создания структуры таблиц, установим между ними связи. Для этого добавим все таблицы базы и установим соответствующие связи. При этом обеспечим целостность данных, а также каскадное обновление. На рисунке 1.2 представлена схема данных базы «Учет расчетов за услуги, оказываемые оператором связи».
Рисунок 1.2 Схема данных базы
«Учет расчетов за услуги, оказываемые оператором связи»
Для облегчения процесса ввода данных создадим поля со списками (соответствуют части «ко многим» отношения «один ко многим»).
Следующий шаг – создание форм. Создадим для каждой из таблиц при помощи мастера форм по одной форме. На рисунке 1.3 представлена форма ввода данных для таблицы «Абоненты».
По завершении разработки форм заполнит таблицы: сначала родительские, затем дочерние (для обеспечения целостности данных).
В таблицах 1.4 – 1.9 представлены исходные данные базы «Учет расчетов за услуги, оказываемые оператором связи».
Рисунок 1.3 Форма ввода данных для таблицы «Абоненты»
Таблица 1.4 – Таблица «Абоненты»
Таблица 1.5 – Таблица «Тарифы»
Таблица 1.6 – Таблица «Телефонные номера»
Таблица 1.7 – Таблица «Оплата»
Таблица 1.8 – Таблица «Начисления»
Таблица 1.9 – Таблица «История тарифов»
Следующий шаг – создание запросов.
Запрос на выборку: требуется вывести все номера телефонов, зарегистрированных на одного абонента (например, с фамилией «Зуев»).
Скрин-шот конструктора запроса 1 представим на рисунке 1.4.
Рисунок 1.4 Скрин-шот конструктора запроса
«Список всех телефонных номеров, зарегистрированных на определенного абонента»
Текст запроса на языке SQL будет иметь следующий вид:
SELECT Абоненты.НомПасп, Абоненты.ФамАб, Абоненты.ИмяАб, Абоненты.ОтчАб, [Телефонные номера].НомТел
FROM Абоненты INNER JOIN [Телефонные номера]
Информация о работе Структурирование предметной области и создание реляционной базы данных