따라서 이러한 필드가 있는 테이블은 제품 ID에 따라 달라지지만 주문 번호에 따라 달라지기 때문에 두 번째 일반 형식을 충족하지 못합니다. 추가 정보도 포함). 예를 들어 학생과 클래스 간의 링크 테이블은 다음과 같을 수 있습니다. 따라서 두 개의 "이름" 열을 갖는 것은 아니오입니다. name1 및 name2와 같은 두 개의 "이름" 열이 있을 수 있지만 나중에 정상적인 형태를 깨뜨리기 때문에 눈살을 찌푸리게 한다는 것을 나중에 알게 될 것입니다 (다른 게시물에서 설명합니다). "표"는 "관계"의 또 다른 용어입니다. 테이블이 일반적으로 관계가 집합이고 중복을 허용하지 않는 행의 다중 집합(가방)이라는 차이는 있지만. 실제 데이터 행 외에도 테이블은 일반적으로 테이블의 제약 조건 또는 특정 열 내의 값과 같은 일부 메타데이터와 연결되었습니다. [모호한 – 토론] 첫 번째 일반 형식(1NF로 축약)은 테이블의 각 셀에 하나의 값만 가질 수 있고 값 목록은 지정하지 않으므로 이와 같은 테이블이 준수하지 않습니다. 0이면 비어 있다고 합니다. 테이블이 보유할 수 있는 행 수에는 실질적인 제한이 없습니다. 그러나 테이블의 기본 키가 이에 일부 영향을 줄 수 있습니다. 즉, 테이블에 상태가 있고 기본 키가 상태의 약어인 경우 공용 구조체에 50개의 상태만 있고 기본 키에 중복을 가질 수 없으므로 테이블은 50개의 행으로 제한됩니다.
해당 데이터를 추가 열로 분할하여 이 방법을 해결하려는 유혹을 받을 수도 있지만 반복되거나 밀접하게 관련된 특성 그룹이 있는 테이블이 첫 번째 일반 형식을 충족하지 않는 규칙도 마찬가지입니다. 예를 들어 아래 표는 준수하지 않습니다: 모든 관계형 테이블에는 하나의 기본 키가 있습니다. 그 목적은 데이터베이스의 각 행을 고유하게 식별하는 것입니다. 두 행에 동일한 기본 키 값을 가질 수 없습니다. 이 것의 실질적인 결과는 기본 키를 알고 모든 단일 행을 선택할 수 있다는 것입니다. 이러한 관계는 한 테이블의 레코드가 다른 테이블의 여러 항목과 연결되어 있을 때 발생합니다. 예를 들어, 한 고객이 많은 주문을 했거나 후원자가 도서관에서 한 번에 여러 권의 책을 체크 아웃했을 수 있습니다. 일대다(1:M) 관계는 이 예에서와 같이 "까마귀의 발 표기"라고 불리는 것으로 표시됩니다.
예를 들어 직원 테이블에는 동일한 테이블의 다른 개인을 참조하는 특성 "manager"가 있을 수 있습니다. 이를 재귀 관계라고 합니다. 또한 관계형 데이터베이스에는 첫 번째 또는 마지막 행이 없습니다. 예. LIMIT 또는 TOP과 같은 키워드를 사용하여 결과의 첫 번째 행을 애타게 만들 수 있지만 데이터를 검색하고 정렬하면 사용됩니다. 여기서 차이점은 테이블에 물리적으로 저장되는 것이 아니라 결과의 첫 번째 행이 표시된다는 것입니다. 데이터베이스를 설정할 때 1:M 관계를 구현하려면 관계의 "일" 쪽에서 기본 키를 다른 테이블의 특성으로 추가하기만 하면 됩니다. 이러한 방식으로 기본 키가 다른 테이블에 나열되면 외래 키라고 합니다. 관계의 "1" 쪽에 있는 테이블은 다른 쪽의 자식 테이블에 대한 상위 테이블로 간주됩니다.
팁: 빈 "사람" 테이블은 이제 SQL INSERT INTO 문으로 데이터를 채울 수 있습니다.
Published by: gianni57
Comments are closed.