itsource

데이터베이스 설계에서 "n:m"과 "1:n"의 의미

mycopycode 2022. 11. 15. 21:42
반응형

데이터베이스 설계에서 "n:m"과 "1:n"의 의미

데이터베이스 설계에서 n:m과 1:n무엇을 의미합니까?

열쇠나 관계와 관련이 있나요?

m:n多大多)의 관계를 때 합니다.mn에 대해서는, (중략)에 대해서1:n 대 관계一 대 다의 관계, 1 대 다의 관계)를 말합니다.1에 .n다른 쪽)에 표시됩니다.

1:n이렇게 '1면 되다'는요?2개의 테이블이 있으며 테이블A의 각 행은 테이블B의 임의의 수의 행에 의해 참조할 수 있지만 테이블B의 각 행은 테이블A의 1개의 행만을 참조할 수 있습니다(또는 전혀 참조할 수 없습니다).

n:m (오류)n:n를 의미합니다.각표 할 수 , 의 각 표 행을 할 수 있습니다테이블 A의 각 행은 테이블B의 여러 행을 참조할 수 있습니다.테이블 B의 각 행은 테이블A의 여러 행을 참조할 수 있습니다.

A 1:n관계는 일반적으로 간단한 외부 키를 사용하여 모델링됩니다. 표 A의 한 열은 표 B의 유사한 열(일반적으로 기본 키)을 참조합니다.프라이머리 키는 1개의 행을 일의로 식별하기 때문에 이 행은 테이블A의 여러 행에서 참조할 수 있지만 테이블A의 각 행은 테이블B의 1개의 행만 참조할 수 있습니다.

A n:m이 방법으로는 관계를 설정할 수 없습니다.일반적인 해결책은 링크 테이블마다1개씩 2개의 외부 키 열이 포함된 링크 테이블을 사용하는 것입니다.테이블 A와 테이블 B 사이의 각 참조에 대해 대응하는 행의 ID를 포함하는 행이 링크 테이블에 삽입됩니다.

n:m --> n과 m을 모두 모르는 경우 이는 단순히 여러 개이며 다음과 같은 다른 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
)

One to Many (1:n)는 단순히 하나의 테이블로 프라이머리 키와 이 열을 외부 키 관계로 갖는 다른 테이블입니다.

하나의 제품 카테고리에 다수의 제품을 포함할 수 있는 제품 카테고리 및 제품 카테고리

관계형 데이터베이스에서는 모든 유형의 관계가 관계와 같은 방식으로 표시됩니다.각 관계의 후보 키(및 다른 제약 조건도 포함)에 따라 표현되는 관계의 종류가 결정됩니다.1:n과 m:n은 2종류의 바이너리 관계입니다.

C {Employee*,Company}
B {Book*,Author*}

각 경우 *는 키 속성을 지정합니다.{Book,Author}은(는) 복합 키입니다.

C는 각 종업원이 1개의 회사에서만 일하는 관계이지만, 각 회사에는 다수의 종업원이 있을 수 있습니다(1:n).B는 책 한 권에 다수의 저자가 있을 수 있고, 저자가 다수의 책을 쓸 수 있는 관계입니다(m:n).

주요 제약사항으로 인해 각 직원은 한 회사에만 관련될 수 있으며 책과 저자의 조합은 모두 허용됩니다.

다른 종류의 관계도 가능합니다.n-ary (2개 이상의 컴포넌트가 있다), 고정 카디널리티 (m:n 여기서 m과 n은 고정 상수 또는 범위이다), 방향성 등입니다.William Kent는 그의 저서 "Data and Reality"에서 최소 432개의 종류를 확인했습니다. 이는 단지 2진 관계만을 위한 것입니다.실제로 2진수 관계 1:n과 m:n은 매우 일반적이며 일반적으로 데이터 모델을 설계하고 이해하는 데 특히 중요한 것으로 선택됩니다.

예를 들어 두 가지 개념을 설명하자면, 서점의 주문 입력 시스템이 있다고 가정해 보십시오.각 주문은 여러 개의 항목을 가질 수 있고 각 항목을 여러 개의 주문으로 주문할 수 있기 때문에 주문과 항목의 매핑은 매우 많습니다(n:m).한편, 고객과 주문간의 룩업은 1대 다(1:n)입니다.고객은 복수의 주문을 할 수 있지만, 주문은 복수의 고객을 대상으로 하는 것이 아니기 때문입니다.

엔티티 관계 다이어그램의 관계선에 있는 문자 'N'은 무엇을 의미합니까?임의의 번호

M:N

M - 정규성 - 최소값(정규값과 필수값)을 나타냅니다.

N - 카디널리티 - miximum을 나타냅니다.

1:N(n=0,1,2,3...) 1 대 0 이상

M:N(m 및 n=0,1,2,3...) 0 이상 0 이상 0 이상(다수 대 다)

1:1 대 1

자세한 내용은 이쪽:https://www.smartdraw.com/entity-relationship-diagram/

다대다(n:m) 1대다(1:n)

m:n은 다대다 관계를 나타냅니다.1:n은 종업원(id, name, skillset)의 스킬셋(id, skillset, creditions)을 예시하는1 대 다 관계를 의미합니다.

이 경우 한 명의 직원이 많은 기술을 가질 수 있으며 다른 경우를 무시하면 1:N 관계라고 할 수 있습니다.

모델과 페이지 모델이 있다고 상상해 보세요.

1:N means:
One book can have **many** pages. One page can only be in **one** book.


N:N means:
One book can have **many** pages. And one page can be in **many** books.

언급URL : https://stackoverflow.com/questions/3397349/meaning-of-nm-and-1n-in-database-design

반응형