Организация базы данных провайдера

Автор работы: Пользователь скрыл имя, 23 Марта 2011 в 18:23, курсовая работа

Описание работы

Интернет-провайдер, иногда просто Провайдер, (англ. Internet Service Provider, ISP, букв. "поставщик Интернет-услуги") — организация, предоставляющая услуги доступа к Интернету и иные связанные с Интернетом услуги.

Пользователь - лицо заключившее договор с провайдером на предоставление каких либо услуг.

Пользователь может заключить только один договор. Срок действия договора год, по истечении срока автоматически продляется.

Содержание работы

1 Анализ предметной области 2

1.1 Деловой регламент 2

1.2 Функциональная структура 4

1.3 Диаграмма потоков данных 4

1.4 Выделение информационных объектов и их атрибутов 8

2 Концептуальная модель 10

3 Логическое моделирование 12

3.1 Построение логической модели 12

3.3 Целостность данных 13

3.3.1 Целостность объекта 13

3.3.2 Целостность приложения 14

3.3.3 Ссылочная целостность 14

4 Выбор СУБД 16

5 Физическая модель 18

5.1 Нормализация……………………………………………………..18

6 Проектирование и реализация информационной системы 21

6.1 Описание средств, использованных при реализации 21

6.2 Тексты SQL-запросов и результаты их выполнения 21

6.3 Клиентская часть 30

7 Заключение 38

8 Список литературы 39

9 Приложения 40

Приложение A Макетные данные 40

Приложение B Код клиентской части 46

Файлы: 1 файл

Содержание.docx

— 1.17 Мб (Скачать файл)
  • Создание таблицы помощью графического инструментального     средства конфигурирования Oracle Database Configuration Assistant (DBCA);
  • Создание таблицы шаблонов баз данных (database templates),;
  • Создание таблицы путём ввода данных.

         При создании таблиц был использован 1-й  вариант, как наиболее удобный из всех предлагаемых. Сначала создаётся  каркас таблицы, отмечаются ключевые поля, устанавливаются типы данных для  каждого поля, а уже потом таблицы  заполняются макетными данными (приведены  в приложении A).

         После того, как таблицы созданы, необходимо их связать по ключевым полям.

         Уже на данном этапе можно сформулировать достаточно большое количество запросов, которые понадобятся в дальнейшем при создании форменного приложения.

         При создании запросов в СУБД Oracle 10g    был использован режим SQL . Это объясняется удобством и простотой языка SQL, который представляет достаточно богатый набор средств для формирования запросов.

6.2 Тексты SQL-запросов и результаты их выполнения

         Ниже  приведены все SQL-запросы, использованные в процессе создания информационной системы.

         

  1. Какой номер  последнего договора?

SELECT *

FROM DOGOVOR

WHERE NOMER = (SELECT MAX(NOMER)

      FROM DOGOVOR) 

      

     
NOMER DATE2 DATE3 INN ID_U MONEY PASS STATUS
npi013 17.12.2010 17.12.2011 7,77778E+11 13 0 5656 1
 
  1. Какие предоставляются  тарифы? Вывести, упорядочив по шифру.

SELECT *

FROM USLUGI

WHERE type_us = 'tarif'

ORDER BY STOIMOST 

     
SHIFR NAME1 STOIMOST TYPE_US
1 Bezlimit  256 350 tarif
2 Bezlimit 512 500 tarif
3 Bezlimit  768 600 tarif
4 Bezlimit  1024 700 tarif
5 Bezlimit  2048 1200 tarif
6 Bezlimit 10000 10000 tarif
 
  1. Вывести историю  оплат заданного пользователя. Например, npi001.

SELECT *

FROM  OPLATA

WHERE ID_D = 'npi001'

 

     
ID_KARTI DATA_VREMYA SUMMA ID_D
403827 09.12.2010 12:56:58 500 npi001
356813 14.12.2010 22:02:02 100 npi001
81533 16.12.2010 1:02:59 100 npi001
3 03.12.2010 15:48:00 100 npi001
4 04.12.2010 5:02:00 100 npi001
36 04.12.2010 5:03:00 200 npi001
1 03.12.2010 15:47:00 500 npi001
2 03.12.2010 15:47:00 200 npi001
 
  1. Найти карту  оплаты с заданным номером и паролем.

SELECT *

FROM KARTA

WHERE NOMER = '1' AND PASSWORD_K = '1'

 

     
NOMER SUMMA SOSTOYANIE PASSWORD_K INN
1 500 1 1 7777777777
 
  1. Установить  статус заданной карты в состояние  использована.

UPDATE KARTA

SET SOSTOYANIE = 1

WHERE NOMER = ‘nomer’  AND PASSWORD_K = 'password' 

  1. Выбрать договор  по заданному номеру.

SELECT *

FROM DOGOVOR

WHERE NOMER = 'npi001' 

     
NOMER DATE2 DATE3 INN ID_U MONEY PASS STATUS
npi001 01.11.2010 30.04.2013 777777777777 1 1100 npi001 1
 
  1. Обновить  значение средств на счету в заданном контракте.

