что называют мощностью отношения

Что называют мощностью отношения

Основными понятиями реляционных баз данных являются тип данных, домен, атрибут, кортеж, первичный ключ и отношение.

Для начала покажем смысл этих понятий на примере отношения СОТРУДНИКИ, содержащего информацию о сотрудниках некоторой организации:

4.1.1. Тип данных

Понятие тип данных в реляционной модели данных полностью адекватно понятию типа данных в языках программирования. Обычно в современных реляционных БД допускается хранение символьных, числовых данных, битовых строк, специализированных числовых данных (таких как «деньги»), а также специальных «темпоральных» данных (дата, время, временной интервал). Достаточно активно развивается подход к расширению возможностей реляционных систем абстрактными типами данных (соответствующими возможностями обладают, например, системы семейства Ingres/Postgres). В нашем примере мы имеем дело с данными трех типов: строки символов, целые числа и «деньги».

4.1.2. Домен

Понятие домена более специфично для баз данных, хотя и имеет некоторые аналогии с подтипами в некоторых языках программирования. В самом общем виде домен определяется заданием некоторого базового типа данных, к которому относятся элементы домена, и произвольного логического выражения, применяемого к элементу типа данных. Если вычисление этого логического выражения дает результат «истина», то элемент данных является элементом домена.

Наиболее правильной интуитивной трактовкой понятия домена является понимание домена как допустимого потенциального множества значений данного типа. Например, домен «Имена» в нашем примере определен на базовом типе строк символов, но в число его значений могут входить только те строки, которые могут изображать имя (в частности, такие строки не могут начинаться с мягкого знака).

Следует отметить также семантическую нагрузку понятия домена: данные считаются сравнимыми только в том случае, когда они относятся к одному домену. В нашем примере значения доменов «Номера пропусков» и «Номера групп» относятся к типу целых чисел, но не являются сравнимыми. Заметим, что в большинстве реляционных СУБД понятие домена не используется, хотя в Oracle V.7 оно уже поддерживается.

4.1.3. Схема отношения, схема базы данных
4.1.4. Кортеж, отношение

Однако в реляционных базах данных это не принято. Имя схемы отношения в таких базах данных всегда совпадает с именем соответствующего отношения-экземпляра. В классических реляционных базах данных после определения схемы базы данных изменяются только отношения-экземпляры. В них могут появляться новые и удаляться или модифицироваться существующие кортежи. Однако во многих реализациях допускается и изменение схемы базы данных: определение новых и изменение существующих схем отношения. Это принято называть эволюцией схемы базы данных.

Как видно, основные структурные понятия реляционной модели данных (если не считать понятия домена) имеют очень простую интуитивную интерпретацию, хотя в теории реляционных БД все они определяются абсолютно формально и точно.

Источник

SPBDEV Blog

В предыдущей статье были изложены основы отношений (связей). Вы узнали, зачем нам нужны отношения, и как они влияют на фильтрацию нескольких таблиц. В этой статье вы узнаете об одном из наиболее важных свойств отношений, которое называется кардинальностью или мощностью связей. Целью данной статьи является понимание смысла отношений “один-к-одному”, “один-ко-многим”, “многие-к-одному” и “многие-ко-многим”.

Необходимое условие

Прочтите первую часть серии о связях Power BI: Назад к основам: раскрытие отношений Power BI.

Отношения в Power BI

Отношения Power BI дают нам возможность получать поля из нескольких таблиц и возможность фильтрации по нескольким таблицам в модели данных. Отношения основаны на поле, которое соединит две таблицы и отфильтрует одну на основе другой (или наоборот, зависит от направления). Например, мы можем отфильтровать данные по количеству таблицы Sales по состоянию в таблице Store, если между таблицами Sales и Store существует связь на основе stor_id:

что называют мощностью отношения. Смотреть фото что называют мощностью отношения. Смотреть картинку что называют мощностью отношения. Картинка про что называют мощностью отношения. Фото что называют мощностью отношения

И отношения между таблицами будут следующими:

