- •«Информационное обеспечение систем управления»
- •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. Хешированный поиск
5. Реляционная модель данных
В конце 60-х годов появились работы, в которых обсуждались возможности применения различных табличных даталогических моделей данных, т.е. возможности использования привычных и естественных способов представления данных. Будучи математиком по образованию, сотрудник фирмы IBM доктор Э. Кодд предложил использовать для обработки данных аппарат теории множеств (объединение, пересечение, разность, декартово произведение). Он показал, что любое представление данных сводится к совокупности двумерных таблиц особого вида, известного в математике как отношение – relation (англ.).
Реляционная модель – это набор логически связанных отношений.
Отношение (по Кодду) предназначено для хранения описания и данных для определенного типа объекта. Отношение соответствует типу объектов предметной области или их взаимодействий.
Наименьшая единица данных реляционной модели – это отдельное атомарное (неразложимое) для данной модели значение данных. Так, в одной предметной области фамилия, имя и отчество могут рассматриваться как единое значение, а в другой – как три различных значения.
Доменом называется множество атомарных значений одного и того же типа. Так, на рис. 2.23 домен пунктов отправления (назначения) – множество названий населенных пунктов, а домен номеров рейса – множество целых положительных чисел.
Домен определяет множество допустимых значений.
Описание домена содержит:
наименование
тип
возможная размерность
возможное ограничение
возможное значение по умолчанию
Отношение на доменах D1, D2, ..., Dn (не обязательно, чтобы все они были различны) состоит из заголовка и тела.
Заголовок содержит описание структуры данных. Он состоит из такого фиксированного множества атрибутов A1, A2, ..., An, что существует взаимно однозначное соответствие между этими атрибутами Аi и определяющими их доменами Di (i = l, 2, ..., n).
Описание заголовка представляется неупорядоченным набором пар атрибут-домен.
Атрибут определяет некоторую характеристику описываемого типа объекта (атрибут – столбец).
Тело содержит набор кортежей, т.е. состоит из меняющегося во времени множества кортежей, где каждый кортеж состоит в свою очередь из множества пар атрибут-значение (Ai:Vi), (i = 1, 2, ..., n), по одной такой паре для каждого атрибута А. в заголовке. Для любой заданной пары атрибут-значение (Ai:Vi) Vi является значением из единственного домена Di, который связан с атрибутом Аi.
Кортеж содержит данные по одному экземпляру описываемого объекта. Каждая строчка тела – атрибут-значение.
На рис. 2.23 приведен пример отношения для расписания движения самолетов.
Рис. 2.23. Отношение в реляционной модели
Степень отношения – это число его атрибутов. Отношение степени один называют унарным, степени два – бинарным, степени три – тернарным, ..., а степени п – n-арным.
Кардинальное число или мощность отношения – это число его кортежей. Кардинальное число отношения изменяется во времени в отличие от его степени.
Изменение кардинального числа отношения связано с изменением состояния отношения.
Вышеупомянутые и некоторые другие математические понятия явились теоретической базой для создания реляционных СУБД, разработки соответствующих языковых средств и программных систем, обеспечивающих их высокую производительность, и создания основ теории проектирования баз данных. Однако для массового пользователя реляционных СУБД можно использовать неформальные эквиваленты этих понятий:
Отношение – Таблица (иногда Файл),
Кортеж – Строка (иногда Запись),
Атрибут - Столбец, Поле.
Отношение может использоваться двояко:
1) Для представления набора объектов;
2) Для представления связей между наборами объектов.
Реляционная база данных – это набор экземпляров конечных отношений. Схему реляционной БД можно представить в виде совокупности схем отношений
Другими словами – реляционная база данных – это совокупность отношений, содержащих всю информацию, которая должна храниться в БД. Однако пользователи могут воспринимать такую базу данных как совокупность таблиц.
База представляется набором логически связанных отношений.
Отличие отношения от таблицы:
Неупорядоченность по атрибутам и кортежам
Отсутствие совпадающих кортежей (уникальность)
На рис. 2.24 показаны таблицы базы данных, построенные по инфологической модели базы данных «Питание».
Каждая таблица состоит из однотипных строк и имеет уникальное имя.
Строки имеют фиксированное число полей (столбцов) и значений (множественные поля и повторяющиеся группы недопустимы). Иначе говоря, в каждой позиции таблицы на пересечении строки и столбца всегда имеется в точности одно атомарное значение или ничего.
Строки таблицы обязательно отличаются друг от друга хотя бы единственным значением, что позволяет однозначно идентифицировать любую строку такой таблицы.
Столбцам таблицы однозначно присваиваются имена, и в каждом из них размещаются однородные значения данных (даты, фамилии, целые числа или денежные суммы).
Полное информационное содержание базы данных представляется в виде явных значений данных, и такой метод представления является единственным. В частности, не существует каких-либо специальных «связей» или указателей, соединяющих одну таблицу с другой. Так, связи между строкой с БЛ = 2 таблицы «Блюда» на рис. 2.24 и строкой с ПР = 7 таблицы продукты (для приготовления Харчо нужен Рис), представляется не с помощью указателей, а благодаря существованию в таблице «Состав» строки, в которой номер блюда равен 2, а номер продукта – 7.
При выполнении операций с таблицей ее строки и столбцы можно обрабатывать в любом порядке безотносительно к их информационному содержанию. Этому способствует наличие имен таблиц и их столбцов, а также возможность выделения любой их строки или любого набора строк с указанными признаками.
Рис. 2.24. База данных «Питание»
Для обеспечения уникальности кортежей определяется первичный ключ.
Первичный ключ – один или несколько атрибутов, по значениям которых все кортежи различаются.
Пусть R – отношение с атрибутами А1, A2, ..., Ап. Говорят, что множество атрибутов К = (Аi, Аj, ..., Аk) отношения R является возможным ключом R тогда и только тогда, когда удовлетворяются следующие независимые от времени условия:
1. Уникальность: в произвольный заданный момент времени никакие два различных кортежа R не имеют одного и того же значения для Аi, Аj, ..., Ak.
2. Минимальность: ни один из атрибутов Аi, Аj, ..., Ak не может быть исключен из К без нарушения уникальности.
3. Обязательность – все атрибуты первичного ключа должны быть заполнены
Каждое отношение обладает хотя бы одним возможным ключом, поскольку, по меньшей мере, комбинация всех его атрибутов удовлетворяет условию уникальности. Один из возможных ключей (выбранный произвольным образом) принимается за его первичный ключ. Остальные возможные ключи, если они есть, называются альтернативными (потенциальными) ключами или кандидатами.
Для связывания отношений вводится внешний ключ. Получается дублированием атрибутов первичного ключа в подчиненную таблицу.
Для внешнего ключа:
уникальность не требуется
обязательность не требуется
минимальность учитывается
значение ВК должно совпадать с каким-нибудь значением первичного ключа, либо быть пустым.
Целостность данных включает:
Целостность отношений: все кортежи должны быть уникальны. Поддерживается введением первичного ключа.
Целостность значений: поддерживается введением доменов.
Ссылочная целостность: поддерживается введением внешнего ключа.
По сравнению с ранними даталогическими моделями, реляционный подход обладает следующими особенностями.
Достоинства:
наличие относительно небольшого набора абстракций;
наличие простого, но мощного математического аппарата (в основе реляционного подхода – теория множеств);
возможность ненавигационного манипулирования данными без знания их конкретной физической организации.
возможность выполнять групповые операции.
Недостатки:
ограниченность использования в нетрадиционных предметных областях;
относительно неполная адекватность отражения семантики предметной области.
Более медленная обработка данных.
Самая сильная сторона реляционного подхода – математический аппарат для выполнения операций над отношениями реляционной модели.
Наличие простого, но мощного математического аппарата сыграло решающую роль в повсеместном переходе разработчиков СУБД на реляционную модель.
