Системи керування файлами
Найпростіша база даних організована у вигляді набору звичайних файлів. Ця модель нагадує картотечну організацію документів, при якій папки зберігаються в ящиках, а в кожній папці підшите деяке число сторінок.
Системи керування файлами не можна класифікувати як СКБД, тому що звичайно вони є частиною операційної систем і нічого не знають про внутрішній зміст файлів. Це знання закладене в прикладних програмах, що працюють із файлами. Як приклад можна привести таблицю користувачів UNIX, що зберігається у файлі /etc/passwd. Програми, що звертаються до цього файлу, знають, що в його першому полі перебуває ім’я користувача, що кінчається двокрапкою. Якщо додатку потрібно відредагувати цю інформацію, він повинний безпосередньо відкрити файл і подбати про правильне форматування полів.
Така модель бази даних дуже незручна, оскільки вона вимагає використовувати мову третього покоління (3GL). У результаті час програмування запитів збільшується, а програміст повинен мати більше високу кваліфікацію, тому що йому потрібно продумати не тільки логічну, але й фізичну структуру зберігання даних. Це приводить до того, що між додатком і файлом утворюється тісний зв’язок. Вся інформація про поля таблиць закодована в додатку. Інший додаток, що звертається до того ж файлу, змушений дублювати існуючий код.
Зі збільшенням числа додатків росте складність керування базою даних. Зміни схеми даних приводять до необхідності зміни кожного програмного компонента, для якого це актуально. Формування нових запитів займає стільки часу, що найчастіше губить усякий зміст.
Системи керування файлами не можуть перешкодити дублюванню інформації. Гірше того, не існує механізмів, що запобігають непогодженості даних. Уявіть собі файл, що містить відомості про всіх хто служить у компанії. У кожному рядку є поле, де записане ім’я начальника. Під керівництвом одного начальника працює багато службовців, тому його ім’я буде неминуче повторюватися. Якщо десь це ім’я буде записано неправильно, формально вийде, що в службовця інший начальник. При заміні начальника його ім’я прийде “виловлювати” по всій базі даних.