SlideShare a Scribd company logo
1 of 10
Тема 2. Модели данных. Реляционная
модель данных. Реляционная
алгебра
Лекция 7. Базовые понятия реляционной модели данных

Copyright © Avdeyev V.A. 2008
Характеристика реляционной модели данных
Реляционная модель состоит из трех частей,
описывающих разные аспекты реляционного подхода:
структурная часть - нормализованное n-арное отношение
манипуляционная часть - реляционная алгебра и
реляционное исчисление
целостная часть - целостность сущностей и целостности по
ссылкам

тема 2 / лекция 7

Copyright © Avdeyev V.A. 2008
Поддержание целостности по ссылкам
Существуют три подхода, каждый из которых
поддерживает целостность по ссылкам:
запрещается производить удаление кортежа, на который существуют

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

тема 2 / лекция 7

Copyright © Avdeyev V.A. 2008
Трехзначная логика
Для того чтобы обойти проблему неполных или

неизвестных данных, в базах данных могут
использоваться так называемые null-значения.
Null-значение - это, собственно, не значение, а некий
маркер, показывающий, что значение неизвестно.

тема 2 / лекция 7

Copyright © Avdeyev V.A. 2008
Парадоксы трехзначной логики
Парадокс 1. Null-значение не равно самому себе.

Действительно, выражение null = null дает значение не
«ИСТИНА», а «НЕИЗВЕСТНО». Значит выражение не
обязательно ИСТИНА.
Парадокс 2. Неверно также, что null-значение не равно самому
себе. Действительно, выражение null ≠ null также принимает
значение не «ИСТИНА», а «НЕИЗВЕСТНО». Значит также, что
и выражение Х≠Х тоже не обязательно «ЛОЖЬ».
Парадокс 3. «а or not(a)» не обязательно «ИСТИНА». Значит, в
трехзначной логике не работает принцип исключенного
третьего (любое высказывание либо истинно, либо ложно).

тема 2 / лекция 7

Copyright © Avdeyev V.A. 2008
Типы данных
Значения данных, хранимые в реляционной базе данных,
являются типизированными, т. е. известен тип каждого хранимого
значения. Понятие типа данных в реляционной модели данных
полностью соответствует понятию типа данных в языках
программирования.
Как правило, типы данных делятся на три группы:
Простые типы данных
Структурированные типы данных
Ссылочные типы данных

тема 2 / лекция 7

Copyright © Avdeyev V.A. 2008
Простые типы данных
Простые, или атомарные, типы данных не обладают внутренней
структурой. Данные такого типа называют скалярами. К простым типам
данных относятся следующие типы:
Логический
Строковый
Численный
Различные языки программирования могут расширять и уточнять этот
список, добавляя такие типы как:
Целый
Вещественный
Дата
Время
Денежный
тема 2 / лекция 7

Copyright © Avdeyev V.A. 2008
Структурированные типы данных
Структурированные типы данных предназначены для задания
сложных структур данных. Структурированные типы данных
конструируются из составляющих элементов, называемых
компонентами, которые, в свою очередь, могут обладать структурой.
В качестве структурированных типов данных можно привести
следующие типы данных:
Массивы
представляет собой функцию с конечной областью определения

Записи (Структуры)
представляет собой кортеж из некоторого декартового произведения
множеств

тема 2 / лекция 7

Copyright © Avdeyev V.A. 2008
Ссылочные типы данных
Ссылочный тип данных (указатели) предназначен для
обеспечения возможности указания на другие данные. Указатели
характерны для языков процедурного типа, в которых есть
понятие области памяти для хранения данных. Ссылочный тип
данных предназначен для обработки сложных изменяющихся
структур, например деревьев, графов, рекурсивных структур.

тема 2 / лекция 7

Copyright © Avdeyev V.A. 2008
Ссылочные типы данных
Ссылочный тип данных (указатели) предназначен для
обеспечения возможности указания на другие данные. Указатели
характерны для языков процедурного типа, в которых есть
понятие области памяти для хранения данных. Ссылочный тип
данных предназначен для обработки сложных изменяющихся
структур, например деревьев, графов, рекурсивных структур.

тема 2 / лекция 7

Copyright © Avdeyev V.A. 2008

More Related Content

Viewers also liked

практика 5
практика 5практика 5
практика 5student_kai
 
лекция 21 управление безопасностью-ч1
лекция 21 управление безопасностью-ч1лекция 21 управление безопасностью-ч1
лекция 21 управление безопасностью-ч1student_kai
 
