SQL 資料庫



SQL 資料庫

SQL 或關係資料庫用於儲存和管理彼此相關的資料物件,即基於關係模型處理關係資料庫中的資料。

此關係模型是一種以結構化方式(使用表)管理資料的方法。用於管理這些關係資料庫的系統稱為關係資料庫管理系統 (RDBMS)。

SQL 資料庫表結構

SQL 資料庫伺服器以表格形式儲存資料。是用於以行和列格式收集資料的資料庫物件。行表示實體,而列定義表中每個實體的屬性。

列:列是表中的垂直元素。表中的每一列都儲存特定的屬性資訊,以及列屬性,例如列名和資料型別(整數、字元、字串等)。

行:行是表中的水平元素,使用者可以透過執行 SQL 查詢新增資料或檢索資料。

SQL 資料庫型別

有許多流行的 RDBMS 可供使用。以下是其中一些最流行的 RDBMS:

  • MySQL
  • MS SQL Server
  • ORACLE
  • MS ACCESS
  • PostgreSQL
  • SQLite

本 SQL 資料庫教程簡要概述了上述指定的這些 RDBMS。這將幫助您比較它們的基本功能。

MySQL

MySQL 是一個開源 SQL 資料庫,由瑞典公司 MySQL AB 開發。MySQL 發音為“my ess-que-ell”,與 SQL 的發音“sequel”形成對比。

MySQL 支援許多不同的平臺,包括 Microsoft Windows、主要的 Linux 發行版、UNIX 和 Mac OS X。

MySQL 有免費版和付費版,具體取決於其用途(非商業/商業)和功能。MySQL 配備了一個非常快速、多執行緒、多使用者且健壯的 SQL 資料庫伺服器。

歷史

  • 1994 年 - Michael Widenius 和 David Axmark 於 1994 年開始開發 MySQL。

  • 1995 年 - 1995 年 5 月 23 日釋出第一個內部版本。

  • 1998 年 - 1998 年 1 月 8 日為 Windows 95 和 NT 釋出了 Windows 版本。

  • 2001 年 - 2000 年 6 月釋出了 3.23 版本的測試版,2001 年 1 月釋出了正式版。

  • 2003 年 - 4.0 版本於 2002 年 8 月釋出測試版,2003 年 3 月釋出正式版(聯合)。

  • 2004 年 - 4.1 版本於 2004 年 6 月釋出測試版,2004 年 10 月釋出正式版。

  • 2005 年 - 5.0 版本於 2005 年 3 月釋出測試版,2005 年 10 月釋出正式版。

  • 2008 年 - Sun Microsystems 於 2008 年 2 月 26 日收購了 MySQL AB,Oracle 版本 5.1 於 2008 年 11 月 27 日釋出正式版。

  • 2010 年 - Oracle 於 2010 年 1 月 27 日收購了 Sun Microsystems,5.5 版本於 2010 年 12 月 3 日正式釋出。

  • 2013 年 - 5.6 版本於 2013 年 2 月 5 日正式釋出。

  • 2015 年 - 5.7 版本於 2015 年 10 月 21 日正式釋出。

  • 2018 年 - 8.0 版本於 2018 年 4 月 19 日正式釋出,是 MySQL 的最新版本。

特點

  • 高效能。
  • 高可用性。
  • 可擴充套件性和靈活性 執行任何內容。
  • 強大的事務支援。
  • Web 和資料倉庫優勢。
  • 強大的資料保護。
  • 全面的應用程式開發。
  • 易於管理。
  • 開源自由和 24 x 7 支援。
  • 最低的總擁有成本。

MS SQL Server

MS SQL Server 是由 Microsoft Inc. 開發的關係資料庫管理系統。其主要查詢語言為:

  • T-SQL
  • ANSI SQL

