데이터 모델링2010. 6. 28. 04:08

개념 데이터 모델 정의

개념적 데이터 모델이란 건물로 말하면 철제빔으로 건물의 골격을 세워 놓은 형태와 유사하다. 건 물의 골격이 주요 골조 자재로 구성되어 있듯이 개념 데이터 모델도 주요 핵심 엔터티들로 구성된다. 핵심 엔터티란 행위의 주체나 목적물이 되는 개체 집합에 해당하는 엔터티를 의미한다. 이들은 부모가 존재하지 않는 창조된 집합이어서 다른 집합의 존재 유무에 상관없이 독립적으로 탄생할 수 있다. 핵심 엔터티는 대체적으로 여러 가지 하위의 행위 엔터티를 탄생시킨다.

개념 데이터 모델 의의

개념 데이터 모델은 단지 대상을 주요 핵심 엔터티로 한정한다는 것일 뿐이지 모델링 기법은 논리적 모델링과 특별히 다를 것이 없다. 만약 우리가 하향식으로 데이터아키텍처를 수립해 간다면 개념적 모델은 개괄적 모델을 좀더 상세화된 형태로 진화시키거나 중요 엔터티만 선정하여 모델링을 함으로써 탄생된다. 물론 이후에도 모델링의 상세화는 계속되어 갈 것이며, 필연적으로 개념적 모델도 따라서 약간씩 변화가 일어날 수 밖에 없다. 하지만, 개념 데이터 모델은 앞으로 아무리 상세한 모델링이 진행되더라도 전체적인 골격은 개념적 모델을 벗어나지 않는다는 것이다.

데이터아키텍처 프레임워크 상에서 개념 데이터 모델

엔터프라이즈아키텍처에서 개념 레이어는 최상위의 개괄 레이어와 하위의 논리 레이어 중간에 존재하는 레이어이다. 데이터아키텍처에서는 개괄 데이터 모델과 논리 데이터 모델 사이에 존재하는 모델이라고 할 수 있다. 여기에서 개괄 데이터 모델는 흔히 사용되어지는 주제영역 관계도와도 대응되는 부분이라고 할 수 있다. 개념 데이터 모델은 상위의 주제영역별로 핵심 엔터티와 핵심 속성, 또한 핵심 엔터티들 사이의 관계들로 이루어진 데이터 모델이라고 할 수 있다. 아키텍처의 개념을 종종 건축물에 비유하곤 한다. 개념 데이터 모델을 건축물에 비유해 보면 건물의 기둥들과 중요 벽체들로만 만들어진 건물 설계 도면에 비유할 수 있다. 이 단계에서 정의된 핵심 엔터티들과 관계들을 기반으로 논리 데이터 모델에서는 업무 요구사항에 기반한 세부 데이터 모델이 생성되게 된다.


출처 : DB 포탈 사이트 DBguide.net
Posted by choi1779
데이터 모델링2010. 6. 23. 09:48
카디날리티(Cardinality)

개체-관계 다이어그램은 데이터베이스가 지켜야 할 제약 조건들을 명시할 수 있다. 중요한 제약 조건 중의 하나로 연결(Connectivity)이라는 것이 있는데, 이는 한 개체가 관계를 통하여 다른 개체 와 관련된 개체들의 수를 나타낸다. 관계의 연결은 1:1, 1:M, M:M으로 분류된다. 개체-관계 다이어 그램에서는 관계의 연결을 1, M 을 사용하여 표현하며 [그림1]의 예와 같다. 표기법에 따라서 는 M:M을 M:N으로 표현하기도 하나 여기서는 M:M으로 나타내기로 한다.


사용자 삽입 이미지

                                                                      [그림 1]

  • 일대일(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에 속하는 여러 개체들과 연결될 수 있다.

또한 카디날리티(Cardinality)란 관계에 참여하는 하나의 개체에 대해 다른 엔터티에서 몇 개의 개체가 참여하는지를 나타낸다. 예를 들면 한 명의 학생이 1개 이상 6개 이하의 과목에 등록할 수 있 다면 카디날리티는 (1, 6)이다. 한 명의 교수는 최대 3개의 과목을 가르칠 수 있다면 카디날리티는(0, 3)이다. 카디날리티는 (Min, Max)의 한 쌍의 값으로 표현하는데 여기서 Min은 관계에 참여하는 개체의 최소 개수, Max는 관계에 참여하는 최대 개수를 각각 의미한다. 여기서 Max의 값이 M으로 표시되면 최대 개수에 제한이 없음을 의미한다. [그림 2]에서 PROFESSOR-COURSE의 관 계를 살펴보면 다음과 같이 해석할 수 있다.

사용자 삽입 이미지

                                                                       [그림 2]

1) PROFESSOR-COURSE는 1:M 관계이다.

2) PROFESSOR의 카디날리티는 (0, 3) 이다. 즉 각 교수는 3개 이하의 과목을 가르칠 수 있다.

3) COURSE의 카디날리티는 (1, 1)이다. 즉 각 과목을 가르치는 교수는 반드시 1명이어야 한다.


