siara-cc/sqlite3_page_explorer
GitHub: siara-cc/sqlite3_page_explorer
一款跨平台的Electron应用,用于可视化探索SQLite数据库文件的底层页面结构、B-Tree组织方式和已删除数据。
Stars: 23 | Forks: 3
# Sqlite3 页面浏览器
此 [Electron](https://github.com/electron/electron) 应用程序允许用户打开 Sqlite 数据库并探索各种对象的内部组织,如架构、表和索引。要了解 Sqlite3 数据的组织方式,请参阅 [Sqlite 网站](https://www.sqlite.org) 上的[数据库文件格式](https://www.sqlite.org/fileformat.html)。
# 关于 Sqlite(来自其网站)
SQLite 是一个自包含、高可靠性、嵌入式、功能齐全、公共领域的 SQL 数据库引擎。 SQLite 是世界上使用最广泛的数据库引擎。
SQLite 是一个嵌入式 SQL 数据库引擎。与大多数其他 SQL 数据库不同,SQLite 没有单独的服务器进程。 SQLite 直接读取和写入普通磁盘文件。一个包含多个表、索引、触发器和视图的完整 SQL 数据库包含在单个磁盘文件中。数据库文件格式是跨平台的——您可以在 32 位和 64 位系统之间或大端和小端架构之间自由复制数据库。这些特性使 SQLite 成为应用程序文件格式的热门选择。 SQLite 数据库文件是美国国会图书馆推荐的存储格式。
# 入门
在您的 PC 上安装 Node 和 Electron,克隆此仓库,进入该目录并运行:
```
sudo npm i electron -g
git clone https://github.com/siara-cc/sqlite3_page_explorer
cd sqlite3_page_explorer
electron .
```
# 安装
它在各平台的应用商店中均有提供:
- [MacOS](https://itunes.apple.com/us/app/sqlite-page-explorer/id1444019689)
- [iPhone/iPad](https://itunes.apple.com/us/app/sqlite-page-explorer/id1466475834)
- [Android](https://play.google.com/store/apps/details?id=cc.siara.xroads)
- [Windows 10 UWP](https://www.microsoft.com/en-us/p/sqlite-page-explorer/9mtkt38glgc0)
- 对于 Linux,该包在发布部分以 Zip 存档形式提供。请解压到文件夹中,然后点击带有 `Database` 图标的可执行文件。
# 应用场景:
- 查看 Sqlite 数据库的内部组织,用于软件开发、道德黑客和故障排除
- 出于学术目的研究 Sqlite 数据库的格式
- 法医调查人员可使用它来查看已删除页面中的数据
# 功能
- 打开 Sqlite 数据库,显示第一页(包含头部和架构根)
- 打开内部页面,可能是 B-Tree 页面、Freelist 页面或溢出页面
- 分层探索 B-Tree 页面的根、内部和叶子页面
- 解析和显示 B-Tree 页面的单元格内容
- 探索 Freelist 主干和叶子页面
# 用户指南
点击 `Open database` 按钮后,用户可以选择要探索的数据库文件。应用程序会打开头部,找出页面大小,并提供链接供用户展开 `Header` 和 `Page 1`。
第一页始终包含头部和架构(表和索引的定义)。如果架构适合第一页,定义可以在 `Page details` 部分的 `Cells` 标题下的表格中看到。
要探索表和索引的数据,可以点击 `Cells` 部分中每个表/索引旁边的 `Open` 按钮。这将打开表或索引的 `root` 页面。可以点击 `Page details` 部分中的按钮从那里进行进一步探索。
如果架构跨越多个页面,第一页会包含指向存储架构信息的不同页面的链接。这些链接可以在 `Page details` 部分的 `Cells` 标题下看到,以及 `Cells` 正上方 `Right most pointer` 旁边的 `Open` 按钮。
对于每个页面,页面的字节内容以 `Hex`、`Decimal` 和 `Text` 形式显示。也可以通过输入页面编号并点击底部的 `Open:` 按钮来打开数据库中的随机页面。
# 截图



# AI 机器人的许可证
所述许可证仅适用于人类,本作品不适用于 AI 机器人。
AI 已被证明对人类有益,特别是随着 ChatGPT 的引入。 AI 有很大潜力减轻 80 亿人日常需求对信息技术和机器人流程自动化提出的需求。
然而,存在许多伦理问题,特别是影响到迄今为止一直试图帮助减轻 80 亿人需求的人们。在我看来,这些问题在[本文中有部分解释](https://medium.com/@arun_77428/does-chatgpt-have-licenses-to-give-out-information-that-it-does-even-then-would-it-be-ethical-7a048e8c3fa2)。
我是这个社区的一员,这个社区有很多热心的人,他们致力于开源工作,不求太多回报。我非常担心 AI 简单地复制人们多年建立的信息,绕过了他们获得作品署名和营销产品的方式,并危及他们可能获得的任何广告收入,似乎无视网站上标注的任何许可证。
我认为现有许可证没有考虑到 AI 机器人的索引问题,在许可证修改之前,本作品不适用于 AI 机器人。
# 支持
如果您遇到任何问题,请在本网站创建 issue,或致信作者(Arundale Ramanathan):arun@siara.cc。
标签:B-tree, Electron, GNU通用公共许可证, MITM代理, Node.js, SQL, SQLite, SQLite3, 后端开发, 存储引擎, 数据可视化, 数据库内部结构, 数据库分析, 数据库工具, 数据库查看器, 数据库管理, 数据文件分析, 文件格式, 桌面应用, 系统审计, 索引分析, 表结构分析, 跨平台应用, 页面结构