개인 재정 SQL 첫 번째, 두 번째 및 세 번째 정규 양식 - 더미

SQL 첫 번째, 두 번째 및 세 번째 정규 양식 - 더미

차례:

비디오: 파이썬 입문 강좌 | TEAMLAB X Inflearn | 14-3 정규 표현식: Regular Expression 2024

비디오: 파이썬 입문 강좌 | TEAMLAB X Inflearn | 14-3 정규 표현식: Regular Expression 2024
Anonim

SQL에 수정 변형 원인은 세 가지가 있습니다. 는 제 1, 제 2 및 제 3 999 형태 (1NF, 2NF, 3NF)로 정의된다. 이러한 정상적인 형태는 수정 변형에 대한 해결책으로 작용합니다. 첫 번째 정규형 첫 번째 정규형 (1NF)이 되려면 테이블의 품질이 다음과 같아야합니다.

이 테이블은 행과 열이 2 차원입니다.

각 행에는 사물의 일부 또는 일부와 관련된 데이터가 들어 있습니다.

  • 각 열에는 설명 대상의 단일 속성에 대한 데이터가 들어 있습니다.

    표의 각 셀 (행과 열의 교차점)은 하나의 값만 가져야합니다.
  • 모든 열의 항목은 모두 같은 종류 여야합니다. 예를 들어 한 열의 한 행에있는 항목에 직원 이름이 포함되어 있으면 다른 모든 행에도 해당 열에 직원 이름이 포함되어야합니다.

  • 각 열에는 고유 한 이름이 있어야합니다.

    두 행이 동일하지 않을 수 있습니다 (즉, 각 행은 고유해야 함).
  • 열의 순서와 행의 순서는 중요하지 않습니다.

  • 첫 번째 정규 형식의 표 (관계)는 몇 가지 변형 변형에 영향을받지 않지만 여전히 다른 대상의 영향을받습니다. SALES 테이블은 첫 x ​​째 정규 양식이며 테이블은 h 제 및 삽입 이상이 _ 생합니다. 첫 번째 정규형은 일부 애플리케이션에서는 유용 할 수 있지만 다른 애플리케이션에서는 신뢰할 수 없습니다.

두 번째 정규 형식

두 번째 정규 형식을 이해하려면 기능 종속성에 대한 아이디어를 이해해야합니다.

기능적 종속성

은 속성 들간 또는 속성 들간의 관계이다. 두 번째 속성의 값이 첫 번째 속성의 값을 결정하면 하나의 속성은 다른 속성에 기능적으로 종속됩니다. 두 번째 속성의 값을 알고 있으면 첫 번째 속성의 값을 결정할 수 있습니다. 예를 들어 테이블에 다음 방정식과 관련된 특성 (열) StandardCharge, NumberOfTests 및 TotalCharge가 있다고 가정합니다. TotalCharge = StandardCharge * NumberOfTests

TotalCharge는 StandardCharge 및 NumberOfTests에 기능적으로 종속됩니다. StandardCharge 및 NumberOfTests 값을 알고 있으면 TotalCharge 값을 결정할 수 있습니다.

첫 번째 정규 형식의 모든 테이블에는 고유 한 기본 키가 있어야합니다. 이 키는 하나 이상의 열로 구성 될 수 있습니다. 둘 이상의 열로 구성된 키를

복합 키라고합니다. 두 번째 정규형 (2NF)이 되려면 모든 비 핵심 속성이 전체 키에 의존해야합니다. 따라서 하나의 속성 키를 가진 1NF에있는 모든 관계는 자동으로 두 번째 정규 형식입니다.관계에 복합 키가있는 경우, 키가 아닌 모든 속성은 키의 모든 구성 요소에 의존해야합니다. 키가 아닌 속성이 키의 모든 구성 요소에 종속되지 않는 테이블이있는 경우, 테이블을 두 개 이상의 테이블로 분리하여 - 새 테이블 각각에서 모든 비 핵심 속성이 모든 구성 요소에 종속되도록하십시오 기본 키의.

