MySQL基本概念
一、 数据库系统概述(注:概述均摘自清华出版的Mysql书籍):
数据库系统由硬件部分和软件部分构成,硬件主要用于存储数据库中的数据,包括计算机、存储设备。软件部分则包括DBMS、支持DBMS运行的操作系统等。
1、数据库系统中主要的3个组成部分:
(1)、数据库:用于存储数据的地方。
(2)、数据库管理系统:用于管理数据库的软件。
(3)、数据库应用程序:为了提高数据系统的处理能力所使用的管理数据库的的软件。
数据库(Database System)提供了一个存储空间用于存储各种数据,可以将数据库视为一个存储数据的容器。一个数据库可以包含多个文件,一个数据库系统中包含多个数据库。
理解:你可以把数据库系统想成Windows系统,在系统中可以有多个磁盘(数据库),磁盘中可以有多个文件夹(数据库表),文件夹中有多个文件(数据)。
数据库管理系统(DataBase Management System,DBMS)是用户创建,管理和维护数据库时所使用的软件位于用户与操作系统之间,对数据库进行统一管理。DBMS能定义数据库存储结构,提供数据的的操作机制,维护数据库的安全性、完整性和可靠性。
数据库应用程序(DataBase Application)虽然已经有了DBMS,但在很多的情况下DBMS,无法满足对数据库管理的要求,数据库应用程序的使用可以满足对数据库管理的更高要求还可以是数据库管理过程更加直观和友好。数据库应用程序负责与DBMS进行通信,访问和管理DBMS中的数据。允许用户插入、修改、删除数据库的数据。
注:数据库系统的访问过程:
2、SQL语句
对数据库进行查询和修改操作的语言叫SQL。在MySQL中输入相关命令,MySQL软件可以接受命令,并做出相应的操作。SQL是一种专门用来与数据库通信的语言。
SQL语句包含以下4个部分:
(1)数据定义:DROP、CREATE、ALTER等语句。
(2)数据操作:INSERT、DELETE、UPDATE语句。
(3)数据查询:SELECT语句。
(4)数据控制:GRANT、REVOKE、COMMIT等语句。
二 、数据库分类:
2.1、关系型数据库:是指采用了关系模型来组织数据的数据库。
简单来说,关系模型指的就是二维表格模型,而一个关系型数据库就是由二维表及其之间的联系所组成的一个数据组织。
关系模型中常用的概念:
- 关系:可以理解为一张二维表,每个关系都具有一个关系名,就是通常说的表名
- 元组:可以理解为二维表中的一行,在数据库中经常被称为记录
- 属性:可以理解为二维表中的一列,在数据库中经常被称为字段
- 域: 属性的取值范围,也就是数据库中某一列的取值限制
- 关键字:一组可以唯一标识元组的属性,数据库中常称为主键,由一个或多个列组成
- 关系模式:指对关系的描述。其格式为:关系名(属性1,属性2, ... ... ,属性N),在数据库中成为表结构
2.2、非关系型数据库:非关系型数据库严格上不是一种数据库,是一种数据结构化存储方法的集合。
概念:非关系型数据库提出另一种理念,例如,以键值对存储,且结构不固定,每一个元组可以有不一样的字段,每个元组可以根据需要增加一些自己的键值对,这样就不会局限于固定的结构,可以减少一些时间和空间的开销。使用这种方式,用户可以根据需要去添加自己需要的字段,这样,为了获取用户的不同信息,不需要像关系型数据库中,要对多表进行关联查询。仅需要根据id取出相应的value就可以完成查询。但非关系型数据库由于很少的约束,他也不能够提供像SQL所提供的where这种对于字段属性值情况的查询。并且难以体现设计的完整性。他只适合存储一些较为简单的数据,对于需要进行较复杂查询的数据,SQL数据库显的更为合适。
2.2.1、非关系型数据库的分类:
概念:由于非关系型数据库本身天然的多样性,以及出现的时间较短,因此,不想关系型数据库,有几种数据库能够一统江山,非关系型数据库非常多,并且大部分都是开源的。这些数据库中,其实实现大部分都比较简单,除了一些共性外,很大一部分都是针对某些特定的应用需求出现的,因此,对于该类应用,具有极高的性能。依据结构化方法以及应用场合的不同,主要分为以下几类:
- 面向高性能并发读写的key-value数据库:
key-value数据库的主要特点即使具有极高的并发读写性能,Redis,Tokyo Cabinet,Flare就是这类的代表
- 面向海量数据访问的面向文档数据库:
这类数据库的特点是,可以在海量的数据中快速的查询数据,典型代表为MongoDB以及CouchDB
- 面向可扩展性的分布式数据库:
这类数据库想解决的问题就是传统数据库存在可扩展性上的缺陷,这类数据库可以适应数据量的增加以及数据结构的变化
三、 MySQL概览:
概念:MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下公司。MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。
MySQL架构 :
概念:主从式架构或可以叫客户端-服务器结构简称(C/S)结构。是一种网络的架构,通常在该网络架构下分为客户端和服务器。当客户端用户发起请求,服务器端收到请求并处理,然后将处理结果发送给用户。
例如:当客户想要在当当网上买书时,网页浏览器被当成一个客户端,同时,当当网的电脑、数据库和应用程序等被当成客户端。当客户的浏览器(客户端)向当当网(服务器)请求搜寻数据库相关图书时,当当网服务器从当当网数据库中找出所有相关的数据,结合网页发送给客户的浏览器。