Sql 简明教程

SQL Databases

SQL Databases

SQL 或关系数据库用于存储和管理彼此之间存在关联的数据对象,即在关系数据库中处理数据的过程基于关系模型完成。

此关系模型是一种以结构化方式(使用表)管理数据的途径。用于管理这些 relational databases 的系统称为关系数据库管理系统 (RDBMS)。

SQL Database Table Structure

SQL 数据库服务器以表格形式存储数据。 Tables 是用于以行和列格式收集数据的数据库对象。行表示实体,而列定义表中每个实体的属性。

Columns: 列是表中的垂直元素。表中的每列都保存特定的属性信息,以及列属性(例如列名称和数据类型(整数、字符、字符串等))。

Rows: 行是表中的水平元素,用户可以通过执行 SQL 查询添加数据或检索数据。

Types of SQL Databases

有许多流行的 RDBMS 可供使用。下面列出了一些最流行的 RDBMS:

  1. MySQL

  2. MS SQL Server

  3. ORACLE

  4. MS ACCESS

  5. PostgreSQL

  6. 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 数据库服务器。

  1. 1994 年 - 从 1994 年开始,Michael Widenius 和 David Axmark 开发 MySQL。

  2. 1995 年 - 1995 年 5 月 23 日首次内部发布。

  3. 1998 年 - 1998 年 1 月 8 日发布了适用于 Windows 95 和 NT 的 Windows 版本。

  4. 2001 年 - 2000 年 6 月发布了 3.23 版本测试版,2001 年 1 月发布了正式版本。

  5. 2003 年 - 2002 年 8 月作为测试版发布 4.0 版本,2003 年 3 月作为正式版本发布(并集)。

  6. 2004 年 - 2004 年 6 月作为测试版发布 4.1 版本,2004 年 10 月作为正式版本发布。

  7. 2005 年 - 2005 年 3 月作为测试版发布 5.0 版本,2005 年 10 月作为正式版本发布。

  8. 2008 年 - 2008 年 2 月 26 日,Sun Microsystems 收购了 MySQL AB,而 Oracle 5.1 版于 2008 年 11 月 27 日发布。

  9. 2010 年 - 2010 年 1 月 27 日,Oracle 收购了 Sun Microsystems,5.5 版于 2010 年 12 月 3 日正式发布。

  10. 2013 年 - 5.6 版于 2013 年 2 月 5 日正式发布

  11. 2015 - 5.7 版于 2015 年 10 月 21 日获得普遍可用性

  12. 2018 - 8.0 版于 2018 年 4 月 19 日获得普及,它是 MySQL 的最新版本。

  13. High Performance.

  14. High Availability.

  15. 可扩展性和灵活性,运行任何事物。

  16. Robust Transactional Support.

  17. Web和数据仓库优势。

  18. Strong Data Protection.

  19. Comprehensive Application Development.

  20. Management Ease.

  21. 开源自由和24 x 7支持。

  22. 总体拥有成本最低。

MS SQL Server

MS SQL Server 是一个由 Microsoft Inc. 开发的关系数据库管理系统。其主要查询语言为 -

  1. T-SQL

  2. ANSI SQL

  3. 1987年-Sybase为UNIX发布SQL Server。

  4. 1988年-Microsoft,Sybase和Aston-Tate将SQL Server移植到OS/2。

  5. 1989年-Microsoft,Sybase和Aston-Tate为OS/2发布SQL Server 1.0。

  6. 1990年-发布SQL Server 1.1,支持Windows 3.0客户端。

  7. 2000 年 - Microsoft 发布 SQL Server 2000。

  8. 2001 年 - Microsoft 发布 SQL Server Web Release 1(下载)中的 XML。

  9. 2002 年 - Microsoft 发布 SQLXML 2.0(更名为 SQL Server 中的 XML)。

  10. 2002 年 - Microsoft 发布 SQLXML 3.0。

  11. 2006 年 - Microsoft 于 2006 年 1 月 14 日发布 SQL Server 2005。

  12. 2008 年 - Microsoft 于 2008 年 11 月 6 日发布 SQL Server 2008,R2 版本于 2010 年 7 月 20 日发布。

  13. 2012 - Microsoft 于 2012 年 5 月 20 日发布 SQL Server 2012。

  14. 2014 - Microsoft 于 2014 年 6 月 5 日发布 SQL Server 2014。

  15. 2016 - Microsoft 于 2016 年 6 月 1 日发布 SQL Server 2016。

  16. 2017 - Microsoft 于 2017 年 9 月 29 日发布 SQL Server 2017。

  17. 2019 - Microsoft 于 2019 年 11 月 4 日发布 SQL Server 2019。

  18. 2022 - Microsoft 于 2022 年 11 月 16 日发布 SQL Server 2022。

  19. High Performance

  20. High Availability

  21. Database mirroring

  22. Database snapshots

  23. CLR integration

  24. Service Broker

  25. DDL triggers

  26. Ranking functions

  27. Row version-based isolation levels

  28. XML integration

  29. TRY…​CATCH

  30. Database Mail

