Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Файлові системи. Особливості та недоліки використання традиційних файлових систем.

Поиск

Організація баз даних

 

9. Організація баз даних. 1

1. Файлові системи. Особливості та недоліки використання традиційних файлових систем. 2

2. Системи керування баз даних. Основні компоненти і функції сучасних СКДБ. 3

3. Концептуальна модель даних. Сутність, атрибут, в’язок. Діаграма «сутність-зв’язок». 4

4. Реляційна модель даних та її аспекти. Поняття відношення. 5

5. Основні поняття реляційної моделі даних. Тип даних, домен, кортеж, атрибут, кардинальність, степінь відношення. Схема відношення та бази даних. 6

6. Властивості відношень. 7

7. Цілісність бази даних. Первинний та зовнішній ключ. 8

8. SQL – мова структурованих запитів сучасних СКБД. 9

9. Створення запиту. Поняття вибірки. Оператор SELECT та приклади його використання. 10

10. Реляційна алгебра і реляційне числення. Основні операції реляційної алгебри. 11

11. Агрегатні функції. 12

12. Операції з’єднання відношень. 12

13. Створення базових відношень за допомогою оператора CREATE TABLE. 14

14. Обмеження відношень. 15

15. Групування даних таблиці за допомогою директив ORDER BY і GROUP BY. 16

 

 

 

Системи керування баз даних. Основні компоненти і функції сучасних СКДБ.

Традиційних можливостей файлових систем виявляється недостатньо для побудови навіть простих інформаційних систем. Серед потреб, які не покривалися можливостями систем управління файлами, можна назвати такі, як: підтримка логічно узгодженого набору файлів; забезпечення мови маніпулювання даними; відновлення інформації після різного роду збоїв; реально паралельна робота декількох користувачів. Можна сказати, що якщо прикладна інформаційна система спирається на деяку систему керування даними, яка володіє цими властивостями, тоді ця система є системою керування базами даних (СКБД).

Спрощена схема системи баз даних складається з таких компонентів: дані, апаратне забезпечення, програмне забезпечення, користувачі.

До числа функцій СКБД відносять наступні:

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

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

3. Керування транзакціями. Транзакція - це послідовність операцій над БД, які розглядаються СКБД як єдине целе. Будь-яку транзакцію, що успішно виконується, СКБД фіксує зміни у БД, у зовнішній пам’яті, або жодна з цих змін ніяк не відбивається на стані БД.

4. Журналізація. Одією з основних вимог до СКБД є надійне зберігання даних у зовнішній пам’яті. Під надійністю зберігання розуміють те, що СКБД повинна бути в змозі відновити останній узгоджений стан БД після будь-якої апаратної або програмної відмови. Забезпечення надійного збереження даних у БД потребуєт надлишкового збереження даних, причому та їх частина, яка використовується для відновлення, повинна зберігатися особливо ретельно. Найбільш поширеним методом збереження такої надлишкової інформації –є ведення журналу змін БД.

 

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-х представлених операцій – це ще одна таблиця (іншими словами, ці оператори – такі що породжують таблиці). Це є реляційною властивістю замкненості. Вона має велике значення і, головним чином, через те, що результатом виконання операції є об¢єкт того ж роду, що ї об¢єкт, над яким виконується операція, а саме – таблиця. Це, крім того, означає, що над результатом операції можна виконувати знову деякі операції (вибрати стовпці). Весь інформаційний вміст бази представляється виключно одним єдиним способом, а саме – явним заданням значень, розміщенних в позиціях стовпців у рідках таблиці. Цей метод представляється єдино можливим для реляційних баз даних (на логічному рівні). Зокрема, немає ніяких вказівників, які пов¢язують одну таблицю з іншою.

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

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

Типи – це об¢єкти (множини об¢єктів), які можна обговорювати. Відношення – це факти (множини фактів), відносно об¢єктів, які можна обговорюати.

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

 

 

Властивості відношень.

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

· у відношеннях немає однакових кортежів;

· кортежі відношення не мають впорядкованості у напрямку знизу вверх;

· атрибути в кортежах не впорядковані зліва направо;

· кожен кортеж містить одне значення для кожного атрибуту.

Властивість 1. Відсутність однакових кортежів.

Дана властивість випливає з того факту, що тіло відношення – це математична МНОЖИНА (кортежів), а в математиці множини за визначенням не містять однакових елементів. Дійсно, поняття „однакові кортежі” немає змісту. Припустимо, що в деякому відношенні є кортеж, який відображає той істиний факт, що постачальник з номером С1 знаходиться в місті Лондон. Далі, якщо у відношенні є другий такий кортеж, він також відображатиме цей самий істиний факт. Проте, якщо істиний факт повторюється двічі, більш істиним він від цього не стане.

Властивість 2. Відсутність впорядкованих кортежів (зверху вниз).

