PowerDesigner 데이터베이스 모델링에 대한 자세한 설명

목차

I. 소개

2. 파워디자이너 개요

2.1 PowerDesigner의 핵심 기능

2.1.1 여러 모델링 기능 통합

 2.1.2 자동 코드 생성 기능

 2.1.3 강력한 리버스 엔지니어링 기능

2.1.4 확장 가능한 엔터프라이즈 라이브러리 솔루션

2.2 PowerDesigner에서 일반적으로 사용되는 여러 모델

2.2.1 개념적 모델

2.2.2 논리적 데이터 모델

2.2.3 물리적 모델 

2.2.4 객체 지향 모델

2.2.5 비즈니스 프로세스 모델

셋, 파워디자이너 설치

넷째, PowerDesigner 핵심 기능 사용

4.1 데이터 모델 생성

4.1.1 방법 1

4.1.2 방법 2

4.2 데이터 테이블 만들기

4.2.1 세 개의 테이블 만들기

4.2.2 3개의 테이블에 대한 필드 및 속성 설정

4.3 테이블의 연관 관계 설정

4.3.1 사용자 테이블과 역할 테이블의 외래 키 설정

4.3.2 기본 및 외래 키 계단식 관계 수정

4.4 데이터베이스 내보내기

4.4.1 SQL 스크립트 내보내기

4.4.2 SQL을 사용하여 테이블 생성

4.5 리버스 엔지니어링

4.5.1 리버스 엔지니어링이란?

4.5.2 리버스 엔지니어링 단계

4.5.3 pd는 외부 데이터 소스에 연결합니다.

4.6 다른 데이터베이스 모델의 변환

4.6.1 리버스 엔지니어링 및 SQL 파일 가져오기

4.6.2 현재 PDM을 기반으로 새 PDM 파일 생성

다섯, 본문 끝에 쓰여진


I. 소개

백엔드 개발을 공부하는 학생들에게는 데이터베이스 모델링 도구인 파워디자이너가 친숙해야 하며, 파워디자이너를 사용하면 개발자가 데이터베이스 모델링 관련 작업을 빠르게 완료할 수 있어 전체 소프트웨어 프로젝트의 개발 효율성을 높일 수 있습니다.

2. 파워디자이너 개요

PowerDesigner는 Sybase Corporation의 소프트웨어로 데이터베이스 모델 설계의 거의 전 과정을 포함하여 시스템을 편리하게 분석하고 설계하는 데 사용할 수 있습니다. PowerDesigner를 사용하여 데이터 흐름 다이어그램, 개념적 데이터 모델, 물리적 데이터 모델 및 개체 지향 모델을 만듭니다. 이러한 모델의 출력은 표준 개발 프로세스에서 정식 코딩 전에 완료해야 하는 작업이기도 합니다. (PowerDesigner는 이하 pd라고 함)

2.1 PowerDesigner의 핵심 기능

2.1.1 여러 모델링 기능 통합

  • 데이터 모델(E/R, Merise) 엔티티 관계 다이어그램
  • 비즈니스 모델(BPMN, BPEL, ebXML)
  • 애플리케이션 모델(UML)

 2.1.2 자동 코드 생성 기능

PowerDesigner는 데이터 모델을 통해 다음과 같은 다양한 코드를 생성할 수 있습니다.

  • SQL 스크립트(mysql, pg, oracle 등과 같은 50개 이상의 데이터베이스 시스템 지원)는 사용을 위해 데이터베이스로 직접 가져올 수 있습니다. 
  • Java는 개체 지향 모델링을 통해 간단한 수정으로 사용할 수 있는 기본 Java 개체 엔터티 클래스 파일을 빠르게 출력할 수 있습니다.
  • .NET 등...

 2.1.3 강력한 리버스 엔지니어링 기능

PowerDesigner를 사용하면 언어와 데이터베이스 간에 라이브러리 테이블을 설계, 변환 및 마이그레이션할 수 있으며 설계를 위해 mysql에 대한 온라인 연결을 지원하는 매우 실용적인 기능입니다.

2.1.4 확장 가능한 엔터프라이즈 라이브러리 솔루션

강력한 보안 및 버전 제어 기능으로 다중 사용자 협업 설계를 지원할 수 있습니다.

2.2 PowerDesigner에서 일반적으로 사용되는 여러 모델

실제로 pd를 사용하기 전에 pd가 제공하는 여러 핵심 모델에 대한 포괄적인 이해가 필요합니다.

