DR. EASTTOM'S LEARNING LABS
LOCAL ANALYSISSTUDENT EDITION 1.0
Database exploration & digital forensics

SQLite Analysis Studio

Open a real database. Follow its structure, investigate its records, and turn your findings into an exportable report.

Real data. Read-only exploration.

Your source file stays unchanged.
01Inspect the schema
02Query & analyze
03Export findings
ENGINE STARTINGPreparing the SQLite engine...

Your investigation starts here

No database software or account is needed for browser mode.

SQLITE 3

Drop a SQLite database here

Or choose a file. Common extensions: .sqlite, .sqlite3, .db, .db3.
Any extension is accepted when the SQLite 3 header is valid. Limit: 100 MiB.

01 / EXPLORE

Start without SQL

Click a table, browse records, sort columns, and apply a filter.

02 / UNDERSTAND

Learn as you investigate

Follow six guided labs using fictional, built-in practice data.

03 / DOCUMENT

Keep findings traceable

Record notes, retain query history, and export data and reports.

This is a logical SQLite explorer, not a deleted-record carver or a phone-acquisition tool. Preserve the source database and any -wal, -shm, or journal sidecars before analysis.

Browse records

Select a table or view in the navigator.

NO SELECTION
Load a database, then choose a table.
Click a row to inspect full values.NULL is distinct from empty text.Row numbers are display positions, not SQLite rowids.

Exports are limited to 32 MiB of returned data. A capped result is never silently exported as complete.

Schema inspector

Explore definitions, column metadata, indexes, foreign keys, and triggers.

Choose an object in the navigator.

SQL workspace

One read-only statement per run. Press Ctrl+Enter or Command+Enter to execute.

Optional bound parameters (JSON)

Example: SELECT * FROM contacts WHERE role = ?; with ["student"]. Large integer parameters should be strings with an explicit CAST(? AS INTEGER).

Your query results will appear here.

The grid shows 100 rows at a time; query export includes every loaded row, not just its visible page. If the result limit is reached, that is recorded in the export.

Query history

No queries yet. History is kept only for this session.

Query recipes

Recipes use the practice database. Adapt table and column names for your own files.

Integrity & relationships

Structural checks are not malware scans and do not establish that data is complete, authentic, or truthful.

Profile a table

Calculate exact counts, NULLs, distinct values, storage types, and numeric ranges. Limited to 64 columns per run.

Search across user tables

Literal substring search across TEXT and numeric cells; BLOBs and views are excluded. SQLite's built-in lower() is ASCII-oriented. Limits: 100 tables, 64 visible columns per table, 10 matching rows per table, 200 matching cells total.

Timestamp workbench

A number is not a date until its epoch and units are known. Choose the encoding deliberately; results are shown in UTC. This tool does not infer the originating application.

SQLite conversion examples
-- Unix milliseconds: force real-number division to preserve fractions.
SELECT datetime(sent_at_ms / 1000.0, 'unixepoch') FROM messages;

-- Chrome/WebKit microseconds since 1601:
SELECT datetime(visit_time_us / 1000000.0 - 11644473600,
                'unixepoch') FROM browser_history;

-- Apple seconds since 2001:
SELECT datetime(CAST(value AS REAL) + 978307200, 'unixepoch')
FROM device_info WHERE key = 'installed_apple_seconds';
From first query to defensible findings

Guided student labs

Six investigations using a fictional campus messaging app. Completion checkboxes are self-reported and session-only.

0 of 6 labs marked completeSCENARIO + RATIONALE + STEPS + REVIEW
Practice-case context: you are a student analyst documenting a campus app's authorized class activity. Every name, address, message, and event is synthetic. Do not treat an unusual record or an export event as proof of wrongdoing.

Check your understanding

How the Studio works

Official documentation

Troubleshooting & limits

Investigation notes & report

Keep observations separate from interpretations. Reports are generated locally and include scope limitations.

SESSION-ONLY NOTES
Notes and results are not saved automatically. Closing or reloading the page clears this session. Export your report before leaving. The report does not automatically embed query-result rows; export those separately.

The HTML report can be printed or saved as PDF through your browser. Query history includes the most recent 100 statements; check/profile/search summaries and export metadata are included.

Report preview

Load a database to establish source provenance.
Working...

Record details