データベース/データモデル/スキーマを最初から、特にウェブアプリケーション用に設計したことはありません。 最近のインタビューの中には、ショッピングカートアプリケーション用のデータベースをデザインするように求められていたものもあります。今私は、製品や注文情報を保存して処理する必要があるバックエンドを備えたモバイルショッピングアプリケーション(小売り、電話帳を使用)に取り組んでいます。この問題の規模は非常に大きいので、どこから始めるべきかはわかりません。私はいくつかのアドバイスを期待していました -ショッピングカートアプリケーションのデータベースを設計しますか?
- 私はこのような問題(ショッピングカートアプリケーションDB)にどのようにアプローチすべきですか?私はどこから始めるべきですか?
- 私が避けるべき一般的な間違いや落とし穴はありますか?
- このようなDBを設計する際には、どのような最適化/効率パラダイムを覚えておく必要がありますか?
- 問題の領域(製品、注文など)のエンティティを特定するにはどうすればよいですか?どのように私はそれらの間の関係を派生する必要がありますか?
- 面接者がこのような質問をすると、彼は正確に何を探していますか?私は何か言いたいことはありませんか?
また、私はそれを明確にすべき -
- はい、私はnoobのだ、と私の動機は、データベース設計を学び、今後の就職の面接のための準備をしています。私は個々の概念を詳細に記述したDBMSの本を読んだことがありますが、それらをまとめてデータベースの設計を始める手がかりはありません。
- 私はデータベース設計上、他のスレッドを見ました。著者たちはすでに、問題をどのように解消するかに関する知識を持っている傾向があります。私はそれを行う背後にある方法論を理解したいと思います。
- 外部のリソース、コメント、提案など、私を正しい軌道に乗せるものへのリンクは非常に高く評価されています。私はこのスレッドが自分自身や他の人の学習体験として役立つことを願っています。
あなたの応答と正規化についての情報をいただき、ありがとうございます。 初心者として、私はこのことを私の視点から明確にしなければなりません。 ショッピングカートや銀行と同じくらい複雑なドメイン内のDBデザインの複雑さを初心者が理解することは非常に難しいです。これは、DB設計の基礎を理解することとはあまり関係がなく、ドメインを理解することと、良い解を導き出すためにドメインを分割する方法とが関係しています。上記の答えは、設計の基礎とドメインの知識の両方の問題に答えるための簡潔なソリューションを提供しています。 これまでの常識はあなたを抱くことしかできません。 –