web-dev-qa-db-ja.com

データベーススキーマを変更するデメリット-途中で新しい列/テーブルを挿入または削除します

多くのリンクを読んで、eコマースショッピングサイトでは、定期的に多くの属性を追加する必要があるかもしれないので、フラットテーブルを使用しても大丈夫ですか?

データベーススキーマを変更することのデメリットまたはプロジェクトの途中で新しい列とテーブルを挿入/削除することは何ですか?

また、何か問題がありますかNULL値をたくさん保持している場合データベースにありますか?

EAVは悪だと聞いたので、フラットテーブルでショッピングサイトを作りたい…。

1

システムの基盤はデータベースです。データベーススキーマを変更する場合は、コードも変更する必要があります。つまり、安定したデータモデルを維持することで、コードで行う必要のあるやり直しの量を減らすことができます。

そうは言っても、現実の世界では要件が変化します。データモデルを可能な限り優れたものにするために、事前に時間をかけて投資することをお勧めします。その後、現実の世界が侵入し、データベーススキーマを変更する必要があります。

注意深く計画することで、簡単に予想される変更が発生したときにコードを作り直す時間を大幅に節約できます。

ヌル値に関しては、それ自体に問題はありません。ただし、Null値が多数あるテーブルがある場合は、デザインが適切に正規化されていないことを示している可能性があります。 eコマースサイトのようなトランザクション処理システムでは、第3正規形(3NF)のデータベース設計から始めて、細心の注意と慎重に、必要な場合にのみ非正規化する必要があります。これは、データ品質の低下を防ぐのに役立ちます。

EAVは、正しい選択である場合もありますが、原則として避ける必要があります。私は ここ オンライン製品カタログはそれらの状況の1つであると主張しました。

6
Joel Brown