єю UNION ALL.
Використання UNION ALL предпочтительней UNION навіть, якщо гарантована відсутність рядків-дублікатів, так як в цьому випадку не буде виконуватися перевірка для виключення дублікатів.
2.3 Оператор UPDATE
Оператор UPDATE змінює наявні дані в таблиці. Команда має наступний синтаксис:
UPDATE lt; ім'я таблиці gt; { lt; ім'я стовпця gt; ={ Lt; вираз для обчислення значення стовпця gt;
| NULL
| DEFAULT}, ...}
[{WHERE lt; предикат gt;}]
За допомогою одного оператора можуть бути задані значення для будь-якої кількості стовпців. Проте в одному і тому ж операторі UPDATE можна вносити зміни в кожен стовпець зазначеної таблиці тільки один раз. При відсутності пропозиції WHERE будуть оновлені всі рядки таблиці.
Якщо стовпець допускає NULL-значення, то його можна вказати в явному вигляді. Крім того, можна замінити наявне значення на значення за замовчуванням (DEFAULT) для даного стовпця.
Посилання на «вираз для обчислення значення стовпця» може ставитися до поточних значень в змінюваної таблиці. Наприклад, ми можемо зменшити всі ціни тарифних планів на 10 відсотків за допомогою наступного оператора:
UPDATE ТП
SET вартість=вартість * 0.9
Також дозволяється значення одних стовпців привласнювати іншим стовпцях. Якщо потрібно змінювати дані в залежності від вмісту деякого стовпця, можна скористатися виразом CASE.
Для обчислення значень стовпців допускається також використання підзапитів. Наприклад, потрібно вибрати найдешевший тарифний план з наявних. Тоді можна написати:
UPDATE ТПстоімость=(SELECT MIN (вартість) FROM ТП)
2.4 Оператор DELETE
Оператор DELETE видаляє рядки з тимчасових або постійних базових таблиць, уявлень чи курсорів, причому в двох останніх випадках дія оператора поширюється на ті базові таблиці, з яких витягувалися дані в ці уявлення або курсори. Оператор видалення має простий синтаксис:
DELETE FROM lt; ім'я таблиці gt;
[WHERE lt; предикат gt;];
Якщо пропозиція WHERE відсутня, видаляються всі рядки з таблиці або подання (подання має бути обновлюваним).
3. Структура бази даних програми
Створена база даних «Оператор мобільного зв'язку» складається з 10 таблиць. Назви таблиць і їх призначення описані в таблиці 3.1.
Таблиця 3.1 - Опис таблиць бази даних «Оператор мобільного зв'язку»
Назва табліциКраткое опісаніе1 ДоговорСпісок договоров2 ДолжностіСправочнік должностей3 Додаткові услугіСпісок додаткових послуг4 ЗвонкіСпісок дзвінків кліента5 КліентСправочнік кліентов6 Опис услугСправочнік додаткових услуг7 Оплата Список оплат8 СотруднікіСпісок сотрудніков9 СпісиваніеСпісок списування з договора10 Тарифний планСправочнік тарифних планів
У таблицях 3.2 - 3.11 описана структура таблиць бази даних.
Таблиця 3.2 - Структура таблиці Договір
Найменування поляФормат поляСодержімое полякодЧісловойУнікальний код Договораном_телТекстовийНомер телефонадата_регДата/времяДата регістраціікод_ТПЧісловойКод тарифного планакод_кліентаЧісловойКод кліентакод_сотруднікаЧісловойКод співробітника
Таблиця 3.3 - Структура таблиці Посади
Найменування поляФормат поляСодержімое полякодЧісловойУнікальний код ДолжностіназваніеТекстовийНазваніе должностікатегоріяТекстовийКатегорія посади Таблиця 3.4 - Структура таблиці Додаткові послуги
Найменування поляФормат поляСодержімое полякодЧісловойУнікальний код Додатковою услугікод_договЧісловойКод договоракод_опісЧісловойКод опису услугістоімДенежнийСтоімость доп. услугідата_подклДата/времяДата подключеніядата_отклДата/времяДата відключення
Таблиця 3.5 - Структура таблиці Дзвінки
Найменування поляФормат поляСодержімое полякодЧісловойУнікальний код Звонкакод_договЧісловойКод договораном_тел_кудаТекстовийНомер телефону на який звонілівремя_разгДата/времяВремя разговорадата_звонДата/времяДата дзвінка
Таблиця 3.6 - Структура таблиці Клієнт
Найменування поляФормат поляСодержімое полякодЧісловойУнікальний код КліентаФІОТекстовийФІО кліентаном_паспТекстовийНомер паспорта кліентакем_виданТекстовийКакой орган видав паспорт клієнту
Таблиця 3.7 - Структура таблиці Опис послуг <...