erd를 이용한 db 모델링

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

Upload: young-d

Post on 02-Jul-2015

1.131 views

Category:

Technology


7 download

DESCRIPTION

ERD를 이용한 DB 모델링

TRANSCRIPT

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