База данных для чета оплаты за междугородние разговоры
Государственный комитет Российской Федерации по
связи и информатизации
УрКСИ-СибГАТИ
Утверждаю:
Декан факультета
Комарова Т.И.
<
Проектирование базы данных
для предприятия связи
Курсовая работа
льбом
612.00КР
1998г.
УрКСИ-СибГАТИ
Задание для курсового проектирования
по предмету:
студентакурсагруппы
(фамилия, имя, отчество)
ТЕМА ЗАДАНИЯ:
ИСХОДНЫЕ ДАННЫЕ:
ВАРИАНТ
при выполнении курсового проекта на казанную тему должны быть представлены:
1. Пояснительная записка:
2. Графическая часть проекта:
Дата выдачи Срок окончания
Преподаватель руководитель
Председатель цикловой комиссии
ОТЗЫВ КОНСУЛЬТАНТА
СОДЕРЖАНИЕ
1. Задание. Лист
1.1. Описание предметной области.
1.2. Запросы.
2. Таблица атрибутов.
3. Диаграмма ER- типа.
4. Спроектированные отношения.
5. Структура меню.
6. Листинг меню.
7. Листинг программ.
1.ЗАДАНИЕ.
1.1.Описание предметной области.
База данных для чета оплаты за междугородние разговоры.
На междугородней станции ведется чет оплаты за предоставляемые ею слуги. МТС регистрирует номер телефона, с которого осуществляется междугородняя связь,
продолжительность разговор в минутах, время и дату разговора, город куда звонил абонент.
Для тех, кто звонита с 18:00 по 8:00 в рабочие дни, по выходным и праздничным дням действует льготный тариф.
Все города поделены по дальности на 7 зон.
Плата за разговор
<- K<- тариф зоны
<-
1. Если не был внесен аванс, то берется процент за кредит
2. Если был внесен аванс, но сумма
3.
Если оплата не внесен в течении двух месяцев, то телефон отключается.
1.2.Запросы к заданию 4.
1. Выведите фамилии абонентов, у которых долг превышает
1 рублей.
2. Отберите абонентов, звонивших в зону № и имеющих аванс меньше тарифа данной зоны.№ зоны должен вводиться пользователем.
3. Введите № зоны и название месяца и получите доход по этой зоне за данный месяц.
2.ТАБЛИЦА АТРИБУТОВ.
Таблица 1.
имя |
тип |
длина |
примечание |
av |
N |
7 |
ванс |
dolg |
N |
7 |
долг |
data_v |
Date |
8 |
дата |
n_t |
C |
8 |
№ телефона |
n_z |
N |
1 |
№ зоны |
fio |
C |
20 |
Ф.И.О. |
tar |
N |
7 |
тариф |
t |
N |
3 |
время разговора |
data_raz |
Date |
8 |
дата разговора |
br |
C |
5 |
время дня |
3. ER-ДИАГРАММА.
|
|
|
ЗОНА |
1 |
ОСУЩЕСТВЛЯЕТСЯ С |
1 |
ПЛАТА |
1 |
1
РАЗГОВОРР
БОНЕНТ
1
1
ГОРОД
N |
4. СПРОЕКТИРОВАННЫЕ ОТНОШЕНИЯ
Abon Таблица 2
FIO |
N_t |
|
|
ZONA Таблица 3.
N_Z |
Tar |
|
|
Plata Таблица 4.
AV |
DOLG |
DATA_V |
N_T |
N_Z |
|
|
|
|
|
Razg Таблица 5.
t |
Br |
Data-razg |
N_z |
N_t |
|
|
|
|
|
БОНЕНТ |
ЗОНА |
ПЛАТА |
ДАННЫЕ |
ЗАПРОС 3 |
ЗАПРОС 2 |
ЗАПРОС 1 |
ЗАПРОСЫ |
РАЗГОВОР |
ВЫХОД |
6. ЛИСТИНГ МЕНЮ
Z 4.PRG
clear
set safe off
set talk off
close database
define menu ats bar at line 3
define pad x1 of ats prompt "запросы 1-3"
define pad x2 of ats prompt "данные"
define pad x3 of ats prompt "выход"
on pad x1 of ats activ popup xx1
on pad x2 of ats activ popup xx2
on pad x3 of ats quit
define popup xx1 from 4,1 to 11,11
define bar 1 of xx1 prompt "запрос 1"
define bar 2 of xx1 prompt "запрос 2"
define bar 3 of xx1 prompt "запрос 3"
on sele bar 1 of xx1 do zapros1
on sele bar 2 of xx1 do zapros2
on sele bar 3 of xx1 do zapros3
define popup xx2 from 4,12 to 12,20
define bar 1 of xx2 prompt "абонент"
define bar 2 of xx2 prompt "плата"
define bar 3 of xx2 prompt "разговор"
define bar 4 of xx2 prompt "зона"
on sele popup xx2 do basa with bar()
activ menu ats
deactiv menu ats
procedure basa
parameters k
close database
do case
case k=1
use abon
browse
use
case k=2
use mts
browse
use
case k=3
use plata
browse
use
case k=4
use razg
browse
use
case k=5
use zona
browse
use
endcase
7. ЛИСТИНГ ПРОГРАММ.
zapros1.prg
close database
use abon
use plata in 2
index on n_t to abon
sele 2
index on n_t to plata
sele 1
set rela to n_t into 2
set filter toа brow fields a.fio,b.dolg set rela to set filter to zapros2.prg clear set safe off close database set talk off sele 1 use razg index on n_z to k1 sele 2 use zona index on n_z to k2 sele 1 set rela to n_z into 2 set skip to 2 c=date() @ 2,10 say "Введите дату" get c read =0 @ 4,10 say "Введите номер зоны" get v read set filter to a.data_razg=c.and.
b.n_z=v browse fields a.data_razg,b.n_z,a.t,b.tar X1=a.T X2=b.Tar ?h,a.n_t set filter to close database zapros3.prg clear set safe off close database set talk off sele 1 use razg index on n_z to k1 sele 2 use zona index on n_z to k2 sele 1 set rela to n_z into 2 set skip to 2 c=date() @ 2,10 say "Введите дату" get c read =0 @ 4,10 say "Введите номер зоны" get v read set filter to a.data_razg=c.and.
b.n_z=v browse fields a.data_razg,b.n_z,a.t,b.tar X1=a.T X2=b.Tar ?h,a.n_t set filter to close database