В конструкции базы данных что делать n: m и 1: n mean?Значение «n: m» и «1: n» в конструкции базы данных
Имеет ли это какое-либо отношение к ключам или отношениям?
В конструкции базы данных что делать n: m и 1: n mean?Значение «n: m» и «1: n» в конструкции базы данных
Имеет ли это какое-либо отношение к ключам или отношениям?
m:n
используется для обозначения многого-ко-многим (m
объектов на другой стороне, связанную с n
с другой стороны), а 1:n
относится к отношениям один-ко-многим (1
объекта на другой стороне, связанную с n
с другой стороны).
Ах, ок, так что «m» и «n «взяты как переменные, которые я вижу: D, я думал, что« м »стоял за« много », и по этой причине« n »заблуждался относительно того, что стоит (не может стоять« ни один », я имею в виду). В любом случае спасибо: D –
FYI, поскольку никто не упомянул об этом, термин Comp Sci для этого отношения называется «мощность», см. Http://en.wikipedia.org/wiki/Cardinality_%28data_modeling%29 для деталей. –
многие ко многим (п: т) один ко многим (1: N)
1: п означает 'один-ко-многим'; у вас есть две таблицы, и каждая строка таблицы A может ссылаться на любое количество строк в таблице B, но каждая строка в таблице B может ссылаться только на одну строку в таблице A (или вообще ничего).
n: m (или n: n) означает «много-ко-многим»; каждая строка в таблице A может ссылаться на многие строки в таблице B, и каждая строка в таблице B может ссылаться на многие строки в таблице A.
Отношение 1: n обычно моделируется с использованием простого внешнего ключа - одного столбца в таблице A ссылается на аналогичный столбец в таблице B, как правило, на первичный ключ. Так как первичный ключ однозначно идентифицирует ровно одну строку, на эту строку могут ссылаться многие строки в таблице A, но каждая строка в таблице A может ссылаться только на одну строку в таблице B.
Связь n: m не может быть выполнена путь; общим решением является использование таблицы ссылок, содержащей два столбца внешнего ключа, по одному для каждой связанной с ним таблицы. Для каждой ссылки между таблицей A и таблицей B одна строка вставляется в таблицу ссылок, содержащую идентификаторы соответствующих строк.
«таблица ссылок», также известная как «таблица соединений» –
«Нет вообще» -> не будет ли это отношением 0/1: n? (Редко) Мое понимание 1: n заключается в том, что оно должно иметь одно. Например, «Город должен находиться в одной стране, но страны могут иметь n городов», «Компания может иметь n сотрудников, но Сотрудник должен работать для одной компании», ... –
Чтобы объяснить две концепции на примере, представьте, что у вас есть система ввода заказов для книжного магазина. Отображение заказов для элементов много для многих (n: m), потому что каждый заказ может иметь несколько элементов, и каждый элемент можно упорядочить несколькими порядками. С другой стороны, поиск клиентов и заказов один-на-один (1: n), потому что клиент может разместить более одного заказа, но заказ никогда не может быть более одного клиента.
п: т -> если вы не знаете, как п и т это просто многие ко многим, и она представлена в таблице моста между 2 другими таблицами, как
-- This table will hold our phone calls.
CREATE TABLE dbo.PhoneCalls
(
ID INT IDENTITY(1, 1) NOT NULL,
CallTime DATETIME NOT NULL DEFAULT GETDATE(),
CallerPhoneNumber CHAR(10) NOT NULL
)
-- This table will hold our "tickets" (or cases).
CREATE TABLE dbo.Tickets
(
ID INT IDENTITY(1, 1) NOT NULL,
CreatedTime DATETIME NOT NULL DEFAULT GETDATE(),
Subject VARCHAR(250) NOT NULL,
Notes VARCHAR(8000) NOT NULL,
Completed BIT NOT NULL DEFAULT 0
)
это таблица мост для осуществление сопоставления между 2 таблиц
CREATE TABLE dbo.PhoneCalls_Tickets
(
PhoneCallID INT NOT NULL,
TicketID INT NOT NULL
)
один ко многим (1: N) это просто одна таблица, которая имеет столбец в качестве первичного ключа и другой таблицы, которая имеет этот столбец в качестве внешнего ключа отношения
Вид продукта и категории продуктов, в которых один продукт может иметь много продуктов
В реляционной базе данных все типы отношений представлены так же: как отношения. Ключ-кандидат каждого отношения (и, возможно, другие ограничения) определяет, какие отношения представлены. 1: п и т: п два вида бинарного отношения:
C {Employee*,Company}
B {Book*,Author*}
В каждом случае обозначает * ключ атрибут (ы). {Book, Author} - сложный ключ.
C является отношением, где каждый сотрудник работает только один компании, но каждая компания может иметь много сотрудников (1: N): B есть отношение, где книга может иметь много авторов и автор может написать many books (m: n):
Обратите внимание, что ключевые ограничения гарантируют, что каждый сотрудник может быть связан только с одной компанией, тогда как любая комбинация книг и авторов разрешена.
Возможны и другие виды отношений: n-арный (имеющий более двух компонентов); фиксированная мощность (m: n, где m и n - фиксированные константы или диапазоны); направленный; и так далее. Уильям Кент в своей книге «Данные и реальность» идентифицирует не менее 432 видов - и это только для двоичных отношений. На практике бинарные отношения 1: n и m: n очень распространены и обычно выделяются как особо важные при проектировании и понимании моделей данных.
м: н относится к многим ко многому , где, как 1: п означает один ко многим отношений Forexample работника (ID, имя, Skillset) навыков (ID, skillname, квалификация)
в этом случай, когда один сотрудник может обладать многими навыками и игнорировать другие случаи, вы можете сказать, что его отношение 1: N
http://en.wikipedia.org/wiki/Database_model –