2.2.1 개념적 모델

개념적 데이터 모델(CDM)인 CDM은 소프트웨어 또는 데이터 저장 구조와 독립적인 데이터베이스의 전체 논리적 구조를 나타냅니다.

  • 개념적 모델에는 물리적 데이터베이스에 아직 구현되지 않은 데이터 개체가 포함되는 경우가 많습니다. 
  • 프로그램 또는 비즈니스 활동을 실행하는 데이터의 공식적인 표현을 제공합니다.
  • 개념적 데이터 모델은 사용자의 포괄적인 정보 요구를 반영하는 데이터 저장에 대한 최종 사용자의 관점입니다. 
  • 물리적 구현 세부 사항에 관계없이 엔터티 간의 관계만 고려됩니다.

CDM은 시스템 분석 단계에 적합한 도구입니다. 

2.2.2 논리적 데이터 모델

정보 시스템의 구조를 분석하는 데 도움이 되는 논리적 데이터 모델(LDM)도 특정 물리적 데이터베이스의 구현과 독립적입니다. 

 LDM은 개념적 데이터 모델(CDM)보다 더 구체적이지만 뷰, 인덱스 및 PDM(물리적 데이터 모델)에서 처리되는 기타 세부 사항을 정의할 수 없습니다. 논리적 데이터 모델은 데이터베이스 설계의 중간 단계로 간주될 수 있으며 개념적 데이터 모델과 물리적 데이터 모델 사이에 있습니다.

2.2.3 물리적 모델 

물리적 모델 또는 PDM은 물리적 구조 및 데이터 쿼리를 상세하게 정의하는 데 사용되는 데이터베이스 설계 도구입니다. 설계 중인 대상 데이터베이스의 유형에 따라 PDM에서 다양한 유형의 다이어그램을 사용할 수 있습니다. 

주요 목적은 CDM에서 구축된 실세계 모델에서 특정 DBMS 스크립트를 생성하고, 데이터베이스에 정보를 저장하기 위한 저장 구조를 생성하고, 데이터베이스에서 데이터의 무결성과 일관성을 보장하는 것입니다. PDM은 시스템 설계 단계에 적합한 도구입니다. 

2.2.4 객체 지향 모델

OOM(Object-Oriented Model)은 개발 언어인 Java의 모델 설계에 필요한 모델입니다. 구체적으로,

  • OOM은 일련의 패키지, 클래스, 인터페이스 및 해당 관계로 구성됩니다.
  • 이러한 개체는 함께 소프트웨어 시스템의 논리적 설계 보기 전체(또는 일부)의 클래스 구조를 형성합니다.
  • OOM은 기본적으로 소프트웨어 시스템의 정적 개념 모델입니다.

OOM은 Use Case Diagram, Sequence Diagram, Class Diagram으로 구성되어 있으며 마지막으로 아래 그림의 어두운 부분에 Model Warehouse(Repository), Model Report(Report), Database SQL script, User Database Structure 및 5개의 결과가 생성된다. 애플리케이션 코드.

2.2.5 비즈니스 프로세스 모델

비즈니스 프로세스 모델은 BPM입니다.BPM은 비즈니스의 다양한 내부 작업 및 내부 프로세스를 설명합니다.사용자는 BPM 모델을 통해 이러한 작업 및 프로세스의 관계 및 상호 영향을 명확하게 볼 수 있습니다.

  • BPM은 비즈니스 직원의 관점에서 비즈니스 논리와 규칙을 자세히 설명하는 개념 모델이며 순서도를 사용하여 하나 이상의 시작점에서 끝점까지 처리, 프로세스, 메시지 및 협업 프로토콜을 나타냅니다.
  • BPM을 통해 시스템의 동작과 요구 사항을 설명할 수 있고 개체의 개념적 조직 구조를 그래픽으로 나타낼 수 있으며 필요한 문서를 생성할 수 있습니다.
  • 개념적 수준의 모듈로서 BPM은 애플리케이션 시스템의 시스템 분석 단계에 적합하여 시스템 요구 사항 분석 및 논리 설계를 완료합니다.

PowerDesigner BPM에는 3개의 흐름도가 포함되어 있습니다.

1) 프로세스 계층 다이어그램: 시스템의 기능을 계층적으로 식별합니다.

2) 비즈니스 프로세스 다이어그램(비즈니스 프로세스 다이어그램): 특정/그룹 프로세스의 구현 메커니즘을 분석하는 데 사용됩니다.