歷史

  • 1987 年 - Sybase 為 UNIX 釋出了 SQL Server。

  • 1988 年 - Microsoft、Sybase 和 Aston-Tate 將 SQL Server 移植到 OS/2。

  • 1989 年 - Microsoft、Sybase 和 Aston-Tate 釋出了適用於 OS/2 的 SQL Server 1.0。

  • 1990 年 - SQL Server 1.1 釋出,支援 Windows 3.0 客戶端。

  • 2000 年 - Microsoft 釋出 SQL Server 2000。

  • 2001 年 - Microsoft 釋出適用於 SQL Server Web 版本 1 的 XML(下載)。

  • 2002 年 - Microsoft 釋出 SQLXML 2.0(從適用於 SQL Server 的 XML 重新命名)。

  • 2002 年 - Microsoft 釋出 SQLXML 3.0。

  • 2006 年 - Microsoft 於 2006 年 1 月 14 日釋出 SQL Server 2005。

  • 2008 年 - Microsoft 於 2008 年 11 月 6 日釋出 SQL Server 2008。R2 版本於 2010 年 7 月 20 日釋出。

  • 2012 年 - Microsoft 於 2012 年 5 月 20 日釋出 SQL Server 2012。

  • 2014 年 - Microsoft 於 2014 年 6 月 5 日釋出 SQL Server 2014。

  • 2016 年 - Microsoft 於 2016 年 6 月 1 日釋出 SQL Server 2016。

  • 2017 年 - Microsoft 於 2017 年 9 月 29 日釋出 SQL Server 2017。

  • 2019 年 - Microsoft 於 2019 年 11 月 4 日釋出 SQL Server 2019。

  • 2022 年 - Microsoft 於 2022 年 11 月 16 日釋出 SQL Server 2022。

特點

  • 高效能
  • 高可用性
  • 資料庫映象
  • 資料庫快照
  • CLR 整合
  • 服務代理
  • DDL 觸發器
  • 排名函式
  • 基於行版本的隔離級別
  • XML 整合
  • TRY...CATCH
  • 資料庫郵件

ORACLE

Oracle 是一種非常大的基於多使用者的資料庫管理系統。Oracle 是由 Oracle Corporation 開發的關係資料庫管理系統。

Oracle 致力於有效地管理其資源,在網路中請求和傳送資料的多個客戶端之間管理資訊資料庫。

它是客戶端/伺服器計算的絕佳資料庫伺服器選擇。Oracle 支援客戶端和伺服器的所有主要作業系統,包括 MSDOS、NetWare、UnixWare、OS/2 和大多數 UNIX 版本。

歷史

Oracle 成立於 1977 年,在業界慶祝其 46 個美好的年頭(從 1977 年到 2023 年)。

  • 1977 年 - Larry Ellison、Bob Miner 和 Ed Oates 成立了軟體開發實驗室,以進行開發工作。

  • 1979 年 - 釋出了 Oracle 2.0 版本,它成為第一個商業關係資料庫和第一個 SQL 資料庫。公司更名為關係軟體公司 (RSI)。

  • 1981 年 - RSI 開始為 Oracle 開發工具。

  • 1982 年 - RSI 更名為 Oracle Corporation。

  • 1983 年 - Oracle 釋出了 3.0 版本,該版本用 C 語言重寫並在多個平臺上執行。

  • 1984 年 - 釋出了 Oracle 4.0 版本。它包含併發控制等功能 - 多版本讀取一致性等。

  • 1985 年 - Oracle 4.0 版本釋出。它包含諸如併發控制 - 多版本讀一致性等功能。

  • 2007 年 - Oracle 釋出了 Oracle 11g。新版本專注於更好的分割槽、輕鬆遷移等。

  • 2013 年 - Oracle 資料庫 12c R1 版本於 2013 年 7 月釋出;R2 版本於 2016 年 8 月在雲端釋出,並於 2017 年 3 月在本地釋出。

  • 2018 年 - Oracle 資料庫 18c 版本最初於 2018 年 7 月釋出。

  • 2019 年 - Oracle 資料庫 19c 版本於 2019 年 2 月釋出。

  • 2020 年 - Oracle 資料庫 21c 版本於 2020 年 12 月釋出。

  • 2023 年 - Oracle 資料庫 23c 版本於 2023 年 4 月釋出。

特點

  • 併發性
  • 讀一致性
  • 鎖定機制
  • 資料庫靜默
  • 可移植性
  • 自管理資料庫
  • SQL*Plus
  • ASM
  • 排程程式
  • 資源管理器
  • 資料倉庫
  • 物化檢視
  • 點陣圖索引
  • 表壓縮
  • 並行執行
  • 分析 SQL
  • 資料探勘
  • 分割槽

MS ACCESS

Microsoft Access 是最受歡迎的 Microsoft 產品之一。它是一款入門級資料庫管理軟體。它不僅價格低廉,而且對於小型專案來說是一個強大的資料庫。

