Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекції_СПр.docx
Скачиваний:
37
Добавлен:
21.08.2019
Размер:
947.09 Кб
Скачать
      1. Файлові системи та Бази даних.

      2. Технології доступу до даних. Dao, ado, odbc.

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

Виховна мета: Допомогти студентам усвідомити вагому роль використання різноманітних файлових систем та баз даних у реальному житті.

Актуальність: Донести до відома студентів, що на сьогоднішній день практично кожне ПЗ працює з використанням БД.

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

Фа́йлова систе́ма — спосіб організації даних, який використовуються операційною системою для збереження інформації у вигляді файлів на носіях інформації. Також цим поняттям позначають сукупність файлів та директорій, які розміщуються на логічному або фізичному пристрої.

Cтворення файлової системи відбувається в процесі форматування.

В залежності від організації файлів на носії даних, файлові системи можуть поділятись на:

  • ієрархічні файлові системи - дозволяють розміщувати файли в каталоги;

  • пласкі файлові системи - не використовують каталогів;

  • кластерні файлові системи - дозволяють розподіляти файли між кількома однотипними фізичними пристроями однієї машини;

  • мережеві файлові системи - забезпечують механізми доступу до файлів однієї машини з інших машин мережі;

  • розподілені файлові системи - забезпечують зберігання файлів шляхом їх розподілу між кількома машинами мережі.Зміст [сховати]

Сучасні файлові системи

Сучасні файлові системи (ФС) являють собою ієрархічні структури каталогів. Хоча загальна концепція всіх ФС, в принципі, однакова, в реалізації є деякі відмінності. Два вартих уваги приклади — це символи-розділювачі каталогів та чутливість до регістру. Юнікс-подібні операційні системи (ОС) (BSD, Лінукс, MacOS X) та AmigaOS використовують у якості розділювача каталогів символ похилої риски (/), в той час як DOS використовує цей символ для завдавання додаткових опцій у командному рядку, а в якості розділювача прийнято вживати символ зворотної похилої риски (\). У Microsoft Windows прийнята та ж конвенція за винятком китайської та корейської версій, де розділювачем є знак запитання (?). Версії МакОС до Х використовували у якості розділювача двокрапку; RISC OS — дефіс.

У Юнікс-подібних ОС у назві файлу може використовуватись будь-який символ за винятком похилої риски і вони чутливі до регістру. Назви файлів у Microsoft Windows не є чутливими до регістру.

ФС можуть бути журнальними або нежурнальними. Журнальні файлові системи пишуть інформацію двічі: спершу до журналу дій файлової системи, потім до її належного місця в звичайній файловій системі. В разі аварії система може автоматично відновлювати свій вміст до узгодженого стану програючи частину журналу. В той же час нежурнальним файловим системам потрібно зробити перевірку усієї файлової системи спеціальними програмами, такими як fsck або scandisk.

Більшість дистрибутивів Лінукс підтримують більшість (або всі) перелічені ФС: ext2, ext3, ReiserFS, Reiser4, GFS, GFS2, OCFS, OCFS2, NILFS, XFS, JFS, заразом як і FAT та NTFS.

Microsoft Windows підтримує лише FAT12, FAT16, FAT32, та NTFS. Серед них NTFS є найефективнішою та єдиною, на котру може бути встановлена Windows Vista. Windows Embedded CE 6.0 включає також підтримку ExFAT, призначеної для роботи на портативних пристроях.

MacOS X підтримує HFS+ у якості первинної ФС та кілька інших як допоміжних.

На додачу всі ці (та інші) ОС підтримують файлові системи змінних носіїв — FAT12 для дискет, ISO 9660 та UDF (Universal Disk Format) для компакт-дисків та DVD відповідно.

Класифікація файлових систем

За призначенням файлові системи можна класифікувати на наступні категорії:

  • Для носіїв з довільним доступом (наприклад, жорсткий диск): FAT32, HPFS, ext2 і ін. Останнім часом поширилися журнальовані ФС, такі як ext3, Reiserfs, JFS, NTFS, XFS.

  • Для носіїв з послідовним доступом (наприклад, магнітні стрічки): QIC.

  • Для оптичних носіїв — CD і DVD: ISO 9660, HFS, UDF.

  • Віртуальні файлові системи: AEFS і ін.

  • Мережні файлові системи: NFS, SMBFS, SSHFS, Gmailfs.

Бази даних

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

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

Структуровані та неструктуровані БД

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

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

Характеристика БД

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

  • значна кількість даних

  • незалежність даних

  • відкритий доступ до даних

  • підтримка транзакцій з гарантією відповідних властивостей

  • гарантована відсутність збоїв

  • одночасна робота з багатьма користувачами

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

Реалізації

Комерційні

  • DB2

  • Informix

  • Oracle

  • SQL Server

З відкритим кодом

  • MySQL

  • Firebird

  • PostgreSQL

Основи ODBC

Інтерфейс ODBC (Open Database Connectіvіty) був розроблений фірмою Mіcrosoft як відкритий інтерфейс доступу до баз даних. Він надає уніфіковані кошти взаємодії прикладної програми, називаної клієнтом (або додатком- клієнтом), із сервером - базою даних.

В основу інтерфейсу ODBC були покладені специфікація CLі- Интерфейса (Call-Level Іnterface), розроблена X/Open, і ІSO/ІEC для APІ баз даних, а також мова SQL (Structured Query Language) як стандарт мови доступу до баз даних.

Інтерфейс ODBC проектував для підтримки максимальної интероперабельности додатків, що забезпечує уніфікований доступ будь-якого додатка, що використовує ODBC, до різних джерел даних. Так, якщо додаток, що відповідає стандарту ODBC і SQL, спочатку розроблявся для роботи з базою даних Mіcrosoft Access, а потім таблиці цієї бази були перенесені в базу даних Mіcrosoft SQL Server або базу даних Oracle, те додаток зможе й далі обробляти ці дані без внесення додаткових змін.

Для взаємодії з базою даних додаток- клієнт викликає функції інтерфейсу ODBC, які реалізовані в спеціальних модулях, називаних ODBC- Драйверами. Як правило, ODBC- Драйвери - це DLL- Бібліотеки, при цьому одна DLL- Бібліотека може підтримувати трохи ODBC- Драйверів. При установці на комп'ютер будь-якого SQL- Сервера (бази даних, підтримуючої один зі стандартів мови SQL, наприклад, SQL-92) автоматично виконується реєстрація в реєстрі Wіndows і відповідного ODBC- Драйвера.

Архітектура ODBC

Архітектура ODBC представлена чотирма компонентами:

  • Додаток-Клієнт, що виконує виклик функцій ODBC.

  • Менеджер драйверів, що завантажує й звільняє ODBC- Драйвери, які потрібні для додатків- клієнтів. Менеджер драйверів обробляє виклики ODBC- Функцій або передає їхньому драйверу.

  • ODBC- Драйвер, що обробляє виклики SQL- Функцій, передаючи SQL- Серверу виконуваний SQL-оператор, а додатку- клієнтові - результат виконання викликаної функції.

  • Джерело даних, обумовлений як конкретна локальна або віддалена база даних.