Что такое кардинальность в базах данных?

59

Я искал по всему Интернету, но, похоже, я не могу ответить на этот вопрос.

Так любезно, если кто-нибудь может объяснить мне с помощью примеров, что такое мощность в базах данных?

Спасибо.

Теги:
database
database-design
cardinality

6 ответов

86
Лучший ответ

Источником путаницы может быть использование слова в двух разных контекстах - моделирование данных и оптимизация запросов к базам данных.

В терминах моделирования данных мощность равна тому, как одна таблица относится к другой.

  • 1-1 (одна строка в таблице A относится к одной строке в таблицеB)
  • 1-Many (одна строка в таблице A относится ко многим строкам в таблицеB)
  • Many-Many (многие строки в таблице A относятся ко многим строкам в таблицеB)

Также есть дополнительные условия участия (где строка в одной таблице вообще не должна относиться к другой таблице).

См. Википедия на Кардинальность (моделирование данных).


Говоря об оптимизации запросов к базе данных, мощность соответствует данным в столбце таблицы, в частности, сколько уникальных значений в ней. Эта статистика помогает при планировании запросов и оптимизации планов выполнения.

См. Википедию на Кардинальность (операторы SQL).

  • 1
    Будет ли нулевое количество элементов означать, что две таблицы не связаны друг с другом?
  • 0
    Кардинальность ноль? Не очень часто используется термин - но я предполагаю, что это будет означать это. Обычно - не будет никакой линии, соединяющей такие таблицы на диаграмме ER, поэтому нет необходимости указывать количество элементов.
Показать ещё 2 комментария
24

Это немного зависит от контекста. Кардинальность означает количество чего-то, но оно используется в различных контекстах.

  • Когда вы строите модель данных, мощность часто ссылается на количество строк в таблице A, которые относятся к таблице B. То есть, есть ли 1 строка в B для каждой строки в (1:1), там N строк в B для каждой строки из A (1: N), есть M строк в B для каждых N строк в (N: M) и т.д.
  • Когда вы смотрите на такие вещи, как эффективнее использовать индекс b * -tree или индекс растрового изображения или как выборочный предикат, мощность означает количество различных значений в определенном столбце. Если у вас есть таблица PERSON, например, GENDER, вероятно, будет столбцом с очень низкой мощностью (в GENDER, вероятно, есть только два значения), а PERSON_ID, скорее всего, будет очень высоким столбцом мощности ( каждая строка будет иметь другое значение).
  • Когда вы смотрите планы запросов, мощность означает количество строк, которые, как ожидается, будут возвращены из конкретной операции.

Есть, вероятно, другие ситуации, когда люди говорят о мощности с использованием другого контекста и означают что-то еще.

2

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

  • 1
    Кардинальность может относиться к нескольким различным вещам, но ответ Одеда, скорее всего, то, что вы ищете.
0

В базе данных Кардинальность относится к набору строк в таблице.

Изображение 7151 Источник img


Изображение 7152 Источник img


  • Отношения называются и классифицируются по их мощности (т.е. количество элементов набора).
  • Символы, которые появляются, закрываются для сущности, Максимальная мощность, а другая Минимальная мощность.
  • Отношение сущности, показывает конец строки отношений следующим образом:
    Изображение 7153

Изображение 7154

image source

-1

Мощность множества - это размерность элементов в множестве для у нас есть набор a > a, b, c < поэтому ths set содержит 3 элемента 3 - мощность этого множества

-3

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

Значимость мощности:

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

Когда вы определяете мощность среди объекта, вы должны учитывать все эти вещи, чтобы определить правильную мощность.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню