- •Содержание
- •Введение
- •1 Автоматизированные информационные системы
- •1.1 Основные понятия
- •1.2 Экономические информационные системы
- •1.3 Место бд в автоматизированной информационной системе
- •2 Методы и средства проектирования бд
- •2.1 Архитектура бд
- •2.2 Модели данных
- •2.3 Жизненный цикл бд
- •2.4 Методы проектирования бд
- •2.5 Case − технологии
- •3 Проектирование бд
- •3.1 Формирование внешнего уровня бд
- •3.1.1 Обоснование целесообразности создания аис
- •3.1.2 Структура предприятия. Информационные потоки
- •3.1.3 Описание входных и выходных документов
- •3.1.4 Функциональная структура аис
- •3.1.5 Выявление классов объектов и связей
- •3.1.5.1 Классы объектов
- •3.1.5.2 Связи между классами объектов
- •3.1.6 Неформализованное описание предметной области
- •3.1.7 Уровни доступа пользователей
- •3.2 Разработка концептуального уровня бд
- •3.2.1 Инфологическая модель предметной области
- •3.2.1.1 Методологии построения er—диаграмм
- •3.2.1.2 Шаблоны моделирования
- •3.2.1.3 Моделирование сложных структур
- •3.2.1.4 Проверка законченности er—диаграммы
- •3.2.1.5 Перекрестная проверка модели данных и иерархии функций
- •3.2.2 Даталогическая модель бд
- •3.2.2.1 Реляционная модель данных
- •3.2.2.2 Виды документирования длм реляционной бд
- •3.2.2.3 Формирование длм реляционной бд
- •3.2.2.4 Анализ схемы реляционной бд на соответствие заданной нормальной форме
- •3.2.2.5 Пример графического представления схемы реляционной бд
- •3.3 Проектирование внутреннего уровня бд
- •3.3.1 Выбор реляционной субд
- •3.3.2 Объекты бд
- •3.3.3 Физическая модель бд
- •3.3.3.1 Проектирование реляционных таблиц
- •3.3.3.2 Реализация ограничений целостности реляционной базы данных
- •3.3.3.3 Проектирование индексов
- •4 Создание бд
- •4.1 Подготовка среды хранения
- •4.2 Генерация схемы бд
- •4.3 Загрузка и корректировка данных из старой бд
- •4.4 Ввод и контроль данных в справочные таблицы
- •4.5 Словарь данных
- •5 Администрирование бд
- •5.1 Управление структурой бд
- •5.2 Защита данных
- •5.2.1 Авторизация пользователей
- •5.2.2 Управление параллельно работой пользователей
- •5.2.2.1 Транзакции
- •5.2.2.2 Проблемы, возникающие при параллельной обработке данных
- •5.2.2.3 Блокировка данных
- •5.2.2.4 Бесконечные ожидания и тупики
- •5.2.2.5 Уровни изоляции транзакций
- •5.2.3 Управление восстановлением бд
- •5.2.3.1 Резервное копирование бд
- •5.2.3.2 Способы восстановления бд
- •5.3 Управление субд
- •6 Вопросы проектирования приложений бд
- •6.1 Участие администратора бд в разработке приложения
- •6.2 Виды функций приложений бд
- •Список использованных источников
- •Приложение а
- •Вопросы для самостоятельной работы
- •Приложение б
- •Тесты для контроля знаний
- •Приложение в
- •Ответы на тесты
3.1.6 Неформализованное описание предметной области
В процессе анализа также необходимо зафиксировать бизнес правила или семантические (смысловые) утверждения, ограничивающие предметную область в рамках решаемой задачи. Это не функции предприятия, как таковые, а непреложные факты, которым всегда должна подчиняться разрабатываемая автоматизированная информационная система.
Примеры семантических утверждений:
— «На работу принимаются служащие, достигшие 16—ти летнего возраста»;
— «Любой сотрудник не может отвечать одновременно более чем за десять сдаваемых в аренду или продаваемых объектов недвижимости»;
— «Любой сотрудник не имеет права продавать или сдавать в аренду свою собственную недвижимость»;
— «Специальные скидки не распространяются на автомобили возрастом менее одного года»;
— «Общая сумма скидок не может превышать 40% чистой суммы, указанной в счете—фактуре».
Выявленные семантические утверждения записываются на естественном языке и должны быть далее отражены в БД. Как правило, подобные правила реализуются с помощью таких объектов БД, как триггеры, процедуры, просмотры (представления).
3.1.7 Уровни доступа пользователей
На этапе анализа предметной области кроме функций системы, классов объектов предметной области, их связей также должны быть определены потенциальные пользователи автоматизированной информационной системы и БД.
Для баз данных выделяют следующие категории пользователей.
1 Проектировщики БД. В функции проектировщиков БД входит анализ предметной области, формирование требований к разрабатываемой БД; выбор методов, моделей, средств для проектирования БД. Сферой их деятельности является разработка информационной модели предметной области, разработка логической и физической структур базы данных.
2 Администратор данных (АД). Администратор данных должен разбираться в данных и понимать нужды предприятия на уровне высшего руководства предприятием. В обязанности администратора данных входит принятие решений о том, какие данные необходимо вносить в БД в первую очередь; обеспечение поддержки порядка при обслуживании данных после их занесения в БД. Например, он должен указывать, кто, при каких условиях, над какими данными и какие операции может выполнять. Таким образом, администратор данных должен формировать политику безопасности данных. Администратор данных работает как управляющий БД, он может не быть специалистом по техническим вопросам, хотя он должен иметь хорошее представление о возможностях баз данных на техническом уровне.
3 Администратор базы данных (АБД). Это технический специалист, ответственный за реализацию решений администратора данных и проектировщиков БД. АБД должен быть профессиональным специалистом в области информационных технологий. Работа АБД заключается в установке и настройке среды СУБД, создании БД, её администрировании и техническом контроле. Администратор базы данных физически, средствами СУБД реализует политику безопасности данных.
4 Прикладные программисты. Они отвечают за написание прикладных программ, использующих БД. Для этих целей применимы все современные языки высокого уровня. Прикладные программы выполняют над данными все стандартные операции через соответствующие запросы к БД в рамках прав определенных АД и назначенных АБД. Функции прикладных программ — поддержка работы конечного пользователя.
5 Конечные пользователи. Это пользователи, которые непосредственно работают с БД через прикладную программу или в режиме диалога, используя встроенный интерфейс СУБД. Права доступа в рамках решаемой задачи им выделяет прикладной программист. Различают опытных конечных пользователей, которые могут создать и реализовать SQL или QBE запросы, и наивных конечных пользователей, которые иногда даже и не представляют о том, что работают с базой данных.
При определении уровней доступа пользователей выделяют 3 понятия:
— субъект (пользователь), который выполняет операцию доступа;
— объект операции доступа (данные – объекты БД, в частности таблицы, поля, записи);
— вид операции доступа: операции над данными – чтение Read (R), добавление Insert (I), обновление – Update (U), удаление – Delete (D), выполнение хранимых данных процедур – Execute (E).
В теории БД выделяют следующие уровни доступа.
1) для разных категорий пользователей:
а) неограниченный доступ ко всем объектам БД и их поколениям;
б) неограниченный доступ к группе объектам БД и их поколениям;
в) ограниченный доступ к группе объектов БД и их поколениям;
2) на уровне реляционной таблицы различают следующие виды доступа:
а) вся таблица доступна для всех операций;
б) вся таблица закрыта для всех операций;
в) только чтение всей таблицы;
г) чтение всей таблицы, изменение только части;
д) чтение с изменением только одной записи;
е) чтение только одной записи;
ж) чтение и изменение отдельных столбцов;
з) чтение отдельного столбца;
и) одни столбцы читать, другие изменять;
к) вышеуказанные способы доступа с ограничением по времени;
л) вышеуказанные способы доступа при выполнении определенных условий;
м) выполнение вычислительных операций над данными без права их чтения и изменения.
Для разработки небольших баз данных, как правило, определяют следующих пользователей и уровни доступа.
1 Администратор БД. Является фактическим владельцем БД и имеет полный доступ на создание БД и объектов БД; добавление, обновление, удаление, просмотр данных. Его привилегией также является реализация выдачи прав другим пользователям БД.
2 Прикладной программист. Имеет полный доступ к объектам БД на уровне подсхемы БД. Подсхему создает АБД в схеме БД для решения поставленной задачи и выделяет необходимый доступ к подсхеме прикладному программисту. Как правило, это полный доступ к подсхеме. В ней прикладной программист создает необходимые для решения задачи объекты БД.
3 Конечный пользователь. Работает с БД через приложение, разработанное прикладным программистом, либо непосредственно в среде СУБД. Наделяется правами прикладным программистом, если он на это уполномочен АБД, либо непосредственно администратором БД.
Определение уровней доступа пользователей может быть формализовано уже на этапе анализа предметной области. На дальнейших этапах проектирования БД уровни доступа уточняются и затем реализуются АБД средствами СУБД. В таблице 8 приведены примеры описания уровней доступа пользователей подсистемы «Управление персоналом» (на уровне классов объектов).
Таблица 8 — Уровни доступа пользователей подсистемы "Управление персоналом"
Класс объектов |
Пользователи |
|||||
При- кладной прог-раммист |
Конечные пользователи |
|||||
Инспектор отдела кадров |
Руководи— тель отдела кадров |
Сотрудник планового отдела |
Руководи— тель планового отдела |
Руководи— тель предпри— ятия |
||
Структурная единица предприятия |
RIUDE |
R |
R |
RIU |
R |
R |
Категория должности |
RIUDE |
R |
R |
RIU |
R |
R |
Должность |
RIUDE |
R |
R |
RIU |
R |
R |
Физическое лицо |
RIUDE |
RIU |
R |
R |
R |
R |
КАДРОВЫЙ ПРИКАЗ |
RIUDE |
RIU |
R |
R |
R |
R |
ЗАПИСЬ КАДРОВОГО ПРИКАЗА |
RIUDE |
RIU |
R |
R |
R |
R |
ТИП ПЕРЕМЕЩЕНИЯ |
RIUDE |
R |
R |
RIU |
R |
R |
В таблице использованы сокращения основных операций над данными.
Существуют некоторые особенности определения и реализации уровней доступа пользователей, осуществляющих обработку данных на основе статистических методов, особенно при получении агрегированных данных о больших подмножествах БД. При применении одной и той же функции несколько раз для разных составов подмножеств БД можно получить интересующие данные путем сравнения результатов запросов. В таких случаях, для более тонкого разграничения уровней доступа отдельных пользователей, получающих права на выполнение чтения данных с использованием различных методов, возможно планирование и реализация следующих мероприятий:
— ограничение на структуру запроса;
— разрешение поиска по части ключа;
— разрешение реализации определенного количества запросов;
— установление минимального числа записей участвующих в запросах;
— ведение протоколов выполнения запросов.
Таким образом, уже на этапе анализа предметной области должны быть определены уровни доступа всех потенциальных пользователей разрабатываемой БД.
