RDBMS和非RDBMS,RDB设计原则

admin 2023-10-12 633 阅读 0评论

640.gif


RDBMS和非RDBMS

我们看数据库的排名,有些数据库有关系型(RDBMS)和非关系型,他们有什么区别呢?

640.png

关系型数据库


这种类型的数据库是最古老的数据库类型,关系型数据库模型是把复杂的数据结构归结为简单的二元关系(即二维表格形式)。


关系型数据库以行(row)和列(column)的形式存储数据,以便于用户理解。

640.png

而每张表又有关系,比如:班级表和学生表。我们通过关系数据库的查询语言SQL,就可以查出这些多表关系的信息。


优势:


复杂查询可以用SQL语句方便地在一个表以及多个表之间做非常复杂的数据查询。


事务支持,使得安全性能很高的数据访问要求得以实现。


非关系型数据库:


可以看成传统关系型数据库的阉割版。不需要通过SQL层的解析,性能非常的高。


相比SQL,NoSQL泛指非关系型数据库,常见的非关系型数据库包括:


键值型数据库:使用场景可作为内存的缓存,Redis是最流行的键值型数据库


文档型数据库:此类型数据库可存放并获取文档,可以是XML、JSON等格式。在数据库中文档作为处理信息的基本单位,一个文档就相当于一条记录。文档数据库所存放的文档,就相当于键值数据库所存放的值。MongoDB是最流行的文档型数据库。


搜索引擎数据库:虽然关系型数据库采用了索引提升效率,但是针对全文索引效率却较低。搜索引擎是应用在搜索引擎领域的数据库存储形式。这样检索的时候才能保证性能最优。典型数据库有:Solr、Elasticsearch、Splunk等。


列式数据库:Oracle、Mysql都是采用行式存储方法,一行就是一个记录。而列式数据库是将数据库按照列存储数据到数据库中。这样做的好处,可以降低I/O,比如你用行数据库,你只要显示4个列,就要把这行20列都加载到内存中,但是用列数据库只需要加载特定的列。典型产品:HBase等。


图形数据库:一种存储图形关系的数据库,一些复杂关系的数据关系,还是可以用图数据库。典型的产品:Neo4j、InfoGird等。

NoSQL的分类很多,即便如此,在DBMS排名中,还是SQL阵营的比重更大,影响力前五的DBMS,有4个是关系型数据库,排名前20的数据库,有12个也是关系型数据库。所以掌握SQL是非常有必要的。

关系数据库设计原则

表、记录、字段:

数据库中的一个表对应Java的一个类。

表中的一条数据(记录)对应Java的一个对象。

表中的一个列,表示类中 的一个字段、属性。

表的关联关系:

一对一关联关系

在实际开发中应用不多,因为一对一可以创建为一张表。但有时候,一张表字段太多了,有些是常用的比如学生基本信息,有些是不常用的比如学生的档案信息。这个时候可以拆分成两个表。

640.png


一对多关联关系表:


分为主表和从表,一为主表,多为从表。比如班级与学生的关系、部门与员工的关系。这些都是一对多的关系。

640.png

多对多关联关系:


表示多对多的关系,必须创建第三张表,该表被称为连接表。它将多对多关系划分为两个一对多关系。将这两个表的主键都插入到第三张表中。

640.png

比如学生和课程的关系,一个学生可以选多个课程,一个课程也可以被多个学生选。


比如角色与用户的关系,一个角色可以有多个用户,但是一个用户又可以有多个角色。


自我引用关系:


自己引用自己,员工编号103,的主管编号就是自己。

640.png


喜欢就支持以下吧
点赞 0

发表评论

快捷回复: 表情:
aoman baiyan bishi bizui cahan ciya dabing daku deyi doge fadai fanu fendou ganga guzhang haixiu hanxiao zuohengheng zhuakuang zhouma zhemo zhayanjian zaijian yun youhengheng yiwen yinxian xu xieyanxiao xiaoku xiaojiujie xia wunai wozuimei weixiao weiqu tuosai tu touxiao tiaopi shui se saorao qiudale qinqin qiaoda piezui penxue nanguo liulei liuhan lenghan leiben kun kuaikule ku koubi kelian keai jingya jingxi jingkong jie huaixiao haqian aini OK qiang quantou shengli woshou gouyin baoquan aixin bangbangtang xiaoyanger xigua hexie pijiu lanqiu juhua hecai haobang caidao baojin chi dan kulou shuai shouqiang yangtuo youling
提交
评论列表 (有 0 条评论, 633人围观)