初识数据库
描述事物的符号称为数据,而数据库则是指长期存储在计算机内、有组织,可共享的数据集合,它实际上就是一个文件的集合,并且用户可以进行增删改查等操作。
DBMS(数据库管理系统)是它的核心软件,在用户与操作系统之间起一个桥梁作用。
常说的XX数据库,都指的是XX数据库管理系统
数据库的类型:
一、关系型数据库:建立在关系模型(可以理解为一种规则)基础上的数据库。简单说,关系型数据库是由多张能互相连接的表组成的数据库。
( Oracle、DB2、PostgreSQL、Microsoft SQL Server、Microsoft Access 和 MySQL 等。)
优:1、均使用表结构,格式一致,易于维护;
2、使用通用SQL语言,使用方便,
3、数据存储在磁盘中,安全。
缺:1、读写性能差,不能满足大数据的高效率读写;
2、不节省空间(由于建立在规则上的原因);
3、只有固定的表结构,灵活性差;
二、非关系型数据库(NoSQL)
(Neo4j、MongoDB、Redis、Memcached、MemcacheDB 和 HBase 等)
通常指数据以对象的形式存储在数据库中,而对象之间的关系通过每个对象自身的属性来决定。
优:基本是一的缺点的反面,还有扩展简单、高并发、高稳定性、成本低廉的优势,可以实现数据的分布式处理
缺:不提供SQL支持,学习使用成本高;无事务处理,没有保证数据的完整性与安全性,不一定安全(SQL:结构化查询语言)
数据库系统:
一、主要组成部分:1、数据库(DB);2、管理系统(DBMS);3、应用程序
其中3是对DBMS功能的补充;
二、DBMS功能:1、数据定义、操纵2、DB的运行管理(数据的完整性检查功能、DB的安全保护功能、并发控制功能、故障恢复功能)4、提供接口和工具;5、DB的建立与维护
数据库系统简图
常用数据库访问接口(ODBC,JDBC,ADO.NET,PDO)
ODBC:开放数据库互连,使用SQL作为访问数据标准,提供了最大限度的互操作性,基于 ODBC 的应用程序对数据库的操作不依赖任何 DBMS,最大优点是能以统一的方式处理所有的数据库;
JDBC:用于 Java 应用程序连接数据库的标准方法,是一种用于执行 SQL 语句的 Java API,可以为多种关系数据库提供统一访问,它由一组用 Java 语言编写的类和接口组成。
DBMS分类(标准:数据的保存格式)
层次数据库(HDB):最早研制成功,以树形结构表示数据,曾是主流,代表IMS
关系~:见上文
面向文档:与键值存储类似,是其优化,允许嵌套键值,查询效率也更高
列存储~:数据存储在列族中,列族存储经常被一起查询的数据;
XML~
键值存储~:以键值对来储存数据
而MySQL则是最流行的开源关系数据库,主要适用场景:Web网站系统,日志记录,数据仓库,
嵌入式~。
一、客户端与服务器架构(C/S架构):
为一种网络架构,在该架构软件分为客户端和服务器
1、服务器:整个应用系统资源存储管理中心,多个客户端各自处理相应功能;(与数据文件打交道的也只有该软件)
2、客户端:与1相对应,为客户提供本地服务的程序
客户端可以是 MySQL 提供的工具(如 MySQL Workbench、SQLyog)、脚本语言(如Perl)、Web 应用开发语言(如ASP、ColdFusion、JSP和PHP)和程序设计语言(如 C、C++、Java)等。
流程:客户启动客户端,然后通过告知服务器进行连接以完成各种操作,而服务器则相应返回服务,
每一个客户端的实例都可以向服务器发出请求,二者通常不在同一台计算机上;
根据基于的架构不同,数据库管理系统又可分为两类:
基于共享文件系统的~,基于C/S架构