что называют мощностью отношения. Смотреть фото что называют мощностью отношения. Смотреть картинку что называют мощностью отношения. Картинка про что называют мощностью отношения. Фото что называют мощностью отношения

Что такое мощность отношений?

Когда вы создаете отношение между двумя таблицами, вы получаете два значения, которые могут быть 1 или * на двух концах отношения между двумя таблицами, называемые кардинальностью или мощностью отношений.

что называют мощностью отношения. Смотреть фото что называют мощностью отношения. Смотреть картинку что называют мощностью отношения. Картинка про что называют мощностью отношения. Фото что называют мощностью отношения

Два значения 1 или * говорят о том, что поле в этой взаимосвязи имеет определенное число значения на строку в этой таблице. Давайте проверим это на примере.

В таблице Stores у нас есть одно уникальное значение для stor_id на строку.

что называют мощностью отношения. Смотреть фото что называют мощностью отношения. Смотреть картинку что называют мощностью отношения. Картинка про что называют мощностью отношения. Фото что называют мощностью отношения

Таким образом, если это поле участвует в одной стороне отношения, то эта сторона примет 1 в качестве показателя кардинальности, который называется ОДНОЙ стороной отношения.

Однако stor_id в таблице Sales не уникален для каждой строки данных в этой таблице. У нас есть несколько строк для каждого stor_id. Или скажем так; в каждом магазине происходит несколько торговых транзакций (что, конечно, нормально):

что называют мощностью отношения. Смотреть фото что называют мощностью отношения. Смотреть картинку что называют мощностью отношения. Картинка про что называют мощностью отношения. Фото что называют мощностью отношения

Таким образом, если stor_id в таблице Sales является частью отношения, эта сторона отношения станет *, или то, что мы называем «МНОЖЕСТВЕННОЙ» стороной отношения.

Итак, основываясь на том, что мы знаем в данный момент, если мы создадим отношение на основе stor_id между двумя таблицами Sales и Stores, то получим вывод:

что называют мощностью отношения. Смотреть фото что называют мощностью отношения. Смотреть картинку что называют мощностью отношения. Картинка про что называют мощностью отношения. Фото что называют мощностью отношения

Эти отношения могут быть прочитаны двумя способами;

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

Типы мощности

Есть четыре типа кардинальности, как показано ниже:

Давайте поочередно рассмотрим каждый из этих типов.

что называют мощностью отношения. Смотреть фото что называют мощностью отношения. Смотреть картинку что называют мощностью отношения. Картинка про что называют мощностью отношения. Фото что называют мощностью отношения

Один-ко-многим или многие-к-одному

Это наиболее распространенный тип мощности, используемый в моделях данных. Этот тип количества элементов означает, что одна из таблиц имеет уникальные значения в каждой строке для поля отношения, а другая имеет несколько значений. Пример, который вы видели ранее между таблицами Stores и Sales на основе stor_id, представляет собой отношение «многие-к-одному» или «один-ко-многим».

что называют мощностью отношения. Смотреть фото что называют мощностью отношения. Смотреть картинку что называют мощностью отношения. Картинка про что называют мощностью отношения. Фото что называют мощностью отношения

Есть два способа назвать эти отношения: один-ко-многим или многие-к-одному. Зависит от того, что является исходной и целевой таблицей.

Например, приведенная ниже конфигурация означает, что от таблицы Sales до таблицы Stores есть отношение «многие-к-одному».

что называют мощностью отношения. Смотреть фото что называют мощностью отношения. Смотреть картинку что называют мощностью отношения. Картинка про что называют мощностью отношения. Фото что называют мощностью отношения

А ниже показано отношение «один-ко-многим» от таблицы Stores к таблице Sales:

что называют мощностью отношения. Смотреть фото что называют мощностью отношения. Смотреть картинку что называют мощностью отношения. Картинка про что называют мощностью отношения. Фото что называют мощностью отношения

Эти две таблицы заканчиваются созданием таких отношений:

что называют мощностью отношения. Смотреть фото что называют мощностью отношения. Смотреть картинку что называют мощностью отношения. Картинка про что называют мощностью отношения. Фото что называют мощностью отношения

Это означает, что нет разницы в отношении «один-ко-многим» или «многие-к-одному», кроме порядка, в котором вы читаете это. Если вы посмотрите от таблицы Stores, у вас будет отношение «один ко многим». Если вы посмотрите на это с точки зрения таблицы Sales, у вас будет отношение «многие к одному». И оба они одинаковы, без какой-либо разницы. Так что теперь, в этой статье, всякий раз, когда вы читаете «многие к одному» или «один ко многим», вы знаете, что вы можете читать их и наоборот.

В остальной части статьи мы будем использовать термины таблиц FACT и DIMENSION, которые мы объясним отдельно в другой статье. А пока вот краткое объяснение терминов:

Отношение «многие к одному» между таблицами фактов и измерений

что называют мощностью отношения. Смотреть фото что называют мощностью отношения. Смотреть картинку что называют мощностью отношения. Картинка про что называют мощностью отношения. Фото что называют мощностью отношения

Этот тип отношений, хотя часто используется во многих моделях, всегда может быть предметом исследования для лучшего моделирования. В идеальной модели данных вы НЕ должны иметь отношения между двумя таблицами измерений напрямую. Давайте проверим это на примере.

Допустим, модель отличается от того, что вы видели в этом примере: таблица Sales, таблица Product и две таблицы для информации о категории и подкатегории продукта:

что называют мощностью отношения. Смотреть фото что называют мощностью отношения. Смотреть картинку что называют мощностью отношения. Картинка про что называют мощностью отношения. Фото что называют мощностью отношения

что называют мощностью отношения. Смотреть фото что называют мощностью отношения. Смотреть картинку что называют мощностью отношения. Картинка про что называют мощностью отношения. Фото что называют мощностью отношения

что называют мощностью отношения. Смотреть фото что называют мощностью отношения. Смотреть картинку что называют мощностью отношения. Картинка про что называют мощностью отношения. Фото что называют мощностью отношения

Отношения “один-к-одному”

Отношение “один-к-одному” происходит только в одном сценарии, когда у вас есть уникальные значения в обеих таблицах на столбец. Примером такого сценария является случай, когда у вас есть таблицы Titles и Titles Details! У них обоих есть один ряд на заголовок. Так что, если мы создадим отношения, это будет выглядеть так:

что называют мощностью отношения. Смотреть фото что называют мощностью отношения. Смотреть картинку что называют мощностью отношения. Картинка про что называют мощностью отношения. Фото что называют мощностью отношения

Если между двумя таблицами существует взаимно-однозначное отношение, они являются хорошим кандидатом для объединения друг с другом с помощью слияния в Power Query. Поскольку обе таблицы в большинстве случаев имеют одинаковое количество строк, или даже если в одной из них меньше строк, все еще учитывающих метод сжатия механизма Power BI xVelocity, потребление памяти будет одинаковым, если вы поместите его в одну таблицу. Так что если у вас отношения “один-к-одному”, подумайте о том, чтобы серьезно объединить эти таблицы.

Было бы лучше, если бы мы объединили обе таблицы выше в одну таблицу, в которой есть все о заголовке.

Отношения “многие ко многим”: слабые отношения

У вас есть несколько записей для каждого значения в поле соединения между таблицами, для обеих таблиц. Если вы подумаете об этом на секунду, вы увидите, что этот сценарий происходит, когда у вас есть таблицы, которые связаны друг с другом без какого-либо общего измерения! Давайте проверим один пример. Допустим, у нас есть таблица инвентаризации фактов и таблица продаж фактов. Они обе имеют несколько записей на один продукт, и мы хотим соединить их вместе, используя идентификатор продукта. Это должно быть отношение «многие-ко-многим», потому что нет поля идентификатора продукта, в котором есть уникальные значения.

что называют мощностью отношения. Смотреть фото что называют мощностью отношения. Смотреть картинку что называют мощностью отношения. Картинка про что называют мощностью отношения. Фото что называют мощностью отношения

