9
データベースにどの程度のビジネスロジックを実装する必要がありますか?
私は、ほとんどのビジネスロジックがデータベースに実装されているプロジェクト(主にストアドプロシージャを使用)で働いてきました。一方、仲間のプログラマーからは、これは悪い習慣だと聞いたことがあります(「データベースはデータを保存するためにあります。アプリケーションは残りを行うためにあります」)。 これらのアプローチのどれが一般的に優れていますか? 私が考えることができるDBにビジネスロジックを実装することの長所は次のとおりです。 ビジネスロジックの集中化。 アプリケーションの種類、プログラミング言語、OSなどの独立性。 データベースは、テクノロジーの移行や大きなリファクタリング(AFAIK)を受けにくい傾向があります。 アプリケーションテクノロジの移行に関する手直しはありません(例:.NETからJava、PerlからPythonなど)。 短所: SQLは、ほとんどのアプリケーション指向言語が提供するライブラリと言語構成の欠如により、ビジネスロジックプログラミングの生産性が低く、より複雑です。 ライブラリ経由でのコードの再利用がより困難です(可能な場合)。 生産性の低いIDE。 注:私が話しているデータベースは、SQL Server、Oracle、MySqlなどのリレーショナルで人気のあるデータベースです。 ありがとう!