ORACLE

Oracle 是一个基于非常大型多用户的数据库管理系统。Oracle 是由 "Oracle Corporation" 开发的关系数据库管理系统。

Oracle 能够高效管理其资源,在网络中发送和请求数据的众多客户中的一个信息数据库。

它是一款适用于客户端/服务器计算的优秀数据库服务器选择。Oracle 支持适用于客户端和服务器的所有主要操作系统,包括 MSDOS、NetWare、UnixWare、OS/2 和大多数 UNIX 版本。

Oracle 于 1977 年诞生,在行业内发展了 46 年(从 1977 年到 2023 年)。

  1. 1977 年 - 拉里·埃里森、鲍勃·迈纳和埃德·奥茨共同创立了软件研发实验室,从事开发工作。

  2. 1979 年 - Oracle 的 2.0 版本发布,成为第一个商业关系数据库以及第一个 SQL 数据库。该公司更名为关系软件公司 (RSI)。

  3. 1981 年 - RSI 开始为 Oracle 开发工具。

  4. 1982 年 - RSI 更名为 Oracle Corporation。

  5. 1983 年 - Oracle 发布 3.0 版本,使用 C 语言重新编写,可在多个平台上运行。

  6. 1984 年 - Oracle version 4.0 发布。它包含并发控制、多版本读取一致性等功能。

  7. 1985 年 - Oracle version 4.0 发布。它包含并发控制、多版本读取一致性等功能。

  8. 2007 年 - Oracle 发布 Oracle11g。新版本重点在于更好的分区、轻松迁移等。

  9. 2013 - Oracle Database 12c R1 版本于 2013 年 7 月发布,R2 版本于 2016 年 8 月在云端发布,并于 2017 年 3 月在本地发布。

  10. 2018 - Oracle Database 18c 版本于 2018 年 7 月首次发布。

  11. 2019 - Oracle Database 19c 版本于 2019 年 2 月发布。

  12. 2020 - Oracle Database 21c 版本于 2020 年 12 月发布。

  13. 2023 - Oracle Database 23c 版本于 2023 年 4 月发布。

  14. Concurrency

  15. Read Consistency

  16. Locking Mechanisms

  17. Quiesce Database

  18. Portability

  19. Self-managing database

  20. SQL*Plus

  21. ASM

  22. Scheduler

  23. Resource Manager

  24. Data Warehousing

  25. Materialized views

  26. Bitmap indexes

  27. Table compression

  28. Parallel Execution

  29. Analytic SQL

  30. Data mining

  31. Partitioning

MS ACCESS

Microsoft Access 是最受欢迎的 Microsoft 产品之一。它是一款入门级数据库管理软件。它不仅价格低廉,而且对于小型项目来说也是一个强大的数据库。

