PlantUMLでER図を作成
最終更新日:

データの関連性を理解するのに役立つのがER図です。

ER図は、「エンティティ」「アトリビュート」「リレーション」「カーディナリティ」で構成されます。

ここでは、PlantUMLを利用してER図を書く方法について整理します。

エンティティ / アトリビュート

エンティティ アトリビュート(エンティティに関する情報) は以下のように定義できます。

@startuml

!define TRANSACTION CAE7F2

entity users as "users\nユーザー" <<T,TRANSACTION>> {
  + id INT(10) [PK]
  --
  - xxx_01 BIGINT(30) [あああ]
  # xxx_02 TINYINT(1) [いいい]
  * xxx_03 FLOAT
  ~ xxx_04 DOUBLE
  xxx_05 VARCHAR(255)
  xxx_06 TEXT
  xxx_07 DATE
  xxx_08 DATETIME
  xxx_09 TIMESTAMP
  xxx_10 GEOMETRY
  xxx_11 JSON
}

@enduml
805-design-uml-er_01.png

エンティティをグループ化

エンティティをpackageでグループ化できます。

@startuml

package database <<Database>> {
  entity entity01 {}
  entity entity02 {}
}

package folder <<folder>> {
  entity entity10 {}
  entity entity11 {}
}

package rectangle <<rectangle>> {
  entity entity30 {}
}

package frame <<frame>> {
  entity entity40 {}
}

@enduml
805-design-uml-er_02.png

リレーション / カーディナリティ

リレーション カーディナリティ(多重度) は以下のように定義できます。

@startuml

entity01 ||..|{ entity02
entity03 ||--|{ entity04
entity05 ||--o{ entity06
entity07 ||--o| entity08

@enduml
805-design-uml-er_10.png

配置調整

l u r d でエンティティの位置調整ができます。

@startuml

entity01 ||-l-o{ entity_left
entity01 ||-u-o{ entity_up
entity01 ||-r-o{ entity_right
entity01 ||-d-o{ entity_down_01
entity01 ||--d-o{ entity_down_02

@enduml
805-design-uml-er_11.png

別ファイルで管理

「エンティティの定義」「リレーションの定義」を別ファイルで管理することができます。

エンティティ

@startuml

!define MASTER F9DFD5
!define TRANSACTION CAE7F2

entity users as "users\nユーザー" <<T,TRANSACTION>> {
  + id INT(10) [PK]
  --
  name VARCHAR(30) [名前]
  # country_id [FK]
  created_at TIMESTAMP
  updated_at TIMESTAMP
}


entity posts as "posts\n記事" <<T,TRANSACTION>> {
  + id INT(10) [PK]
  --
  title VARCHAR(30) [タイトル]
  body VARCHAR(255) [記事]
  # user_id [FK]
  created_at TIMESTAMP
  updated_at TIMESTAMP
}


entity countries as "countries\n国" <<M,MASTER>> {
  + id INT(10) [PK]
  --
  name VARCHAR(50) [国名]
  created_at TIMESTAMP
  updated_at TIMESTAMP
}

@enduml

リレーション

!include entity.puml で先述したエンティティの定義を読み込みます。

@startuml

!include entity.puml

users }|-l-|| countries
users ||-r-o{ posts

@enduml
805-design-uml-er_20.png
【エンジニア向け】仕事を見つける方法

転職する

転職エージェントを活用する

転職サイトの場合、自身でサイト上から企業を探す必要があります。 一方「レバテックキャリア」 などの転職エージェントの場合、エージェントが企業を紹介してくれます。エージェントが間に入ることにより、日程調整や、条件交渉などもサポートしてくれます。

転職ドラフトを活用する

転職ドラフト」は、 企業がITエンジニアをドラフトという形で指名するサービスです。年収が最初に提示されるなどのメリットがあります。 ただ、初回登録時にレジュメ作成が必要で、すでにエンジニア経験が豊富にあるエンジニア向けのサービスかと思います。 レジュメ作成が手間ですが、自身のキャリアを見直す機会になり、他の仕事探しにも役立つはずです。

エンジニア転職保証のあるスクールを活用する

ある程度、開発経験のあるかたであれば、独学で必要なスキルを身につけることができるはずです。ただ、別業種からエンジニアに転職したい場合など、1から独学で学ぶのはハードルが高いです。そういった方は、スクールの活用を検討しても良いと思います。 「TechAcademy」は、エンジニア転職保証コースを提供しています。給付金制度の対象講座として認定されているため、金銭面の負担も抑えることができます。

フリーランスとして活動する

レバテックフリーランス」「ITプロパートナーズ」「ギークスジョブ」は、フリーランスエージェントサービスです。 エージェントによって、支払いサイトなど細かい違いはありますが、まずは良い案件を見つけることが重要です。 登録自体は無料なので、複数エージェントに登録して、より多くの案件を紹介してもらうのがおすすめです。

logo
わくわくBank.
技術系の記事を中心に、役に立つと思ったこと、整理したい情報などを掲載しています。