Дана властивість так само випливає з того, що тіло відношення - це математична множина, а прості математичні множини у математиці не впорядковані. Наприклад, кортежі могли б розташовуватися у протилежному порядку, проте відношення залишилося тим самим. Тому у відношенні немає 5-, 97-, або 1-го кортежа, тобто немає поняття позіціонованої адресації.

Властивість 3. Відсутність впорядкування атрибутів (зліва направо).

Дана властивість випливає з того факту, що заголовок відношення також визначено як множина (атрибутів). Наприклад, атрибути відношення С могли би бути представлені, в іншому порядку. Це було б таке саме відношення, принаймні з точки зору реляційної моделі. Тому не існує першого або останнього атрибуту, не існує останнього атрибуту. Іншими словами, атрибут завжди визначається за іменем, а не за розташуванням.

Властивість 4 Кожен кортеж містить рівно одне значення для кожного атрибуту.

Остання властивість випливає безпосередньо з визначення кортежу: кортеж є множиною n впорядкованих пар виду Ai:nI (i=1,2,…n). Відношення, що задовольняє цій властивості називається нормалізованим або представленим у першій нормальній формі (1НФ).

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

Згідно з найбільш поширеною трактовкою, реляційна модель даних складається з трьох частин, які описують різні аспекти реляційного підхода: структурної частин, маніпуляційної частини і цілістної частини.

 

Агрегатні функції.

За допомогою запиту можна одержувати узагальнене групове значення полів так само як і значення одного поля. Це робиться за допомогою агрегатих функцій. Агрегатні функції повертають одне значення для всієї групи таблиці. Всього таких функцій, що підтримуються будь-яким діалектом мови SQL, є 5:

* COUNT (лічильник) виробляє кількість рядків або не-NULL значення полів, які вибрав запит.

* SUM (Сума) знаходить арифметичну суму всіх вибраних значень даного поля.

* AVG (Середнє) виконує усреднення всіх вибраних значень даного поля.

* MAX знаходить найбільше з усіх вибраних значень даного поля.

* MIN знаходить найменше з усіх вибраних значень даного поля.

Агрегатні функції використовуються подібно іменам полів у команді SELECT запиту. Їх аргументами є імена стовпців. З SUM і AVG можуть використовуватись лише числові поля. Функції COUNT, MAX, и MIN, допускають використання і числових і символьних полів. Коли вони використовуються з символьними полями, MAX і MIN будуть транслювати їх у еквівалент ASCII, за яким MIN будет означати перше, а MAX – останнє значення за алфавітом.

AVG() – повертає середнє арифметичне значень для заданого стовпця. Результатом буде таблиця з додатковим стовпцем, що міститиме середнє значення, причому йому можна давати окрему назву:

SELECT AVG(amt) as avamt

From Orders;

Функція COUNT дещо відрізняється від усіх. Вона повертає кількість значень у даному столпці, або кількість рядків у таблиці.

Select count(snum) from orders;

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

МАХ(), MIN() повертають, відповідно найбільше і найменше значення стовпчика. Причому пошук можна здійснювати не серед всіх значень стовпчика, а лише у тих рядках, які задовольняють критерію, вказаному в директиві WHERE:

SELECT MAX (amt) as maxamt, MIN(amt) as minamt

FROM Orders

Пропозиція GROUP BY дозволяє визначити підмножену значень у певному полі в термінах іншого поля, і застосувати функцію агрегата до підмножини. Це дає можливість об¢єднувати поля і агрегатні функції у єдиній команді SELECT.

Згідно строгій інтерпретації ANSI SQL, не можна викорситовувати агрегат агрегата.

 

Обмеження відношень.

Крім зазаначення безпосередньо типів та розміру полів таблиці можна задавати обмеження з метою забезпечення цілісності таблиці. При створенні таблиці (або, при її зміні), можна накладати обмеження на значення які можуть вводитися в поля. Якщо це зробити, SQL буде відхиляти будь-які значення які порушують критерії які визначені для того чи іншого поля.

Обмежання PRIMARY KEY. При розробці таблиці визначається набір потенціальних ключів, тобто тих полів, значення яких однозначно ідентифікують кожен рядок таблиці. Причому з них, як наведено у попередньому прикладі, обирається в якості первинного ключа, для якого неможна використовувати атрибут NULL. Не може бути однакових значень цього поля для різних записів. Первинний ключ забезпечує цілісність даних у стовпцях та є першим кроком до цілісності у всій БД. СКБД створює унікальний індекс для стовпця первинного ключа. Якщо Ви не хочете, щоб створений індекс був кластеризованим, можна використовувати слово NONCLUSTERED при створенні обмеження.

Щодо інших потенціальних ключів, то вони є альтернативними ключами, і для позначення їх унікальності використовують унікальне обмеження (UNIQUE), яке гарантує відсутність дублікатів стовпця. Можна визначити групу полів як унікальну за допомогою команди обмеження таблиці — UNIQUE. Оголошення унікальності групи означає не унікальність значень складових цієї групи, а унікальність їх комбінації.

