关系型数据库-程序员宅基地

技术标签: 数据库  

什么是关系型数据库(Relational database)?

  • 关系数据库,是建立在关系模型基础上的数据库。
  • 关系型数据库是由多张能互相联接的二维行列表格组成的数据库。
  • 关系模型由关系数据结构、关系操作集合、关系完整性约束三部分组成。
    当前主流的关系型数据库有Oracle、DB2、PostgreSQL、Microsoft SQL Server、Microsoft Access、MySQL、浪潮K-DB、MariaDB、SqLite等。

关系型数据库的优缺点有哪些?

  关系型数据库最典型的数据结构是表,由二维表及其之间的联系所组成的一个数据组织。

优点:

  1. 结构简单、易于维护:都是使用表结构,格式一致;数据库设计和规范化过程也简单易行和易于理解。
  2. 使用方便、灵活:使用标准查询语言SQL,允许用户几乎毫无差别地从一个产品到另一个产品存取信息。与关系数据库接口的应用软件具有相似的程序访问机制,提供大量标准的数据存取方法。
  3. 复杂操作:可以进行join等复杂查询;
  4. 保持数据的一致性;
  5. 由于以标准为前提,数据更新的开销小(相同的字段基本都是只有一处);
  6. 存在很多实际成果和专业技术信息(成熟的技术)。

缺点:

  1. 数据类型表达能力差:关系数据模型不直接支持复杂的数据类型。
    由于第一范式的要求,所有的数据必须转换为简单的类型,如整数、实数、双精度数和字符串。 面对复杂数据类型的就是需要额外地分解数据结构工作,这些被分解的结构不能直接表示应用数据,且从基本成分重构时也非常繁琐和费时间。
  2. 复杂读写功能差:关系型数据库的规范化,一个实体数据可能被分割成很多部分存入数据库不同的表中。那么,这种复杂信息的查询过程通常会产生大量的简单表。在这种情况下,由存取信息产生的查询必须处理大量的表和复杂的码联系以及连接运算。
  3. 支持长事务能力差:由于RDBMS记录锁机制的颗粒度限制,对于支持多种记录类型的大段数据的登记和查询来说,简单的记录级的锁机制是不够
  4. 环境应变能力差:在要求系统频繁改变的环境下,关系系统的成本高且修改困难。关系数据库和编程语言所提供的数据类型的不一致,使得从一个环境转换到另一个环境时需要多至30%的附加代码。
  5. 读写性能:面对海量数据的高并发读写需求,效率就会变得很差,硬盘I/O是一个很大的瓶颈;
  6. 扩展方式:固定的表结构,灵活度稍欠,如字段不固定时的应用;

关系型数据库遵循ACID规则

关系型数据库有如下四个特性:

1、A (Atomicity) 原子性
原子性很容易理解,也就是说事务里的所有操作要么全部做完,要么都不做,事务成功的条件是事务里的所有操作都成功,只要有一个操作失败,整个事务就失败,需要回滚。
例如:从A账户转10元至B账户,分为两个步骤:1.从A账户取10元;2.存入10元至B账户。这两步要么一起完成,要么一起不完成,当只完成第一步,第二步失败的情况下,钱就会回滚到A账户中去,否则的话,钱就会莫名其妙少了10元。

2、C (Consistency) 一致性
一致性也比较容易理解,也就是说数据库要一直处于一致的状态,事务的运行不会改变数据库原本的一致性约束。
例如:现有完整性约束a+b=10,如果一个事务改变了a,那么必须得改变b,使得事务结束后依然满足a+b=10,否则事务失败。

3、I (Isolation) 独立性
所谓的独立性是指并发的事务之间不会互相影响,如果一个事务要访问的数据正在被另外一个事务修改,只要另外一个事务未提交,它所访问的数据就不受未提交事务的影响。
例如:现在从A账户转10元至B账户,在这个交易还未完成的情况下,如果此时B查询自己的账户,是看不到新增加的10的。

4、D (Durability) 持久性
持久性是指一旦事务提交后,它所做的修改将会永久的保存在数据库上,即使出现宕机也不会丢失。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qingxikeren/article/details/122843624

智能推荐

2020 年百度之星·程序设计大赛 - 初赛一-程序员宅基地

