База данных для учета оплаты за междугородние разговоры
	
	База данных для учета оплаты за междугородние разговоры
               Государственный комитет Российской Федерации по 
                           связи и информатизации 
                                УрКСИ-СибГАТИ 
     Утверждаю: 
                                                     Декан факультета 
                                                          Комарова Т.И. 
                                                         ____________ 
                         Проектирование базы данных 
                            для предприятия связи 
                               Курсовая работа 
                                   Альбом 
                                  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 
                                   ЗАПРОСЫ 
                                  РАЗГОВОР 
                                    ВЫХОД 
	
	
					
							 |