首页
技术小册
AIGC
面试刷题
技术文章
MAGENTO
云计算
视频课程
源码下载
PDF书籍
「涨薪秘籍」
登录
注册
第1章 数据库和SQL
1-1 数据库是什么
我们身边的数据库
为什么DBMS那么重要
DBMS的种类
1-2 数据库的结构
RDBMS的常见系统结构
表的结构
1-3 SQL概要
标准SQL
SQL语句及其种类
SQL的基本书写规则
1-4 表的创建
表的内容的创建
数据库的创建(CREATE DATABASE语句)
表的创建(CREATE TABLE语句)
命名规则
数据类型的指定
约束的设置
1-5 表的删除和更新
表的删除(DROP TABLE语句)
表定义的更新(ALTER TABLE语句)
向Product表中插入数据
第2章 查询基础
2-1 SELECT语句基础
列的查询
查询出表中所有的列
为列设定别名
常数的查询
从结果中删除重复行
根据WHERE语句来选择记录
注释的书写方法
算术运算符
需要注意NULL
比较运算符
对字符串使用不等号时的注意事项
不能对NULL使用比较运算符
2-3 逻辑运算符
NOT运算符
AND运算符和OR运算符
通过括号强化处理
逻辑运算符和真值
含有NULL时的真值
第3章 聚合与排序
3-1 对表进行聚合查询
聚合函数
计算表中数据的行数
计算NULL之外的数据的行数
计算合计值
计算平均值
计算值和小值
使用聚合函数删除重复值(关键字DISTINCT)
3-2 对表进行分组
GROUP BY子句
聚合键中包含NULL的情况
使用WHERE子句时GROUP BY的执行结果
与聚合函数和GROUP BY子句有关的常见错误
3-3 为聚合结果指定条件
HAVING子句
HAVING子句的构成要素
相对于HAVING子句,更适合写在WHERE子句中的条件
3-4 对查询结果进行排序
ORDER BY子句
指定升序或降序
指定多个排序键
NULL的顺序
在排序键中使用显示用的别名
ORDER BY子句中可以使用的列
不要使用列编号
当前位置:
首页>>
技术小册>>
SQL基础教程(上)
小册名称:SQL基础教程(上)
### DBMS的种类 在数据库技术的广阔领域中,数据库管理系统(DBMS, Database Management System)是核心组成部分,它负责存储、检索、定义、操纵和管理数据。随着信息技术的不断发展,DBMS的种类也日益丰富,以满足不同行业、不同规模应用的需求。本章将深入探讨DBMS的种类,从几个关键维度进行分类,并详细介绍各类DBMS的特点、应用场景及优劣势。 #### 一、按数据存储模型分类 1. **关系型数据库管理系统(RDBMS)** 关系型数据库是目前应用最广泛的一类DBMS,它基于表结构来存储数据,表中的行代表记录,列代表字段,通过SQL(结构化查询语言)进行数据的增、删、改、查等操作。RDBMS支持复杂的查询、事务处理、数据完整性约束等高级功能。常见的RDBMS包括Oracle、MySQL、SQL Server、PostgreSQL等。 - **特点**:数据以二维表形式组织,易于理解和使用;支持ACID(原子性、一致性、隔离性、持久性)事务处理;具有强大的数据完整性保护机制。 - **应用场景**:企业级应用、Web开发、数据仓库等。 2. **非关系型数据库管理系统(NoSQL)** 随着Web 2.0和大数据时代的到来,传统RDBMS在处理大规模、高并发、非结构化或半结构化数据时显得力不从心,NoSQL数据库应运而生。NoSQL数据库不遵循关系模型,其数据存储结构灵活多样,包括键值对存储(如Redis)、列存储(如HBase)、文档型(如MongoDB)、图数据库(如Neo4j)等。 - **特点**:可扩展性强,支持高并发访问;数据结构灵活,适合处理非结构化或半结构化数据;部分NoSQL数据库支持最终一致性模型,牺牲一定的一致性以换取更高的性能。 - **应用场景**:社交媒体、物联网、实时数据分析、大数据存储等。 3. **面向对象数据库管理系统(OODBMS)** 面向对象数据库管理系统将数据作为对象来存储和管理,这些对象包含了数据以及操作这些数据的方法(即封装了数据和操作)。OODBMS通过继承、多态等面向对象的概念来组织和访问数据,使得数据模型更加贴近现实世界。 - **特点**:数据模型直观,易于理解和维护;支持复杂的数据结构和行为;适合需要高度抽象和封装的应用场景。 - **应用场景**:软件开发、复杂系统设计、模拟仿真等。 4. **图形数据库管理系统(GDBMS)** 图形数据库管理系统专门用于存储图结构数据,如社交网络、交通网络、生物分子结构等。在GDBMS中,数据以节点(代表实体)和边(代表实体间的关系)的形式组织,支持复杂的图遍历和查询操作。 - **特点**:高效处理图结构数据;支持复杂的图算法;适合需要分析网络结构或关系的应用场景。 - **应用场景**:社交网络分析、推荐系统、金融欺诈检测等。 #### 二、按部署方式分类 1. **集中式数据库管理系统** 集中式数据库管理系统将所有数据集中存储在一个服务器上,由该服务器统一管理和维护。客户端通过网络连接到服务器进行数据的存取操作。这种方式的优点是数据一致性高,易于管理;缺点是服务器可能成为瓶颈,影响系统性能。 2. **分布式数据库管理系统(DDBMS)** 分布式数据库管理系统将数据分布在多个地理位置上的计算机上,每个节点存储数据的一部分,并通过网络进行数据的共享和同步。DDBMS支持数据的全局视图和局部视图,能够提供更好的可扩展性和容错性。 - **特点**:数据分布存储,提高系统可用性和性能;支持数据冗余和复制,增强数据安全性;复杂度高,需要解决数据一致性和分布透明性问题。 - **应用场景**:跨地域企业、大型电商网站、云计算平台等。 3. **云数据库管理系统** 云数据库管理系统是随着云计算技术的兴起而发展起来的一种新型数据库服务。它将数据库作为服务(DBaaS, Database as a Service)提供给用户,用户无需自己搭建和维护数据库系统,只需按需购买和使用。云数据库支持弹性伸缩、高可用性、自动备份和恢复等功能。 - **特点**:按需付费,降低成本;弹性扩展,灵活应对业务变化;高可用性,减少停机时间;简化运维,提高开发效率。 - **应用场景**:初创企业、中小企业、移动应用、大数据分析等。 #### 三、按数据模型抽象层次分类 1. **层次型数据库** 层次型数据库是最早出现的数据库模型之一,它以树状结构组织数据,每个节点可以有多个子节点,但只能有一个父节点(根节点除外)。层次型数据库模型直观反映了现实世界中的层次关系,但在表示复杂数据结构时存在局限性。 2. **网状型数据库** 网状型数据库允许数据之间存在复杂的多对多关系,它克服了层次型数据库在数据表示上的限制。在网状型数据库中,数据项之间通过指针相连,形成一个复杂的网络结构。然而,网状型数据库的查询和维护相对复杂,且难以实现数据的共享和独立性。 3. **关系型数据库(已在上文详述)** 关系型数据库通过二维表来表示数据,表之间通过外键建立关联,支持复杂的查询和事务处理。它以其严格的数据完整性约束和丰富的查询功能,成为了目前应用最广泛的数据库类型。 #### 结论 DBMS的种类繁多,每种类型都有其独特的优势和适用场景。在选择DBMS时,需要根据应用的具体需求、数据量大小、并发访问量、数据安全性和可维护性等因素综合考虑。随着技术的不断进步,新的DBMS类型不断涌现,如NewSQL(旨在解决NoSQL与RDBMS之间差距的数据库系统)、多模型数据库(支持多种数据模型的数据库系统)等,为数据库技术的发展注入了新的活力。作为数据库领域的从业者或学习者,应持续关注数据库技术的最新动态,以便更好地应对未来挑战。
上一篇:
为什么DBMS那么重要
下一篇:
1-2 数据库的结构
该分类下的相关小册推荐:
高性能的Postgres SQL
PostgreSQL入门教程
SQL基础教程(下)
SQL基础教程(中)