Object Explorer

This guide provides detailed coverage of the Object Explorer (Navigator) for managing and exploring database objects.

Table of Contents


Overview

The Object Explorer (also called Object Navigator) is located in the left sidebar of the SQLife workbench. It provides a hierarchical view of all database objects, allowing you to browse, search, and perform operations on tables, views, procedures, and other database objects.

Key Features

Schema Management:

  • Switch between schemas instantly
  • Mark favorite schemas
  • Filter schema list

Object Browsing:

  • Hierarchical tree structure
  • Organized by object type
  • Expandable sub-items (columns, indexes, etc.)

Quick Operations:

  • Right-click context menus
  • Query data directly
  • View object definitions
  • Compile, enable/disable objects

Search and Filter:

  • Object name filtering
  • Real-time updates
  • Clear results highlighting

Schema Selection

Schema Dropdown

The schema dropdown is located at the top of the Object Navigator.

Selecting a Schema:

  1. Click the schema dropdown
  2. Scroll through the list
  3. Click to select a schema
  4. Object tree refreshes with selected schema's objects

What You See:

  • All schemas you have access to
  • Current schema highlighted
  • Schema count shown

Default Schema:

  • Usually your login username
  • Or database default schema
  • Can be different per database type

Persistence:

  • SQLife remembers last selected schema per connection
  • Restores on reconnect
  • Stored in connection state

Favorite Schemas

Mark frequently used schemas for quick access.

Adding to Favorites:

  1. Select a schema from dropdown
  2. Click the star icon (★) next to schema name
  3. Schema moves to top of list
  4. Star becomes filled (★)

Removing from Favorites:

  1. Select a favorite schema
  2. Click the filled star icon (★)
  3. Schema returns to alphabetical position
  4. Star becomes empty (☆)

Benefits:

  • Favorites appear at top of dropdown
  • Quick access to common schemas
  • Separated from regular schemas by divider
  • Sorted alphabetically within favorites

Use Cases:

  • Production schemas you work with daily
  • Your personal development schema
  • Shared team schemas
  • Frequently accessed system schemas

Schema Filtering

Quickly find schemas in large databases.

How to Filter:

  1. Click schema dropdown
  2. Start typing schema name
  3. List filters in real-time
  4. Shows only matching schemas

Examples:

  • Type HR to show only HR-related schemas
  • Type DEV to show development schemas
  • Type your username to find personal schema

Tips:

  • Filter is case-insensitive
  • Partial matches work (type test to find test_db, user_test, etc.)
  • Clear filter to see all schemas again
  • Favorites always appear first, even with filter

Object Tree Navigation

Understanding the Tree Structure

The object tree is organized into folders by object type:

SCHEMA_NAME
├─ Tables (156)
│  ├─ EMPLOYEES
│  │  ├─ Columns
│  │  ├─ Indexes
│  │  ├─ Constraints
│  │  ├─ Triggers
│  │  └─ Partitions
│  └─ DEPARTMENTS
├─ Views (12)
│  └─ EMP_DETAILS_VIEW
├─ Procedures (8)
│  └─ CALCULATE_BONUS
├─ Functions (5)
│  └─ GET_EMPLOYEE_NAME
├─ Indexes (203)
├─ Constraints (289)
├─ Triggers (15)
├─ Sequences (10)
├─ Materialized Views (3)
├─ Synonyms (25)
├─ Database Links (2)    [Oracle only]
├─ DBMS Jobs (4)         [Oracle only]
├─ Packages (10)         [Oracle only]
└─ Extensions (5)        [PostgreSQL only]

Folder Labels:

  • Show object type name
  • Count of objects in parentheses
  • Update automatically when objects change

Expanding and Collapsing

Expand Folder:

  • Click icon
  • Or double-click folder name
  • Shows objects within folder

Collapse Folder:

  • Click icon
  • Or double-click folder name
  • Hides objects within folder

Expand All:

  • Not directly available
  • Expand folders individually as needed

Keyboard Navigation:

  • Arrow keys to navigate
  • Enter to expand/collapse
  • Type to jump to object (first letter)

Multiple Selection

Select multiple objects for batch operations.

How to Select Multiple:

  • Ctrl + Click: Add individual objects to selection
  • Shift + Click: Select range of objects
  • Ctrl + A: Select all objects in current folder

What You Can Do:

  • Export multiple objects at once
  • Delete multiple objects (with confirmation)
  • View definitions side-by-side

Visual Feedback:

  • Selected objects highlighted in blue
  • Selection count shown in status bar

Tips:

  • Multiple selection works within same object type
  • Cannot mix different object types (e.g., tables + views)
  • Right-click shows context menu for selection

Object Types

Tables

User tables that store data.

Table Icon: 📋 or table icon

Sub-Items: Expand a table to see:

  • Columns: Column names, types, nullable
  • Indexes: Indexes defined on table
  • Constraints: Primary keys, foreign keys, unique, check
  • Triggers: Triggers attached to table
  • Partitions: Partition structure (if partitioned)

Quick Actions:

  • Double-click to query data
  • Right-click for context menu

Context Menu:

  • Query Data
  • Edit Data
  • Rename Table Name
  • Drop Table
  • Refresh
  • Object Definition
  • Property

Views

Virtual tables defined by SQL queries.

View Icon: 👁 or view icon

Sub-Items:

  • Columns (view columns)

Context Menu:

  • Query Data
  • Rename View Name
  • Drop View
  • Compile View (Oracle only)
  • Object Definition

Notes:

  • Views don't have indexes or triggers
  • Some views are updatable (depends on definition)
  • Materialized views listed separately

Procedures

Stored procedures (PL/SQL for Oracle, PL/pgSQL for PostgreSQL).

Procedure Icon: ⚙️ or procedure icon

Sub-Items:

  • Parameters (input/output parameters)

Context Menu:

  • Rename Procedure Name
  • Drop Procedure
  • Compile Procedure (Oracle only)
  • Object Definition

Execution:

  • Not directly executed from tree
  • Copy definition and execute in SQL editor

Functions

User-defined functions.

Function Icon: 𝑓 or function icon

Sub-Items:

  • Parameters (input parameters, return type)

Context Menu:

  • Rename Function Name
  • Drop Function
  • Compile Function (Oracle only)
  • Object Definition

Usage:

  • Can be called in SQL queries
  • View definition to see signature

Indexes

Database indexes for faster queries.

Index Icon: 🔑 or index icon

Information Shown:

  • Index name
  • Table name (in parentheses)
  • Unique or non-unique

Context Menu:

  • Rename Index Name
  • Disable/Enable Index (Oracle only)
  • Drop Index
  • Object Definition

Types:

  • B-Tree (default)
  • Bitmap (Oracle)
  • GIN, GiST, etc. (PostgreSQL)

Constraints

Table constraints (primary keys, foreign keys, unique, check).

Constraint Icon: 🔗 or constraint icon

Types:

  • Primary Key (P): Unique identifier
  • Foreign Key (R): Reference to another table
  • Unique (U): Unique values
  • Check (C): Custom validation

Context Menu:

  • Disable/Enable Constraint (Oracle only)
  • Drop Constraint
  • Object Definition

Notes:

  • Constraint names often auto-generated
  • Disabling constraints affects data integrity

Triggers

Event-driven code that executes automatically.

Trigger Icon: ⚡ or trigger icon

Information Shown:

  • Trigger name
  • Table name
  • Timing (BEFORE/AFTER)
  • Events (INSERT/UPDATE/DELETE)

Context Menu:

  • Disable/Enable Trigger
  • Compile Trigger (Oracle only)
  • Object Definition

Common Uses:

  • Audit logging
  • Data validation
  • Cascade operations
  • Enforce business rules

Sequences

Number generators (Oracle, PostgreSQL).

Sequence Icon: 🔢 or sequence icon

Context Menu:

  • Drop Sequence
  • Object Definition

Usage:

-- Oracle
SELECT sequence_name.NEXTVAL FROM DUAL;

-- PostgreSQL
SELECT nextval('sequence_name');

Properties:

  • Current value
  • Increment by
  • Min/max values
  • Cycle or no cycle

Materialized Views

Cached query results (Oracle, PostgreSQL).

Materialized View Icon: 💾 or mview icon

Context Menu:

  • Query Data
  • Drop Materialized View
  • Compile Materialized View (Oracle only)
  • Object Definition

Refresh:

  • Manual: Use DBMS_MVIEW.REFRESH (Oracle)
  • Automatic: Based on refresh schedule
  • View data like regular tables

Synonyms

Aliases for database objects (Oracle).

Synonym Icon: 🔗 or synonym icon

Types:

  • Public synonyms (accessible to all)
  • Private synonyms (accessible to owner)

Context Menu:

  • Drop Synonym
  • Object Definition

Usage:

  • Simplify object names
  • Hide schema names
  • Provide compatibility layer

Database Links (Oracle)

Connections to remote databases.

Database Link Icon: 🌐 or link icon

Context Menu:

  • Drop Database Link
  • Object Definition

Usage:

SELECT * FROM employees@remote_db;

Security:

  • May contain stored credentials
  • Use carefully in production

DBMS Jobs (Oracle)

Scheduled jobs in Oracle's DBMS_JOB package.

Job Icon: ⏰ or job icon

Context Menu:

  • Drop Job
  • Object Definition

Notes:

Packages (Oracle)

PL/SQL packages containing procedures and functions.

Package Icon: 📦 or package icon

Sub-Items:

  • Package specification
  • Package body
  • Procedures within package
  • Functions within package

Context Menu:

  • Drop Package
  • Compile Package
  • Object Definition

Structure:

  • Specification: Public interface
  • Body: Implementation

Extensions (PostgreSQL)

PostgreSQL extensions add functionality.

Extension Icon: 🧩 or extension icon

Context Menu:

  • Create Extension (if not installed)
  • Drop Extension
  • Object Definition

Common Extensions:

  • pg_trgm: Text similarity
  • uuid-ossp: UUID generation
  • hstore: Key-value storage
  • postgis: Geographic data

Context Menu Operations

Right-click any object to see available operations.

Common Operations

Available for most object types:

Object Definition:

  • Shows CREATE statement (DDL)
  • Opens in new editor tab
  • Can be copied or modified

Drop:

  • Deletes the object from database
  • Confirmation prompt shown
  • Cannot be undone (unless in transaction)

Refresh:

  • Reloads object metadata
  • Updates tree display
  • Use after external changes

Table Operations

Query Data:

  1. Right-click table
  2. Select Query Data
  3. Data loads in Data View
  4. View mode (read-only) by default

Edit Data:

  1. Right-click table
  2. Select Edit Data
  3. Data loads in edit mode (unlocked)
  4. Add, modify, delete rows
  5. Click Save to commit changes

Rename Table Name:

  1. Right-click table
  2. Select Rename Table Name
  3. Enter new name
  4. Click OK
  5. Table renamed (DDL executed)

Drop Table:

  1. Right-click table
  2. Select Drop Table
  3. Confirmation prompt:

    "Are you sure you want to drop table TABLE_NAME?"

  4. Click OK to confirm
  5. Table deleted permanently

Property:

  1. Right-click table
  2. Select Property
  3. Property window opens showing:
    • Basic information (owner, creation date, row count)
    • Columns (names, types, nullable, defaults)
    • Keys/Constraints (primary key, foreign keys, unique, check)
    • Indexes (index details)
    • Triggers (attached triggers)
    • Partitions (if partitioned)
  4. Edit and save changes if needed

View Operations

Query Data:

  • Same as tables
  • View data defined by view query

Rename View Name:

  • Same as tables
  • Renames the view

Drop View:

  • Deletes view from database
  • Underlying tables not affected

Compile View (Oracle only):

  • Recompiles invalid view
  • Use when view becomes invalid
  • Error shown if compilation fails

Object Definition:

  • Shows CREATE VIEW statement
  • Includes view query

Procedure/Function Operations

Rename:

  • Changes procedure/function name
  • All references must be updated manually

Drop:

  • Deletes procedure/function
  • Dependent objects may become invalid

Compile (Oracle only):

  • Recompiles procedure/function
  • Use when object becomes invalid
  • Shows compilation errors if any

Object Definition:

  • Shows full PL/SQL code
  • Includes parameters and logic
  • Can be copied to editor

Index Operations

Rename Index Name:

  • Changes index name
  • Index functionality unchanged

Disable/Enable Index (Oracle only):

  • Disable: Index not used by queries
  • Enable: Reactivates index
  • Use during bulk data loads

Drop Index:

  • Deletes index
  • Queries may become slower
  • Table data unaffected

Object Definition:

  • Shows CREATE INDEX statement
  • Includes index type and columns

Trigger Operations

Disable/Enable Trigger:

  • Disable: Trigger doesn't fire
  • Enable: Trigger becomes active
  • Use for maintenance or bulk operations

Compile Trigger (Oracle only):

  • Recompiles invalid trigger
  • Shows errors if compilation fails

Object Definition:

  • Shows trigger code
  • Includes timing and events

Other Object Operations

Sequences:

  • Drop Sequence
  • Object Definition (shows current value, increment)

Materialized Views:

  • Query Data (view cached data)
  • Drop Materialized View
  • Compile (Oracle only)
  • Object Definition

Synonyms:

  • Drop Synonym
  • Object Definition (shows target object)

Database Links:

  • Drop Database Link
  • Object Definition (shows remote connection)

Packages:

  • Drop Package (drops spec and body)
  • Compile Package
  • Object Definition (shows spec and body)

Extensions:

  • Create Extension (install if not present)
  • Drop Extension (uninstall)

Object Properties

Table Properties

Access detailed table information:

Opening Properties:

  1. Right-click table
  2. Select Property
  3. Property window opens

Tabs in Property Window:

1. Basic Info:

  • Owner: Schema owner
  • Creation Date: When table was created
  • Last DDL Date: Last modification
  • Row Count: Approximate number of rows
  • Table Size: Disk space used
  • Tablespace: Storage location (Oracle)

2. Columns:

  • Column Name
  • Data Type: VARCHAR2(50), NUMBER(10,2), etc.
  • Nullable: Yes/No
  • Default Value: Default if not specified
  • Comments: Column descriptions

Edit Columns:

  • Modify data type
  • Change nullable property
  • Set default values
  • Add/remove comments

3. Keys/Constraints:

  • Primary Key: Unique identifier columns
  • Foreign Keys: References to other tables
  • Unique Constraints: Unique value constraints
  • Check Constraints: Validation rules

View Constraint Details:

  • Constraint name
  • Type (P, R, U, C)
  • Columns involved
  • Referenced table (for foreign keys)

4. Indexes:

  • Index Name
  • Type: B-Tree, Bitmap, etc.
  • Columns: Indexed columns
  • Unique: Yes/No
  • Status: Valid, Unusable

5. Triggers:

  • Trigger Name
  • Timing: BEFORE/AFTER
  • Events: INSERT/UPDATE/DELETE
  • Status: Enabled/Disabled

6. Partitions (if applicable):

  • Partition Name
  • Partition Type: Range, List, Hash
  • High Value: Partition boundary
  • Sub-partitions: Nested partitioning

Actions:

  • Refresh: Reload property data
  • Save: Apply changes to database
  • View Alter SQL: See DDL for changes
  • Edit Data: Open data in edit mode