3) 프로세스 서비스 다이어그램: 비즈니스 흐름도를 비즈니스 서비스 형태로 표현합니다.

셋, 파워디자이너 설치

현재 PowerDesigner의 주류 버전은 16.5이며 설치에 대한 자세한 설명은 생략합니다.많은 온라인 설치 자습서가 있으며 관심있는 학생들은 확인할 수 있습니다.

넷째, PowerDesigner 핵심 기능 사용

pd는 오늘날 많은 기능을 개발했으며 강과 호수의 베테랑조차도 관련된 모든 기능에 관여하지 않을 수 있습니다.실제로 pd는 주로 일상적인 개발의 데이터베이스 설계 단계에서 데이터베이스 모델링에 사용됩니다. 핵심 데이터베이스 모델링은 실제로 대부분의 시나리오를 처리하기에 충분하며 다음으로 데이터베이스 모델링과 관련된 기술적인 포인트에 대해 자세히 설명하겠습니다.

4.1 데이터 모델 생성

테이블을 설계하기 전에 이를 운반할 모델이 있어야 하므로 먼저 데이터 모델을 만들어야 합니다.

4.1.1 방법 1

파일 -> 새 모델 -> 새 물리적 모델을 통해;

 

4.1.2 방법 2

생성할 파일 아래의 아이콘을 클릭합니다.

 

모델을 입력하고 확인을 클릭하면 현재 프로젝트 공간 아래에 모델이 생성됩니다.

4.2 데이터 테이블 만들기

데이터 모델을 얻은 후 다음 단계는 테이블 구조를 설계하는 것입니다. 후속 작업 지침을 용이하게 하기 위해 설계해야 하는 3개의 테이블이 있다고 가정하고 비교적 실제 장면을 결합합니다.사용자 테이블, 역할 테이블, 및 사용자 역할 연관 테이블 세 개의 테이블은 실제 비즈니스 시나리오에서 사용자와 역할 간의 관계를 나타내며 세 개의 테이블은 사용자, 역할 및 역할_사용자입니다.

4.2.1 세 개의 테이블 만들기

오른쪽에 있는 플로팅 메뉴에서 테이블 아이콘을 선택한 다음 작업 영역을 클릭하면 테이블이 나타납니다. 여기에는 세 개의 테이블이 필요합니다. 세 번 클릭합니다.

4.2.2 3개의 테이블에 대한 필드 및 속성 설정

현재 테이블을 더블 클릭하여 아래의 테이블 디자인 영역으로 진입합니다.그 안에는 많은 메뉴 바가 있습니다.현재 주요 초점은 테이블의 필드와 관련된 메뉴에 있습니다.

Columns 메뉴로 들어가 필드를 디자인합니다. 각 필드의 속성 설정은 주로 다음과 같습니다.

필드 디자인이 완료되면 적용을 클릭하여 확인합니다.이 때 사용자 테이블이 디자인됩니다.나중에 테이블의 필드를 추가하거나 수정하려면 테이블을 두 번 클릭하여 다음 인터페이스로 다시 들어갈 수 있습니다. 작업;

위와 동일한 방식으로 role 및 role_user 테이블을 설계합니다.

4.3 테이블의 연관 관계 설정

현재 인터넷 프로젝트 데이터베이스 설계에서 외래 키의 존재는 특히 데이터 마이그레이션과 관련하여 후속 비즈니스 프로세스에서 많은 문제를 일으킬 것이기 때문에 업계는 기본 및 외래 키의 개념을 점차 희석하고 있습니다. 그러나 PD 모델링 단계의 중요한 목적은 데이터 테이블을 통해 테이블 ​​뒤의 비즈니스 관계를 제시하는 것이며 이 관계는 기본 및 외래 키를 통해 PD 테이블에 반영되어야 합니다.

위의 세 가지 표를 예로 들면 비즈니스를 이해하는 학생들은 세 가지 간의 관계도 볼 수 있지만 다른 비즈니스는 어떻습니까? 어떻게 빨리 볼 수 있습니까?세 테이블의 기본 및 외래 키 관계를 설정해 봅시다.

4.3.1 사용자 테이블과 역할 테이블의 외래 키 설정

