Телефонный справочник

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

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

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











                                                                                 Утверждаю:

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

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

										____________





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

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



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



Альбом

612.004КР



























1998г.

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

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



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



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



________________________________________________________________________________

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



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







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



ВАРИАНТ______



__________________________________________________________________________________



__________________________________________________________________________________



__________________________________________________________________________________



__________________________________________________________________________________



__________________________________________________________________________________



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



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



__________________________________________________________________________________


__________________________________________________________________________________


__________________________________________________________________________________



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



__________________________________________________________________________________



__________________________________________________________________________________



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



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



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


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


СОДЕРЖАНИЕ



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

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

Запросы.

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

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

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

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

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

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


1.ЗАДАНИЕ.



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



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

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

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

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

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

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

                   P=K*t, где 

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

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

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

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

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


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



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

	   100000 рублей.

	Отберите абонентов, звонивших в зону № и имеющих аванс меньше тарифа данной зоны.№ зоны должен вводиться пользователем.

	Введите № зоны и название месяца и получите доход по этой зоне за данный месяц.




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

время дня






ER-ДИАГРАММА.



ВЕДЕТ





НАХОДИТСЯ



ВНОСИТ

1



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

N

1

ЗОНА

1

1

1

1

1

ГОРОД

РАЗГОВОРР

АБОНЕНТ

ПЛАТА


СПРОЕКТИРОВАННЫЕ ОТНОШЕНИЯ

  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