Viewing DDL

Object Definition: Shows the SQL statement that creates the object.

How to View:

  1. Right-click any object
  2. Select Object Definition
  3. DDL opens in new editor tab

What You Get:

-- Example: Table Definition
CREATE TABLE EMPLOYEES (
    EMPLOYEE_ID NUMBER(6) NOT NULL,
    FIRST_NAME VARCHAR2(20),
    LAST_NAME VARCHAR2(25) NOT NULL,
    EMAIL VARCHAR2(25) NOT NULL,
    HIRE_DATE DATE NOT NULL,
    SALARY NUMBER(8,2),
    CONSTRAINT EMP_PK PRIMARY KEY (EMPLOYEE_ID)
);

Uses:

  • Learn table structure
  • Copy to create similar objects
  • Document database schema
  • Analyze object design

Tips:

  • DDL is read-only (cannot execute to modify)
  • Use as template for new objects
  • Compare with other databases

Compile Operations

Compiling Invalid Objects

When objects become invalid (usually after dependency changes):

How to Compile:

  1. Right-click invalid object (shown in red or with icon)
  2. Select Compile [Object Type]
  3. Compilation executes
  4. Result shown in message pane

What Gets Compiled:

  • Views
  • Procedures
  • Functions
  • Triggers
  • Packages (spec and body)
  • Materialized Views

Why Objects Become Invalid:

  • Dependent table altered
  • Referenced object dropped/recreated
  • Privilege revoked
  • Database upgrade

Compile Results

Success:

  • Status bar shows: "Compiled successfully"
  • Object icon updates (no longer red)
  • Object can be used again

Failure:

  • Error message shown with details
  • Object remains invalid
  • Fix underlying issue and recompile

Example Error:

PL/SQL: ORA-00942: table or view does not exist

Resolution:

  1. Read error message
  2. Check dependencies
  3. Fix missing/renamed objects
  4. Recompile again

Enable/Disable Operations

Disabling and Enabling

Temporarily deactivate objects without dropping them.

What Can Be Disabled:

  • Triggers
  • Constraints (Oracle)
  • Indexes (Oracle)

How to Disable:

  1. Right-click object
  2. Select Disable [Object Type]
  3. Object becomes inactive
  4. Icon shows disabled state

How to Enable:

  1. Right-click disabled object
  2. Select Enable [Object Type]
  3. Object becomes active again

Visual Indicators:

  • Disabled objects: grayed out icon or text
  • Enabled objects: normal appearance

When to Use

Disable Triggers:

  • During bulk data loads
  • For maintenance operations
  • When testing without trigger logic
  • Performance optimization

Disable Constraints:

  • During data migration
  • For bulk inserts (temporary)
  • Warning: May violate data integrity

Disable Indexes (Oracle):

  • During bulk operations
  • Rebuild after large data load
  • Free up resources temporarily

Important:

  • Always re-enable after operation
  • Test thoroughly after re-enabling
  • Document disabled objects

Object Filter

Using the Filter

Quickly find objects by name.

Filter Box Location:

  • Below schema dropdown
  • Above object tree
  • Text input field with search icon

How to Filter:

  1. Click in filter box
  2. Type object name or pattern
  3. Tree filters in real-time
  4. Shows only matching objects

What Gets Filtered:

  • All object types simultaneously
  • Partial matches (contains)
  • Case-insensitive

Example:

  • Type emp → Shows EMPLOYEES, EMP_DETAILS_VIEW, EMPLOYEE_HISTORY
  • Type _log → Shows AUDIT_LOG, ERROR_LOG, USER_LOG

Clearing Filter:

  • Click X button in filter box
  • Or delete all text
  • Tree shows all objects again

Filter Tips

Performance:

  • Filter works locally (no database query)
  • Instant results
  • Efficient for thousands of objects

Limitations:

  • No regular expressions
  • Simple substring match only
  • Filters current schema only

