数据库语言的四大分类

说白了,数据库就靠这四套工具干活。
上周刚处理一个项目,没这玩意儿根本不行。

DQL负责查。
你用SELECT啥的,想啥拿啥。
比如查订单号1 2 3 4 5 ,直接写就行。
简单高效。

DML负责改。
增删改,一个不落。
上周删了好多无效数据,全靠这个。
直接影响数据实时性。

DDL负责建。
建表、改结构、删东西。
CREATE、ALTER、DROP是核心。
数据库结构全靠它。

DCL负责管权限。
谁能干啥,全靠GRANT、REVOKE说了算。
安全这块儿全靠它。

自己琢磨琢磨,这四套工具配合着用,数据库才能管明白。
怎么用最顺手?

数据库系统由哪几个部分组成

记得有一次,我帮朋友整理资料,发现他堆积如山的文件里,竟然没有一个电子化的数据库。
那天是2 01 9 年8 月,我在他家书房,看着他那堆满桌子的资料,心想,如果有个数据库,那该多方便啊。
硬件方面,他有一台不错的电脑,软件方面,我教他安装了简单的数据库管理系统。
至于人员,我是系统分析员,负责设计数据库结构,他成了应用程序员,学会了如何录入数据。
至于最终用户,那就是他本人,还有我,我们俩都能轻松地查询和更新数据。
可就是那个数据库管理员的角色,一直空缺着,因为他觉得自己的资料管理得挺不错的。
等等,我突然想到,如果他学会了数据库管理,那岂不是能更高效地管理资料?

nosql数据库的四种类型

嗯... nosql 数据库分四种啊。

第一种是 key-value 键值存储数据库。
这个吧... 就像 Redis、Riak、SimpleDB、Chordless、Scalaris、Memcached 这些。
主要用处呢... 比如说 2 02 2 年的时候,很多公司用 Redis 做内容缓存,你想想淘宝那种,访问量多大,得用 Redis 来扛着。
还有就是处理大量数据的高负载访问,比如你访问某个新闻网站,它可能就用了 Redis 来加速。
有时候也用系统日志,这个... 反正用处挺广的。

优点呢,主要是查找速度快,这个不用说了吧。
还有就是大量操作的时候性能高,就是特别适合做那种读多写少的场景。

第二种是列存储数据库。
这个... 有 BigTable、HBase、Cassandra、HadoopDB、GreenPlum、PNUTS。
主要应用呢... 就是分布式数据的储存与管理。
你想想,比如一个超级大的电商网站,用户数据、订单数据海了去了,肯定要用这种分布式数据库来存。
2 01 9 年的时候,某个大数据公司可能就用了 Cassandra 来管理他们的日志数据。

优点是查找速度快,可扩展性强,特别容易做分布式扩展。
但是缺点也挺明显的,就是功能相对局限,不像关系型数据库那么强大。

第三种是文档型数据库。
这个... 有 MongoDB、CouchDB、ThruDB、CloudKit、Perservere、Jackrabbit。
主要应用呢... 就是 web 应用,管理面向文档的数据或者类似的半结构化数据。
比如一个博客系统,用户信息、文章信息,这种结构不固定的数据,用 MongoDB 就很合适。
2 02 1 年的时候,很多初创公司可能就选择了 MongoDB 来快速开发他们的产品。

优点是数据结构灵活,表结构可变,开发起来比较简单,复杂性低。
缺点嘛,查询效率有时候会低,而且缺乏统一的查询语言,这个有点烦人。

最后一种是 Graph 图形数据库。
这个... 有 Neo4 J、OrientDB、InfoGrid、GraphDB。
主要应用呢... 就是复杂、互连接、低结构化的图结构场合,专注构建关系图谱。
比如你想做社交网络,分析用户之间的关系,或者你想做知识图谱,分析概念之间的联系,这种就用 Graph 数据库。

优点是利用图结构相关算法,可以构建复杂的关系图谱,这个很厉害。
缺点就是复杂度高,学习曲线有点陡峭。

嗯... 就这些吧... 感觉当时学的时候,我对 DocumentDB 比较感兴趣,因为它结构灵活嘛。

在数据库系统中,常用的数学模型主要有那四种呢?

概念模型就是E-R图,说白了就是画个图说明关系。

层次模型像树形结构,上周刚处理一个银行系统,数据有层状依赖。

网状模型能表示更多关联,我手上这个项目就用过。

关系模型就是二维表,现在主流都是这个,简单直接。

物理模型关心怎么存数据,比如用什么文件格式。

数学模型用公式算,性能分析常用。

结构模型看数据组织方式,比如树状或网状。

仿真模型模拟真实情况,比如用计算机模拟交通流。