기본 키가없는 테이블이 정규화됩니까?


9

강의에서 강사는 기본 키가없는 테이블을 보여주었습니다. 의문을 제기 한 그는 3NF에서 전이 의존성을 제거 할 때 기본 키가없는 테이블을 갖는 것이 좋다고 말했다.

그러나 기본 키가 없다는 것은 기능적 종속성이 없음을 의미하지만 3NF는 전이 종속성을 제거하는 것이므로 각 테이블은 기능 종속성에 대한 것이기 때문에 정규화를위한 기본 키가 필요하다는 것을 배웠습니다.

기본 키없이 테이블을 만들 수는 있지만 테이블이 존재하면 데이터베이스가 정규화 된 것으로 간주됩니까?

나는 테이블에 "고유 키", 기본, 복합, 외래가 없습니다.

표시된 표에는 기본 또는 고유로 레이블이 지정된 속성이 3 가지 있습니다. 나는 그것이 실수인지 물었고 그는 실수가 없다고 말했다. 나는 표에있는 어떤 정보도 유일하게 식별 될 수 없기 때문에이 의견에 의문을 제기했으며 그는 이와 같은 것이 좋다고 주장했다. 이것은 정규화에 관해 내가 배운 것에 반합니다.

답변:


15

관계가없는 경우 모든 후보 키를 (그리고 기본 키 그냥 후보 키 중 하나입니다), 그것은 그래서 실제로는 관계없는, 중복 행을 가질 수 있습니다! (관계는 항상 설정되므로).

이 경우 질문에서 한 것처럼 관계가 아닌 테이블을 테이블이라고 부르는 것이 더 정확하며 실제로 여러 RDBMS가 관계가 아닌 관계를 관리하여 고유 한 제약 조건없이 테이블을 허용 할 수 있습니다. 매우 드문 일이며 데이터를 조작 할 때 문제 (이상)가 발생합니다.

그러나이 경우 정규 형식에 대해 말하는 것은 적절하지 않습니다. 모든 정규화 이론은 관심 대상이 다중 집합이 아니라 관계라는 기본 가정에 기초 합니다. 실제로이 이론은 데이터베이스의 모든 관계가 모든 관계의 모든 속성을 포함하는 관계의 투영의 서브 세트라고 가정하는 (일부 논의 된) Universal Relation Assumption을 기반으로합니다. 그리고 그 대상은 실제로 다중 집합이 아닌 관계 (즉 집합)입니다.

관계형 데이터 모델의 데이터에 관해 이야기 할 때 때때로 우리는 두 용어 인 테이블과 관계를 교환한다고해서 이것이 실제로 동의어라는 의미는 아니며 정규화 이론에 관해 이야기 할 때이 차이가 근본적입니다. 책에서 정상적인 형태가 소개 될 때 항상 다음과 같이 언급된다는 것을 기억하십시오.

다음 같은 경우 관계 는 xxx 일반 형식입니다.


count요소에 추가 속성을 추가하는 집합에 대해 다중 집합 동형이 아닙니까?
Barmar

3
@Barmar 예. 그러나 후보 키와 모든 관련 기능 종속성을 추가하므로 정규화 이론의 관점에서 완전히 다른 경우입니다.
Renzo

1
사람들이 비 관계형 테이블에서 관계형 작업을 수행하면 관계형 결과가 기대됩니다. 그들이 그것을 얻지 못하면, 이상이 나타납니다.
Walter Mitty

0

3NF는 처음 3 개의 데이터 정규화 규칙을 준수하는 테이블을 나타냅니다.

  1. 반복 그룹 제거
  2. 중복 데이터 제거
  3. 키에 의존하지 않는 열 제거

세 번째 규칙에는 키가 필요합니다. 맞습니다. 강사의 테이블은 3NF가 아니 었습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.