MS Access 使用Jet数据库引擎,该引擎采用了特定SQL语言方言(有时称为Jet SQL)。它附带MS Office软件包的专业版。MS Access具有易于使用的直观图形界面。

  1. 1992 - 发布了 Access 1.0 版本。

  2. 1993 - 发布 Access 1.1 来提高兼容性,并包含 Access Basic 编程语言。

  3. 最重要的过渡是从 Access 97 到 Access 2000。

  4. 2007 - Access 2007 引入了新的数据库格式 ACCDB,它支持多值和附件字段等复杂数据类型。

  5. 2010年 - Microsoft Access 2010推出ACCDB格式的新版本,该版本支持在SharePoint 2010服务器上托管Access Web服务。

  6. 2013年 - Microsoft Access 2013提供传统的Access桌面应用程序以及大幅更新的SharePoint 2013 Web服务。

  7. 2021年 - Microsoft Access不再包含在Microsoft Office 2021的一次性购买版本中,但仍保留在Microsoft 365对应的软件中。

  8. 用户可以创建表、查询、窗体和报表,并用宏将其连接在一起。

  9. 可以选择将数据导入和导出为多种格式,包括 Excel、Outlook、ASCII、dBase、Paradox、FoxPro、SQL Server、Oracle、ODBC 等。

  10. 还有 Jet 数据库格式 (Access 2007 中为 MDB 或 ACCDB),它可以在一个文件中包含应用程序和数据。这使得向另一位用户分发整个应用程序变得非常方便,后者可以在断开连接的环境中运行它。

  11. Microsoft Access 提供了参数化查询。可以通过 DAO 或 ADO 从其他程序(如 VB6 和 .NET)引用这些查询和 Access 表。

  12. 可以将 Microsoft SQL Server 的桌面版本与 Access 一起使用作为 Jet 数据库引擎的替代品。

  13. Microsoft Access 是基于文件服务器的数据库。与客户端-服务器关系数据库管理系统 (RDBMS) 不同,Microsoft Access 不实现数据库触发器、存储过程或事务记录。

PostgreSQL

PostgreSQL是一个对象关系数据库管理系统(ORDBMS),它同时支持关系型(SQL)和非关系型(JSON)查询。它是一个高度稳定的数据库,基于加州大学伯克利分校计算机科学系发布的POSTGRES 4.2版本开发。该数据库是许多应用程序常用的数据库或数据仓库。

  1. 20世纪70年代 - Ingres 最初是加州大学伯克利分校计算机科学系开发的一个研究项目,该项目于1985年结束。

  2. 1985年 - 已启动POST-Ingres项目,即POSTGRES,以解决旧数据库系统中的问题。该项目的目的是全面支持数据类型,并定义它们以建立数据库对象之间的关系。POSTGRES还可以使用规则检索数据。

  3. 1989年 - POSTGRES 1版本发布给少部分用户。

  4. 1990年 - 再次发布POSTGRES 2版本,其中规则经过重新编写。

  5. 1994年 - 随着用户数增加,发布了POSTGRES 4.2版本,该版本也结束了该项目。

  6. 1994年 - 加州大学伯克利分校的学生安德鲁·俞和乔莉·陈将运行POSTGRES的POSTQUEL查询语言替换为SQL语言,从而创建了Postgres95。

  7. 1995年 - 发布了Postgres95的首个版本,该版本具有更加宽松的许可。

  8. 1996年 - 将该项目更名为PostgreSQL以支持SQL。

  9. 1997年 - 发布了6.0版本PostgreSQL的首个版本。

  10. 从那时起,该项目的后续版本均以免费开源软件PostgreSQL License的形式发布。

  11. 2000年 - PostgreSQL 7.0版本于2000年7月8日发布。该版本拥有迄今为止最重大的功能变更。所做的主要变更包括实现了外键、改进了优化器、更新了psql,并且现在支持JOIN语法。

  12. 2005年 - 8.0版本于2005年1月19日发布。该版本中的变更包括:服务器现在可以在Microsoft上本机运行、引入了保存点、时点恢复、表空间、改进的缓冲区管理、检查点、引入了更改列类型等功能。

  13. 2010年 - PostgreSQL 9.0版本于2010年9月20日发布。

  14. 2017年 - 10.0版本于2017年10月5日发布。主要改进包括:逻辑复制、声明性表分区、改进的查询并行性、整体性能的显著改进等。

  15. 2018 年——PostgreSQL 11.0 版本于 2018 年 10 月 18 日发布。

  16. 2019 年——PostgreSQL 12.0 版本于 2019 年 10 月 3 日发布。

  17. 2020 年——PostgreSQL 13.0 版本于 2020 年 9 月 24 日发布。

  18. 2021 年——PostgreSQL 14.0 版本于 2021 年 9 月 30 日发布。

  19. 2022 年——PostgreSQL 15.0 版本于 2022 年 10 月 13 日发布。

  20. PostgreSQL 支持高级数据类型。

  21. 它具有很高的弹性、完整性和正确性。

  22. 它包含多版本并发控制 (MVCC)

  23. Point in time recovery

  24. Granular Access Controls

  25. Asynchronous Replication

  26. Nested transactions

  27. Online backups

  28. Refined query optimizer

  29. Write ahead logging

  30. 它支持国际字符集、多字节字符编码、Unicode。

  31. 它具有区域感知功能,用于排序、区分大小写和格式化。

  32. Highly scalable.

