Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
L_2_.doc
Скачиваний:
5
Добавлен:
21.11.2019
Размер:
123.9 Кб
Скачать

Тема 2 Основні поняття теорії баз даних

Сучасні СУБД, незважаючи на різноманітність дистрибуцій, мають низку основних властивостей, більша частина яких є незмінною і єдиною для всіх реалізацій СУБД. Відміни, які можна спостерігати, є досягненнями розробників для збільшення надійності і продуктивності СУБД.

Можна виділити основну конепцію побудови СУБД, яка містить у собі:

  • базові елементи, які є загальними і незмінними для всіх реалізацій СУБД;

  • сховища даних, які зберігають в собі базові елементи;

  • обмін даними;

  • рoботу з апаратурою, що забезпечує функціонування СУБД і зберігання даних;

  • методики забезпечення цілісності даних;

  • вбудовану Java – молоду, але скрізь вживану популярну технологію;

  • методику організації зберігання даних, яка фактично є стилем програмування,

яка вже стала правилом побудови баз даних.

Базові елементи

Для того, щоб зрозуміти, яким чином сучасні СУБД забезпечують роботу користувача з базами даних, слід спочатку розібратися з основними елементами, якими вони оперують. У світі існує багато різноманітних СУБД, але всі вони в своїй роботі спираються на практично однакові принципи і однакові поняття.

Головним базовим елементом, який є відправною точкою для інших, вважається база даних. База даних складається з різних об’єктів, таких як таблиці, представлення таблиць, індекси, тригери, збережені процедури та інше. Ці об’єкти бази даних містять всю інформацію про її структуру і дані. Базa даних (database)

Системи управління базами даних повинні “вміти” зберігати, обробляти і вилучати інформацію. Однак спочатку треба визначитися, де будуть зберігатися дані, а вже потім займатися їх обробкою і виборкою. Вся інформація про базу даних, починаючи від символів і закінчуючи логічним визначенням структури бази даних, створюється за допомогою компонентів СУБД.

Бази даних – це фізичні об’єкти, в яких СУБД розміщує таблиці й індекси.

Фізично база даних розташовується в одному або кількох файлах операційної системи. Необхідно зауважити, що в одному файлі операційної системи не може міститися кілька баз даних.

Механізм збереження інформації в базі даних пов’язаний з додатком, що використовується. База даних надає можливість визначити логічні межі між цим додатком і іншими, крім того, вона є відправною точкою для створення системи управління доступом користувачів.

У сучасних СУБД є такі БД (у Microsoft, наприклад, це tempdb), які використовуються для обробки будь-яких “динамічних” SQL-запитів. Вони є простором, в якому СУБД виконує проміжні обчислення, а також об’єднання і сортування даних. Ці бази даних застосовують для таких цілей:

  • створення тимчасових таблиць для сортування даних;

  • збереження тимчасових таблиць, створених користувачем, і збережених процедур (stored procedure);

  • збереження значень тимчасових глобальних змінних, створених користувачем.

Таблиці (tables), представлення таблиць (views)

Таблиці – це набори логічно пов’язаних даних, які зберігаються в базі даних. Такий підхід є відносно новим. В старих СУБД таблиці були еквівалентами фізичних файлів на диску, тобто в кожному файлі була лише одна таблиця. Наприклад, в dBase в одному файлі на диску зберігалася лише одна таблиця бази даних.

Таблична структура збереження даних зручна, зрозуміла, проста для виконання різних операцій над даними (виборка, відображення і т.і.).Компонентами таблиці є стовпчики і рядки. В стовпчиках (більш традиційна назва – поле) зберігаються різні дані. Рядок (або запис) – це сукупність стовпчиків, в яких зберігається вся інформація, що відноситься до конкретного об’єкта.

Одним з основних моментів створення таблиць є визначення типів даних для стовпчиків. Тип даних стовпчика визначає тип інформації, яку можна зберігати в цьому стовпчику.

В сучасних СУБД існує можливість створення тимчасових таблиць. Вони можуть бути локальними і глобальними. Локальна тимчасова таблиця є доступною лише для того сеанса, в якому вона була створена. По закінченню даного сеанса локальна тимчасова таблиця автоматично знищується. Тимчасова таблиця, яка одночасно доступна для різних сеансів, називається глобальною тимчасовою таблицею. Тимчасові таблиці можна використовувати для збереження наборів даних, над якими слід спочатку виконати якісь операції, а вже потім зберігати в постійній таблиці.

