- •Тема: “Проектування бази даних інформаційної системи Автовокзал”
- •1. Визначення та опис предметної області
- •2. Концептуальна модель «сутність-зв’язок»
- •3. Логічна структура бази даних
- •3.1. Інфологічний етап проектування
- •3.1.1. Структура та вміст таблиць
- •3.1.2. Додаткові властивості та обмеження полів
- •3.1.3. Вигляд таблиць та структура зв’язків між ними
- •3.2. Даталогічний етап проектування
- •4. Нормалізація бази даних
- •Нормалізація відношень бази даних «Фотосалон»
- •5. Виконання операцій реляційної алгебри
- •5.1. Теоретико-множинні операції
- •Запити на включення, зміну та вилучення даних
- •Висновок
- •Список використаної літератури
Запити на включення, зміну та вилучення даних
Запити на включення, зміну та вилучення даних для таблиці “ Пасажири”:
Дані з таблиці “ Пасажири”:
Рис.22.
SELECT * FROM PASAZHYRY
Команда INSERT – додання рядків до таблиці:
INSERT INTO таблиця [(стовпчик,…, стовпчик)]
VALUES (значення,…, значення)
INSERT INTO PASAZHYRY (KOD_PASAZHYRA[, PRIZVYSHE[, IMJA[, PO_BATKOVI[, DATA NARODZENNJA[, SERIJA_TA_NOMER_PASPORTU[, ADRESA[, TELEFON]])
values (3012219[, Petrenko[, Mykola[, Ivanovich[, 29.01.1986[, KV_00311[, Novojavorivsk[, 32629293255]])
Рис.23. Додавання рядка
Команда DELETE –видалення рядків з таблиці:
DELETE FROM ім’я таблиці
[WHERE (умова)]
DELETE * FROM PASAZHYRY
WHERE PASAZHYRY=(3012219[, Petrenko[, Mykola[, Ivanovich[, 29.01.1986[, KV_00311[, Novojavorivsk[, 32629293255]])
Рис.24. Видалення рядка
Команда UPDATE – оновлення даних у таблиці:
UPDATE ім’я таблиці
SET стовпчик=значення [,
…
стовпчик=значення]
[WHERE (умова)]
UPDATE PASAZHYRY
SET PRIZVYSHE = Petrenko
where KOD_KLIENTA = 3012219
Рис.25. Оновлення даних
Запити на включення, зміну та вилучення даних для таблиці “ Водій ”:
Дані з таблиці “ Водій ”:
Рис.26.
SELECT * FROM VODIJ
INSERT INTO VODIJ (KOD_VODIJA[, PRIZVYSHE[, IMJA[, PO_BATKOVI[, DATA NARODZENNJA[, SERIJA_TA_NOMER_PASPORTU[, ADRESA[, TELEFON[, STAZH_ROBOTY[, ZARPLATA]])
values (2923248[, Grishko[, Mykola[, Ivanovich[, 29.01.1970[, KV_00311[, Novojavorivsk[, 3262929325[, 7[, 3500]])
Рис.27. Додавання рядка
DELETE * FROM VODIJ
where (KOD_VODIJA[, PRIZVYSHE[, IMJA[, PO_BATKOVI[, DATA NARODZENNJA[, SERIJA_TA_NOMER_PASPORTU[, ADRESA[, TELEFON[, STAZH_ROBOTY[, ZARPLATA]]) = (2923248[, Grishko[, Mykola[, Ivanovich[, 29.01.1970[, KV_00311[, Novojavorivsk[, 3262929325[, 7[, 3500]])
Рис.28. Видалення рядка
UPDATE VODIJ
SET ZARPLATA=3500
where STAZH_ROBOTY>6
Рис.29. Оновлення даних
Запити на включення, зміну та вилучення даних для таблиці “ Квиток ”:
Дані з таблиці “ Квиток ”:
SELECT * FROM KVYTOK
INSERT INTO KVYTOK (KOD_KVYTKA[, KOD_TRANSPORTY[, KOD_PASAZHYRA[, KOD_PILGY[, ZVIDKY[, KYDY[, CHAS_VIDPRAVLENNJA[, DATA_PRODAZHY[, NO_MISCJA[, VARTIST]])
values (200056[, 315[, 29295581[, 1000[, Lviv[, Byniv[, 1300 [, 10.06.212[, 8[, 16]])
Рис.30. Додавання рядка
DELETE * FROM KVYTOK
where VARTIST>10
Рис.31. Видалення рядка
UPDATE KVYTOK
SET KYDY=JANIV
where CHAS_VIDPRAVLENNJA=1700
Рис.32. Оновлення даних
Запити на включення, зміну та вилучення даних для таблиці “ Маршрут ”:
Дані з таблиці “ Маршрут ”:
SELECT * FROM TRANSPORT
INSERT INTO TRANSPORT (KOD_ TRANSPORTY[, KOD_VODIJA[, NAPRJAM[, ZVIDKY[, KYDA[, CHAS_VIDPRAVLENNJA[, CHAS_PRYBYTTJA[, KILKIST_MISCJ]])
values (457[, 9293245[, Javorivskij[, Lviv[, Krakivets[, 1915[, 2043[, 40]])
Рис.33. Додавання рядка
DELETE * FROM TRANSPORT
KOD_VODIJA=9293247
Рис.34. Видалення рядка
UPDATE KVYTOK
SET KYDA= Novojavorivsk
where CHAS_VIDPRAVLENNJA=1700
Рис.35. Оновлення даних
Виконання операцій реляційної алгебри засобами SQL. Запити на вибір з таблиць бази даних
Вибірка всіх значень
SELECT * FROM KVYTOK
Вибірка з умовою
R1=Ϭ KOD_PASAZHYRA = 29293955 (U)
SELECT * FROM KVYTOK
where KOD_PASAZHYRA = 29293955;
R2= Ϭ KOD_KVYTKA = 200012 (U)
select * from KVYTOK
where KOD_KVYTKA = 200012;
Вибірка з умовою “OR”
R1 U R2
select * from KVYTOK
where KOD_TRANSPORTY = 416 or KOD_PASAZHYRA = 29293955;
Вибірка з умовою “AND”
R1 ∩ R2
select * from KVYTOK
where KOD_TRANSPORTY = 416 and KOD_PASAZHYRA = 29293955;
Вибірка з умовою “AND NOT”
R1 \ R2
select * from KVYTOK
where KOD_TRANSPORTY = 416 and not KOD_PASAZHYRA = 29293955;
Проекція (вилучення рядків дублікатів)
S = π KOD_PASAZHYRA (U)
select distinct KOD_PASAZHYRA from KVYTOK;
Декартовий добуток
U x E
select KVYTOK " KOD_PASAZHYRA, KOD_KVYTKA "
from KVYTOK;
Натуральне з’єднання
U
E=ϬU.KOD_KLIENTA=E.KOD_
KLIENTA(U
x E)
select KLIENTY.KOD_KLIENTA,ZAMOVLENNJA.KOD_TURPOJIZDKY
from KLIENTY, ZAMOVLENNJA
where KLIENTY.KOD_KLIENTA=ZAMOVLENNJA.KOD_KLIENTA
Умовне з’єднання
UU.KOD_KLIENTA>E.KOD_KLIENTA E=ϬU.KOD_KLIENTA>E.KOD_KLIENTA
select KLIENTY.KOD_KLIENTA,ZAMOVLENNJA. PRIZVYSHE
from KLIENTY, ZAMOVLENNJA
where KLIENTY.KOD_KLIENTA<ZAMOVLENNJA.KOD_KLIENTA
Виконаємо операції реляційної алгебри над відношеннями бази даних «Автовокзал». Оскільки теоретико-множинні операції виконуються над відношеннями з однаковими множинами атрибутів, створимо копію відношення ПРАЦІВНИКИ−ПРАЦІВНИКИ_1, змінивши його інформаційне наповнення.
