データ型とは、データーベース内のテーブルの各列に入力できる情報を制限するルールのようなものです。 たとえば、日付専用のフィールドに氏名が入力されることを防ぐには、そのフィールドのデータ型を「日付データ型」に設定します。 各列のデータ型は、テーブルの新規作成時に [データベースのプロパティ] ウィンドウで設定します。
注: データベース モデル図は、特定のバージョンの Visio のみで提供されています。 詳細については、「データベース モデリング機能が見つかりません」を参照してください。
データベース モデル テーブルで列のデータ型を設定する
-
データ型を設定する列が含まれるテーブルの図形をダブルクリックします。
-
[データベース プロパティ] ウィンドウの [カテゴリ] の下で、[列] をクリックします。
-
[データ型] 列で、変更するセルをクリックします。
-
現在のデータ型の横にある下矢印をクリックし、一覧から別のデータ型を選択します。
ポータブル データ型または物理データ型のいずれかを選択する
ポータブル データ型は、別のデータベース システムを使用する場合、類似した互換性のある物理データ型にマップされる汎用定義データ型です。 物理データ型は、ターゲット データベースがサポートするデータ型です。 たとえば、Access をドライバ セットとして利用している場合、モデルの物理データ型として Microsoft Office Access が提供するすべてのデータ型を利用できます。
-
データ型を設定する列が含まれるテーブルの図形をダブルクリックします。
-
[データベース プロパティ] ウィンドウの [カテゴリ] の下で、[列] をクリックします。
-
列一覧の下で、[ポータブル データ型] または [物理データ型] をクリックします。
-
ポータブル データ型は、別のデータベース システムを使用する場合、類似した互換性のある物理データ型にマップされる汎用定義データ型です。
-
物理データ型は、モデルに設定されたデータベース ドライバーにより決まります。 ご使用のドライバーのデータ型の詳細については、そのターゲット データベース管理システム (DBMS) のマニュアルを参照してください。
-
利用可能な物理データ型のセットを変更する
利用できる物理データ型は、データベース管理システムごとに異なります。 たとえば、Access をドライバ セットとして利用している場合、モデルの物理データ型として Access が提供するすべてのデータ型を利用できます。 目的のデータ型が表示されない場合、[ドライバーのオプション] ダイアログ ボックスで設定したドライバーを変更する必要があります。
DBMS のデータ型セットをモデルで使用するには、[ドライバーのオプション] ダイアログ ボックスでドライバーとしてそのシステムを設定します。
-
図に現在設定されているデータベース ドライバーを確認します。
-
テーブルをダブルクリックし、[データベース プロパティ] ウィンドウの [カテゴリ] の下で、[列] をクリックします。
-
列一覧の下の、ポータブル データ型と物理データ型の選択肢の横の部分を確認します。
-
ターゲット データベース管理システムが、かっこ内に表示されています。
-
-
ターゲット データベース ドライバーを変更します。
-
[データベース] メニューで [オプション] をポイントし、[ドライバー] をクリックします。
-
[ドライバー] タブで、ターゲット データベース管理システムとして Visio ドライバーを選択します。
-
[設定] をクリックし、適切な ODBC ドライバーのチェック ボックスをオンにします。
-
ユーザー定義データ型を作成する
ユーザー定義型は、ユーザーが作成できるカスタムのデータ型で、これらの型が作成されているデータベース モデル内で再利用することができます。 ユーザー定義型を利用する状況としては、たとえば、数値データ型が設定されている資産の追跡用の列がテーブルに含まれているとします。 この場合に、資産追跡システムを数値を利用するものから文字列を利用するものに変更する可能性があるとします。 ユーザー定義型を使用すると、いつでもこの型のプロパティを数値から文字列に変更できます。 これにより、この型が適用されている列はすべて変更されますが、数値型が設定されているその他の列は変更されません。
-
[データベース] メニューで、[ユーザー定義型] をクリックします。
-
[ユーザー定義型] ダイアログ ボックスで、[追加] をクリックします。
-
[新しいユーザー定義型の追加] ダイアログ ボックスで、名前を入力します。
-
既存のデータ型を基に新しいデータ型を作成するには、[コピー元] チェック ボックスをオンにして、既存のユーザー定義データ型の名前を選択します。
-
[OK] をクリックします。 このデータ型を、ポータブル データ型として指定します。
-
[OK] をクリックします。
コレクション型を列に設定する
コレクション型を使用すると、それぞれのフィールドで複数の値を格納できるようになります。 たとえば、音楽に関する情報を含むテーブルの場合、クラッシック、ポピュラー、フォークなどのジャンルを設定するためのコレクション型を用意すると便利です。 コレクション型は、外部キーや補助テーブルを使用するのではなく、データを 1 つのエンティティに格納することによって、データベースのパフォーマンスを最適化します。
-
コレクション型として指定する列を含むテーブルをダブルクリックします。
-
[データベース プロパティ] ウィンドウの [カテゴリ] の下で、[列] をクリックします。
-
コレクション型として設定する列をクリックし、[編集] をクリックします。
-
[列のプロパティ] ダイアログ ボックスで [コレクション] タブをクリックし、次のコレクション型のいずれかを選択します。
-
[順序なし/繰り返しなしの値のグループ (セット)]: 列のフィールドに関する複数のインスタンスに、複数の値を格納できるようになります。 ただし、各値は一意である必要があります。 これらの値には並べ替え条件が関連付けられていないので、ランダムな順序で並べられます。
-
順序のある値のグループ (リスト): 複数の要素を一定の順序で並べたコレクションを作成します。 値の重複も可能です。 コレクションを構成する各要素には、それぞれの位置を表す序数が設定されます。 特定の値を指定するときは、この序数を使用します。 2 つの値が同じになる場合がありますが、この序数によって、それらの値が区別されます。
-
[順序なし/繰り返しありの値のグループ (マルチセット)]: 複数の要素で構成されたコレクションを作成します。 値の重複も可能です。 コレクションの各要素には、位置を表す序数は設定されません。
-
-
[OK] をクリックして、[列のプロパティ] ダイアログ ボックスを閉じます。
型図形を使用して複合データ型を作成する
データベース モデル図テンプレートは、リレーショナル データベース モデルとオブジェクト リレーショナル データベース モデルの両方をサポートしているため、単純なデータ型と複合データ型の両方を使用できます。 単純なデータ型は、リレーショナル データベースとオブジェクト リレーショナル データベースの両方で使用され、1 列につき 1 つのデータ型をサポートします。 オブジェクト リレーショナル データベースは複合データ型もサポートし、複合データ型は、1 つの列に複数の値やフィールドを格納できるデータ型で、各フィールドは異なるデータ型を保持できます。 たとえば、住所を複合データ型で定義し、郵便番号、都道府県名、市区町村名、番地用のカラムを設定できます。
-
[オブジェクト リレーショナル] ステンシルから [型] 図形をデータベース モデル図にドラッグします。
-
[型] 図形をダブルクリックして [データベース プロパティ] ウィンドウを開き、[カテゴリ] の下で [フィールド] をクリックします。
-
空白行をクリックして新しい [物理名] を入力し、フィールドを追加します。
-
フィールドのデータ型を入力するか、または一覧から選択します。
-
Null 値を回避するには、[必須] 列のチェック ボックスをオンにします。
-
型を名前ありの型、区別型、またはドメインとして定義するには、[カテゴリ] の下の [定義] をクリックします。
-
目的のオプションを選択します。
-
名前ありの行型 この型が別の型のエイリアスではないことを指定するために選択します。
-
区別型 この型が別の型に基づいており、基になっている型と同じ表現ではあるが、完全に独自の型であることを指定するために選択します。
このオプションを選択すると、[フィールド] カテゴリにあるオプションは選択できなくなります。
-
ドメイン この型が別の型のエイリアスであり、同じ型の間接的な表現であることを指定するために選択します。
このオプションを選択すると、[エイリアスのコレクション型] オプションが使用できるようになり、[フィールド] カテゴリにあるオプションは選択できなくなります。
-
[エイリアスのコレクション型] ([ドメイン] を選択した場合のみ表示): 属性の値が 1 つの値、セット、リスト、マルチセットのコレクションのいずれであるかを指定します。 リレーショナル データベースでは、どのような属性のコレクション型でも 1 つの値となります。 オブジェクト リレーショナル データベースでは、追加のコレクション型を指定できます。
-
複合データ型を列に割り当てる
[型] 図形を使用して複合型を作成している場合、この複合型を任意の列に割り当てて、この型のすべての列をこの列に保持できるように定義できます。 たとえば、ID、名前、住所という列を含むテーブルがある場合、住所の列には、郵便番号、都道府県名、市区町村名、番地という列から成る複合型を定義できます。
-
複合データ型を使用するテーブルをダブルクリックします。
-
[データベース プロパティ] ウィンドウの [カテゴリ] の下で、[列] をクリックします。
-
現在のデータ型の横にある下矢印をクリックし、一覧から別のデータ型を選択します。
型が指定されたテーブルを作成する
[型] 図形を使用して複合型を作成している場合、この複合型を任意のテーブルに割り当てて、この型に基づいてテーブルのすべての列を定義できます。 たとえば、1、2、3 という列から成る型がある場合、この型をテーブルに割り当てて、テーブルに自動的にこれらの列が含まれるようにすることができます。
注: この作業は、空のテーブルに対してのみ実行できます。
-
[エンティティ] 図形をモデル図にドラッグします。
-
テーブルをダブルクリックし、[データベース プロパティ] ウィンドウの [カテゴリ] の下で、[定義] をクリックします。
-
現在のデータ型の横にある下矢印をクリックし、一覧から別のデータ型を選択します。
データベース モデリング機能が見つかりません
ご利用中のエディションの Visio にその機能が含まれていない可能性があります。 ご利用中の Visio のエディションを確認するには、[ヘルプ] メニューの [バージョン情報] をクリックしてください。 ダイアログ ボックスの一番上のテキスト行にエディションの名前が表示されます。
Visio Standard には、データベース モデル図テンプレートがありません。
Visio Professional エディションおよび Premium エディションの場合、データベース モデル図テンプレートのリバース エンジニアリング (つまり、既存のデータベースを利用し、Visio でモデルを作成する) 機能はサポートしていますが、フォワード エンジニアリング (つまり、Visio データベース モデルを利用し、SQL コードを生成すること) はサポートしていません。
注: Visio for Enterprise Architects には、リバース エンジニアリングとフォワード エンジニアリングの両方が含まれており、完全なデータベース モデリング機能をご利用いただけます。 Visio for Enterprise Architects は MSDN Premium Subscription に含まれています。このサブスクリプションは Visual Studio Professional エディションと Visual Studio Team System ロールベース エディションでご利用いただけます。
Visio プラン 2 で既存のデータベースを基にデータベース モデルを設計する方法については、トピック「既存のデータベースにリバース エンジニアリングを行う」を参照してください。