MariaDB数据库基本概念

-----------------------------------------------------------------------------------------------------------------------------------------------

一、数据库特点

1、数据量大

2、数据库不随程序的结束而结束

3、数据被多个应用程序共享

4、大数据

数据库是相互关联的数据的集合,数据冗余少,保证了数据的安全可靠和正确性,但它也有无法避免的缺陷,性能不高 ,因此目前阶段,能不让数据库去处理的事就不让它做,让已经开发技术很成熟的软件程序去做

二、数据库的发展史

1、萌芽阶段:文件系统,使用磁盘文件来存储数据

2、初级阶段:第一代数据库,出现了网状结构、层次模型的数据库

3、中级阶段:第二代数据库,关系型数据库和结构化查询语言,这是目前人们所使用的数据库

4、高级阶段:新一代数据库,“关系-对象”型数据库

三、数据库管理系统基本功能

数据库管理系统:DBMS、数据库管理员:DBA

数据定义、数据处理、数据安全、数据备份

四、系统架构

单机架构、大型机/终端架构、主从式架构(C/S)、分布式架构

五、关系型数据库

1、关系就是二维表,行列的形式表现出来

2、行row:每一行称为一条记录

3、列column:每一列称为属性、字段

4、主键(primary key):唯一确定一个记录的字段,该字段不能有重复值或者为null,是一种避免数据出现冗余的方式

5、域domain:属性取值范围

如果条件允许的情况下,建议一个服务器搭建一个DBMS,一个DBMS配置一个数据库

六、实体-联系模型E-R

1、实体:客观存在并可以相互区分的客观事物或者抽象事件

2、属性:实体所具有的特征或性质

3、联系是数据之间的关联集合,是客观存在的应用语义链

七、联系类型

1、联系类型:一对一联系、一对多联系、多对多联系

2、数据操作

(1)数据提取:数据集合中查询需要的内容,select

(2)数据更新:变更数据库中的数据,insert、delete、update

3、数据的约束条件:是一组完整性规则的集合

(1)实体完整性,即行完整性

(2)域完整性,即列完整性

(3)参考完整性

外键(foreign key),被依赖的表叫做主键表,依赖其它表的表叫外键表

八、数据库规范

目前数据库有六种范式:

第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、巴德斯科范式(BCNF)、第四范式(4NF)、第五范式(5NF,又称完美范式)。满足最低要求的范式是第一范式,在第一范式基础上进一步满足更多规范要求的称为第二范式,以此类推,一般数据库只需满足第三范式即可。如果一个数据库第一范式都无法满足,则它不会称作为关系型数据库

第一范式:无重复的列,同一列中不能有多个值,也就是某一个表不能有重复的属性,某一条记录的某一个属性不能写入多个值

第二范式:在满足第一范式条件下,属性完全依赖于主键,要求表中每行必须可以被唯一区分。比如说建立了一张表,主键是学生id,表中有一属性是教师收入,两者完全没有关系,是无意义的数据

第三范式:在满足第二范式条件下,属性不依赖于其它非主属性。也就是说一个表中除了主键可以被依赖之外,其它属性之间不允许有从属关系

九、SQL概念

1、SQL:Structure Query Language,结构化查询语言

2、数据存储协议:应用层协议,C/S

3、S:server,监听套接字,接收并处理客户端的应用请求

4、C:Client,客户端程序接口,应用编程接口

十、约束

1、主键:一个或多个字段的组合,填入的数据必须能在本表中唯一标识本行;必须提供数据,即NOT NULL,一个表只能有一个

2、惟一键:一个或多个字段的组合,填入的数据必须能在本表中唯一标识本行;允许为NULL,一个表可以存在多个

3、外键:一个表中的某字段可填入的数据取决于另一个表的主键或唯一键已有的数据

4、检查:字段值在一定范围内

十一、基本概念

1、索引:将表中的一个或多个字段中的数据复制一份另存,并按特定次序排序鵆

2、关系运算:

(1)选择:挑选出符合条件的行

(2)投影:挑选出需要的字段

(3)连接:表间字段的关联

十二、数据模型

1、数据抽象:

(1)物理层:数据存在哪,怎么进行存储的

(2)逻辑层:数据存储内容以及数据之间的关系

(3)视图层:用户角度描述数据库中部分数据

2、关系模型的类:关系模型、基于对象的关系模型、半结构化的关系模型

十三、mysql特性

1、插件师存储引擎,也成为表类型,现mysql引擎是由innoDB发展而来的XtraDB

2、单进程、多线程

3、诸多扩展和新特性

4、提供了较多测试组件

5、开源

十四、安装mysql

见链接:数据库安装方式