데이터 모델링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. 17. 20:23
속성(Attribute)

속성은 엔터티에 저장되는 개체 집합의 특성을 설명하는 항목이라고 할 수 있다. 엔터티를 명확하 고 구체적으로 정의했다 하더라도 이것만으로는 개체 집합의 특성을 설명하기에는 부족함이 있다. 예를 '직원'은??. ‘직원’집합의 특성을 설명하기 위해 직원번호, 직원명, 주민등록번호, 연락전화번호, 거주지 주 소 등과 같은 속성을 정의했다면 이제 이러한 속성 구성을 통해 어떻게‘홍길동’이라는 개체를 특징 짓고 변별할 것인지를 분명하게 이해할 수 있고 집합의 의미 또한 좀더 명확해진다고 할 수 있다. [그 림 1]과 [그림 2]에서 엔터티의 속성을 표현하는 서로 다른 방법을 보여 주고 있다. [그림 1]은 엔터티에 연결되는 속성을 타원으로 보여 주고 있다. 이 스타일은 데이터 모델링 소프트웨 어 제품이 출현하기 이전에 원래의 개체-관계 모델에서 사용되었다. [그림 2]는 현재의 데이터 모델링 소프트웨어 제품에서 보편적으로 사용되고 있는 스타일을 보여 주고 있다.

[그림 1]의 개체-관계 다이어그램에서 속성은 개체 집합을 갖는다. 또한 각 속성은 가질 수 있는 값 의 범위가 있는데 이를 그 속성의 도메인(Domain)이라 한다. 예를 들면 학생이라는 엔터티가 있을 때 학점이라는 속성의 도메인은 0.0 에서 4.0 사이의 실수 값이며 주소라는 속성은 길이가 20자리 이내의 문자열로 정의할 수 있다. 여기서 물론 각 속성은 도메인 이외의 값을 갖지 못한다.

사용자 삽입 이미지


                                                                      [그림 1]

사용자 삽입 이미지

                                                                      [그림 2]

일반적으로 서로 다른 개체 집합에 정의된 속성은 같은 도메인을 공유할 수 있다. 예를 들면 학생 개체 집합에서 주소 속성에 해당하는 도메인과 교수 개체 집합에서의 주소 속성의 도메인은 같은 값 들의 범위를 가질 수 있다. 개체 집합 내에서 각각의 개체를 식별할 수 있도록 하나 또는 그 이상의 속성들로 이루어진 속성 집합을 식별자(Unique Identifier)라고 하는데 이 속성들이 개체 집합 내의 각 개체를 유일하게 지정한다. 예를 들면 학번, 성명, 주소, 생년월일, 학과 등의 속성들로 이루어진 학생 엔터티에서 학번 속성은 하나의 식별자가 될 수 있다.

[그림 3]은 자동차 개체 집합의 속성 구성을 나타낸 것이며‘ID_NUM’이라는 속성에 밑줄을 친 것은 식별자를 의미한다. [그림 2]과 같은 표현에서는‘#’표시가 붙은 속성이 식별자이다. 속성은 단순형 혹은 복합형으로 분류할 수 있다. 예를 들면 주소 속성은 시, 구, 동, 번지 등과 같은 여러 세부 속성들로 구성될 수 있는데 이를 복합 속성(Composite Attribute)이라 한다. 또한 나이, 성별 등의 속성은 더 이상 다른 속성들로 구성될 수 없는 단순한 속성이므로 단순 속성(Simple Attribute)이라 한다. 속성은 관리 목적이나 상세화 정도에 따라서 단일값(Single Value) 또는 다중 값(Multi Value)을 가질 수 있다. 주민등록번호와 같은 속성은 반드시 하나의 값만 존재하므로 이 속성은 단일치 속성(Single-Valued Attribute)이라 하고 어떤 사람의 전화번호와 같은 속성은 집, 휴대전화, 회사 전화번호와 같이 여러 개의 값을 가질 수 있다. 자동차의 색상 속성도 차 지붕, 차체, 외부의 색이 다를 수 있다. 이런 속성을 다중치 속성(Multi-Valued Attribute)이라 한다.

[그림 3]과 같은 표현에서 다중치 속성은 두 개의 실선으로 표시한다. 개체-관계 모델에서는 복합 속성, 다중치 속성을 정의할 수 있지만, 직접 구현은 불가능할 수도 있다. 이를 위해서는 M:M 관계나 다수의 속성 또는 1:M 관계의 추가 엔터티를 사용하여 수정해 주어야 한다. 만약 다중치 속 성이 존재하면 설계자는 아래의 방법 중 하나를 선택하여 해결할 수 있다.