출처 : DB 포탈 사이트 DBguide.net
Posted by choi1779
데이터 모델링2010. 6. 22. 09:36
식별자

엔터티의 각 개체들은 인스턴스라고 하는데, 인스턴스는 그들을 지칭하거나 식별해 주는 속성인 식별자(Unique Identifier)를 가지고 있다. 예를 들어 직원 인스턴스는 직원번호, 주민번호, 직원명 으로 식별될 수 있다. 이들 중 직원명은 실세계에서는 직원 각각을 식별하는데 이용될 수 있으나 데 이터 측면에서는 동명이인의 문제 때문에 식별성이 미약한 편이다. 봉급이나 입사일 같은 속성으로 는 각각의 인스턴스를 유일하게 식별할 수 없다. 이와 마찬가지로 고객은 고객번호나 고객이름으로 식별될 수 있고, SALES-ORDER은 OrderNumber(주문번호)에 의해서 구별될 수 있다.

식별자는 하나 또는 그 이상의 속성으로 구성된다. 특별히 두 개나 그 이상의 속성으로 이루어진 식별자를 복합 식별자(Composite Identifier)라고 부른다. 그 예로는 (Area Code, Local Number), (Project Name, Task Name), (First Name, Last Name, Date Of Hire) 등이 있다.

식별자와 키는 구별하여 사용되어야 하며, 이 둘은 서로 일치할 수도 있고 그렇지 않을 수도 있다. 즉 식별자는 논리적인 관점에서 사용되고 키(Key)는 물리적인 관점에서 사용된 키를 가진다고 할 수 있다. 이러한 이유로서 식별자가 엔터티에 대해 하는 역할은 키가 테이블에 대해 하는 역할과 동일하다.

데이터 모델링의 초기 단계에서부터 모델을 지나치게 상세히 표현하면 개체-관계 다이어그램을 이해하고 다루기가 힘들어질 수도 있기 때문에  간단하게 식별자만 보이거나  직사각형 안에 개체 이름만 간결하게 보임으로써 많은 모델들 중에서 사용자가 필요한 것들을 손쉽게 사용되어질 수 있다.

관계(Relationship)

관계는 엔터티와 엔터티간 연관성을 표현하는 것으로, 엔터티의 정의에 따라 영향을 받기도 하고, 속성 정의 및 관계 정의에 따라서도 다양하게 변할 수 있다. 엔터티간에 논리적으로 존재할 수 있는 수 많은 관계들 중에서 정말로 의미가 있고 관리할 가치가 있는 관계를 식별해 낸다는 것이 쉬운일은 아니다. 최초의 개체-관계 다이어그램에서 관계는 속성을 가질 수 있었으나 현재에는 그렇지 않다.

관계의 표현에는 이항 관계(Binary Relationship), 삼항 관계(Ternary Relationship), n항 관계 가 존재할 수 있는데 실제에 있어서 삼항 관계 이상은 잘 사용되지 않는다. [그림 1] 참조 매핑 카디날리티(Mapping Cadinality)는 개체-관계 다이어그램에서 개체와 연결될 때 나타나는 대응(Mapping)되는 수로 대응수라고도 한다. 대응수는 최대 대응수(Maximum Cadinality)와 최 소 대응수(Minimum Cadinality)로 구분된다. 매핑 카디날리티가 포함된 개체-관계 다이어그램에 대하여 예제를 통해서 설명하고자 한다. [그림 1] 참조 다음과 같은 조건 하에서 교수 개체와 학생 개체 간에 성립하는 지도 관계의 매핑 카디날리티를 결 정하고, 개체-관계 다이어그램을 작성하면 [그림 5-1-13]과 같은 이항 관계 구조의 다이어그램을 완성할 수 있다.

  • 조건 1 : 교수는 꼭 학생에 대한 지도를 해야 한다.

    Min-Card(교수, 지도) = 1
  • 조건 2 : 교수는 여러 명의 학생을 지도할 수 있다.

    Max-Card(교수, 지도) = n
  • 조건 3 : 학생은 꼭 교수에게 지도를 받아야 한다.

    Min-Card(교수, 지도) = 1
  • 조건 4 : 학생은 여러 명의 교수에게 지도를 받을 수 없다.

    Max-Card(교수, 지도) = 1

사용자 삽입 이미지

                                                              [그림 1]


출처 : DB 포탈 사이트 DBguide.net
Posted by choi1779
데이터 모델링2010. 6. 10. 05:44
Posted by choi1779
데이터 모델링2010. 6. 3. 23:57
Posted by choi1779
데이터 모델링2010. 6. 2. 11:29

개념 모델링 작업 시 주 사용는 용어를 정리하였습니다.  
Data Item, Package
PowerDesigner 에서 공하는 능입니.

 

 

 

용어

해당

범위

 

내용

CDM

(Conceptual Data Model)

System

—  논리적인 정의를 Model , Entity 등을 정의

PDM

(Physical Data Model)

System

—  Table, View, Index, Trigger 등을 물리 DB 항목들을 정의하고, 그리는 Model

Package

모든

Model

