- 什么是数据库:存储数据的地方,数据存储在硬盘上(硬盘效率低)
- 为什么要使用数据库?
- 为了让应用程序或者项目不用直接的和硬盘打交道
- 直接操作硬盘上的文件效率低
- 通过文件来读写数据很麻烦
- 共享数据麻烦,并且容易造成电脑安全性降低
- 突发情况(服务器崩了),稳定性不足
- 优点:
- 方便管理数据
- 提高对数据的管理效率
通常将数据和项目分开管理
数据库管理系统(DBMS)---一个软件 不同数据库系统之间的SQL不能完全相互通用
- 1 名词解释
数据库管理系统(英语:Database Management System,简称DBMS)是为管理数据库而设计的电脑软件系统,一般具有存储、截取、安全保障、备份等基础功能。数据库管理系统可以依据它所支持的数据库模型来作分类,例如关系式、XML;或依据所支持的计算机类型来作分类,例如服务器群集、移动电话;或依据所用查询语言来作分类,例如SQL、XQuery;或依据性能冲量重点来作分类,例如最大规模、最高运行速度;亦或其他的分类方式。不论使用哪种分类方式,一些DBMS能够跨类别,例如,同时支持多种查询语言。
这个工具负责来和硬盘打交道(当然中间还隔着操作系统),高效的管理数据,并且还支持对外通信,网络通信都是基于的socket,也就是说它还相当于一个socket服务端,那么想来到这个存数据的机器上来操作数据的人或者项目都可以连接到这个工具,并通过这个工具来管理数据,那么我们就可以通过下面这个图来看看这工具的工作方式:
2 操作过程
下载安装人家的数据管理系统,然后启动系统,我们的项目如果想通过这个系统来操作数据,那么就需要你的项目中字节写一个socket客户端,要满足人家这个系统的服务端的消息格式要求,然后就按照人家规定好的sql语句写好操作数据的命令,使用你的写好的客户端通过网络发送给这个存放数据的机器上的数据管理系统的服务端,服务端街道这个命令之后,解析,然后产生对应的数据操作,你要是查询数据,就将查询数来的数据原路返回给你,如果你要是修改数据,那么我服务端就在系统上修改对应的数据。这就是整个操作流程了,其实这个系统就是一个基于socket编写的C/S架构的软件。
sql:需要按照别人的规范来操作数据,这个规范就叫做sql
sql语句:通过这个系统操作数据的语句
3 数据库分类
关系型数据库:关系型数据库模型是把复杂的数据结构归结为简单的二元关系
oracle , MySQL , MariaDB ,SQL Server ,Access ,DB2,PostgreSQL,Informix,Sybass
非关系型数据库(NO SQL数据库):高性能、高并发、对数据一致性要求不高
Cassandra,HBase,Redis,MongoDB
NOSQL不是否定关系数据库,而是作为关系数据库的一个重要补充
NOSQL为了高性能、高并发而生,忽略影响高性能,高并发的功能
NOSQL典型产品memcached (纯内存),redis(持久化缓存),mongodb(文档的数据库)