Что делать, если у вас есть более одной таблицы с этим сценарием?

что называют мощностью отношения. Смотреть фото что называют мощностью отношения. Смотреть картинку что называют мощностью отношения. Картинка про что называют мощностью отношения. Фото что называют мощностью отношения

что называют мощностью отношения. Смотреть фото что называют мощностью отношения. Смотреть картинку что называют мощностью отношения. Картинка про что называют мощностью отношения. Фото что называют мощностью отношения

Отношения «многие ко многим» вызывают массу проблем, и поэтому они также называются слабыми связями. В большинстве случаев ее можно решить путем создания общего измерения и создания отношений «один ко многим» из общего измерения с таблицами фактов. ИЗБЕГАЙТЕ такого типа отношений в вашей модели.

Лучшая модель для вышеупомянутого образца будет использовать общие размеры, как показано на этой диаграмме:

что называют мощностью отношения. Смотреть фото что называют мощностью отношения. Смотреть картинку что называют мощностью отношения. Картинка про что называют мощностью отношения. Фото что называют мощностью отношения

Резюме

Источник

BestProg

Базовые понятия реляционной модели данных

Содержание

Поиск на других ресурсах:

1. Какие есть базовые понятия реляционной модели данных?

Как известно, реляционная модель данных основывается на сохранении данных в виде взаимосвязанных таблиц. Связь между таблицами может быть реализована по некоторому полю и называется отношением (relation).

Реляционная модель данных использует следующие основные понятия:

2. Что такое тип данных в реляционной модели данных?

Тип данных есть характеристикой объекта в языке программирования. Таким объектом может выступать переменная, константа и т.п. Тип данных определяет допустимое множество значений, которые может принимать переменная величина или объект.

В системах управления базами данных тип данных имеет такое самое значение как и языках программирования.

Пример. Пусть задана таблица Worker, описывающая данные о работнике предприятия.

ПолРазряд2931123455Петров П.П.г. Киев, ул. Мира 2612.06.1897М33425526651Зиновьев А.Ф.г. Москва, ул. Зеленая 33911.03.1998М42765165253Сидоров С.С.г. Харьков, ул. Гагарина 3318.02.1987М23293847890Ахметова М.Б.г. Тула, ул. Лесная 12 А10.08.1937Ж32298489472Ковалев С.С.г. Калуга, ул. Снежная 2812.06.1990Ж43234802998Юрьев М.М.г. Черновцы, ул. Международная 511.02.1993М5

В вышеприведенной таблице целесообразно установить следующий тип данных для каждого поля:

3. Какие типы данных поддерживаются системами управления базами данных?

Современные СУБД поддерживают следующие основные типы данных:

4. Домены в реляционной модели данных

Домен – это множество отдельных допустимых значений данных, которые:

Пример. Пусть дана таблица Worker, описывающая данные о работнике.

ПолРазряд2931123455Петров П.П.г. Киев, ул. Мира 2612.06.1897М33425526651Зиновьев А.Ф.г. Москва, ул. Зеленая 33911.03.1998М42765165253Сидоров С.С.г. Харьков, ул. Гагарина 3318.02.1987М23293847890Ахметова М.Б.г. Тула, ул. Лесная 12 А10.08.1937Ж32298489472Ковалев С.С.г. Калуга, ул. Снежная 2812.06.1990Ж43234802998Юрьев М.М.г. Черновцы, ул. Международная 511.02.1993М5

В домене «Идентификационный код» допустимыми являются строки из цифр, которые имеют строго 10 разрядов. В домене «Пол» возможны только 2 значения. В домене «Разряд» могут быть целочисленные значения от 1 до 6.

5. Атрибуты в реляционной модели данных

Атрибуты – это столбцы таблицы (поля таблицы). Атрибуты имеют имена. По имени атрибута осуществляется обращение к таблице.

Пример. В таблице Worker (см. п. 4) названия атрибутов следующие:

