龙空技术网

什么是关系型数据库,有哪些特点和应用?

云端源想IT培训 193

前言:

今天朋友们对“数据库长整数型是啥”大概比较注重,姐妹们都需要剖析一些“数据库长整数型是啥”的相关内容。那么小编同时在网摘上汇集了一些有关“数据库长整数型是啥””的相关文章,希望姐妹们能喜欢,看官们一起来了解一下吧!

“这里是云端源想IT,帮你轻松学IT”

嗨~ 今天的你过得还好吗?

不要想太多

不要熬夜

要经常笑

- 2023.09.13 -

上期内容中我们提到常见的数据库有关系型数据库和非关系型数据库等类型,那么什么是关系型数据库,它都有哪些特点以及应用场景是怎样的呢?本篇文章将带大家解决这个问题。

一、关系型数据库的概念

关系型数据库是建立在关系数据库模型基础上的数据库,借助于集合代数等概念和方法来处理数据库中的数据,同时也是一个被组织成一组拥有正式描述性的表格,该形式的表格作用的实质是装载着数据项的特殊收集体,这些表格中的数据能以许多不同的方式被存取或重新召集而不需要重新组织数据库表格。

简单说,关系型数据库是由多张能互相连接的表组成的数据库。用户通过查询来检索数据库中的数据,而查询是一个用于限定数据库中某些区域的执行代码。

现实世界中的各种实体以及实体之间的各种联系均可用关系模型来表示,市场上占很大份额的 Oracle、MySQ、DB2 等都是面向关系模型的 DBMS。

在关系型数据库中,实体以及实体间的联系均由单一的结构类型来表示,这种逻辑结构是一张二维表。

上图中所示的学生选课系统中,实体和实体间联系在数据库中的逻辑结构如下图所示。

关系型数据库以行和列的形式存储数据,这一系列的行和列被称为表,一组表组成了数据库。下图所示的员工信息表就是关系型数据库。

属性说明:

二维表:也称为关系,它是一系列二维数组的集合,用来代表与存储数据对象之间的关系。它由纵向的列和横向的行组成。行:也叫元组或记录,在表中是一条横向的数据集合,代表一个实体。列:也叫字段或属性,在表中是一条纵行的数据集合。列也定义了表中的数据结构。主属性:关系中的某一属性组,若它们的值唯一地标识一个记录,则称该属性组为主属性或主键。主属性可以是一个属性,也可以由多个属性共同组成。在上图中,学号是学生信息表的主属性,但是课程信息表中,学号和课程号共同唯一地标识了一条记录,所以学号和课程号一起组成了课程信息表的主属性。

二、结构化查询语言

关系型数据库的核心是其结构化的查询语言(Structured Query Language, SQL),SQL 涵盖了数据的查询、操纵、定义和控制,是一个综合的、通用的且简单易懂的数据库管理语言。同时 SQL 又是一种高度非过程化的语言,数据库管理者只需要指出做什么,而不需要指出该怎么做即可完成对数据库的管理。

SQL 可以实现数据库全生命周期的所有操作,所以 SQL 自产生之日起就成了检验关系型数据库管理能力的“试金石”,SQL 标准的每一次变更和完善都引导着关系型数据库产品的发展方向。

SQL 包含以下四个部分:

1、数据定义语言(DDL)

DDL 包括 CREATE、DROP、ALTER 等动作。在数据库中使用 CREATE 来创建新表,DROP 来删除表,ALTER 负责数据库对象的修改。

例如,创建学生信息表使用以下命令

CREATE TABLE StuInfo(id int(10) NOT NULL,PRIMARY KEY(id),name varchar(20), female bool,class varchar(20));

2、数据查询语言(Data Query Language, DQL)

DQL 负责进行数据查询,但是不会对数据本身进行修改。

DQL的语法结构如下:

SELECT FROM 表名1,表2where 查询条件 #可以组合 and、or、 not、 =、between、and、in、like 等;group by 分组字段having (分组后的过滤条件)order by 排序字段和规则;

3、数据操纵语言(Data Manipulation Language, DML)

DML 负责对数据库对象运行数据访问工作的指令集,以 INSERT、UPDATE、DELETE 三种指令为核心,分别代表插入、更新与删除。

向表中插入数据命令如下:

NSERT 表名 (字段1,字段2,......,字段n,) VALUES (字段1值,字段2值,......,字段n值) where 查询条件;

4、数据控制语言(Data Control Language, DCL)

DCL 是一种可对数据访问权进行控制的指令。它可以控制特定用户账户对查看表、预存程序、用户自定义函数等数据库操作的权限,由 GRANT 和 REVOKE 两个指令组成。

