데이터 모델링2010. 11. 19. 04:46

개념 데이터 모델링 작업 시 자주 사용되는 용어 입니다. 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을 생성하게 되면 EntityAttributeTableColumn이 됨.

Identifier

CDM

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

 

  IdentifierPDMPrimary  Key  혹은 Alternate  Key와 동일함.

 

  Entity는 적어도 하나의 Identifier를 가져야 하며 만 약 Entity가 오직 하나의 Identifier를 가지고 있다면 기 본으로 EntityPrimary Identifier로 지정됨.

Relationship

CDM

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

Link     표시됨.(:  직원과 팀 Entity 사이의

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

Inheritance

CDM

  좀 더 일반적인 Entity 의 특정한 경우의 Entity를 정의 하는데 이용되며 Inheritance 에 속한 Entity 들은 다른 점들이 있긴 하지만 많은 공통적인 특성을 가지고 있 음.

 

  특정한  경우의  Entity들을  SubType(child)이라고  하며 PDM 으로 전환 시 부모 Entity 와 자식 Entity 를 어떤 형 식으로 생성할지를 CDM 단계에서 지정이 가능함.

Posted by choi1779
데이터 모델링2010. 11. 16. 11:20
Posted by choi1779
데이터 모델링2010. 11. 9. 04:18

다음과 같은 스크립트를 PowerDesigner 에서 적용하시면 아주 깔끔하게 Comment 의 내용을 테이블 및 컬럼명으로 복사(컨버전) 하실 수 있습니다.

Option Explicit

ValidationMode = True
InteractiveMode = im_Batch '대화 상자를 디스플레이하지 않고 항상 디폴트 값을 사용한다. 스크립트로 자동화작업을 할 때 지정

Dim mdl '현재 모델

'현재 활성화되어 있는 모델을 얻어온다.
Set mdl = ActiveModel

If (mdl Is Nothing) Then
 MsgBox "현재 활성화되어 있는 모델이 없습니다."
ElseIf ( Not mdl.IsKindOf(PdPDM.cls_Model) ) Then
 MsgBox "현재 모델은 물리 데이터 모델이 아닙니다."
Else
 ProcessFolder mdl
End If


Private Sub ProcessFolder(folder)

 On Error Resume Next

 Dim tbl '현재 실행중인 테이블
 For Each tbl In folder.tables
 
  If (Not tbl.IsShortcut) Then
   tbl.name = tbl.comment  
   Dim col '현재 테이블 컬럼
   For Each col In tbl.columns
    If col.comment = "" Then
    Else
     col.name = col.comment
    End If
   Next
  End If
 Next

 Dim view '현재 실행중인 뷰
 For Each view In folder.views
  If (Not view.IsShortcut) Then
   view.name = view.comment
  End If
 Next

 '하위 패키지에 대한 처리
 Dim f '현재 실행중인 폴더
 For Each f In folder.Packages
  If (Not f.IsShortcut) Then
   ProcessFolder f
  End If
 Next

End Sub

Posted by choi1779
데이터 모델링2010. 11. 3. 09:01
Posted by choi1779
일반2010. 10. 27. 12:01

브라우Tree 계층구 현재 델의 정보를 면에 니다. Workspace, Folder, Model, Package, Object Folder, Diagram 류의 내용 으로 구성니다.

 

아래의 면은 PowerDesigner 서 전형적으로 사용되는 오브젝트들의 계층구조를 보여주며  Root   분이  Workspace   입니다.  Workspace 하위에 Design Folder Implementation Folder 있고 Model 들이 위치 합니다.


사용자 삽입 이미지

Workspace : 용자가 모델링 작업 용하 류의 모델 파일에 대한 구 축 정보를 저장하는 상의 환경을 제공합니. 모델링 업을 마친 다음에 다 시 작했을 바로 전에 작업 경을 그대로 있습니.

 

처음 PowerDesigner 를 시작하면 기본 Workspace 성되어 려진 상태 되어 있습니. 사용자가이터 델링을 하기 개념 이터 추가하고 물리 데이터 하고 이에 다중 보고서 등의 업을 하면 현재 Workspace 모델들이 시되어 형태 리됩.

 

Workspace , 다중 고서, 외부파일 보를 보관


 

하고 으며 사용 Workspace 안에 성한 Folder 대한 또한 관하 습니.

 

사용자는 로컬 터에 여러 개의 Workspace 생성할 있지만 한 번에 하나의 Workspace 습니다. 프로젝트 연관 모델들 Workspace 합니.

 

Folder : 용자 정의 Folder Workspace 성하여 파일들 이나 파일 들을 Folder 합니다. 들어 용자가 개의 프로젝트 작업을 하지만 Workspace 에서 개의 프로트를 모두 접근하 원한다면 하나 Workspace 안에 개의 해당 트 관련 용이 들어가 하면 됩니.

 

Model : PowerDesigner 에서 디자인 되는 으로 델은 개의 다이어(그래픽 ) 으며 많은 Model Object 함합니. 

 

Package : 사용자가 모가 델을 업하 경우 개의 서브 모델로 나누어 들을 대상 작업하는 싶은 사용 합니다.(: 개발팀 Package 할당 ) 프로젝 주제 으로 있으 며 모델에 있는 Package 수와 레벨(패키지 다시 키지를 만들어 구조를 만들 ) 한이 없습.

Posted by choi1779
일반2010. 10. 26. 04:08

PowerDesigner 에서 VBScript 파일 작성 & 실행하기

1. PowerDesigner 메뉴 Tools > Execute Commands > Edit/Run Script 선택 하여 Edit/Run Script 대화 상자를 불러온다.

2, 스크립트 편집 창에서 스크립트를 작성한다.

사용자 삽입 이미지

3.  Edit/Run Script 대화 상자에서 VBScript 를 작성을 마치고 Run 버튼 또는 F5 키를 눌러 스크립트를 실행한다.



Posted by choi1779
데이터 모델링2010. 10. 21. 22:02
Posted by choi1779
데이터 모델링2010. 10. 14. 09:04
Posted by choi1779
데이터 모델링2010. 10. 7. 09:00
Posted by choi1779
데이터 모델링2010. 10. 4. 11:43

M:M 관계 해소

M:M 관계의 의미

M:M 관계는 논리 데이터 모델링 과정에서 많이 나타난다. 이러한 관계는 데이터 모델이 아직 덜 완성된 모습이라고 할 수 있다. 그래서 M:M 관계는 최종적으로 완성된 데이터 모델에는 존재할 수 없는 형태라고 할 수 있다.

·         실제 업무 중 대부분은 M:M 관계이다. , 기업이 관리하고 있는 많은 데이터 중에서 기업의 업무 내용에 해당하는 데이터가 이러한 M:M 관계로 표현되고 향후에 모델링이 더 진행됨에 따라 이것 이 해소된다.

·         키 엔터티와 키 엔터티 간에는 대부분 M:M 관계이다. 그래서 데이터 모델 상세화 단계에서 이러 도출되기도 한다.

·         지속적으로 발생? 관계에 의해서 생겨난 엔터티라고 볼 수 있다.

M:M 관계 해소의 의의

M:M 관계는 불특정 관계로도 알려져 있으며, 데이터 구조에 있어서 어떠한 실제적 방법으로도 구 현이 불가능하다. 이것이 이 관계를 해결하는데 충분한 이유이지만, 데이터 모델 구축 작업 초기에 그렇게 하는 데에는 또 다른 동기가 있다.

·         M:M 릴레이션십은 새로운 릴레이션 엔터티를 추가하여 M:1 관계로 변경한다.

·         연관 실체(associative, relational) 엔터티는 M:M 관계 미결시 간과해 버렸을 추가 업무 규칙 또 는 업무 논리??의됨에 따라 하위유형(subtype) 계 층 구조가 연관 실체로부터 나타나기 쉽다는 점, 분석 초기에 M:M 관계가 해결되지 않은 모델에 서 이들이 간과된다는 점이다.

·         M:M 관계는 데이터 종속성에 대한 결정을 어렵게 하여, 모델의 논리적 완성과 부분집합 식별 능 력을 제한한다.

·         M:M 관계 해결시까지 모델은 불안정 상태에 머물 것이다. 모델은 정규화되지 못하고, 모델에 대 한 문서화 작업도 완비되지 못할 것이다.

사용자 삽입 이미지

·         [그림 1]에서와 같이 제품 엔터티와 공급자 엔터티 간에는 M:M 관계가 존재한다. 이 관계 는 제품 공급이라는 업무 내용에 의해서 두 엔터티 간에 생겨난 M:M 관계이다.

·         이 관계가 해소된 결과로 공급제품목록이라는 새로운 엔터티가 만들어지고 또한 각각의 두 엔터티 즉 제품, 공급자와 1:M 의 관계를 부모로서 가지게 된다.

참조무결성 규칙 정의

·         관계 테이블의 모든 외부 식별자 값은 관련 있는 관계 테이블의 모든 주 식별자 값이 존재해야 한다.

·         실체의 주 식별자(PK)와 마찬가지로 외부 식별자(FK)도 데이터 무결성에 관한 업무 규칙을 내포 하고 있다.

·         데이터베이스 설계 관점에서 선택하지 말고, 사용자의 업무 규칙에 따라 적절한 규칙을 선택한다.

입력 규칙

자식 실체의 인스턴스(Instance)를 입력할 때 참조무결성 규칙의 종류는 다음과 같다.

1) Dependent