6. Что такое схема отношения? Что такое схема базы данных?

Схема отношения – это список имен атрибутов отношения с указанием имен типов.

Пример. Для таблицы Worker схема отношения будет приблизительно следующей:

Множество именованных схем отношения, называется схемой базы данных.

7. Что такое степень отношения?

Количество атрибутов в таблице называется степенью отношения. Для примера (см. п. 4) таблицы Worker степень отношения равна 6 (таблица имеет 6 полей).

Унарное отношение – это отношение степени один. Бинарное отношение – это отношение степени два. Тернарное отношение – это отношение степени три. n-арное отношение – это отношение степени n.

8. Что такое кортеж в базах данных?

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

где имя_атрибута – имя конкретного атрибута.

Например. Пусть задана таблица Worker с такими данными

ПолРазряд2931123455Петров П.П.г. Киев, ул. Мира 2612.06.1897М33425526651Зиновьев А.Ф.г. Москва, ул. Зеленая 33911.03.1998М42765165253Сидоров С.С.г. Харьков, ул. Гагарина 3318.02.1987М23293847890Ахметова М.Б.г. Тула, ул. Лесная 12 А10.08.1937Ж32298489472Ковалев С.С.г. Калуга, ул. Снежная 2812.06.1990Ж43234802998Юрьев М.М.г. Черновцы, ул. Международная 511.02.1993М5

Схема отношения для данной таблицы будет следующая:

Тогда кортеж, который отвечает первой строке таблицы 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. Какие преимущества и недостатки использования естественных ключей?

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

Основные недостатки естественных ключей:

Источник

SPBDEV Blog

В предыдущей статье были изложены основы отношений (связей). Вы узнали, зачем нам нужны отношения, и как они влияют на фильтрацию нескольких таблиц. В этой статье вы узнаете об одном из наиболее важных свойств отношений, которое называется кардинальностью или мощностью связей. Целью данной статьи является понимание смысла отношений “один-к-одному”, “один-ко-многим”, “многие-к-одному” и “многие-ко-многим”.

Необходимое условие

Прочтите первую часть серии о связях Power BI: Назад к основам: раскрытие отношений Power BI.

Отношения в Power BI

Отношения Power BI дают нам возможность получать поля из нескольких таблиц и возможность фильтрации по нескольким таблицам в модели данных. Отношения основаны на поле, которое соединит две таблицы и отфильтрует одну на основе другой (или наоборот, зависит от направления). Например, мы можем отфильтровать данные по количеству таблицы Sales по состоянию в таблице Store, если между таблицами Sales и Store существует связь на основе stor_id:

что называют мощностью отношения. Смотреть фото что называют мощностью отношения. Смотреть картинку что называют мощностью отношения. Картинка про что называют мощностью отношения. Фото что называют мощностью отношения

И отношения между таблицами будут следующими:

что называют мощностью отношения. Смотреть фото что называют мощностью отношения. Смотреть картинку что называют мощностью отношения. Картинка про что называют мощностью отношения. Фото что называют мощностью отношения

Что такое мощность отношений?

Когда вы создаете отношение между двумя таблицами, вы получаете два значения, которые могут быть 1 или * на двух концах отношения между двумя таблицами, называемые кардинальностью или мощностью отношений.

что называют мощностью отношения. Смотреть фото что называют мощностью отношения. Смотреть картинку что называют мощностью отношения. Картинка про что называют мощностью отношения. Фото что называют мощностью отношения

Два значения 1 или * говорят о том, что поле в этой взаимосвязи имеет определенное число значения на строку в этой таблице. Давайте проверим это на примере.

В таблице Stores у нас есть одно уникальное значение для stor_id на строку.

что называют мощностью отношения. Смотреть фото что называют мощностью отношения. Смотреть картинку что называют мощностью отношения. Картинка про что называют мощностью отношения. Фото что называют мощностью отношения

Таким образом, если это поле участвует в одной стороне отношения, то эта сторона примет 1 в качестве показателя кардинальности, который называется ОДНОЙ стороной отношения.

