본문 바로가기

728x90

기타/관계형 데이터 모델링

(3)
데이터 베이스 정규화 부분종속성 제거 예시 오늘은 데이터 베이스 정규화 그중에서도 No partial dependencies(부분 종속성)를 제거하는 방법에 대해 알아보도록 하겠습니다. 위의 표를 보면 코딩 마스터, 프런트엔드, vuejs 등 반복되는 부분이 많습니다. 위와 같이 데이터 베이스를 만들면 당연히 비효율적이겠죠. 데이터를 추가할 때 삭제할 때 데이터의 이동이 많아지니 더욱 비효율적이죠. 이렇듯 반복에 의해 발생하는 문제를 부분 종속성이라 부릅니다. 부분 종속성을 없애는 방법은 아래와 같습니다. 중복을 없애기 위해서는 테이블을 분리해주어야 합니다. 장기, 중기, 단기 목표로 분리하고 상위 테이블의 id를 통해 중복을 없앨 수 있습니다. 장기 목표는 코딩 마스터와, 인문학 마스터 두 가지입니다. 전자에 1, 후자에 2를 부여하고 중기목표..
관계형 데이터 모델링 정규화 No transitive dependencies 전 시간에 Atomic columns와 No partial dependencies를 해결해 보았습니다. 오늘은 No transitive dependencies에 대해 알아보도록 하겠습니다. No transitive dependencies는 이행적 종속적입니다. 예를 들어 아래와 같은 표가 있다고 했을 때, 손흥민은 에이전트에 소속되어 있고 에이전트는 소속사에 종속되어 있다고 가정합시다. 달리기, 이적료는 손흥민에 의존하고 있지만 소속사는 에이전트에 종속되어 있죠. 이러한 것은 이행적 종속성이라고 합니다. 이를 아래와 같이 해결할 수 있습니다. 중복되는 부분도 함께 제거할 수 있습니다.
관계형 데이터 모델링 정규화 Atomic columns와 No partial dependencies 오늘은 관계형 데이터 모델링 정규화에 대해 공부해 보려 합니다. Atomic columns와 No partial dependencies(부분 종속성)에 대해 알아보도록 하겠습니다. (1)Atomic columns 예를들어 이런 표가 있다고 합시다. 우리가 데이터 베이스에서 데이터를 가져올 때 특정 열의 값들이 두개 이상이라면 가져와서 제대로 처리할 수 있을까요? 관계형 데이터 베이스에서는 힘듭니다. 때문에 값들이 한가지 여야 합니다.(Atomic해야 합니다.) 그런데 위의 표를 보면 광고 부분의 값들이 두개씩 들어 있습니다. 이를 한가지 값만 갖도록 바꿔줘야 합니다. 이러한 상황은 주로 N:M관계에서 나옵니다. 즉 선수들은 여러개의 광고를 할 수 있고 광고주는 여러 선수를 후원할 수 있죠. 이러한 문제를..

728x90