PlantUML로 ER 다이어그램을 만들려고했습니다.

3784 단어 plantuml
ER 다이어그램을 만들기 위해 PlantUML 을 사용해 보았습니다.

PlantUML이란?



UML 등의 다이어그램을 DSL(도메인 고유 언어)로 작성해 주는 툴입니다.
※ DSL : 특정 영역에 특화된 언어

이하, 공식 페이지로부터.

PlantUML 은, 다음과 같은 다이어그램을 신속하게 작성하기 위한 컴퍼넌트입니다.
· 시퀀스 다이어그램
・유스 케이스 다이어그램
・클래스도
・액티비티도(옛 문법은 이쪽)
· 컴포넌트 다이어그램
・상태 천이도(스테이트 머신도)
· 오브젝트 다이어그램
· 배치도
· 타이밍 다이어그램

PlantUML 도입 절차



필요한 환경


  • Homebrew
  • VSCode

  • PlantUML 설치


    $ brew install graphviz
    $ brew install plantuml
    

    VSCode에 PlantUML 플러그인 설치


  • VSCode를 시작합니다
  • Marketplace에서 PlantUML을 설치합니다.


  • PlantUML 파일 작성/편집


  • .pu 확장자를 가진 파일을 만듭니다.
  • PlantUML 표기법에서 pu 파일을 편집합니다.
  • VSCode에서 [Alt] + [D]로 미리보기 화면이 열립니다.

    예 : ER 그림

    EntityRelationship.pu
    @startuml EntityRelationship
    
    package "MySQL" as target_system <<Database>> {
    
        entity "USERS" as users {
            + USER_ID [PK]
            --
            USER_NAME
            UID
            INSERT_DATA
            UPDATE_DATE
            DELETE_FLAG
           }
    
        entity "PORTFOLIOS" as portfolios {
            + PORTFOLIO_ID [PK]
            --
            # USER_ID [FK]
            --
            PORTFOLIO_NAME
            PORTFOLIO_URL
            REPOSITORY_URL
            PORTFOLIO_OVERVIEW
            PORTFOLIO_APPEAL
            PORTFOLIO_TERM
            PORTFOLIO_STATE
            NICE_COUNT
            INSERT_DATA
            UPDATE_DATE
            DELETE_FLAG
        }
    
        entity "PORTFOLIOS_IMAGES" as portfolios_images {
            + IMAGE_ID [PK]
            --
            # PORTFOLIO_ID [FK]
            --
            PORTFOLIO_IMAGE
            INSERT_DATA
            UPDATE_DATE
            DELETE_FLAG
        }
    
        entity "PORTFOLIOS_SKILLS" as portfolios_skills {
            + SKILL_ID [PK]
            --
            # SKILL_CD [FK]
            # PORTFOLIO_ID [FK]
            --
            INSERT_DATA
            UPDATE_DATE
            DELETE_FLAG
        }
    
        entity "PORTFOLIOS_URLS" as portfolios_urls {
            + URL_ID [PK]
            --
            # PORTFOLIO_ID [FK]
            # URL_CATEGORY_ID [FK]
            --
            URL
            INSERT_DATA
            UPDATE_DATE
            DELETE_FLAG
        }
    
    users --right--o{ portfolios
    portfolios -down-|{ portfolios_images
    portfolios -down-|{ portfolios_skills
    portfolios --|{ portfolios_urls
    
    @enduml
    

    엔티티에서 각 테이블을 정의하고 마지막으로 각 관계 정보를 설명하기 만하면됩니다.

    이미지 출력


  • 다음 명령은 pu 폴더와 동일한 디렉토리에 png 파일을 출력합니다.
  • $ plantuml EntityRelationship.pu
    

    출력 이미지↓


    요약



    Excel이나 다른 드로잉 툴의 GUI로 도형을 페타페타 붙여 작성하는 것보다, 코드로 거는 것이 훨씬 편하게 느꼈습니다.
    기법도 간단하고 간단했습니다.

    그리고, 코드 관리할 수 있는 것이 편리하다고 생각했습니다.
    Git 등으로 관리하면 코드 차분이나 변경 이력을 알 수 있으므로 설계 주위의 문서 관리가 쉬워진다고 생각합니다.

    참고


  • PlantUML에서 ER 다이어그램 (ERD) 그리기 (비슷하지 않음)
  • UML의 폭속 미리보기 환경을 Visual Studio Code + PlantUML Server on Docker로 쉽게 구축
  • 좋은 웹페이지 즐겨찾기