전체 글17 3정규형(3NF) 2023.03.03 - [분류 전체보기] - 2정규형(2NF) 이행성 3정규형을 알려면 이행성의 개념에 대해 알아야합니다. id 제품명 브랜드 브랜드 본사 주소 1 나이키 조던 카마인 나이키 미국 어딘가 2 아디다스 이지부스트 아디다스 독일 어딘가 위 테이블은 제가 제품 테이블이라고 만들어 놓은 건데요. 사실 어딘가 좀 이상합니다. 제품명 컬럼은 브랜드 컬럼을 결정 지을 수 있습니다. 브랜드 컬럼은 브랜드 본사 주소를 결정지을 수 있습니다. 제품명 컬럼이 브랜드 본사 주소를 결정 지을 수는 없어요. 이처럼 A가 B를 결정하고, B가 C를 결정하는 것을 이행성이라고 합니다. 브랜드 본사 주소는 제품명에 이행적 함수 종속성이 있다라고도 표현합니다. 3정규형(3NF) 3정규형은 조건은 아래와 같습니다. 2정규.. 2023. 3. 4. 2정규형(2NF) 함수 종속성 id 주민번호 이름 성별 1 890101-1xxxxxx 홍길동 남 2 930101-2xxxxxx 홍길순 여 2정규형을 알려면 함수 종속성의 개념을 알아야합니다. 위 테이블을 보면 주민번호는 이름과 성별을 결정합니다. 즉 주민번호를 알면 이름과 성별을 알 수 있죠. 이런 것을 좀 어렵게 표현하면 이름과 성별은 주민번호에 종속된다. 라고 합니다. 주민번호만 알면 특정 로우를 결정지을 수 있어요. 이것을 함수 종속성이라고 합니다. 반대의 경우는 어떨까요? 이름을 안다고 주민번호를 알 순 없습니다. 위 테이블에서는 표현하진 않았지만 동명이인이 있을 수 있기 때문이에요. 이런 컬럼들은 특정 로우를 결정지을 수 없습니다. 이름을 안다고 몇 번째 로우인지 알 수없는 것이죠. 2정규형(2NF) 정규형의 기.. 2023. 3. 3. 1정규형(1NF) 1정규형(1NF) 첫 번째 정규형식(1정규형, 1NF)은 데이터베이스를 정규화 중 가장 간단한 형태입니다. 데이터베이스에서 테이블의 모든 로우의 컬럼 값은 나눌 수 없어야 합니다. 각 컬럼은 분할할 수 없는 원자 값만을 가져야합니다. 이 개념을 설명하기 위해 간단한예를 들어보겠습니다. 직원이라는 테이블이 있다고 가정해보겠습니다. 이 테이블에는 직원 이름과 직원 전화번호를 저장합니다. 직원은 하나 이상의 전화번호를 가질 수 있습니다. 이럴 경우, 직원 테이블에 직원 전화번호 컬럼 안에 전화번호 목록을 저장하는 방식은 1정규화에 부합하지 않습니다. 이를 해결하기 위해서는 직원 전화번호 테이블을 새로 만들고, 직원 테이블을 참조하여 데이터베이스를 설계할 수 있습니다. 이번에는 실제 표를 보면서 비슷한 예시를 .. 2023. 3. 3. 정규화 정규화 지난 글에서 이상 현상에 대해서 알아봤습니다. https://youngxdev.tistory.com/14 이상현상 이상현상 데이터베이스에서 삽입, 업데이트, 삭제를 정상적으로 할 수 없는 것을 이상현상(anpmaly)라고 합니다. 이상현상에는 삽입이상, 업데이트 이상, 삭제 이상 이 있습니다. 하나하나씩 알아 youngxdev.com 이상 현상은 결국 데이터베이스가 잘못 설계되어 나타납니다. 데이터베이스가 복잡해질수록 설계가 어렵고, 잘 설계인지 판단하기조차 어렵습니다. 이러한 문제를 해결하고자 데이터베이스 설계를 잘 했는지 판단하는 기준을 만들게 되었는데 그것이 바로 정규화입니다. 정규화는 데이터베이스의 데이터를 효율적이고 유연하며 이상 징후가 없도록 정리하는 프로세스입니다. 정규화의 목표는 데.. 2023. 3. 2. 이전 1 2 3 4 5 다음