bcnf 정규화 예제

여기서 이 표에서는 코스 코드가 고유합니다. 그래서, 그것은 우리의 주요 키가된다. 다양한 코스에 학생 등록을 저장하는 또 다른 예를 들어 봅시다. 각 학생은 여러 코스에 등록할 수 있습니다. 마찬가지로 각 코스에는 여러 등록이 있을 수 있습니다. 샘플 테이블은 다음과 같을 수 있습니다(학생 이름 및 코스 코드): 예제 데이터는 다음과 같습니다. 원래 관계에서 열 값을 선택하고 중복 행을 제거합니다. 다양한 형태의 데이터베이스 정규화는 데이터 복제가 없을 수 있는 방식으로 데이터베이스의 스키마를 디자인하는 데 유용합니다. 응용 프로그램에 대한 스키마를 디자인하는 동안 이러한 양식을 어떻게 활용할 수 있는지 항상 고려해야 합니다. 또한, 관찰하는 경우, 휴대 전화 번호는 이제 2 번 저장 할 필요가 없습니다. 우리는 단지 1 곳에 보관했습니다. 또한 스토리지를 절약할 수 있습니다.

이는 위의 간단한 예제에서 명확하지 않을 수 있습니다. 그러나 수백 개의 코스와 강사가 있고 각 강사에 대해 휴대 전화 번호뿐만 아니라 사무실 주소, 이메일 주소, 전문화, 가용성 등과 같은 기타 세부 사항을 저장해야합니다. 이러한 상황에서 너무 많은 데이터를 복제하면 저장소 요구 사항이 불필요하게 증가합니다. 정규화: 데이터는 여러 테이블로 나누어 데이터 무결성및 데이터 중복성을 달성합니다. 이 프로세스를 정규화라고 합니다. 정규화 해제: 여러 테이블의 데이터가 하나의 테이블로 결합되어 저장소 및 데이터 검색속도를 더 빠르게 저장하는 정규화의 반대 프로세스를 적용합니다. 데이터 무결성이 비정규화 및 중복에 추가되지 않을 수 있습니다. 첫 번째 점은 우리가 방금 1NF를 공부했기 때문에 분명히 간단합니다. 첫 번째 지점인 1열 기본 키를 이해해 보겠습니다. 기본 키는 행을 고유하게 식별하는 열 집합입니다. 기본적으로 2개의 행에는 동일한 기본 키가 없습니다. 예를 들어 보겠습니다.

속성 emp_zip도 후보 키(3NF 예제)가 아닌가요? 그렇다면 다음 테이블의 3NF 규칙을 위반하지 않겠습니까? 내가 정상화의 개념을 이해하게 만들기위한 thnku. 안녕하세요 아주 좋은 설명. 나는 한 가지 질문이 있습니다 : 당신이 BCNF (BCNF 솔루션 전에) BCNF에 준 예도 두 번째 규칙을 위반하지 않습니까? 비 프라임 속성은 후보 키의 하위 집합에만 의존하기 때문에? 예를 들어 dept_type 및 dept_no_of_emp는 emp_dept 감사합니다 예제와 함께 정규화의 개념은 매우 유용합니다 후보 키의 하위 집합에 의존합니다. 그것은 내가 그것을 명확하게 이해하는 데 도움이되었습니다. 공유 주셔서 감사합니다. 예제로 돌아가보겠습니다. 기능 종속성: 이러한 이상을 극복하려면 데이터를 정규화해야 합니다. 다음 섹션에서는 정규화에 대해 설명합니다. BCNF를 충족하지 않는 3NF 테이블의 예는 다음과 같이 데이터베이스 정규화가 작동하는 방식에 대한 간단한 예입니다. 우리는 이제 더 공식적으로 그것을 연구 할 것입니다. SQL의 데이터 정규화 이론은 아직 추가로 개발되고 있습니다.

예를 들어, 6 번째 일반 양식에 대한 토론도 있습니다.