UPDATE DOGOVOR

SET MONEY = '100'

WHERE NOMER = 'npi001' 

  1. Добавить  нового пользователя.

INSERT INTO USERI VALUES(14,2345,'Ф. И. О.','Бомж','1234567') 

  1. Выбрать все  номера договоров упорядочив по возрастанию.

SELECT NOMER

FROM DOGOVOR

ORDER BY NOMER 

      

     
npi001
npi002
npi003
npi004
npi005
npi006
npi007
npi008
npi009
npi010
npi011
npi012
npi013
 
  1.  Выдать  информацию о пользователе, включая  информацию по договору.

SELECT *

FROM USERI,DOGOVOR

WHERE USERI.ID = DOGOVOR.ID_U AND DOGOVOR.NOMER = 'npi001’ 

     
TELEPHONE NOMER DATE2 DATE3 INN ID_U MONEY PASS ST
89518477875 npi001 01.11.2010 30.04.2013 77777777 1 04.01.1903 npi001 1
 
  1.  Выдать  список услуг с количеством клиентов, которые подключены здесь.
     
NAME1 NUMBER
Bezlimit  1024 2
Bezlimit  2048 2
Bezlimit  256 3
Bezlimit  768 3
Bezlimit 512 3
limit 13
 
  1.  Какая  услуга ни разу не использована?

SELECT SHIFR, NAME1

FROM USLUGI d1

WHERE  NOT EXISTS (

            SELECT USLUGI.SHIFR

            FROM USLUGA_DOGOVOR, USLUGI

            WHERE d1.SHIFR = USLUGA_DOGOVOR.SHIFR)

     
SHIFR NAME1
06.01.1900 Bezlimit 10000
 
  1.  Какая  прибыль в этом месяце?

SELECT SUM(MONEY) AS "Profit"

FROM DEBIT

WHERE TO_CHAR(TIME1, 'mm.yyyy') =  TO_CHAR(sysdate, 'mm.yyyy') 

       Результат запроса: 1260.

  1. Максимальное число байт принято от куда?

SELECT TIME1, WITH_ADRESS, WITH_PORT, BAIT, ip.nomer

FROM IP

WHERE BAIT = (SELECT  MAX(BAIT)

     FROM IP

     WHERE IP.WITH_INTERFASE = 5) 

     
TIME1 WITH_ADRESS WITH_PORT BAIT NOMER
21-NOV-10 10.56.00 188.134.7.73 30128 95655656 npi007
 
  1.   Выдать  полную информацию о клиентах.

SELECT d1.NOMER, d1.money, d4.name1, d1.DATE2, d1.DATE3, d2.fio,

      d2.pasport, d2.registration, d2.telephone

FROM DOGOVOR d1, USERI d2 , USLUGA_DOGOVOR d3, USLUGI d4

WHERE (d1.id_u = d2.id) AND d3.nomer = d1.nomer

     AND d4.shifr = d3.shifr AND d4.type_us = 'tarif' 

      

     
NOMER MO NAME1 DATE2 DATE3 FIO PASPOR REGISTRATI TELEPHONE
npi013 0 Bezlimit 512 17.12.2010 17.12.2011 sdg 235456 dhdfe4 3245
npi001 1100 Bezlimit  256 01.11.2010 30.04.2013 Ivanov Ivan Ivanovich 705631 Troickaya 9 89518477875
npi002 0 Bezlimit  256 23.11.2010 23.11.2012 Zlatous Eduard Petrovich 7056316 Troickaya 88 89518477872
npi003 0 Bezlimit 512 23.11.2010 28.07.2012 Veri Big Evil 70563162 Troickaya 77 89518477873
npi004 0 Bezlimit  768 23.11.2010 17.02.2012 Sv Lol 70563163 Troickaya 12 89518477877
npi005 0 Bezlimit  1024 02.11.2010 22.10.2011 Buga ga ga 70563164 Troickaya 33 89518477877
npi006 0 Bezlimit  2048 25.11.2010 28.07.2012 F I O 70563165 Engelsa 88 89518477875
npi007 0 Bezlimit  768 11.11.2010 28.07.2012 Adolf Gitler 70563166 AD 666/2 89518477871
npi008 0 Bezlimit  1024 09.11.2010 28.07.2012 Ktylxy 70563167 Engelsa 66 89518477879
npi009 0 Bezlimit 512 04.11.2010 28.07.2012 Chikotilo 70563167 AD 666/1 89518477810
npi010 0 Bezlimit  2048 16.11.2010 28.07.2012 Vladimir Vladimirovich Purin 70563321 Rai 777 89518477812
npi011 0 Bezlimit  256 06.12.2010 06.12.2011 Spanch Bob 123123 Dno Okeana 1234578
npi012 0 Bezlimit  768 06.12.2010 06.12.2011 sdjfhgsdf 123112 sfsdfsdf 1231231

Информация о работе Организация базы данных провайдера