Однако stor_id в таблице Sales не уникален для каждой строки данных в этой таблице. У нас есть несколько строк для каждого stor_id. Или скажем так; в каждом магазине происходит несколько торговых транзакций (что, конечно, нормально):

что называют мощностью отношения. Смотреть фото что называют мощностью отношения. Смотреть картинку что называют мощностью отношения. Картинка про что называют мощностью отношения. Фото что называют мощностью отношения

Таким образом, если stor_id в таблице Sales является частью отношения, эта сторона отношения станет *, или то, что мы называем «МНОЖЕСТВЕННОЙ» стороной отношения.

Итак, основываясь на том, что мы знаем в данный момент, если мы создадим отношение на основе stor_id между двумя таблицами Sales и Stores, то получим вывод:

что называют мощностью отношения. Смотреть фото что называют мощностью отношения. Смотреть картинку что называют мощностью отношения. Картинка про что называют мощностью отношения. Фото что называют мощностью отношения

Эти отношения могут быть прочитаны двумя способами;

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

Типы мощности

Есть четыре типа кардинальности, как показано ниже:

Давайте поочередно рассмотрим каждый из этих типов.

что называют мощностью отношения. Смотреть фото что называют мощностью отношения. Смотреть картинку что называют мощностью отношения. Картинка про что называют мощностью отношения. Фото что называют мощностью отношения

Один-ко-многим или многие-к-одному

Это наиболее распространенный тип мощности, используемый в моделях данных. Этот тип количества элементов означает, что одна из таблиц имеет уникальные значения в каждой строке для поля отношения, а другая имеет несколько значений. Пример, который вы видели ранее между таблицами Stores и Sales на основе stor_id, представляет собой отношение «многие-к-одному» или «один-ко-многим».

что называют мощностью отношения. Смотреть фото что называют мощностью отношения. Смотреть картинку что называют мощностью отношения. Картинка про что называют мощностью отношения. Фото что называют мощностью отношения

Есть два способа назвать эти отношения: один-ко-многим или многие-к-одному. Зависит от того, что является исходной и целевой таблицей.

Например, приведенная ниже конфигурация означает, что от таблицы Sales до таблицы Stores есть отношение «многие-к-одному».

что называют мощностью отношения. Смотреть фото что называют мощностью отношения. Смотреть картинку что называют мощностью отношения. Картинка про что называют мощностью отношения. Фото что называют мощностью отношения

А ниже показано отношение «один-ко-многим» от таблицы Stores к таблице Sales:

что называют мощностью отношения. Смотреть фото что называют мощностью отношения. Смотреть картинку что называют мощностью отношения. Картинка про что называют мощностью отношения. Фото что называют мощностью отношения

Эти две таблицы заканчиваются созданием таких отношений:

что называют мощностью отношения. Смотреть фото что называют мощностью отношения. Смотреть картинку что называют мощностью отношения. Картинка про что называют мощностью отношения. Фото что называют мощностью отношения

Это означает, что нет разницы в отношении «один-ко-многим» или «многие-к-одному», кроме порядка, в котором вы читаете это. Если вы посмотрите от таблицы Stores, у вас будет отношение «один ко многим». Если вы посмотрите на это с точки зрения таблицы Sales, у вас будет отношение «многие к одному». И оба они одинаковы, без какой-либо разницы. Так что теперь, в этой статье, всякий раз, когда вы читаете «многие к одному» или «один ко многим», вы знаете, что вы можете читать их и наоборот.

В остальной части статьи мы будем использовать термины таблиц FACT и DIMENSION, которые мы объясним отдельно в другой статье. А пока вот краткое объяснение терминов:

Отношение «многие к одному» между таблицами фактов и измерений

что называют мощностью отношения. Смотреть фото что называют мощностью отношения. Смотреть картинку что называют мощностью отношения. Картинка про что называют мощностью отношения. Фото что называют мощностью отношения

