数据库类型可分为哪三种?

从广义上讲,数据库开发经历了三个主要迭代:从树状层次类型,到网状关系类型,最后到最流行的表格格式关系类型。

层次类型首次出现。
IBM的IMS系统当时非常流行,但是有一个很大的问题——数据更新必须基于树级别。
如果你想改变一个叶节点,你可能需要改变整棵树。
去年我们做一个财务项目的时候就遇到过这个坑,花了两天时间才同步数据。
另一件事是它只能在一个方向上查询。
例如,要查看某个员工的信息,您必须先找到该员工的部门。
这个操作现在看来有些极端。
还有一个更重要的细节。
它只能以固定格式存储数据。
如果突然需要添加一个字段怎么办?抱歉,整个结构需要重做。
一开始我觉得这个树结构很直观,但后来发现是错误的。
当数据量超过3 000条时,维护成本继续翻倍。

网格类型解决了层次类型不是多对多的问题。
例如,一个客户可以购买多个产品,但问题是存储路径定义必须手动编写,光是想想就很头疼。
我们团队曾经为了查询路径改了半个月的代码,最后发现只需要一条关系SQL语句就可以解决。

关系类型现在占据市场主导地位,SQL+ 事务保证使它们成为标准答案。
但说实话,还是有点失望。
当数据量达到亿级,并发达到万级时,单表查询直接变成闪电杀。
去年双十一MySQL集群三度摇晃,最终不得不分库分表挽救局面。
等等,还有别的事。
虽然关系类型是万能的,但当涉及到大规模稀疏数据时,例如用户的地理位置,其效率极低。

建议现在数据库的选择要看场景,不要盲目跟风关系型数据库的使用趋势。
NoSQL 很棒,但不要强迫它做关系系统需要做的事情。

数据库中表之间的关系有哪三种关系

上周 数据库表关系很重要。

三种主要类型。

1 .逐个。
例如重置用户和密码。
每个用户一份重置日志。
简单直接。

2 很多一个。
工作人员及联系方式等 多次致电员工。
易于管理。

3 多对多。
例如学生和课程 一名学生修读几门课程。
需要一个中间表。

了解这些关系。
数据不会混乱。

好的。