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