Тема 1 Файлові системи icon

Тема 1 Файлові системи


Схожі
Навчальна програма дисципліни Інформаційно-управляючі системи в менеджменті та бізнесі Напрям...
Тема «людина життєве середовище»...
«Про банки І банків­ську діяльність»...
Конспект лекцій з дисципліни «Операційні системи та бази даних»...
Конспект лекцій для дистанційного навчання студентів економічних спеціальностей...
Курс ІІІ, Форма навчання денна...
Природа Сонця. Планети. Малі тіла Сонячної системи”...
План лекції. Вступ. Актуальність ураження легень в перебігу ревматичних захворювань...
Перелік бланків цінних паперів, документів суворої звітності...
1. виникнення центральних банків, їх задачі та функції...
Опрацювати текст лекції та скласти конспект...
Вибори та виборчі системи програма курсу...



Загрузка...
скачать
Лекція 1. Файлові системи, бази даних (БД) та системи управління ними (СУБД) – 4 год
Тема 1 Файлові системи

  1. Методи збереження данних. Файлові системи

    1. Типи і структури даних

      1. Поняття даних та їх різновиди

      2. Основні типи даних, що зберігаються у ЕОМ

      3. Узагальнені моделі та структури даних

      4. Еволюція методів та вимог до збереження даних у ЕОМ

    2. Файли та файлові системи

      1. Поняття файлу з точки зору прикладної програми

      2. Структури файлів та файлових систем

      3. Іменування файлів

      4. Захист файлів

      5. Режим багатокористувацького доступу

      6. Області застосування файлів

      7. Основні недоліки файлових систем з точку зору збереженння та обробки великих інформаційних масивів




    1. Типи і структури даних

      1. Поняття даних та їх різновиди. Дані та ЕОМ

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

Дані – це окремі факти, які характеризують об'єкти, процеси та явища предметної галузі, а також їх властивості.

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

При обробці на ЕОМ дані трансформуються, умовно проходячи наступні етапи:

  1. Д1 – дані як результат вимірювань і спостережень;

  2. Д2 - дані на матеріальних носіях інформації;

  3. Д3 - моделі (структури) даних у вигляді діаграм, графіків, функцій;

  4. Д4 - дані у комп'ютері на мові описання даних;

  5. Д5 – бази даних на машинних носіях інформації.

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

