2016-09-13 9 views
2

SQL ServerをフロントエンドとしてバックエンドとMS Accessとして使用しています。検索ウィザードを使用してAccessでテーブルを作成し、フォームにコンボボックスを作成し、列内に複数の値を入力できるようにするSQL Server

コンボボックスでの検索値の定義、ドラマ、冒険、恐怖など映画の複数のジャンルを選択して、テーブルの単一のセルに保存できます。

バックエンドと同じSQL Serverをレプリケートするには、デフォルト値で複数の値を入力しようとしましたが動作しません。これはSQL Serverでも可能ですか?

+3

***いいえ!***それはいいことです* SQL Serverはこれを許可していません!これはデータベースデザインの**最初の通常のフォーム**でも違反します** **これをしないでください!今まで! –

答えて

2

複数の値を1つの列に入力することは、リレーショナルデータベース設計では大きな問題ではありません。

あなたがここでやろうとしているのは、many to many relationshipを実現することです。あなたは複数のアイテム、映画などを持っていて、複数のジャンルを持っています。

これは、多対多関係の古典的なケースです。通常このような場合は、3つのテーブルがあり、1つはアイテムを表し、別のテーブルはジャンルを表します。あなたとの間には、アイテムとジャンルに対応する外部キーを持つ3番目のテーブルがあります。最後に

は、次のようなテーブル構造となってしまいます。

Items     ItemToGenre    Genres 
ID | item    ItemID | GenreID   ID | genre 

そしてItems.IDからItemToGenre.ItemID上とGenres.IDItemToGenre.GenreIDに外部キーを持っています。

あなたはJOINテーブルを使用して、特定のアイテムが持つすべてのジャンルを取得できます。そして、噴霧を壊さないでください。

+0

これを試してみて、どのように動作するかを確認していただきありがとうございます。 – Mike

関連する問題