как в теории отношений называется строка
Реляционная модель данных
Информация, данные, информационные системы
Понятие отношения
Подходы к определению понятия отношения могут быть различными. Математически отношение может быть определено как множество кортежей, являющейся подмножеством декартова произведения фиксированного числа областей (доменов). В результате получаем, что в каждом кортеже должно быть одинаковое число компонент (атрибутов) и значение каждого из них выбирается из некоторого определенного домена.
Введем ряд математических определений, связанных с понятием отношения.
Определение 2. Схема отношения
Пусть — имена атрибутов. Схемой r отношения R называется конечное множество имен атрибутов
Определение 3. Отношение
Отношением со схемой r на конeчных множествах D1, D2,…, Dn называется подмножество R декартового произведения
Как в теории отношений называется строка
Перейдем к рассмотрению структурной части реляционной модели данных. Прежде всего необходимо дать несколько определений.
Каждый атрибут определен на домене, поэтому домен можно рассматривать как множество допустимых значений данного атрибута.
Несколько атрибутов одного отношения и даже атрибуты разных отношений могут быть определены на одном и том же домене. В примере, показанном на рис.4.1 атрибуты «Оклад» и «Премия» определены на домене «Деньги». Поэтому, понятие домена имеет семантическую нагрузку: данные можно считать сравнимыми только тогда, когда они относятся к одному домену. Таким образом, в рассматриваемом нами примере сравнение атрибутов «Табельный номер» и «Оклад» является семантически некорректным, хотя они и содержат данные одного типа.
Атрибут, значение которого однозначно идентифицирует кортежи, называется ключевым (или просто ключом ). В нашем случае ключом является атрибут «Табельный номер», поскольку его значение уникально для каждого работника предприятия. Если кортежи идентифицируются только сцеплением значений нескольких атрибутов, то говорят, что отношение имеет составной ключ.
В отличие от иерархической и сетевой моделей данных в реляционной отсутствует понятие группового отношения. Для отражения ассоциаций между кортежами разных отношений используется дублирование их ключей. Рассмотренный в параграфах 3.1 и 3.2 пример базы данных, содержащей сведения о подразделениях предприятия и работающих в них сотрудниках, применительно к реляционной модели будет иметь вид: Рис.4.2. База данных о подразделениях и сотрудниках предприятия.
Введение в реляционную модель данных
Основные понятия реляционных баз данных
Для начала покажем смысл этих понятий на примере отношения СЛУЖАЩИЕ, содержащего информацию о служащих некоторого предприятия (рис. 2.1).
Тип данных
Обычно в современных реляционных базах данных допускается хранение символьных, числовых данных (точных и приблизительных), специализированных числовых данных (таких, как «деньги»), а также специальных «темпоральных» данных (дата, время, временной интервал). Кроме того, в реляционных системах поддерживается возможность определения пользователями собственных типов данных (более подробно мы обсудим это в лекции 9, курса «Введение в модель данных SQL»).
В примере на рис. 2.1 мы имеем дело с данными трех типов : строки символов, целые числа и «деньги».
Домен
Заголовок отношения, кортеж, тело отношения, значение отношения, переменная отношения
Первичный ключ и интуитивная интерпретация реляционных понятий
Конечно, это достаточно грубая терминология, поскольку у обычных таблиц и строки, и столбцы упорядочены, тогда как атрибуты и кортежи отношений являются элементами неупорядоченных множеств. Тем не менее, когда мы перейдем к рассмотрению практических вопросов организации реляционных баз данных и средств управления, то будем использовать эту «житейскую» терминологию. Подобной терминологии придерживаются в большинстве коммерческих реляционных СУБД. Иногда также используются термины файл как аналог таблицы, запись как аналог строки и поле как аналог столбца. Напомню, что этой терминологией мы пользовались в лекции 1.
ГОСы 2012
Реляционная модель (РМ) основана на понятии «отношения» (Relationship), она наиболее распространена сегодня.
Недостатками реляционной модели:
Основными понятиями модели являются: тип данных, домен, атрибут, кортеж, первичный ключ и отношение.
Тип данных определяет множество значений и операций, которые могут быть применены к значениям.
Под доменом понимают множество допустимых значений простого типа. Все элементы домена относятся к 1 типу данных и отвечают логическому условию. Элемент домена — число, символьная строка, дата и т. д.
Схемой отношения называют именованное множество пар (Ai, Di), i=1,k, где Ai — имя атрибута, Di — имя домена, k — ранг отношения. Например: Студенты ((имя, имена людей), (возраст, числа от 17 до 59), (номер паспорта, целые числа)) ранг=3.
Кортеж отношения — это множество пар вида «имя атрибута, значение атрибута», причем каждый атрибут отношения один и только один раз входит в кортеж. # (Саша, 19, 222222) или (Катя, 20, 353453) или (Настя, 18, 424242)
Отношение — это множество кортежей, соответствующих одной схеме отношения. Элементами отношений являются кортежи.
# R=
Фундаментальные свойства отношений:
Для связи между разными отношениями используется понятие внешнего ключа. Внешним ключом называется атрибут (совокупность атрибутов), который является ключом Ak в другом отношении R1 и его значения принадлежат домену Dk отношения R2, т.е отношение, в котором определен внешний ключ ссылается на другое отношение в котором такой же атрибут является первичным ключом.
Компоненты реляционной модели данных (согласно Дейту модель состоит из 3 частей)
Для описания структуры данных используются только нормализованные отношения. Для описания операций над данными используются два механизма: реляционная алгебра и реляционное исчисление. Первая базируется на теории множеств, а реляционные исчисления — на логическом аппарате исчисления предикатов 1-ого порядка.
В модели должны выполняться 2 базовых условия целостности:
РБД наиболее распространены в настоящее время. В РБД должна поддерживаться целостность данных. Если схема РБД неудачна, то она не обеспечивает этой целостности. Нарушение целостности называют аномалиями. Аномалии могут быть вызваны избыточностью отношений. Для устранения избыточности применяют нормализацию схем отношений.
Форма представления схемы РБД на каком-либо шаге этого процесса называется нормальной формой. Каждой нормальной форме соответствует некоторый определенный набор ограничений, и отношение находится в некоторой нормальной форме, если удовлетворяет свойственному ей набору ограничений. В РБД выделяется последовательность нормальных форм:
Основные свойства нормальных форм:
Дадим некоторые определения:
Функциональная зависимость. В отношении R атрибут Y функционально зависит от атрибута X — если каждому значению X соответствует в точности одно значение Y. Обозначается y:x→y (x функционально определяет y)
Полная функциональная зависимость. Функциональная зависимость y:x→y называется полной, если атрибут Y не зависит функционально от любого точного подмножества X
Транзитивная функциональная зависимость. Функциональная зависимость y:x→y называется транзитивной, если существует такой атрибут Z, что имеются функциональные зависимости x →z и z→y (обратная зависимость отсутствует).
Возможный ключ. Возможным ключом отношения называется его атомарный или составной атрибут, значения которого полностью функционально определяют значения всех остальных атрибутов отношения.
Неключевой атрибут — любой атрибут отношения, не входящий в состав первичного ключа.
Взаимно независимые атрибуты. Два или более атрибута называются взаимно независимыми, если не один из них не зависит функционально от других атрибутов.
Детерминант. Детерминантом называется любой атрибут, от которого полностью функционально зависит некоторый другой атрибут.
Нормализация
Первая нормальная форма (1NF)
Таблица находится в первой нормальной форме, если каждый её атрибут атомарен. Под выражением «атрибут атомарен» понимается, что атрибут может содержать только одно значение. Таким образом, не существует 1NF таблицы, в полях которых могут храниться списки значений. Для приведения таблицы к 1NF обычно требуется разбить таблицу на несколько отдельных таблиц.
Замечание: в реляционной модели отношение всегда находится в 1 (или более высокой) нормальной форме в том смысле, что иные отношения не рассматриваются в реляционной модели. То есть само определение понятия отношение заведомо подразумевает наличие 1NF.
Вторая нормальная форма (2NF)
Таблица находится во второй нормальной форме, если она находится в первой нормальной форме, и при этом любой её атрибут, не входящий в состав первичного ключа, функционально полно зависит от первичного ключа. Функционально полная зависимость означает, что атрибут функционально зависит от всего первичного составного ключа, но при этом не находится в функциональной зависимости от какой-либо из входящих в него атрибутов (частей). Или другими словами: в 2NF нет неключевых атрибутов, зависящих от части составного ключа (+ выполняются условия 1NF).
Третья нормальная форма (3NF)
Таблица находится в третьей нормальной форме (3NF), если она находится во второй нормальной форме 2NF и при этом любой ее неключевой атрибут зависит только от первичного ключа (Primary key, PK) (иначе говоря, один факт хранится в одном месте).
Таким образом, отношение находится в 3NF тогда и только тогда, когда оно находится во 2NF и отсутствуют транзитивные зависимости неключевых атрибутов от ключевых. Транзитивной зависимостью неключевых атрибутов от ключевых называется следующая: A → B и B → C, где A — набор ключевых атрибутов (ключ), B и С — различные множества неключевых атрибутов.
При решении практических задач в большинстве случаев третья нормальная форма является достаточной. Процесс проектирования реляционной базы данных, как правило, заканчивается приведением к 3NF.
Нормальная форма Бойса — Кодда (BCNF)
Это модификация третьей нормальной формы (в некоторых источниках именно 3NF называется формой Бойса — Кодда).
Таблица находится в BCNF, если она находится в 3NF, и при этом отсутствуют функциональные зависимости атрибутов первичного ключа от неключевых атрибутов. Таблица может находиться в 3NF, но не в BCNF, только в одном случае: если она имеет, помимо первичного ключа, ещё по крайней мере один возможный ключ. Все зависимые от первичного ключа атрибуты должны быть потенциальными ключами отношения. Если это условие не выполняется, для них создаётся отдельное отношение. Чтобы сущность соответствовала BCNF, она должна находиться в третьей нормальной форме. Любая сущность с единственным возможным ключом, соответствующая требованиям третьей нормальной формы, автоматически находится в BCNF.
Четвёртая нормальная форма (4NF)
Таблица находится в 4NF, если она находится в BCNF и не содержит нетривиальных многозначных зависимостей. Многозначная зависимость не является функциональной, она существует в том случае, когда из факта, что в таблице содержится некоторая строка X, следует, что в таблице обязательно существует некоторая определённая строка Y. То есть, таблица находится в 4NF, если все ее многозначные зависимости являются функциональными.
Пятая нормальная форма (5NF)
Доменно-ключевая нормальная форма (DKNF)
Отношение в ДКНФ не имеет аномалий модификации. Другими словами, что бы ни менялось — ничего не потеряется, если соблюдены все ограничения относительно ключей и доменов. Формулировка слишком общая, но суть ее заключается в том, что если выполнять некоторые правила, то при любых действиях с таблицей ее целостность не пострадает и вся необходимая информация сохранится. Если рассматривать на примере, то правила действуют примерно так: нельзя просто удалить категорию из таблицы категорий, если с этой категорией связаны, например, продукты из таблицы продуктов. Прежде чем удалять категорию, необходимо выполнить предварительные действия в таблице продуктов (например, поле отвечающее за id категории этого товара нужно сделать NULL).
Шестая нормальная форма (6NF)
Таблица находится в 6NF, если она находится в 5NF и удовлетворяет требованию отсутствия нетривиальных зависимостей. Зачастую 6NF отождествляют с DKNF.
BestProg
Базовые понятия реляционной модели данных
Содержание
Поиск на других ресурсах:
1. Какие есть базовые понятия реляционной модели данных?
Как известно, реляционная модель данных основывается на сохранении данных в виде взаимосвязанных таблиц. Связь между таблицами может быть реализована по некоторому полю и называется отношением (relation).
Реляционная модель данных использует следующие основные понятия:
2. Что такое тип данных в реляционной модели данных?
Тип данных есть характеристикой объекта в языке программирования. Таким объектом может выступать переменная, константа и т.п. Тип данных определяет допустимое множество значений, которые может принимать переменная величина или объект.
В системах управления базами данных тип данных имеет такое самое значение как и языках программирования.
Пример. Пусть задана таблица Worker, описывающая данные о работнике предприятия.
В вышеприведенной таблице целесообразно установить следующий тип данных для каждого поля:
3. Какие типы данных поддерживаются системами управления базами данных?
Современные СУБД поддерживают следующие основные типы данных:
4. Домены в реляционной модели данных
Домен – это множество отдельных допустимых значений данных, которые:
Пример. Пусть дана таблица Worker, описывающая данные о работнике.
В домене «Идентификационный код» допустимыми являются строки из цифр, которые имеют строго 10 разрядов. В домене «Пол» возможны только 2 значения. В домене «Разряд» могут быть целочисленные значения от 1 до 6.
5. Атрибуты в реляционной модели данных
Атрибуты – это столбцы таблицы (поля таблицы). Атрибуты имеют имена. По имени атрибута осуществляется обращение к таблице.
Пример. В таблице Worker (см. п. 4) названия атрибутов следующие:
6. Что такое схема отношения? Что такое схема базы данных?
Схема отношения – это список имен атрибутов отношения с указанием имен типов.
Пример. Для таблицы Worker схема отношения будет приблизительно следующей:
Множество именованных схем отношения, называется схемой базы данных.
7. Что такое степень отношения?
Количество атрибутов в таблице называется степенью отношения. Для примера (см. п. 4) таблицы Worker степень отношения равна 6 (таблица имеет 6 полей).
Унарное отношение – это отношение степени один. Бинарное отношение – это отношение степени два. Тернарное отношение – это отношение степени три. n-арное отношение – это отношение степени n.
8. Что такое кортеж в базах данных?
Кортеж рассматривается для конкретной (данной) схемы отношения. В такой схеме кортеж есть множество пар, которые представлены следующим образом:
где имя_атрибута – имя конкретного атрибута.
Например. Пусть задана таблица Worker с такими данными
Схема отношения для данной таблицы будет следующая:
Тогда кортеж, который отвечает первой строке таблицы Worker будет иметь вид:
Таким самым образом можно определить кортеж, который соответствует второй строке таблицы Worker а также и следующим строкам таблицы.
9. Что называется кардинальным числом или мощностью отношения?
Кардинальное число – это количество кортежей. В таблице Worker (см. п. 8) кардинальное число равно 7. Кардинальное число еще называют мощностью отношения.
10. Что собою представляет пустое значение (NULL) в базе данных?
Существуют случаи, когда в таблице базы данных некоторые значения еще неизвестны на данный момент времени. Такие значения называются пустыми значениями и могут быть заполнены со временем (позже). Для задавания пустых значений, в базе данных используется слово NULL. Системы управления базами данных допускают использования значения NULL для задавания данных, которые могут быть заполнены позже.
Следует заметить, что значение NULL не является нулем и не является пустой строкой.
Например. В таблице Worker (п. 8) возможна ситуация, когда работник еще не имеет разряда. В этом случае в соответствующей ячейке нужно ввести значение NULL. Как только работнику будет присвоен некоторый разряд, значение NULL будет заменено этим новым значением.
11. Что такое ключи отношения? Что такое первичный ключ?
Важным условием любой базы данных есть то, что в ней не должно быть двух одинаковых записей. Или другими словами, в таблице базы данных не должно быть двух кортежей, которые содержат одинаковые значения. Во избежание этой проблемы, используются первичные ключи.
Первичный ключ – это специальное дополнительное поле (атрибут) таблицы, которое создается для обеспечения уникальности идентификации записей таблицы. Основная цель создания первичного ключа – предотвратить дублирование (повторение) записей таблицы.
Например. Пусть дана таблица Worker (см. п.8). Чтобы не повторялись записи, в этой таблице может быть создано дополнительное поле (атрибут) с именем, например, ID_Worker. Тип этого поля может быть выбран как счетчик (counter), который автоматически увеличивается при добавлении новой записи в таблицу.
12. Что такое простой и составной (сложный) ключи?
Простой ключ – это ключ, который содержит только один атрибут (поле). Сложный или составной ключ– это ключ, который содержит несколько атрибутов, то есть состоит из нескольких полей, значения в которых не могут повторяться.
Пример. Пусть дана таблица Student, содержащая данные о студенте. Таблица содержит следующие поля:
Название поля | Тип | Описание |
ID_Student | Целое число, int | Уникальный идентификатор поля, счетчик, первичный ключ, простой ключ |
Num_book | Целое число, int | Номер зачетной книжки |
Name | Строка с 100 символов, char(100) | Фамилия и имя студента |
Course | Целое число, int | Курс, на котором учится студент |
В этой таблице поле ID_Student есть первичным ключом, которое обеспечивает уникальность. Это поле есть счетчиком. При добавлении нового студента в таблицу, значение счетчика увеличивается на некоторое число, как правило на 1. Если удалить студента из таблицы, максимальное значение счетчика уже не уменьшается. Таким образом обеспечивается уникальное число, которое соответствует данному студенту.
В таблице Student составным ключом может быть комбинация полей (атрибутов) ID_Student и Num_book (номер зачетной книжки). Однако, в данной таблице такая комбинация не имеет смысла, поскольку поле ID_Student и без того обеспечивает уникальность.
13. Что такое искусственный (суррогатный) ключ?
Искусственный ключ создается самой СУБД или пользователем. Этот ключ не содержит никакой информации. Искусственный ключ используется для создания уникальных идентификаторов строк. Создание идентификатора строки осуществляется таким образом, что сущность строки описывается полностью. Такой метод позволяет однозначно идентифицировать конкретный элемент (значение).
Система управления базами данных поддерживает искусственный ключ так, что он невидим для пользователя.
14. Что такое естественной ключ?
Естественной ключ базируется на атрибутах (полях), которые имеют смысл. Значение в таких атрибутах (полях) не могут повторяться по своей сущности.
Использование естественных ключей позволяет получить более компактную форму таблиц для представления данных.
Пример 1. В таблице Worker (см. п.8) поле «Идентификационный код» есть уникальным, так как не может быть двух людей с одинаковым идентификационным кодом. Это поле и есть естественном ключом.
Пример 2. В таблице Student поле Num_book (№ зачетной книжки) есть уникальным по своей природе. Не может быть двух студентов с одинаковым номером зачетной книжки.
15. Какие преимущества и недостатки использования естественных ключей?
Преимуществом использования естественных ключей есть то, что они несут информацию, и потому не нужно добавлять в таблицу дополнительных полей. Естественные ключи позволяют избегнуть избыточной (неинформативной) информации, которая используется только для связи между таблицами базы данных.
Основные недостатки естественных ключей: