데이터 전문가 지식포털 DBGuide.net

  • 로그인
  • 회원가입
  • IT용어사전
  • 사이트맵

D가이드

  • DA
  • SQL
  • 데이터실무
  • DB보안
  • DBMS
    • Tibero
    • Altibase
    • Cubrid
    • Oracle
    • MS-SQL
    • DB2
    • Sybase
    • Informix
    • MySQL
  • 기타
  • 산출물

D라운지

  • 전문가칼럼
  • 기술자료
  • 시장동향
  • 뉴스클리핑
  • Case Study
  • 세미나 자료
    • 주제별 보기
    • 행사별 보기
  • 리포트
  • 제품홍보관

D스토리

  • 데이터이야기
  • DB Q&A
  • DB 노하우
  • DB 튜닝서비스
  • 데이터 직무소개
  • 데이터 인터뷰

빅데이터아카데미

빅데이터 청년인재

사이버교육

  • 전체교육
  • (빅)데이터
  • 데이터아키텍처
  • 프로젝트관리
  • Oracle
  • MS-SQL Server
  • 대용량 DB
  • OS
  • Tool
  • JAVA
  • Cubrid
  • DB동향
  • Tibero
  • (자격검정)SQL과정

데이터 자격시험

  • 시험안내
    • 국가공인 데이터아키텍처전문가
    • 데이터아키텍처준전문가
    • 국가공인 SQL전문가
    • 국가공인 SQL개발자
    • 국가공인 데이터분석전문가
    • 국가공인 데이터분석준전문가
  • 시험일정
  • 시험접수
    • 접수안내
    • 접수신청
    • 접수조회/수정
    • 접수확인서 출력
    • 환불신청
    • 수험표출력
  • 시험결과
    • 시험결과조회
    • 자격증 출력
    • 보수교육
  • 시험교재
    • DA가이드
    • SQL가이드
    • 분석가이드
    • 분석가이드(개정)
  • 자격활용
    • 기업우대    
    • 공공우대
    • 대학우대
  • 고객센터
    • 공지사항
    • 자료실
    • 자주하는질문
    • 자격불편신고

전문가 칼럼

HomeD라운지전문가 칼럼rss

지식라이브러리

  • 전문가칼럼
  • 기술자료
  • 시장동향
  • 뉴스클리핑
  • Case Study
  • 세미나 자료
    • 주제별보기
    • 행사별보기
  • 리포트
  • 제품 홍보관
    • 제품 콘텐츠관
    • 제품 상세검색


DB일반

지식라이브러리 : 전문가 칼럼
전문가칼럼 보기
원문을 보시려면 로그인 하셔야 합니다. 로그인
추천 : 0회 추천하기
tf
제목 노찬형의 제로에서 시작하는 데이터 모델링 시즌II (최종회) : 모델링을 잘할 수 있는 조건 ‘정규화’
분류 DB일반 조회수 3519
작성일자 2019.12.30 출처 한국데이터산업진흥원
첨부파일 작성자 dbguide

◎ 연재기사 ◎

▷ 노찬형의 제로에서 시작하는 데이터 모델링 시즌II (1회) : 헷갈리는 릴레이션십 개념, 제대로 이해하기
▷ 노찬형의 제로에서 시작하는 데이터 모델링 시즌II (2회) : 데이터 모델링에서 릴레이션십과 상속의 원리
▷ 노찬형의 제로에서 시작하는 데이터 모델링 시즌II (3회) : 엔터티 계층과 릴레이션십 구성
▷ 노찬형의 제로에서 시작하는 데이터 모델링 시즌II (4회) : 릴레이션십 구성과 관계 유형별 모델
▷ 노찬형의 제로에서 시작하는 데이터 모델링 시즌II (5회) : M:M 논리 모델을 1:M의 모델로 바꾸기
▷ 노찬형의 제로에서 시작하는 데이터 모델링 시즌II (6회) : 릴레이션십 응용으로 프로그램의 유연성 확보
▷ 노찬형의 제로에서 시작하는 데이터 모델링 시즌II (7회) : 구체적이고 명확하게 이해하는 ‘속성’
▷ 노찬형의 제로에서 시작하는 데이터 모델링 시즌II (8회) : 데이터 모델링에서 속성명 도출의 원리
▷ 노찬형의 제로에서 시작하는 데이터 모델링 시즌II (9회) : 식별자로 인스턴스의 유일성 확보
▶ 노찬형의 제로에서 시작하는 데이터 모델링 시즌II (최종회) : 모델링을 잘할 수 있는 조건 ‘정규화’

노찬형의 제로에서 시작하는 데이터 모델링 시즌II (최종회)

모델링을 잘할 수 있는 조건 ‘정규화’



필자: 노찬형
대학에서 소프트웨어공학을 전공했으며 개발자로 사회 생활을 시작했다. 사회 생활 10년을 넘기고 시작했던 DB 공부가 프로그래머로서 자신을 분명하게 되돌아볼 수 있는 기회를 주었다. 사회 초년생 또는 대학생에게 도움이 되는 데이터 모델링 글을 쓰고 싶은 게 그의 작은 바람이다.
pemaker@gmail.com



