---
pkg: "@nocobase/plugin-data-source-main"
---

# 継承コレクション

## はじめに

:::warning
メインデータベースがPostgreSQLの場合のみサポートされます。
:::

親コレクションを作成し、そこから子コレクションを派生させることができます。子コレクションは親コレクションの構造を継承しつつ、独自の列を定義することも可能です。この設計パターンは、似たような構造を持ちながらも一部異なる可能性のあるデータを整理・管理するのに役立ちます。

以下に、継承コレクションの一般的な特徴をいくつかご紹介します。

-   **親コレクション**: 共通の列とデータを含み、継承階層全体の基本的な構造を定義します。
-   **子コレクション**: 親コレクションの構造を継承しますが、さらに独自の列を定義できます。これにより、各子コレクションは親コレクションの共通プロパティを持ちつつ、サブクラスに固有の属性を含めることができます。
-   **クエリ**: クエリを実行する際、継承階層全体をクエリすることも、親コレクションのみ、または特定の特定の子コレクションのみをクエリすることも選択できます。これにより、必要に応じて異なるレベルのデータを取得・処理することが可能になります。
-   **継承関係**: 親コレクションと子コレクションの間には継承関係が確立されます。これは、親コレクションの構造を使用して一貫した属性を定義しつつ、子コレクションがこれらの属性を拡張または上書きできることを意味します。

この設計パターンは、データの冗長性を減らし、データベースモデルを簡素化し、データのメンテナンスを容易にするのに役立ちます。ただし、継承コレクションは、特に継承階層全体を扱う場合にクエリの複雑さを増す可能性があるため、慎重に使用する必要があります。継承コレクションをサポートするデータベースシステムは通常、この種のコレクション構造を管理およびクエリするための特定の構文とツールを提供しています。

## 利用ガイド

![20240324085907](https://static-docs.nocobase.com/20240324085907.png)