관계형 모델 에드가 코드의 발명가는 첫 번째 정상 형태의 도입과 정상화의 이론을 제안하고, 그는 두 번째와 세 번째 정상 형태로 이론을 확장 계속. 나중에 그는 레이몬드 F. 보이스와 합류하여 보이스-코드 일반 형태의 이론을 개발했습니다. 두 번째 정상 형태(2NF)는 데이터베이스 정규화에 사용되는 일반 형태입니다. 2NF는 원래 1971 년에 E.F. 대구에 의해 정의되었다. [1] 두 번째 일반 양식은 1NF에 대한 모든 규칙을 충족해야하며 기본 키에 있는 열의 부분 적인 종속이 없어야한다고 말합니다 – 이제 테이블은 두 번째 정규 형태 (2NF)를 준수합니다. BCNF에 대해 자세히 알아보려면 Boye-Codd 일반 양식 자습서를 참조하십시오. 내가 정상화의 개념을 이해하게 만들기위한 thnku. 비디오 라이브러리가 대여한 영화의 데이터베이스를 유지 관리한다고 가정합니다. 정규화없이 모든 정보는 아래와 같이 하나의 테이블에 저장됩니다. SQL의 데이터 정규화 이론은 아직 추가로 개발되고 있습니다. 예를 들어, 6 번째 일반 양식에 대한 토론도 있습니다.
그러나 대부분의 실용적인 응용 프로그램에서 정규화는 3 번째 일반 양식에서 최상의 결과를 달성합니다. 정규화 이론의 진화는 아래에 설명되어 있습니다- 세 번째 노멀 양식(3NF)에 대해 제공한 예제가 정확하다는 것입니다. 나는 의심이, 직원 테이블과 employee_zip 테이블에서 당신은 두 테이블에서 ZIP을 관련하지만 두 고용이 같은 zip을 갖는 경우 어떤 레코드는 employee_zip 테이블에서 가져올 것인가?? 정규화는 데이터 중복성, 삽입 변칙, 업데이트 변칙 및 삭제 변칙을 피하기 위해 데이터베이스의 데이터를 구성하는 프로세스입니다. 먼저 이상 에 대해 논의 한 다음 예제와 정상적인 형태에 대해 논의 할 것입니다. 데이터베이스가 정규화되지 않을 때 발생하는 세 가지 유형의 예외가 있습니다. 이들은 – 삽입, 업데이트 및 삭제 변칙. 이를 이해하기 위해 예를 들어 보겠습니다. 이제 우리의 작은 예는 더 높은 형태의 정규화를 달성하기 위해 더 이상 분해 할 수없는 수준입니다.
사실, 그것은 이미 더 높은 정규화 형태로 되어 있습니다. 일반적으로 복잡한 데이터베이스에서는 데이터를 정규화하는 다음 수준으로 이동하기 위한 별도의 노력이 필요합니다. 그러나 다음 단계의 정상화에 대해서는 다음 단계로 간단히 논의할 예정입니다. 이러한 이상을 극복하려면 데이터를 정규화해야 합니다. 다음 섹션에서는 정규화에 대해 설명합니다. 안녕하세요 아주 좋은 설명. 나는 한 가지 질문이 있습니다 : 당신이 BCNF (BCNF 솔루션 전에) BCNF에 준 예도 두 번째 규칙을 위반하지 않습니까? 비 프라임 속성은 후보 키의 하위 집합에만 의존하기 때문에? 예를 들어 dept_type 및 dept_no_of_emp는 emp_dept 감사합니다 BCNF의 예제를 이해하지 못하는 후보 키의 하위 집합에만 의존합니다. 2개의 기본 키, emp_id 및 emp_dept가 있습니다.
이것은 2NF 규칙을 위반하고 emp_국적은 emp_id로만 결정할 수 있습니다. 그래서 처음에, 그것은 2nf에 없는, 왜 BCnf 프로세스를 진행? 이 예제의 테이블은 모든 특성이 단일 값이므로 첫 번째 일반 형식(1NF)입니다. 그러나 아직 2NF에 있지 않습니다. 학생 1이 대학을 떠나 튜플이 삭제되면 이 특성은 기본 키 IDSt에 따라 완전히 작동하기 때문에 교수 Schmid에 대한 모든 정보를 느슨하게 합니다. 이 문제를 해결하려면 특성 교수(이름)와 키 IDProf가 있는 새 테이블 교수를 만들어야 합니다. 세 번째 테이블 성적은 두 관계 학생과 교수를 결합하고 성적을 관리하는 데 필요합니다. 성적 외에 그것은 학생과 교수의 두 개의 아이디를 포함하고 있습니다. 이제 학생이 삭제되면 교수에 대한 정보를 느슨하게하지 않습니다. 부분 종속성이 무엇이며 테이블을 2번째 정상으로 정규화하는 방법을 이해하려면 두 번째 일반 양식 자습서로 이동합니다. 예제를 통해 정규화의 개념은 매우 유용합니다.
그것은 내가 그것을 명확하게 이해하는 데 도움이되었습니다. 공유 주셔서 감사합니다.