Реляционная модель данных: основы, домены и свойства отношений

Министерство науки и высшего образования Российской Федерации Федеральное государственное автономное образовательное учреждение высшего образования
«Крымский федеральный университет имени В. И. Вернадского»
(ФГАОУ ВО «КФУ им. В. И. Вернадского»)
Институт экономики и управления (структурное подразделение)
Кафедра бизнес-информатики и математического моделирования
РЕФЕРАТ
по дисциплине «Управление контентом»
на тему:
«Модели контента: реляционная модель»
Выполнил: обучающийся 4 курса
Группы БИ-б-о-181
Крупеник Ю. С.
Симферополь 2022
Содержание
Введение3
1. Базовые понятия реляционной модели данных5
1. 1. Типы данных5
1. 1. 1. Простые типы данных5
1. 1. 2. Структурированные типы данных5
1. 1. 3. Ссылочные типы данных7
1. 1. 4. Типы данных, используемые в реляционной модели7
1. 2. Домены8
2. Отношения, атрибуты, кортежи отношения10
2. 1. Определения и примеры10
2. 2. Свойства отношений11
2. 3. Первая нормальная формаОшибка! Закладка не определена.
Заключение14
Список использованных источников15
Введение
Основы реляционной модели данных были впервые изложены в статье Е. Кодда в 1970 г. Эта работа послужила стимулом для большого количества статей и книг, в которых реляционная модель получила дальнейшее развитие. Наиболее распространенная трактовка реляционной модели данных принадлежит К. Дейту. Согласно Дейту, реляционная модель состоит из трех частей:
- Структурной части.
- Целостной части.
- Манипуляционной части.
Структурная часть описывает, какие объекты рассматриваются реляционной моделью. Постулируется, что единственной структурой данных, используемой в реляционной модели, являются нормализованные n-арные отношения.
Целостная часть описывает ограничения специального вида, которые должны выполняться для любых отношений в любых реляционных базах данных. Это целостность сущностей и целостность внешних ключей.
Манипуляционная часть описывает два эквивалентных способа манипулирования реляционными данными - реляционную алгебру и реляционное исчисление.
В классической реляционной модели используются только простые (атомарные) типы данных. Простые типы данных не обладают внутренней структурой.
Домены - это типы данных, имеющие некоторый смысл (семантику) . Домены ограничивают сравнения - некорректно, хотя и возможно, сравнивать значения из различных доменов.
Отношение состоит из двух частей - заголовка отношения и тела отношения. Заголовок отношения - это аналог заголовка таблицы. Заголовок отношения состоит из атрибутов. Количество атрибутов называется степенью отношения. Тело отношения - это аналог тела таблицы. Тело отношения состоит из кортежей. Кортеж отношения является аналогом строки таблицы. Количество кортежей отношения называется мощностью отношения.
Базовые понятия реляционной модели данных Типы данных
Любые данные, используемые в программировании, имеют свои типы данных.
Реляционная модель требует, чтобы используемые типы данных были простыми.
Чтобы пояснить это утверждение, давайте рассмотрим, какие типы данных обычно рассматриваются в программировании. Обычно типы данных делятся на три группы:
1. Простые типы данных.
2. Структурированные типы данных.
3. Ссылочные типы данных.
1. 1. 1. Простые типы данныхПростые или атомарные типы данных не имеют внутренней структуры. Данные этого типа называются скалярными. К простым типам данных относятся следующие типы: логические, строковые, числовые.
Различные языки программирования могут расширять и уточнять этот список, добавляя такие типы, как: целочисленный, вещественный, дата, время, деньги, перечисляемый.
Конечно, понятие атомарности весьма относительно. Таким образом, строковый тип данных можно рассматривать как одномерный массив символов, а целочисленный тип данных - как набор битов. Важно только то, что при падении на такой низкий уровень теряется семантика (смысл) данных. Если строку, выражающую, скажем, фамилию сотрудника, разбить на массив символов, то смысл такой строки как единого набора теряется.
1. 1. 2. Структурированные типы данныхСтруктурированные типы данных предназначены для определения сложных структур данных. Структурированные типы данных состоят из строительных блоков, называемых компонентами, которые, в свою очередь, могут быть структурированы. К структурированным типам данных можно отнести следующие типы данных: массивы, записи (структуры) .
Математически массив представляет собой функцию с конечным диапазоном. Например, рассмотрим конечное множество натуральных чисел [1]
называемое множеством индексов. Отображение
из множества
во множество вещественных чисел
задает одномерный вещественный массив. Значение этой функции для некоторого значения индекса
называется элементом массива, соответствующим
. Аналогично можно задавать многомерные массивы.
Запись (или структура) представляет собой кортеж из некоторого декартового произведения множеств. Действительно, запись представляет собой именованный упорядоченный набор элементов
, каждый из которых принадлежит типу
. Таким образом, запись
есть элемент множества
. Объявляя новые типы записей на основе уже имеющихся типов, пользователь может конструировать сколь угодно сложные типы данных.
Общим для структурированных типов данных является то, что они имеют внутреннюю структуру, которая используется на том же уровне абстракции, что и сами типы данных.
При работе с простыми типами данных, такими как числа, мы манипулируем ими как неделимыми целыми объектами. Чтобы «увидеть», что числовой тип данных на самом деле сложный (набор битов), нужно перейти на более низкий уровень абстракции. На уровне программного кода это будет выглядеть как вставки ассемблера в код языка высокого уровня или использование специальных побитовых операций.
1. 1. 3. Ссылочные типы данныхСсылочный тип данных (указатели) предназначен для предоставления возможности указывать на другие данные. Указатели типичны для процедурных языков, которые имеют концепцию области памяти для хранения данных. Справочный тип данных предназначен для обработки сложных изменяющихся структур, таких как деревья, графы, рекурсивные структуры.
1. 1. 4. Типы данных, используемые в реляционной моделиФактически, для реляционной модели данных используемый тип данных не важен. Требование простоты типа данных следует понимать как означающее, что реляционные операции не должны учитывать внутреннюю структуру данных. Очевидно, что действия, которые можно выполнять с данными как с единым целым, должны быть описаны, например, можно добавлять данные числового типа, можно конкатенировать строки и так далее.
С этой точки зрения, если рассматривать массив, например, как единое целое и не использовать поэлементных операций, то массив можно считать простым типом данных. Более того, можно создать свой, сколь угодно сложных тип данных, описать возможные действия с этим типом данных, и, если в операциях не требуется знание внутренней структуры данных, то такой тип данных также будет простым с точки зрения реляционной теории. Например, можно создать новый тип - комплексные числа как запись вида
, где
. Можно описать функции сложения, умножения, вычитания и деления, и все действия с компонентами
и
выполнять только внутри этих операций. Тогда, если в действиях с этим типом использовать только описанные операции, то внутренняя структура не играет роли, и тип данных извне выглядит как атомарный.
Именно так в некоторых пост-реляционных СУБД реализована работа со сколь угодно сложными типами данных, создаваемых пользователями. [2]
ДоменыВ реляционной модели данных понятие домена тесно связано с понятием типа данных, которое можно рассматривать как уточнение типа данных.
Домен - это семантическое понятие. Домен можно рассматривать как подмножество значений некоторого типа данных, имеющего определенное значение. Домен характеризуется следующими свойствами:
- домен имеет уникальное имя (в пределах базы данных) .
- домен определен на некотором простом типе данных или на другом домене.
- домен может иметь некоторое логическое условие, позволяющее описать подмножество данных, допустимых для данного домена.
- домен несет определенную смысловую нагрузку.
Например, домен
, имеющий смысл "возраст сотрудника" можно описать как следующее подмножество множества натуральных чисел:
Если тип данных можно рассматривать как набор всех возможных значений данного типа, то домен напоминает подмножество этого набора.
Отличие предметной области от понятия подмножества заключается именно в том, что предметная область отражает семантику, определяемую предметной областью. Может быть несколько доменов, которые совпадают как подмножества, но имеют разные значения. Например, домены «Вес детали» и «Доступное количество» можно в равной степени описать как множество неотрицательных целых чисел, но смысл этих доменов будет разным, и они будут разными доменами.
Основное значение доменов в том, что домены ограничивают сравнения. Логически не корректно сравнивать значения из разных доменов, даже если они одного типа. Это показывает семантическое ограничение доменов. Синтаксически корректный запрос «дайте список всех частей, вес которых больше имеющегося количества» не соответствует смыслу понятий «количество» и «вес».
Концепция предметной области помогает правильно моделировать предметную область. При работе с реальной системой в принципе возможна ситуация, когда необходимо ответить на приведенный выше запрос. Система даст ответ, но вряд ли это будет иметь смысл. [4]
Не все домены имеют логическое условие, ограничивающее возможные значения домена. В этом случае набор возможных значений для домена совпадает с набором возможных значений для типа данных.
Отношения, атрибуты, кортежи отношения Определения и примеры
Фундаментальным понятием реляционной модели данных является понятие отношения. В определении понятия отношения будем следовать книге К. Дейта.
Атрибут отношения есть пара вида <Имя_атрибута : Имя_домена>.
Имена атрибутов должны быть уникальны в пределах отношения. Часто имена атрибутов отношения совпадают с именами соответствующих доменов.
Отношение
, определенное на множестве доменов
(не обязательно различных), содержит две части: заголовок и тело.
Заголовок отношения содержит фиксированное количество атрибутов отношения:
Тело отношения содержит множество кортежей отношения. Каждый кортеж отношения представляет собой множество пар вида <Имя_атрибута : Значение_атрибута>:
таких что значение
атрибута
принадлежит домену
Отношение обычно записывается в виде:
,
или короче
,
или просто
R .
Число атрибутов в отношении называют степенью (или -арностью) отношения.
Мощность множества кортежей отношения называют мощностью отношения.
Заголовок отношения описывает декартово произведение доменов, в которых определено отношение. Заголовок статичен, он не меняется при работе с базой данных. Если атрибуты изменить, добавить или удалить в отношении, в результате мы получим другое отношение (пусть даже с тем же именем) .
Тело отношения представляет собой набор кортежей, то есть подмножество декартова произведения доменов. Таким образом, тело отношения фактически является отношением в математическом смысле этого слова. Тело отношения может быть изменено во время работы с базой данных - кортежи могут быть изменены, добавлены и удалены. [5]
Рассмотрим отношение «Сотрудники», заданное на доменах "Номер_сотрудника", "Фамилия", "Зарплата", "Номер_отдела". Т. к. все домены различны, то имена атрибутов отношения удобно назвать так же, как и соответствующие домены. Заголовок отношения имеет вид:
Сотрудники (Номер_сотрудника, Фамилия, Зарплата, Номер_отдела)
Пусть в данный момент отношение содержит три кортежа:
(1, Иванов, 1000, 1)
(2, Петров, 2000, 2)
(3, Сидоров, 3000, 1)
такое отношение естественным образом представляется в виде таблицы (Приложение А) .
Хотя любое отношение можно представить в виде таблицы, должно быть ясно, что отношения не являются таблицами. Это близкие понятия, но не тождественные. Различия между отношениями и таблицами будут обсуждаться ниже.
Свойства отношенийСвойства отношения выводятся непосредственно из приведенного выше определения отношения. Эти свойства являются основными различиями между отношениями и таблицами.
... продолжение- Информатика
- Банковское дело
- Оценка бизнеса
- Бухгалтерское дело
- Валеология
- География
- Геология, Геофизика, Геодезия
- Религия
- Общая история
- Журналистика
- Таможенное дело
- История Казахстана
- Финансы
- Законодательство и Право, Криминалистика
- Маркетинг
- Культурология
- Медицина
- Менеджмент
- Нефть, Газ
- Искуство, музыка
- Педагогика
- Психология
- Страхование
- Налоги
- Политология
- Сертификация, стандартизация
- Социология, Демография
- Статистика
- Туризм
- Физика
- Философия
- Химия
- Делопроизводсто
- Экология, Охрана природы, Природопользование
- Экономика
- Литература
- Биология
- Мясо, молочно, вино-водочные продукты
- Земельный кадастр, Недвижимость
- Математика, Геометрия
- Государственное управление
- Архивное дело
- Полиграфия
- Горное дело
- Языковедение, Филология
- Исторические личности
- Автоматизация, Техника
- Экономическая география
- Международные отношения
- ОБЖ (Основы безопасности жизнедеятельности), Защита труда
