數據庫

喺電算上，，又叫，係指俾電腦有系統性噉儲住啲資料嘅地方：「有系統性」意思即係話個數據庫唔淨只曉儲住啲數據，仲會設計到方便啲用家搵資料；舉個簡單例子，廿一世紀初嘅數據庫最起碼仲會包埋某啲形式嘅搜尋功能，俾用家靠打關鍵字等嘅方法摷資料，而喺實際應用上，一間企業可以用個數據庫儲住一間佢哋啲員工嘅資料，等間企業嘅管理者可以隨時靠打員工嘅名或者姓嚟搵到有關嗰位員工嘅資料。

喺電腦科學裏面，數據庫係相當專門嘅領域：「由個數據庫嗰度搵件數據出嚟」呢家嘢就噉睇好似好簡單；不過到咗廿一世紀初，一個商業用嘅數據庫閒閒哋可以儲咗成幾千億至幾萬億個位元組咁多嘅數據，而由呢啲噉嘅數據庫當中搵數據用到嘅演算法可以複雜得好交關；因為數據庫技術嘅專業性，有好多企業甚至仲會專登請個職位，淨係幫手應付數據庫相關嘅工作。

數據庫同相關嘅技術喺現代資訊科技當中舉足輕重：數據庫技術令到企業能夠儲嘅數據量大增，於是有唔少資訊系統方面嘅工作者就著手研究「呢啲數據可以點樣用嚟達致商業目的」，形成咗大數據同數據科學等嘅領域－可以量度同分析啲消費者用一件電子產品嗰陣嘅行為；電腦科學工作者仲會將機械學習等嘅人工智能技術結合落去數據庫嗰度－令數據庫技術同相關嘅資訊科技係噉互相刺激同引發創新。

概論 

正式嚟講，數據庫係指一柞彼此之間有啦掕嘅數據，仲有係呢柞數據點樣組織埋一齊。舉個例說明，好似係維基百科嘅營運噉，就會用到以下噉嘅數據庫：
儲住啲數據：維基百科日常運作嗰陣要記住大量嘅數據，好似係啲用家嘅數據、啲維基頁嘅數據同埋係啲修改嘅數據... 等等嘅大量數據。一個數據庫通常會分做若干張表，例如用家數據一張、維基頁數據一張、修改數據一張噉。
組織埋一齊：不過，齋係記住啲數據係唔夠嘅，個數據庫跟住仲要將唔同嘅表嘅數據連繫埋一齊，簡單嘅例子有每位用家都俾個 ID 冧把佢，然後修改數據當中嘅每吓修改都有掕住做嗰吓修改嗰位用家嘅 ID 冧把，噉用個數據庫嘅人就有得攞住記用家數據嗰張表，叫部電腦去修改數據表嗰度，摷嗮嗰位用家做過嘅修改出嚟－啲數據之間有組織性。
上述講嘅例子可以用好似下圖噉嘅實體關係表畫出嚟。下圖裏面每個視窗都表示一張專記住某種數據嘅表，個視窗入面每行字都係一個描述嗰種嘢嘅變數而且唔同表之間仲有某啲特定方法將唔同表嘅數據掕埋一齊。而除咗維基數據之外，疾病資料庫同互聯網電影資料庫都係喺廿一世紀初相當出名嘅數據庫。

關係數據庫 

喺廿一世紀初，數據庫入面嘅一幅試算表幾乎實會係以關係數據庫嘅形式表達嘅，即係話幅表會以表格嘅方式出現，有若干行打橫嘅列同埋若干行打戙嘅行，每列表示一個個案，每行表示一款數據。舉個簡單嘅例子說明，家陣整個數據庫，專門用嚟記住有關啲學生嘅數據，出好似下圖噉嘅表，每一行都表示一個學生可以有嘅一個特性，包括係名同主修嘅學科呀噉，而每一列都表示某一個學生嘅數據，包括嗰個學生嘅冧把，仲有係嗰個學生嘅 Name 同 Major 呀噉，做到清清楚楚噉表達嗮一柞個案同每個個案嘅特性：

