="justify"> (155, N Кавачі raquo ;, - 20, N підводний raquo ;, 151, 7, N суша ),
(159, N Вулканолог (Руссіан) raquo ;, - 130, N підводний raquo ;, 118, 7, N суша );
INSERT INTO Vulkany (Vulkan_ID, Vulkan_NAME, Visota, Phorma, Kontinent_ID, Rakurss) (156, N Мінамі-Хіос raquo ;, - 30, N підводний raquo ;, 7, N суша ),
(157, N Есмеральда raquo ;, - 43, N підводний raquo ;, 7, N суша ),
(158, N Фукудзін raquo ;, - 50, N підводний raquo ;, 7, N суша );
5. Цілісність і безпеку бази даних
. 1 Цілісність даних
Порушення цілісності баз даних може призвести до непередбачуваних, а часом і небезпечних наслідків. Тому одне з провідних місць у розробці баз даних займає їх захист і збереження цілісності.
Слід розрізняти поняття «безпека» і «цілісність» баз динних. Під безпекою розуміють те, що користувачеві дозволяють виконати будь-які дії. А під цілісність ж розуміють те, що ці самі дозволені дії будуть виконані коректно.
У реляційної моделі даних визначені два базових вимоги забезпечення цілісності: цілісність посилань, цілісність сутностей.
Також існують обмеження доменів (визначення безлічі значень, які утворюють цей домен, тобто процес створення домену та накладення на нього обмежень цілісності збігається), атрибутів (для реляційних БД це визначення домену, з якого беруться значення атрибутів ) і відносин (обмеження, що накладаються на одне конкретне відношення, яке не може накладатися на інше ставлення або домен, зазвичай задається створенням відносини). У даній роботі використовується обмеження атрибутів (при завданні типів даних для атрибутів на фізичному рівні концептуальної схеми).
Цілісність сутностей. Об'єкт реального світу представляється в реляційній базі даних як кортеж деякого відносини. Вимога цілісності сутностей полягає в наступному: кожен кортеж будь-якого відношення повинен відрізняться від будь-якого іншого кортежу цього відношення (тобто будь-яке відношення має володіти первинним ключем).
Посилальна цілісність - це обмеження бази даних, що гарантує, що посилання між даними є дійсно правомірними і неушкодженими. Посилальна цілісність є фундаментальним принципом теорії баз даних і виникає з тієї ідеї, що база даних повинна не тільки зберігати дані, але й активно сприяти забезпеченню їх якості.
. 2 Подання
Для збереження посилальної цілісності можуть бути також використані представлення, збережені процедури і тригери.
Уявлення - статичне визначення динамічної таблиці, створеної з однієї або більше базових таблиць відповідно до заданими критеріями вибірки. З технічної точки зору уявлення - це збережене в БД визначення інструкції select із заданими в ній рядками і стовпцями, які повинні зчитуватися при зверненні до вистави. Після створення представлення до нього можна звертатися як до звичайної таблиці.
CREATE VIEW Zemlya1
select Zemlya, Massa_zettatonna, Ploshad_mln_km2, Radius_kmZEMLYA * from Zemlya1VIEW Voda1Rakurs, Ploshad_vody_mln_km2, Protsent, ZemlyaVODA * from Voda1VIEW Susha1Rakurss, Ploshad_sushi_mln_km2, Protsent, ZemlyaSUSHA * from Susha1VIEW Okeany1Okean_ID, Okean_NAME, Ploshad_mln_km2, Obyem_mln_km3, Glubina_max_m, Zemlya , RakursOkeany * from Okeany1VIEW Morya1TOP (150) M.More_ID, M.More_NAME, M.Ploshad, M.Glubina_max, O.Okean_NAME, M.RakursMorya MOkeany OM.Okean_ID=O.Okean_IDby M.More_NAME * from Morya1VIEW Morya_Strany1TOP (300) M.More_NAME, S.Strana_NAMEMorya MMORE_STRANA MrM.More_ID=Mr.More_IDStrany SS.Strana_ID=Mr.Strana_IDby More_NAME * from Morya_Strany1VIEW Prolivy1TOP (100) P.Proliv_ID, P.Proliv_NAME, P.Dlina, P.Glubina, P.Shirina, O.Okean_NAME, P.RakursProlivy POkeany OP.Okean_ID=O.Okean_IDby P.Proliv_NAME * from Prolivy1VIEW Proliv_razd1P.Proliv_NAME, Pr.RazdelyaetProliv_RAZDELYAET PrProlivy PPr.Proliv_ID=P.Proliv_ID * from Proliv_razd1VIEW Prol_strana1P.Proliv_ID, P.Proliv_NAME, S.Strana_NAMEproliv_STRANA PrStrany SPr.Strana_ID=S.Strana_ID
join Prolivy PPr.Proliv_ID=P.Proliv_ID
select * from Prol_strana1VIEW Reki1R.Reka_ID, R.Reka_NAME, R.Dlina_km, R.Ploshad_km2, Rei_pritok, O.Okean_NAME, R. RakursReki ROkeany OR.Okean_ID=O.Okean_ID * from Reki1VIEW Reka_STRANA1R.Reka_NAME, S.Strana_NAMEReki RREKA_STRANA RsR.Reka_ID=Rs.Reka_IDStrany SRs.Strana_ID=S.Strana_ID * from Reka_STRANA1VIEW Ozera1TOP (150) Ozera_ID, ozera_NAME, Ploshad_km2, Glubina_max_m, Uroven_more_m, Solenost, Rakurs Ozeraby Ozera_name * from Ozera1VIEW Ozera_kont1O.Ozera_NAME , K.Kontinent_NAMEOzera OOZERA_Kontinent OkO.Ozera_ID=Ok.Ozera_IDKont...