[DA] 코드에 대해

JaeIn Kim

--

코드는 무엇인가?

있는 그대로 사용하기에는 불편한 것에 대한 기호

코드는 왜 필요한가?

AS-IS

원하는 분류의 집계를 하지 못함. (E.g., 이음동의어 존재로 인함. 전번, 전화번호 등)

TO-BE

그루핑을 통해 집계 가능

식별자와 코드는 목적이 다르다.

부서코드, 상품코드 등과 같은 것은 잘못된 명명법이다.
엔터티의 개별 인스턴스를 유일하게 식별하기 위해 필요한 것이 식별자이고, 릴레이션의 튜플들에 대한 특정 기준 중심의 분류로 사용하는 것이 코드이다. 즉, 코드는 분류를 위한 도구이지 데이터가 쌓이는 기준은 아니다.
*명명법: 식별자는 ‘ID’, ‘번호’를 붙이고 코드는 ‘코드’를 붙이는 것이 요즘 추세이다.

공통코드는 무엇인가?

공통코드는 코드 성격의 개별 테이블들을 한 단계 더 추상화하여 한 곳에 모아둔 것이다.

공통코드는 왜 필요한가?

AS-IS

원하는 개별 코드를 일일이 찾고 사용하는 과정이 힘듬

TO-BE

관리적인 측면: 등록, 참조, 분배 등
성능 상의 측면: 하나의 테이블로 응집되어 메모리에 상주. 한번의 Disk I/O

제한사항

함께 관리해야 하는 부가 속성이 많은 경우 비효율적

공통코드는 어떻게 관리해야 하는가?

일반적인 구조(코드북. Code Book)

  • 제한사항: 공통코드ID를 알아야 사용할 수 있음
    SELECT *
    FROM 업무테이블 A, 공통코드값 B
    WHERE A.사용여부 = ‘Y’
    AND A.고등학교종류코드 = B. 공통코드값
    AND B.공통코드ID = ‘1001’

→ 이런 경우 공통코드ID를 무의미한 일련번호 식별자 대신 코드 속성의 영문 컬럼명을 사용할 수 있음

코드 간 계층구조와 부분집합을 관리하는 방법

만약, 특정 코드에 대해 A와 B팀이 각각 나누어 코드를 관리하고 싶다면 어떻게 해야 하는가?

공통코드를 계층구조로 관리하는 방법

코드값 수준에서의 계층구조를 관리하는 모델

참고

[프로젝트 성패를 결정짓는 데이터 모델링 이야기] 책

Sign up to discover human stories that deepen your understanding of the world.

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

--

--

JaeIn Kim
JaeIn Kim

No responses yet

Write a response