- •18 Часов
- •Тема 1 Значение информационных систем и баз данныхв образовании инженера-строителя 4
- •Тема 2 Технология баз данных 7
- •Тема 3 Реляционные базы данных 13
- •Тема 4 Эксплуатация баз данных 19
- •Тема 5 субд в архитектуре "клиент-сервер" 20
- •Значение информационных систем и баз данныхв образовании инженера-строителя
- •Технология баз данных
- •Непосредственное управление данными во внешней памяти
- •Управление буферами оперативной памяти
- •Управление транзакциями
- •Журнализация
- •Поддержка языков бд
- •Ядро субд
- •Компилятор языка бд
- •Подсистема поддержки времени выполнения
- •Утилиты
- •Иерархическая модель
- •Сетевая модель.
- •Реляционная модель
- •Реляционные базы данных
- •Отсутствие кортежей-дубликатов
- •Отсутствие упорядоченности кортежей
- •Отсутствие упорядоченности атрибутов
- •Атомарность значений атрибутов
- •Понятие функциональной зависимости и ключи
- •Типы связей в реляционных базах
- •Связь «один ко многим»
- •Связь «один к одному»
- •Связь «много к одному»
- •Связь «много ко многим»
- •Понятие нормализации
- •Основные свойства нормальных форм
- •Запросы на выборку;
- •Запросы на модификацию данных, или управляющие запросы
- •Запрос на выборку
- •Запросы на изменение
- •Субд в архитектуре "клиент-сервер"
- •Открытые системы
- •Клиенты и серверы локальных сетей
- •Системная архитектура "клиент-сервер"
- •Принципы взаимодействия между клиентскими и серверными частями
- •Преимущества протоколов удаленного вызова процедур
- •Типичное разделение функций между клиентами и серверами
- •Требования к аппаратным возможностям и базовому по клиентов и серверов
-
Связь «один к одному»
Если в связи «один ко многим» внешний ключ у содержит только уникальные значения, то это тип связи «один к одному» - каждой записи в У соответствует одна запись в Х и каждой записи в Х соответствует не более одной записи в У. При этом внешний ключ у не является, как х, первичным ключом связи, так как в поле х могут быть значения, которых нет в у. А в поле у таких значений, которых нет в поле х, быть не может. В отношениях Х и У может быть разное число кортежей.
-
Связь «много к одному»
Определяется как связь «один ко многим», но отношения Х и У в определении меняются местами.
-
Связь «много ко многим»
Устанавливается между двумя отношениями Х и У, если в каждом из них расположен первичный ключ связи с третьим отношением С, в котором размещены два внешних ключа связей «один ко многим» между Х и С и «один ко многим» между С и У. Отношение С называют связующим. В отношении С нужно назначать составной ключ (а не простой). В этот составной ключ должны входить внешние ключи двух связей (или большего числа, если таких пар, как Х и У, связываемых через С, имеется несколько).
Целостность по сущностям и ссылкам
Фиксируются два базовых требования (ограничения) для сохранения целостности. Ограничения целостности по сущностям и по ссылкам должны поддерживаться реляционной СУБД.
Первое требование называется требованием целостности сущностей. Объекту предметной области (или сущности в модели предметной области) в реляционных БД соответствуют кортежи отношений. Конкретно требование состоит в том, что любой кортеж любого отношения отличим от любого другого кортежа этого же отношения. Другими словами: любое отношение должно обладать ключом. Это требование автоматически удовлетворяется, если в системе не нарушаются базовые свойства отношений.
Для соблюдения целостности по сущностям достаточно гарантировать отсутствие в любом отношении кортежей с одним и тем же значением ключа.
Второе требование называется требованием целостности по ссылкам и является несколько более сложным. Очевидно, что сложные сущности модели предметной области представляются в реляционной БД в виде нескольких кортежей нескольких связанных отношений.
Требование целостности по ссылкам, или требование внешнего ключа, состоит в том, что для каждого значения внешнего ключа подчиненного отношения, в главном отношении должен найтись кортеж с этим значением первичного ключа, либо значение внешнего ключа должно быть неопределенным (ни на что не указывать). Для примера связей записей отношений сотрудники и отделы это означает, что если для сотрудника в отношении сотрудник в поле отдел указан номер отдела, то этот отдел должен существовать в отношении отделы.
При обновлении подчиненного отношения (вставке новых кортежей или модификации значения внешнего ключа в существующих кортежах) СУБД достаточно следить за тем, чтобы не появлялись некорректные значения внешнего ключа (те значения, которых нет в поле первичного ключа главного отношения). При удалении кортежа из главного отношения, если на него ссылается подчиненное отношение, в СУБД есть несколько следующих приемов, каждый из которых поддерживает целостность по ссылкам.
1) Запрещается производить удаление кортежа, на который существуют ссылки (т.е. сначала нужно либо удалить ссылающиеся кортежи, либо соответствующим образом изменить значения их внешнего ключа).
2) При удалении кортежа, на который имеются ссылки, во всех ссылающихся кортежах значение внешнего ключа автоматически становится неопределенным.
3) Создается каскадное удаление, состоящее в том, что при удалении кортежа из главного отношения, из подчиненного отношения автоматически удаляются все ссылающиеся кортежи.
В развитых реляционных СУБД можно выбрать способ поддержания целостности по ссылкам для каждой отдельной ситуации. Для принятия решения необходимо анализировать требования конкретной предметной области.
Проектирование реляционных баз данных. Нормализация.