Представлення таблиці, або вид (view) – це статичний набір операторів мови SQL, який дозволяє створювати динамічні таблиці, побудовані з одного або кількох наборів рядків у відповідності з попередньо заданим критерієм вибору; це потужній інструмент, який можна використовувати в різних ситуаціях. Представлення можна використовувати для різних комбінацій рядків і стовпчиків, які є в одній або декількох таблицях. Для отримання представлення використовують простий оператор SELECT (мова SQL), який дозволяє визначити рядки і стовпчики, включені в це представлення.

Якщо казати зрозумілою мовою, то view – це щось подібне до закладки в таблиці, або спосіб повернення до певного фрагмента, або вікна, інформації. Це вікно фактично представляє собою набір інструкцій, які повідомляють СУБД про спосіб представлення інформації в view. В інструкції включаються параметри, атрибути форматування, інші відомості, які СУБД використовує для виконання запиту в базу даних і виборки з неї інформації. Якщо казати технічною мовою, то представлення – це збережене визначення оператора SELECT, що задає рядки і стовпчики, які потрібнo буде вибрати в подальшому при посиланні на дане представлення.

Працювати зі старими БД, наприклад, ієрархічними і мережними, можна було лише через об’єкти, еквівалентні представленням таблиць. До мережних баз даних доступ здійснювався через об’єкт, який називався підсхемою (subschema). Підсхема працювала так само, як і представлення. Підсхема зазвичай визначалася як об’єкт, через який програміст або користувач “бачить” базу даних.

Визначивши представлення таблиці, на нього можна посилатися так само, як і на таблицю. Mоже здаватися, що view – це постійний набір рядків і стовпчиків, який зберігається на диску в базі даних, насправді ж це зовсім не так. Представлення не створює постійної копії набора обраних з бази даних рядків і стовпчиків. Коли робиться посилання на view, виконується оператор SELECT, який міститься в визначенні цього представлення (тобто все відбувається так само, як і з таблицею). Тимчасова таблиця, що створюється для відображення даних на екрані монітора, після відображення заданого набора рядків і стовпчиків знищується.

Слід зауважити, що view – це не таблиця. Як вже зазначалося вище, визначивши представлення, за його допомогою можна отримати доступ до даних так само, як і при посиланні на таблицю. Однак слід пам’ятати, що дані, на які йде посилання за допомогою представлення, завжди беруться з таблиці, яка лежить в основі цього представлення. Крім того, якщо додати нові стовпчики до таблиці, на основі якої визначено представлення, то в останньому ці стовпчики не з’являться. Щоб це відбулося, необхідно спочатку знищити view, а потім створити його знов, або модифікувати SQL-оператори старого представлення таблиці.

Представлення можна використовувати для доступу до всієї таблиці, її частини або до комбінації таблиць. Їх також можна використовувати для попередження несанкціонованого доступу до інформації, яка зберігається в базі даних. Можна встановлювати для представлень окремі дозволи, які відрізнялися б від дозволів таблиці, на основі яких побудовані ці представлення.

Представлення зберігається в базі даних як окремий об’єкт і є альтернативним методом перегляду і навіть (за певних умов) модифікації таблиці. Слід пам’ятати, що представлення можна створювати лише в поточній таблиці.

Визначаючи представлення, слід пам’ятати про деякі обмеження. Наприклад, неможливо визначити представлення на основі тимчасової таблиці. Тимчасові таблиці – це структури, які існують доти, доки дані з постійної таблиці не будуть відображені на пристрої виведення. Якщо можливо було б визначити представлення, в основі якого лежить тимчасов таблиця, то при посиланні на нього дані могли б виявитися недоступними. Це сталося б у випадку видалення тимчасової таблиці.

Крім того, неможна визначати тригер для представлення. Тригер можна визначити лише для таблиці. Та й взгалі, тригери має сенс визначати лише для таблиць, оскільки таблиця – це постійне джерело даних для всіх представлень.

Працюючи з представленням, можна накласти подальші обмеження на обираємі значення. Може бути представлення, яке обмежує, наприклад, базу даних імен і адрес відомостями, скажімо, лише про лікарів. Обираючи інформацію з цього представлення, можна ще більше звузити коло пошуку, обмежившись лише даними про терапевтів.

Представлення розділяють на складні - які забезпечують доступ до рядків і стовпчиків кількох таблиць, і прості – ті, які звертаються до комбінації рядків і стовпчиків, що знаходяться в одній таблиці. Можливе створення представлення, яке посилатиметься не на таблицю, а на інше представлення. Крім того, можна створювати view, що посилається на декілька представлень чи на комбінацію представлень і таблиць.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]