v' -11-
NULL - значения не допустимы; Ограничения:
1) Значения поля номер - должны быть уникальными.
2) Значения поля код_АТС должны соответствовать значениям поля код АТС из таблицы АТС.
Create table междугородныеразговоры(код_разговораchar(6) NOT NULL primary key, char(6) |
код_абопепта delete cascade, городchar(20) времяsmallint суммаsmallint датаdate Первичный ключ: Внешний ключ: |
NOT NULL references абонент (код_абонента) on
NOT NULL,
NOT NULL check (время>0), NOT NULL check (суммаХ)), NOT NULL);
код_разговора
код абонента из таблицы абоненты (R3)
NULL - значения не допустимы;
Удаления и обновления из абонентов. код_абонента» каскадируются. Ограничения:
1) Значение поля код_разговора должен быть уникальным.
2) Значения поля код_абонента должны соответствовать значениям поля код_абонента из таблицы абоненты,
3) Значение поля сумма больше нуля.
4) Значение поля время больше нуля.
5) Значения поля код_абонента не должны соответствовать „ кодам_абонента с внутренним телефоном,
6) Значения поля код_абонента не должны соответствовать кодам_абонента с отключенным межгородом.
Createtableгородские_разговоры
(код_разговораchar(6) NOT NULL primary key,
код_абонентаchar(6) NOT NULL references абонент (код_абонента) on
delete cascade, код_собеседникаchar(6) NOT NULL references абонент (код_абонента) on
delete cascade,
-и-
времяsmallint check (время>0), датаdate);
Первичный ключ: код_разговора \ Внешний ключ: код_абонента из таблицы абоненты (R7) NULL - значения не допустимы;
Удаления и обновление из абонентов. код_абонента каскадируются;
Внешний ключ код_собеседника из таблицы абоненты (R8) NULL - значения не допустимы;
Удаления и обновление из абонентов. код_абонента каскадируются; Ограничения:
г 1) Значение поля код_разговора должен быть уникальным. J2) Значения поля код_абонента, код_собеседника должны соответствовать значениям поля абоненты.код_абонента из таблицы абоненты. . 3) Значение поля время больше нуля.
4) Если абонент с кодом_абонента подключен к внешнему телефонному номеру, то абонент с кодом_собеседника не может быть подключен к внутреннему телефонному номеру, все остальные комбинации допускаются.
Createtableочередь на телефон
(очередъ_кодchar(6) NOT NULL primary key,
адресchar(30),
районchar(20) NOT NULL,
сущ_лъготаchar(4) NOT NULL check (сущ_лъготаin ('да','нет')),
mun_ATC char(5) NOT NULL check (mun_ATC in
('город','офис', 'ведом')), rmnjnen char(5) NOT NULL check (munjnen in
('внутр', 'внешн')));
Первичный ключ: очередъ_код
Внешний ключ: район из таблицы свободные номера (R9)
Ограничения:
1) Значение поля очередъ_код должен быть уникальным.
-/52) Значение поля сущ_лъгота должно принадлежать набору значений «да», «нет.
3) Значение поля тип_АТС должно принадлежать набору «город», «офис», «ведом».
4) Значение поля munjnenдолжно принадлежать набору «внутр», «внешн».
* ' • ^\
Createш$&Ъбщественные телефоны
(такс_кодchar(6) NOT NULL primary key,
код_АТСchar(6) NOT NULL references АТС(код_АТС) on delete cascade
адресchar(30) NOT NULL,
район char(20));
Первичный ключ: пшкс_код
Внешний ключ: код_АТС из таблицы АТС (R4) NULL - значения не допустимы; Удаления и обновление из ATC.Kodj^TCкаскадируются;
Ограничения:
1) значение поля такс_код должен быть уникальным.
2) значение поля код_АТС должен принадлежать набору значений из таблицы АТС поля код_АТС.
На следующей странице, завершая процедуру проектирования, автор привел вертикальную диаграмму, иллюстрирующую связи между полями таблиц базы данных (рисунок 3)г
3. Реализация приложения
Реализованное приложение написано на динамическом SQL для СУБД Informix. Это приложение:
- заносит информацию в таблицы созданной БД;
- выполняет необходимые действия по модификации и удалению данных в таблицах созданной БД;
- выполняет все действия в рамках транзакций, поддерживая целостность ' базы данных;
- выполняет запросы 1 - 13 из варианта 18 задания.
|
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.