본문 바로가기

데이터베이스 DataBase

chapter 06 데이터 모델링

데이터 모델링 : 데이터베이스 설계의 다른 말로 현실 세계의 특정 대상을 데이터화하여 모델을 만드는 과정. 현실 세계의 복잡한 개념을 단순화하고 추상화시켜 데이터베이스화하는 과정.

 

데이터베이스 생명주기 : 데이터베이스는 최초 사용자의 요구에 의해 구축되어 사용되다가 필요에 따라 개선 또는 다시 구축되어 사용됨. 이러한 데이터베이스의 생성과 운영에 관련된 특징을 데이터베이스 생명 주기라 함. 요구사항 수집 및 분석 -> 설계 -> 구현 -> 운영 -> 감시 및 개선 단계로 이루어짐.

 

요구사항 수집 및 분석 : 데이터베이스 구축을 위한 첫 단계로 앞으로의 진행방향이 결정되는 매우 중요한 단계로 현실 세계의 대상 및 사용자들의 요구사항을 듣고 분석하여 데이터베이스 구축의 범위를 정함. 구축할 데이터베이스와 관련된 전문적인 지식이 필요하며, 기초적인 내용에 중점을 두고 요구사항을 수집 및 분석해야 함. 일반적으로 실제 문서를 수집하고 분석하거나 담당자와의 인터뷰나 설문조사를 통해 요구사항을 수렴함. 또는 비슷한 업무를 처리하는 기존의 데이터베이스를 분석, 각 업무와 연관된 모든 부분을 살핌.

 

설계 : 분석된 요구사항을 기초로 주요 개념과 업무 프로세스 등을 식별하고(개념적 설계), 사용하는 DBMS의 종류에 맞게 변환(논리적 설계) 한 후, 데이터베이스 스키마를 도출(물리적 설계).

 

구현 : 설계 단계에서 생성한 스키마를 실제 DBMS에 적용하여 테이블 및 관련 객체(뷰, 인덱스 등)를 만듬. 관련 소프트웨어에 설계한 데이터베이스를 적용해 서비스를 제공할 수 있도록 완성.

 

운영 : 구현된 데이터베이스를 기반으로 소프트웨어를 구축해 서비스 제공.

 

감시 및 개선 : 데이터베이스 운영에 따른 시스템의 문제를 관찰하고 데이터베이스 자체의 문제점을 파악해 개선.

 

개념적 모델링 : 건물의 기본 골조를 만드는 과정과 같이 데이터베이스의 큰 골격을 만드는 과정으로 요구 사항을 수집하고 분석한 결과를 토대로 업무의 핵심적인 개념을 구분하고 전체적인 뼈대를 만듬. 여기서 핵심적인 개념을 구분한다는 것은 개체를 추출하고 각 개체들 간의 관계를 정의해 ER 다이어그램을 만드는 과정까지를 말함.

 

논리적 모델링 : 개념적 모델링에서 만든 ER 다이어그램을 사용하고자 하는 DBMS에 맞게 사상(mapping)하여 실제 데이터베이스로 구현하기 위한 모델을 만드는 과정. 관계 데이터 모델, 네트워크 데이터 모델, 계층 데이터 모델등으로 사상. 개념적 모델링에서 추출하지 않았던 상세 속성들을 모두 추출, 정규화 수행. 데이터 표준화 수행.

 

물리적 모델링 : 작성된 논리적 모델을 실제 컴퓨터의 저장장치에 저장하기 위한 물리적 구조를 정의하고 구현. DBMS의 특성에 맞게 저장 구조 정의. 응답시간 최소화, 얼마나 많은 트랜잭션을 동시에 발생시킬 수 있는지 검토, 데이터가 저장될 공간을 효율적으로 배치.

 

ER 모델 : 데이터 모델링 과정 중 개념적 모델링에 사용하는 모델로 1976년 피터 첸이 제안. 세상의 사물을 개체와 개체 간의 관계로 표현. 개체, 속성, 관계를 규명 하는 것이 ER 모델의 기본. ER 다이어그램이라는 표준화된 그림으로 나타냄.

 

개체 : 사람, 사물, 장소, 개념, 사건과 같이 독립적인 의미를 지니고 있는 유무형의 사람 또는 사물을 말하며, 개체의 특성을 나타내는 속성에 의해 식별. 개체끼리 서로 관계를 가짐. 개체, 속성, 관계를 규명하는 것이 ER 모델의 기본. 요구사항 수집 및 분석 단계에서 만들어진 요구사항 명세서를 통해 도출. 이렇게 도출된 개체들은 개체 집합으로 분류하고 공통된 속성을 추출하여 의미를 가장 잘 표현할 수 있는 개체 타입을 찾게 됨. 개체는 다음과 같은 특징을 가짐. 유일한 식별자에 의해 식별이 가능, 꾸준한 관리를 필요로 하는 정보, 두 개 이상 영속적으로 존재, 업무 프로세스에 이용, 반드시 자신의 특징을 나타내는 속성을 포함, 다른 개체와 최소 한 개 이상의 관계를 맺음. 개체는 ER 다이어그램상에서 직사각형으로 나타냄. 보통 개체는 강한 개체 타입과 약한 개체 타입으로 구분.

 

개체 집합 : 공통된 속성을 가진 개체들의 모임을 의미.

 

개체 타입 : 개체 집합의 동일한 특징을 나타내는 용어. 프로그래밍 언어의 데이터 타입을 연상시키면 됨.

 

강한 개체 타입 : 다른 개체의 도움 없이 독자적으로 존재할 수 있는 개체. 각 개체를 식별할 수 있는 기본키를 가짐.

 

