More Related Content
More from student_kai (20)
лекция 7
- 1. Тема 2. Модели данных. Реляционная
модель данных. Реляционная
алгебра
Лекция 7. Базовые понятия реляционной модели данных
Copyright © Avdeyev V.A. 2008
- 2. Характеристика реляционной модели данных
Реляционная модель состоит из трех частей,
описывающих разные аспекты реляционного подхода:
структурная часть - нормализованное n-арное отношение
манипуляционная часть - реляционная алгебра и
реляционное исчисление
целостная часть - целостность сущностей и целостности по
ссылкам
тема 2 / лекция 7
Copyright © Avdeyev V.A. 2008
- 3. Поддержание целостности по ссылкам
Существуют три подхода, каждый из которых
поддерживает целостность по ссылкам:
запрещается производить удаление кортежа, на который существуют
ссылки (т.е. сначала нужно либо удалить ссылающиеся кортежи, либо
соответствующим образом изменить значения их внешнего ключа);
при удалении кортежа, на который имеются ссылки, во всех
ссылающихся кортежах значение внешнего ключа автоматически
становится неопределенным;
каскадное удаление, состоящее в том, что при удалении кортежа из
отношения, на которое ведет ссылка, из ссылающегося отношения
автоматически удаляются все ссылающиеся кортежи.
тема 2 / лекция 7
Copyright © Avdeyev V.A. 2008
- 4. Трехзначная логика
Для того чтобы обойти проблему неполных или
неизвестных данных, в базах данных могут
использоваться так называемые null-значения.
Null-значение - это, собственно, не значение, а некий
маркер, показывающий, что значение неизвестно.
тема 2 / лекция 7
Copyright © Avdeyev V.A. 2008
- 5. Парадоксы трехзначной логики
Парадокс 1. Null-значение не равно самому себе.
Действительно, выражение null = null дает значение не
«ИСТИНА», а «НЕИЗВЕСТНО». Значит выражение не
обязательно ИСТИНА.
Парадокс 2. Неверно также, что null-значение не равно самому
себе. Действительно, выражение null ≠ null также принимает
значение не «ИСТИНА», а «НЕИЗВЕСТНО». Значит также, что
и выражение Х≠Х тоже не обязательно «ЛОЖЬ».
Парадокс 3. «а or not(a)» не обязательно «ИСТИНА». Значит, в
трехзначной логике не работает принцип исключенного
третьего (любое высказывание либо истинно, либо ложно).
тема 2 / лекция 7
Copyright © Avdeyev V.A. 2008
- 6. Типы данных
Значения данных, хранимые в реляционной базе данных,
являются типизированными, т. е. известен тип каждого хранимого
значения. Понятие типа данных в реляционной модели данных
полностью соответствует понятию типа данных в языках
программирования.
Как правило, типы данных делятся на три группы:
Простые типы данных
Структурированные типы данных
Ссылочные типы данных
тема 2 / лекция 7
Copyright © Avdeyev V.A. 2008
- 7. Простые типы данных
Простые, или атомарные, типы данных не обладают внутренней
структурой. Данные такого типа называют скалярами. К простым типам
данных относятся следующие типы:
Логический
Строковый
Численный
Различные языки программирования могут расширять и уточнять этот
список, добавляя такие типы как:
Целый
Вещественный
Дата
Время
Денежный
тема 2 / лекция 7
Copyright © Avdeyev V.A. 2008
- 8. Структурированные типы данных
Структурированные типы данных предназначены для задания
сложных структур данных. Структурированные типы данных
конструируются из составляющих элементов, называемых
компонентами, которые, в свою очередь, могут обладать структурой.
В качестве структурированных типов данных можно привести
следующие типы данных:
Массивы
представляет собой функцию с конечной областью определения
Записи (Структуры)
представляет собой кортеж из некоторого декартового произведения
множеств
тема 2 / лекция 7
Copyright © Avdeyev V.A. 2008
- 9. Ссылочные типы данных
Ссылочный тип данных (указатели) предназначен для
обеспечения возможности указания на другие данные. Указатели
характерны для языков процедурного типа, в которых есть
понятие области памяти для хранения данных. Ссылочный тип
данных предназначен для обработки сложных изменяющихся
структур, например деревьев, графов, рекурсивных структур.
тема 2 / лекция 7
Copyright © Avdeyev V.A. 2008
- 10. Ссылочные типы данных
Ссылочный тип данных (указатели) предназначен для
обеспечения возможности указания на другие данные. Указатели
характерны для языков процедурного типа, в которых есть
понятие области памяти для хранения данных. Ссылочный тип
данных предназначен для обработки сложных изменяющихся
структур, например деревьев, графов, рекурсивных структур.
тема 2 / лекция 7
Copyright © Avdeyev V.A. 2008