Object Explorer
This guide provides detailed coverage of the Object Explorer (Navigator) for managing and exploring database objects.
Table of Contents
- Overview
- Schema Selection
- Object Tree Navigation
- Object Types
- Context Menu Operations
- Object Properties
- Compile Operations
- Enable/Disable Operations
- Object Filter
- Refresh Operations
- Tips and Best Practices
- Troubleshooting
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:
- Click the schema dropdown
- Scroll through the list
- Click to select a schema
- 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:
- Select a schema from dropdown
- Click the star icon (★) next to schema name
- Schema moves to top of list
- Star becomes filled (★)
Removing from Favorites:
- Select a favorite schema
- Click the filled star icon (★)
- Schema returns to alphabetical position
- 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:
- Click schema dropdown
- Start typing schema name
- List filters in real-time
- Shows only matching schemas
Examples:
- Type
HRto show only HR-related schemas - Type
DEVto show development schemas - Type your username to find personal schema
Tips:
- Filter is case-insensitive
- Partial matches work (type
testto findtest_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:
- Legacy job system (pre-10g)
- Consider using DBMS_SCHEDULER instead
- See Oracle Scheduler Guide
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 similarityuuid-ossp: UUID generationhstore: Key-value storagepostgis: 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:
- Right-click table
- Select Query Data
- Data loads in Data View
- View mode (read-only) by default
Edit Data:
- Right-click table
- Select Edit Data
- Data loads in edit mode (unlocked)
- Add, modify, delete rows
- Click Save to commit changes
Rename Table Name:
- Right-click table
- Select Rename Table Name
- Enter new name
- Click OK
- Table renamed (DDL executed)
Drop Table:
- Right-click table
- Select Drop Table
- Confirmation prompt:
"Are you sure you want to drop table TABLE_NAME?"
- Click OK to confirm
- Table deleted permanently
Property:
- Right-click table
- Select Property
- 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)
- 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:
- Right-click table
- Select Property
- 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:
- Right-click any object
- Select Object Definition
- 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:
- Right-click invalid object (shown in red or with icon)
- Select Compile [Object Type]
- Compilation executes
- 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:
- Read error message
- Check dependencies
- Fix missing/renamed objects
- 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:
- Right-click object
- Select Disable [Object Type]
- Object becomes inactive
- Icon shows disabled state
How to Enable:
- Right-click disabled object
- Select Enable [Object Type]
- 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:
- Click in filter box
- Type object name or pattern
- Tree filters in real-time
- 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:
- Right-click schema dropdown
- Select Refresh All
- Entire object tree reloads
Refresh Single Folder:
- Right-click folder (e.g., Tables)
- Select Refresh
- Only that folder reloads
Refresh Single Object:
- Right-click object
- Select Refresh
- 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:
-
Export database objects:
-
Import data:
-
Work with table data:
-
Manage Oracle scheduled jobs:
You're now an expert at navigating and managing database objects!
For more help, see:
Happy exploring! 🐰