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

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

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

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

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

Утверждаю:

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

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

____________

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

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

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

Альбом

612.004КР

1998г.

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

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

по предмету:

___________________________________________________________________

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

____________________________________________________________________________

____

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

ТЕМА

ЗАДАНИЯ:________________________________________________________________

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

ВАРИАНТ______

____________________________________________________________________________

______

____________________________________________________________________________

______

____________________________________________________________________________

______

____________________________________________________________________________

______

____________________________________________________________________________

______

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

представлены:

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

____________________________________________________________________________

______

____________________________________________________________________________

______

____________________________________________________________________________

______

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

____________________________________________________________________________

______

____________________________________________________________________________

______

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

окончания______________

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

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

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

СОДЕРЖАНИЕ

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

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

3. Запросы.

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

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

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

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

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

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

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-ДИАГРАММА.

[pic]

[pic]

[pic]

[pic]

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 |

| | | | | |

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

-----------------------

ВЕДЕТ

НАХОДИТСЯ

ВНОСИТ

1

ОСУЩЕСТВЛЯЕТСЯ С

N

1

ЗОНА

1

1

1

1

1

ГОРОД

РАЗГОВОРР

АБОНЕНТ

ПЛАТА

АБОНЕНТ

ЗОНА

ПЛАТА

ДАННЫЕ

ЗАПРОС 3

ЗАПРОС 2

ЗАПРОС 1

ЗАПРОСЫ

РАЗГОВОР

ВЫХОД