개인 재정 SQL 도메인 키 정규형 (DK / NF) 및 비정상 형

SQL 도메인 키 정규형 (DK / NF) 및 비정상 형

차례:

비디오: 오라클 DB SQL 강좌 | 테이블 참조, Foreign Key, 참조 무결성 제약조건, SQLP, SQLD, 데이터베이스 실습 강의 2025

비디오: 오라클 DB SQL 강좌 | 테이블 참조, Foreign Key, 참조 무결성 제약조건, SQLP, SQLD, 데이터베이스 실습 강의 2025
Anonim

SQL 데이터베이스가 세 번째 정규 형식으로 된 후에는 수정 예외의 가능성은 거의 없지만 모두 제거되었습니다. 세 번째를 넘어서는 정상적인 형태는 남아있는 버그를 거의 없애기 위해 정의됩니다.

도메인 키 정규형 (DK / NF)

Boyce-Codd 정상형 (BCNF), 네 번째 정규형 (4NF) 및 다섯 번째 정규형 (5NF)이 이러한 형태의 예입니다. 각 양식은 가능한 수정 변형을 제거하지만 모든 가능한 수정 변형의 방지를 보장하지는 않습니다. 그러나 도메인 키 정규형은 그러한 보증을 제공합니다.

도메인 키 정규형 (DK / NF) 에 관계가있다. 이 정의에서 제약 조건 은 그것이 사실인지 아닌지를 평가할 수있을만큼 충분히 정확한 규칙입니다. 키 는 테이블의 행에 대한 고유 한 식별자입니다. 도메인 은 속성의 허용 된 값 집합입니다.

1NF에있는이 데이터베이스를보고 DK / NF에 데이터베이스를 저장하기 위해해야 ​​할 일을 확인하십시오. Customer_ID

제약 조건:

Customer_ID는 제품을 결정합니다. 제품은 가격을 결정합니다.

Customer_ID는 정수 여야합니다. 표:

영업 (Customer_ID, Product, Price) > 1000

  • Constraint 3 (Customer_ID가 1000보다 큰 정수 여야 함)을 적용하려면 Customer_ID의 도메인을 정의하여이 제약 조건을 통합하면됩니다. 그러면 제약 조건이 CustomerID 열의 도메인의 논리적 인 결과가됩니다. 제품은 Customer_ID에 따라 달라지며 Customer_ID는 키이므로 제약 조건 1에 아무런 문제가 없으므로 키 정의의 논리적 결과입니다.

  • 제약 2 999는 문제가된다. 가격은 (제품의 논리적 인 결과이므로) 제품에 달려 있으며 제품은 핵심이 아닙니다. 해결책은 SALES 테이블을 두 개의 테이블로 나누는 것입니다. 한 테이블은 Customer_ID를 키로 사용하고 다른 테이블은 Product를 키로 사용합니다. 데이터베이스는 3NF 외에 DK / NF에도 있습니다.

    가능하면 데이터베이스가 DK / NF가되도록 설계하십시오. 그렇게 할 수있는 경우 키와 도메인 제한을 적용하면 모든 제약 조건이 충족되고 수정 변형이 불가능합니다. 데이터베이스 구조가 DK / NF에 넣지 못하도록 설계된 경우 데이터베이스를 사용하는 응용 프로그램에 제약 조건을 작성해야합니다. 데이터베이스 자체가 제약 조건이 충족 될 것이라고 보장하지는 않습니다.

비정상적인 형태

인생과 마찬가지로 데이터베이스에서도: 때로는 비정상적인 결과가 발생합니다.정상화로 도취 될 수 있고 너무 멀리 갈 수 있습니다. 데이터베이스를 너무 많은 테이블로 나누면 전체가 다루기 힘들고 비효율적이게됩니다. 성능이 떨어질 수 있습니다. 종종 데이터베이스의 최적 구조가 다소 비정규 화됩니다. 실제로, 실용적인 데이터베이스 (실제로는 큰 데이터베이스)는 DK / NF 에까지 정규화 된 적이 거의 없습니다. 그러나 수정 한 데이터베이스를 정상화하여 수정 예외로 인한 데이터 손상 가능성을 제거하려고합니다. 가능한 한 데이터베이스를 정규화 한 후 일부 검색을 마른 실행으로 만듭니다. 성능이 만족스럽지 않으면 디자인을 검토하여 선택적인 비정규 화로 인해 무결성을 유지하면서 성능이 향상되는지 확인하십시오. 전략적 위치에 중복성을 신중하게 추가하고 비정상적인 ,

