Скачайте в формате документа WORD

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

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

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

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




Утверждаю:

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

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

<


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

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


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


льбом

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

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а

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