私の練習用のデータベースを設計したいと思いますが、私は考えていません。だから私は、経験豊かな開発者からのアドバイスやアドバイスを受けたいと思っています。テーブルに入る正確なデータがわからないときに、データベースのテーブルを設計するにはどうすればいいですか?
"テーラーショップ"のデータベースを設計したいと思います。実際に、店では、当社の主力製品は、縫製シャツとスカートです。
したがって、属性や列が少ないスカートとシャツの2つのテーブルを作成します。
しかし、誰かが他のものを縫うようになると、私たちもそれを縫うだろうという問題があります。
私はそれが何であり、その属性は何であるのか分からなければ、どうすればそれらのテーブルを作ることができますか?
[ドキュメントに従って](http://dev.mysql.com/doc/refman/5.7/en/json.html)、MySqlはJSONをデータ型としてサポートしています。 JSON列に格納されているすべての製品プロパティを持つ一般的な製品テーブルを持つことができます。別のオプションは、EAVのアンチパターンを使用しています。 –
@ ZoharPeledは何を言いましたか? 'JSON'データ型か' EAV'を使います。これらの用語を検索すると適切な結果が得られます。あなたの質問は、長い議論を生み出して、人々が意見の分かれた答えを出すようにします(誰もが何か新しいものや良いものを考え出すことができると信じているので)、NoSQLを提案する人もいます。しかし、非常に中核的には、未知のデータを 'JSON'カラムに格納するか、あるいはいくつかのテーブルで構成されるエンティティ属性値モデルを作成することです。私が間違っていないなら、Magentoはそれを使用して、あなたのコードをスカウトして有用なアプローチをとることができます。 –
DMLの読み込みとテーブルへの書き込み。 DDLはあなたが持っているテーブルを変更します。これはDBMSを直接使用する方法です。 (Reaanbの答えと同じです。)したがって、単純な設計が不十分であることを実証するまで、構造化データ型やEAVは必要ありません。さらに、あなたは常にそのデザインを持っていなければなりません。もしあなたがそれらの他のテクニックを使うなら、それをエンコードしてください。リレーショナルデータベースの概要を読んでください。 – philipxy