数据库系统、数据库分类、数据库语言、SQL语言、数据库系统提供的两种语言

1. 数据库系统,DataBase System,DBS:

DBS是个大的概念,是指能够提供一系列数据库相关服务组件的有机结合体。
包括:DB、DBMS(以及开发工具)、应用系统、DBA和用户构成。

(1)数据库,DataBase,DB:
存储数据的“仓库”。它按照一定的格式,将大量、有组织的数据存储在一起,方便我们进行查询、修改、删除等操作。
数据库是计算机内部长期存储、可共享的、大量的数据集合,是信息系统的重要组成部分。可以供各种用户共享,具有最小冗余度和较高的数据独立性。

(2)数据库管理系统,DataBase Management System,DBMS:
一种专门用于管理和操作数据库的软件系统。
提供了丰富的功能,如数据的增删改查、数据备份恢复、数据安全性控制等,使得用户能够更加方便、高效地使用数据库。
常见的数据库管理系统有Oracle、IBM、Microsoft SQL Server、Sybase以及我们熟知的MySQL等。

DBMS用来操纵和管理DB的软件,用于建立、使用和维护DB。
它对DB进行统一的管理和控制,以保证DB的安全性和完整性。
用户可以通过DBMS访问DB中的数据,DBA也可以通过DBMS进行DB的维护工作。
它可使多个应用程序和用户拥有不同的方法在同时或不同时刻去建立、修改和询问DB
(也就是说DBMS可以将控制权发挥到极致(也就是所说的安全性))。

(3)数据库管理员,DataBase Administrator,DBA
DBMS是由DBA对DB的查询、更新、删除、修改操作的。

2. 数据库的分类标准及种类 :

数据库的介绍、分类、作用和特点——小郑说编程
数据库可以根据不同的标准进行分类,如数据模型、用户数目、数据分布等。

以下是一些常见的数据库分类:

(1)关系型数据库(RDB):
使用表来组织数据,每行代表一个记录,每列代表一个字段;
基于SQL(结构化查询语言)进行数据查询和管理。

关系型数据库管理系统RDBMS 示例:MySQL, PostgreSQL, Oracle, SQL Server,SQLite(可以和Python无缝衔接。)

关系数据库系统:Relational database system,RDBS
关系数据库:Relational database,RDB
关系型数据库管理系统:Relational DataBase Management System,RDBMS

这三者之间的关系,与DBS,DB,DBMS之间的相同。

(2)非关系型数据库:
设计用于特定类型的数据模型,不依赖表格模式;
高可扩展性,适合大数据和分布式数据存储;
类型包括键值存储、文档存储、宽列存储和图形数据库;
使用惯用语言 API、声明性结构化查询语言以及按示例查询语言进行查询。
什么是 NoSQL?

非关系型数据库管理系统(又叫NoSQL系统) 示例:
MongoDB, Redis, Cassandra, Neo4j

(3)对象数据库 OODB :
以对象的形式存储数据,允许复杂数据结构的存储;
与面向对象编程语言兼容性高;
对象数据库管理系统 示例:db4o, ObjectDB。

使用的语言是:对象查询语言OQL(Object Query Language)

(4)分布式数据库:
数据分布在多个计算机网络节点上;
设计用于提高可扩展性和可用性;
可以是关系型或非关系型。

(5)内存数据库:
数据完全存储在内存中以提供快速读写访问;
常用于需要高速访问的应用程序,如缓存和实时分析;
内存数据库管理系统 示例:Redis, SAP HANA。

(6)时间序列数据库:
优化用于存储和管理时间序列数据,如股票市场数据、传感器数据;
时间序列数据库管理系统 示例:InfluxDB。

另一种新型数据库:向量数据库
向量数据库|一文全面了解向量数据库的基本概念、原理、算法、选型——用户10071055
向量数据库的核心思想是将文本转换成向量,然后将向量存储在数据库中,当用户输入问题时,将问题转换成向量,然后在数据库中搜索最相似的向量和上下文,最后将文本返回给用户。

3. 数据库语言的分类

数据库语言有很多种,不同的数据库使用不同的语言。如有:
(1)非关系型数据库 使用的惯用语言API、声明性结构化查询语言以及按示例查询语言;
(2)关系数据库 使用的SQL语言;
(3)对象数据库 使用的OQL语言;
ORM查询语言(OQL)简介–概念篇——用户1177503
(4)…

总之,SQL语言仅是数据库语言中的一种。

3.1 SQL语言

SQL,即结构化查询语言(Structured Query Language)的缩写,是用于访问和处理关系型数据库的标准计算机语言。
通过SQL,我们可以方便地对数据库进行查询、插入、更新和删除等操作。SQL语句是用户和数据库之间的桥梁,使得用户能够根据自己的需求,从数据库中获取所需的信息。
SQL主要描述想要做什么,而不是命令式语言的具体如何做,因此,SQL也被称为第四代语言(4GL)。

【几乎所有的 关系数据库系统 都使用SQL语言。】

-----------------------------------------------------------------------------------------------------------------------------

SQL语言中包含很多不同的部分,有:

其中前三种:DDL语言,DML语言 和DCL语言, 是SQL语言的三个基本元素。
且使用最多的是DML.

