
- •Информационное обеспечение систем управления
- •1. Информационные системы и базы данных (лекция 1)
- •1.1. Понятие информационной системы, информационное обеспечение
- •1.2. Понятие базы данных
- •1.3. Понятие системы управления базами данных
- •1.3.1. Обобщенная архитектура субд
- •Предметная область
- •1.3.2. Достоинства и недостатки субд
- •1.4. Категории пользователей базой данных
- •1.4.1. Общая классификация пользователей бд
- •1.4.2. Администратор базы данных
- •1.4.3. Разделение функций администрирования
- •2. Проектирование баз данных (лекция 2)
- •2.1. Жизненный цикл информационной системы
- •2.2. Подходы и этапы проектирования баз данных
- •2.2.1. Цели и подходы к проектированию баз данных
- •«Описание предметной области» ↔ «схема внутренней модели базы данных».
- •2.2.2. Этапы проектирования баз данных
- •3. Архитектуры субд (лекции 3-4)
- •3.1. Телеобработка
- •3.2. Файловый сервер
- •3.3. Технология «клиент/сервер»
- •3.4. Понятие независимости данных
- •4. Инфологическое проектирование базы данных (лекции 5-6)
- •4.1. Модель «сущность-связь»
- •4.2. Классификация сущностей, расширение er-модели
- •4.3. Проблемы er-моделирования
- •5. Выбор субд (лекция 7)
- •5.1. Метод ранжировки
- •5.2. Метод непосредственных оценок
- •5.3. Метод последовательных предпочтений
- •5.4. Оценка результатов экспертного анализа
- •6. Даталогические модели данных (лекции 8-9)
- •6.1. Иерархическая модель
- •6.2. Сетевая модель
- •6.3. Реляционная модель
- •6.4. Достоинства и недостатки даталогических моделей
- •7. Физическая организация данных в субд (лекции 10-11)
- •7.1. Списковые структуры
- •7.1.1. Последовательное распределение памяти
- •7.1.2. Связанное распределение памяти
- •7.2. Модель внешней памяти
- •7.3. Методы поиска и индексирования данных
- •7.3.1. Последовательный поиск
- •7.3.2. Бинарный поиск
- •7.3.3. Индекс - «бинарное дерево»
- •7.3.4. Неплотный индекс
- •7.3.5. Плотный индекс
- •3.3.6. Инвертированный файл
- •8. Внутренний язык субд (лекции 12-13)
- •8.1. Теоретические языки запросов
- •8.1.1. Реляционная алгебра
- •8.1.2. Реляционное исчисление кортежей
- •8.1.3. Реляционное исчисление доменов
- •8.1.4. Сравнение теоретических языков
- •8.2. Определение реляционной полноты
- •8.3. Введение в язык sql
- •8.3.1. Краткая история языка sql
- •8.3.2. Структура языка sql
- •8.3.3. Типы данных sql
- •9. Распределенные базы данных и субд (лекция 14)
- •9.1. Основные определения, классификация распределенных систем
- •9.2. Преимущества и недостатки распределенных субд
- •9.3. Функции распределенных субд
- •9.4. Архитектура распределенных субд
- •9.5. Разработка распределенных реляционных баз данных
- •9.5.1. Распределение данных
- •9.5.2. Фрагментация
- •9.5.3. Репликация
- •9.5.3.1. Виды репликации
- •9.5.3.2. Функции службы репликации
- •9.5.3.3. Схемы владения данными
- •9.5.3.4. Сохранение целостности транзакций
- •9.5.3.5. Моментальные снимки таблиц
- •9.5.3.6. Триггеры базы данных
- •9.5.3.7. Выявление и разрешение конфликтов
- •9.6. Обеспечение прозрачности
- •9.6.1. Прозрачность распределенности
- •9.6.2. Прозрачность транзакций
- •9.6.3. Прозрачность выполнения
- •9.6.4. Прозрачность использования
- •10. Защита и секретность данных. (лекции 15-16)
- •10.1. Понятие информационной безопасности. Основные составляющие
- •10.1.1. Понятие информационной безопасности
- •10.1.2. Основные составляющие информационной безопасности
- •10.2. Распространение объектно-ориентированного подхода на информационную безопасность
- •10.2.1. Основные понятия объектно-ориентированного подхода
- •10.2.2. Применение объектно-ориентированного подхода к рассмотрению защищаемых систем
- •10.3. Наиболее распространенные угрозы
- •10.3.1. Основные определения и критерии классификации угроз
- •10.3.2. Наиболее распространенные угрозы доступности
- •10.3.3. Некоторые примеры угроз доступности
- •10.3.4. Основные угрозы целостности
- •10.3.5. Основные угрозы конфиденциальности
- •10.4. Административный уровень информационной безопасности
- •10.4.1. Основные понятия
- •10.4.2. Политика безопасности
- •10.4.3. Программа безопасности
- •10.5. Управление рисками
- •10.5.1. Основные понятия
- •10.5.2. Подготовительные этапы управления рисками
- •10.5.3. Основные этапы управления рисками
- •10.6. Процедурный уровень информационной безопасности
- •10.6.1.Основные классы мер процедурного уровня
- •10.6.2. Управление персоналом
- •10.6.3. Физическая защита
- •10.6.4. Поддержание работоспособности
- •10.6.5. Реагирование на нарушения режима безопасности
- •10.6.6. Планирование восстановительных работ
- •10.7. Основные программно-технические меры
- •10.7.1. Основные понятия программно-технического уровня информационной безопасности
- •10.7.2. Особенности современных информационных систем, существенные с точки зрения безопасности
- •10.7.3. Архитектурная безопасность
8.1.3. Реляционное исчисление доменов
В реляционном исчислении с переменными на доменах используются те же операторы, что и в реляционном исчислении с переменными-кортежами.
Атомы формул могут быть двух типов [11, 17].
1. R(x1x2...xk), где R – k-арное отношение; хi - константа или переменная на некотором домене.
Атом R(x1x2...xk) указывает, что значения тех xi, которые являются переменными, должны быть выбраны так, чтобы (x1x2...xk) было кортежем отношения R.
2. xθy, где х и у – константы или переменные на некотором домене, θ – оператор сравнения.
Атом хθу указывает, что х и у представляют собой значения, при которых истинно xθy.
Формулы в реляционном исчислении с переменными на доменах также используют логические связки , , и кванторы (x), (х), где х – переменная на домене. Аналогично используются понятия свободных и связанных переменных.
Реляционное исчисление с переменными на доменах имеет вид
где φ – формула, обладающая тем свойством, что только ее свободные переменные на доменах являются различными переменными x1, x2, ..., xk. Например, выражение
имеет место для бинарных отношений R1 и R2 и означает множество кортежей в R1, таких, что ни один из их компонентов не является первым компонентом какого-либо кортежа отношения R2.
С целью учета ограничения – конечности реальных отношений – аналогично вводятся безопасные выражения.
Реляционное исчисление с переменными на доменах называется безопасным, если выполняются следующие условия:
из истинности φ(х1, х2, ..., xk) следует, что xi принадлежит D(φ);
если (u)(φ1(u)) является подформулой φ, то из истинности φ1(u), следует, что и принадлежит D(φ);
если (u)(φ1(u)) является подформулой φ, то из истинности φ1(u), следует, что и не принадлежит D(φ).
Выражение исчисления с переменными на доменах, эквивалентное заданному выражению исчисления с переменными-кортежами {t |φ(t)}, строится следующим образом:
если t является кортежем арности k, то вводится k новых переменных на доменах t1, t2, ..., tk;
атомы R(t) заменяются атомами R(t1, t2, ..., tk);
каждое свободное вхождение t[i] заменяется на ti;
для каждого квантора (u) или (u) вводится т новых переменных на доменах u1, и2, ..., ит, где т – арность кортежа и. В области действия этой кванти-фикации выполняются замены:
5) выполняется построение выражения
где φ’ – это φ, в которой выполнены соответствующие замены.
Например, {t R1(t)R2(t)} перепишется так:
В реляционном исчислении с переменными на доменах существуют следующие две теоремы.
Теорема 4.2. Для каждого безопасного выражения реляционного исчисления с переменными-кортежами существует эквивалентное безопасное выражение реляционного исчисления с переменными на доменах [17].
Теорема 4.3. Для каждого безопасного выражения реляционного исчисления с переменными на доменах существует эквивалентное ему выражение реляционной алгебры [17].
Примером реального языка запросов, реализующего реляционное исчисление с переменными на доменах, является QBE. Это графический язык, предоставляющий пользователю графическое отображение структуры отношения. Пользователь создает некий образец желаемого результата, а система возвращает затребованные данные в указанном формате.