1. 數據庫的歷史
數據庫理論的鼻祖是 Charles W.Bachman,他也因此獲得了 1973 年的圖靈獎
IBM 的 Ted Codd 則首先提出了關係數據庫理論,並在 IBM 研究機構開發原型,這個項目就是 R 系統,並且使用 SQL 做爲存取數據表的語言
2. 數據庫和數據庫管理系統
我們常說的數據庫其實是數據管理系統(Database Management System,DBMS )
數據庫管理系統(DBMS)是一種操縱和管理數據庫的系統軟件,是用於建立、使用和維護數據庫。它對數據庫進行統一的管理和控制,以保證數據庫的安全性和完整性。 而數據庫(DB)只是一個存放數據的倉庫。
3. 數據庫中的相關概念
- Catalog。Catalog是數據庫服務器中的單個數據庫,和Database含義相同,便於數據的分類管理
- Table。對Catalog進一步切分的存儲單位,不同類型的相關數據存放在不同的table中
- Column。也叫做Field,數據的一個表現特性
- DataType。數據的數據類型
- Record。也叫做Row,數據表中的一條數據
- PrimaryKey。主鍵,唯一標識符,一個表中可以沒有主鍵,也可以是複合主鍵
- ForeignKey。外鍵,用於將獨立的表關聯起來
- Index。索引,原始數據Record的排序情況,也被稱爲鍵
- SQL。結構化查詢語言,SQL 具有下面 4 個主要的功能:創建數據庫並定義表的結構;查詢需要的數據;更新或者刪除指定的數據;控制數據庫的安全
- DBA。數據庫系統管理員(Database Administrator,DBA) ,負責監視系統、備份/恢復系統、優化系統
4. MYSQL的特點及功能
- 客戶/服務器體系:MYSQL由一個數據服務器和多個客戶(應用程序)組成,客戶和服務器可以運行在同一臺計算機上也可以運行在不同計算機上(同一個局域網或經過因特網通信)
- SQL兼容性:MYSQL遵循最新的SQL標準,同時也有一些拓展,可以選擇sql-mode來兼容其他數據庫
- 視圖:反映出數據庫某個特定方面的SQL查詢,不佔內存。
- 存儲過程:用於處理被存儲在數據庫內部的SQL代碼,可以將一系列操作簡化爲一個函數來使用
- 觸發器:數據庫服務器在一些特定操作下自動執行的一組SQL命令,如insert、update等
- Unicode:MYSQL從4.1版本後開始支持所有常用數據集,包括Latin-1、Latin2和Unicode(utf8和ucs2)
- 全文搜索:全文搜索加快了對文本字段內單詞的搜索
- 鏡像複製:允許數據庫管理員將某個數據庫的內容動態地複製到其他計算機。
- 事務:將多個數據庫操作作爲一個整體,要麼全部執行要麼全部不執行
- 外鍵約束:保證關聯的數據表中沒有找不到目標的交叉引用定義的規則
- GIS函數:MYSQL從4.1版本後支持對二維地理數據進行存儲和處理
- MYSQL不支持OLAP功能,一般將支持OLAP的數據庫稱爲數據倉庫(data warehouse)