これはデータベースに最適な構造であるかどうかはわかりませんが、これは私が現時点で持っているものです(変更の提案があります)。私は基本的に各ページのフィールドのユーザー定義セットを持つページを作成したい。だから私は4つのテーブルを持っている:ページ、page_fields、page_dataとdata_fields。データベースの正規化とSQLの混乱
ページ:
id name
1 home
page_fields:
page_id field_id
1 1
1 2
1 3
page_data:
page_id field_id content
1 1 'This is the Title'
1 3 'Some description here'
data_fields:
id field_name field_type
1 title text
2 subtitle text
3 description textarea
まずは、これは良いデータベース構造ですか? 第2に、page_fieldテーブルで定義されている必須フィールド、そのフィールドのデータ(ある場合)、filed_nameとfiled_typeを取得するにはどうすればよいですか?
私はここにいくつかの結合があると推測しますが、私はそれらを解決できません。
助けてください。
はい、私はあなたが何を意味するか見ますpage_fieldsにnull値を使用した場合、page_fieldsは冗長になります。したがって、私のSQLは次のようになります。SELECT * FROM page_data INNER JOIN data_fields ON(page_data.id = data_fields.id) WHERE page_data.id = '1' - 動作します!ありがとうございました – charliefarley321