Содержание
- 2. Вопросы Чем даталогические документальные модели отличаются от фактографических? Приведите примеры даталогических документальных моделей. Какие компоненты входят
- 3. Пример отношения СОТРУДНИКИ
- 4. Реляционная модель данных. Базовые понятия реляционных баз данных Реляционные (от английского слова relation – отношение) модели
- 5. Реляционная модель данных. Базовые понятия реляционных баз данных Домен – допустимое потенциальное множество значений простого типа
- 6. Реляционная модель данных. Базовые понятия реляционных баз данных Схема отношения - это именованное множество пар {имя
- 7. Реляционная модель данных. Базовые понятия реляционных баз данных Реляционная база данных - это набор отношений, имена
- 8. Реляционная модель данных. Базовые понятия реляционных баз данных Один-ко-многим. Одной записи таблицы А (главной) соответствует несколько
- 9. Таблица 1 – Соответствие терминов
- 10. Реляционная модель данных. Фундаментальные свойства отношений 1 Отсутствие кортежей-дубликатов То свойство, что отношения не содержат кортежей-дубликатов,
- 11. Реляционная модель данных. Фундаментальные свойства отношений 3 Отсутствие упорядоченности атрибутов Атрибуты отношений не упорядочены, поскольку по
- 12. Реляционная модель данных. Характеристика реляционной модели данных Согласно Дейту реляционная модель состоит из трех частей, описывающих
- 13. Реляционная модель данных. Характеристика реляционной модели данных Первое требование называется требованием целостности сущностей. Объектам или сущностям
- 14. Реляционная модель данных. Характеристика реляционной модели данных Ограничения целостности сущности и по ссылкам должны поддерживаться СУБД.
- 15. Реляционная модель данных. Трехзначная логика (3VL) В подходе 2 использовано понятие «неопределенного» значения ключа. В реальном
- 16. Реляционная модель данных. Трехзначная логика (3VL) Второй вариант состоит в использовании null-значений вместо неизвестных данных. Возникает
- 17. Реляционная модель данных. Трехзначная логика (3VL) Таблицы истинности логических операций AND, OR, NOT
- 18. Реляционная модель данных. Трехзначная логика (3VL) Имеется несколько парадоксальных следствий применения трехзначной логики. Парадокс 1. Null-значение
- 19. Реляционная модель данных. Реляционная алгебра Вторая часть реляционной модели, манипуляционная часть, утверждает, что доступ к реляционным
- 20. Реляционная алгебра представляет собой набор операторов, использующих отношения в качестве аргументов, и возвращающие отношения в качестве
- 21. Реляционная модель данных. Реляционная алгебра Традиционно, вслед за Э. Коддом, определяют восемь реляционных операций реляционной алгебры,
- 22. Графическая интерпретация некоторых операций реляционной алгебры
- 23. Реляционная модель данных. Реляционная алгебра Не все они являются независимыми, т.е. некоторые из этих операций могут
- 24. Реляционная модель данных. Реляционная алгебра 1. Объединение. При выполнении операции объединения двух отношений производится отношение, включающее
- 26. Реляционная модель данных. Реляционная алгебра 2. Пересечение. Операция пересечения двух отношений производит отношение, включающее все кортежи,
- 28. Реляционная модель данных. Реляционная алгебра 3. Разность. Отношение, являющееся разностью двух отношений включает все кортежи, входящие
- 30. Скачать презентацию
Вопросы
Чем даталогические документальные модели отличаются от фактографических?
Приведите примеры даталогических документальных
Вопросы
Чем даталогические документальные модели отличаются от фактографических?
Приведите примеры даталогических документальных
Какие компоненты входят в структуру логической (даталогической) модели?
Назовите структуры данных иерархических моделей.
Что включает в себя физическая модель данных?
Чем характеризуется последовательный доступ к данным?
Чем характеризуется прямой (произвольный) доступ к данным?
Какие методы адресации используются для ускорения доступа к данным?
Дайте характеристику методу хеширования.
Опишите алгоритм адресации с использованием индексно-последовательного файла?
Что такое страница данных? Опишите ее структуру.
Укажите последовательность действий доступа к данным.
Как связаны страницы данных в наборе?
Укажите последовательность действий по добавлению записи о поставках РД7 (пример 1).
Укажите последовательность действий по удалению записи о детали Д1 (пример 1).
Пример отношения СОТРУДНИКИ
Реляционная модель данных.
Базовые понятия реляционных баз данных
Реляционные (от английского
Реляционная модель данных.
Базовые понятия реляционных баз данных
Реляционные (от английского
Атрибут – это наименьшая поименованная единица данных, к которой СУБД может адресоваться непосредственно, и с помощью которой выполняется построение всех остальных структур. Атрибут имеет имя и значение.
Понятие тип данных в реляционной модели данных полностью адекватно понятию типа данных в языках программирования. Обычно в современных реляционных БД допускается хранение данных следующих типов: символьных, числовых, битовых, специализированных числовых данных (таких как «деньги», «темпоральных» данных (дата, время, временной интервал). Достаточно активно развивается подход к расширению возможностей реляционных систем абстрактными типами данных (соответствующими возможностями обладают, например, системы семейства Ingres/Postgres). В нашем примере мы имеем дело с данными трех типов: строки символов, целые числа и «деньги».
Реляционная модель данных.
Базовые понятия реляционных баз данных
Домен – допустимое
Реляционная модель данных.
Базовые понятия реляционных баз данных
Домен – допустимое
Следует отметить также семантическую нагрузку понятия домена: данные считаются сравнимыми только в том случае, когда они относятся к одному домену. В нашем примере значения доменов «Номера пропусков» и «Номера отделов» относятся к типу целых чисел, но не являются сравнимыми. Заметим, что в большинстве реляционных СУБД понятие домена не используется, хотя в Oracle V.7 оно поддерживается.
Кортеж, соответствующий данной схеме отношения, - это множество пар {имя атрибута - значение}, которое содержит одно вхождение каждого имени атрибута, принадлежащего схеме отношения. "Значение" является допустимым значением домена данного атрибута (или типа данных, если понятие домена не поддерживается). Степень или «арность» кортежа, т.е. число элементов в кортеже, совпадает с «арностью» соответствующей схемы отношения.
Кортеж - это набор именованных значений заданного типа.
Реляционная модель данных.
Базовые понятия реляционных баз данных
Схема отношения -
Реляционная модель данных.
Базовые понятия реляционных баз данных
Схема отношения -
Схема БД (в структурном смысле) - это набор именованных схем отношений
Отношение - это множество кортежей, соответствующих одной схеме отношения. Иногда, чтобы не путаться, говорят «отношение-схема» и «отношение-экземпляр», иногда схему отношения называют заголовком отношения, а отношение как набор кортежей - телом отношения. На самом деле, понятие схемы отношения ближе всего к понятию структурного типа данных в языках программирования. Было бы вполне логично разрешать отдельно определять схему отношения, а затем одно или несколько отношений с данной схемой. Однако в реляционных базах данных это не принято. Имя схемы отношения в таких базах данных всегда совпадает с именем соответствующего отношения-экземпляра. В классических реляционных базах данных после определения схемы базы данных изменяются только отношения-экземпляры. В них могут появляться новые и удаляться или модифицироваться существующие кортежи. Однако во многих реализациях СУБД допускается и изменение схемы базы данных: определение новых и изменение существующих схем отношения. Это принято называть эволюцией схемы базы данных.
Реляционная модель данных.
Базовые понятия реляционных баз данных
Реляционная база данных
Реляционная модель данных.
Базовые понятия реляционных баз данных
Реляционная база данных
Ключ – набор атрибутов, значение которых однозначно идентифицирует кортежи. Отношение может иметь несколько ключей, но всегда один из ключей объявляется первичным и его значения не могут обновляться.
Все остальные ключи называются возможными ключами.
Атрибуты, представляющие собой копии ключей других отношений называются внешними ключами.
Связи в реляционных базах данных
В реляционных БД связи позволяют избежать избыточности данных. В большинстве случаев связь сопоставляет первичный ключ одной таблицы с внешним ключом другой таблицы. Связи между таблицами могут быть трех видов:
Один-к-одному. Одной записи таблицы А соответствует одна запись таблицы Б, и наоборот. Этот тип связи применяется достаточно редко. Единственный случай, когда применение этого типа связи оправданно – разбиение таблицы, содержащей очень большое количество полей, на несколько частей.
Реляционная модель данных.
Базовые понятия реляционных баз данных
Один-ко-многим. Одной записи
Реляционная модель данных.
Базовые понятия реляционных баз данных
Один-ко-многим. Одной записи
Многие-ко-многим. При этом типе связи многим записям из таблицы А может соответствовать много записей из таблицы Б (и наоборот). Такую связь в реляционных БД можно организовать только при помощи третьей вспомогательной таблицы. По сути связь «многие-ко-многим» представляет собой две связи типа «один-ко-многим». При этом таблицы А и Б расположены со стороны «один», а вспомогательная таблица со стороны – «многие».
Как видно, основные структурные понятия реляционной модели данных (если не считать понятия домена) имеют очень простую интуитивную интерпретацию, хотя в теории реляционных БД все они определяются абсолютно формально и точно.
Таблица 1 – Соответствие терминов
Таблица 1 – Соответствие терминов
Реляционная модель данных.
Фундаментальные свойства отношений
1 Отсутствие кортежей-дубликатов
То свойство, что отношения
Реляционная модель данных.
Фундаментальные свойства отношений
1 Отсутствие кортежей-дубликатов
То свойство, что отношения
Из этого свойства вытекает наличие у каждого отношения так называемого первичного ключа - набора атрибутов, значения которых однозначно определяют кортеж отношения. Для каждого отношения по крайней мере полный набор его атрибутов обладает этим свойством. Однако при формальном определении первичного ключа требуется обеспечение его «минимальности», т.е. в набор атрибутов первичного ключа не должны входить такие атрибуты, которые можно отбросить без ущерба для основного свойства, - однозначно определять кортеж. Понятие первичного ключа является исключительно важным в связи с понятием целостности баз данных.
2 Отсутствие упорядоченности кортежей
Свойство отсутствия упорядоченности кортежей отношения также является следствием определения отношения-экземпляра как множества кортежей. Отсутствие требования к поддержанию порядка на множестве кортежей отношения дает дополнительную гибкость СУБД при хранении баз данных во внешней памяти и при выполнении запросов к базе данных.
Реляционная модель данных.
Фундаментальные свойства отношений
3 Отсутствие упорядоченности атрибутов
Атрибуты отношений не
Реляционная модель данных.
Фундаментальные свойства отношений
3 Отсутствие упорядоченности атрибутов
Атрибуты отношений не
4 Атомарность значений атрибутов
Значения всех атрибутов являются атомарными. Это следует из определения домена как потенциального множества значений простого типа данных, т.е. среди значений домена не могут содержаться множества значений (отношения). Принято говорить, что в реляционных базах данных допускаются только нормализованные отношения или отношения, представленные в первой нормальной форме.
Реляционная модель данных.
Характеристика реляционной модели данных
Согласно Дейту реляционная модель состоит
Реляционная модель данных.
Характеристика реляционной модели данных
Согласно Дейту реляционная модель состоит
В структурной части реляционной модели данных фиксируется, что единственной структурой данных, используемой в реляционных БД, является нормализованное n-арное отношение. По сути дела, ранее мы рассматривали именно понятия и свойства структурной составляющей реляционной модели.
В манипуляционной части реляционной модели данных утверждаются два фундаментальных механизма манипулирования реляционными БД - реляционная алгебра и реляционное исчисление. Первый механизм базируется в основном на классической теории множеств (с некоторыми уточнениями), а второй - на классическом логическом аппарате исчисления предикатов первого порядка.
В целостной части реляционной модели данных фиксируются два базовых требования целостности, которые должны поддерживаться в любой реляционной СУБД.
Реляционная модель данных.
Характеристика реляционной модели данных
Первое требование называется требованием целостности
Реляционная модель данных.
Характеристика реляционной модели данных
Первое требование называется требованием целостности
Второе требование называется требованием целостности по ссылкам и является более сложным. Очевидно, что при соблюдении нормализованности отношений сложные сущности реального мира представляются в реляционной БД в виде нескольких кортежей нескольких отношений. Говорят, что отношение, в котором определен внешний ключ, ссылается на соответствующее отношение, в котором такой же атрибут является первичным ключом.
Требование целостности по ссылкам, или требование внешнего ключа состоит в том, что для каждого значения внешнего ключа, появляющегося в ссылающемся отношении, в отношении, на которое ведет ссылка, должен найтись кортеж с таким же значением первичного ключа, либо значение внешнего ключа должно быть неопределенным (т.е. ни на что не указывать). Для нашего примера это означает, что если для сотрудника указан номер отдела, то этот отдел должен существовать.
Реляционная модель данных.
Характеристика реляционной модели данных
Ограничения целостности сущности и по
Реляционная модель данных.
Характеристика реляционной модели данных
Ограничения целостности сущности и по
Для соблюдения целостности сущности достаточно гарантировать отсутствие в любом отношении кортежей с одним и тем же значением первичного ключа.
С целостностью по ссылкам дела обстоят несколько более сложно.
Существуют три подхода, каждый из которых поддерживает целостность по ссылкам:
1. запрещается производить удаление кортежа, на который существуют ссылки (т.е. сначала нужно либо удалить ссылающиеся кортежи, либо соответствующим образом изменить значения их внешнего ключа);
2. при удалении кортежа, на который имеются ссылки, во всех ссылающихся кортежах значение внешнего ключа автоматически становится неопределенным;
3. каскадное удаление, состоящее в том, что при удалении кортежа из отношения, на которое ведет ссылка, из ссылающегося отношения автоматически удаляются все ссылающиеся кортежи.
В развитых реляционных СУБД обычно можно выбрать способ поддержания целостности по ссылкам для каждой отдельной ситуации определения внешнего ключа. Конечно, для принятия такого решения необходимо анализировать требования конкретной прикладной области.
Реляционная модель данных.
Трехзначная логика (3VL)
В подходе 2
использовано понятие «неопределенного»
Реляционная модель данных.
Трехзначная логика (3VL)
В подходе 2
использовано понятие «неопределенного»
Null-значение - это, собственно, не значение, а некий маркер, показывающий, что значение неизвестно.
Таким образом, в ситуации, когда возможно появление неопределенных, неизвестных или неполных данных, разработчик имеет на выбор два варианта.
Первый вариант состоит в том, чтобы не использовать null-значения, а вместо неизвестных данных вводить либо нулевые значения, либо значения специального вида - например, договориться, что строка "КЛЮЧ НЕИЗВЕСТЕН" и есть те данные, которые нужно вводить вместо неизвестного ключа. В любом случае пользователь (или разработчик) ответственен за правильную трактовку таких данных.
Реляционная модель данных.
Трехзначная логика (3VL)
Второй вариант состоит в использовании null-значений
Реляционная модель данных.
Трехзначная логика (3VL)
Второй вариант состоит в использовании null-значений
Приведем здесь описание трехзначной логики, необходимой для работы с null-значениями.
Т.к. null-значение обозначает на самом деле тот факт, что значение неизвестно, то любые алгебраические операции (сложение, умножение, конкатенация строк и т.д.) должны давать также неизвестное значение, т.е. null. Действительно, если, например, вес детали неизвестен, то неизвестно также, сколько весят 10 таких деталей.
При сравнении выражений, содержащих null-значения, результат также может быть неизвестен, например, значение истинности для выражения есть null, если один или оба аргумента есть null. Таким образом, определение истинности логических выражений базируется на трехзначной логике (three-valued logic, 3VL), в которой кроме значений T - ИСТИНА и F - ЛОЖЬ, введено значение U - НЕИЗВЕСТНО. Логическое значение U - это то же самое, что и null-значение. Трехзначная логика базируется на следующих таблицах истинности:
Реляционная модель данных.
Трехзначная логика (3VL)
Таблицы истинности логических операций AND, OR,
Реляционная модель данных. Трехзначная логика (3VL) Таблицы истинности логических операций AND, OR,
Реляционная модель данных. Трехзначная логика (3VL)
Имеется несколько парадоксальных следствий применения
Реляционная модель данных. Трехзначная логика (3VL)
Имеется несколько парадоксальных следствий применения
Парадокс 1. Null-значение не равно самому себе. Действительно, выражение null = null дает значение не ИСТИНА, а НЕИЗВЕСТНО. Значит выражение не обязательно ИСТИНА!
Парадокс 2. Неверно также, что null-значение не равно самому себе! Действительно, выражение null ≠ null также принимает значение не ИСТИНА, а НЕИЗВЕСТНО! Значит также, что и выражение х ≠ х тоже не обязательно ЛОЖЬ!
Парадокс 3. a ᴧ not(a) не обязательно ИСТИНА. Значит, в трехзначной логике не работает принцип исключенного третьего (любое высказывание либо истинно, либо ложно).
Таких парадоксов можно построить сколько угодно. Конечно, это на самом деле не парадоксы, а просто следствия из аксиом трехзначной логики.
Реляционная модель данных. Реляционная алгебра
Вторая часть реляционной модели, манипуляционная часть, утверждает,
Реляционная модель данных. Реляционная алгебра
Вторая часть реляционной модели, манипуляционная часть, утверждает,
В реализациях конкретных реляционных СУБД сейчас не используется в чистом виде ни реляционная алгебра, ни реляционное исчисление.
Фактическим стандартом доступа к реляционным данным стал язык SQL (Structured Query Language). Язык SQL представляет собой смесь операторов реляционной алгебры и выражений реляционного исчисления, использующий синтаксис, близкий к фразам английского языка и расширенный дополнительными возможностями, отсутствующими в реляционной алгебре и реляционном исчислении.
Вообще, язык доступа к данным называется реляционно полным, если он по выразительной силе не уступает реляционной алгебре (или, что то же самое, реляционному исчислению), т.е. любой оператор реляционной алгебры может быть выражен средствами этого языка. Именно таким и является язык SQL.
Реляционная алгебра представляет собой набор операторов, использующих отношения в качестве аргументов,
Реляционная алгебра является замкнутой, т.к. в качестве аргументов в реляционные операторы можно подставлять другие реляционные операторы, подходящие по типу.
Каждое отношение обязано иметь уникальное имя в пределах базы данных. Имя отношения, полученного в результате выполнения реляционной операции, определяется в левой части равенства. Однако можно не требовать наличия имен от отношений, полученных в результате реляционных выражений, если эти отношения подставляются в качестве аргументов в другие реляционные выражения. Такие отношения будем называть неименованными отношениями. Неименованные отношения реально не существуют в базе данных, а только вычисляются в момент определения значения реляционного оператора.
Реляционная модель данных. Реляционная алгебра
Реляционная модель данных. Реляционная алгебра
Традиционно, вслед за Э. Коддом, определяют восемь
Реляционная модель данных. Реляционная алгебра
Традиционно, вслед за Э. Коддом, определяют восемь
1 Теоретико-множественные операции:
объединение;
пересечение;
вычитание;
декартово произведение.
2 Специальные реляционные операции:
выборка (селекция, ограничение);
проекция;
соединение;
деление.
Графическая интерпретация некоторых операций реляционной алгебры
Графическая интерпретация некоторых операций реляционной алгебры
Реляционная модель данных. Реляционная алгебра
Не все они являются независимыми, т.е. некоторые
Реляционная модель данных. Реляционная алгебра
Не все они являются независимыми, т.е. некоторые
Кроме того, в состав алгебры включается операция присваивания, позволяющая сохранить в базе данных результаты вычисления алгебраических выражений, и операция переименования атрибутов, дающая возможность корректно сформировать заголовок (схему) результирующего отношения. Если не вдаваться в некоторые тонкости, которые мы рассмотрим в следующих подразделах, то почти все операции предложенного выше набора обладают очевидной и простой интерпретацией:
Реляционная модель данных. Реляционная алгебра
1. Объединение. При выполнении операции объединения двух
Реляционная модель данных. Реляционная алгебра
1. Объединение. При выполнении операции объединения двух
Синтаксис операции объединения: A UNION B
Объединение, как и любое отношение, не может содержать одинаковых кортежей. Поэтому, если некоторый кортеж входит и в отношение A, и отношение B , то в объединение он входит один раз.
Пример 1 Пусть даны два отношения А и В с информацией о сотрудниках:
Реляционная модель данных. Реляционная алгебра
2. Пересечение. Операция пересечения двух отношений производит
Реляционная модель данных. Реляционная алгебра
2. Пересечение. Операция пересечения двух отношений производит
Синтаксис операции пересечения: A INTERSECT B
Пример 2 Для тех же отношений А и В , что и в предыдущем примере пересечение
Реляционная модель данных. Реляционная алгебра
3. Разность. Отношение, являющееся разностью двух отношений
Реляционная модель данных. Реляционная алгебра
3. Разность. Отношение, являющееся разностью двух отношений
Синтаксис операции вычитания: A MINUS B
Пример 3 Для тех же отношений и , что и в предыдущем примере вычитание Отношение A MINUS B имеет вид: