0

Microsoftの.NETFrameworkfor C#、Visual Basic、F#、PowerShellなどが広くサポートされているため、同様のデータベース開発フレームワークが作成されていないのはなぜだろうと思っていました(私は何も見つかりませんでした)少なくとも)。

そのため、自分でフレームワークを開発することを考えましたが、このようなものが大いに必要だったとしたら、商業的にもオープンソースとしても、すでに誰かがこのようなプロジェクトを始めていたのではないかと思います。事業。

技術的な側面についての私の予備的な考えは次のとおりです。

  • フレームワークは、可能な限りMicrosoft.NETFrameworkをモデルにしています。個人的には、.NETとT-SQLに多少偏っていますが、.NETと同様の機能を提供することで、新しい開発者の学習曲線も緩和されると思います。
  • フレームワークオブジェクトを別の専用データベースにデプロイするオプション、またはオブジェクトを別のデータベースのスキーマに含めるオプションを備えた、ある種のインストーラーがあります。また、オブジェクトを作成するためのスクリプトを単純に生成するオプションもあります。
  • インストールするオブジェクトを選択する機能(jQuery UIでカスタムダウンロードパッケージに含めるコンポーネントを選択する方法と同様)により、データベースが肥大化するのを防ぎます。
  • 厳密なANSISQL、およびベンダー固有のバージョン(SQL Server、Oracle、MySQLなど)のサポート。

私が本当に探しているのは:

  1. すでに開発されているこのようなものに出くわした人はいますか?
  2. 一般的に言えば、またはここで述べたことに関して、なぜこれが良いまたは悪い考えになるのかについて、適切な洞察がありますか?

編集

基本的に、私はフレームワークを、ヘルパー関数/プロシージャ、集計/数値テーブルなどの共通のセットを提供するものとして想定しています...

代表的な例は、SQL Serverの2012より前のバージョンで使用できる文字列に日付をフォーマットする関数です(SQL Server 2012ではこれが組み込み関数として導入されました)。

そして、フレームワークによって、私はデータベース内の開発ライン(つまり、プログラミング関数、ストアドプロシージャ、アドホックスクリプトなど)と、データベースとの相互作用またはデータベースへの外部接続(Ling2Sql、ORMなど)を考えています。 )。

4

3 に答える 3

1

これらのオブジェクト/ヘルパーがある種の .Net ライブラリではなくデータベースに存在すると仮定すると、これらのデータベース ヘルパー関数が多数存在し、それらを 1 つの一貫したライブラリにまとめることは確かに役立ちます。

最大の問題はパフォーマンスだと思います。パフォーマンス上の理由から、たとえば、UDF に適切にラップするのではなく、恐ろしいインライン式を使用する必要がある場合があります。または、特定のテーブルに多くの行があるか少ないか、または特定のフィールドが選択的であるかどうかがわかっているため、SQL コードを最適化することが有益な場合があります。

これは、セキュリティ上の懸念とともに、パフォーマンスやセキュリティへの影響がわからないため、平均的な DBA がヘルパー関数をインストールしたくないことを意味する場合があります。これは、DBA が CLR 関数のインストールを好まないのと同じです。

しかし、SQL ヘルパー関数のインストール可能な中央ライブラリに出くわしたことはありません。Codeplex または他の多くのオープン ソース コード ライブラリの 1 つを見て、そのようなものが存在するかどうかを確認できると思います。

頑張れ!

于 2012-11-05T23:11:09.197 に答える
0

エンティティフレームワークラムダ式について調査する必要があります。

于 2012-11-05T21:28:18.947 に答える
0

何を言っているのかわかりませんが、.NET は 2005 年から SQL Server 自体に統合されています。おそらく、CLR 統合について考えているのでしょうか?

于 2012-11-05T21:19:25.997 に答える