대응되는 부모 실체에 인스턴스가 있는 경우에만 자식 실체에 입력을 허용한다.

2) Automatic

자식 실체 인스턴스의 입력을 항상 허용하고, 대응되는 부모 건이 없는 경우 이를 자동 생성한다.

3) Nullify

자식 실체 인스턴스의 입력을 항상 허용하고, 대응되는 부모 건이 없는 경우 자식 실체의 참조키 (FK) Null 값으로 처리한다.

4) Default

자식 실체 인스턴스의 입력을 항상 허용하고, 대응되는 부모 건이 없는 경우 참조키(FK)를 지정된 기본 값으로 처리한다.

5) Customized

특정한 검증 조건이 만족되는 경우에만 자식 실체 인스턴스의 입력을 허용한다.

6) No Effect

자식 실체 인스턴스의 입력을 조건 없이 허용한다.

삭제 규칙

부모 실체의 인스턴스를 삭제할 때(또는 그것의 주 식별자를 수정할 때) 사용되는 무결성 규칙은 다음과 같다.

1) Restrict

대응되는 자식 실체의 인스턴스가 없는 경우에만 부모 실체 인스턴스 삭제를 허용한다.

2) Cascade

부모 실체 인스턴스의 삭제를 항상 허용하고, 대응되는 자식 실체의 인스턴스를 자동 삭제한다.

3) Nullify

부모 실체 인스턴스의 삭제를 항상 허용하고, 대응되는 자식 실체의 인스턴스가 존재하면, 그것의 참 조키(FK) Null 값으로 수정한다.

4) Default

부모 실체 인스턴스의 삭제를 항상 허용하고, 대응되는 자식 실체의 인스턴스가 존재하면, 그것의 참 조키(FK)를 기본 값으로 수정한다.

5) Customized

특정한 검증 조건이 만족되는 경우에만 부모 실체 인스턴스의 삭제를 허용한다.

6) No Effect

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

Posted by choi1779