728x90
반응형
1. 데이터 모델 목적
- 데이터 모델은 데이터베이스 설계에 대한 계획 또는 청사진이다.
- 설계자와 개발자, 사용자 등 모 든 관련자들은 데이터 모델을 통해 구축될 시스템의 데이터 구조에 대한 형상을 이해하고, 요구 사항의 구현과 변경 등에 대해 원활한 의사소통을 도모하게 된다.
2. 개체-관계 모델 기법(Entity-Relationship Modeling)
- 1976년에 피터 첸(Peter Chen)에 의해서 최초로 제안되었으며 그의 논문을 통해 이 모델의 기본적인 구성 요소가 정립되었다.
- 데이터에 대해 관리자, 사용자, 개발자들이 서로 다르게 인식하고 있는 뷰들을 하나로 통합할 수 있는 단일화된 설계안을 만들 수 있다.
- 개체-관계 다이어그램(ERD, Entity Relationship Diagram)으로 표현된다.
- 개체, 관계, 속성이라는 세 개의 기본 요소를 사용
- 엔터티와 이들 간의 관계를 미리 약속된 도형을 사 용하여 알기 쉽고 일목요연하게 그림으로 표시한 것이라 정의할 수 있다.
3. 개체-관계 모델 구성 요소
- 일반적으로 개발 방법론에 의하여 논리 모델링(논리 데이터 모델링)과 물리 모델링(물리 데이터 모델링)으로 나눌 수 있다.
- 논리 데이터 모델
- 업무 담당자와 IT 시스템 설계자 사이의 의사소통이라 할 수 있다.
- 데이터베이스나 하드웨어 등과 같은 시스템과 아무 런 상관없이 업무에서 필요한 데이터를 그림으로 그려놓고 이를 검증하는 방법
- 외래키(FK, Foreign Key), 기본키(PK, Primary Key), 액세스 성능, 분산 시스템 등의 물리적 시스템 환경은 고려하지 않는다.
- M:M 관계, 순환 관계(Recursive), 슈퍼/서브 타입(Super/Sub Type), 배타적(Arc) 관계 등을 갖고 있는 개체(엔터티)가 많다. - 물리 데이터 모델링
- 논리 데이터 모델링을 기초로 현재의 시스템 환경(네트워크, 하드 웨어, 운영체제, 미들웨어, 데이터베이스, 디스크 용량, 분산 등)을 고려하여 최고의 성능 향상을 목적으로 한다.
가) 엔터티(Entity)
- 업무 활동상 지속적인 관심을 가지고 있어야 하는 대상으로서, 그 대상들 간에 동질성을 지닌 것으로 볼 수 있는 개체 집합이나 그들이 행하는 행위의 집합으로 정의할 수 있다.
- 동질성을 갖는 개별 개체나 행위를 지칭하며, 달리 엔터티 인스턴스 (Entity Instance)라고도 한다.
나) 속성(Attribute)
- 엔터티에 저장되는 개체 집합의 특성을 설명하는 항목이라고 할 수 있다.
- 개체-관계 다이어그램에서 속성은 개체 집합을 나타내는 직사각형에 실선으로 연결된 타원형으로 표현되며, 각 타원형은 고유의 속성 이름을 갖는다.
다) 식별자
- 엔터티의 각 개체들은 인스턴스라고 하는데, 인스턴스는 그들을 지칭하거나 식별해 주는 속성인 식별자(Unique Identifier)를 가진다.
- 논리적인 관점에서 사용되고 키(Key)는 물리적인 관점에서 사용된다. 따라서 엔터티는 식별 자를 가지며, 테이블은 키를 가진다고 할 수 있다. 이러한 이유로서 식별자가 엔터티에 대해 하는 역할은 키가 테이블에 대해 하는 역할과 동일하다.
라) 관계(Relationship)
- 엔터티와 엔터티 간 연관성을 표현하는 것으로, 엔터티의 정의에 따라 영향을 받기도 하고, 속성 정의 및 관계 정의에 따라서도 다양하게 변할 수 있다.
- 관계의 표현에는 이항관계(Binary Relationship), 삼항 관계(Ternary Relationship), n항 관계가 존재할 수 있는데, 실제 삼항 관계 이상은 잘 사용되지 않는다.
마) 카디날리티(Cardinality)
- 개체-관계 다이어그램은 데이터베이스가 지켜야 할 제약 조건들을 명시할 수 있다.
- 관계의 연결은 1:1, 1:M, M:M으로 분류된다.
- 일대일(One To One, 1:1) : X에 속하는 한 개체는 Y에 속하는 한 개체에만 연결되며, Y에 속하는 한 개체도 X 에 속하는 한 개체에만 연결된다.
- 일대다(One To Many, 1:M) : X에 속하는 한 개체는 Y에 속하는 한 개체에만 연결되며, Y에 속하는 한 개체는 X에 속하는 여러 개체와 연결된다.
- 다대다(Many To Many, M:M) : X에 속하는 한 개체는 Y에 속하는 여러 개체와 연결될 수 있으며, Y에 속하는 한 개체도 X에 속하는 여러 개체와 연결될 수 있다.
바) 존재 종속
- 만약 한 엔터티의 존재가 다른 엔터티(들)의 존재에 영향을 받는다면 이를 존재 종속 (Existence-Dependent)이라 한다.
사) 서브 타입
- 의미로는 서브 타입 엔터티이며 그것의 전체집합인 슈퍼타입(Supertype)의 부분집합이다.
- ex) 학생들은 학 부학생이나 대학원생으로 분류될 수 있다. 이 경우 학생이 슈퍼타입이고 학부학생과 대학원생은 서브타입이다.
4. 객체지향 모델링(Object-Oriented Modeling)
가) 객체지향 개념
- 조직이나 시스템은 객체(Object)라는 것에 관련되어 있고 객체에 대한 정보를 저장한다.(고객, 직원, 교실, 책 등)
- 객체는 대개 객체를 기술하는 데이터와 그 기술 데이터를 운영하는 메소드(Method)로 구성된다. 속 성 유형과 메소드를 공유하는 객체가 그룹화되어서 객체 클래스(또는 클래스)로 된다.
- 객체 인스턴스는 객체 클래스의 어커런스이다. 예를 들어, 직원이 객체 클래스이면 ‘홍길동’은 클래 스 직원의 객체 인스턴스이다.
- 객체는 연관(Association) 또는 상속(Inheritance)을 통해서 다른 객체들에 연결된다. 연관은 객체 간의 자연적 관계이다.
나) 객체 모형
- 객체 모형을 생성시키기 위해서 아래와 같은 방법을 취한다.
1) 주제에 연관된 기본(Basic) 객체를 식별한다. 그 결과는 엔터티 목록과 같은 것이다.
2) 객체 간의 연관(Association)을 식별한다.
3) 많이 알려져 있는 객체 모델링의 규약을 이용해서 객체의 다이어그램을 그린다
4) 객체 간의 메시지는 다이어그램에 추가될 수 있다.
다) 객체 모형의 메소드
- 객체 메소드가 복잡하지 않다면 메소드는 간단한 설명부(Narrative) 또는 구조화된 기법으로 가장 잘 문서화된다.
- 복잡한 메소드는 좀 더 정교한 문서화 접근 방식이 필요하다.
- 이벤트 지향적인 프 로세스는 상태 전이 모델링(State Transition Modeling)과 같은 동적(Dynamic) 프로세스 모델링 기법이 필요
- 정적인 프로세스는 데이터 흐름 다이어그램이나 기능 분해(Functional Decomposition)와 같은 기법을 사용
라) 객체지향 모델링과 논리 데이터 모델링 간의 관계
- 객체지향 모델링 개념은 논리 데이터 모 델 링의 개념과 매우 유사하나 객체지 향 모델링에서만 유일한 것은 데이터와 프로세스를 같은 엔터티로 결합시킨다.
마) 객체 지향 모델링 장점
- 재사용 코드와 같은 개념이 실제로 가능한 환경을 제공한다는 것이다.
- 데이터와 프로세스가 객체의 성질인 반면 데이터와 프로세스 각각은 그들의 풍부함(Richness)을 달성하는 다른 접근 방식을 필요로 한다는 사실이 위의 사항들을 확신하게 한다.
728x90
반응형
'자격증 > 데이터아키텍처 준전문가(DAsP)' 카테고리의 다른 글
DAsP(4과목) 2-1. 개념 데이터 모델링 이해 (41) | 2023.09.06 |
---|---|
DAsP(4과목) 1-3. 데이터 모델링 표기법 이해 (41) | 2023.09.05 |
DAsP(4과목) 1-1. 데이터 모델링 개요 (32) | 2023.09.02 |
DAsP(3과목) 3-2. 데이터 표준 관리 프로세스 (32) | 2023.09.01 |
DAsP(3과목) 3-1. 데이터 표준 관리 (31) | 2023.09.01 |