HarborDBでのデータベースナビゲーション
データベースナビゲーションガイドへようこそ!HarborDBは、PostgreSQLデータベースを探索し理解するための強力なツールを提供します。このガイドでは、データベース構造を効果的にナビゲートし、テーブルとリレーションシップを調査し、HarborDBのビジュアルインターフェースを最大限に活用する方法を説明します。
ナビゲーションインターフェース
サイドバーの概要
左側のサイドバーは主要なナビゲーションツールです。データベース構造の階層ビューを表示します:
接続名
├── データベース
│ ├── データベース 1
│ │ ├── スキーマ
│ │ │ ├── public
│ │ │ │ ├── テーブル
│ │ │ │ ├── ビュー
│ │ │ │ ├── 関数
│ │ │ │ └── シーケンス
│ │ │ └── その他のスキーマ
│ │ └── 設定
│ └── データベース 2
└── システムオブジェクト
ナビゲーションモード
HarborDBは2つの主要なナビゲーションモードを提供します:
- ツリービュー(デフォルト ):オブジェクトの階層的な展開
- 検索ビュー:すべてのオブジェクトを素早く検索
データベースの探索
利用可能なデータベースの表示
初めて接続すると、アクセスできるデータベースのリストが表示されます:
- サイドバーで接続を展開
- 「データベース」をクリックしてリストを表示
- 任意のデータベースをダブルクリックして内容を探索
データベース情報
任意のデータベースを右クリックして以下にクイックアクセス:
- プロパティ: データベースサイズ、エンコーディング、照合順序を表示
- 新しいクエリタブ: このデータベースに事前接続されたクエリエディタを開く
- 更新: データベースリストを更新
- データベース作成: 権限がある場合
スキーマの操作
スキーマの理解
スキーマはデータベース内の論理的なコンテナです。PostgreSQLはデフォルトで public スキーマを使用しますが、他のスキーマが存在する場合もあります。
スキーマ内容の探索
- データベースを展開してスキーマを表示
- スキーマを展開してオブジェクトタイプを表示:
- テーブル: データストレージ
- ビュー: クエリからの仮想テーブル
- 関数: ストアドプロシージャと関数
- シーケンス: 自動増分番号ジェネレータ
スキーマ操作
スキーマを右クリックして:
- 新しいテーブル/ビュー/関数を作成
- スキーマ内容を更新
- デフォルトとして設定: これを優先スキーマにする
テーブルの調査
テーブル構造ビュー
「テーブル」フォルダを展開すると、スキーマ内のすべてのテーブルが表示されます。任意のテーブルをクリックして以下を確認:
列タブ
- 列名とデータ型
- 制約(主キー、外部キーなど)
- デフォルト値とNULL許可ステータス
- ストレージ情報
データプレビュータブ
- テーブルデータの最初の100行
- ソート可能な列(ヘッダーをクリック)
- フィルタ可能なデータ(列ヘッダーを右クリック)
- クイックエクスポートオプション
インデックスタブ
- インデックス名とタイプ
- インデックス付き列
- インデックスサイズと統計情報
外部キータブ
- 他のテーブルへのリレーションシップ
- 参照先テーブルと列
- カスケードルール
テーブルクイックアクション
任意のテーブルを右クリックして即座にアクセス:
| アクション | 説明 | キーボードショートカット |
| ------------------- | ----------------------------------------------- | ----------------- |
| 上位100件を選択 | SELECT * FROM テーブル LIMIT 100 クエリを開く | ⌘ + クリック |
| 構造を表示 | 詳細ビューでテーブル構造を開く | ⌥ + クリック |
| SELECTを生成 | このテーブル用の基本的なSELECTクエリを作成 | |
| INSERTを生成 | INSERTテンプレートを作成 | |
| データをエクスポート | テーブルをCSV/JSONにエクスポート | ⌘ + E |
| 更新 | テーブル情報を更新 | ⌘ + R |
ビューの理解
ビュー vs テーブル
ビューはテーブルと似ていますが、SQLクエリに基づく仮想オブジェクトです:
- 通常ビュー: 保存されたクエリ定義
- マテリアライズドビュー: 事前計算された結果(キャッシュ)
ビュー情報
任意のビューをクリックして以下を確認:
- 定義: ビューを定義するSQLクエリ
- 列: 結果セットの構造
- 依存関係: このビューが依存するテーブルとビュー
大規模データベースの操作
フィルタリングと検索
多数のオブジェクトを扱う場合は、以下の機能を使用:
クイックフィルタ
- サイドバー上部の検索ボックスをクリック
- オブジェクト名を入力してリアルタイムでフィルタ
- ワイルドカードを使用:
*users*で名前に「users」を含むすべてのオブジェクトを検索
高度な検索
- 検索範囲: テーブル、ビュー、またはすべてのオブジェクトに制限
- 大文字小文字を区別: 正確な大文字小文字に一致
- 正規表現サポート: 複雑なパターンに正規表現を使用
お気に入りオブジェクト
頻繁にアクセスするオブジェクトにマークを付けて迅速に取得:
- 任意のオブジェクトを右クリック
- 「お気に入りに追加」を選択
- お気に入りサイドバーセクションからお気に入りにアクセス
リレーションシップの調査
テーブルリレーションシップの視覚化
HarborDBはテーブルがどのように接続するかを理解するのに役立ちます:
外部キーの視覚化
- 外部キーを持つ任意のテーブルを右クリック
- 「リレーションシップを表示」を選択
- 接続のグラフィカル表現を表示
依存関係分析
- このテーブルに依存するものを確認
- 循環参照を識別
- スキーマ変更の影響を理解
リレーションシップブラウザ
複雑なデータベースの場合は、リレーションシップブラウザを使用:
- ツールメニュー → リレーションシップブラウザを開く
- 開始テーブルを選択
- 接続を視覚的に探索
- ドキュメント用にリレーションシップ図をエクスポート
実践的なナビゲーション例
例1:新しいデータベースの探索
見慣れないデータベースに接続する場合:
- データベースサイズを確認(データベースを右クリック → プロパティ)
- すべてのスキーマをリストし、主要なものを識別
- 各スキーマのテーブル数を確認
- 最大のテーブルを調査(行数またはサイズでソート)
- ドキュメントテーブルを探す(通常の名前:docs、documentation、readme)
例2:特定のデータの検索
顧客情報を見つける必要がある場合:
- 「customer」、「user」、「client」を含むテーブルを検索
- 関連する列の可能性のあるテーブルを調査
- 関連データを見つけるために外部キーを確認
- 実際のデータをサンプリングするためにデータプレビューを使用
例3:アプリケーション構造の理解
アプリケーションがデータをどのように整理するかを理解するには:
- プレフィックスでテーブルをグループ化(例:
app_、auth_、report_) - 命名規則を調査
- 外部キーのパターンを探す
- ルックアップ/参照テーブルを識別
ナビゲーションのキーボードショートカット
効率的なナビゲーションのためにこれらのショートカットをマスター:
| ショートカット | アクション |
| ----------- | ------------------------------- |
| ⌘ + B | サイドバーの表示/非表示を切り替え |
| ⌘ + F | サイドバーの検索にフォーカス |
| ⌘ + G | 検索結果で次を検索 |
| ⌥ + クリック | 新しいタブでオブジェクトを開く |
| ⌘ + クリック | テーブルのSELECTクエリを開く |
| ⌘ + R | 現在のビューを更新 |
| ⌘ + . | 検索/フィルタをクリア |
| ⌘ + 1-9 | サイドバーセクションを切り替え |
ナビゲーションのベストプラクティス
整理のヒント
- 意味のある接続名を使用: 環境(開発、本番)と目的を含める
- 関連する接続をグループ化: ローカル開発、ステージング、本番
- 環境で色分け: 開発は緑、ステージングは黄、本番は赤
- 接続テンプレートを作成: 類似のデータベース設定用に
パフォーマンスに関する考慮事項
- 自動展開を制限: 一度にすべてを展開しない
- 大規模データベースではブラウジングの代わりに検索を使用
- リソースを解放するために未使用の接続を閉じる
- 非常に大きなスキーマの場合は定期的にキャッシュをクリア
セキュリティのプラクティス
- 可能な場合は接続固有の資格情報を使用
- 適切な権限でスキーマの可視性を制限
- 安全性の低い環境で本番パスワードを保存しない
- 定期的に接続使用状況を監査
ナビゲーションの問題のトラブルシューティング
「オブジェクトが見つかりません」エラー
期待するオブジェクトが表示されない場合:
- 接続を更新(右クリック → 更新)
- データベースでの権限を確認
- 正しいスキーマにいることを確認
- オブジェクトがリネームまたは削除されていないことを確認
遅いナビゲーションパフォーマンス
応答が遅い場合:
- 環境設定で自動展開の深さを減らす
- 大規模テーブルのサムネイルプレビューを無効化
- リモート接続のクエリタイムアウトを増やす
- ツリー展開の代わりに検索を使用
リレーションシップが表示されない
外部キーが表示されない場合:
- PostgreSQLで外部キーが正しく定義されているか確認
- 制約情報を表示する権限があることを確認
- テーブルメタデータを更新
- 遅延制約チェックを確認
高度なナビゲーション機能
探索のためのカスタムクエリ
複雑な探索のための保存クエリを作成:
-- 特定の列を持つすべてのテーブルを検索
SELECT
table_schema,
table_name,
column_name,
data_type
FROM information_schema.columns
WHERE column_name ILIKE '%email%'
ORDER BY table_schema, table_name;
-- 最大のテーブルをリスト
SELECT
schemaname,
tablename,
pg_size_pretty(pg_total_relation_size(schemaname || '.' || tablename)) as size
FROM pg_tables
WHERE schemaname NOT IN ('pg_catalog', 'information_schema')
ORDER BY pg_total_relation_size(schemaname || '.' || tablename) DESC
LIMIT 20;
一般的なパスのブックマーク
頻繁にアクセスするナビゲーションパスを保存:
- ナビゲートしてターゲットオブジェクトに移動
- ツールバーのブックマークボタンをクリック
- ブックマークに名前を付ける(例:「顧客分析テーブル」)
- ブックマークメニューからブックマークにアクセス
データベース構造のエクスポート
データベース構造をドキュメント化:
- サイドバーでオブジェクトを選択
- 右クリック → 構造をエクスポート
- 形式を選択: SQL、Markdown、またはHTML
- オプションを含める: データ、制約、インデックス付き
次のステップ
データベースを効果的にナビゲートできるようになったら:
- クエリの基礎 - SQLクエリの記述と実行方法を学ぶ
- データのエクスポート - 結果をCSVまたはJSONに保存
- パフォーマンス最適化 - データベースワークフローを最適化
ヘルプの入手
ナビゲーションの問題が発生した場合:
- トラブルシューティングのために**サポートガイド**を確認
- よくある質問については**FAQ**を参照
- 個別の支援については**サポートにお問い合わせ**