SQLite

SQLite 是一个嵌入式关系数据库系统。它被称为轻量级数据库,因为它的规模不超过 500kB,远低于其他关系数据库。该数据库是一个内存中开源库;这就是它可以访问直接存储其中的文件的原因,并且它的源代码是公开的。

  1. 2000 年——SQLite 1.0 与 GNU 数据库管理器一起发布。理查德·希普博士在同一年设计了它,目的是创建一个不需要管理的数据库。

  2. 2001 年——SQLite 2.0 发布,其中包含一个自定义 B 树实现(而不是 GNU 数据库管理器),并为数据库添加了事务功能。

  3. 2003 年——SQLite 3.0 发布,并进行了重大的改进,例如国际化、清单输入等。

  4. 2011 年——希普宣布了他的计划,向 SQLite 引入非关系界面。

  5. 2018 年——SQLite 采用了《圣本笃会规则》的行为准则,由于一些争议,后来更名为《道德准则》。

  6. 尽管存在此类争议,但 SQLite3.x 的更新版本仍在不断发布,并具有更好的功能和改进。

  7. 2023 年——SQLite 的最新版本是 3.42.0,它于 2023 年 7 月 16 日发布。

  8. SQLite 是一个用 ANSI C 写成的开源库。

  9. 它可在跨平台上工作,使得移植至其他系统更加轻松。

  10. SQLite 的源代码在公有域中提供。

  11. 即使系统因任何原因崩溃,SQLite 中的事务也是原子性、一致性、独立性和持久性的。

  12. 该数据库不需要任何配置或管理。

  13. 不同于其他关系数据库,SQLite 是无服务器的。它链接到访问它的应用程序。该应用程序直接与 SQLite 进行交互,以便读取和写入存储在磁盘中的文件。

  14. 它具有一个简单且易于使用的 API。

  15. 在某些情况下,SQLite 比直接文件系统 I/O 操作更快。

  16. SQLite 是自包含的,也就是说它不依赖于任何外部库或操作系统。

  17. 使用一个独立的命令行界面 (CLI) 客户端来管理 SQLite。

Benefits of Using SQL Database

关系数据库是最流行、最受青睐的用于数据存储的数据库。使用 SQL 数据库有许多好处,包括:

Enhanced Flexibility

关系数据库利用数据定义语言 (DDL) 实时修改存储在表中的数据。用户可以轻松地添加新表和列、重命名和实现各种更改,而不会中断正在进行的数据库操作,这是最重要的。

Data Consistency

数据一致性是使用 SQL 数据库的另一个重要好处,因为它在不同应用程序和服务器实例之间维护数据一致性。

Minimum Data Redundancy

关系数据库管理系统 (RDBMS) 使用规范化过程来减少数据冗余。此方法消除了数据库中数据存储中的异常。

Optimized Performance

关系数据库提供了一系列增值的功能,包括最小的内存使用量、降低的存储成本和较高的处理器速度。

Higher Compatibility

关系数据库为与现代技术集成提供更高的兼容性。

Scalability

更高的可扩展性是使关系数据库最受欢迎的另一个功能。