Базы данных. Описание инфологической модели АТС

Страницы работы

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

Описание инфологической модели

Ниже приведены подробные описания таблиц базы данных ГТС с классификацией сущностей и выделением первичных ключей:

Create table АТС

(Код_АТС  smallint  NOT NULL

Район   char(20)  NOT NULL,

Тип_АТС  smallint NOT NULL)

*(Стержневая сущность)

Первичный ключ  (Код_АТС)

                               Обновления АТС каскадируются

Ограничения

Значения поля Код_АТС должны быть уникальными, двузначными числами;

Значения поля Район принимают значения Железнодорожный, Центральный, Октябрьский, Ленинский, Дзержинский (для определенности будем считать что в городе всего 5 районов),

Значения поля Тип_АТС принимают значения от 1 до 3 – по числу подтипов

Create table Очередь(Район  char(20)  NOT NULL,

Кабель   smallint  NOT NULL,

Канал  smallint NOT NULL,

Тип_очереди smallint NOT NULL)

*(Характеристическая сущность – не может существовать без  сущности АТС)

Первичный ключ  (Район)

Внешний  ключ  (Район)

                               Обновления Очередь каскадируется

Ограничения

Значения поля Район принимают значения Железнодорожный, Центральный, Октябрьский, Ленинский, Дзержинский;

Значения поля Кабель принимают значения от 0 и выше (для установки скольких аппаратов есть кабель)

Значения поля Канал принимают значения от 0 и выше (для установки скольких аппаратов есть канал)

Значения поля Тип_очереди принимают значения 1 и 0 (льготная или обычная очередь соответственно)


Create table Номера(Номер_тел  integer  NOT NULL,

Код_АТС  smallint  NOT NULL,

Код_телефона  smallint,

Межгород_код smallint ,

Код_вкл_тел  smallint )

*(Характеристическая сущность – не может существовать без  сущности АТС)

Первичный ключ  (Номер_тел)

Внешний  ключ  (Номер_тел,Код_АТС)

Удаление из Номера каскадируются

Обновление Номера каскадируются

Ограничения

Значения поля Номер_тел – это шестизначные целые числа, причем первые две цифры должны совпадать с кодом АТС

Значения поля Код_АТС должны быть уникальными, двузначными числами;

Значения поля Код_телефона принимают значения NULL – если номер свободен,

0 - если это номер обычного телефона,

1 - если это номер спаренного телефона,

2 - если это номер параллельного телефона,

3 - если это номер общественного телефона или таксофона

Значения поля Межгород_код принимают значения NULL – если номер свободен или в принципе нет выхода на межгород,

0 - если  межгород подключен,

1 - если  межгород отключен за неуплату,

2 - если  межгород отключен по желанию абонента

Значения поля Код_вкл_тел принимают значения NULL – если номер свободен,

0 - если  телефон отключен

1 - если  телефон подключен

Create table Звонки(Номер_тел  integer  NOT NULL,

Дата   data  NOT NULL,

Номер_тел_назн integer NOT NULL,

Число_ звонков smallint NОТ NULL)

*(Характеристическая сущность – не может существовать без  сущности Номера)

Первичный ключ  (Номер_тел,Дата,Номер_тел_назн)

Внешний  ключ  (Номер_тел)

                                Обновление Звонки устанавливается

Ограничения

Значения поля Номер_тел – это шестизначные целые числа

Значения поля Дата должно быть реальной датой

Значения поля Номер_тел_назн – это шестизначные целые числа,для каждого экземпляра сущности значения полей Номер_тел и Номер_тел_назн не равны

Значения поля Число_звонков принимают значения от 1 и больше

Create table Межгород_звонки(Номер_тел  integer  NOT NULL,

Город   char(20) NOT NULL,

Дата   data  NOT NULL,

Длительность integer NOT NULL,

Число_ звонков smallint NОТ NULL)

*(Характеристическая сущность – не может существовать без  сущности Номера)

Первичный ключ  (Номер_тел,Город,Дата,Длительность)

Внешний  ключ  (Номер_тел)

                                Обновление Межгород_звонки каскадируется

Ограничения

Значения поля Номер_тел – это шестизначные целые числа;

Значения поля Город должны принадлежать множеству Москва, Санкт-Петербург, Тула, Красноярск, Бердск (для упрощения задачи предположим что связаться можно только с этими городами);

Значения поля Дата должно являться реальной датой

Значения поля Длительность – это целое число, обозначающее длительность разговора в минутах;

Значения поля Число_звонков принимают значения от 1 и больше.

Информация о работе