лекция №6
лекция №6лекция №6
лекция №6student_kai
 
практика 12
практика 12практика 12
практика 12student_kai
 
практика 13
практика 13практика 13
практика 13student_kai
 
лекция 3 управление инцидентами-ч1
лекция 3 управление инцидентами-ч1лекция 3 управление инцидентами-ч1
лекция 3 управление инцидентами-ч1student_kai
 
лекция №15
лекция №15лекция №15
лекция №15student_kai
 

Viewers also liked (20)

лаб № 1
лаб № 1лаб № 1
лаб № 1
 
практика 5
практика 5практика 5
практика 5
 
л22с
л22сл22с
л22с
 
л16с
л16сл16с
л16с
 
лекция23
лекция23лекция23
лекция23
 
лекция 21 управление безопасностью-ч1
лекция 21 управление безопасностью-ч1лекция 21 управление безопасностью-ч1
лекция 21 управление безопасностью-ч1
 
п1
п1п1
п1
 
лекция №6
лекция №6лекция №6
лекция №6
 
лекция 16
лекция 16лекция 16
лекция 16
 
лекция 6
лекция 6лекция 6
лекция 6
 
л26с
л26сл26с
л26с
 
лек8
лек8лек8
лек8
 
лаб № 8
лаб № 8лаб № 8
лаб № 8
 
практика 12
практика 12практика 12
практика 12
 
л13
л13л13
л13
 
п17
п17п17
п17
 
лекция 35
лекция 35лекция 35
лекция 35
 
практика 13
практика 13практика 13
практика 13
 
лекция 3 управление инцидентами-ч1
лекция 3 управление инцидентами-ч1лекция 3 управление инцидентами-ч1
лекция 3 управление инцидентами-ч1
 
лекция №15
лекция №15лекция №15
лекция №15
 

Similar to лекция 7

раздел 2 модели и типы данных
раздел 2  модели и типы данныхраздел 2  модели и типы данных
раздел 2 модели и типы данныхtatianabtt
 
раздел 4 проектирование и использование баз данных
раздел 4  проектирование и использование баз данныхраздел 4  проектирование и использование баз данных
раздел 4 проектирование и использование баз данныхtatianabtt
 
пр8 сем2 1_проектированиербд_er_model2014_02_27
пр8 сем2 1_проектированиербд_er_model2014_02_27пр8 сем2 1_проектированиербд_er_model2014_02_27
пр8 сем2 1_проектированиербд_er_model2014_02_27helenyakovleva
 
2. объекты
2. объекты2. объекты
2. объектыOdant
 
информатикаисогд
информатикаисогдинформатикаисогд
информатикаисогдpks11-1
 
001
001001
001JIuc
 
Управление Данными. Лекция 1
Управление Данными. Лекция 1Управление Данными. Лекция 1
Управление Данными. Лекция 1Dmitriy Krukov
 
тема 4 2
тема 4 2тема 4 2
тема 4 2asheg
 
13 14 15_индексирование
13 14 15_индексирование13 14 15_индексирование
13 14 15_индексированиеEvgeniy Golendyhin
 
Trpo 6 архит_проектирование
Trpo 6 архит_проектированиеTrpo 6 архит_проектирование
Trpo 6 архит_проектированиеpogromskaya
 
тема 4
тема 4тема 4
тема 4asheg
 
системы управления базами данных
системы управления базами данныхсистемы управления базами данных
системы управления базами данныхishuk
 
презентация семинар по бд
презентация семинар по бдпрезентация семинар по бд
презентация семинар по бдanna_pal
 
Тема 3. Модели и закономерности систем
Тема 3. Модели и закономерности системТема 3. Модели и закономерности систем
Тема 3. Модели и закономерности системСергей Солнечный
 

Similar to лекция 7 (20)

раздел 2 модели и типы данных
раздел 2  модели и типы данныхраздел 2  модели и типы данных
раздел 2 модели и типы данных
 
раздел 4 проектирование и использование баз данных
раздел 4  проектирование и использование баз данныхраздел 4  проектирование и использование баз данных
раздел 4 проектирование и использование баз данных
 
пр8 сем2 1_проектированиербд_er_model2014_02_27
пр8 сем2 1_проектированиербд_er_model2014_02_27пр8 сем2 1_проектированиербд_er_model2014_02_27
пр8 сем2 1_проектированиербд_er_model2014_02_27
 
2. объекты
2. объекты2. объекты
2. объекты
 