MS Access 使用 Jet 資料庫引擎,該引擎利用特定的 SQL 語言方言(有時稱為 Jet SQL)。它隨 MS Office 套件的專業版一起提供。MS Access 擁有易於使用的直觀圖形介面。

  • 1992 年 - Access 1.0 版本釋出。

  • 1993 年 - Access 1.1 釋出,以提高與包含 Access Basic 程式語言的相容性。

  • 最重大的轉變是從 Access 97 到 Access 2000。

  • 2007 年 - Access 2007 引入了一種新的資料庫格式 ACCDB,它支援複雜的資料型別,例如多值欄位和附件欄位。

  • 2010 年 - Microsoft Access 2010 引入了 ACCDB 格式的新版本,支援在 SharePoint 2010 伺服器上託管 Access Web 服務。

  • 2013 年 - Microsoft Access 2013 提供傳統的 Access 桌面應用程式以及經過大幅更新的 SharePoint 2013 Web 服務。

  • 2021 年 - Microsoft Access 不再包含在 Microsoft Office 2021 的一次性購買版本中,但保留在 Microsoft 365 對等版本中。

特點

  • 使用者可以建立表、查詢、窗體和報表,並使用宏將它們連線在一起。

  • 可以選擇將資料匯入和匯出到許多格式,包括 Excel、Outlook、ASCII、dBase、Paradox、FoxPro、SQL Server、Oracle、ODBC 等。

  • 還有 Jet 資料庫格式(Access 2007 中的 MDB 或 ACCDB),它可以將應用程式和資料包含在一個檔案中。這使得將整個應用程式分發給其他使用者非常方便,他們可以在斷開連線的環境中執行它。

  • Microsoft Access 提供引數化查詢。這些查詢和 Access 表可以從其他程式(如 VB6 和 .NET)透過 DAO 或 ADO 進行引用。

  • Microsoft SQL Server 的桌面版可以用作 Access 的替代方案,以替代 Jet 資料庫引擎。

  • Microsoft Access 是一個基於檔案伺服器的資料庫。與客戶端-伺服器關係資料庫管理系統 (RDBMS) 不同,Microsoft Access 不實現資料庫觸發器、儲存過程或事務日誌記錄。

PostgreSQL

PostgreSQL 是一個物件關係資料庫管理系統 (ORDBMS),它支援關係型 (SQL) 和非關係型 (JSON) 查詢。它是一個高度穩定的資料庫,基於加州伯克利大學計算機科學系釋出的 POSTGRES 4.2 版開發而成。這個資料庫是許多應用程式的流行資料庫或資料倉庫。

歷史

  • 20 世紀 70 年代 - Ingres 正在伯克利大學計算機科學系作為研究專案開發,該專案於 1985 年結束。

  • 1985 年 - 一個名為 POSTGRES 的 Ingres 後續專案啟動,旨在解決舊資料庫系統中的問題。該專案旨在完全支援資料型別並定義它們以建立資料庫物件之間的關係。POSTGRES 還可以使用規則檢索資料。

  • 1989 年 - POSTGRES 版本 1 釋出給少量使用者。

  • 1990 年 - POSTGRES 版本 2 再次釋出,並重新編寫了規則

  • 1994 年 - 隨著使用者數量的增加,POSTGRES 版本 4.2 釋出,並以其結束了該專案。

  • 1994 年 - 伯克利大學的學生 Andrew Yu 和 Jolly Chen 用 SQL 語言替換了執行 POSTGRES 的 POSTQUEL 查詢語言,建立了 Postgres95。

  • 1995 年 - Postgres95 的第一個版本釋出,並具有更寬鬆的許可證。

  • 1996 年 - 該專案更名為 PostgreSQL 以支援 SQL。

  • 1997 年 - PostgreSQL 版本 6.0 的第一個版本釋出。

  • 從那時起,該專案的後續版本作為免費和開源軟體 PostgreSQL 許可證釋出。

  • 2000 年 - PostgreSQL 版本 7.0 於 2000 年 7 月 8 日釋出。這個版本在功能上的變化最大。主要變化包括實現了外部索引鍵,最佳化器得到了改進,psql 進行了更新,並且現在支援 JOIN 語法。

  • 2005 年 - 版本 8.0 於 2005 年 1 月 19 日釋出。此版本中的更改包括伺服器現在可以在 Microsoft 上本地執行,引入了儲存點,提供了時間點恢復、表空間、改進的緩衝區管理、檢查點,引入了更改列型別等。

  • 2010 年 - PostgreSQL 版本 9.0 於 2010 年 9 月 20 日釋出。

  • 2017 年 - 版本 10.0 於 2017 年 10 月 5 日釋出。主要改進包括:邏輯複製、宣告式表分割槽、改進的查詢並行性、整體效能的顯著提高等。

  • 2018 年 - PostgreSQL 版本 11.0 於 2018 年 10 月 18 日釋出。

  • 2019 年 - PostgreSQL 版本 12.0 於 2019 年 10 月 3 日釋出。

  • 2020 年 - PostgreSQL 版本 13.0 於 2020 年 9 月 24 日釋出。

  • 2021 年 - PostgreSQL 版本 14.0 於 2021 年 9 月 30 日釋出。

  • 2022 年 - PostgreSQL 版本 15.0 於 2022 年 10 月 13 日釋出。

