He Xinghe 2006-4-1
まず最初に、私がこれらの手順を忘れそうになったときに思い出させてくれた友人の Chen Haihua に感謝したいと思います。みんなに便利さをもたらします。
ここでは、MS SQL Server2000 の既存の Northwind ライブラリを例として、Customers と Employees という 2 つのテーブルだけを選択し、新しいデータベース間の関係を確立します。他の場合は、Rose 2003 と SQL Server2000 がインストールされていることを前提としています
。注意: スキーマやテーブル スペースなど、この記事で説明されているいくつかの概念については、を参照してください。 People's Posts and Telecommunications Publishing House 発行の書籍『UML Database Design and Application』で、
最終的な効果を初めて確認します
。
図 1. SQLServer2000 の関係図
図 2. Rose2003 の関係図
ステップ 1: Rose2003 で新しい MDL ドキュメントを作成し、Northwind.mdl という名前を付けます
。 ステップ 2: [コンポーネント ビュー] を展開し、[データベースを新規作成] し、NorthwindRose という名前を付けます。これが SQL Server に表示される新しいドキュメントです。ライブラリ名。ここで、Rose が「Logical View」に 2 つの新しいパッケージ「Global Data Type」と「Schemas」を自動的に作成したことがわかります。
図 3.
新しいデータベースを作成するステップ 3: 右クリックして [NorthwindRose] を選択し、[仕様を開く] を開き、他の種類のデータベースにインポートする場合は、ターゲットとして [Micfosoft SQL Server2000.x] を選択します。私はまだ試していませんが、他のバージョンのリファレンス マニュアルを書いても構いません。
図 4. ターゲット データベースの種類を選択します。
ステップ 4: 新しい NorthwindRose テーブルスペースを作成し、右クリックして [NorthwindRose] - [Data Modeler] - [新規] - [テーブルスペース] を開きます。 通常は、テーブルスペースに「PRIMARY」という名前を付けます。この例では、テーブル スペースに NorthwindSpace という名前を付けました。これについては後ほど説明します。これは、SQL Server 2000 をインポートするときに、任意のテーブル スペース名を使用できるわけではなく、テーブル スペースの名前が「ファイル グループ」の項目に対応している必要があるためです。 SQLサーバー。
図 5. 新しいテーブルスペースの作成
ステップ 5: 右クリックして、「論理ビュー」で「スキーマ」を選択し、新しいスキーマを作成します。ここでは、理解できる限り、任意の名前を付けることができます。
図 6.
スキーマを確立するステップ 6: 右クリックして「スキーマ アクター」を開き、新しいデータ モデル ダイアグラムを作成して Main という名前を付け、Main アイコンをダブルクリックします。以下に示すように、ツールバーに変更が表示されます。
図 7. データ モデル ビューを確立し、ダブルクリックして開きます。新しいツールバーが表示されます。
ステップ 7: 右クリックして「Schema_Actor」の「仕様を開く」を開き、データベースとして「NorthwindRose」を選択します。 、同時に新しいテーブルを作成します。
図 8. スキーマ内に新しいテーブルを作成する
ステップ 8: スキーマ「Schema_Actor」の下に、Card、Customers、および Employees という 3 つの新しいテーブルを作成します。 ここでは、Card テーブルの作成を例として、テーブルの作成方法を紹介します。 Rose2003の主キーの設定方法とデータ型、データ長などを選択します。
1. ツールバーから「テーブル」をメイン データ ビューにドラッグすると、T_5 テーブルが表示されます。
2. T_5 テーブルをダブルクリックし、テーブル パラメータを設定し、名前をカードに設定し、テーブルスペースを NotrhwindSpace として選択します。
3. [列] を選択し、空白領域を右クリックして [挿入] を選択し、新しい列を挿入します。
4. 新しく作成した列のプロパティを編集し、名前を CardID に設定し、コメントをカード ID に設定します。主キー。
5.「タイプ」を選択してCardIDのデータ型と長さを設定し、主キーとして設定します。
6. また、CardType という名前の列を作成し、データ型を nvarchar に、長さを 10 に設定します。
ステップ 9: ステップ 8 で説明した方法を真似て、Customers テーブルと Employees テーブルを作成し、関係の識別と非識別を使用します。ツールバーの 2 つのリレーションシップ ツールは、3 つのテーブル間のリレーションシップを確立します。リレーションシップは、親テーブルから子テーブルへのドラッグ方向である必要があります。 、Customers テーブルと Employees テーブルは子テーブルであり、CardID は他の 2 つのテーブルの主キーと外部キーです。非識別関係は外部キー関係のみを確立します。
注: 最初にツールを選択し、次に親テーブルを選択し、接続線をドラッグして子テーブルを指すようにします。
図 12: 完成したテーブル関係図
テーブル関係を確立したら、次の手順に従ってデータベースをインポートします。
SQL Server の「Enterprise Manager」を開き、「NorthwindRose」という名前の新しいデータベースを作成します
。Rose の DB と同じ名前です。プロパティを開き、「ファイル グループ」列に「NorthwindSpace」を追加します。これは、Rose の対応するテーブルスペースです。
図 13. テーブルスペースとファイル グループの関係
ステップ 11: 右クリックして「NorthwindRose」を開き、「Forward Engineer」を選択し、「次へ」をクリックしてインポートする部分を選択し、「次へ」をクリックして「実行」を選択します。 、SQL Server のログイン アカウントとパスワードを入力し、作成したばかりの「NorthwindRose」データベースを選択し、[次へ] を選択してインポートします。
図 14.
インポート プロセス中に SQLServer2000 を確認する インポートが失敗した場合、主に次の理由が考えられます。
1.
テーブルの作成時に、対応するテーブルスペースが選択されていません。
Rose のテーブルスペースは、SQL Server 2000 のファイル グループで対応するエントリを見つけることができません。
図 15. インポートされたテーブル構造は
ここにあります。すべてが順調に進んでいるように見えます。Card テーブルにデータを追加してみましょう。次のエラー メッセージが表示されます。
図 16. 新しいデータの作成時のエラーは
、「NorthwindSpace」という名前のテーブルスペースに問題があることを示しています。この時点で、Rose2003 のテーブルスペースを「PRIMARY」に変更して再インポートする必要があります。再インポートする前に、まず NorthwindRose ライブラリ内のテーブルを削除する必要があります。最後に、使用できるライブラリが表示されます
。次回は、データ ビュー、Rose2003 と SQLServer のストアド プロシージャのインポート、および 2 つの同期を維持する方法について書きます。