Організація баз даних
Информация - Компьютеры, программирование
Другие материалы по предмету Компьютеры, программирование
±и бути представлені, в іншому порядку. Це було б таке саме відношення, принаймні з точки зору реляційної моделі. Тому не існує першого або останнього атрибуту, не існує останнього атрибуту. Іншими словами, атрибут завжди визначається за іменем, а не за розташуванням.
Властивість 4 Кожен кортеж містить рівно одне значення для кожного атрибуту.
Остання властивість випливає безпосередньо з визначення кортежу: кортеж є множиною n впорядкованих пар виду Ai:I (i=1,2,…n). Відношення, що задовольняє цій властивості називається нормалізованим або представленим у першій нормальній формі (1НФ).
Модель даних описує деякий набір родових понять і ознак, якими повинні володіти всі конкретні СКБД і БД, що ними керуються якщо вони базуються на цій моделі. Наявність моделі даних дозволяє порівнювати конкретні реалізації, використовуючи одну спільну мову.
Згідно з найбільш поширеною трактовкою, реляційна модель даних складається з трьох частин, які описують різні аспекти реляційного підходу: структурної частин, маніпуляційної частини і цілісної частини.
7. Цілісність бази даних. Первинний та зовнішній ключ
Значення кортежу t на атрибуті А називають t (А) або, іншими словами, А - значення кортежу t . Серед атрибутів схеми відношення можна вибрати таку підмножину атрибутів К R, що для будь-якого ti (K) буде виконуватися
ti (K) tj (K),
при ij. Якщо К - мінімальна підмножина атрибутів з R , то К - ключ відношення. Відношення може мати не єдиний ключ. Ці ключі називають можливими ключами. Множина ключів, обраних з усіх можливих ключів і певним визначеним способом перерахованих, називають виділеними ключами. Один з виділених ключів відношення обирають в якості первинного.
Кінцеві відносини можуть мати різні ключі залежно від значень і кількості кортежів у відношенні, але при цьому схема відносини не міняється. Поняття ключа задається для схеми відносини, але це необхідно робити з обліком всіх можливих станів відносин з даною схемою. Маніпулювання звязками й сутностями може бути реалізоване за допомогою реляційної алгебри, що задає операції над відносинами.
У цілісній частині реляційної моделі даних фіксуються дві базових вимоги цілісності, які повинні підтримуватися в будь-який реляційній СУБД. Перша вимога називається вимогою цілісності сутностей. Обєкту або сутності реального миру в реляційних БД відповідають кортежі відносин. Конкретна вимога полягає в тому, що будь-який кортеж будь-якого відношення повинен бути відрізнимо від будь-якого іншого кортежу цього відношення, тобто інакше кажучи, будь-яке відношення повинне мати первинний ключ. Друга вимога називається вимогою цілісності по посиланнях і є трохи більше складним. Очевидно, що при дотриманні нормалізованості відносин складні сутності реального миру представляються в реляційної БД у вигляді декількох кортежів декількох відносин. Обмеження цілісності сутності й по посиланнях повинні підтримуватися СУБД. Для дотримання цілісності сутності досить гарантувати відсутність у будь-якім відношенні кортежів з тим самим значенням первинного ключа. Із цілісністю по посиланнях справи йдуть трохи більш складно. Зрозуміло, що при відновленні відношення, що посилається (вставці нових кортежів або модифікації значення зовнішнього ключа в існуючих кортежах) досить стежити за тим, щоб не зявлялися некоректні значення зовнішнього ключа.
8. SQL мова структурованих запитів сучасних СКБД
У сучасних СУБД звичайно підтримується єдина інтегрована мова, що містить всі необхідні засоби для роботи із БД, починаючи від її створення й користувальницький інтерфейс, що забезпечує базовий, з базами даних. Стандартною мовою найпоширеніших у цей час реляційних СУБД є мова SQL (Structured Query Language).
SQL є стандартною мовою для роботи з реляційними БД і в даний час підтримується всіма продуктами представленими на ринку. Її було розроблено в компанії ІВМ на початку 70-х років. Поточний стандарт цієї мови, на який ми будемо посилатися, має назву SQL/92.
Створення будь-якої таблиці передбачає визначення типу даних. Тип даних стовпчика визначає тип інформації, яка в ньому зберігається. Для того щоб визначити тип стовпчика необхідно після імені стовпчика вказати одне з ключових слів, яким позначається тип. Назви типів є регістрово незалежними. Після визначення тип стовпчика буде зберігатися як його характеристика, яку змінити неможна.
Насамперед мова SQL сполучить засобу SDL і DML, тобто дозволяє визначати схему реляційної БД і маніпулювати даними. При цьому іменування обєктів БД (для реляційної БД - іменування таблиць і їхніх стовпців) підтримується на язиковому рівні в тому розумінні, що компілятор мови SQL робить перетворення імен обєктів у їхні внутрішні ідентифікатори на підставі спеціально підтримуваних службових таблиць-каталогів. Внутрішня частина СУБД (ядро) взагалі не працює з іменами таблиць і їхніх стовпців.
Мова SQL містить спеціальні засоби визначення обмежень цілісності БД. Знову ж обмеження цілісності зберігаються в спеціальних таблицях-каталогах, і забезпечення контролю цілісності БД виробляється на язиковому рівні, тобто при компіляції операторів модифікації БД компілятор SQL на підставі наявних у БД обмежень цілісності генерує відповідний програмний код.
Спеціальні оператори мови SQL дозволяють визначати так звані подання БД, що фактично є збереженими в БД запитами (результатом будь-якого запиту до реляційної БД є