Этот тип отношений, хотя часто используется во многих моделях, всегда может быть предметом исследования для лучшего моделирования. В идеальной модели данных вы НЕ должны иметь отношения между двумя таблицами измерений напрямую. Давайте проверим это на примере.

Допустим, модель отличается от того, что вы видели в этом примере: таблица Sales, таблица Product и две таблицы для информации о категории и подкатегории продукта:

что называют мощностью отношения. Смотреть фото что называют мощностью отношения. Смотреть картинку что называют мощностью отношения. Картинка про что называют мощностью отношения. Фото что называют мощностью отношения

что называют мощностью отношения. Смотреть фото что называют мощностью отношения. Смотреть картинку что называют мощностью отношения. Картинка про что называют мощностью отношения. Фото что называют мощностью отношения

что называют мощностью отношения. Смотреть фото что называют мощностью отношения. Смотреть картинку что называют мощностью отношения. Картинка про что называют мощностью отношения. Фото что называют мощностью отношения

Отношения “один-к-одному”

Отношение “один-к-одному” происходит только в одном сценарии, когда у вас есть уникальные значения в обеих таблицах на столбец. Примером такого сценария является случай, когда у вас есть таблицы Titles и Titles Details! У них обоих есть один ряд на заголовок. Так что, если мы создадим отношения, это будет выглядеть так:

что называют мощностью отношения. Смотреть фото что называют мощностью отношения. Смотреть картинку что называют мощностью отношения. Картинка про что называют мощностью отношения. Фото что называют мощностью отношения

Если между двумя таблицами существует взаимно-однозначное отношение, они являются хорошим кандидатом для объединения друг с другом с помощью слияния в Power Query. Поскольку обе таблицы в большинстве случаев имеют одинаковое количество строк, или даже если в одной из них меньше строк, все еще учитывающих метод сжатия механизма Power BI xVelocity, потребление памяти будет одинаковым, если вы поместите его в одну таблицу. Так что если у вас отношения “один-к-одному”, подумайте о том, чтобы серьезно объединить эти таблицы.

Было бы лучше, если бы мы объединили обе таблицы выше в одну таблицу, в которой есть все о заголовке.

Отношения “многие ко многим”: слабые отношения

У вас есть несколько записей для каждого значения в поле соединения между таблицами, для обеих таблиц. Если вы подумаете об этом на секунду, вы увидите, что этот сценарий происходит, когда у вас есть таблицы, которые связаны друг с другом без какого-либо общего измерения! Давайте проверим один пример. Допустим, у нас есть таблица инвентаризации фактов и таблица продаж фактов. Они обе имеют несколько записей на один продукт, и мы хотим соединить их вместе, используя идентификатор продукта. Это должно быть отношение «многие-ко-многим», потому что нет поля идентификатора продукта, в котором есть уникальные значения.

что называют мощностью отношения. Смотреть фото что называют мощностью отношения. Смотреть картинку что называют мощностью отношения. Картинка про что называют мощностью отношения. Фото что называют мощностью отношения

Что делать, если у вас есть более одной таблицы с этим сценарием?

что называют мощностью отношения. Смотреть фото что называют мощностью отношения. Смотреть картинку что называют мощностью отношения. Картинка про что называют мощностью отношения. Фото что называют мощностью отношения

что называют мощностью отношения. Смотреть фото что называют мощностью отношения. Смотреть картинку что называют мощностью отношения. Картинка про что называют мощностью отношения. Фото что называют мощностью отношения

Отношения «многие ко многим» вызывают массу проблем, и поэтому они также называются слабыми связями. В большинстве случаев ее можно решить путем создания общего измерения и создания отношений «один ко многим» из общего измерения с таблицами фактов. ИЗБЕГАЙТЕ такого типа отношений в вашей модели.

Лучшая модель для вышеупомянутого образца будет использовать общие размеры, как показано на этой диаграмме:

что называют мощностью отношения. Смотреть фото что называют мощностью отношения. Смотреть картинку что называют мощностью отношения. Картинка про что называют мощностью отношения. Фото что называют мощностью отношения

Резюме

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *