数据结构论坛

首页 » 分类 » 问答 » 关系数据库和非关系型数据库理解
TUhjnbcbe - 2023/6/7 20:33:00


  1.MySQL被广泛的应用在Internet上的大中小型网站中。由于体积小、速度快、总体拥有成本低,开放源代码


  2.SQLServer是微软公司开发的大型关系数据库系统。SQLServer的功能比较全面,效率高,可以作为中型企业或单位的数据库平台。SQLServer可以与Winodws操作系统紧密集成,不论是应用程序开发速度还是系统事务处理运行速度,都得到较大的提升,对于在Windows平台上开发的各种企业级信息管理系统来说,不论是C/S(客户机/服务器)架构还是B/S(浏览器/服务器)架构。SQLServer都是一个很好的选择。SQLServer的缺点是只能在Windows系统下运行


  3.DB2,PostgreSQL,Informix,Sybase等。这些关系型数据库逐步的淡化了普通运维的实现,特别是互联网公司几乎见不到


  1,char,nchar,nvarchar,varchar有什么区别?


  两个字符型字段分别定义为char(10)和varchar(10),当给它们存入“”这个数据时,char(10)字段占用十个字节的存储空间,而varchar(10)只占用3个字节存储空间,这就是char和varchar的区别。可以看出varchar比较适合存储长度变化很大的数据。


  2、smallint、int和bigint的区别?


  smallint、int和bigint的区别仅仅在于位数不同。smallint可存储2字节整数(-~),int可存储4字节整数(-~),bigint可存储8字节整数(-~)


  1.数据库是数据的仓库。


  与普通的“数据仓库”不同的是,数据库依据“数据结构”来组织数据,因为“数据结构”,所以我们看到的数据是比较“条理化”的(比如不会跟以前的普通文件存储式存储成一个文件那么不条理化,我们的数据库分成一个个库,分成一个个表,分成一条条记录,这些记录是多么分明)


  也因为其“数据结构”式,所以有极高的查找速率(比如B-Tree查找法),(由于专精,可以根据自己的结构特性来快速查找,所以对于数据库的查找会比较快捷;不像普通文件系统的“查找”那么通用)


  如果与EXCEL来比的话,能明显的看出数据库的好处,我们能给一个个“字段”添加“约束”(比如约束一列的值不能为空)


  数据库与普通的文件系统的主要区别(起因):数据库能快速查找对应的数据


  常说的XX数据库,其实实质上是XX数据库管理系统。数据库管理系统是一个软件,是数据库管理的程序实现。


  2.关系型数据库是依据关系模型来创建的数据库。


  所谓关系模型就是“一对一、一对多、多对多”等关系模型,关系模型就是指二维表格模型,因而一个关系型数据库就是由二维表及其之间的联系组成的一个数据组织。


  关系型数据可以很好地存储一些关系模型的数据,比如一个老师对应多个学生的数据(“多对多”),一本书对应多个作者(“一对多”),一本书对应一个出版日期(“一对一”)


  关系模型是我们生活中能经常遇见的模型,存储这类数据一般用关系型数据库


  关系模型包括数据结构(数据存储的问题,二维表)、操作指令集合(SQL语句)、完整性约束(表内数据约束、表与表之间的约束)


  数据的存储形式


  


  关系的处理形式


  常见的关系型数据库有:


  Oracle、DB2、PostgreSQL、MicrosoftSQLServer、MicrosoftAccess、MySQ


  关系型数据库的特点:


  安全(因为存储在磁盘中,不会说突然断电数据就没有了)、


  容易理解(建立在关系模型上)、


  但不节省空间(因为建立在关系模型上,就要遵循某些规则,好比数据中某字段值即使为空仍要分配空间)


  什么是非关系型数据库?


  非关系型数据库主要是基于“非关系模型”的数据库(由于关系型太大,所以一般用“非关系型”来表示其他类型的数据库)


  非关系型模型比如有:


  列模型:存储的数据是一列列的。关系型数据库以一行作为一个记录,列模型数据库以一列为一个记录。(这种模型,数据即索引,IO很快,主要是一些分布式数据库)


  键值对模型:存储的数据是一个个“键值对”,比如name:liming,那么name这个键里面存的值就是liming


  文档类模型:以一个个文档来存储数据,有点类似“键值对”


  常见的非关系型数据库:


  列模型:Hbase


  键值对模型:redis,MemcacheDB


  文档类模型:mongoDB


  非关键型数据库的特点?


  效率高(因为存储在内存中)、


  但不安全(断电丢失数据,但其中redis可以同步数据到磁盘中),现在很多非关系型数据库都开始支持转存到磁盘中。

1
查看完整版本: 关系数据库和非关系型数据库理解