(1)DDL语言(Data definition language),数据定义语言:
用于描述数据库中要存储的现实世界实体的语言。
用来创建及删除数据库及数据库中的表。

关键字及含义:
CREATE: 创建数据库和表等对象
DROP: 删除数据库和表等对象
ALTER: 修改数据库和表等对象的结构
RENAME:重命名分区
TRUNCATE:截断分区
MOVE:移动分区

(2)DML语言(Data Manipulation Language),数据操纵语言:
使用户能够查询以及变更已有数据库中记录的计算机语言。

关键字及含义:
SELECT:查询表中的数据 【有自己的名字:SQL查询语言,Data Query Language,DQL语言】
INSERT:向表中插入新数据
UPDATE:更新表中的数据
DELETE:删除表中的数据

(3)DCL语言(Data control language),数据库控制语言:
用来确认或者取消对数据库中的数据进行的变更,包括COMMIT, ROLLBACK等语句。
除此之外,还可以用来设置或更改数据库用户或角色权限的语句,包括grant,deny,revoke等语句。在默认状态下,只有sysadmin,dbcreator,db_owner或db_securityadmin等人员才有权力执行DCL.

关键字及含义:
COMMIT: 确认对数据库中的数据进行的变更
ROLLBACK: 取消对数据库中的数据进行的变更
CREATE ROLEE <角色名>:创建角色
GRANT: 赋予用户操作权限
REVOKE: 取消用户的操作权限
DENY:用于限制用户或角色对某些数据库对象的访问权限。具体来说,它可以阻止用户或角色对某个表、视图、存储过程等对象的SELECT、INSERT、UPDATE、DELETE等操作。
SQL语言的四大组成部分——DCL(数据控制语言)—— 陈橘又青

后面的两种是SQL语言的一些变种:
(4)TCL语言(Transaction Control Language),事务控制语言:
对事务进行控制的语句,包括commit,rollback等语言。

(5)存储过程语言:
PL/SQL:Oracle数据库的存储过程语言。
T-SQL:Microsoft SQL Server的存储过程语言。
PL/pgSQL:PostgreSQL的存储过程语言。

3.2 数据库系统提供的两种语言

(1)数据定义语言DDL:用于描述数据库中要存储的现实世界实体的语言。用来创建及删除数据库及数据库中的表。
可说明(三个层次的)数据库模式,或定义数据的其他特征。
DDL的输出放在数据字典(data dictionary)中,数据字典包含元数据(metadata),元数据是关于数据的数据。

DDL包含很多种。
其中,典型地如 数据存储和定义(data storage and definition)语言:
定义了数据库模式的实现细节,而这些细节对用户来说通常是不可见的。
数据存储和定义语言必须由计算机软件进行编译,转换为便于计算机存储、查询和操纵的格式,完成这个转换工作的程序称为模式编译器。

关系数据库使用的SQL语言提供了丰富的DDL语言。

SQL类型的数据定义语言DDL称为 SQL数据定义语言DDL ,可以用来定义(逻辑层次的逻辑模式中)具有数据类型和完整性约束的表。
关键字: CREATE, ALTER, DROP, RENAME, TRUNCATE 
 
例如:用 SQL数据定义语言DDL 中 的数据存储和定义语言 ,定义一个department表:
	create table department
		(dep5ame char (20), 
		building budget
		char (15), numeric (12,2));

(2)数据操纵语言DML:使用户能够查询以及变更已有数据库中记录的计算机语言。

DML可分成交互型DML和嵌入型DML两类。
交互型DML:这类DML自成系统,可在终端上直接对数据库进行操作。
嵌入型DML:这类DML是嵌入在主语言中使用。此时主语言是经过扩充能处理DML语句的语言。

依据语言的级别,DML又可分成过程性DML和非过程性DML两种。
过程性DML:用户编程时,不仅需要指出“做什么”(需要什么样的数据),还需要指出“怎么做”(怎么获得数据)。层状、网状的DML属于过程性语言。
非过程性DML:用户编程时,只需要指出“做什么”,不需要指出“怎么做”。关系型DML属于非过程性语言。

查询(query)是要求对信息进行检索的语句。
DML中涉及信息检索的部分称作查询语言(query language)。
由此可见,查询语言只属于DML语言中的一种。

关系数据库使用的SQL类型的数据操纵语言DML称为 SQL数据操纵语言DML.
关键字:INSERT, UPDATE, DELETE, SELECT-FROM-WHERE

其中,SQL数据操纵语言DML中的查询语言(简称SQL查询语言,Data Query Language,简写DQL语言),专指SELECT 数据查询语言,是非过程化的。
该SQL查询以几个表作为输入(也可能只有一个表),但总是仅返回一个表。
DQL数据查询语言基本结构是由SELECT子句,FROM子句,WHERE子句组成的查询块。一般结构为:
SELECT <字段名表>
    FROM <表或视图名>
    WHERE <查询条件>

【最后,在关系型数据库中,使用的DCL语言(Data control language),数据库控制语言,即为SQL类型的DCL语言。】

【参考文章:SQL中的四种语言DML DDL DCL TCL —— 游语

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值