Обмежання цілісності за посиланням, або зовнішній ключ. Після створення в одній таблиці поля первинного ключа, значення цього поля можуть використовуватися в іншій таблиці (таблицях) БД для створення істиних тверджень при характеристиці різних сутностей. В інших таблицях це поле вже не є унікальним, має назву поля зовнішнього ключа. FOREIGN KEY пов’язує один або декілька стовпців таблиці з ідентичним номером стовпців іншої таблиці. Його значення не можуть вийти за межі діапазону значень, який у першопочатковій таблиці задається значеннями цього ж поля але вже первинного ключа. Таким чином обмежання FOREIGN KEY використовується лише після створення у відповідній таблиці обмежання PRIMARY KEY для цього є поля. Причому, ці поля не обов’язково повинні мати однакову назв (хоча це бажано), але повинні мати один тип і однакову довжину. Коли в таблиці, де визначено обмежання PRIMARY KEY обновлюються значення стовпців, автоматично обновлюються значення в таблиці, для якої визначено обмежання FOREIGN KEY.

Обмежання СНЕСК (перевірка). Можна запобігти небажаним або помилковим введенням значень. Для цього використовується обмеження СНЕСК. Воно наклідає умову на значення, що вводиться, які можна ввести в один або декілька стовпців таблиці. Це область з якої стовпець може одержувати свої значення. СНЕСК виражається як булевий вираз, який приймає значення true або false.

Обмежання DEFAULT (значення за замовчуванням). Коли ви вставляєте новий рядок у таблицю без вказання одного чи декількох значень чи при введені інформації залишаєте незаповненими поля, SQL повинен мати значення за замовчуванням для заповнення цих пропусків. Найбільш загальним значенням за замовчуванням є — NULL. Це значення за замовчуванням для будь-якого стовпця, якому не надано обмеження NOT NULL. Значенння DEFAULT вказується в команді CREATE TABLE у той самий спосіб що і обмеження стовпця, хоча, з технічної точки зору, воно не має обмежуючих властивостей — воно не обмежує значення, які можнае вводити, а просто визначає, що може статися, якщо не ввести будь-яке з них. В якості обмеження обирають значення, що найчастіше зустрічається у стопці.

 

Організація баз даних

 

9. Організація баз даних. 1

1. Файлові системи. Особливості та недоліки використання традиційних файлових систем. 2

2. Системи керування баз даних. Основні компоненти і функції сучасних СКДБ. 3

3. Концептуальна модель даних. Сутність, атрибут, в’язок. Діаграма «сутність-зв’язок». 4

4. Реляційна модель даних та її аспекти. Поняття відношення. 5

5. Основні поняття реляційної моделі даних. Тип даних, домен, кортеж, атрибут, кардинальність, степінь відношення. Схема відношення та бази даних. 6

6. Властивості відношень. 7

7. Цілісність бази даних. Первинний та зовнішній ключ. 8

8. SQL – мова структурованих запитів сучасних СКБД. 9

9. Створення запиту. Поняття вибірки. Оператор SELECT та приклади його використання. 10

10. Реляційна алгебра і реляційне числення. Основні операції реляційної алгебри. 11

11. Агрегатні функції. 12

12. Операції з’єднання відношень. 12

13. Створення базових відношень за допомогою оператора CREATE TABLE. 14

14. Обмеження відношень. 15

15. Групування даних таблиці за допомогою директив ORDER BY і GROUP BY. 16

 

 

 

Файлові системи. Особливості та недоліки використання традиційних файлових систем.

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

Файлові системи були першою спробою комп¢ютиризувати відомі всім ручні картки. Подібна картка (або підшивка документів) в деякій організації могла містити всю зовнішню і внутрішню документацію, пов¢язану з деяким продуктом, завданням, клієнтом або співробітником. Зазвичай таких папок дуже багато, їх нумерують і зберігають у шафах. З метою безпеки шафи можуть навіть закривати на ключ або зберігати у приміщеннях, що знаходяться під охороною. У більшості людей вдома є власні карототеки, що містять підшивки документів, такі як рахунки, гарантійні талони, чеки про сплату за комунальні послуги, стархові та банківські папери, звіти з лабораторних робіт, конспекти лекцій тощо. Якщо нам потрібна будь-яка інформація, потрібно вручну переглянути картотеку від початку до кінця, щоб знайти те, що нас цікавить. Цей процес можна вдосконалити, ввівши у такій системі процес індексування, який дозволить прискорити процес пошуку потрібних відомостей. Наприклад, можна використати спеціальні розділювачі або окремі папки для різноманітних логічно пов¢язаних типів об¢єктів.

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

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

Обмеження, притаманні файловим системам

§ Відокремлення та ізоляція даних.

§ Дублювання даних.

§ Залежність від даних.

§ Несумісність файлів.

§ Фіксовані запити/ швидке збільшення кількості додатків.

 



Поделиться:


Последнее изменение этой страницы: 2016-12-16; просмотров: 456; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.216.92.5 (0.014 с.)