廿一世紀初嘅關係數據庫嘅設計可以好複雜：
首先一個數據庫通常要有最少一行攞嚟做主匙；一條主匙係指個數據庫入面俾人揀嚟做到「每個個案都有自己獨有一個數值」嘅匙，例如好似上圖噉，上圖個數據庫記住咗啲學生嘅數據，不過 Name 同埋 Major 唔會做到主匙－呢個世上的確有可能會有學生真係咁啱得咁橋同名又讀同一個學科，好似响上圖入面學生 4 同學生 5 都係個名叫阿 John 而且一樣係讀化學嘅，因為噉，設計個數據庫嘅人就整咗一行叫 Number 表示學生號碼，同每個學生俾個獨一無二嘅號碼佢，嗰兩個讀化學嘅阿 John 號碼唔同，於是用個數據庫嘅人就有得靠住檢驗手上個學生嘅 Number，確保自己搵到嗰個學生真係自己想搵嗰個，而唔係一個咁啱同名同姓嘅人－Number 就係呢個數據庫條主匙。主匙仲可以再細分做
自然匙：指條匙嘅數值係對應住某啲會喺數據庫以外嘅特性嘅。假想家陣設計個數據庫嘅人想每個學生都俾條主匙佢，但佢用嘅主匙係身份證號碼－佢喺每個學生登記嗰陣都叫佢哋填自己嘅身份證號碼，並且喺個數據庫入面入咗每個學生嘅身份證號碼，因為身份證號碼正路嚟講係每個人都保證獨一無二嘅，而呢種用「喺個數據庫以外嘅地方都有可能會用到嘅特性」嚟做嘅匙就係所謂嘅自然匙。
代理匙：自然匙嘅相對，指條匙喺個數據庫以外完全係冇意義嘅。假想家陣設計個數據庫嘅人可能唔想個數據庫入面記住好似身份證號碼呢啲咁敏感嘅個人資料，所以佢就改改自己個做法－喺一個學生登記嗰時，佢都用擬亂數產生等嘅方法隨機噉產生一個有返咁上下長嘅號碼，攞呢個數字嚟做嗰個學生嘅學生號碼；呢啲學生號碼喺個數據庫以外嘅地方係完全冇用嘅，而好似呢種用「喺個數據庫以外嘅地方唔會用到嘅特性」嚟做嘅匙就係所謂嘅代理匙。
外匙：指條匙會連去第張表嘅主匙度；舉個例，家陣個學生數據庫要擴張，要記埋每一個學生係由邊位導師主要負責教嘅，間學校嘅數據庫仲另外有張表係記住有關啲導師嘅數據嘅，而每位導師都有個 5 個位嘅數字表示佢嘅導師號碼，而學生張表嘅 Tutor 就係用導師號碼嚟表示每個學生由邊位導師負責，例如阿 Jack 嘅導師係號碼 83026 嗰位，而嗰兩個讀化學嘅阿 John 咁啱由同一位導師負責。喺學生呢張表入面，Tutor 就係一條外匙。

複合匙：指一種主匙嘅做法，指條匙由兩個或者以上嘅特性組成。舉個例說明，想像家陣有間企業想整個數據庫，記住自己同啲客做過嘅交易，於是佢就整咗個噉嘅數據庫－個數據庫每一列都記住咗一串交易，會包含以下嘅重要數據：

Employee_id 指做嗰單交易嘅員工嘅號碼、
Client_id 指做嗰單交易嘅客嘅號碼、
Total_sales 指嗰位員工同嗰位客之間嘅交易總共賺咗幾多錢，以美元計。
即係例如員工號碼 107 嗰位員工同客戶號碼 400 嗰個客之間做咗嘅交易總共值 55,000 文美元咁多。喺呢個表當中，Employee_id 同 Client_id 一齊扮演咗主匙嘅角色－一位員工可能同時要應付多個客，所以齋靠 Employee_id 做唔到主匙，而一個客又可能會由幾位員工同時處理，所以齋靠 Client_id 都係做唔到主匙，不過 Employee_id 同 Client_id 一齊用就能夠做到每個個案都有佢嘅獨有數值。呢種用兩個或者以上嘅特性結合而成嘅主匙就係複合匙。

硬件 

喺硬件上，有返咁上下規模嘅組織用嘅數據庫通常都會儲响數據中心嗰度－呢啲組織會有若干個數據中心，每個數據中心嗰度都會有啲伺服器喺度。呢啲伺服器通常會係行多元處理嘅電腦，記憶體充裕，可以儲到極大量嘅數據；除此之外，呢啲伺服器都會受到嚴密保護，因為呢啲系統好多時都會儲住啲重要嘅個人資料，又或者係有嗰間企業研發緊嘅新產品嘅詳情，唔俾得同行知。正路嚟講，淨係得嗰啲有權限嘅人先至可以睇或者攞數據庫入面嘅數據，而且有陣時唔同用家嘅權限可能都唔同。

管理系統 

數據庫管理系統泛指一啲專門設計嚟俾用家攞嚟管理數據庫嘅軟件，最少會有齊增查改刪嘅功能。增查改刪包括：
增加指加新嘅數據個案落個數據庫嗰度；
查閱指俾用家查同睇數據庫入面嘅數據；
更改指俾用家改嘅數據庫嘅數據；
刪除指俾用家剷走唔想要嘅數據。

時間標記：指一串用嚟記住一件事件幾時發生嘅資訊；數據庫入面嘅每一件數據通常都會掕住個時間標記，用嚟表示嗰件數據係幾時記錄入去個數據庫度嘅。 logging 同相關嘅分析。
序列化：係指將一個數據結構或者物件轉化成一個可以儲起嘅格式，等呢啲數據可以傳去第度而且收數據嗰方可以重新砌返啲數據出嚟。有好多程式語言都會有特定嘅陳述式做序列化。例如 C# 就有類似噉嘅做法：
   [SerializeField] InputField feedback1; // feedback1 會做序列化。
做序列化可能嘅用意包括係想將啲數據傳去數據庫嗰度，例如行為分析上就成日會將自己嘅軟件設計成曉將描述用家行為嘅數據傳返去間企業嘅數據庫嗰度。
網頁刮料

文獻 
Hellerstein, J. M., Stonebraker, M., & Hamilton, J. (2007). Architecture of a database system. Now Publishers Inc.
Hellerstein, J. M., & Stonebraker, M. (Eds.). (2005). Readings in database systems. MIT press.
Kent, W. (2012). Data and Reality: A Timeless Perspective on Perceiving and Managing Information. Technics publications.
Ramakrishnan, R., Gehrke, J., & Gehrke, J. (2003). Database management systems (Vol. 3). New York: McGraw-Hill.

攷

拎 

DB File extension – information about files with the DB extension.