データベースについてよくわかりません。私は4または5(idのための1)の列を持っている紙の上にテーブルを持っています。 1つはプライマリと単一の値ですが、他の列はセカンダリで複数の値を持つことができます。今私はいくつかの値を持っていると私は二次列でこれらの値を検索し、最高の一致したプライマリ列を返す必要があります。すなわち複数の値の列に使用するデータベース
Id Primary Secondary_1 Secondary_2 Secondary_3
1 ABCD 12,11,9 51,52 77
2 ABCE 9,15,17 12,14,7 71,77
3 ABEF 8,9,14,12 51,7 77,71
4 ABEG 7,9,15 52,14 77,78
二列は、文字列型を持つことができます。今、私が(8,9,14,77) を検索しなければならないとしたら、それはABEFを返すべきです。検索(9,51,77)の場合は(ABCD、ABEF)などが返されます。だから私の問題は、どのように私はこのタイプの問題に使用する必要がありますスキーマデータベースを格納する方法です。
セカンダリが3つある理由はありますか? –
より緊急な点は、これは**非常に悪いデザイン**です。このサイトを検索すると、 "多価値"列からデータをクエリしようとする開発者からの多くの質問があります。これはSQLの仕組みではなく、その結果のクエリは恐ろしいものですが、パフォーマンスはひどく、データベースは必然的に破損した状態になります。データベースを使用する場合は、適切なデータモデリングを行います。それ以外の場合は、JSONドキュメントストアまたは同様の無料のファイアゾーンを使用します。 – APC