文章浏览阅读350次。Drink传送门Accepts: 1896Submissions: 4596Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Problem Description我们有nn种不同的饮料,每种饮料有无限多瓶,第ii种饮料一瓶提供x[i..._2020 年百度之星·程序设计大赛 - 初赛一

PE文件结构解析_pe结构图-程序员宅基地

文章浏览阅读9.5k次。PE(Portable Executable)文件,即可移植的可执行文件,是 Windows 操作系统上主流的可执行文件。_pe结构图

牛客编程巅峰赛S2第6场 - 钻石&王者-程序员宅基地

文章浏览阅读147次。牛客巅峰赛钻石&王者场前言自从我一场从青铜打上钻石以后,我好像就打不了黄金场的哭唧唧(/(ㄒoㄒ)/~~),钻石王者场真呆不下去了被各路神仙吊打String II解题思路:签到题,比较简单,我的思路是 差分+枚举,我们看数据只有大概1e3,那这铁定可以暴力枚举出来啊我们枚举原串中每个位置的字母为新串的字母,然后对该字母进行差分(注意正负),然后排序后贪心选最大的可能,时间复杂...

springboot配置log4j 并打印SQL_springboot log4j打印sql-程序员宅基地

文章浏览阅读5.2k次。首先引入jar包依赖<!--Log4J--><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-log4j</artifactId></dependency>因为s..._springboot log4j打印sql

git的基本命令_服务器上面查看git是否部署好了的指令-程序员宅基地

文章浏览阅读87次。GIT1.结构分析结构图一:结构图二:2.本地代码管理工作区(Workspace):添加、修改、删除`文件 暂存区(index):将工作区中的操作完成小阶段的存储,是版本库的一部分本地仓库区(Respository): 对个人开发的一个小阶段代码存储记录的各版本可以查看或者回退但是在暂存区的版本一旦提交就再也没有了(保存到仓库区中)3.本地仓库操作1.安装git#..._服务器上面查看git是否部署好了的指令

AVR单片机_基于avr单片机attiny13做的125khz rfid模拟卡|我爱单片机-程序员宅基地

文章浏览阅读1.5k次。​AVR单片机是一款高速度,高性能,高性价比的单片机。特点:(1)采用了流水线技术和先进的架构设计,工作频率高,执行速度快。(2)内置大容量程序存储器和数据存器器,省去了扩展外部存储器。(3)I/O口驱动能力强,使用方便(4)通信接口齐全,使用灵活(5)硬件资源丰富,功能强大(6)模块化设计,派生元器件众多,选择性好,性价比高(7)具有电源检测与管理功能(8)工作电压超低,可用电源范围广AVR单片机和多种分类(1)ATtiny系列,有ATtiny11/12/13/15/26/28等._基于avr单片机attiny13做的125khz rfid模拟卡|我爱单片机

随便推点

读取/加载 properties配置文件的几种方法_读取properties配置文件-程序员宅基地

文章浏览阅读3.7k次。在java项目中经常会使用到配置文件,这里就介绍几种加载配置文件的方法。_读取properties配置文件

Oracle Webcenter Content(UCM)安装完成后需要做哪些配置才可满足企业应用的需求_oracle ucm 安装配置手册-程序员宅基地

文章浏览阅读1.2k次。背景:在UCM安装完成后,通常是两台UCM服务器做的集群,需要做一些配置才能满足企业应用的需要,如文件存放路径、安全性、默认存储大小、用户同步等等,具体需要做哪些配置呢,下面给出配置详情步骤配置步骤:需要如下九步,如下:一、配置信息初始化访问节点一服务器 http://节点一ip:16200/cs,配置Native File Repository Location 和 Weblayout Fold..._oracle ucm 安装配置手册

深度linux系统gho,深度技术ghost版的win7操作系统下载-程序员宅基地

文章浏览阅读710次。很多朋友都想要深度技术ghost版的win7操作系统下载,因为深度技术ghost版的win7操作系统下载还是不错的,在业内的评价蛮高。可是我们到底要如何深度技术ghost版的win7操作系统下载呢?别急,小编就给大家带来深度技术ghost版的win7操作系统下载吧,希望大家都能够喜欢这个系统哦。一、深度快速装机版主要更新- 提升Windows Ink工作区、微软Edge浏览器、文件服务器、Wind..._linux系统ghost下载

关于生活-程序员宅基地

文章浏览阅读172次。主理 | 谢玢编辑 | Dave 董雯雪视觉 | 任染这是 「禾穗HERS女性商学院」的第034篇漫读《关于生活》By: 纳齐姆·希克梅特(土耳其)译:李以亮, Ra..._任玢图片

yum安装软件时报“没有可用的软件包”的问题_yum安装提示没有可用软件包-程序员宅基地

文章浏览阅读5.2k次,点赞6次,收藏14次。文章目录yum安装软件时报“没有可用的软件包异常”问题描述解决过程测试yum安装软件时报“没有可用的软件包异常”问题描述在需要使用s3cmd的命令行工具时,打算用yum进行安装,但是在安装的过程中遇到了“没有可可用软件包”的问题,具体问题如下。解决过程当在Linux系统中使用yum安装软件时提示 “没有可用软件包”时,代表在linux系统yum源中已经没有对应的安装包了,这时,我们需要安装EPEL。EPEL(Extra Packages for Enterprise Linux)_yum安装提示没有可用软件包

给你全面的重点学习数据库_想全面的学习数据库-程序员宅基地

文章浏览阅读691次。系统化学习数据库,重点在于查询select_想全面的学习数据库

推荐文章

热门文章

相关标签