주경야독하는 이들을 위해

우연한 일이 계기가 돼 필자는 DB와 데이터 모델링을 글로 정리할 수밖에 없는 상황에 맞닥뜨렸다. 필자는 2012년부터 2013년까지 한 대학에서 DB 강의를 했다. 강의를 요청받았을 때, 어떻게 해야 할지 난감했다. 필자가 맡은 반은 낮에는 일하고 저녁에 공부하는 학생들로 구성돼 있었다. 일반 대학생들처럼 많은 시간을 공부에 쓸 수 없는 학생들에 DB를 알려줘야 했다. 어떻게 하면 그들에게 작으나마 도움이 될까 하고 고민하던중 시중 교재 대신, 필자가 직접 강의 자료를 만들어 보면 좋겠다는 생각을 하기에 이르렀다.

물론 시중의 책이 부족해서 그런 것은 아니다. 필자가 자료를 직접 만들어 쓰면, 일반 책으로 했을 때보다 더 쉽게 소개할 수 있을 것 같아서 그랬다. 누가 보더라도 이해하기 쉽게 전달하겠다는 목표로 강의 자료를 만들기 시작했다. 2년 넘게 강의 자료를 준비하다 보니, DB의 기초와 데이터 모델링의 기초에 대한 내용을 어느 정도 만들어 낼 수 있었다.

학생들이 강의자료를 요청하면 줬다. 하지만 설명이 없는 프레젠테이션 문서라서 아쉬웠다. 설명이 추가되면 학생들이 예습/복습을 할 때도 훨씬 좋을 텐데…. 배웠거나 배울 학생들을 위해 프레젠테이션 문서를 글로 정리하기 시작했다. 말보다 글로 정리하는 게 더 어렵다는 걸 실감하는 순간의 연속이었다.

‘하늘 아래 새로운 건 없다’는 말처럼 필자의 강의 자료 역시 인식하든 못하든 수많은 자료와 가르침을 받았던 결과물들이다. 물론 보고 들었던 이론을 개발 현장에서 적용·확인하는 과정을 거친, 경험의 산물이다. 앞으로 몇 회에 걸쳐 ‘제로에서 시작하는 데이터 모델링’ 연재를 하겠다고 용기를 내보았다. 독자 여러분과 함께 쓴다는 생각으로 수많은 의견이나 접근 방법을 댓글 또는 이메일로 받을 수 있었으면 좋겠다.



지난 연재에서 식건자에 대해 알아보았다. 식별자란 여러 개의 데이터(인스턴스)에서 각각의 데이터(인스턴스)를 구분할 수 있는 속성의 조합임을 다시 한번 떠올리며, 연재의 마지막 주제인 정규화에 대해 알아본다.

정규화



정규화(normalization)는 데이터 모델링의 핵심이자 꽃이다. 정규화의 목적은 관계형 DB 기반의 모든 프로젝트에서 중복 없는(no redundancy) 상태의 좋은 모델을 만들기 위해서다.

식별자와의 종속성, 즉 함수종속을 기반으로 유사한 속성들을 모으고 분리하는 형태로 정규화한다. 정규화를 잘하면 모델링도 잘할 수 있다는 말처럼, 정규화는 모델링에서 꼭 해야 하는 부분이다. ‘중복이 없는 상태’는 앞선 연재에서 여러 번 소개했으니 어느 정도 감을 잡았을 것이다.

함수종속(functional dependency)은 특별히 소개한 적도 없어서 다소 생소하게 여겨질 것이다. 함수종속이 나오는 이유는 코드(E.F.Codd) 박사가 수학의 집합 개념을 기반으로 데이터 모델링의 개념을 정립했기 때문이다.

함수종속이란 데이터의 종속성(data dependency)에 관한 것 ....
지식라이브러리 : 전문가 칼럼 : 덧글보기
전문가 칼럼게시글에 대한 덧글
덧글내용 날짜 작성자 삭제여부
이전, 다음 게시물 목록
이전글 이전글이 없습니다.
다음글 양용성의 DB 개발자 이야기 시즌I (2회) : 한 줄 코드로 2만원을 벌다
스크랩목록
사이버교육02)3708-5391
빅데이터아카데미02)3708-5393
자격시험02)3708-5415
청년인재02)3708-5394

DBGuide.net 데이터 전문가 지식포털

  • 개인정보보호정책
  • 관련사이트
  • 콘텐츠 불법 사용 규제
  • 이메일무단수집거부
  • Contact Us
  • rss

서울시 중구 세종대로9길 42 부영빌딩 8층 한국데이터산업진흥원 | 사업자등록번호 : 102-82-08963 | 통신판매번호 : 2013-서울종로-0591 | 대표자명 : 민기영

Copyright ⓒ KOREA Data Agency. All rights reserved.