0

私は 3 番目または 4 番目の正規形記憶喪失データベースを持っており、問題のテーブルはキー/値ハッシュである必要がありますが、アーキテクトはキーと値をレコードのキー部分に入れました。

次のようになります。

-record(idx,{key,value}).
...
Invoice = 1,
Date = now(),
K1 = {?NORMAL_TYPE1,Invoice,Date},
mnesia:write(#idx{key=K1}).
...

問題は...請求書番号しか知らない場合でも、タプルではなく請求書が唯一のキーであるかのように、DBからデータを取得できますか?

K2 = {?NORMAL_TYPE1,Invoice,'_'},
Rec = mnesia:read(#idx{key=K2}).
4

2 に答える 2

1

短い答え:いいえ。

より長い答え: テーブルが orderet_set などである場合、チャンスがあるかもしれませんが、私はそれを期待しません。

余談: 記憶喪失は通常、正規化されたデータに対してあまり効果的ではありません。そのためには通常、標準の RDBMS システムを使用することをお勧めします。

于 2010-12-16T22:19:56.770 に答える
0

ドントケア変数として含むことができるパターンを提供する場所をmnesia:match_object/1/3使用できます。それがあなたの意図したことだと思います。mnesia:select/2/3/4/1'_'

于 2010-12-18T16:57:13.073 に答える