WeeklyAlteryxTips#22 SQL Serverでテーブル一覧を取得する

Alteryx

今回はデータベース関連のお話です。

最近DWHに移行するプロジェクトという話もよく聞きますが、その場合に移行元のデータベースのテーブル一覧などが取得したいことも多いかと思います。まぁ、データベース管理者の方であれば普通にSQL書けるのではないかと思いますが、あえてAlteryxでやってみたいと思います。今回はMicrosoftのSQL Serverを題材にしていますが、だいたいどのデータベースシステムでも似たようなことが可能です。

テーブル一覧はどこにある?

そもそもデータベースに格納されているテーブル一覧はどこにあるのでしょうか?

データベース自体もそれを管理するためのテーブルが実はあったりします。

MS SQL Serverの場合は、sys.objects内に格納されています。SnowflakeではINFORMATIONスキーマ内のTABLESです。PostgreSQLであればpg_tablesです。

それではAlteryxからアクセスしてみましょう。データ入力ツールをキャンバスにドラッグ&ドロップしてデータベースに接続していきましょう。接続できたら以下のように「テーブルの選択またはクエリを指定」ダイアログが表示されます。

標準ではビジュアルクエリビルダの方が多いでしょうか?

しかし、ビジュアルクエリビルダ上ではどこにも見当たりません。ビジュアルクエリビルダはあくまでユーザーが普段利用できるテーブルのみ表示しているようです。

この場合は、「テーブル」もしくは「SQLエディター」からアクセスします。

SQLエディターに切り替え、以下のSQL文を記載します。

select * from sys.objects

ここで、クエリのテストをしてエラーが出なければオッケーです。そのまま「OK」ボタンでダイアログを閉じましょう。これで実行すれば欲しい情報を得ることが可能です(ここではサンプルとして一部の情報のみ掲載します)。

ちなみに、テーブルの場合は以下のように選択するだけです。

SQLエディターの場合は、インターネットで検索したときのSQL文がそのまま利用できるのが利点です。

まとめ

  • テーブル一覧などのデータベースの構成情報を簡単に取得できることをご紹介しました
  • データベース構成情報が取得できれば、その情報を使って様々なことができるようになります(バッチマクロを使い、サンプルデータとしてすべてのテーブルから10レコードずつ取得してCSVに保存する、すべてのテーブルのスキーマ情報を取得し設計書を作成、などを自動化できます)。

次回

テーブルツールの話をしてみます。

コメント

タイトルとURLをコピーしました