를 사용하면 예외적으로 효율적이고 안전한 데이터베이스에 도달 할 수 있습니다.

SQL 도메인 키 정규형 (DK / NF) 및 비정상 형

편집자의 선택

여성 건강 : 케겔 운동 방법 - 인형

여성 건강 : 케겔 운동 방법 - 인형

케겔 운동은 성기의 근육을 타겟으로합니다. 이 근육은 출산 중에 발생하는 스트레칭으로 인해 종종 약해지지만, 임신 한 적이없는 여성을 포함하여 어떤 여성이라도 적절한 케겔 (Kegel)을하는 법을 아는 것이 도움이 될 수 있습니다. 본질적으로 케겔 (Kegel)은 생식기에 좋은 운동을 제공하여 ...

폐경기 동안 기대할 사항 - 인형

폐경기 동안 기대할 사항 - 인형

폐경은 모든 여성의 삶의 사실입니다. 다른 연령대의 여러 단계의 증상으로 진행됩니다. 폐경의 결과로 여성은 알을 낳지 않고 생리를 멈추지 만 여성 호르몬, 에스트로겐 및 호르몬의 생성을 감소시킵니다.

여성 건강 : 요로 감염을 예방하는 방법 - 인형

여성 건강 : 요로 감염을 예방하는 방법 - 인형

요로 감염 (UTI)은 상당히 여성의 공통점. 통증이있는 ​​배뇨 나 잦은 소변과 같은 요로 감염의 증상을 발견하면 치료를받는 것이 중요합니다. UTI 치료는 일반적으로 항생제의 빠른 과정이지만 전문가의 도움을받는 데는 지체가 있으면 치료 시간이 길어질 수 있습니다. ...

편집자의 선택

Salesforce 조직에서 깨끗한 데이터를 유지 관리하는 많은 회사에서 Salesforce 조직의 깨끗한 데이터 유지 보수

Salesforce 조직에서 깨끗한 데이터를 유지 관리하는 많은 회사에서 Salesforce 조직의 깨끗한 데이터 유지 보수

많은 사람들을 위해 일하는 것과 비슷합니다. 많은 기업들이 혜택을 인식하고 있음에도 불구하고 습관을 버리는 것에 저항합니다. 사람들은 깨끗한 데이터가 시스템에 들어갈 수 있도록 시간을 할애하고 싶지 않지만 같은 사람들은 빨리 작업 할 수 있습니다 ...

Salesforce에서 캠페인을 만드는 방법 - Professional, Enterprise 또는 Unlimited Edition 사용자를 위해 제공되는 인형

Salesforce에서 캠페인을 만드는 방법 - Professional, Enterprise 또는 Unlimited Edition 사용자를 위해 제공되는 인형

Salesforce의 모듈은 마케팅 프로그램을 관리, 추적 및 측정하는 데 사용하는 일련의 도구입니다. 캠페인 레코드는 캠페인 레코드입니다. 수동 또는 자동으로 리드, 연락처 및 / 또는 기회 레코드에 링크하여 캠페인에 대한 실제 메트릭을 제공 할 수 있습니다.

편집자의 선택

표시 관련 기사 Joomla 웹 사이트 - 인형

표시 관련 기사 Joomla 웹 사이트 - 인형

Joomla의 또 다른 멋진 모듈은 기사 - 관련 기사. 기사 - 관련 기사는 사이트 방문자가 보려고 선택한 기사와 관련된 기사를 표시하는 모듈입니다. 이 모듈은 현재 기사와 관련된 기사를 어떻게 알 수 있습니까? 그것은 메타 데이터에 입력 할 수있는 메타 데이터 키워드를 사용합니다 ...

Joomla의 저자, ​​편집자 및 발행인 계정 만들기 - 더미

Joomla의 저자, ​​편집자 및 발행인 계정 만들기 - 더미

Joomla는 세 가지 프런트 엔드 사용자, 백엔드 사용자 및 그 중간에있는 특수 클래스의 사용자 클래스가 있습니다. 이 클래스에는 3 개의 사용자 그룹이 있습니다. 작성자는 기사를 제출할 수 있습니다. 편집자는 새 기사를 제출하고 기존 기사를 편집 할 수 있습니다. 게시자는 새 기사를 제출하고 기존 기사를 편집하며 기사를 게시 할 수 있습니다. Joomla 사이트 작성자 작성 ...