소리가 혼란 스럽습니까? 문제를 명확히하기 위해 예를보십시오. SALES 테이블을 고려하십시오. 각 고객에 대해 단일 구매를 기록하는 대신 고객이 처음 항목을 구입할 때마다 행을 추가합니다. 추가적인 차이점은 전세 고객 (Customer_ID 값이 1001 ~ 1007 인 고객)이 정상 가격에서 할인을 받는다는 것입니다. Customer_ID가 행을 고유하게 식별하지 않습니다. Customer_ID 열과 Product 열의 조합은 행을 고유하게 식별합니다. 이 두 열은 함께 복합 키입니다. 가격 (비 핵심 속성)이 키의 일부에만 의존하기 때문에 일부 고객이 할인 대상이고 다른 고객은 그렇지 않은 경우 표가 두 번째 정규 형식이 아닐 수 있습니다 (생성물). 일부 고객은 할인 대상이므로 가격은 CustomerID와 Product에 따라 달라지며 테이블은 두 번째 정규 형식입니다.

세 번째 정규 형식

두 번째 정규 형식의 테이블은 특정 유형의 수정 예외, 특히 전 이적 종속성에서 비롯된 테이블의 취약성에 특히 취약합니다.

전이 종속성

은 하나의 속성이 두 번째 속성에 종속 될 때 발생합니다. 두 번째 속성은 세 번째 속성에 따라 다릅니다. 이러한 종속성이있는 테이블에서 삭제하면 원하지 않는 정보가 손실 될 수 있습니다. 세 번째 정규형의 관계는 전이 의존성이없는 두 번째 정규형의 관계입니다.

첫 번째 정규 양식을 알고있는 SALES 테이블을 다시보십시오. 각 Customer_ID에 대해 한 행만 허용하도록 항목을 제한하는 한 단일 속성 기본 키가 있으며 테이블은 두 번째 정규 형식입니다. 그러나 테이블에는 여전히 예외가있을 수 있습니다. 예를 들어, 고객 1010이 염소 표백제에 만족하지 못하고 환불을 위해 물품을 반환한다면 어떻게 될까요?

고객 1010이 염소 표백제를 구입했다는 사실을 기록하는 테이블에서 세 번째 행을 제거하려고합니다. 문제가 있습니다: 그 행을 제거하면 염소 표백제 가격이 $ 4입니다. 이 상황은 전이 종속성의 예입니다. 가격은 제품에 따라 다르며, 차례대로 기본 키 Customer_ID에 따라 다릅니다.

SALES 테이블을 두 개의 테이블로 나누면 전이 종속성 문제가 해결됩니다. 두 테이블은 세 번째 정규 형식의 데이터베이스를 구성합니다.

SQL 첫 번째, 두 번째 및 세 번째 정규 양식 - 더미

편집자의 선택

OneNote 2013에서 메모 서식을 지정하는 방법 - 인형

OneNote 2013에서 메모 서식을 지정하는 방법 - 인형

Windows 용 OneNote에서 메모를 서식 지정하는 과정은 OneNote 2013과는 조금 다른 것입니다. 다음은 Windows 용 OneNote에서 주요 서식 지정 작업을 수행하는 방법입니다. OneNote에서 텍스트를 수정하고 조작하는 방법 Windows 용 OneNote에는 리본이 없으므로 ...

OneNote 2013에서 메모를 보내는 방법 - 간단한 방법 인

OneNote 2013에서 메모를 보내는 방법 - 간단한 방법 인

OneNote 2013과 메모를 공유하는 방법은 전자 메일 수신자 또는 Microsoft Word 또는 블로그에 파일로 보내는 것입니다. 현재 메모를 파일로 보내려면 다음과 같이하십시오. OneNote 2013에서 공유하려는 메모를 열고 선택하십시오.

OneNote 2013에서 메모를 동기화하는 방법 - 인형

