目录
前言:
这节博客中我们就开始给大家要介绍一个新的模块章节啦,也是我们编程中最要的一个模块-数据库,关于数据库相信大家也多多少少都会听说过一点或者是了解过一点,这关系到我们后期在作出一个完美的系统而做铺垫。话不多说,开始和小编一起学习起来吧!
1.数据库概念的介绍
大家在生活中使用电脑的时候大多存储信息是不是都会存储在文件中呢?那么这里就会有很多人都有疑问了,那我们为什么要把数据存储在数据库中,而不存储在文件中呢?
首先我们先来了解一下如果我们是使用文件存储的话都会有哪些弊端吧。
- 文件的安全性问题。
- 文件不利于数据的查询和管理。
- 文件不利于存储海量数据。
- 文件在程序中控制不方便。
基于以上的这些文件存储数据的弊端,我们可以看出文件确实是不适合存储数据,为了解决上述问题,专家们专门设计出更加利于数据管理的软件——数据库,他能有效的管理数据,数据库可以提供远程服务,即通过远程连接来使用数据库,因此也称数据库服务器。
首先我们先来看一下数据库存储的介质,数据库存储的介质有磁盘和内存。
2.数据库的分类
数据库大体可以分为两类:关系型数据库和非关系型数据库,接下来我们就一一来了解一下他们吧。
2.1关系型数据库
关系型数据库是指采用了关系模型来组织的数据的数据库,简单来说,关系模型指的就是二维表格模型,而一个关系型数据库就是由二维表及其之间的联系所组成的一个数据组织。
常用的关系型数据库有:
Oracle:甲骨文产品,适合大型项目,适用于做复杂的业务逻辑,如ERP、OA等企业信息系统。但是他是收费的。
MySQL:属于甲骨文,不适合做复杂的业务,但是有一个好处就是他是免费的。
Sql_sever:微软的产品,安装部署子啊Windows server上,适合用于中大型项目,但是也是收费的。
2.2非关系型数据库
这里大家就作为一个了解即可,他是不规定基于SQL实现,现在更多是指NoSQL数据库。
常见的非关系型数据库有:
- 基于键值对(Key-Value):如memcached、Redis。
- 基于文档型:如MongoDB。
- 基于列族:如HBASE。
- 基于图形:如noe4j。
2.3关系型数据库与非关系型数据库的区别
关系型数据库 | 非关系型数据库 | |
使用SQL | 是 | 不强制要求,一般不基于SQL实现 |
事务支持 | 支持 | 不支持 |
复杂操作 | 支持 | 不支持 |
海量读写操作 | 效率低 | 效率高 |
基本结构 | 基于表和列,结构稳定 | 灵活性比较高 |
使用场景 | 业务方面的OLTP系统 | 用于数据的缓存、或基于统计分析的OLAP系统 |
其中:OLTP是指联机事务处理,OLAP是指联机分析处理。
3.SQL分类
SQL主要分为三类:DDL、DML、DCL,下面我们来分别看一下他们都是什么吧。
- DDL:是数据定义语言,用来维护存储数据的结构。代表指令有:create,drop,alter。
- DML:是指数据操纵语言,用来对数据进行操作。代表指令有:insert,delete,update。在DML中有单独分了一个DQL,数据查询语言,代表指令:select。
- DCL:是指数据控制语言,主要负责权限管理和事务。代表指令:grant,revoke,commit。
结束语:
在后期学习的过程中小编会使用MySQL来给大家进行演示,而且在SQL的三个语言中小编主要会给大家讲解的是DDL和DML。好啦这次小编的数据库就与大家分享到这里啦,有什么疑问记得在评论区给小编留言。希望这节对大家认识数据库有一定的帮助,想要学习的同学记得关注小编和小编一起学习吧!如果文章中有任何错误也欢迎各位大佬及时为小编指点迷津(在此小编先谢过各位大佬啦!)