- •С.В. Никитина. Базы и Банки Данных. – Москва, 2009. – 80 стр.
- •Содержание
- •Глава 1. Назначение и основные компоненты системы баз данных 6
- •Глава 2. Типовая организация современной субд 10
- •Глава 3. Инфологическая модель данных «сущность-связь» 21
- •Глава 4. Ранние подходы к организации бд. Иерархические и сетевые субд. 31
- •Глава 5. Реляционная модель 35
- •Глава 6. Базисные средства манипулирования реляционными данными 40
- •Глава 7. Особенности теоретико-множественных операций реляционной алгебры 45
- •Глава 1. Назначение и основные компоненты системы баз данных Данные и эвм
- •Концепция баз данных
- •Основные функции субд
- •Непосредственное управление данными во внешней памяти
- •Управление буферами оперативной памяти
- •Управление транзакциями
- •Журнализация
- •Поддержка языков бд
- •Глава 2. Типовая организация современной субд
- •Классификация пользователей субд
- •Распределение обязанностей в системах с базами данных.
- •Администраторы данных и администраторы баз данных.
- •Администрирование данных и администрирование баз данных.
- •Администрирование данных.
- •Задачи администрирования данных.
- •Администрирование Базы Данных.
- •Задачи администрирования базы данных.
- •Администрирование данных и администрирование базы данных
- •Преимущества централизованного подхода к управлению данными
- •Возможность совместного доступа к данным
- •Сокращение избыточности данных
- •Устранение противоречивости данных (до некоторой степени)
- •Возможность поддержки транзакций
- •Обеспечение целостности данных
- •Организация защиты данных
- •Возможность балансировки противоречивых требований
- •Возможность введения стандартизации
- •Независимость данных
- •Глава 3. Инфологическая модель данных «сущность-связь»
- •Основные понятия
- •Характеристика связей и язык моделирования
- •О первичных и внешних ключах
- •Ограничения целостности
- •Глава 4. Ранние подходы к организации бд. Иерархические и сетевые субд.
- •Иерархические системы
- •Иерархические структуры данных
- •Манипулирование данными
- •Ограничения целостности
- •Сетевые системы
- •Сетевые структуры данных
- •Манипулирование данными
- •Ограничения целостности
- •Достоинства и недостатки ранних субд
- •Глава 5. Реляционная модель Основные понятия реляционных баз данных
- •Тип данных
- •Кортеж, отношение
- •Фундаментальные свойства отношений
- •Отсутствие кортежей-дубликатов
- •Отсутствие упорядоченности кортежей
- •Отсутствие упорядоченности атрибутов
- •Атомарность значений атрибутов
- •Общая характеристика реляционной модели данных
- •Глава 6. Базисные средства манипулирования реляционными данными Реляционная структура данных. Общие понятия реляционного подхода к организации бд. Основные концепции и термины
- •Реляционная алгебра
- •Общая интерпретация реляционных операций
- •Замкнутость реляционной алгебры и операция переименования
- •Глава 7. Особенности теоретико-множественных операций реляционной алгебры Объединение
- •Пересечение
- •Вычитание
- •Произведение
- •Специальные реляционные операции* Выборка
- •Проекция
- •Соединение
- •Деление
- •Ассоциативность и коммутативность
- •Зачем нужна реляционная алгебра
- •Операция расширения
- •Операция обобщения
- •Группирование и разгруппирование
- •Реляционные сравнения
- •Реляционное исчисление.
- •Глава 8. Нормализация данных. 1-я, 2-я, 3-я нормальные формы
- •Функциональная зависимость
- •Вторая нормальная форма
- •Третья нормальная форма
- •Глава 9. Нормализация данных. Нормальные формы более высоких порядков
- •Нормальная форма бойса-кодда
- •Многозначные зависимости. Четвертая нормальная форма
- •Зависимость соединения. Пятая нормальная форма
- •Глава 10. Внутренняя организация реляционных субд Структуры внешней памяти
- •Хранение отношений
- •Индексы
- •Журнальная информация
- •Служебная информация
- •Глава 11. Методы организации индексов
- •Методы поиска по дереву
- •Автоматическое поддержание свойства сбалансированности b-деревьев при выполнении операций занесения и удаления записей *
- •Хэширование
- •Глава 12. Защита бд Обеспечение защиты данных в базе
- •Идентификация пользователя
- •Управление доступом
- •Защита данных при статистической обработке
- •Физическая защита
- •Глава 13. Целостность бд
- •Целостность сущности и ссылок
- •Обеспечение целостности данных
- •Транзакции и целостность баз данных
- •Изолированность пользователей
- •Сериализация транзакций
- •Глава 14. Степень соответствия субд реляционной модели
- •Список литературы по теме курса
- •Кори Майкл Дж., Эбби Майкл, Абрамсон Ян
-
Устранение противоречивости данных (до некоторой степени)
В действительности это следствие предыдущего пункта. Возьмем пример из жизни. Пусть служащий с номером ‘Е3’, работающий в отделе с номером ‘D8’ представлен двумя различными записями в базе данных. Предположим, что в СУБД не учтено это раздвоение (т.е. избыточность данных не контролируется). Тогда рано или поздно обязательно возникнет ситуация, при которой эти две записи перестанут быть согласованными, когда одна из них будет изменена, а другая — нет. В этом случае база данных станет противоречивой. Ясно, что противоречивая база данных способна предоставлять пользователю неправильную, противоречивую информацию.
Также очевидно, что если какой-либо факт представлен одной записью (т.е. при отсутствии избыточности), то противоречий возникнуть не может. Противоречий можно также избежать, если не удалять избыточность, а контролировать ее (соответствующим образом известив об этом СУБД). Тогда СУБД сможет гарантировать, что, с точки зрения пользователя, база данных никогда не будет противоречивой. Данная гарантия обеспечивается тем, что если обновление вносится в одну запись, то оно автоматически будет распространено на все остальные. Этот процесс называется распространением обновлений (propagating updates).
-
Возможность поддержки транзакций
Транзакция (transaction) — это логическая единица работы, обычно включающая несколько операций базы данных (в частности, несколько операций изменения). Стандартный пример — передача суммы денег со счета А на счет В. Очевидно, что в данном случае необходимы два изменения: изъятие денег со счета А и их внесение на счет В. Если пользователь укажет, что оба изменения входят в одну и ту же транзакцию, то система сможет реально гарантировать, что либо оба эти изменения будут выполнены, либо не будет выполнено ни одно из них, даже если до завершения процесса изменений в системе произойдет сбой (скажем, из-за перерыва в подаче электроэнергии).
Замечание. Упомянутое выше свойство атомарности (неделимости) транзакций — это не единственное преимущество от поддержки транзакций. Однако в отличие от прочих оно вполне применимо даже в однопользовательской среде (Часто в однопользовательских системах поддержка транзакций совсем не предоставляется, а подобные проблемы часто перекладываются на плечи пользователя).
-
Обеспечение целостности данных
Задача обеспечения целостности заключается в гарантированной поддержке корректности данных в базе. Противоречивость между двумя записями, представляющими один "факт", является примером утраты целостности данных. Конечно, эта конкретная проблема может возникнуть лишь при наличии избыточности в хранимых данных. Но даже если избыточность отсутствует, база данных может содержать некорректную информацию. Например, в базе данных может быть указано, что сотрудник отработал 400 рабочих часов в неделю вместо 40, или зафиксирована его принадлежность к отделу, которого не существует. Централизованное управление базой данных позволяет избежать подобных проблем (насколько их вообще возможно избежать). Для этого администратор данных определяет (а АБД реализует) ограничения целостности (integrity constraints), иначе называемые бизнес-правилами, которые будут применяться при любой попытке внести какие-либо изменения в соответствующие данные.
Целостность данных для многопользовательских систем баз данных даже более важна, чем для среды с "частными файлами", причем именно по той причине, что такая база данных поддерживает совместный доступ. При отсутствии должного контроля один пользователь вполне может некорректно обновить данные, от чего пострадают многие другие ни в чем не повинные пользователи. Следует также сказать, что в большинстве существующих коммерческих СУБД поддержка ограничений целостности развита слабо, хотя в настоящее время в этом направлении наблюдаются некоторые улучшения. Приходится констатировать тот печальный факт, что ограничения целостности имеют значительно более фундаментальное и критически важное значение, чем это обычно признается на текущий момент.