OneNote 2013에서 메모를 동기화하는 방법 - 인형

OneNote 2013은 수동으로 파일을 저장하는 전체 개념 동기화하는 데 유리합니다. 자동 또는 수동으로 파일을 동기화 할 수 있습니다. 이렇게하면 파일을 관리 할 때 약간의 자유가 생깁니다. OneNote에서 자동으로 동기화하는 방법 OneNote는 노트, 섹션 등을 변경할 때마다 노트를 자동 저장합니다.

편집자의 선택

루비 인형 용 인형 치트 시트 - 인형

루비 인형 용 인형 치트 시트 - 인형

루비 온 레일스는 오픈 소스 프레임 워크입니다. 웹 사이트 및 웹 기반 데이터베이스를 구축하는 데 사용할 수 있습니다. 물론 다른 프로그래밍 언어와 마찬가지로 Ruby의 키워드와 Rail의 명명 규칙을 알아야합니다.

웹 사이트 재 설계를위한 테스트 방법론 - 새로운 웹 사이트를 구축하거나 웹 사이트 디자인을 재 설계 할 때

웹 사이트 재 설계를위한 테스트 방법론 - 새로운 웹 사이트를 구축하거나 웹 사이트 디자인을 재 설계 할 때

웹 사이트를 통해 테스트 방법론을 표준화하는 데 시간을 투자해야합니다. 하나의 테스트 방법론으로 표준화함으로써 테스트 결과를보다 정확하게 평가할 수 있습니다. 또한 테스트를 팀의 일부 직원에게 위임 할 수 있습니다. 체크리스트가 있습니다 ...

웹 사이트 호스팅을위한 열 개의 장소 - 인형

웹 사이트 호스팅을위한 열 개의 장소 - 인형

항상 좋은 질문입니다 . 요즘에는 매우 다양한 웹 서비스가 있기 때문에 웹 사이트의 정의가 문제가되고 있습니다. 따라서 여기에는 두 개의 블로깅 사이트를 포함하여 "실제"웹 사이트를 호스팅 할 수있는 10 개의 장소가 있습니다. Google Page Creator :이 유연한 페이지 생성 서비스는 ...

편집자의 선택

Mac 용 Office 2011의 스크랩북에 클립을 추가하는 방법 - 스크랩북은 하나임

Mac 용 Office 2011의 스크랩북에 클립을 추가하는 방법 - 스크랩북은 하나임

Office 2011 Toolbox 인터페이스의 중요한 탭에 대해 설명합니다. PowerPoint 슬라이드의 그림과 같은 것을 선택하고 편집 → 복사를 선택하면 해당 그림이 클립 보드로 전송됩니다. 이제 열려있는 Word 문서로 이동하여 편집 → 붙여 넣기를 선택하여 복사본을 가져올 수 있습니다.

Mac 용 Office 2011의 올바른 버전을 선택하는 방법 - 마네킹

Mac 용 Office 2011의 올바른 버전을 선택하는 방법 - 마네킹

Office 2011 for Mac 여러 버전이 제공되므로 Mac에 새로운 Word, Excel, PowerPoint 등을 설치할 때 약간의 연구가 필요합니다. Mac 용 Office 2011의 각 버전에는 다른 가격 및 다양한 응용 프로그램 및 기능 세트가 있습니다. 다음 목록은 에디션을 선택하는 데 도움이됩니다.

Mac 용 Office 2011에서 리본을 사용자 지정하는 방법 - Office 2011의 새로운

Mac 용 Office 2011에서 리본을 사용자 지정하는 방법 - Office 2011의 새로운

리본은 고정 된 화면 영역을 차지하는 크고 두꺼운 도구 모음과 같습니다. Office 2011의 첫 번째 리본 반복은 제한적인 사용자 지정 기능을 제공합니다. 리본의 오른쪽 가장자리에있는 휠을 클릭하여 리본을 사용자 정의 할 수 있습니다. 리본이 응답하지 않습니다 ...