BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Studio 3T:MongoDBのためのSQLによる探索

Studio 3T:MongoDBのためのSQLによる探索

ブックマーク

原文(投稿日:2018/06/12)へのリンク

読者の皆様へ:ノイズを減らすための一連の機能を開発しました。関心のあるトピックについて電子メールとWeb通知を受け取ることができます新機能の詳細をご覧ください。

ユーザがデータを直接クエリして探索できるのは、長い間商用データベースの特徴であった。ベンダーが提供するツールとSQLの基本的な理解によって、ユーザはその特定の製品で十分なトレーニングを受けることなく、あらゆるタイプのデータをクエリできる。主な例外は、いわゆるNoSQLデータベースである。NoSQLデータベースごとに専用の構文が必要なため、トレーニングコストが急上昇する可能性がある。

Studio 3Tは、SQLベースのユーザインターフェイスを提供することでこれを解決しようとしている。このユーザインターフェイスは、SQL Server Management StudioまたはPosgreSQLのpgAdminの場合と非常によく似ている。これは、左側にコレクションのリスト、右上にSQLエディタ、右下に結果ペインを持つ標準のパネルレイアウトを備えている。

多くのSQLベースのツールと同様に、Studio 3Tでレコードを直接編集することができる。これは手作業によるデータ修正には便利である。しかし、通常は本番データベースに接続するときにはツールを「読み取り専用モード」に設定して間違いのリスクを低減する。

SQLからJavaScript(node.JS)、Java、Python、C#コードへ

Studio 3Tのユニークな機能は、SQLを言語固有のコードに変換する機能である。クエリが動作していることを確認したら、[Query Code]タブに切り替えて、JavaScript(node.JS)、Java、Python、C#でどのように見えるかを確認できる。これは、便利なトレーニングツールであるだけでなく、長時間の統合テストを実行するのに費やす時間を大幅に節約することができる。

この機能を使用する開発者は、「explain query」サポートを利用した方がよい。他のデータベースエンジンと同様に、これはクエリの予想されるパフォーマンス特性に関する重要な情報を提供する。

MongoDBの結合

Studio 3Tは新機能をかなり頻繁に追加する。最近のアップデートでは、MongoDBデータセットに対してSQLスタイルの内部結合と左結合を実行する機能が追加されている。

これらの結合は、$lookup演算子を使用してMongoDBのネイティブクエリ言語で表現される。ここでSQL実装におけるいくつかの制限がある。複数の結合がサポートされている間は、各結合はその左側の表のみを参照できる。つまり、右結合はサポートされていない。同様に、完全結合も使用できない。

その他のSQL機能

Studio 3TのSQLは以下もサポートする。

  • GROUP BY、ORDER BY、集計関数
  • リミットとオフセット(つまり、データページネーション)
  • LIKEを使用するワイルドカード
  • 値がINを使用する集合のメンバーであるかどうかのテスト
  • 値がBETWEENを使用する範囲内にあるかどうかのテスト
  • ドット付きの名前を使用した埋め込みフィールドへのアクセス

最後のものについては、標準のOOPスタイルのドット表記を使用して子フィールドを読み取ることができる。たとえば、郵便番号を読み取るには「address.zip_code」を使用する。多くのデータベースエンジンと同様に、フィールド名を大括弧または二重引用符で囲むことができる。文字列リテラルには単一引用符が使われる。

SQLクエリおよびクエリコード生成機能には、Studio 3T Proバージョンが必要である。

Rate this Article

Adoption Stage
Style

この記事に星をつける

おすすめ度
スタイル

BT