2009-07-22 14 views
3

私の会社で全く同じテーブルに参加するために同じクエリを書くのに何時間労働時間を費やしたのか考えたくありません。チーム間で一般的なSQLクエリを共有する

私が初めて仕事を始めたとき、私はこれを非効率的と判断し、開発者の利便性のために別のスキーマでビューを作成し始めました。
私の上司はこれがあまり気に入らず、プロダクションSQLとは別のフォルダにあるソース管理の共通クエリをコミットすることを勧めました。一部のスクリプトにはパラメータが必要であり、すべてが読み込み専用ではないため、これは理にかなっています。

共通クエリとは何ですか?スクリプトは、頻繁に診断する微調整されているので、我々はストアドプロシージャにしたくない特定の問題

  • スクリプトいくつかのテーブル間の関係を表示するには、(やって複数の結合)
  • スクリプトを診断するために使用

    • その日の問題私が対処したい問題

    • 発見可能性、クエリーは誰も見つけることができない場合に書き換えられます
    • IDE統合、IDEで簡単にクエリを表示できるようにします。私はSQL Serverソリューションを試しましたが、実際にはそれらのファイルセットで作業するだけでロックされてしまいました。

    私は、そこにあるすべてのプロが共通のSQLクエリをどのように共有しているのだろうと思っていました。

    おかげ

  • 答えて

    4

    opのように思えるのは、他の人が使うことができ、再作成しないようにしなければならない有用なSQLについて語る方法を知りたいということです。私は過去にこれを行ってきた方法

    二つの方法を通じてされています

    1. は、それがどのように使われるか の例でSQLを詳述することをチームのウェブwikiページを作成します。
    2. 新しいSQLが共有されるべき が作成されたときチームに電子メールを送信します。

    もちろん、バージョンコントロールには常にSQLコードが含まれていますが、wikiと電子メールは「そこから単語を取り除く」部分に使用されています。

    +0

    1つの部屋に一緒に座ったり、コーヒーポットで話したりすることも役に立ちます。また、そのようなものを公開するためにTwitterを使用しようとするかもしれません。たぶんこの目的のための特別な「プライベート」アカウントでしょう。もちろん、セキュリティは問題になるかもしれません。 –

    2

    、それは私がおそらく必要な権限を持つ人々が実行できることをストアドプロシージャを作成し、「共通」呼ぶようなものである場合。

    ストアドプロシージャのルートがチームでうまく機能しない場合、もう1つのオプションはビューを作成することです。ビューの作成には、ビューを実行しているすべてのユーザーがビュー内のすべてのテーブルに対して選択権限を持つようにするなど、独自の課題があります。

    何らかの種類のソース管理にスクリプトを保存している以外、おそらく共有ポイントサイトまたはネットワークファイル共有に保存することはあなたのチームにとってうまくいくでしょう。スクリプトを共有する上での本当の課題は、人々が探しているものを識別するさまざまな方法を持っていることです。クエリが行うさまざまなタイプのタグ付けを可能にするwikiタイプのサイトは便利です。

    +0

    クエリーが非常に一般的で、異なるプロジェクトで何度も何度も書き込まれている場合、それは一般にアクセス可能な場所であるライブラリに配置する必要があると言う別の方法です。ストアドプロシージャとなるデータベースクエリの場合 –

    1

    ビューを作成します。

    0

    (すでに言及したものも含めて)これを行う方法の多く:

    • テーブル値ユーザー定義関数
    • ストアドプロシージャ
    • ビュー
    • ソース管理
    • クライアントコード用の正式な共有データアクセスレイヤー
    0

    この種のことを処理するには、ビューが適切です。または、場合によってはストアドプロシージャ。

    ソース管理にビューまたはストアドプロシージャのDDLを保存できないというルールはありません。

    +0

    私たちは常にストアドプロシージャやビューなどをソース管理に保存しました。 – kemiller2002

    関連する問題