Похожие презентации:
Реляционная модель данных (лекция № 4)
1.
Федеральное государственное бюджетноеобразовательное учреждение
высшего образования
«Оренбургский государственный университет»
Кафедра прикладной информатики в экономике и
управлении
БАЗЫ ДАННЫХ
1
2. Лекция 4
Тема : Реляционная модельданных
2 часа
Разработчик Панова Н.Ф.
2
3. План лекции
1 Основные определения2 Реляционные ключи
3 Реляционная целостность
4. Основные определения
N-арным отношением R называют подмножестводекартова произведения D1xD2x…Dn множеств D1,
D2,…Dn
(n>=1),
необязательно
различных.
Исходные множества D1, D2,…Dn называются
доменами.
D1={Иванов, Петров, Сидоров};
D2={история, базы данных};
D3={3,4,5};
Множество D1 представляет множество фамилий
студентов, D2 - множество изучаемых предметов,
D3 - множество оценок, которые могут получить
студенты при сдаче экзаменов.
4
5. Основные определения
Тогда полное декартово произведение состоит из18 троек :
{Иванов,история,3},{ Иванов,история,4},{
Иванов,история,5};
{ Иванов,базы данных,3},{ Иванов,базы данных,4},{
Иванов,базы данных,5};
{Петров,история,3},{ Петров,история,4},{
Петров,история,5};
{ Петров,базы данных,3},{ Петров,базы данных,4},{
Петров,базы данных,5};
…
….
5
6. Основные определения
Отношение можно представить в виде таблицы,состоящей из строк и столбцов
Студент
Предмет
Оценка
Иванов
История
5
Иванов
Базы данных
4
Петров
История
3
Сидоров
История
4
Сидоров
Базы данных
5
6
7. Основные определения
Атрибут – это вхождение домена в отношение;Кортеж – это элемент отношения;
Степень, ранг или арность - количество атрибутов
в отношении;
Схемой отношения R называется имя отношеня и
перечень атрибутов с указанием доменов, к
которым они относятся:
SR(A1, A2, … An) , где Ai⊆Di
Кардинальность или мощность - это количество
кортежей, которое содержит отношение.
Сессия(студент, предмет, оценка)
7
8. Связи между отношениями
Связи в реляционной модели реализованы неявно.Каждая связь носит иерархический характер, т.е. в
каждой связи одно из отношений является главным,
а другое подчиненным.
Отношения связаны, если имеют общий атрибут.
Этот атрибут в главном отношении называется
первичным ключом, а в подчиненном – внешним.
Реляционная БД - это набор взаимосвязанных
отношений.
8
9. Связи между отношениями
Как правило, главное отношение образуется раньшеи содержит меньше кортежей.
Корпус
Аудитория
номер
площадь
1
500
3
650
Номер
аудитории
назначение
корпус
1102
кафедра
1
1101
лекционная 1
1103
лекционная 1
3305
Компьютер
ный класс
3
3307
Компьютер
ный класс
3
9
10.
ТерминологияВ реляционной модели допустимо использование
основной и альтернативной терминологии.
Основной термин
Альтернативный термин
отношение
таблица
атрибут
столбец
кортеж
строка
10
11.
Свойства отношенийотношение не содержит одинаковых кортежей;
порядок
следования
кортежей
не
имеет
значения;
каждый атрибут имеет уникальное имя;
значения атрибута берутся из одного и того же
домена;
значения
каждого
атрибута
являются
атомарными, то есть не делимыми;
атрибуты не упорядочены.
Отношение, в котором значения всех атрибутов
атомарны,
называется
приведённым
к
1-й
нормальной форме(1НФ).
11
12. Реляционные ключи
Потенциальныйключ-это
атрибут
или
совокупность атрибутов, которые единственным
образом идентифицируют кортеж отношения.
Потенциальный ключ K для данного отношения
R обладает следующими свойствами:
уникальность.
В
данном
отношении
не
существует двух кортежей с одинаковым значением
К;
неприводимость.
Никакое
допустимое
подмножество ключа К не обладает свойством
уникальности.
Ключ, состоящий из одного атрибута называется
простым, из нескольких – составным.
12
13. Реляционные ключи
Сотрудник (табельный номер, фамилия, имя,отчество, дата рождения, серия паспорта, номер
паспорта, должность).
Потенциальными ключами данного отношения
являются:
серия паспорта + номер паспорта;
табельный номер;
фамилия + имя + отчество + дата рождения
13
14. Первичный ключ
– это потенциальный ключ,выбранный
для
уникальной
идентификации
кортежей внутри отношения.
В качестве первичных следует выбирать простые
числовые ключи.
Для отношения Сотрудник первичным ключом
будет атрибут табельный номер.
Альтернативный ключ – это потенциальный
ключ, не выбранный в качестве первичного.
Внешний ключ – это атрибут или множество
атрибутов отношения, которые соответствуют
первичному ключу некоторого отношения.
14
15. Суррогатный первичный ключ
Если все потенциальные ключи составные илитекстовые, следует добавить в отношение простой
числовой атрибут. Значения этого атрибута должны
генерироваться
автоматически
по
принципу
счетчика,
что
обеспечивает
уникальность
первичного ключа.
Такой первичный ключ называется суррогатным.
Он упрощает связи между отношениями.
Каждая СУБД имеет средства поддержки
первичных ключей. Например, специальный тип
данных.
В СУБД Access это тип Счетчик.
15
16. Реляционная целостность
Целостность (непротиворечивость данных) – этосоответствие информационной модели предметной
области
объектам
реального
мира
и
их
взаимосвязям. В реляционной модели различают
следующие виды целостности:
целостность сущностей;
ссылочная целостность;
16
17. Целостность сущностей
Ни один атрибут первичного ключа не можетиметь отсутствующих значений, т.е. значений,
заданных определителем null.
Отсутствующее значение – это значение, не
определенное пользователем. Может участвовать в
логических операциях
NULL or false = NULL
NULL or true = NULL
NULL or NULL = NULL
NULL and false = false
NULL and true = NULL
NULL and NULL = NULL
17
18.
Ограничение ссылочной целостностиЕсли в отношении существует внешний ключ, то
его значение должно либо соответствовать значению
первичного ключа основного отношения либо
задаваться определителем null.
Класс
Компьютер
Номер
класса
площадь
3305
45
3307
53
6204
45
Инвентарный
номер ПК
Дата
класс
приобретения
123
01.09.2017
3305
124
01.09.2017
3305
126
05.06.2018
3307
127
05.06.2018
null
18
19.
Стратегии обеспечения ссылочнойцелостности
При выполнении операций вставки, удаления и
обновления ссылочная целостность может быть
нарушена. Современные СУБД предлагают выбрать
одну из следующих стратегий, предотвращающих
нарушение целостности.
Cascade – каскадное удаление кортежей или
обновление внешнего ключа в
подчиненном
отношении при удалении кортежей или обновлении
первичного ключа в основном отношении;
19
20.
Стратегии обеспечения ссылочнойцелостности
Restrict -запрет на удаление кортежа или
обновление
первичного
ключа
в
основном
отношении, если в подчиненном есть связанные
кортежи;
set
null.
Значение
внешнего
ключа
в
подчиненном
отношении
становится
неопределённым;
set default. Внешний ключ принимает значение
по умолчанию.
20
21.
Ограничения семантическойцелостности
Ограничения
семантической
целостности
касаются содержимого БД. Различают следующие
виды ограничений:
ограничения целостности атрибута. Требую
проверки значения одного атрибута. Например,
номер семестра варьируется от 1 до 8;
ограничения целостности на уровне доменов. В
этом случае определяется пользовательский тип,
задающий ограничение сразу для нескольких
однотипных атрибутов. Например, любая дата
рождения должна быть меньше текущей даты.
21
22.
Ограничения семантической целостностиОграничения на уровне нескольких отношений
Требуют проверки значений нескольких атрибутов
в разных отношениях.
ограничения целостности на уровне отношений.
Требуют проверки значений сразу нескольких
атрибутов. Например, дата окончания вуза должна
быть больше даты поступления.
22
23.
Способы обеспечения реляционной исемантической целостности
декларативный - ограничения задаются при
создании базы данных. Поддерживается всеми
СУБД.
процедурный - этот способ связан с созданием с
специальных программ – хранимых процедур и
триггеров.
Процедурный
способ
поддерживается
удаленными СУБД.
23
24.
Вопросы1.
2.
3.
4.
5.
6.
7.
8.
Дайте определение понятия отношение.
Как можно назвать отношение с использованием
альтернативной терминологии?
Как реализуются связи между отношениями?
Сколько потенциальных ключей может иметь
отношение?
Может ли атрибут первичного ключа иметь пустое
значение?
Можно ли пробел назвать пустым значением?
Может ли внешний ключ принимать пустое
значение?
Может ли нарушиться ссылочная целостность при
удалении строки из подчиненного отношения?
24
Базы данных