Oracleデータベース管理システムはそのようなソフトウェアの最も人気のある代表の1つ。幅広い機能と重要な機能により、多くのユーザーを魅了しています。そして、これは驚くべきことではありません。なぜなら、それはすでにどれくらいの期間開発されているからです!では、なぜOracleが興味深いのでしょうか。このDBMSの分析機能は、提供される機能の重要な部分です。そして、この記事の枠組みの中でそれらを見ていきます。
一般情報
- パーティション。
- 整理。
- ウィンドウを設定します。
この本は理論的な裏付けとして取り上げられましたトムカイト。そこからの資料を簡単に紹介し、最も重要な点のみを検討します。詳細が必要な場合は、ソースを参照することをお勧めします。しかし、私を信じてください、あなたが必要とするすべての情報は記事の中で提供されます。
機能について
- ランキング機能。これらを使用すると、「最初のN」クエリを作成できます。
- ウィンドウ関数。さまざまな集計を計算する必要があります(グループ操作)。
- 要約関数。 pに似ています。2、ただし、グループまたはセクションのすべての行で機能します。主な違いは、ORDERBYがないことです。この構成は、OVERステートメントには適用されません。そうでない場合、この関数はセクションまたはグループの各行に関連して使用されます。存在する場合、それはウィンドウに適用されます。これは、別のタイプへの移行を意味します(項目2を参照)。
- 統計関数。例としては、STDEVJPOP、VAR_SAMPなどがあります。順序付けされていないセクションの統計値を計算できます。
一般的に、分析関数はSQLOracleについてはすでに説明しました。しかし、一般的な用語でのみ。途中で諦めたくないので、詳しく見ていきましょう。そして、オラクルの分析機能がこれを支援します。その例を次に検討します。
セクショニングデザイン
注文構成
この場合、ORDERBY形式のクエリが使用されます。表現。さらに、DESC、ASC、およびNULLS FIRST / LASTを適用できます。この構成は、セクションまたはグループ内のデータをソートするための基準を設定するために使用されます。 ORDER BYを使用すると、Oracleが提示する結果に大きな影響を与える可能性があります。たとえば、分析関数FIRSTおよびLASTは、最初と最後の項目に焦点を合わせます。つまり、それらは意味が反対です! FIRSTとLASTは何を教えてくれますか?これらは、セクションの最初または最後に、NULL値を順序付けする場所を示します。 ORDER BYの存在を指定しない場合、グループ全体の平均値が計算されます。そして、それは各行に表示されます。どうして?実際のところ、この場合、関数は最終的なものと見なされます。注文はグループまたはセクション内でのみ実行されることに注意してください。
窓の建設
なぜ分析関数が必要なのですか
技術的な目標は、文言を簡潔に保ち、データベースクエリの実行を高速化することです。これらには、通常のSQL演算子に比べて次の利点があります。
- ネットワークの負荷を軽減します。以前は一連のクエリが必要だったものを、データベースから1つで取得できるようになりました。
- 簡潔でシンプルな言葉遣い。これにより、従来のツールよりもデバッグ機能と洞察機能が向上します。
- 処理効率。分析関数には、より高速な結果を得るために最適化された計算アルゴリズムがあります。
- サーバーへの作業の転送。すべての計算はサーバー上で実行され、そのリソースは通常、このタスクにより適しています。
また、このような機能の導入により、分析的な性質のいわゆるデータウェアハウスを構築するための基本的なツールを提供するなどの戦略的目標を達成することが可能になりました。