—  모델에서 부적으로 누는 단위 모델링 주제 영 역의 개념 Depth 제한은 없음(모델 속의 )

 

사용 ) DBMS User 으로 주제영역 분이 가능한 경우의

 

1 수준 : DB User

2 수준 : 업무구분

3 수준 : 세부 업무 구분

 

— 패키 구성 증가 함으 고려하 사용

Documents

모델

파일

PowerDesigner 모델 총칭

Data Item

CDM

—  CDM 에서 용되는 의 기본 위로써 Entity 속하게 되면 Attribute CDM 에서 PDM 생성하는 경우 테이 Column .

 

—  Entity 속하지 않는 Data Item 의가 능하 이런 Data  Item 모델에 의된 있다가 Entity 에서 필요한 경우 어느 때라도 사용이 .


Domain

CDM PDM

—  Model 에서 사용하는 보의 류를 확인하는데 도움을 주며 메인 Data Item 서로 Entity Attribute 들의 데이터 표준화를 하도록 와줌.


Entity

CDM

— 사용자가 장하고자 보시스 정의한 객체


Attribute

CDM

—  Entity,  Association,  inheritance Data Item 으로 PDM 하게 되면 Entity Attribute Table Column .


Identifier

CDM

—  Entity   내용을  하게  구별할   있도록  하는 값을 가지는 Entity Attribute 혹은 Entity Attribute 들의 조합.

 

—  Identifier PDM Primary  Key  혹은 Alternate  Key 와 동일함.

 

—   Entity 적어도 하나 Identifier 가져야 만 약 Entity 가 오직 Identifier 를 가지고 있다 기 본으로 Entity Primary Identifier 지정됨.


Relationship

CDM

—  Entity 간에 존재하는 호관계를 미하며 Entity 간의

Link   시됨.(:  직원과 팀 Entity

Relationship, 직원은 팀에 속하고 팀은 직원들로 )


Inheritance

CDM

—   일반적인 Entity 특정한 경우의 Entity 정의 하는데 되며 Inheritance Entity 들은 다른 점들이 있긴 하지만 공통적인 특성을 지고 있 음.

 

—  특정한  경우 Entity  SubType(child)  하며 PDM 으로 Entity Entity 를 어떤 형 식으로 할지를 CDM 단계에서 정이 가능함.

 
출처 : DB포탈사이트 DBguide.net

Posted by choi1779
데이터 모델링2010. 5. 13. 08:26

파워디자이너는 다음과 같이 ERwin v3.x 버전 이상의 모델 파일의 Import 기능을 지원합니다. 하지만 v4.x 버전 이상의 파일을 Import 하는 것을 사이베이스에서는 권장합니다.

 

  • ERwin v3.x (.erx)
  • ERwin v4.x (.xml)
  • ERwin v7.x (.xml) ERwin 모델이 반드시 "Standard XML Format" 으로 저장된 상태이어야 하고, Erwin 에서 파일을 저장할 때 XML 파일 다이얼로그 상자에서 "Only save minimum amount of information" 을 언체크하셔야 합니다.

 

  • Erwin 에서 작성한 논리 모델(logical model)은 다음 중 하나의 형식으로 Import 되어질 수 있습니다:

 

    • PowerDesigner 개념 데이터 모델(conceptual data model) (CDM), 또는
    • PowerDesigner 논리 데이터 모델(logical data model)

 

  • ERwin 물리 모델(Physical Model)PowerDesigner 물리 데이터 모델(physical data model:PDM) Import 되어 집니다.
Posted by choi1779
일반2010. 4. 15. 06:55

파워디자이너의 메타 모델 객체(Meta Model Objects) 를 액세스하여 커스터마이징 작업을 할 때 주로
 Visual Basic Scrip 를 사용합니다.

사이베이스에서도 이를 권장(?) 하고 있습니다. 물론 C# 등의 다른 언어를 통해서 파워디자이너의 OLE Automation 객체를 참조하여 작성을 할 수도 있습니다만, 레퍼런스를 찾기가 어렵더군요.
시간이 나면 제가 한번 시도(?) 해 보겠습니다. ^^

첨부하는 자료는 말 그대로 MS 에서 제공하는 VBScript 5.6 도움말 파일입니다. 막상 찾으려면 애먹는 그런 파일이지요 ^^

invalid-file

Visual Basic Script 5.6 도움말 파일

Posted by choi1779
일반2010. 4. 14. 15:00

이전 포스팅 자료에서 말씀 드렸듯이 이번 달 초중순 경에 PowerDesigner 15.2 버전이 릴리즈 되었습니다.

저도 지난 주에서야 설치를 해보고 이것 저것 만져 보고 있습니다. 새로운 기능이나 변경된 구체적인 체험(?) 사

례는 계속해서 포스팅하겠습니다.

우선 사이베이스에서 제공하는 새로운 기능(New Features) 에 대한 간략한 문서를 올려 봅니다.

참고하세요 ^^

invalid-file

PowerDesigner 15.2 New Features

Posted by choi1779
데이터 모델링2010. 4. 5. 09:30


Posted by choi1779