現在、ソフトウェアのアドレス帳モジュールを作成しています。非常に柔軟なアドレス帳構成をサポートするように、データベースをセットアップしました。
必要なすべてのタイプの n エントリを作成できます。タイプとは、ここでは「メール」、「住所」、「電話」などのデータを意味します。
「contact_profiles」という名前のテーブルがあります。
これには 2 つの列しかありません。
id Primary key
date_created DATETIME
そして contact_attributes というテーブルがあります。これはもう少し複雑です:
id PK
#profile (Foreign key to contact_profiles.id)
type VARCHAR describing the type of the entry (name, email, phone, fax, website, ...) I should probably change this to a SET later.
value Text (containing the value for the attribute).
たとえば、ユーザーのテーブルから、これらのプロファイルにリンクできるようになりました。しかし、ここから問題が発生します。
現時点では、取得する値ごとに JOIN を作成する必要があります。何らかの方法でビューを作成する可能性はありますか?それにより、タイプの as 列で結果が得られますか?
だから今、私は次のようなものを得るでしょう
#profile type value
1 email name@domain.tld
1 name Sebastian Hoitz
1 website domain.tld
しかし、次のような結果が得られるとよいでしょう。
#profile email name website
1 name@domain.tld Sebastian Hoitz domain.tld
最初にこのようなテーブル レイアウトを作成したくない理由は、追加するものが常にある可能性があり、同じタイプの複数の属性を持つことができるようにしたいからです。
これを動的に変換する可能性があるかどうか知っていますか?
より良い説明が必要な場合は、お知らせください。