1

特定の問題のデータベースモデルに関する質問の詳細。問題は次のとおりです。

固定テーブルの行を構成するオブジェクトがいくつかありますが、それらはすべて別個のものです(もちろん)。これらの保存されたオブジェクトの可変量を含むセットを作成したいと思います。これらのセットはユーザー定義であるため、ハードコーディングは行われません。各セットは番号で特徴付けられます。

私の質問は、経験豊富なSQLプログラマーがそのような機能を実装するために私にどのようなアドバイスを与えることができるかということです。私の最も直接的なアプローチは、テーブル変数または一時テーブルを使用して、そのようなセットごとにテーブルを作成することです。最後に、セットの名前を含む既存のテーブル(データベースに現在存在するセットをユーザーに知らせる方法として)。

効率的でない場合、これを解決するためにどの方向を検討しますか?

ありがとう。

4

1 に答える 1

1

テーブル変数と一時テーブルは短命で、範囲が狭く、おそらくこれに使用したいものではありません。セットごとに1つのテーブルも、私が選択するソリューションではありません。

それの音によってあなたは3つのテーブルが必要です。1つはオブジェクト用、もう1つはセット用、もう1つはオブジェクトとセット間の関係用です。

このようなもの(SQL Server構文を使用してテーブルを記述します)。

create table [Object]
(
  ObjectID int identity primary key,
  Name varchar(50)
  -- more columns here necessary for your object.
)

go

create table [Set]
(
  SetID int identity primary key,
  Name varchar(50)
)

go

create table [SetObject]
(
  SetID int references [Object](ObjectID),
  ObjectID int references [Set](SetID),
  primary key (SetID, ObjectID)
)

これがきれいな絵としてのm:m関係です: ここに画像の説明を入力してください

于 2012-04-07T17:03:17.063 に答える