Знання – це закономірності предметної галузі (принципи, зв'язки, закони), отримані в результаті практичної діяльності і професійного досвіду, які дозволяють спеціалістам ставити і розв'язувати задачі в певних галузях.

При обробці на ЕОМ знання трансформуються аналогічно даним у такій послідовності:

  1. Z1 – знання у пам'яті людини як результат мислення;

  2. Z2 – матеріальні носії знань (підручники, методичні посібники);

  3. Z3 – поле знань – умовний опис основних об'єктів предметної галузі, їх атрибутів та закономірностей, що їх пов'язують;

  4. Z4 – знання, описані на мовах представлення знань (продукційні мови, семантичні мережі, фрейми);

  5. Z5 – база даних на машинних носіях інформації.

Часто застосовують наступне визначення знань:

Знання - це добре структуровані дані, метадані або дані про дані.

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

      1. ^ Основні типи даних, що зберігаються у ЕОМ

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

Виходячи їхнього способу представлення і способу обробки на ЕОМ, будь-які дані можуть бути віднесені до одного з двох типів: основному (простому), форма представлення якого визначається архітектурою ЕОМ, чи складному, створеному користувачем для розв'язання конкретних задач. Іноді дані розділяють на 3 типи:

  • прості;

  • структуровані;

  • посилальні.

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

  • Логічний.

  • Строковий (рядковий).

  • Чисельний.

Різні мови програмування можуть розширювати й уточнювати цей список, додаючи такі типи як:

  • Цілий

  • Речовинний

  • Дата.

  • Час тощо.

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

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

Структурированные типы данных предназначены для задания сложных структур данных. Структурированные типы данных конструируются из составляющих элементов, называемых компонентами, которые, в свою очередь, могут обладать структурой. В качестве структурированных типов данных можно привести следующие типы данных:

  • Массивы

  • Записи (Структуры)

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

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

Запис (чи структура) являє собою кортеж з деякого декартового добутку множин. Дійсно, запис являє собою іменований упорядкований набір елементів ri, кожний з який належить типу Ni. Таким чином, запис



є елемент множини

. .

Оголошуючи нові типи записів на основі вже наявних типів, користувач може конструювати як завгодно складні типи даних.

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

Такі структури даних, як масив чи запис займають у пам'яті ЕОМ постійний обсяг, тому їх називають статичними структурами. До статичних структур відноситься також множина. Є ряд структур, що можуть змінювати свою довжину - так називані динамічні структури. До них відносяться дерево, список, посилання. Посилальний тип даних (вказівники) призначений для забезпечення можливості вказівки на інші дані і призначений для обробки складних структур, що змінюються, наприклад дерев, графів, рекурсивних структур.


      1. ^ Узагальнені моделі та структури даних

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

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

Будь-яка модель даних повинна містити три компоненти:

  1. структура даних - описує точку зору користувача на представлення даних.

  2. набір допустимих операцій, виконуваних на структурі даних. Модель даних передбачає, як мінімум, наявність мови визначення даних (МОД, DDL – data definition language), що описує структуру їхнього збереження, і мови маніпулювання даними (ИМД, DML – data manipulation language), що включає операції добування і модифікації даних.

  3. обмеження цілісності - механізм підтримки відповідності даних предметної області на основі формально описаних правил.

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


      1. Еволюція методів та вимог до збереження даних у ЕОМ

Еволюція методів збереження даних пройшла наступні етапи:

  1. автоматизована (механізована) обробка;

  2. ранні файлові системи;

  3. розвиті файлові системи;

  4. ранні СУБД (1965-1980 р.);

  5. сучасні СУБД (реляційні, об'єктно-реляційні, постреляційні й ін. (1980р. - ...)

Вперше автоматизована обробка інформації з'явилася приблизно в 1800 році, коли Джеквард Лум почав робити розкрій тканини по зразках, представленим перфокартами. Пізніше аналогічна технологія використовувалася в механічних піаніно. У 1890 р. Холлерит використовував технологію перфокарт для виконання перепису населення Сполучених Штатів. Його система містила запис на перфокарті для кожної родини. Машини зводили підрахунки в таблиці по житлових кварталах, територіальних і адміністративних округах і штатах. Бізнес Холлерита зрештою привів до виникнення компанії International Business Machines для виробництва устаткування, для запису даних на карти, сортування і складання таблиць.

ДО 1955 року в багатьох компаній були цілі поверхи, призначені для збереження перфокарт. На інших поверхах розміщалися шеренги перфораторів, сортувальників і табуляторів. Ці машини програмувалися шляхом перемонтування керуючих панелей, що керували деякими регістрами-нагромаджувачами і вибірково відтворювали карти на інших картах чи на папері.

Наступні етапи прямо зв'язані з обчислювальною технікою. Відзначимо, що із самого початку розвитку обчислювальної техніки утворилися два основних напрямки її використання.

^ Перший напрямок - застосування обчислювальної техніки для виконання чисельних розрахунків, чисельного розв'язання математичних задач, що занадто довго чи взагалі неможливо робити вручну

Для цього напрямку характерні:

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

  • проста структура оброблюваних даних;

  • великий обсяг обчислень;

  • незначне використання зовнішньої пам'яті і, як наслідок, достатність наявності її носіїв у вигляді МС (магнітних стрічок) і МБ (магнітних барабанів).

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

Інформаційна система являє собою програмний комплекс, функції якого полягають у підтримці надійного збереження інформації в пам'яті комп'ютера, виконанні специфічних для даного додатка перетворень інформації і/чи обчислень, наданні користувачам зручного і легко освоюваного інтерфейсу. Звичайно обсяги інформації, з якими доводиться мати справу таким системам, досить великі, а сама інформація має досить складну структуру. Класичними прикладами інформаційних систем є банківські системи, системи резервування авіаційних чи залізничних квитків, місць у готелях і т.д.

Для цього напрямку характерні:

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

  • досить складна структура самої інформації;

  • активне використання зовнішньої пам'яті;

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

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

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

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


    1. ^ Файли та файлові системи

      1. Поняття файлу з точки зору прикладної програми

Перші комп'ютерні додатки призначалися для розв'язання організаційних задач: обробка замовлень і постачань, складання платіжних відомостей, розробка графіків робіт і т.д. Такі додатки одержували інформацію з файлів, що зберігаються на комп'ютері. Запити ішли один за одним (скільки було продано, ким і кому?), а звіти створювалися з метою перетворення даних, збережених у комп'ютері, до вигляду, зручному для керівництва. Історичним кроком став перехід до використання централізованих систем управління файлами.

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

1.2.2. Структури файлів та файлових систем. Еволюція файлових систем

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

  1. файлові структури являють собою цікаву ретроспективу способів обробки даних;

  2. технологія баз даних виникла як відповідь на питання, що не удавалося вирішити в системах обробки файлів;

  3. філософ Джорлж Сантаяна: «Ті, хто не пам'ятає минуле, приречені його повторити». Деякі з дефектів, властивих файловим структурам, можуть знову з'явитися в програмному забезпеченні БД, якщо його користувачам не будуть відомі помилки управління даними у файлах;

  4. осмислення властивостей файлових структур спрощує проектування БД;

  5. на практиці часто доводиться перетворювати старі файлові структури в БД.

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

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

^ Структура системи файлів. З погляду управління система файлів включає наступні складові частини:

  1. апаратні засоби – комп'ютер;

  2. програмне забезпечення: ОС, утиліти, файли, програми управління файлами (обробки файлів, мінімум по програмі на файл) і прикладні програми для створення звітів на підставі даних з файлу. Наприклад, найпростіша система файлів для відділу збуту буде включати 2 файли – КЛІЄНТИ і ПРОДАЖІ з відповідними їм програмами управління кожним файлом і програмами виведення звітів, плюс ОС і стандартні утиліти;

  3. співробітники (співробітники ОЦ і кінцеві користувачі);

  4. процедури – інструкції і правила, відповідно до яких розробляються і використовуються програмні компоненти;

  5. дані – сукупність сирих, неопрацьованих вимог.
^
1.2.3. Іменування файлів

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

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

Інший крайній варіант був реалізований у файлових системах операційної системи Multics. Повне ім'я файлу починалося з імені кореневого каталогу, і користувач не зобов'язаний був піклуватися про установку на дисковий пристрій яких-небудь конкретних дисків. Сама система, виконуючи пошук файлу по його імені, запитувала установку необхідних дисків. Таку файлову систему можна назвати цілком централізованою.
Багато в чому централізовані файлові системи зручніше ізольованих: система управління файлами приймає на себе більше рутинної роботи. Але в таких системах виникають істотні проблеми, якщо комусь потрібно перенести піддерево файлової системи на іншу обчислювальну установку. Компромісне рішення застосоване у файлових системах ОС UNIX. На базовому рівні в цих файлових системах підтримуються ізольовані архіви файлів. Один з цих архівів оголошується кореневою файловою системою. Після запуску системи можна "змонтувати" кореневу файлову систему і ряд ізольованих файлових систем в одну спільну файлову систему за рахунок закладу в кореневій файловій системі спеціальних порожніх каталогів. Спеціальний системний виклик дозволяє підключити до одному з цих порожніх каталогів кореневий каталог зазначеного архіву файлів. Після монтування загальної файлової системи іменування файлів провадиться так само, як якби вона із самого початку була централізованою.
^
1.2.4. Захист файлів

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

Тому в більшості сучасних систем управління файлами застосовується ієрархічний підхід до захисту файлів, уперше реалізований в ОС UNIX. У цій системі кожному зареєстрованому користувачу відповідає пара цілочисельних ідентифікаторів: ідентифікатор групи, до якої відноситься цей користувач, і його власний ідентифікатор у групі. Відповідно, при кожному файлі зберігається повний ідентифікатор користувача, що створив цей файл, і відзначається, які дії з файлом може робити він сам, які дії з файлом доступні для інших користувачів тієї ж групи, і що можуть робити з файлом користувачі інших груп. Ця інформація дуже компактна, при перевірці потрібно невелика кількість дій, і цей спосіб контролю доступу задовільний у більшості випадків.
^
1.2.5. Режим багатокористувацького доступу

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

Історично у файлових системах застосовувався наступний підхід. В операції відкриття файлу (першої й обов'язкової операції, з якої повинен починатися сеанс роботи з файлом) крім інших параметрів указувався режим роботи (читання чи зміна). Якщо до моменту виконання цієї операції від імені деякої програми A файл уже знаходився у відкритому стані від імені деякої іншої програми B (вірніше, "процесу" В), причому існуючий режим відкриття був несумісним з бажаним режимом (сумісні тільки режими читання), то в залежності від особливостей системи програмі A або повідомлялося про неможливість відкриття файлу в бажаному режимі, або вона блокувалася доти, поки програма B не виконає операцію закриття файлу.
^

1.2.6. Області застосування файлів


Насамперед файли застосовуються для:

  • збереження текстових даних: документів;

  • збереження текстів програм;

  • формування об'єктних модулів;

  • формування інформації, створюваної редакторами зв'язків;

  • збереження графічної і звукової інформації і т.д.

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

^ 1.2.7. Основні недоліки файлових систем з точку зору збереження та обробки великих інформаційних масивів

Основні недоліки файлових систем:

  • розділеність й ізольованість даних;

  • складність структури;

  • складність управління;

  • складність програмування;

  • проблеми з безпекою і захистом інформації;

  • залежність прикладних програм від формату файлів;

  • структурна залежність;

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

  • часта взаємна несумісність файлів;

  • складність адекватного вибору імен полів;

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

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

  • дублювання значної частини даних; неконтрольована надмірність даних, здатна породити суперечливість даних і аномалії даних.

^ Розділені й ізольовані дані. Якщо потрібно асоціювати дані з двох файлів, наприклад, файлів КЛІЄНТИ і ПРОДАЖІ, то треба витягнути дані з обох файлів і скомбінувати їх у третій. Для цього системні аналітики і програмісти повинні виділити необхідні частини кожного з файлів, визначити їхнє відношення друг до друга і скоординувати їхню обробку для коректного видобування даних. Це складно навіть для двох файлів, не говорячи вже про десятки і сотні.

^ Управління системою файлів. Алгоритмізація навіть найпростішої задачі пошуку даних вимагає досить інтенсивного використання мов програмування третього покоління (third-generation language – 3GL). Ці мови передбачають, що програміст має визначити як те, що необхідно зробити, так і те, як це необхідно виконати. До мов 3GL відносять, наприклад. КОБОЛ, ФОРТРАН чи БЕЙСИК.

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

Необхідність написання програм на мовах 3GL для створення найпростіших звітів робить практично неможливою обробку нерегламентованих запитів. Прийнятих на роботу співробітників ОЦ просять створювати всі нові звіти, а надати вони їх можуть лише після написання програм, що жадає від тижня до місяця. Дані застарівають і стають просто не потрібні, прийняття рішень втрачає обґрунтованість.

В міру розширення системи файлів ускладнюється і системне адміністрування. Кожен файл повинен мати власну систему управління, що складається з програм, що дають клієнтам можливість виконувати наступні дії:

  • створення структури файлу;

  • додавання даних у файл;

  • видалення даних з файлу;

  • зміна даних у файлі;

  • виведення вмісту файлу.

Навіть найпростіша система, що складається з 20 файлів, зажадає мінімум 5*20=100 керуючих програм. Якщо до кожного з цих файлів здійснюється доступ з 10 різних програм, що генерують звіти, то треба написати 10*20=200 додаткових програм. Тому що нерегламентовані запити практично неможливі, число програм, що генерують звіти, зростає дуже швидко. Якщо при цьому кожен структурний підрозділ створює свої файли для збереження даних, то процес розростання файлової структури стає лавиноподіьним.

Ретельне планування структур файлів – професійна робота фахівця з обробки даних. Тільки для того, щоб змінити одне поле, наприклад, у файлі КЛІЄНТ, треба створити програму, що повинна виконати відповідні дії:

  1. помістити нову файлову структуру в буферну пам'ять комп'ютера;

  2. відкрити вихідний файл, використовуючи інший буфер;

  3. зчитати запис з вихідного файлу;

  4. перетворити вихідні дані у форму нової структури збереження;

  5. записати перетворені дані в нову файлову структуру;

  6. видалити вихідний файл;

  7. настроїти усі файли, що використовують змінений файл, на нову файлову структуру, тобто змінити маршрут доступу.

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

^ Залежність прикладних програм від форматів файлів. При обробці файлів прикладні програми залежать від форматів файлів. У системах обробки файлів фізичні формати файлів і записів є частиною коду додатка. Наприклад, у мові КОБОЛ формати файлів записуються в розділі DATA VISION. Проблема в тому, що при внесенні змін у форматы файлів доводиться змінювати також і всі прикладні програми, що можуть до цього файлу звертатися. Говорять, що файлові системи залежні структурно і за даними, що призводить до того, що треба модифікувати щораз усі програми, що працюють з файлом, навіть якщо вони не звертаються до зміненого поля. Це породжує витрати праці і помилки.

^ Структурна залежність і залежність за даними. Файлові системи мають і перше, і друге. Усяка зміна у файловій структурі, наприклад, додавання чи видалення поля, спричиняє переробку всіх програм, що використовують цей файл. Така модифікація необхідна, тому що доступ до файлу залежить від його структури. Залежність доступу до файлу від його структури називається структурною залежністю (structural dependence).

При цьому навіть проста зміна властивостей даних файлу, наприклад зміни типу поля з цілого (integer) на десяткове (decimal), вимагатиме зміни у всіх програмах, що використовують цей файл. Необхідність поміняти всі програми доступу до даних при будь-яких змінах характеристик даних файлу називається залежністю за даними (data dependence). Система файлів має залежність за даними.

Практичний зміст залежності за даними полягає в різниці між логічним форматом даних (data logical format - як бачить дані людина) і фізичним форматом даних (data phycical format - як «бачить» дані комп'ютер). Тому всяка програма, що дістає доступ до файлу, повинна сказати не тільки, що треба робити, але і як треба робити. Тому кожна програма повинна містити рядки коду, у яких задається спосіб відкриття файлів конкретного типу, специфікація його записів і визначення полів. Залежність за даними, таким чином, робить систему файлів надзвичайно громіздкою і з погляду програмування, і з погляду управління.

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

^ Труднощі представлення даних у зручному для користувача вигляді. У системах обробки файлів зв'язки між записами в окремих файлах не представлені в явній формі і не обробляються. Створення звіту, який базується на спільній обробці даних з кількох файлів для визначення, наприклад, споживчих пріоритетів на основі даних файлів КЛІЄНТИ, ТОВАРИ і ПРОДАЖІ, украй важко.

^ Надмірність даних. Надмірність даних означає, що ті самі дані зберігаються в різних місцях. Наприклад, найменування товару, прізвища і телефони клієнтів будуть зустрічатися й у файлі ТОВАРИ, і у файлі КЛІЄНТИ. І у файлі ПРОДАЖУ.

Неконтрольована надмірність даних може породити наступні проблеми: суперечливість даних і аномалії даних.

Про суперечливість даних (data inconsistency) говорять, коли в кількох місцях є різні, суперечні один одному варіанти тих самих даних, наприклад, номери телефону клієнта. Ця суперечливість може бути наслідком помилки введення даних оператором, невнесення змін в одне з полів, де зберігаються дані і т.д. При цьому виникають порушення цілісності даних (data integrity), тобто не забезпечується стан системи, при якому ті самі дані завжди видають ті самі результати .

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




Скачати 225.6 Kb.
залишити коментар
Дата конвертації25.11.2012
Розмір225.6 Kb.
ТипЛекція, Освітні матеріали
Додати документ в свій блог або на сайт

Ваша оцінка цього документа буде першою.
Ваша оцінка:
Додайте кнопку на своєму сайті:
uadocs.exdat.com

Загрузка...
База даних захищена авторським правом ©exdat 2000-2017
При копировании материала укажите ссылку
звернутися до адміністрації
Реферати
Автореферати
Методички
Документи
Поняття

опублікувати
Загрузка...
Документи

Рейтинг@Mail.ru
наверх