首页 > 编程知识 正文

关系型和非关系型数据库的区别?,关系型和非关系型数据库的使用

时间:2023-05-04 16:20:02 阅读:221852 作者:3794


  区别一:存储方式

关系型数据库以数据库表形式存储数据  结构比较规整固定 
非关系型以JSON文档、哈希表或者其他方式 结构更加灵活和可扩展 

 
区别二:表和数据的关系
 

关系型数据库中,必须定义好表和字段结构后才能添加数据,
非关系型数据库中,数据可以在任何时候任何地方添加,不需要先定义表,数据库会自动创建相应的集合
 

 
区别三:数据之间的关系

 

关系型数据库中建立实体数据之间的联系是通过加外键

非关系型数据库中除了这种规范化做法以外,还能用一种非规范化方式:
                                    即把外部数据直接放到原数据集中,以提高查询效率。缺点就是更新审核人数据的时候将会比较麻烦。 

 


区别四:参照完整性

 

参照完整性:若A关系中的某个或者某些属性参照B或其他几个关系中的属性,那么在关系A中该属性要么为空,要么必须出现B或者其他的关系的对应属性中。 

举个例子:


上表是审核人员表 下表是借阅人员表 用外键关联

关系型数据库中不允许删除已经被使用的外部数据,例如审核人表中的"烂漫的白羊"已经被分配给了借阅人表熊大,那么在审核人表中将不允许删除烂漫的白羊这条数据,以保证数据完整性。

非关系型数据库中则没有这种强耦合的概念,可以随时删除任何数据。 


区别五:事务

关系型数据库 有事务的概念
非关系型数据库没对事务的支持较差


区别六:应用场景

 关系型数据库适合存储结构化数据,如用户的帐号、地址
NoSQL适合存储非结构化数据,如文章、评论。

前许多大型互联网项目都会选用MySQL(或任何关系型数据库) + NoSQL的组合方案。

  区别七:查询语言
 

关系型数据库通过结构化查询语言来操作数据库 有统一标准
非关系型数据库使用的是非结构化查询语言(UnQl),它是没有标准的。 


区别八:性能
 

关系型数据库为了维护数据的一致性 在面对高并发读写性能非常差,面对海量数据的时候读写效率非常低。
nosql存储的格式是key-value类型的,并且存储在内存中,对于数据一致性弱要求,无需sql的解析,提高了读写性能。 

 

区别九:授权方式

大多数的关系型数据库都是付费的并且价格昂贵,成本较大,
非关系型数据库通常都是开源的。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。