ERD를 이용한 DB 모델링

35
ERD를 이용한 DB 모델링 용영환

description

ERD를 이용한 DB 모델링

Transcript of ERD를 이용한 DB 모델링

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 실체

ERD를 그려서 얻는 이점

RDBMS 데이터 설계가 쉬워집니다.

프로그래밍,그러니까 코드 짜는게 좀더 편해 집니다.

그럴 싸~ 합니다. 뿌듯하죠.

개발을 하다보니

정말 실무에서 ERD는 자주 그리게 됩니다.

ERD 도구

ER-winMySQL Workbench

이 외에도 많은데요.ERD Tool, DB Design tool 등을 검색해 보세요.

ERD 식별자

ERD 표기법

출처 :한국데이터베이스진흥원

다양한 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 위키피디아