БАЗЫ ДАННЫХ
Реляционная модель данных
5.1. 12 правил Е. Кодда
5.2. Основы реляционной алгебры
5.3. Базовые понятия реляционной модели
Отношение Студент
5.4. Связанные отношения
Успеваемость
Элементы реляционной модели
5.5. Условия целостности данных
810.00K
Category: databasedatabase

Реляционная модель данных

1. БАЗЫ ДАННЫХ

Лекция 5
РЕЛЯЦИОННАЯ МОДЕЛЬ ДАННЫХ
5.1. Правила Кодда
5.2. Основы реляционной алгебры
5.3. Базовые понятия реляционной модели
5.4. Связанные отношения
5.5. Условия целостности данных

2. Реляционная модель данных

Даталогические модели/ Фактографические/
теоретико-множественные/реляционные
Реляционная модель была предложена
Е. Коддом, известным специалистом в области
баз данных.
Основные концепции этой модели были
опубликованы в 1970 г.
39

3. 5.1. 12 правил Е. Кодда

Правило информации .
Правило гарантированного доступа.
Правило поддержки недействительных значений
Правило динамического каталога, основанного
на реляционной модели.
5. Правило исчерпывающего подъязыка данных.
6. Правило обновления представлений.
1.
2.
3.
4.

4.

5.1. Правила Е. Кодда
7. Правило добавления, обновления и удаления.
8. Правило независимости физических данных.
9. Правило независимости логических данных.
10. Правило независимости условий целостности .
11. Правило независимости распространения.
12. Правило единственности.

5.

5.1. Правила Е. Кодда
1. Правило информации
Вся информация в БД должна быть
предоставлена исключительно на
логическом уровне и только одним
способом — в виде значений,
содержащихся в таблицах.

6.

5.1. Правила Е. Кодда
2. Логический доступ ко всем и
каждому элементу данных
(атомарному значению) в
реляционной БД должен
обеспечиваться путем использования
комбинации имени таблицы,
первичного ключа и имени столбца.

7.

5.1. Правила Е. Кодда
3. В реляционной БД должна быть
реализована поддержка
недействительных значений, которые
отличаются от строки символов нулевой
длины, строки пробельных символов, от
нуля или любого другого числа и
используются для представления
отсутствующих данных независимо от
типа этих данных.

8.

5.1. Правила Е. Кодда
4. Описание БД на логическом уровне должно
быть представлено в том же виде, что и
основные данные, чтобы пользователи,
обладающие соответствующими правами, могли
работать с ним с помощью того же реляционного
языка, который они применяют для работы с
основными данными.

9.

5.1. Правила Е. Кодда
5. Реляционная система может поддерживать различные языки
и режимы взаимодействия с пользователем (например
режим вопросов и ответов).
Однако должен существовать по крайней мере
один язык, операторы которого можно представить
в виде строк символов в соответствии с некоторым
четко определенным синтаксисом и который в
полной мере поддерживает следующие элементы:
определение данных;
определение представлений;
обработку данных (интерактивную и программную);
условия целостности;
идентификацию прав доступа;
границы транзакций (начало, завершение и отмена).

10.

5.1. Правила Е. Кодда
6. Все представления, которые
теоретически можно обновить,
должны быть доступны для
обновления.

11.

5.1. Правила Е. Кодда
7. Возможность работать с отношением
как с одним операндом должна
существовать не только при чтении
данных, но и при добавлении,
обновлении и удалении данных.

12.

5.1. Правила Е. Кодда
8. Прикладные программы и утилиты
для работы с данными должны на
логическом уровне оставаться
нетронутыми при любых изменениях
способов хранения данных или
методов доступа к ним.

13.

5.1. Правила Е. Кодда
9. Прикладные программы и утилиты для
работы с данными должны на
логическом уровне оставаться
нетронутыми при внесении в базовые
таблицы любых изменений, которые
теоретически позволяют сохранить не
тронутыми содержащиеся в этих
таблицах данные.

14.

5.1. Правила Е. Кодда
10. Должна существовать возможность
определять условия целостности,
специфические для конкретной
реляционной базы данных, на
подъязыке реляционной базы данных
и хранить их в каталоге, а не в
прикладной программе.

15.

5.1. Правила Е. Кодда
11. Реляционная СУБД не должна
зависеть от потребностей
конкретного клиента.

16.

5.1. Правила Е. Кодда
12. Если в реляционной системе есть
низкоуровневый язык (обрабатывающий одну
запись за один раз), то должна отсутствовать
возможность использования его для того, чтобы
обойти правила и условия целостности,
выраженные на реляционном языке высокого
уровня (обрабатывающем несколько записей за
один раз).

17. 5.2. Основы реляционной алгебры

Среди многих попыток представить обработку
данных на формальном абстрактном уровне
реляционная модель, предложенная Э. Ф.
Коддом, стала первой работоспособной
моделью данных, поскольку помимо средств
описания объектов имела математический
аппарат преобразований этих описаний —
операции реляционной алгебры.

18.

