- •«Информационное обеспечение систем управления»
- •1. Общие понятия ио
- •1) Файловые системы (фс)
- •2) Системы, использующие бд
- •1) По размещению:
- •2) По виду модели данных:
- •1) По размещению:
- •2. Жизненный цикл ио, проектирование ио
- •В соответствии с гост 34.601-90 Автоматизированные системы в стадии создания определены следующие стадии создания автоматизированных систем:
- •2) Каскад с возвратом (возможно переопределение требований):
- •3) Итерационная модель:
- •4) Эволюционная модель:
- •Проектирование ис. Основное проектирование данных и по
- •3. Инфологическое проектирование
- •Нотация Чена:
- •Нотация Баркера:
- •Нотация idef1x:
- •Основными элементами er-модели являются:
- •Сущность
- •Атрибут
- •Множественность
- •Обязательность
- •Расширение нотаций
- •Проблемы er-моделирования
- •4. Логические модели данных. Сетевая и иерархическая модели
- •Сетевая модель данных
- •Операции сетевой модели
- •1) Операции с данными:
- •2) Операции со связями:
- •3) Навигация по данным:
- •Иерархическая модель данных
- •5. Реляционная модель данных
- •Операции с реляционными данными
- •1) Унарные операции (операции с одним отношением):
- •2) Операции с двумя однотипными отношениями:
- •3) Операции с разнотипными отношениями:
- •1. Внутренние соединения:
- •Реляционное исчисление
- •6. Нормализация отношений
- •1Нф требует:
- •2Нф требует:
- •7. Даталогическое проектирование
- •Рассмотрим преобразование реляционной логической модели
- •I. Преобразование исходной инфологической модели (им):
- •Преобразования сущностей
- •Преобразования свойств
- •Преобразования связей
- •II. Переход к логической модели:
- •III. Нормализация отношений
- •IV. Дополнительные действия
- •8. Ограничения целостности, виды и реализация
- •1) По области действия.
- •2) По месту реализации.
- •3) По способу реакции на нарушение.
- •4) По моменту выполнения проверки.
- •9. Средства доступа к данным и разработки приложений
- •10. Язык sql
- •1. Основные составляющие языка sql.
- •2. Методы и средства контроля целостности в основном реализованы в create table:
- •3. Операторы модификации данных:
- •4. Выборка:
- •5. Управление доступом:
- •6. Управление транзакциями:
- •11. Создание бд в sql
- •1. Оператор создания схемы бд
- •2. Оператор создания домена
- •3. Оператор создания таблицы
- •4. Оператор фиксации результатов работы с бд
- •12. Выборка данных в sql
- •1) Формирование единой таблицы:
- •2) Ограничение единой таблицы по строкам:
- •3) Отбор выходных столбцов выборки:
- •4) Группирование строк таблицы выборки:
- •5) Ограничение по групповым строкам:
- •6) Объединение выборки:
- •7) Упорядочивание записей выборки:
- •13. Восстановление данных
- •14. Организация многопользовательского доступа
- •15. Защита от несанкционированного доступа
- •2. Защита на уровне субд
- •3. Защита на уровне приложения
- •16. Физическая организация данных в бд
- •1. Последовательная организация.
- •2. Списковое хранение
- •3. Индексная организация
- •4. Хэшированная организация
- •17. Методы поиска в бд
- •1. Последовательный поиск:
- •2. Блочный поиск.
- •3. Бинарный поиск
- •4. Индексный поиск
- •5. Хешированный поиск
Операции с реляционными данными
1) Унарные операции (операции с одним отношением):
а) Проекция: отношение, указывающее указанный атрибут.
,
– результирующее
значение,
– исходное значение,
– атрибут или список атрибутов,
– проекция.(Результат - новое отношение,
включающее только указанные атрибуты
исходного отношения R).
б) Ограничение:
,
-операция
определения, предикат
– логическое выражение, параметрами
которого являются атрибуты
отношения.(Результат - новое отношение,
включающее кортежи исходного отношения,
удовлетворяющие заданному предикату).
2) Операции с двумя однотипными отношениями:
а) Объединение: отношение, содержащее все кортежи исходных отношений без повторов.
б) Разность:
отношение, включающее кортежи
и не включающие
.(результат
включает в себя все кортежи отношения
S
не входящие в отношение T)
в) Пересечение: отношение, включающее кортежи одновременно входящие в и .
3) Операции с разнотипными отношениями:
а) декартово произведение:
,
результат – отношение, включающее все
варианты попарного соединения кортежей
соотношений.
Пример:
select
* from
,
,
,
б) деление: операция обратная декартову произведению
Остаток не входит в результат.
в) соединение – производная операция сочетает декартово произведение и ограничение.
Для соединения выделяются варианты:
1. Внутренние соединения:
Тета-соединение: результат – все пары сцеплений, при выполнении условия (>, <, = и т.д.)
Тета – предикат, включающий столбцы исходных отношений, по которым происходит соединение.
Пример1: студ.группа, общее между ними – это и там и там есть название группы.
Эквивалентное соединение: это частный случай тета – соединение по условию равенства.
Естественное соединение: как эквивалентное соединение, но дублирование столбцов или связей удаляется.
(По такому варианту вы будете собирать таблицы).
Полусоединение: в результат включаются данные только одного исходного отношения.
;
.
Все указанные выше соединения называются внутреннее соединение: в результат включаются данные, нашедшие партнера.
2. Внешние соединения: в результат включаются все данные, нашедшие партнера плюс однократно данные, не нашедшие партнера.
В зависимости от дополнительно включаемых данных различают:
левое соединение:
правое соединение:
полное внешнее соединение:
Пример:
внутреннее соединение:
внешнее соединение:
,
,
Полное внешнее соединение: левое + правое.
Реляционное исчисление
Исчисление задает не последовательность обработки, а требовательность к результату.
Упрощенный вариант формулы реляционного исчисления:
Целевой список – указывает состав выходных результатов.
Область определения – набор отношений, в которых выполняется отбор.
Условие – требование получаемого результата.
Пример:
Первый вариант решения задачи:
Второй вариант решения задачи:
6. Нормализация отношений
Реляционная модель – набор взаимосвязанных отношений.
Формульная запись
отношения:
,
часть отношения может быть помечена
как первичный ключ
.
Основные требования к отношениям:
атомарность к атрибутам
уникальность кортежей
Пример: Расписание приема врачей поликлиники.
Включает данные:
врач (ФИО, специалист)
прием (день, время, кабинет)
Врач |
Прием |
|||
ФИО |
Специалист |
День |
Время |
Кабинет |
Иванов |
Хирург |
Пн, вт, Ср, чт. |
8:00-13:00, 14:00-16:00 |
3 3 |
Отношение Расп(врач(ФИО, специалист), прием(день, время, кабинет)) – недопустимо.
Правильная запись таблицы:
ФИО |
Специалист |
День |
Время |
Кабинет |
Иванов |
Хирург |
Пн Вт Ср Чт |
8:00-13:00, 14:00-16:00 |
3 3 ‑ ‑ |
Прием(ФИО, специалист, день, время, кабинет). При этом имеем составной ключ: ФИО, день.
Для повышения уникальности введем уникальный номер:
Прием(табN, день, ФИО, специальность, время, кабинет)
На первых этапах проектирования базы данных, после анализа предметной области и определения состава информации для хранения в БД обычно формируется так называемое универсальное отношение.
Универсальное отношение – одна таблица, в которой может храниться вся информация об интересующей предметной области. Другими словами схему этого отношения образует весь перечень интересующих атрибутов предметной области.
Использование универсального отношения приводит к избыточности – дублированию данных в разных таблицах, повторяющиеся сочетания в одной таблице.
Повторяемость сочетаний, в свою очередь, ведет к аномальностям обновления:
1) Аномальность изменения: приводит к необходимости множественного изменения.
2) Аномалия удаления: возможность потери информации при удалении сопутствующих данных.
3) Аномалия добавления: например, нельзя ввести данные по врачу, не ведущему прием.
Аномалии обновления являются нежелательным побочным эффектом, обусловленным избыточностью хранимых данных при внесении изменений в отношение.
Рассмотрим отношение График.
График |
РЕЙС |
ДАТА |
ПИЛОТ |
ГАЛЕРЕЯ |
|
112 |
6 июня |
Иванов |
7 |
112 |
7 июня |
Петров |
7 |
|
203 |
9 июня |
Иванов |
12 |
Атрибуты РЕЙС ДАТА являются ключом отношения График, и это отношение должно также удовлетворять функциональной зависимости РЕЙС→ГАЛЕРЕЯ. Пусть требуется обновить отношение, указав значение ключа и задавая значения всем остальным атрибутам. Однако если выполнить операцию
ИЗМЕНИТЬ (График; 112, 6 июня, ПИЛОТ=Иванов, ГАЛЕРЕЯ=8),
то отношение перестанет удовлетворять функциональной зависимости РЕЙС→ГАЛЕРЕЯ. Чтобы избежать нарушения функциональной зависимости, необходимо после каждого выполнения операции обновления просмотреть полученное отношение и везде (во всех кортежах), где появляется указанный в операторе номер рейса, изменить номер галереи на указанный в операторе. А требовалось всего лишь изменить один кортеж. Кроме того, информация о связи между номером рейса и номером галереи дублируется с рассмотренном отношении, что ведет к избыточности информации.
С точки зрения как обновления, так и устранения избыточности лучше представить ту же информацию в виде базы данных из двух отношений Пилот-График и Галерея-График.
Пилот-График |
РЕЙС |
ДАТА |
ПИЛОТ |
|
112 |
6 июня |
Иванов |
112 |
7 июня |
Петров |
|
203 |
9 июня |
Иванов |
Галерея-График |
РЕЙС |
ГАЛЕРЕЯ |
|
112 |
7 |
203 |
12 |
При этом сохраняется возможность восстановить первоначальное отношение График из двух новых отношений. Указанной аномалии обновления больше не существует, так как нужно изменить только один кортеж, чтобы поменять назначение галереи. При этом устраняется и некоторая избыточность данных, так как каждая пара (номер рейса, номер галереи) записывается только однажды.
Для устранения избыточности выполняется нормализация.
Нормализация - формальный метод анализа отношений на основе их первичного ключа (или потенциальных ключей) и существующих функциональных зависимостей.
Цель нормализации – получение такого проекта базы данных, в котором каждый факт хранится в одном месте, т.е. исключена избыточность информации. Это делается не столько с целью экономии памяти, сколько для исключения возможной противоречивости хранимых данных из-за их избыточности.
Нормальная форма представляет собой ограничение на схему базы данных (отношения), которое избавляет базу данных от некоторых нежелательных свойств.
Нормализация чаще всего выполняется в несколько последовательных этапов, результатом каждого из которых является некоторая нормальная форма с известными свойствами.
Определены 6 нормальных форм:
1НФ, 2НФ, 3НФ, НФБК (Б – Бойс, К – Кодд), 4НФ, 5НФ.
Каждая следующая форма не содержит некоторого вида избыточности. Нормализация ведется последовательно от первой ко второй и т.д. формам.
Каждая следующая нормальная форма является в некотором смысле более ограниченной, но и более желательной, чем предшествующая. Это связано с тем, что (N + 1)-я нормальная форма не обладает некоторыми недостатками, свойственным N-й нормальной форме.
При реализации реляционной БД только удовлетворение требований первой нормальной формы (1НФ) обязательно для создания отношений приемлемого качества. Все остальные формы могут использоваться по желанию проектировщика. Однако чтобы избежать аномалий обновления, описываемых ниже, нормализацию рекомендуется проводить как минимум до ЗНФ.
