Mysql系列一:初识Mysql
说到Mysql,肯定第一点想到的数据库,而之所以会想到数据库,是因为程序中用到了各种各样的数据,而这些数据又不能放到内存中,还要永久序列化保存到本地,要用的时候能够方便的进行读取和修改。下面就对数据库进行一个简单的介绍。
**1.什么是数据库:
数据库(DataBase),顾名思义是存储数据的仓库,而数据的格式和要求,依旧存储数据库的种类的不同而不同,针对Mysql而言,其是关系型数据库,所以在对数据库进行设计的时候,要遵循关系型数据库的设计要求,即范式约束。而现在的数据库设计技术也层出不穷,像NOSQL数据库中的基于文档的monggoDB,用于缓存的redis,面向大数据的Hbase等各种数据库,现在就主要说一下Mysql数据库。
备注:数据库事务必须具备ACID特性,ACID是Atomic原子性Consistency一致性,Isolation隔离性,Durability持久性。
数据库术语:
⭐数据库:一些相互关联的数据的仓库,关联表的集合。
⭐ 数据表:数据库中为完成特定业务功能所建立的相关数据的集合,以二维表格的形式存储。
⭐列:一列数据包含了具有相同单一属性的数据,如果省份。
⭐行:一行数据是一组相关记录,例如学生信息(学号,姓名、年龄、性别…)。
⭐冗余:数据库中因设计不当出现的过多的数据重复,但有时为了业务需求,可以适当的添加数据冗余,增加查询速度。
⭐主键:数据库中行记录的唯一标识,一张数据表中只能包含一个主键,主键自带索引,所以利用主键查询数据的速度是很快的。
⭐外键:当业务需要一张表中的数据和另一张表中的数据时,外键便出现了,外键用于关联两张表中的记录,即这两张表中的数据存在某种对应关系(例如:一对一,一对多,多对一,多对多)。
⭐复合键:复合键(组合键)将多个列作为一个索引值,一般用于符合索引。
⭐索引:建立索引的目的是为了是数据的查询更加方便,索引多建立在where字句后的查询条件或者常用列中,只有适当的建立索引才会大大的加速数据的查询速度。
⭐参照完整性:参照完整性要求关系中不允许引用不存在的实体(即记录),是关系型数据库设计中必须满足的条件之一。
4.Mysql简介
Mysql数据库是一个关系型数据库管理系统,由瑞典的Mysql AB公司开发,目前属于Oracle公司。Mysql是一种关联数据库管理系统,相互关联的数据将会被保存在不同的表中,而不是将所有数据放在一个大仓库中,这样不仅增加了速度,也增加了灵活性。
❤Mysql是开源的,这就为开发者提供了便利,对于自己学习来说,使用免费的Mysql就行了(据说部分版本要收费)
❤Mysql支持大型的数据库,可以处理拥有上千万条记录的大型数据库。
❤Mysql使用标准的SQL语言来操作数据。
❤Mysql使用于多个系统,如Linux,CentOs,Windows等等,并且支持多种语言:C、C++、Python、Java…
❤Mysql是可定制的,采用了GPL协议,你可以通过修改源码的方式来开发自己的Mysql系统。
❤Mysql支持大型数据库,支持5000万条记录的数据仓库,32位系统表文件最大可支持4GB,64位系统支持最大的表文件则为8TB。