5.2. Основы реляционной алгебры
Ее основная цель — обеспечить запись реляционных
выражений, позволяющих определять:
• области выборки, т. е. тех данных, которые должны
быть доставлены в результате выполнения операции
выборки;
• области обновления, т. е. данных, которые должны
быть вставлены, изменены или удалены в результате
выполнения операции обновления;
• правила поддержки целостности данных, т. е.
некоторых особых требований, которым должна
удовлетворять база данных;

19.

5.2. Основы реляционной алгебры
• производные переменные-отношения, т. е. те
данные, которые должны быть включены в
представления базы данных;
• требования устойчивости, т. е. данные, которые
должны быть включены в контролируемую область
для некоторых операций управления параллельным
доступом к информации;
• ограничения защиты, т. е. данные, для которых
осуществляется тот или иной тип контроля доступа.

20.

5.2. Основы реляционной алгебры
Реляционная алгебра состоит из двух групп
операторов (по четыре оператора в каждой):
• Традиционные операции над множествами:
объединение, пересечение, разность и декартово
произведение.
• Специальные реляционные операции: выборка,
проекция, соединение, деление.

21.

5.2. Основы реляционной алгебры
• Результат выполнения любой операции над
отношением также является отношением,
поэтому результат одной операции может
использоваться в качестве исходных данных для
другой.
• Другими словами, можно записывать вложенные
реляционные выражения, т. е. выражения, в которых
операторы сами представлены реляционными
выражениями, причем произвольной сложности.
• Эта называется свойством реляционной
замкнутости.

22. 5.3. Базовые понятия реляционной модели

Основными понятиями реляционной модели
данных являются:
отношение;
тип данных;
домен;
атрибут;
кортеж;
ключ.

23.

5.3. Базовые понятия реляционной
модели
Отношением (relation) называется любая
взаимосвязь между объектами и/или их
свойствами.
• Отношение задается именем и списком атрибутов
- элементов, связанных с этим отношением:
<имя_отношения>(<список атрибутов>)
• Имя отношения выбирается таким образом, чтобы
оно поясняло смысл связи между элементами
отношения (семантику отношения).

24. Отношение Студент

№_Зач Имя
_книжки
Дата_рожд Кур Специально
ения
с
сть
123489 Иванов
12.03.1987 1
123517 Сидоров 02.05.1986 3
информатик
а
история
123627 Петров
физика
12.12.1985 3

25.

5.3. Базовые понятия реляционной
модели
Тип данных полностью эквивалентно понятию
типа в алгоритмических языках.
Набор поддерживаемых типов данных определяется
СУБД, но все СУБД поддерживают :
• целочисленные, вещественные;
• строковые, специализированные типы данных для
денежных величин,;
• специальные типы данных для временных величин,
• типы двоичных объектов.
В нашем примере типы:
строковый, даты, целочисленный.

26.

5.3. Базовые понятия реляционной модели
Наименьшая единица данных реляционной модели –
это отдельное атомарное (неразложимое) для
данной модели значение данных.
Доменом называется множество атомарных
значений одного и того же типа,
т.е. домен – допустимое множество значений данного
типа.
В нашем примере домен «Имя» будет базироваться на
строковом типе данных, в число значений домена
входят Иванов, Петров и т.д.

27.

5.3. Базовые понятия реляционной модели
Следует отметить,
что данные считаются сравнимыми только в
том случае, когда они относятся к одному
домену («Иванов»<>»Петров», но не
«Иванов»<>»физика»).

28.

5.3. Базовые понятия реляционной модели
Столбцы отношения называются
атрибутами.
Им присваиваются имена, по которым к
ним затем производится обращение.
Список имен атрибутов отношения с
указанием имен доменов называется
схемой отношения.

29.

5.3. Базовые понятия реляционной модели
Схема отношения СТУДЕНТ запишется так:
№_студ_билета
Номера студ. билетов
Имя
Имена студентов
Дата_рождения
Даты рождения студентов
Курс
Номера курсов
Специальность
Специальности}
Схему отношения иногда называют заголовком
отношения.

30.

5.3. Базовые понятия реляционной модели
Кортеж представляет собой множество пар {имя
атрибута, значение}, которое содержит одно
вхождение каждого имени атрибута.
«Значение» является допустимым значением домена
данного атрибута.
Степень отношения – это число атрибутов.
(Степень отношения СТУДЕНТ равно пяти).
Схемой базы данных называется множество
именованных схем отношений.

31.

5.3. Базовые понятия реляционной модели
Свойства отношений:
• отношение имеет свое уникальное имя;
• каждая ячейка отношения содержит только
атомарное значение;
• каждый атрибут имеет свое уникальное имя;
• значения атрибута берутся из одного и того же
домена;
• порядок следования атрибутов не имеет значения;
• каждый кортеж является уникальным;
• порядок следования кортежей в отношении не
имеет никакого значения.

32.

5.3. Базовые понятия реляционной модели
Ключи отношения
Отношение с математической точки зрения
является множеством,
а множество по определению не содержит
совпадающих элементов,
поэтому в отношении не могут быть
дубликаты кортежей в любой момент
времени.

33.

