ERD를 이용한 DB 모델링
용영환
주의
정답이 아닙니다.
취업이나 승진을 보장하지 않습니다.
Model
http://ko.wikipedia.org/wiki/%ED%8C%8C%EC%9D%BC:%EB%A0%88%EC%9D%B4%EC%8B%B1%EB%AA%A8%EB%8D%B8.JPG
3D Modeling
http://images.kbench.com:8080/kbench/article/2009_09/k73958p3n1-s.jpg
소프트웨어를 해부하면
크게 “동작”과 “데이터”로 나눌 수 있을 것 같습니다.
인간을 위한 소프트웨어 중에
데이터가 없는 소프트웨어는… 없겠지…요.
모델링(modeling) 이란
명사1 .
<미술>모델을 보고 닮게 만드는 일. 주로 석고상이나 모델을
보고 점토 소조로 만드는 것을 이른다.
모델링(modeling) 이란
우리말 : 모각
이미 있는 조각 작품을 보고 그대로 본떠 새김.
소프트웨어 모델링이란
만들고자 하는… 머리 속에 있는 생각을
누구나 볼 수 있게 본을 뜨는 것입니다.
객체나 DB 를 그림으로 표현하는 것입니다.
모델링을 하면 좋은 점
만들고자 하는 바를 더 명확하게 알 수 있다.
조금 더 잘 만들 수 있다.
이해하고 소통하기 편합니다.
모델링을 하면 더 좋은 점
면접 볼 때 좋습니다.
보여 줄 때 좋습니다.
만들고 나면 뿌듯합니다.
데이터베이스 설계 필요성
데이터를 보다 잘 다루기 위해서 입니다.
소프트웨어 전체에 영향을 미칩니다.
ERD
Entity-Relationship Diagram ( 개체 관계 다이어그램 )
ERD를 그려서 얻는 이점
RDBMS 데이터 설계가 쉬워집니다.
프로그래밍,그러니까 코드 짜는게 좀더 편해 집니다.
그럴 싸~ 합니다. 뿌듯하죠.
개발을 하다보니
정말 실무에서 ERD는 자주 그리게 됩니다.
ERD 도구
ER-winMySQL Workbench
이 외에도 많은데요.ERD Tool, DB Design tool 등을 검색해 보세요.
ERD 표기법
출처 :한국데이터베이스진흥원
데이터베이스
모델링에서는 스키마(Schema)라고도 합니다.
선
테이블 간의 관계를 의미
실선 : Primary Key점선 : Foreign Key
Keys
Primary Key(PK) : 중복이 없는 유일한 값
Foreign Key(FK) : 다른 테이블의 PK를 참고한 값
관계(Relationship)
두 테이블이 어떻게 참조를 하고 있는지를 말한다.
RDBMS 무결성실체 무결성(Entity Integrity)
•주식별자(Primary Identifier : Primary Key)는 유일하다.•주식별자는 Null(Not Null)을 포함하지 않는다.
참조 무결성(Reference Integrity)•모든 외부식별자(Foreign Identifier : Foreign Key) 값은 관련
있는 관계테이블의 모든 주식별자 값이 존재해야 한다.
영역 무결성(Domain Integrity)•테이블 내의 모든 열에 대한 무결성 법칙으로 데이터형태, 변위
기본값, 유일성 등에 관한 제한이다.
알아야 할 용어
Identifying Relationship : “식별 관계”Mandatory : 필수
Cascade : “폭포”, “폭포처럼 떨어뜨리다.” = 연쇄
Identifying Relationship
Identifying ßà Non-Identifying
Foreign key 가 PK 로 지정되어 있는가
Mandatory
NULL !
참고 대상의 존재 여부를 의미한다.
Foreign key options
RESTRICT : 참고 테이블의 값의 변경을 거부한다.CASCADE : 같이 삭제 또는 수정
SET NULL : NULL 로 변경
NO ACTION : RESTRICT 랑 동일한 결과
RESTRICT vs. NO ACTION
RESTRICT : 일단 거절
NO ACTION : 나중에 거절
정규화
관계형 데이터베이스의 설계에서 중복을 최소화하게 데
이터를 구조화하는 프로세스를 정규화라고 한다.
From 위키피디아