============ ER図の書き方 ============ er-diagramディレクティブ ======================== er-diagramディレクティブでER図を記載できます。 YAML形式で記述していきます。 .. code-block:: rst .. er-diagram:: entities: エンティティ名: columns: - カラム1 - カラム2 - カラム3 - カラム4 **出力例** .. er-diagram:: entities: エンティティ名: columns: - カラム1 - カラム2 - カラム3 - カラム4 カラムの属性やラベル ==================== カラムに属性やラベルを指定できます。 以下のプロパティを指定することができます。 **凡例** +-----------+---------------------------------------+ |プロパティ |説明 | +===========+=======================================+ |label |任意のラベルを記述することができます。 | +-----------+---------------------------------------+ |pk |主キーの場合、trueを設定します。 | +-----------+---------------------------------------+ |fk |外部キーの場合、trueを設定します。 | +-----------+---------------------------------------+ |notnull |必須の場合、trueを設定します。 | +-----------+---------------------------------------+ .. code-block:: rst .. er-diagram:: entities: エンティティ名: columns: - 主キーカラム1: { label: ラベルを表示します, pk: true, notnull: true} - 主キーカラム2: { pk: true, notnull: true} - 外部キーカラム: { fk: true } - 必須カラム: { notnull: true } **出力例** .. er-diagram:: entities: エンティティ名: columns: - 主キーカラム1: { label: ラベルを表示します, pk: true, notnull: true} - 主キーカラム2: { pk: true, notnull: true} - 外部キーカラム: { fk: true } - 必須カラム: { notnull: true } リレーション ============ エンティティ間のリレーションの記述方法です。 .. code-block:: rst .. er-diagram:: entities: エンティティ1: columns: - 項目1 - 項目2 エンティティ2: columns: - 項目1 - 項目2 エンティティ3: columns: - 項目1 - 項目2 エンティティ4: columns: - 項目1 - 項目2 エンティティ5: columns: - 項目1 - 項目2 relations: - エンティティ1 -- エンティティ2 - エンティティ2 -> エンティティ3 - エンティティ1 <- エンティティ4 - エンティティ2 <-> エンティティ5 **出力例** .. er-diagram:: entities: エンティティ1: columns: - 項目1 - 項目2 エンティティ2: columns: - 項目1 - 項目2 エンティティ3: columns: - 項目1 - 項目2 エンティティ4: columns: - 項目1 - 項目2 エンティティ5: columns: - 項目1 - 項目2 relations: - エンティティ1 -- エンティティ2 - エンティティ2 -> エンティティ3 - エンティティ1 <- エンティティ4 - エンティティ2 <-> エンティティ5 リレーションのラベル ==================== ラベルを指定することができます。 .. code-block:: rst .. er-diagram:: entities: エンティティ1: columns: - 項目1 - 項目2 エンティティ2: columns: - 項目1 - 項目2 relations: - エンティティ1 -- エンティティ2: { label: ラベルを表示できます } **出力例** .. er-diagram:: entities: エンティティ1: columns: - 項目1 - 項目2 エンティティ2: columns: - 項目1 - 項目2 relations: - エンティティ1 -- エンティティ2: { label: ラベルを表示できます } リレーションの始点と終点にラベルをつける ======================================== 矢印に記号を付けることで、リレーションの始点と終点にラベルを付けることができます。 以下の記号のみ利用できます。 **凡例** +------+-----------------+ |記号 |表示されるラベル | +======+=================+ |\* | 0..* | +------+-----------------+ |\+ | 1..* | +------+-----------------+ |1 | 1 | +------+-----------------+ |? | 0 または 1 | +------+-----------------+ .. code-block:: rst .. er-diagram:: entities: エンティティ1: columns: - 項目1 - 項目2 エンティティ2: columns: - 項目1 - 項目2 relations: - エンティティ1 *--1 エンティティ2 **出力例** .. er-diagram:: entities: エンティティ1: columns: - 項目1 - 項目2 エンティティ2: columns: - 項目1 - 項目2 relations: - エンティティ1 *--1 エンティティ2 外部ファイルの取り込み ====================== サンプル例: :download:`example.yml ` .. code-block:: rst .. er-diagram:: example.yml .. er-diagram:: example.yml