5.3. Базовые понятия реляционной модели
Таким образом,
в отношении всегда должен присутствовать некоторый
атрибут (или набор атрибутов), однозначно
определяющий каждый кортеж отношения и
обеспечивающий уникальность строк таблицы.
Такой атрибут (или набор атрибутов) называется
первичным ключом отношения.
Для ключа выполняются два независимых от времени
условия:
уникальности;
минимальности.

34.

5.3. Базовые понятия реляционной модели
Различают простые и сложные (или составные)
ключи.
• Простой ключ – ключ, содержащий только один
атрибут.
• Сложный ключ – ключ, состоящий из нескольких
атрибутов.
В примере СТУДЕНТ первичным ключом является
№_Зач_книжки ,так как он однозначно определяет
кортеж.
Этот ключ является простым.

35. 5.4. Связанные отношения

В реляционной модели данные представляются
в виде совокупности взаимосвязанных
таблиц, т.е. между таблицами существует
связь.
Рассмотрим наше отношение СТУДЕНТ и
добавим к нему новое отношение
УСПЕВАЕМОСТЬ:

36. Успеваемость

№_Зач_книжки
Предмет
оценка
123489
история
4
123417
физика
3
123516
Математика
5
123627
информатика
4
Связь между таблицами осуществляется по атрибуту
№_Зач_книжки.
При рассмотрении связанных таблиц важное значение
имеет понятие внешнего ключа.

37.

5.4. Связанные отношения
Внешний ключ – это атрибут (или набор атрибутов)
одного отношения, являющийся ключом другого
отношения.
Внешние ключи используются для установления
логических связей между отношениями.
Связь между двумя таблицами устанавливается путем
присвоения значений внешнего ключа одной
таблицы значениям ключа другой таблицы.

38. Элементы реляционной модели

Элемент реляционной
модели
Форма представления
Отношение
Схема отношения
Таблица
Строка заголовков столбцов
таблицы (заголовок таблицы)
Строка таблицы
Описание свойств объекта
Заголовок столбца таблицы
Множество допустимых
значений атрибута
Значение поля в записи
Один или несколько атрибутов
Тип значений элементов
таблицы
Кортеж
Сущность
Атрибут
Домен
Значение атрибута
Первичный ключ
Тип данных

39.

5.5. Условия целостности данных
Чтобы информация в базе данных была однозначной и
непротиворечивой, в реляционной модели
устанавливаются некоторые ограничительные
условия.
Ограничительные условия – это правила,
определяющие возможные значения данных.
Они обеспечивают логическую основу для
поддержания корректных значений данных.

40.

5.5. Условия целостности данных
Важнейшими ограничениями целостности
данных являются:
• категорийная целостность;
• ссылочная целостность;
• доменная целостность.

41.

5.5. Условия целостности данных
категорийная целостность:
• строка не может быть занесена в базу до тех пор,
пока не будут определены все атрибуты ее
первичного ключа.
Кратко: никакой атрибут первичного ключа строки
не может быть пустым.
• Кортеж не может записываться в БД, пока
значения его ключевого атрибута не будут
полностью определены.

42.

5.5. Условия целостности данных
Если удаляется запись из отношения СТУДЕНТ,
то в связанном отношении УСПЕВАЕМОСТЬ
данных по этому студенту не должно быть.
Современные СУБД поддерживают категорийную и
ссылочную целостность.
Для соблюдения категорийной целостности
сущности достаточно гарантировать отсутствие
в отношении дублирования первичного ключа.

43.

5.5. Условия целостности данных
ссылочная целостность:
• если две таблицы связаны между собой, то внешний
ключ таблицы должен содержать только те
значения, которые уже имеются среди значений
ключа, по которому осуществляется связь.
• Значение внешнего ключа не может содержать
отсутствующих значений.
• Ссылка на отсутствующие значения запрещена.

44.

5.5. Условия целостности данных
Процесс обеспечение ссылочной целостности
сложнее.
При обновлении дополнительного (подчиненного)
отношения (при вставке новых кортежей или
модификации значения внешнего ключа в
существующих кортежах)
достаточно следить за тем, чтобы
не появлялись некорректные значения внешнего
ключа.

45. 5.5. Условия целостности данных

доменная целостность:
• Значения атрибутов определяются из
множества значений домена. Если значение
неизвестно, то оно может быть
отсутствующим (опция NULL)

46.

5.5. Условия целостности данных
При удалении кортежа из основного отношения
возможны три подхода:
• запрещается производить удаление кортежей, у
которых существуют ссылки (вначале удалить ссылку,
затем кортеж),
• при удалении кортежа, у которого имеются ссылки,
во всех ссылающихся кортежах значение внешнего
ключа автоматически становится неопределенным,
• каскадное удаление состоит в том, что при удалении
кортежа из отношения, в дополнительном
(подчиненном) отношении автоматически удаляются
все ссылающиеся кортежи.

47.

5.5. Условия целостности данных
В СУБД можно выбрать любой способ
поддержки целостности.

48.

Дальнейшим развитием реляционной
базы данных является создание
объектно-ориентированной базы
данных и переход в работе на
технологию клиент-сервер.
English     Русский Rules