Best Practices:

  • Use filter instead of scrolling
  • Combine with favorites for efficiency
  • Clear filter when exploring

Refresh Operations

Reload object metadata from database.

When to Refresh:

  • After external schema changes
  • When object list seems outdated
  • After executing DDL statements
  • When sharing database with other users

How to Refresh:

Refresh Entire Tree:

  1. Right-click schema dropdown
  2. Select Refresh All
  3. Entire object tree reloads

Refresh Single Folder:

  1. Right-click folder (e.g., Tables)
  2. Select Refresh
  3. Only that folder reloads

Refresh Single Object:

  1. Right-click object
  2. Select Refresh
  3. Object metadata reloads

Auto-Refresh:

  • Not available (manual refresh only)
  • SQLife caches metadata for performance
  • Refresh explicitly when needed

Tips and Best Practices

Efficient Navigation

Use Favorites:

  • Mark your main schemas as favorites
  • Quick access to common schemas
  • Less scrolling

Use Object Filter:

  • Type instead of scroll
  • Find objects in seconds
  • Combine with partial names

Keyboard Shortcuts:

  • Arrow keys to navigate tree
  • Enter to expand/collapse
  • Type first letter to jump

Organize Workbench:

  • Close unused object folders
  • Keep relevant folders expanded
  • Resize sidebar as needed

Safe Object Management

Before Dropping:

  • Check dependencies (what references this object)
  • Backup or export object definition
  • Consider disabling instead of dropping
  • Test in development first

Before Renaming:

  • Search for all references in code
  • Update dependent objects
  • Document the change
  • Consider synonyms for compatibility

Compiling Objects:

  • Compile in dependency order
  • Fix errors before moving on
  • Test after compilation

Working with Large Schemas

Performance Tips:

  • Use object filter aggressively
  • Don't expand all folders at once
  • Close folders when done
  • Consider schema-level filtering

Organization:

  • Use naming conventions
  • Prefix related objects
  • Group by module or feature

Documentation

Document Objects:

  • Add comments to tables and columns
  • Use descriptive names
  • Maintain object definitions externally
  • Export schema periodically

Track Changes:

  • Note who made changes and why
  • Use version control for DDL scripts
  • Document dependencies

Troubleshooting

Objects Not Showing

Possible Causes:

Wrong Schema Selected:

  • Check schema dropdown
  • Select correct schema

No Privileges:

  • Insufficient SELECT privileges
  • Contact DBA for access

Filter Active:

  • Clear object filter
  • Check for typos in filter

Objects Don't Exist:

  • Verify objects exist in database
  • Refresh object tree

Cannot Compile Object

Possible Causes:

Dependencies Missing:

  • Referenced objects dropped or renamed
  • Grant necessary privileges
  • Recreate missing objects

Syntax Errors:

  • Check object definition
  • Fix errors in SQL editor
  • Recreate object

Insufficient Privileges:

  • Need CREATE privilege
  • Contact DBA

Enable/Disable Not Working

Possible Causes:

Insufficient Privileges:

  • Need ALTER privilege
  • Contact DBA

Object in Use:

  • Active transactions using object
  • Wait for transactions to complete
  • Or kill blocking sessions (DBA)

Database-Specific:

  • Feature not supported (e.g., disable index in PostgreSQL)
  • Check database version

Slow Object Loading

Possible Causes:

Many Objects:

  • Thousands of objects take time
  • Use object filter
  • Consider splitting schema

Network Latency:

  • Remote database connection
  • Slow network
  • Use VPN or local connection

Database Performance:

  • Database server overloaded
  • Contact DBA
  • Schedule during off-peak hours

Next Steps

Now that you've mastered the Object Explorer:

  1. Export database objects:

  2. Import data:

  3. Work with table data:

  4. Manage Oracle scheduled jobs:


You're now an expert at navigating and managing database objects!

For more help, see:

Happy exploring! 🐰