약한 개체 타입 : 독자적으로는 존재할 수 없고 반드시 상위 개체 타입을 가짐. 약한 개체는 키를 갖지 못하고 대신 ER 다이어그램 상에서 아래에 점선을 그어 표현하는 식별자를 가짐. 자신의 기본키만으로 식별이 어려우므로 상위의 강한 개체 타입의 기본키를 상속받아 사용. ER다이어그램 상에서 이중 직사각형으로 표현.

 

식별자 : 상위 개체 타입의 키와 결합하여 약한 개체 타입의 개별 개체를 고유하게 식별하는 속성으로 부분키라고도 함.

 

속성 : 개체가 가진 성질. ER 다이어그램 상에서 기본적으로 타원으로 표현하며 개체를 유일하게 식별할 수 있는 키일 경우 속성 이름에 밑줄을 그음. 값의 형태에 따라 단순 속성과 복합 속성으로 구분. 속성 값의 개수에 따라 단일값 속성과 다중값 속성으로 구분. 속성 값이 다른 속성으로부터 유도될 수 있는지에 따라 저장 속성과 유도 속성으로 구분.

 

단순 속성 : 더 이상 분해가 불가능한 속성.

 

복합 속성 : 독립적인 의미를 가진 속성으로 분해할 수 있는 속성.

 

단일값 속성 : 하나의 값만을 가지는 속성.

 

다중값 속성 : 여러 개의 값을 가지는 속성. ER 다이어그램 상에서 이중 타원으로 표현.

 

저장 속성 : 다른 속성의 영향 없이 단독으로 저장되는 속성.

 

유도 속성 : 다른 저장 속성으로부터 유도된 속성. ER 다이어그램 상에서 점선 타원으로 표현.

 

관계 : 개체 사이의 연관성을 나타내는 개념으로 개체 간의 상호 작용을 표현.

 

관계 대응수 : 두 개체 타입의 관계에 실제로 참여하는 개별 개체 수를 의미. 일대일(1:1) 관계, 일대다(1:N), 다대일(N:1) 관계, 다대다(M:N) 관계가 존재. 관계 대응수가 표현하는 일대일, 일대다, 다대다의 문제점인 최소값의 미정을 보완하여 (최솟값, 최댓값)으로 표기하는 방법이 있음. 관계 대응수와 표기 위치가 달라 (최솟값, 최댓값) 표기는 관계 대응수 표기(일대일, 일대다, 다대일)와는 반대.

 

관계 타입 : 개체 타입과 개체 타입 간의 연결 가능한 관계를 정의. ER 다이어그램 상에서 마름모로 표현하며 추가적인 속성을 가짐으로 관계에 대한 추가적인 정보 제공. 각 개체 타입이 관계를 맺은 형태 즉, 차수와 관계 대응 수에 따라 몇 가지 유형으로 구분 가능.

 

관계 집합 : 관계로 연결된 집합을 의미.

 

차수 : 관계 집합에 참가하는 개체 타입의 수. 차수는 n진 관계로 표현. 1진 관계, 2진 관계, 3진 관계가 존재.

 

ISA 관계 : 상위 개체 타입의 특성에 따라 하위 개체 타입이 결정되는 형태로 상하 관계를 보이는 관계. 이때 상위 개체 타입을 슈퍼클래스라고 하며 하위 개체 타입을 서브클래스라고 함. 객체지향의 상속 개념과 유사.

 

참여 제약 조건 : 개체 집합 내 모든 개체가 관계에 참여하는지 유무에 따라 전체 참여와 부분 참여로 구분.

 

전체 참여 : ER 다이어그램 상에서 개체 타입과 관계를 두 줄 실선으로 표현. 개체 집합의 모든 개체가 관계에 참여. 최솟값이 1 이상.

 

부분 참여 : ER 다이어그램 상에서 일반적인 관계 표현과 동일하게 단일 실선으로 표현. 개체 집합의 일부만 참여. 최솟값이 0 이상.

 

역할 : 개체 타입 간의 관계를 표현할 때 각 개체들은 고유한 역할을 담당. 일반적으로 역할은 관계만으로 알 수 있으면 생략. 그러나 관계에서 역할이 명확하지 않을 경우 반드시 표기.

 

순환적 관계 : 하나의 개체 타입이 동일한 개체 타입과 순환적으로 관계를 가지는 형태.

 

IE 표기법 : ER모델의 기본적인 표기법엔 피터 첸 표기법도 있지만 Erwin을 이용한 IE 표기법도 존재. IE 표기법은 관계 대응수를 새발 모양의 기호로 표현해 새발 표기법이라고도 부름. 개체 타입과 속성은 직사각형으로 표현. 관계는 마름모가 아닌 직사각형을 관계 실선으로 연결.

 

사상 : ER 모델은 데이터베이스 생명주기의 개념적 모델링에서 사용하는 모델로, ER 다이어그램을 통해 완성. 완성된 ER 모델은 실제 데이터베이스로 구축하기 위해 논리적 모델링 단계를 거치는데, 이 단계에서 사상이 이루어짐. 각각 개체 타입의 유형과 관계 타입의 유형에 따라 다른 방법으로 진행. ER 모델을 관계 데이터 모델로 사상하는 경우 강한 개체 타입, 약한 개체 타입, 이진 1:1 관계 타입, 이진 1:N 관계 타입, 이진 M:N 관계 타입, N진 관계 타입, 다중값 속성의 순서로 사상을 진행.

'데이터베이스 DataBase' 카테고리의 다른 글

chapter 08 트랜잭션, 동시성 제어, 회복  (0) 2013.09.09
chapter 07 정규화  (0) 2013.09.06
chapter 05 데이터베이스 응용  (0) 2013.09.02
chapter 04 SQL 고급  (0) 2013.08.30
chapter 03 SQL 기초  (0) 2013.08.24