- •Информационное обеспечение систем управления
- •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. Теоретические языки запросов
Для получения информации из отношений необходим язык манипулирования данными, способный выполнять соответствующие операции над отношениями. Наиболее важной частью ЯМД является его раздел для формулировки запросов. Поскольку запросы в общем случае представляют собой произвольные функции над отношениями, необходимо решить вопрос о требуемой выразительности языка запросов. Для исследования этого вопроса были разработаны три типа теоретических языков [2, 17]:
1) реляционная алгебра;
2) реляционное исчисление с переменными-кортежами;
3) реляционное исчисление с переменными-доменами.
Языки запросов первого типа – алгебраические языки – позволяют выражать запросы средствами специализированных операторов, применяемых к отношениям.
Языки запросов второго и третьего типов – языки исчисления – позволяют выражать запросы путем спецификации предиката, которому должны удовлетворять требуемые кортежи или домены.
Теоретические языки служат эталоном для оценки существующих реальных языков запросов [17]. Они были предложены Коддом для представления минимальных возможностей любого разумного языка запросов для реляционной модели данных. По своей выразительности все три языка оказались эквивалентными между собой.
8.1.1. Реляционная алгебра
В этом разделе на ряде примеров рассматриваются операции реляционной алгебры [11]. Для представления каждой операции будем использовать терминологию как алгебры, так и исчисления. Последняя базируется на системе понятий, использованной Коддом. Пять операций являются основными:
проекция;
объединение;
разность;
декартово произведение;
селекция.
Другие часто используемые операции пересечения, соединения и деления можно выразить через пять основных операций. Ниже представлены отношения, используемые в примерах [11].

Описание каждого отношения состоит из имени отношения, за которым в круглых скобках следует список атрибутов (это описание называется интенсивналом или схемой отношения). Под описанием приведено некоторое заполнение кортежей отношения (экстенсионал отношения). В последующих примерах буквы R и S используются для обозначения отношений, а буквы А и В – для обозначения списка атрибутов (для простоты можно считать, что список состоит из единственного атрибута).

Операция проекции представляет собой выборку из каждого кортежа отношения значений атрибутов, входящих в А, и удаление из полученного отношения повторяющихся строк. В исчислении t обозначает «кортежную» переменную, значениями которой являются кортежи исходного отношения R, a t[A] – часть кортежа R с атрибутами из А. В соответствии с определением отношения неявно предполагается удаление дубликатов кортежей результирующего отношения.
Пример

Объединение

Для того чтобы объединение было возможным, отношения-операнды (R и S) должны быть совместимы по объединению, т.е. их атрибуты должны быть определены над совместимыми доменами.
Пример

Пример

Декартово произведение

Из обозначений видно, что операция декартова произведения осуществляется между кортежами отношений-аргументов, а результатом является конкатенация (обозначаемая ||) соответствующих кортежей. При этом
![]()
Отсюда следует, что результирующее отношение может иметь очень большие размеры. (На практике используется ограниченный вариант этой операции, называемый соединением.) Пусть

Тогда

Степень результирующего отношения равна 4 (22), а мощность – 8 (24).
Селекция (Ограничение)

В приведенном определении υ обозначает константу, а В – атрибут отношения R, отличный от А. Символ 6 используется для обозначения одной из операций сравнения (<, ≤, =, ≠, ≥, >).
Примеры
P[D1>D2]= (пустое множество) поскольку в отношении отсутствуют кортежи, где D1 > D2.

Пересечение

Пересечение RS=R-(R-S), что соответствует области, отмеченной звездочкой на диаграмме Венна для операции разности.
Пример

Соединение
|
Алгебра |
Исчисление |
|
R[AθB]S |
{(r||s)| rRsS(r[А]θs[В])} |
Как видно из определения, операция соединения имеет сходство с декартовым произведением. Однако здесь добавлено условие, согласно которому вместо полного произведения всех строк в результирующее отношение включаются только строки, удовлетворяющие определенному соотношению между атрибутами соединения (А, В) соответствующих отношений. Имеется несколько вариантов операции соединения:
a) тета- и эквисоединение. При этой операции А и В являются совместимыми атрибутами соединения, а степень результирующего отношения равна сумме степеней отношений-операндов. Такое соединение называется θ-соединением (тета-соединением). В случае сравнения на равенство соединение называется экви-соединением;
б) естественное соединение. В этом случае атрибуты соединения имеют общие (одинаковые) домены, и после соединения один из атрибутов отбрасывается. Степень результирующего отношения на единицу меньше суммы степеней отношений-операндов;
в) композиция. Это соединение отличается от естественного тем, что из результирующего отношения удаляются оба атрибута соединения. Поэтому степень результирующего отношения на две единицы меньше суммы степеней отношений-операндов.
Примеры
Тета-соединение R[Q > A]S
При выполнении соединения необходимо для каждого кортежа из R взять значение атрибута Q и сравнить его со значением атрибута A из каждого кортежа S. В результате получим

Следует отметить, что кортеж < ω 50 1 b > отношения R не вошел в результирующее отношение.
Естественное соединение P[D3 = D4]Q

Деление

Атрибуты
А
и В
являются
совместимыми и/или общими атрибутами
деления. Для упрощения объяснения можно
считать R
бинарным
отношением, состоящим из А
и дополнения А,
которое
обозначается
и
содержит атрибуты, отличные от А.
Для
каждого раздела из R[
],
т.е. для каждого уникального кортежа
r[
],
необходимо выполнить следующее:
выбрать допустимые строки кортежей r[
]
изR[
],
обозначив полученное множество кортежей
черезT
= gR(r[
]).
МножествоТ
называется
также множеством-образом;в результирующее отношение входят кортежи r, для которых выполняется S[B]HgR(r[
]).
Примеры
P[D3÷D4]Q= (пустое множество), так как

Следовательно,
подходящие р[
]
отсутствуют.
