- 정보화 시스템을 구축하기 위해 어떤 데이터가 존재 하는지 또는 업무에 필요한 정보는 무엇인지 분석하는 방법
- 관계형 데이터베이스는 이 '표'의 개념을 사용해서 데이터를 구성하는 방법을 사용
업무파악 → 개념적 데이터 모델링 → 논리적 데이터 모델링 → 물리적 데이터 모델링
현재 하려는 일이 무엇인지, 어떤것을 만들고 싶은지에 대한 요건 정의서, 기획서를 이용하여 업무파악을 할 수 있다.
업무분속 단계에서 얻어진 내용을 토대로 우선 Entity를 추출하고 Entity내의 속성(Attribute)을 구성하며 Entity간의 관계를 정의해서
ER-Diagram
을 작성하는 단계이다.
Entity Relationship(E-R) Diagram 기호
Entity Relationship(E-R) Diagram 예시
사용자와 관계가 있는 주요 객체로써 업무 수행을 위해 데이터로 관리되어져야 하는 사람, 사물, 장소, 사건 등을 개체라고 한다
Entity 찾는 법
정의
속성의 유형
한 개체 내에서 인스턴스를 유일하게 구분할 수 이ㅛ는 단일 속성 또는 속성 그룹
이름 | 설명 |
---|---|
후보키(Candidatte Key) | 개체 내에서 각각의 인스턴스를 구분할 수 있는 속성으로 기본키가 될 수 있는 후보 속성 |
기본키(Primary Key) | 개체에서 각 인스턴스를 유일하게 식별하는데 가장 적합한 key, 기본키 설정 시 고려할 사항으로 해당 실체를 대표할 수 있을 것, 업무적으로 활용도가 높을 것, 길이가 짧을 것 등이 있다 |
대체키(Alternate Key) | 후보키 중에서 기본키로 선정되지 않은 속성 |
복합키(Composite Key) | 하나의 속성으로 기본키가 될 수 없는 경우 둘 이상의 컬럼을 묶어서 식별자로 정의하는 경우 |
대리키(Surrogate Key) | 식별자가 너무 길거나 여러개의 속성으로 구성되어 있는 경우에 인위적으로 추가할 식별자 |
두 Entity간의 업무적인 연관성 또는 관련 사실
차수성(cardinality)
: 한 실체의 하나의 인스턴스가 다른 실체의 몇 개의 인스턴스와 관련될 수 있는가를 정의선택성(optionality)
: 선택적(optional)인지 반드시(mandatory)인지를 표시1:1
: 두 실체의 레코드가 서로 하나씩 대응1:N
: 부모 실체의 레코드가 자식 실체의 여러 레코드에 대응N:N
: 양쪽 실체 간에 여러개의 레코드와 관계를 맺을 수 있는 경우개념적으로 구체화한 모델을 관계형 데이터베이스에 맞게 구축하는 단계
개념적 모델링 단계에서 정의된 E-R Diagram을 Mapping Rule을 적용하여 관계형 데이터베이스 이론에 입각한 스키마를 설계하는 단계와 이를 이용하여 필요하다면 정규화 하는 단계로 구성
기본키
참조키, 이웃키
개념적 데이터베이스 모델링에서 도출된 개체 타입과 관계 타입의 테이블 정의
개념 | >>> | 논리 |
---|---|---|
단순 엔티티 | >>> | 테이블 |
속성 | >>> | 컬럼 |
식별자 | >>> | 기본키 |
관계 | >>> | 참조키, 테이블 |
어떤 DB 솔루션을 사용할지 선택하고 DB 솔루션에 가장 최적화된 SQL문을 작성하여 실제 Table을 만드는 단계
논리적 모델링 단계에서 얻어진 데이터베이스 스키마를 좀 더 효율적으로 구현하기 위한 작업으로 DBMS 특성에 맞게 실제 데이터베이스 내의 개체들을 정의하는 단계
데이터 사용량 분석과 업무 프로세스 분석을 통해서 보다 효율적인 데이터베이스가 될 수 있도록 효과적인 인덱스를 정의하고 상황에 따른 역정규화 작업을 수행
방법