Базы данных и файловые системы
Файловые системы и информационные системы
🕛 22.05.2009, 11:40
В развитии индустрий обработки информации исторически сложилось 2 направления:- вычислительное, центральным моментом в котором является процесс технической обработки информации.
По мере расширения интересов появились новые задачи. Вычислительные задачи перестали представлять большой интерес для множества пользователей. Интерес представляют задачи, связанные с обработкой, доступом, хранением информации, т.е. связанные с большим объёмом информации. Интересно, как можно в огромной массе информации найти маленький кусочек нужной.
- информационная задача.
Для решения этих задач были разработаны СУБД.
Информационные системы организуются на основе стандартного ПО. Первые ИС были организованы с помощью файловых систем.
Файловые системы и информационные системы
Основные задачи, которые должна решать файловая система:
- распределение внешней памяти для хранения соответствующих файлов
- отображение имён на принятую систему хранения во внешней памяти
- обеспечение доступа к данным.
Способы решения этих задач:
1) файл - запись -> поля -> элементы - это должно укладываться на физическое представление, т.е. на физические блоки информации блок -> запись -> байт, необходимо учитывать и свободное место;
2) если бы файл был один, то проблем не было бы. Но так как данных много, поддерживаются способы структурированного хранения, которые представляют собой хранение в виде каталогов по иерархическому принципу. Файлы могут быть поименованы по-разному;
3) проблемы доступа к информации: данные должны хранится надёжно. Для этого необходимы функции безопасного хранения, которые выполняют следующие действия:
- восстановление при сбоях (вводится резервирование)
- контроль доступа (при множественном доступе)
Вывод: Файловые системы годятся для организации ИС, но на низком уровне, т.е. для хранения слабоструктурированной информации и для решения статических задач.
Потребности и задачи информационных систем
ИС - это системы, ориентированные на хранение, выбор и модификацию постоянно существующей информации. Особенность ИС: информация имеет заведомо сложную структуру - внутренние связи. Решение основных задач по управлению информацией средствами файловой системы является невозможным. Файловая система нуждается в дополнительной надстройке. Появление первых ИС и их исследование показало, что надстройки являются одинаковыми (по структуре). Следовательно, эти постоянно повторяющиеся части можно объединить в одну, которая называется БД.
Пример Простая ИС, которая предназначена для учета сотрудников некоторой организации. Она должна:
- ввести списки сотрудников;
- осуществлять фиксацию перевода сотрудников из отдела в отдел;
- осуществлять фиксацию руководства того или иного отдела и содержать общие данные о сотрудниках (численность отдела, зарплата);
- обеспечивать выдачу информации по имени сотрудника или по номеру его удостоверения.
Создаём ИС на основе ФС. Организуем один файл, в котором будем хранить данные о сотрудниках следующим образом: каждому сотруднику соответствует одна запись. Запись должна содержать ряд полей:
сотр_имя
сотр_номер
сотр_стат
сотр_зарп
сотр_отд_номер
сотр_отд_рук
Для решения задач, которые должна выполнять ИС начнём с получения информации о сотруднике по ФИО. Чтобы это сделать одного файла не достаточно. Поле сотр_имя является уникальным ключом данного файла можно создать индексный файл с указанием ключа, соответствующего номеру. Если есть несколько уникальных ключей, например, поле сотр_номер, то строится многоключевой доступ.
Выполним следующую задачу: получим информацию о сотрудниках, которые работают в одном отделе. Здесь тоже осуществляется доступ по ключу, но ключ - не уникальный.
Пусть необходимо осуществить некоторые простые операции. Тогда кроме доступа по неуникальному ключу производятся агрегатные функции по файлу или части файла.
Следующее условие, которым должна обладать ИС: компактное недублированное хранение информации. При существовании 1 файла это не выполняется. Поэтому ИС представляют в виде набора связанных файлов. В данном случае можно назвать: «СОТРУДНИКИ» «ОТДЕЛЫ»
сотр_имя отд_номер
сотр_номер отд_рук
сотр_стат отд_зарп
сотр_отд_номер отд_сотр_число
Благодаря этому дублирование уменьшилось, но появились проблемы согласованности. Существует два класса проблем:
- между двумя файлами устанавливается связь по полю: поле отд_номер является уникальным, а поле сотр_отд_номер называется внешним ключом(или ключом связи), но является неуникальным. Отсюда первый класс проблем - все внешние ключи должны принимать значения, соответствующие уникальному ключу. Но этого недостаточно. Пусть в отделе номер 25 работает 8 сотрудников, т.е. в файле с именем СОТРУДНИКИ находится 8 записей, у которых сотр_отд_номер = 25. Это означает, что в файле ОТДЕЛЫ отд_номер = 25 и отд_сотр_число = 8. Пусть необходимо принять в этот отдел ещё 1 сотрудника. Для этого нужно: изменить значение поля отд_сотр_число и добавить запись в файл СОТРУДНИКИ. Т.к. с 2-мя файлами одновременно работать нельзя, то файлы получаются логически несогласованными. Система должна автоматически поддерживать согласованность данных на физическом и логическом уровне.
- проблема обработки запросов. Необходимы какие-то средства для ответов на различные вопросы пользователей. Таким средством является язык запросов SQL. Этот язык позволяет сформулировать предложение:
SELECT сотр_имя, сотр_номер
FROM «СОТРУДНИКИ»
WHERE сотр_стат = «Нет»
Это предложение позволяет выявить список сотрудников, не прошедших последнюю аттестацию.