2010-01-07 3 views
2

부모 란 무엇이며 sql 관계에있는 자식은 무엇입니까?부모 - 자녀 관계 란 무엇입니까?

내 경우에는 부품 (나사 말)과 제품 재료가 있습니다. 논쟁의 여지가 있기 때문에 제품 재료 (예 : 철강)는 하나의 부품에만 속할 수 있지만 (실제 제품에는 포함되지 않음) 그래서 이것은 1 : n입니다. 부품은 ProductMaterial 테이블에서 해당 pk를 fk로 갖습니다.

이 경우 부모이고 어느 것이 하위인가?

답변

2

데이터베이스에서 1 : n 관계를 다음과 같이 해석 할 수 있습니다. 하위 항목은 외래 키가 속한 위치를 나타내는 외래 키를 보유하는 모델입니다.
물론 자기 참조 모델/테이블이 있다면 다른 방식으로 봐야합니다.

+0

감사합니다. 쉬운 설명 및 따라서 이것은 제품 재료 테이블입니다. – dotnetdev

+0

그런 식으로 해석 할 수 있지만 종종 잘못 될 수 있습니다. 하나의 후손을 가진 두 명의 인간 부모의 경우를 생각해보십시오 :-) –

+1

관계형 데이터베이스에서 "한쪽 부모, 많은 자식"이 아닌 다른 것을 의미하는 용어를 본 적이 없다고 생각합니다. 그 맥락에서 그런 식으로 해석하십시오. –

1

이 경우, 파트는 상위이고 ProductMaterial은 하위입니다.

부모는 제한없는 수의 부모를 가질 수있는 반면 부모는 무제한의 수의 자식을 가질 수 있습니다 (무서운 생각 - 2는 충분합니다!). DB 조건에서는 단지 1!

9

SQL과 같은 관계형 데이터베이스에는 실제로 부모/자식 관계에 대한 개념이 없습니다. 즉 프로그래머가 데이터를 입력 할 때 해석합니다. 이러한 관계를 명시 적으로 명시하고 사용하는 아키텍처가 있습니다 (예 : 계층 적 데이터베이스 (특정 범위의 OO) 데이터베이스).

0

데이비드 M.이 말한 것 이외에 이것을 보는 또 다른 방법은 ORM 구현 (Linq에서 SQL로)과 관련됩니다. Part와 ProductMaterial의 두 엔티티가 있습니다. 각 파트 엔티티에는 ProductMaterial 엔티티 세트 (하위 엔티티 또는 EntitySet)가 있습니다. 각 ProductMaterial 엔티티에는 0 개 또는 하나의 Part 엔티티 (상위 엔티티 또는 EntityRef)가 있습니다.

1

보통 일대 다 관계에서

랜디, 그것은 부모 인 "하나"레코드와 자녀 "다"기록이다.

물론 부모와 자식 관계에 대해 이야기하는 것이 의미가없는 경우도 있습니다. 귀하의 예에서는 적어도 어떤 의미를 갖습니다. 다른 예에서는 아이가 많은 부모를 가지고있는 정반대를 찾을 수도 있지만 그런 식으로 설명하는 것은 그리 유용하지 않습니다.

0

하나 이상의 다른 테이블과 일대일로 많은 관계가있는 테이블은 다른 테이블의 부모로 간주 될 수 있습니다. 자기 조인? 나는 누구도 이해하지 못하는 모호한 용어이다.

+1

어떻게 자기 모호한 결합 정확히 무엇입니까? – JamieA

+0

성명서 - "나는 아무도 모른다 고 생각한다." 정말? –

관련 문제