2011-10-26 9 views
1

私はいくつかのテーブルが他のテーブルから完全に独立していなければならないデータベースを作成しようとしています。1つのテーブルが他のテーブル(SQL Server 2008)と関連がないことを保証できますか?

私は別のスキーマでそれらをグループ化しています(1つは車用、その他はバイク用など) 私はbikes.modelsとcars.modelsを持つことができます。完全に独立しています。

これを保証する方法はありますか?

+2

完全に独立しているとはどういう意味ですか?論理的に(例えば誰もそれらの間にFK制約を設定することはできません)、または物理的に(別々のファイル)ですか? –

+0

table1のFKがtable2のキーとして存在しないようにしますか? – Oded

+0

私は論理的に言えば、異なるデータベースに属さずに物理的に分離する方法はありますか?それはまた私に面白いです – RagnaRock

答えて

1

適切な権限を持つ人は、常にテーブル間にFK制約を作成できます。

はエラーにまたはその代わりに、エンティティのこれらのグループごとに異なるデータベースを設定することを行うだろう誰かに権限を付与しないでください。マーティンで述べたように、あなたがこれらのモデルの間の障壁を作成する場合

1

、異なるデータベースに保管してください。

あなたはその後、人々に、それぞれに異なるアクセス許可を与えることができ、そして、あなたは(私の知る限り)MS SQL Serverの任意のバージョンでデータベース間の外部キーを作成することはできません。人々は両方のモデルを見ることができれば

ただし、彼らはまだデータを結合し、スプリアス出力を作成するためのクエリを実行することができます。ある時点では、データにアクセスできるユーザーの健全性を信頼する必要があります。

関連する問題