80.《Bioinformatics Data Skills》之SQLite關系數據庫

簡介

數據庫是解決內存不足的另一方案,關系數據庫存儲一系列的表格,通過多個表格間的關系來提取與合并特定的信息。目前常用的關系數據庫是采用SQL語句,例如MySQL,PostgreSQL,SQLite等。它們的語法是相通的,由于SQLite不需要繁瑣的配置,這里我們著重介紹。

注意:小型、關系清晰、便于檢索展示的信息采用關系數據庫存儲更為合適,而原始數據及特定類型的數據(如VCF,BED等)使用相應的專業工具效率更高。

SQLite安裝

linux可以通過包管理工具直接安裝:

sudo apt install sqlite3

也支持通過源碼編譯安裝。

SQLite交互探索

SQLite通過命令行工具交互,首先連接數據庫(gwascat.db為創建好的例子數據,例子數據下載):

$ sqlite3 gwascat.db
SQLite version 3.36.0 2021-06-18 18:36:39
Enter ".help" for usage hints.
sqlite>

通過點命令來進行管理,.table命令可以查看當前數據庫內的表格:

sqlite> .table
gwascat

.schema命令可以查看數據庫的架構:

sqlite> .schema
CREATE TABLE gwascat(
id integer PRIMARY KEY NOT NULL,
dbdate text,
pubmedid integer,
author text,
date text,
journal text,
link text,
study text,
trait text,
initial_samplesize text,
replication_samplesize text,
region text,
chrom text,
position integer,
...

以上信息包含了表格的字段名與數據類型(可以通過此命令創建相同表格)。

SQLite包括5種數據類型:

  • 文本(Text);
  • 整數(Integer);
  • 實數(Real);
  • 空(NULL),代表缺失值;
  • 二進制文件(BLOB)

需要注意的是,SQLite雖然需要指明每列的數據類型,當你存入不同類型的數據時會進行隱式轉換預防信息丟失。不過還是建議系列使用相同的數據類型,下游處理的時候可以不需要再考慮數據類型的問題。

注意:MySQL與PostgreSQL有嚴格的數據類型。

其它常用的點命令與介紹如下表所示:

表1

下一節我們將重點介紹一下數據的查詢操作。

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容