Реферат
Організація баз даних
1. Файлові системи. Особливості та недоліки використання традиційних файлових систем
Файлові системи – це набір програм, які виконують для користувачів деякі операції, наприклад створення звітів. Кожна програма визначає свої власні дані і керує ними.
Файлові системи були першою спробою комп¢ютиризувати відомі всім ручні картки. Подібна картка (або підшивка документів) в деякій організації могла містити всю зовнішню і внутрішню документацію, пов¢язану з деяким продуктом, завданням, клієнтом або співробітником. Зазвичай таких папок дуже багато, їх нумерують і зберігають у шафах. З метою безпеки шафи можуть навіть закривати на ключ або зберігати у приміщеннях, що знаходяться під охороною. У більшості людей вдома є власні карототеки, що містять підшивки документів, такі як рахунки, гарантійні талони, чеки про сплату за комунальні послуги, страхові та банківські папери, звіти з лабораторних робіт, конспекти лекцій тощо. Якщо нам потрібна будь-яка інформація, потрібно вручну переглянути картотеку від початку до кінця, щоб знайти те, що нас цікавить. Цей процес можна вдосконалити, ввівши у такій системі процес індексування, який дозволить прискорити процес пошуку потрібних відомостей. Наприклад, можна використати спеціальні розділювачі або окремі папки для різноманітних логічно пов¢язаних типів об¢єктів.
Ручні картки дозволяють успішно справитися з поставленими задачами, якщо кількість об¢єктів, що зберігаються, невелике. Також вони цілковито підходять для роботи з великою кількістю об¢єктів, які потрібно лише зберігати, або вилучати. Проте вони виявляються цілковито не придатними для випадків, коли потрібно встановити перехресні зв’язки чи виконати обробку відомостей.
В наш час клієнтам, менеджерам та іншим співробітникам з кожним днем потрібно все більше і більше інформації. Зрозуміло, що картотека зовсім не підходить для виконання роботи подібного типу. Файлові системи були розроблені для забезпечення більш ефективних способів доступу до даних. Проте, замість організації централізованого сховища всіх даних підприємства, використовувався децентралізований підхід, за яким співробітники кожного відділу за допомогою спеціалістів по обробці даних (програмістів) працюють зі своїми власними даними і зберігають їх у своєму відділі у окремих файлах. Файл являє собою простий набір записів , які містять логічно зв’язані дані кожен запис містить логічно зв’язаний набір з одного чи декількох полів, кожне з яких представляє деяку характеристику об’єкту, що моделюється. Кожен співробітник звертається до даних за допомогою спеціалізованої прикладної програми. Набір прикладних програм кожного відділу дозволяє вводити дані, працювати з файлами і генерувати деякий фіксований набір спеціалізованих звітів. Найважливішим є те, що фізична структура і методи зберігання записів файлів з даними жорстко визначаються в коді прикладної програми.
Обмеження, притаманні файловим системам
- Відокремлення та ізоляція даних.
- Дублювання даних.
- Залежність від даних.
- Несумісність файлів.
- Фіксовані запити/ швидке збільшення кількості додатків.
2. Системи керування баз даних. Основні компоненти і функції сучасних СКДБ
Традиційних можливостей файлових систем виявляється недостатньо для побудови навіть простих інформаційних систем. Серед потреб, які не покривалися можливостями систем управління файлами, можна назвати такі, як: підтримка логічно узгодженого набору файлів; забезпечення мови маніпулювання даними; відновлення інформації після різного роду збоїв; реально паралельна робота декількох користувачів. Можна сказати, що якщо прикладна інформаційна система спирається на деяку систему керування даними, яка володіє цими властивостями, тоді ця система є системою керування базами даних (СКБД).
Спрощена схема системи баз даних складається з таких компонентів: дані, апаратне забезпечення, програмне забезпечення, користувачі.
До числа функцій СКБД відносять наступні:
1. Безпосереднє керування даними у зовнішній пам’яті. Ця функція включає забезпечення необхідних структур зовнішньої пам’яті як для зберігання безпосередньо даних, що належать до БД, так і для службових цілей, наприклад, для прискорення доступу до даних, журналів транзакцій тощо..СКБД підтримує власну систему іменування об’єктів БД (це дуже важливо, оскільки імена об’єктів бази даних відповідають іменам об’єктів предметної області).
2. Управління буферами оперативної пам’яті. СКБД звичайно працюють з БД значного розміру; у будь-якому випадку цей розмір значно перевищує доступний об’єм оперативної пам’яті. При зверненні до деякого елементу даних буде виконуватися обмін зі зовнішньою пам’яттю, щоб реально підвищити цю швидкість використовують буферизацію даних в оперативній пам’яті.
3. Керування транзакціями. Транзакція - це послідовність операцій над БД, які розглядаються СКБД як єдине ціле. Будь-яку транзакцію, що успішно виконується, СКБД фіксує зміни у БД, у зовнішній пам’яті, або жодна з цих змін ніяк не відбивається на стані БД.
4. Журналізація. Однією з основних вимог до СКБД є надійне зберігання даних у зовнішній пам’яті. Під надійністю зберігання розуміють те, що СКБД повинна бути в змозі відновити останній узгоджений стан БД після будь-якої апаратної або програмної відмови. Забезпечення надійного збереження даних у БД потребує надлишкового збереження даних, причому та їх частина, яка використовується для відновлення, повинна зберігатися особливо ретельно. Найбільш поширеним методом збереження такої надлишкової інформації –є ведення журналу змін БД.
3. Концептуальна модель даних. Сутність, атрибут, в’язок. Діаграма «сутність-зв’язок»
Концептуальна модель – це представлення всієї інформації БД в дещо абстрактній формі (як і у випадку зовнішнього представлення) в порівнянні з фізичним способом зберігання інформації.
З позиції моделювання джерело інформації називають предметною областю (ПрО), а знакову систему, що використовується (спосіб абстрагування предметної області) - моделлю даних (МД). Опис предметної області у термінах обраної моделі даних називають концептуальною схемою ПрО. Для опису ПрО використовують такі основні конструктивні елементи – сутність, атрибут та зв’язок.
Реальний світ складається з об’єктів, що взаємодіють. Об’єкти часто представляються у вигляді іменників, а відношення – у вигляді дієслів. Об’єкти – це речі, які користувачі вважають потрібними в моделюванні частин реальності. Об’єкти можуть бути конкретними (людина, автомобіль, дерево, книги тощо) та концептуальними (організації, проекти, штатний розклад тощо). Об’єктна множина – це позначення множини речей одного типу. Об’єкт-елемент –позначення одного елементу об’єктної множини.
Речі в природі взаємодіють, це саме стосується сутностей. Зв’язок або відношення ‑ це узагальнене поняття, передбачене для позначення відокремленого в ПрО відношення між двома або більше сутностями. Як і сутності, кожна категорія користувачів відокремлює зв’язки у відповідності зі своєю концепцією ПрО. проектування БД починається з попередньої структуризації предметної області: фіксації об’єктів (сутностей), властивостей цих об’єктів та види відношень між об’єктами.
Інформацію про проект підсумовують з використанням графічнихдіаграм. Для них використовують наступні позначення:
1.
Сутність зображають прямокутниками.2. Атрибути позначають овалами.
3. Зв’язки зображають ромбами.Відношення саме по собі є об’єктною множиною, що складається з елементів двох об’єктних множин.
Концептуальне представлення – це представлення всього вмісту бази даних, а концептуальна схема – це визначення такого представлення. Вважається, що в якості кінцевої мети створення концептуальної схеми опису всього підприємства є не лише опис самих лише даних, але й того, як ці дані використовуються, як вони переміщуються всередині підприємства, для чого використовуються у кожному окремому випадку.
4. Реляційна модель даних та її аспекти. Поняття відношення
Реляційна система базується на формальних основах, або теорії, яка називається реляційною моделлю даних. Для такої системи виконуються як мінімум три умови:
Структурний аспект.Дані в базі сприймаються користувачами у вигляді таблиць (і лише таблиць);
Аспект цілісності. Ці таблиці задовольняють певним умовам цілісності (це ми розглянемо на цій лекції трохи згодом);
Аспект обробки. У розпорядженні користувача є оператори маніпулювання даними (наприклад, вибірки інформації), які генерують нові таблиці на основі вже наявних і серед цих операторів є принаймні оператори вибірки (select), проекції (project) і об¢єднання (join).
На рис. Наведено простий приклад реляційної бази даних відділів (таблиця DEPT) і службовців (таблиця EMP).
DEPT
DEPT# | DNAME | BUDGET |
D1 | Marketing | 10M |
D2 | Development | 12M |
D3 | Research | 5M |
EMP
EMP# | ENAME | DEPT# | SALARY |
E1 | Lopez | D1 | 40K |
E2 | Cheng | D2 | 42K |
E3 | Finizi | D2 | 30K |
E4 | Satio | D2 | 35K |
Операція вибірки SELECT передбачена для вибірки певних рядків та стовпців
SELECT DEPT#, DNAME, BUDGET
FROM DEPT
WHERE BUDGET>8M
Очевидно, результат кожної з 3-х представлених операцій – це ще одна таблиця (іншими словами, ці оператори – такі що породжують таблиці). Це є реляційною властивістю замкненості. Вона має велике значення і, головним чином, через те, що результатом виконання операції є об¢єкт того ж роду, що ї об¢єкт, над яким виконується операція, а саме – таблиця. Це, крім того, означає, що над результатом операції можна виконувати знову деякі операції (вибрати стовпці). Весь інформаційний вміст бази представляється виключно одним єдиним способом, а саме – явним завданням значень, розміщених в позиціях стовпців у рядках таблиці. Цей метод представляється єдино можливим для реляційних баз даних (на логічному рівні). Зокрема, немає ніяких вказівників, які пов¢язують одну таблицю з іншою.