SQLでのカーディナリティの例


  1. 単一カラムのカーディナリティ: カーディナリティの最も基本的な形態は、単一のカラムにおけるユニークな値の数を表します。例えば、以下のようなテーブルがあるとします。

    CREATE TABLE Customers (
     CustomerID INT,
     FirstName VARCHAR(50),
     LastName VARCHAR(50),
     Email VARCHAR(100)
    );

    この場合、CustomerID列のカーディナリティは、顧客の数と同じになります。以下のクエリを使用してカーディナリティを取得できます。

    SELECT COUNT(DISTINCT CustomerID) FROM Customers;
  2. 複数カラムのカーディナリティ: 一つのカラムだけでなく、複数のカラムの組み合わせにおけるカーディナリティも重要な要素です。例えば、以下のようなテーブルがあるとします。

    CREATE TABLE Orders (
     OrderID INT,
     CustomerID INT,
     OrderDate DATE,
     ProductID INT
    );

    この場合、CustomerIDとOrderDateの組み合わせにおけるカーディナリティは、異なる顧客と異なる注文日の数を表します。以下のクエリを使用してカーディナリティを取得できます。

    SELECT COUNT(DISTINCT CustomerID, OrderDate) FROM Orders;
  3. テーブル全体のカーディナリティ: テーブル全体のカーディナリティは、テーブル内のすべてのカラムの組み合わせにおけるユニークな値の数を表します。以下のクエリを使用してテーブル全体のカーディナリティを取得できます。

    SELECT COUNT(DISTINCT *) FROM TableName;

このように、カーディナリティの概念はデータベースのパフォーマンスやクエリの最適化において重要な役割を果たします。正確なカーディナリティの把握は、データベース設計やクエリチューニングにおいて役立つ情報を提供します。