База данных для учета оплаты за междугородние разговоры

Государственный комитет Российской Федерации по

связи и информатизации

УрКСИ-СибГАТИ

                                                                                 Утверждаю:

                                                                          Декан факультета

                                                                               Комарова Т.И.

                                                                                ____________

Проектирование базы данных

для предприятия связи

Курсовая работа

Альбом

612.004КР

1998г.

УрКСИ-СибГАТИ

Задание для курсового проектирования

по предмету: ___________________________________________________________________

студента____________________курса____________________________________группы

________________________________________________________________________________

(фамилия, имя, отчество)

ТЕМА ЗАДАНИЯ:________________________________________________________________

ИСХОДНЫЕ ДАННЫЕ:

ВАРИАНТ______

__________________________________________________________________________________

__________________________________________________________________________________

__________________________________________________________________________________

__________________________________________________________________________________

__________________________________________________________________________________

при выполнении курсового проекта на указанную тему должны быть представлены:

1.   Пояснительная записка:

__________________________________________________________________________________

__________________________________________________________________________________

__________________________________________________________________________________

2.   Графическая часть проекта:

__________________________________________________________________________________

__________________________________________________________________________________

Дата выдачи_________________                                                    Срок окончания______________

Преподаватель руководитель____________________________________________

Председатель цикловой комиссии________________________________________

ОТЗЫВ КОНСУЛЬТАНТА

СОДЕРЖАНИЕ

1. Задание.                                                                                                Лист

1.1. Описание предметной области.

1.2. Запросы.

2. Таблица атрибутов.

3. Диаграмма ER- типа.

4. Спроектированные отношения.

5. Структура меню.

6. Листинг меню.

7. Листинг программ.

1.ЗАДАНИЕ.

1.1.Описание предметной области.

База данных для учета оплаты за междугородние разговоры.

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

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

Для тех, кто звонит  с 18:00 по 8:00 в рабочие дни, по выходным          и праздничным дням действует льготный тариф.

   Все города поделены по дальности на 7 зон.

Плата за разговор P вычисляется следующим образом:

                   P=K*t, где

       - K- тариф зоны

       - P- продолжительность разговора

1. Если не был внесен аванс, то берется процент за кредит P.

2. Если был внесен аванс, но сумма P превысила его, то оплата за кредит начисляется  на сумму превышения.

3. Если оплата не внесена  в течении двух месяцев, то телефон отключается.

1.2.Запросы к заданию 4.

1. Выведите фамилии абонентов, у которых долг превышает

   100000 рублей.

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

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

ЗАПРОСЫ

РАЗГОВОР

ВЫХОД

5. СТРУКТУРА МЕНЮ

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  b.dolg>100000

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

v=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.T*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

v=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.T*b.tar

?h,a.n_t

set filter to

close database