特點

  • PostgreSQL 支援高階資料型別。
  • 它具有高水平的資料彈性、完整性和正確性。
  • 它包含多版本併發控制 (MVCC)
  • 時間點恢復
  • 細粒度訪問控制
  • 非同步複製
  • 巢狀事務
  • 聯機備份
  • 改進的查詢最佳化器
  • 預寫日誌
  • 它支援國際字元集、多位元組字元編碼、Unicode。
  • 它支援針對排序、大小寫敏感性和格式化的區域設定。
  • 高度可擴充套件。

SQLite

SQLite 是一個嵌入式關係資料庫系統。它被稱為輕量級資料庫,因為它的大小不超過 500kB,遠小於其他關係資料庫。這個資料庫是一個記憶體中的開源庫;因此它可以直接訪問儲存在其中的檔案,並且其原始碼在公共領域可用。

歷史

  • 2000 年 - SQLite 1.0 與 GNU 資料庫管理器一起釋出。Richard Hipp 博士在同一年設計了它,以建立一個無需任何管理的資料庫。

  • 2001 年 - SQLite 2.0 釋出,其中包含自定義 B 樹實現而不是 GNU 資料庫管理器,為資料庫添加了事務功能。

  • 2003 年 - SQLite 3.0 釋出,並進行了重大改進,如國際化、清單型別等。

  • 2011 年 - Hipp 宣佈了推出 SQLite 非關係介面的計劃。

  • 2018 年 - SQLite 採用了聖本篤規則中的行為準則,後來由於一些爭議而更名為倫理準則。

  • 儘管存在這些爭議,但 SQLite 3.x 的新版本仍在不斷髮布,並具有更好的功能和改進。

  • 2023 年 - SQLite 的最新版本是 3.42.0,於 2023 年 7 月 16 日釋出。

特點

  • SQLite 是一個用 ANSI C 編寫的開源庫。
  • 它可以在跨平臺上執行,從而更容易移植到其他系統。
  • SQLite 的原始碼在公共領域可用。
  • 即使系統因任何原因崩潰,SQLite 中的事務也是原子性的、一致的、隔離的和持久的。
  • 這個資料庫不需要任何配置或管理。
  • SQLite 是無伺服器的,與其他關係資料庫不同。它與訪問它的應用程式連結。應用程式直接與 SQLite 互動以讀取和寫入儲存在磁碟上的檔案。
  • 它具有簡單易用的 API。
  • 在某些情況下,SQLite 比直接檔案系統 I/O 操作更快。
  • SQLite 是自包含的,即它不依賴於任何外部庫或作業系統。
  • 使用獨立的命令列介面 (CLI) 客戶端來管理 SQLite。

使用 SQL 資料庫的好處

關係資料庫是用於資料儲存的最流行和最受歡迎的資料庫。使用 SQL 資料庫有很多好處,包括

增強的靈活性

關係資料庫利用資料定義語言 (DDL) 即時修改儲存在表中的資料。最重要的是,使用者可以輕鬆新增新的表和列、重新命名並實施各種更改,而不會中斷正在進行的資料庫操作。

資料一致性

資料一致性是使用 SQL 資料庫的另一個重要好處,因為它可以在應用程式和伺服器例項之間維護資料一致性。

最小的資料冗餘

關係資料庫管理系統 (RDBMS) 使用規範化過程來減少資料冗餘。這種方法消除了資料庫中資料儲存中的異常。

最佳化的效能

關係資料庫提供一系列增值功能,這些功能具有最小的記憶體使用量、降低的儲存成本和高處理器速度。

更高的相容性

關係資料庫為與現代技術的整合提供了更高的相容性。

可擴充套件性

更高的可擴充套件性是使關係資料庫最受歡迎的另一個特性。

廣告