오른쪽 아이콘을 클릭하여 기본 키와 외래 키를 설정합니다.두 테이블 사이의 관계를 설정할 때 두 테이블을 선으로 연결하고 화살표 방향에 주의하십시오.

 일반적으로 연결을 설정할 때 pd는 둘 사이의 기본 키와 외래 키 관계를 자동으로 찾습니다.위 연결의 영향으로 연결이 완료된 후 사용자 테이블의 사용자 ID와 역할은 각각 다음과 같습니다. 테이블의 ID, 이 필드도 외래 키임을 나타내는 fk 로고가 나타납니다.

둘 사이에 외래 키 관계가 실제로 설정되었는지 확인하는 방법은 무엇입니까? 중간에 있는 연결을 두 번 클릭하여 미리 보기 열로 전환할 수 있으며 그 안에 있는 SQL 문 라인을 볼 수 있습니다.

 sql 문은 다음과 같으며, 이 sql은 테이블이 생성될 때 두 테이블 간의 계단식 관계를 지정하는 것을 쉽게 알 수 있습니다.

alter table user add constraint FK_Reference_3 foreign key (id)
      references role_user (id) on delete restrict on update restrict;

4.3.2 기본 및 외래 키 계단식 관계 수정

기본적으로 두 테이블이 기본 키와 외래 키로 연결되어 있을 때 데이터베이스 스크립트를 생성할 때 두 테이블 간의 관계를 지정하기 위해 SQL을 사용하지만 기본적으로 이 방법은 위에서 언급한 바와 같이 Strongly related relationship에 속합니다. 실제 개발에서 우리는 두 테이블이 너무 강한 바인딩 관계를 갖는 것을 원하지 않아 후속 유지 관리에 문제를 일으킬 수 있습니다.이 계단식 관계를 수동으로 수정해야 합니다. 어떻게 해야 합니까? ? 아래 단계를 따르십시오.

연결 화살표를 클릭하여 다음 인터페이스로 들어가 라디오 없음 상자를 선택한 다음 확인을 클릭합니다.

 이 단계를 완료하는 것만으로는 충분하지 않으며 최종 생성된 데이터베이스 스크립트에서 참조 관계를 설정하는 SQL을 제거해야 합니다.

PD를 사용하여 외래 키 관계를 설정할 때 때때로 온라인 연결 후 외래 키 필드가 정확하지 않거나 외래 키 필드를 변경하려는 경우가 있습니다.이 때 조인 열로 전환하여 다음 설정을 할 수 있습니다.

4.4 데이터베이스 내보내기

데이터 테이블을 디자인한 후 다음 단계는 데이터베이스가 실행할 수 있는 SQL 스크립트를 내보내는 것입니다. pd에서도 매우 간단합니다. 아래 단계를 따르십시오.

4.4.1 SQL 스크립트 내보내기

클릭: 데이터베이스 -> 데이터베이스 생성

내보낸 SQL의 위치 및 이름 설정

 미리 보기 열에는 원래 테이블 생성 SQL이 표시됩니다.

내보내기가 완료되면 로컬 데이터 디렉터리에서 원본 SQL 스크립트 파일을 볼 수 있습니다.

4.4.2 SQL을 사용하여 테이블 생성

navicat에서 위의 SQL을 가져옵니다.

가져오기에 성공하면 다음 테이블을 볼 수 있으며 navicat의 역 관계 맵을 통해 세 테이블 간의 기본 및 외래 키 관계를 볼 수 있습니다.

4.5 리버스 엔지니어링

4.5.1 리버스 엔지니어링이란?

리버스 엔지니어링 (리버스 기술이라고도 함)은 제품 설계 기술 재생산 프로세스, 즉 대상 제품에 대한 역 분석 및 연구를 통해 제품의 처리 흐름, 조직 구조, 기능적 특성 및 기술 사양을 추론하고 얻습니다. 등의 요소를 디자인하여 기능은 유사하나 동일하지 않은 제품을 생산합니다.

4.5.2 리버스 엔지니어링 단계

파일 -> 리버스 엔지니어링 -> 데이터베이스를 선택합니다. 여기에서 수행할 작업은 리버스 엔지니어링을 사용하여 외부 SQL 스크립트의 디자인을 수정한 다음 다시 내보내는 것입니다.

다음 인터페이스를 입력하고 이름을 입력하십시오.

확인을 클릭하면 여기에서 두 가지 방법이 제공됩니다. 하나는 기존 데이터베이스 스크립트를 기반으로 하고 다른 하나는 외부 데이터 소스를 직접 구성하고 연결하는 것입니다.

여기에서 로컬 SQL 스크립트를 사용하도록 선택하고 위에서 내보낸 SQL 파일을 선택합니다.

확인을 클릭하면 이전 데이터 테이블 모델을 가져온 것을 확인할 수 있으며 이 모델을 기반으로 계속 디자인하고 사용할 수 있습니다.

4.5.3 pd는 외부 데이터 소스에 연결합니다.

때로는 SQL 스크립트를 로드하는 문제를 줄이기 위해 외부 데이터 소스에 직접 연결할 수 있으며, 특히 원본 SQL 파일을 내보낼 수 없는 경우가 있습니다. 이것은 매우 실용적인 방법입니다. 구체적인 작업 단계는 다음과 같습니다. 다음과 같습니다.

클릭: 데이터베이스 -> 연결 구성...

데이터 소스 연결을 설정하려면 아래 버튼을 클릭하십시오.

확인을 클릭한 후 시스템 데이터 소스를 선택합니다.

다음 페이지를 클릭한 후 Mysql ODBC(여기에는 함정이 있으며 나중에 설명함)를 선택합니다. 다른 데이터 소스에 연결하려면 해당 드라이버를 선택하기만 하면 됩니다.

마지막으로 다음 인터페이스로 이동하여 데이터 소스 연결의 구성 정보를 설정하고 연결 테스트를 클릭하면 성공 후 확인됩니다.

리버스 엔지니어링을 다시 클릭하고 다음 단계에서 실용적인 데이터 소스를 선택합니다.

 확인을 클릭하면 다음 인터페이스로 이동하고 필요에 따라 가져오려는 테이블을 확인합니다.

 

확인을 클릭하면 외부 데이터 테이블을 가져온 것을 볼 수 있습니다.이 방법은 가져오기를 위해 데이터베이스에 직접 연결하는 것과 같습니다.테이블이 많은 경우 이 프로세스가 약간 느릴 수 있습니다.

4.6 다른 데이터베이스 모델의 변환

실제 프로젝트에서는 다음과 같은 시나리오에 직면할 수 있습니다. 처음에는 프로젝트에서 mysql을 사용하다가 갑자기 프로젝트에서 oracle 또는 postgresql 등과 같은 다른 데이터 소스를 지원해야 합니다. 첫 번째 문제는 데이터베이스를 변경하는 것입니다. 특히 데이터 마이그레이션은 말할 것도 없고 데이터 테이블이 많은 프로젝트의 경우 골칫거리입니다. 테이블 구조를 재정의하는 것만으로는 작은 작업량이 아닙니다. 하지만 이때 pd를 사용하여 변환하는 것을 생각한다면 축하합니다. 이렇게 하면 많은 시간을 절약할 수 있습니다. 어떻게 해야 할까요? 아래의 구체적인 단계를 참조하십시오.

전체 운영 프로세스는 다음과 같습니다.

4.6.1 리버스 엔지니어링 및 SQL 파일 가져오기

여전히 로컬로 내보낸 데이터베이스 파일을 예로 들어 보겠습니다.

 

로컬 스크립트를 사용하거나 데이터베이스에 직접 연결할 수 있습니다.

 가져오기 후 효과

 

4.6.2 현재 PDM을 기반으로 새 PDM 파일 생성

 여기에서 실제 상황에 따라 새 데이터베이스 유형을 선택하십시오.예를 들어 여기에서는 postgresql을 선택합니다.

 

확인 후 왼쪽 메뉴에서 새로운 PD 파일을 볼 수 있으며 동시에 오른쪽 데이터 테이블의 "User ID" 필드의 유형도 mysq의 int에서 변경된 것을 볼 수 있습니다. pg에서 in4로

SQL 파일 내보내기

 

 

확인을 클릭한 후 내보낸 sql 파일을 확인한 다음 pg 데이터베이스로 가져옵니다.

 

지금까지 모델 데이터베이스를 mysql에서 pg로 변환하는 작업은 위의 과정을 거쳐 완료되었습니다.

다섯, 본문 끝에 쓰여진

데이터베이스 설계는 전체 프로젝트 개발 주기에서 매우 중요한 부분입니다.더 많은 인터넷 제품이 빠른 반복 제품에서 데이터베이스의 상태를 희석하고 있지만 여전히 매우 중요하므로 PowerDesigner에 대한 깊은 이해가 여전히 필요합니다. 데이터 모델링의 사용, 이것으로 이 기사의 끝입니다. 시청해 주셔서 감사합니다.

추천

출처blog.csdn.net/zhangcongyi420/article/details/131501373