2012-05-08 2 views
0

私は現時点ではPHP上で開発していますが、この質問は言語に依存しないはずです。DALデザイン:データベース内の2つ以上のテーブルへのアクセスを処理しますか?

DBアクセスの場合、私はいつも "テーブルごとに1つのクラス"の練習を聞いたことがあるので、2つ以上のテーブルに同時にアクセスするアクセスメソッドをどこに置くのかと思います(JOINなど) 。

  1. は、各DB呼び出しBLLをお持ちの両方のテーブルのためのクラスのアクセス・メソッドを入れて2つのテーブルの組み合わせのために別のクラスを作成します。私はこれに対処するための3つの方法を考えることができますクラスを個別に作成し、必要なものを得るためのカスタムロジックを書く(つまり、SQLの外部で結合する)

ベストプラクティスとは何ですか?

ありがとうございます!

答えて

0

あなたの3つのオプションのうち1つがベスト1です。あまりにも多くのビジネスロジックがない限り。 "あまりにも"あまりにも主観的です、あなたを気にしてください。 2つのテーブルを結合したデータベースビューを作成することもできます。次に、テーブルのようにクラスを作成します。

+0

(1)も私の最初の選択肢になりそうでしたが、「ビジネスロジックがあまりにも多い」ということをあなたは理解していません。また、私はVIEWの作成に渡すと思います。なぜなら、クエリスピードでは何のメリットももたらさないということです。 – Peter

関連する問題