DCL 以控制用户的访问权限为主,GRANT 为授权语句,对应的 REVOKE 是撤销授权语句。

三、关系型数据库的特点

关系型数据库已经发展了数十年,其理论知识、相关技术和产品都趋于完善,是目前世界上应用最广泛的数据库系统。

优点:

结构简单、易于维护:都是使用表结构,格式一致;数据库设计和规范化过程也简单易行和易于理解。

使用方便、灵活:使用标准查询语言SQL,允许用户几乎毫无差别地从一个产品到另一个产品存取信息。与关系数据库接口的应用软件具有相似的程序访问机制,提供大量标准的数据存取方法。

复杂操作:可以进行join等复杂查询;

保持数据的一致性;

由于以标准为前提,数据更新的开销小(相同的字段基本都是只有一处);

成熟的技术:存在很多实际成果和专业技术信息。

缺点:

数据类型表达能力差:关系数据模型不直接支持复杂的数据类型。由于第一范式的要求,所有的数据必须转换为简单的类型,如整数、实数、双精度数和字符串。 面对复杂数据类型的就是需要额外地分解数据结构工作,这些被分解的结构不能直接表示应用数据,且从基本成分重构时也非常繁琐和费时间。

复杂读写功能差:关系型数据库的规范化,一个实体数据可能被分割成很多部分存入数据库不同的表中。那么,这种复杂信息的查询过程通常会产生大量的简单表。在这种情况下,由存取信息产生的查询必须处理大量的表和复杂的码联系以及连接运算。

支持长事务能力差:由于RDBMS记录锁机制的颗粒度限制,对于支持多种记录类型的大段数据的登记和查询来说,简单的记录级的锁机制是不够。

环境应变能力差:在要求系统频繁改变的环境下,关系系统的成本高且修改困难。关系数据库和编程语言所提供的数据类型的不一致,使得从一个环境转换到另一个环境时需要多至30%的附加代码。

读写性能:面对海量数据的高并发读写需求,效率就会变得很差,硬盘I/O是一个很大的瓶颈;

扩展方式:固定的表结构,灵活度稍欠,如字段不固定时的应用。

四、常见的关系型数据库及应用场景

常见的关系型数据库有 Oracle、DB2、PostgreSQL、Microsoft SQL Server、Microsoft Access 和 MySQL 等。下面简单介绍一下Oracle、MySQL、Microsoft SQL Server这三个关系型数据库及其应用场景:

1、Oracle

由于其诞生早、结构严谨、高可用、高性能、高安全等特点,使其在传统数据库应用中近乎垄断,金融、通信、能源、物流、零售、制造等各个传统行业的大型公司都在使用,甚至早期的世界500强企业几乎全部都是Oracle的用户。

应用场景:

主要在传统行业的数据化业务中,比如:通信、银行、金融这样的对可用性、健壮性、安全性、实时性要求极高的业务;或者零售、物流、能源这样对海量数据存储分析要求很高的业务。通常搭配Oracle大型服务器和磁盘阵列使用,售价非常昂贵。

2、MySQL

Web时代使用最广泛的关系型数据库,MySQL的早期定位的主要应用场景就是互联网开发。可以说,是互联网的爆发成就了MySQL,LAMP架构风靡天下。而由于MySQL更多的的追求轻量、易用,在传统的数据库应用场景中,份额极少。

应用场景:

其应用实例也大都集中于互联网方向,MySQL的高并发存取能力并不比大型数据库差,同时价格便宜,安装使用简便快捷,深受广大互联网公司的喜爱。并且由于MySQL的开源特性,针对一些对数据库有特别要求的应用,可以通过修改代码来实现定向优化,比如淘宝网。

3、Microsoft SQL Server

是Microsoft公司在软件集成方案中的重要一环,由于只能在Windows上使用,流行程度不如前两者。一般配置ASP.Net开发,也为Windows系统在企业级应用中的普及做出了很大贡献。

应用场景:

Microsoft SQL Server主要面向中小企业。其最大的优势就是在于集成了MS公司的各类产品及资源,提供了强大的可视化界面、高度集成的管理开发工具。也提供了整套的软件方案,基本上一套Windows系统装下来就齐活了。因此,不那么缺钱,但很缺IT人才的中小企业,会偏爱 Microsoft SQL Server 。

在Java的学习中,数据库的知识确实是很重要的一部分。因为在实际开发过程中,我们需要处理大量的数据,而数据库是存储和管理这些数据的关键工具。通过学习数据库,我们可以更好地理解数据的存储、检索和操作方法,从而提高编程效率和解决实际问题的能力。

我们下期再见!

END

文案编辑|云端学长

文案配图|云端学长

内容由:云端源想分享

标签: #数据库长整数型是啥