사용자 삽입 이미지

                                                                           [그림 3]

사용자 삽입 이미지

                                                                          [그림 4] 


1) 엔터티 내에서 다중치 속성을 여러 개의 새로운 속성으로 나눈다. [그림 3]에서의‘COLOR’ 속성에 대해 [그림 4]와 같은 새로운 속성을 만들어 [그림 3]에서‘CAR’개체형의 속성 들로 부착시킨다.

2) 다중치 속성을 구성하는 속성들로 구성된 새로운 엔터티를 만든다. 이때 새로운 엔터티는 원래 엔 터티와 M:1 관계를 맺게 한다. [그림 4]의‘COLOR’속성을 떼어내어 새로운 엔터티로 만들 면 새로운 엔터티‘COLOR’는‘CAR’개체형과 M:1 관계가 될 것이다. 속성 중에는 유도 속성 (Derived Attribute)으로 분류될 수 있는 것도 있는데 이 속성은 다른 속성의 값으로부터 어떤 계산을 통해 새로운 값을 얻게 되므로 집합의 본질이나 특성을 규명하기 위한 속성을 고려할 때 제외할 수도 있다. 예를 들면 어떤 사람의 나이 속성은 현재 날짜로부터 생년월일 속성의 값을 뺌 으로써 나이의 값을 유도할 수 있다.


출처 : DB 포탈 사이트 DBguide.net
Posted by choi1779
데이터 모델링2010. 6. 16. 19:59
엔터티(Entity)

엔터티는 업무 활동상 지속적인 관심을 가지고 있어야 하는 대상으로서 그 대상들간에 동질성을 지닌 것으로 볼 수 있는 개체 집합이나 그들이 행하는 행위의 집합으로 정의할 수 있다. 동질성은 집 합을 어떻게 정의하느냐에 따라 달라질 수 있는데, 집합에 들어갈 개체들의 동일한 성질을 어디까지 로 한정할 것인지를 결정하는 것으로 동질성 유무를 판단할 수 있다. 예를 들면, ‘고객’이라는 집합 을‘우리 상품을 구매한 사람이나 법인’으로 정의했다면 아직 구매를 한 적이 없는 잠재고객이나 구 매상담자, 또 법인번호가 없는 단체나 개인사업자 등은 이들과 동질성을 갖지 못한다. 그러나 이들이 현재 어떠한 방법으로든 관리가 되고 있거나 앞으로 관심을 갖고자 하는 범주에 해당한다면 집합의 정의를 더 확장해야만 이들을 고객 집합 내에 끌어들일 수 있다. 집합에 대한 정의 문제는 엔터티의 구성 속성과 관계 정의에도 영향을 미치고 이것은 결과적으로 데이터 모델 전체의 구성에 영향을 미 치게 되므로 엔터티, 즉 집합에 대한 명확한 정의는 데이터 모델링에서 가장 핵심적인 사안이라 할 수 있다. 그러므로 엔터티를 정의할 때는 어떤 대상이 그 엔터티에 속하는지 여부를 명확하게 구분할 수 있도록 정의해야 한다.

엔터티는 그 집합에 속하는 개체들의 특성을 설명할 수 있는 속성(Attribute)을 갖는데, 예를 들어 ‘학생’이라는 개체 집합은 학번, 이름, 이수학점, 등록일자, 생일, 주소, 전화번호, 전공 등의 속성으 로 특징지어질 수 있다. 이러한 속성 가운데에는 개체 집합 전체가 공유할 수 있는 공통 속성도 있고, 개체 집합 중 일부에만 해당하는 개별 속성도 있을 수 있다.

개체-관계 다이어그램을 표기하는 방법은 여러 가지가 있는데, 그것들에 대해서는 뒤에서 설명하 기로 하고, 여기서는 그 중 한가지인 리차드 바커 표기법(Richard Barker Notation)에 따른 표현 을 예로 설명한다. 엔터티를 개체-관계 다이어그램으로 나타낼 때는 그림과 같은 모양으로 나타내고 이름을 부여할 수 있다.

사용자 삽입 이미지

출처 : 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. 28. 07:21

Sybase 에서 제공한 PowerDesigner 15.2 New Feature pdf 문서 입니다.

저도 지금 보고 있는데요, 특별한 사항이 있으면 추가로 정리해서 올려 보겠습니다.

invalid-file

PowerDesigner 15.2 New Feature

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