информатикаисогд
информатикаисогдинформатикаисогд
информатикаисогд
 
001
001001
001
 
Управление Данными. Лекция 1
Управление Данными. Лекция 1Управление Данными. Лекция 1
Управление Данными. Лекция 1
 
Lekcia4
Lekcia4Lekcia4
Lekcia4
 
Lekcia11
Lekcia11Lekcia11
Lekcia11
 
тема 4 2
тема 4 2тема 4 2
тема 4 2
 
13 14 15_индексирование
13 14 15_индексирование13 14 15_индексирование
13 14 15_индексирование
 
Lekcia5
Lekcia5Lekcia5
Lekcia5
 
Trpo 6 архит_проектирование
Trpo 6 архит_проектированиеTrpo 6 архит_проектирование
Trpo 6 архит_проектирование
 
тема 4
тема 4тема 4
тема 4
 
лекция 10
лекция 10лекция 10
лекция 10
 
системы управления базами данных
системы управления базами данныхсистемы управления базами данных
системы управления базами данных
 
презентация семинар по бд
презентация семинар по бдпрезентация семинар по бд
презентация семинар по бд
 
Тема 3. Модели и закономерности систем
Тема 3. Модели и закономерности системТема 3. Модели и закономерности систем
Тема 3. Модели и закономерности систем
 
лекция № 7
лекция № 7лекция № 7
лекция № 7
 
лекция 4
лекция 4лекция 4
лекция 4
 

More from student_kai

презентация
презентацияпрезентация
презентацияstudent_kai
 
презентации продолжение банкета
презентации продолжение банкетапрезентации продолжение банкета
презентации продолжение банкетаstudent_kai
 
основы программирования на языке C
основы программирования на языке Cосновы программирования на языке C
основы программирования на языке Cstudent_kai
 
презентация курсовой работы
презентация курсовой работыпрезентация курсовой работы
презентация курсовой работыstudent_kai
 
лекция№34
лекция№34лекция№34
лекция№34student_kai
 
лекция№32
лекция№32лекция№32
лекция№32student_kai
 
лекция№33
лекция№33лекция№33
лекция№33student_kai
 
лекция№31
лекция№31лекция№31
лекция№31student_kai
 
лекция№30
лекция№30лекция№30
лекция№30student_kai
 
лекция№29
лекция№29лекция№29
лекция№29student_kai
 
лекция№28
лекция№28лекция№28
лекция№28student_kai
 
лекция№27
лекция№27лекция№27
лекция№27student_kai
 
лекция№26
лекция№26лекция№26
лекция№26student_kai
 
лекция№25
лекция№25лекция№25
лекция№25student_kai
 
лекция№25
лекция№25лекция№25
лекция№25student_kai
 
лекция№24
лекция№24лекция№24
лекция№24student_kai
 
лекция№23
лекция№23лекция№23
лекция№23student_kai
 
лекция№22
лекция№22лекция№22
лекция№22student_kai
 
лекция№21
лекция№21лекция№21
лекция№21student_kai
 
лекция№20
лекция№20лекция№20
лекция№20student_kai
 

More from student_kai (20)

презентация
презентацияпрезентация
презентация
 
презентации продолжение банкета
презентации продолжение банкетапрезентации продолжение банкета
презентации продолжение банкета
 
основы программирования на языке C
основы программирования на языке Cосновы программирования на языке C
основы программирования на языке C
 
презентация курсовой работы
презентация курсовой работыпрезентация курсовой работы
презентация курсовой работы
 
лекция№34
лекция№34лекция№34
лекция№34
 
лекция№32
лекция№32лекция№32
лекция№32
 
лекция№33
лекция№33лекция№33
лекция№33
 
лекция№31
лекция№31лекция№31
лекция№31
 
лекция№30
лекция№30лекция№30
лекция№30
 
лекция№29
лекция№29лекция№29
лекция№29
 
лекция№28
лекция№28лекция№28
лекция№28
 
лекция№27
лекция№27лекция№27
лекция№27
 
лекция№26
лекция№26лекция№26
лекция№26
 
лекция№25
лекция№25лекция№25
лекция№25
 
лекция№25
лекция№25лекция№25
лекция№25
 
лекция№24
лекция№24лекция№24
лекция№24
 
лекция№23
лекция№23лекция№23
лекция№23
 
лекция№22
лекция№22лекция№22
лекция№22
 
лекция№21
лекция№21лекция№21
лекция№21
 
лекция№20
лекция№20лекция№20
лекция№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