今回はデータベース関連のお話です。
最近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に保存する、すべてのテーブルのスキーマ情報を取得し設計書を作成、などを自動化できます)。
次回
テーブルツールの話をしてみます。
コメント