
- •Оглавление
- •История развития баз данных
- •Тенденции в мире систем управления базами данных
- •1. Реляционные системы
- •1.1 Стандартизация языка sql
- •1.2 Использование мультипроцессорных организаций
- •1.3 Интеграция и интероперабельность
- •2. Постреляционные системы
- •2.1 Базы сложных объектов, реляционная модель с отказом от первой нормальной формы
- •2.2 Активные базы данных
- •2.3 Дедуктивные базы данных
- •2.4 Темпоральные базы данных
- •2.5 Интегрированные или федеративные системы и мультибазы данных
- •2.6 Субд следующего поколения
- •2.7 Объектно-ориентированные базы данных
- •3. Распределенные субд
- •3.1 Синхронизация доступа к данным
- •3.2 Управление транзакциями
- •3.3 Поддержание копий данных в нескольких узлах сети
- •3.4 Фрагментация объектов бд
- •3.5 Алгоритмы выполнения реляционных операций
- •4. Системы бд с многоуровневой защитой
- •Состав и функции систем управления базами данных
- •Информационная модель данных, ее состав (концептуальная, логическая и физическая модели)
- •Три типа логических моделей баз данных: иерархическая, сетевая, реляционная
- •Типы взаимосвязей в модели: «один к одному», «один ко многим», «многие ко многим»
- •Обеспечение непротиворечивости и целостности данных в базе
- •Реляционная модель данных
- •1. Основные понятия реляционной модели данных
- •2. Основы реляционной алгебры
- •Нормализация баз данных
- •Этапы проектирования баз данных
- •Классификация моделей данных
- •Инфологическое моделирование предметной области.
- •Модель "сущность-связь"
- •Концептуальные и физические er-модели
- •Принципы поддержки целостности в реляционной модели данных. Целостность базы данных.
- •1. Ограничения первичного ключа
- •2. Ограничение уникальности
- •3. Ограничение внешнего ключа
- •4. Ограничение значения по умолчанию
- •Индексирование
- •Защита информации в базах данных
- •Сравнительный анализ субд
- •Критерии выбора субд при создании информационных систем
- •Администрирование базы данных
Типы взаимосвязей в модели: «один к одному», «один ко многим», «многие ко многим»
На практике часто используются связи, устанавливающие различные виды соответствия между объектами «связанных» типов, — «один к одному» (1:1), «один ко многим» (1:М), «многие ко многим» (М:М).
Связь «один к одному» означает, что каждому экземпляру первого объекта (А) соответствует только один экземпляр второго объекта (В) и наоборот, каждому экземпляру второго объекта (В) соответствует только один экземпляр первого объекта (А).
Связь «один ко многим» характеризуется тем, что каждому экземпляру одного объекта (А) может соответствовать несколько экземпляров другого объекта (В), а каждому экземпляру второго объекта (В) может соответствовать только один экземпляр первого объекта (А).
Связь «многие ко многим» означает, что каждому экземпляру одного объекта (А) могут соответствовать несколько экземпляров второго объекта (В) и наоборот, каждому экземпляру второго объекта (В) могут соответствовать тоже несколько экземпляров первого объекта (А).
Пример 1.1. Рассмотрим совокупность следующих информаци онных объектов:
СТУДЕНТ (Номер студента, Фамилия И.О., Дата рождения. Номер группы);
СТИПЕНДИЯ (Номер студента. Размер стипендии);
ГРУППА (Номер группы, Специальность);
ПРЕПОДАВАТЕЛЬ (Код преподавателя, Фамилия И.О., Должность).
Информационные объекты СТУДЕНТ и СТИПЕНДИЯ связаны отношением «один к одному», так как каждый студент может иметь только одну стипендию, и каждая стипендия может быть назначена только одному студенту.
Информационные объекты ГРУППА и СТУДЕНТ связаны отношением «один ко многим», так как одна группа может включать много студентов, и в то же время каждый студент может обучаться только в одной группе.
Информационные объекты СТУДЕНТ и ПРЕПОДАВАТЕЛЬ связаны отношением «многие ко многим», так как один студент может обучаться у многих преподавателей, и один преподаватель может обучать многих студентов.
Обеспечение непротиворечивости и целостности данных в базе
Для пользователей АИС важно, чтобы база данных отображала предметную область однозначно и непротиворечиво, т. е. чтобы она удовлетворяла условию целостности.
Выделяют два основных типа ограничений по условию целостности:
1. Каждая строка таблицы должна отличаться от остальных ее строк значением хотя бы одного столбца.
Пример 1.2. Сотрудники отдела могут оказаться полными тезками, родившимися в один и тот же день. Чтобы не нарушить условия целостности, добавляем в таблицу новый столбец — «Л* пропуска», превращая ее в отношение (см. рис. 1.4). Таким образом, первое ограничение обеспечивается наличием в таблице — отношении первичного ключа.
2. Внешний ключ не может быть указателем на несуществующую строку той таблицы, на которую он ссылается. Это ограничение называется ограничением целостности по ссылкам.
Пример 1.3. В столбце Название отдела таблицы «СОТРУДНИК» (см. рис. 1.4) хранятся сведения о принадлежности сотрудников к отделу. Здесь Название отдела является внешним ключом для ссылки на таблицу «ОТДЕЛ». Для обеспечения ограничения целостности по ссылкам каждое Название отдела из таблицы «СОТРУДНИК» должно принадлежать конкретному отделу из таблицы «ОТДЕЛ».
В реальных базах данных названия не делают ключевыми из-за их длины (замедление процесса поиска), а также из-за того, что они могут изменяться (сложности с сопровождением системы).