Название: Файлові системи і бази даних. Потреби інформаційних систем
Вид работы: реферат
Рубрика: Информатика и программирование
Размер файла: 29.37 Kb
Скачать файл: referat.me-134972.docx
Краткое описание работы: Основні сфери застосування обчислювальної техніки та їх характеристика. Обмеження, притаманні файловим системам. Розділення та ізоляція даних, їх дублювання. Поняття несумісності форматів файлів. Недоліки традиційних файлових систем та їх усунення.
Файлові системи і бази даних. Потреби інформаційних систем
Файлові системиі бази даних. Потреби інформаційних систем
(реферат)
За всю історію обчислювальної техніки можна прослідкувати дві основні сфери її застосування. Перша сфера – це застосування обчислювальної техніки для виконання математичних розрахунків, які надто довго або взагалі неможливо провести вручну. Розвиток саме цієї галузі сприяло інтенсифікації методів числового розв’язку складних математичних задач, розвитку класів мов програмування, орієнтованих на зручний запис числових алгоритмів, становлення зворотного зв’язку з розробниками нових архітектур ЕОМ.
Друга галузь, яка безпосередньо відноситься до теми наших лекцій – це використання засобів обчислювальної техніки в автоматичних або автоматизованих інформаційних системах. В найширшому розумінні, інформаційна система являє собою програмно-апаратний комплекс, функції якого полягають у надійному збереженні інформації у пам’яті комп’ютера, виконання специфічних для даного додатку перетворень інформації та/або обчислень, наданні користувачеві зручного та зрозумілого інтерфейса. Зазвичай такі системи мають справу з великими обсягами інформації, яка має достатньо складну структуру.
Класичними прикладами інформаційних систем є банківські системи, системи резервування авіаційних квитків, місць у готелі тощо.
Друга галузі застосування обчислювальної техніки виникла дещо пізніше за першу. Це пов’язане з тим, що на світанку обчислювальної техніки можливості комп’ютерів по зберіганню інформації були дуже обмеженими. Говорити про надійне та довготривале збереження даних можливо було лише при наявності запам’ятовуючих пристроїв, які зберігають інформацію після вимкнення живлення машини. Оперативна пам’ять комп’ютерів такої властивості не має. У перших комп’ютерах використовувалися два пристрої зовнішньої пам’яті – магнітні стрічки та барабани. Ємність магнітних стручок була достатньо великою, але за своєю фізичною природою така стрічка забезпечувала лише послідовний доступ до даних. Магнітні ж барабани, які більше подібні до сучасних магнітних дисків з фіксованими головками, надавали можливість довільного доступу до даних, але були обмеженого розміру.
Такі обмеження не були суттєвими для чисто чисельних розрахунків. Але для інформаційних систем, в яких потреба у поточних даних визначається кінцевим користувачем, наявність лише магнітних стрічок або барабанів є незадовільною. Уявіть собі покупця квитків, який біля каси повинен чекати повного перемотування магнітної стрічки. Однією з природних вимог до таких систем є достатня швидкість виконання операцій.
Здається, саме вимоги нечислових прикладних програм, викликали появу зйомних магнітних дисків з рухомими голівками, що явилося революцією в історії обчислювальної техніки. Такі пристрої зовнішньої пам’яті мали набагато більший обсяг, забезпечували достатню швидкість доступу до даних в довільному порядку, а можливість зміни дискового пакету на пристрої дозволяла мати практично необмежений архів даних.
З появою магнітних дисків почалася історія систем керування даними у зовнішній пам’яті. До того моменту кожна програма-додаток, якій потрібно було зберігати дані у зовнішній пам’яті, сама визначала розміщення кожної порції даних на магнітній стрічці чи барабані і виконувала обмін між оперативною пам’яттю та пристроєм зовнішньої пам’яті за допомогою програмно-апаратних засобів низького рівня (машинних команд або виклику відповідних програм операційної системи). Такий режим роботи не дозволяє і дуже ускладнює підтримку на одному зовнішньому носії декількох архівів інформації довготривалого зберігання. Крім того, кожній прикладній програмі потрібно було вирішувати проблему іменування частин даних і структуризації даних у зовнішній пам’яті.
Історичним кроком став перехід до використання централізованих систем управління файлами.
Файлові системи – це набір програм, які виконують для користувачів деякі операції, наприклад створення звітів. Кожна програма визначає свої власні дані і керує ними.
Файлові системи були першою спробою комп¢ютиризувати відомі всім ручні картки. Подібна картка (або підшивка документів) в деякій організації могла містити всю зовнішню і внутрішню документацію, пов¢язану з деяким продуктом, завданням, клієнтом або співробітником. Зазвичай таких папок дуже багато, їх нумерують і зберігають у шафах. З метою безпеки шафи можуть навіть закривати на ключ або зберігати у приміщеннях, що знаходяться під охороною. У більшості людей вдома є власні карототеки, що містять підшивки документів, такі як рахунки, гарантійні талони, чеки про сплату за комунальні послуги, стархові та банківські папери, звіти з лабораторних робіт, конспекти лекцій тощо. Якщо нам потрібна будь-яка інформація, потрібно вручну переглянути картотеку від початку до кінця, щоб знайти те, що нас цікавить. Цей процес можна вдосконалити, ввівши у такій системі процес індексування, який дозволить прискорити процес пошуку потрібних відомостей. Наприклад, можна використати спеціальні розділювачі або окремі папки для різноманітних логічно пов¢язаних типів об¢єктів.
Ручні картки дозволяють успішно справитися з поставленими задачами, якщо кількість об¢єктів, що зберігаються, невелике. Також вони цілковито підходять для роботи з великою кількістю об¢єктів, які потрібно лише зберігати, або вилучати. Проте вони виявляються цілковито не придатними для випадків, коли потрібно встановити перехресні зв’язки чи виконати обробку відомостей.
В наш час клієнтам, менеджерам та іншим співробітникам з кожним днем потрібно все більше і більше інформації. Зрозуміло, що картотека зовсім не підходить для виконання роботи подібного типу. Файлові системи були розроблені для забезпечення більш ефективних способів доступу до даних. Проте, замість організації централізованого сховища всіх даних підприємства, використовувався децентралізований підхід, за яким співробітники кожного відділу за допомоггою спеціалістів по обробці даних (програмістів) працюють зі своїми власними даними і зберігають їх у своєму відділі у окремих файлах. Файл являє собою простий набір записів , які містять логічно зв’язані данію кожен запис містить логічно зв’язаний набір з одного чи декількох полів, кожне з яких представляє деяку характеристику об’єкту, що моделюється. Кожен співробітник звертається до даних за допомогою спеціалізованої прикладної програми. Набір прикладних програм кожного відділу дозволяє вводити дані, працювати з файлани і генерувати деякий фіксований набір спеціалізованих звітів. Найважливішим є те, що фізична структура і методи зберігання записів файлів з даними жорстко визначаються в коді прикладної програми.
Обмеження, притаманні файловим системам
- Відокремлення та ізоляція даних.
- Дублювання даних.
- Залежність від даних.
- Несумісність файлів.
- Фіксовані запити/ швидке збільшення кількості додатків.
Розділення та ізоляція даних
Коли дані ізольовані у окремих файлах, доступ до них ускладнений. Наприклад, для створення списку всіх будинків, що відповідають вимогам потенційних орендарів, попередньо потрібно створити тимчасовий файл зі списком орендарів, які бажають орендувати нерухомість типу „будинок”, далі у файлі про нерухомість, що здається в оренду, потрібно здійснити пошук об¢єктів типу „будинок” з орендною платою нижче за максимум, встановлений орендарем. Виконати подібний пошук та обробку даних у файлових системах достатньо складно. Для вилучення інформації, яка задовольняє поставленим умовам програмісту потрібно реалізувати синхронну обробку двох файлів. Ще більші складності виникають, коли інформацію потрібно шукати більше ніж у двох файлах.
Дублювання даних
Через децентралізовану роботу з даними, яка ведеться у кожному відділі на підприємстві, у файловій системі фактично заохочується безконтрольне дублювання даних, яке є небажаним за двох причин:
1. дублювання даних супроводжується неекономним використанням ресурсів, оскільки на введення надлишкових даних потрібно витрачати додатково час та гроші. Більше того, для їх зберігання необхідне додаткове місце у зовнішній пам¢яті. У більшості випадків дублювання даних можна уникнути за рахунок сумісного використання файлів.
2. ще більш важливим є той факт, що дублювання даних може призвести до порушення їх цілісності , інакше кажучи, дані у різних відділах можуть стати суперечливими. Наприклад, у випадку дублювання даних про співробітників у бухгалтерії та відділі кадрів, якщо робітник змінить адресу і цю зміну буде зафіксовано лише у відділі кадрів, то повідомлення про зарплату надійде на чужу адресу. При виявленні подібної помилки потрібно буде витратити багато часу для її повного усунення, оскільки немає деякого автоматичного способа обновлення даних одночасно у всіх відділах.
Залежність від даних
Фізична структура і спосіб збереження записів файлів і спосіб зберігання записів файлів даних жорстко фіксованих у коді програми-додатку. Це означає, що змінити існуючу структуру даних достатньо складно.
Несумісність форматів файлів
Оскільки структура файлів визначається кодом додатків, вона залежить і від мови програмування цього додатку. Наприклад, структура файлу, створеного на мові COBOL може повністю відрізнятися від структури файлу, створеного на мові С.
Фіксовані запити / швидке збільшення кількості додатків
З точки зору користувача можливості файлових систем перевищують можливості ручних карток. Відповідно зростає і їх вимоги до реалізації нових та модифікованих запитів. Проте, файлові системи значно залежать від програміста, оскільки всі необхідні запити і звіти повинні бути створені саме ним. У багатьох організаціях, як свідчить література, події розвивалися по одному з двох сценаріїв. 1) типи створюваних запитів мали фіксовану форму і не було інструментів для створення незапланованих або довільних запитів, як до даних, так і відомостей про те, які типи даних є доступними.
2) спостерігалося різке збільшення кількості файлів і додатків. В результаті співробітники відділу обробки даних були не в змозі задовольнити всі потреби за допомогою наявних на той час ресурсів при цьому часто ігнорували питання підтримки функціонування системи: не передбачалися заходи безпеки або цілісності даних, засоби обновлення після збою апаратного і програмного забезпечення були обмеженими або взагалі відсутніми. Доступ до файлів часто обмежувався одним користувачем, тобто н передбачалося спільне використання файлів навіть робітниками одного відділу.
Системи з базами даних
Всі перераховані вище обмеження фалових систем є наслідком двох факторів:
· визначення даних міститься всередині прикладних програм, а не зберігається окремо і незалежно від них.
· Окрім прикладних програм не передбачено жодних інших інструментів доступу до даних та їх обробки.
Для підвищення ефективності роботи необхідно використовувати новий підхід, а саме базу даних і систему керування базами даних, або СКБД.
База даних- це сумісно використовуваний набір логічно зв’язаних даних та опис цих даних, передбачений для задоволення інформаційних потреб організації.
База даних – це єдине, велике сховище даних, яке одноразово визначається, а потім використовується одночасно багатьма користувачами з різних підрозділів. Замість окремих файлів з надлишковими даними, тут всі дані зібрані разом з мінімальною часткою надлишковості. База даних є корпоративним ресурсом і не належить якомусь окремому відділу. Зауважимо, що база даних зберігає не лише робочі записи підприємства, але й їх опис.
З точки зору додатку, файл – це іменована область зовнішньої пам’яті, в яку можна записати і з якої можна зчитати дані.
Система управління файлами бере на себе розподілення зовнішньої пам’яті, відображення імен файлів за відповідними адресами у зовнішній пам’яті і забезпечення доступу до даних.
Перша файлова система була розроблена намаганнями фірми IBM для серії комп’ютерів 360. У файлових системах різних операційних систем файл для користувача представляється по-різному. Наприклад користувачі ОС DEC, RSX, VMS, розглядають файл як послідовність записів. Кожен запис – це байтова послідовність постійного або змінного розміру. Записи можна зчитувати або записувати послідовно або позиціонувати файл на запис з вказаним номером.
Деякі файлові системи дозволяють розбивати записи на поля і оголошувати деякі поля ключами запису. В таких системах можна зробити вибірку з файлу за заданим ключем.
Інший підхід, який набув поширення разом з операційною системою UNIX, полягає в тому, що будь-який файл представляється як послідовність байтів. З файлу можливо зчитати вказану кількість байтів, або з початку, або попередньо налаштувавши його на байт з вказаним номером. Аналогічно можливо записати вказане число байт в кінець файлу, або попередньо виконавши позиціонування файлу.
Як захистити файл?
Оскільки файлові системи є спільним сховищем файлів, які в загальному випадку належать різним користувачам, системи керування файлами забезпечують авторизацію доступу до файлів. В загальному вигляді підхід полягає в тому, що по відношенню до кожного зареєстрованого користувача даної обчислювальної системи для кожного наявного файлу вказуються дії, які дозволені або заборонені для даного користувача.
В більшості сучасних систем керування файлами застосовується підхід до захисту файлів, що вперше був реалізований в ОС UNIX. В цій ОС кожному зареєстрованому користувачеві відповідає пара цілочисельних ідентифікаторів: ідентифікатор групи, до якої належить цей користувач, і його власний ідентифікатор в групі. При кожному файлі зберігається повний ідентифікатор користувача, який створив цей файл, і фіксується, які дії з файлом може виконувати його виробник, які дії з файлом доступні для інших користувачів тієї самої групи і що можуть робити з файлом представники інших груп. Ця інформація досить компактна, зусилля потрібні для перевірки помірні, а такий спосіб контролю в більшості випадків виправданим.
Щодо застосування файлових систем
Після екскурсу в історію і можливості систем управління файлами підіб’ємо підсумки. Звичайно, перш за все файли застосовуються для збереження текстової інформації: документів, текстів програм тощо. Такі файли звичайно створюються і модифікуються за допомогою різноманітних текстових редакторів. Структура файлів звичайно дуже проста: це або послідовність записів, що містять рядки тексту, або послідовність байт, серед яких зустрічаються спеціальні символи (наприклад, символи кінця рядка).
Файли з текстами програм є вихідними параметрами компіляторів, які, в свою чергу формують файли, що містять об’єктні модулі. С точки зору файлової системи, об’єктні файли також абсолютно стандартної структурой – послідовність записів або байтів. Система програмування накладає на цю структуру більш складну і специфічну для цієї системи структуру об’єктного модуля. Підкреслимо, що логічна структура об’єктного модуля залищається невідомою для файлової системи, ця структура підтримується програмами системи програмування.
Зауважимо, що у названих випадках цілком достатньо тих засобів захисту файлів і синхронізації паралельного доступу, які забезпечують системи управління файлами.
Іншими словами, файлові системи звичайно забезпечують збереження слабо структурованої інформації, залишаючи подальшу структуризацію прикладним програмам.
Але якщо згадати, що тема нашої лекції стосується все ж таки інформаційних систем, яки головним чином орієнтовані на зберігання, вибір та модифікацію інформації, то ці можливості видаються недостатніми.
Структура інформації звичайно дуже складна, і хоча структури даних різноманітні, між ними часто простежується багато спільного. На початковому етапі обчислювальної техніки проблеми структуризації даних вирішувалися індивідуально у кожній інформаційній системі. Створювалися необхідні бібліотеки програм над файловими системами, подібно тому, як це робиться в компіляторах.
Але, оскільки в інформаційних системах необхідно підтримувати складні структури даних, ці індивідуальні засоби керування даними складали суттєву частину інформаційних систем, практично повторюючись, від однієї системи до іншої. Намагання виділити загальну частину інформаційних систем, відповідальну за керування складно-структурованими даними стало, першою спонукаючою причиною створення СКБД, яка, можливо, могла б представляти деяку загальну бібліотеку програм, доступну кожній інформаційній системі.
Розглянемо це на прикладі. Припустимо, що ми бажаємо реалізувати просту інформаційну систему, яка підтримує облік робітників деякої організації. Схема повинна видавати списки робітників у відповідності з вказаними номерами відділів, підтримувати реєстрацію переведення робітників з одного відділу в інший, прийняття та звільнення з роботи. Для кожного відділу повинна підтримуватися можливість одержання імені керівника цього відділу, загальної чисельності відділу, загальної суми заробітної плати за останній місяць тощо. Для кожного співробітника повинна підтримуватися можливість видачи номера посвідчення за повним іменем співробітника, видачи повного імені по номеру посвідчення, одержання інформації про поточну відповідність посади та розміру зарплатні.
Припустимо, що ми вирішили реалізувати таку інформаційну систему на основі файлової системи і користуватися при цьому одним файлом. Оскільки мінімальною інформаційною одиницею в нашому випадку є співробітник, у файлі містиметься один запис для кожного робітника. Поля таких записів повинні містити повне ім’я робітника (РОБ_ІМ), номер його посвідчення (РОБ_НОМ), розмір зарплатні (РОБ_ЗАРП), номер відділу (РОБ_ВІД_НОМ). Оскільки ми намагаємося обмежитися одним файлом, цей самий запис повинен містити ім¢я керівника відділу (РОБ_ВІД_КЕР).
Для виконання функцій нашої інформаційної системи необхідна можливість багатоключового доступу до цього файлу за унікальними ключами. Ключ – це поле даних, яке однозначно визначає запис у файлі, тобто не дублюються у різних записах. В нашому випадку такими полями є РОБ_ІМ та РОБ_НОМ. Крім того, повинна забезпечуватись можливість вибору всіх записів для робітників з одного відділу (РОБ_ВІД_НОМ), тобто доступ за неунікальним ключем. Для того щоб одержати чисельність відділу або загальний розмір зарплатні, інформаційна система повинна що разу вибирати всі записи про робітників відділу і підраховувати відповідне нове значення.
РОБ_ІМ | РОБ_НОМ | РОБ_ЗАРП | РОБ_ВІД_НОМ | РОБ_ВІД_КЕР |
Таким чином, на прикладі реалізації навіть простої системи на базі файлової, користувач стикається з недоліками традиційних файлових систем, такими як:
- Великі затрати праці програміста (створення достатньо складного долаштування, яке забезпечувалоб багатоключовий доступ до файлів).
- Надлишковість даних (в записах на кожного співробітника вказується ім¢я керівника відділу);
- Слабкий контроль за даними (для здійснення окремої операції чи вибірки потрібно переглядати всі записи у файлі);
- Недостатні можливості керування даними (якщо виникне ситуацію видати інформацію про співробітників з заданою зарплатнею, потрібно буде або повністю переглядати файл, або переоголосити поле РОБ_ЗРП ключовим).
Ситуацію можна виправити, якщо почати підтримувати два багатоключові файли РОБІТНИКИ і ВІДДІЛИ: перший файл міститиме поля РОБ_ІМ РОБ_НОМ РОБ_ЗАРП і РОБ_ВІД_НОМ, а другий – ВІД_НОМ, ВІД_КЕР, РОБ_ЗРП (загальний обсяг зарплатні) та ВІД_РОЗМІР (загальна кількість співробітників у відділі. Тоді, більша частина незручностей, про які йшлося, буде розв¢язана, але після такого переходу інформаційна система буде володіти новими якостями, які наближають її до СКБД – комп ¢ ютеризована система збереження даних, основне призначення якої зберігати інформацію, надаючи користувачеві можливості її вилучення і модифікації. Під інформацією слід розуміти все, що необхідно для поточної роботи даного користувача або підприємства.
РОБІТНИКИ:
РОБ_ІМ | РОБ_НОМ | РОБ_ЗАРП | РОБ_ВІД_НОМ |
ВІДДІЛИ:
ВІД_НОМ | ВІД_КЕР | РОБ_ЗАРП |
Перш за все система повинна знати, що вона працює з двома інформаційно зв¢язаними файлами, їй необхідно знати структуру і зміст кожного поля (наприклад, що РОБ_ВІД_НОМ в файлі РОБІТНИКИ і ВІД_НОМ в файлі ВІДДІЛИ означають одне і те саме), а також розуміти, що зміни у першому файлі повинні викликати зміни і в другом, щоб загальний зміст був узгоджений. Наприклад, якщо на роботу приймуть нового робітника, необхідно додати запис у файл РОБІТНИКИ, а також відповідним чином змінити поле ВІД_ЗРП і ВІД_РОЗМІР у файлі ВІДДІЛИ.
Узгодженість даних є ключовим поняттям баз даних. Дійсно, якщо інформаційна система підтримує узгоджене збереження інформації в декількох файлах, можна казати, що вона підтримує базу даних – множина взаємопов ¢ язаних елементарних груп даних, які можуть оброблятися однією чи кількома прикладними системами. Якщо деяка допоміжна система керування даними дозволяє працювати з декількома файлами, забезпечуючи їх узгодженість, її можна назвати системою керування базами даних. Однієї лише узгодженості даних в декількох файлах не дозволяє обійтися однією лише бібліотекою функцій: така система повинна володіти деякими власними даними (мета-даними) і навіть знаннями, які визначають цілісність даних.
Але це ще не все, що вимагається від СКБД. По-перше, навіть у нашому прикладі незручно реалізовувати такі запити, як ”надати загальну чисельність відділу, в якому працює Іван Іванович Іванов”. Було б набагато простіше, якби СКБД дозволяла сформулювати такий запит на рідній і зрозумілій нам мові. Мову, яку потрібно опанувати для такого випадку називають мовою запитів до баз даних. Наприклад, на мові SQL (StructuredQueryLanguage) наш запит можна було виразити у формі:
SELECT РОБ_РОЗМІР
FROM РОБІТНИКИ, ВІДДІЛИ
WHERE РОБ_ІМ=”Іван Іванович Іванов”
ANDСОТР_ОТД_НОМ=ОТД_НОМЕР
При формулюванні запиту СКБД дозволить не замислюватись над тим, яким чином буде виконуватися цей запит. Серед безлічі її мета-даних міститиметься інформація про те, що поле РОБ_ІМ є ключовим для файлу співробітники, а ВІД_НОМ - ключовим для файлу ВІДДІЛИ, і система сама скористається цим.
Похожие работы
-
Стискання та архівування даних
Вміння та навички роботи з об’єктами файлової системи. Перевірка вміння учнів працювати з об’єктами файлової системи. Шкідливі комп’ютерні програми за рівнем небезпечності дій. Зменшення об'єму інформації – поняття про архівування та стиснення даних.
-
Автоматизована обробка економічної інформації
Характеристика інфологічної та даталогічної моделі бази даних. Поняття та класифікація управлінських інформаційних систем. Інформаційні системи управління технологічними процесами. Інтелектуальні інформаційно-пошукові системи, штучний інтелект.
-
Програмне забезпечення ПК
Системне та прикладне програмне забезпечення ПК. Файлові менеджери. Системи автоматизованого проектування, управління базами даних. Текстові та табличні процесори. Операційна система WINDOWS XP. Робота з довідковою інформацією. Графічний редактор Paint.
-
Історія та створення СУБД
Поняття та головні принципи створення системи управління базами даних, їх сутність, основні характеристики та складові елементи, функції та типова структура, типи. Вивчення проблеми та визначення необхідності використання даної системи в економіці.
-
Історія розвитку баз даних
Використання засобів обчислювальної техніки в автоматичних або автоматизованих інформаційних системах. Сутність централізованих систем управління файлами. Історія виникнення персональних комп'ютерів. Перспективи розвитку систем управління базами даних.
-
Склад робіт з організації позамашинної інформаційної бази підприємства
Загальна характеристика позамашинної бази підприємства, її склад, структура та призначення. Різновиди носіїв інформації та їх практичне використання. Уніфікована система документації як комплекс взаємопов'язаних документів, основні вимоги до неї.
-
Основи проектування автоматизованих інформаційних систем
Компоненти, функціональна і забезпечуючи частина АІС (автоматизована інформаційна система). Склад програмного забезпечення та класифікація АІС. Трирівнева архітектура облікової АІС. Побудова функціональної моделі з використанням методології SADT (IDEF0).
-
Форматування даних в програмах C++
Правила відтворення даних при введенні. Введення-виведення даних та їх формування. Буферизований вихідний потік для повідомлення про помилки. Управління форматами за допомогою компонентних функцій класу ios. Визначення користувальницьких маніпуляторів.
-
Носії інформації, їхній склад та характеристика. Розробка АРМ прибуток підприємства
Види носіїв інформації у комп'ютерних системах. Класифікація носіїв економічної інформації. Перфораційні, магнітні носії, касетні мікрофільми і карткові мікрофіші. Розробка АРМ прибуток підприємства на основі баз данних надходження та вибуття коштів.
-
Властивості інформаційних технологій, їх використання в бухгалтерському обліку
Поняття та властивості інформації. Основи інформаційної технології, її структура, моделі предметної області, системні й інструментальні засоби. Розробка довідника обліку та калькуляції витрат підприємства, готової продукції та сировини, її склад.