致谢:一个小时学会MySQL数据库
一个小时学会MySQL数据库
目录
- 一、数据库概要
- 1.1、发展历史
- 1.1.1、人工处理阶段
- 1.1.2、文件系统
- 1.1.3、数据库管理系统
- 1.2、常见数据库技术品牌、服务与架构
- 1.3、数据库分类
- 1.3.1、关系型数据库
- 1.3.2、非关系型数据库
- 1.4、数据库规范化
- 1.4.1. 什么是范式
- 1.4.2. 三大范式
- 1.4.3. 范式与效率
- 1.1、发展历史
- 二、MySQL介绍
- 2.1、MySQL概要
- 2.2、系统特性
- 2.3、存储引擎
- 三、快速安装运行MySQL数据库
- 3.1、使用绿色版
- 3.1.1、设置mysql远程访问
- 3.1.2、修改mysql用户密码
- 3.1.2、安装服务
- 3.2、使用安装版
- 3.1、使用绿色版
- 四、使用GUI操作MySQL
- 4.1、关系型数据库的典型概念
- 4.2、登录数据库
- 4.3、创建数据库
- 4.4、创建表
- 4.5、管理数据
- 4.5.1、添加数据
- 4.5.2、删除数据
- 4.5.3、修改表结构
- 4.5.4、外键
- 4.5.5、唯一键
- 4.6、上机练习
- 五、使用SQL访问MySQL数据库
- 5.0、定义学生表Stu
- 5.0.1、新建数据库
- 5.0.2、新建表
- 5.0.3、新建查询
- 5.1、增加数据
- 5.2、查询数据
- 5.2.1、表达式与条件查询
- 5.2.2、聚合函数
- 5.3、删除数据
- 5.4、更新数据
- 5.5、修改表
- 5.5.1、添加列
- 5.5.2、修改列
- 5.5.3、删除列
- 5.5.4、重命名表
- 5.5.5、删除表
- 5.5.6、删除数据库
- 5.5.7、一千行MySQL笔记
- 5.5.8、常用的SQL
- 5.0、定义学生表Stu
- 六、下载程序、帮助、视频
随着移动互联 的结束与人工智能的到来大数据变成越来越重要,下一个成功者应该是拥有海量数据的,数据与数据库你应该知道。
一、数据库概要
数据库(Database)是存储与管理数据的软件系统,就像一个存入数据的物流仓库。
在商业领域,信息就意味着商机,取得信息的一个非常重要的途径就是对数据进行分析处理,这就催生了各种专业的数据管理软件,数据库就是其中的一种。当然,数据库管理系统也不是一下子就建立起来,它也是经过了不断的丰富和发展,才有了今天的模样。
1.2、常见数据库技术品牌、服务与架构
发展了这么多年市场上出现了许多的数据库系统,最强的个人认为是Oracle,当然还有许多如:DB2、Microsoft SQL Server、MySQL、SyBase等,下图列出常见数据库技术品牌、服务与架构。
代表:Oracle、SQL Server、MySQL
1.3.2、非关系型数据库
随着时代的进步与发展的需要,非关系型数据库应运而生。
代表:Redis、Mongodb
NoSQL数据库在存储速度与灵活性方面有优势,也常用于缓存。
1.4、数据库规范化
经过一系列的步骤,我们现在终于将客户的需求转换为数据表并确立这些表之间的关系,那么是否我们现在就可以在开发中使用呢案否定的,为什么呢!同一个项目,很多人参与了需求的分析,数据库的设计,不同的人具有不同的想法,不同的部门具有不同的业务需求,我们以此设计的数据库将不可避免的包含大量相同的数据,在结构上也有可能产生冲突,在开发中造成不便。
1.4.1. 什么是范式
要设计规范化的数据库,就要求我们根据数据库设计范式――也就是数据库设计的规范原则来做。范式可以指导我们更好地设计数据库的表结构,减少冗余的数据,借此可以提高数据库的存储效率,数据完整性和可扩展性。
设计关系数据库时,遵从不同的规范要求,设计出合理的关系型数据库,这些不同的规范要求被称为不同的范式,各种范式呈递次规范,越高的范式数据库冗余越小。目前关系数据库有六种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、巴德斯科范式(BCNF)、第四范式(4NF)和第五范式(5NF,又称完美范式)。满足最低要求的范式是第一范式(1NF)。在第一范式的基础上进一步满足更多规范要求的称为第二范式(2NF),其余范式以次类推。一般说来,数据库只需满足第三范式(3NF)就行了。
1.4.2. 三大范式
第一范式(1NF)
所谓第一范式(1NF)是指在关系模型中,对列添加的一个规范要求,所有的列都应该是原子性的,即数据库表的每一列都是不可分割的原子数据项,而不能是集合,数组,记录等非原子数据项。即实体中的某个属性有多个值时,必须拆分为不同的属性。在符合第一范式(1NF)表中的每个域值只能是实体的一个属性或一个属性的一部分。简而言之,第一范式就是无重复的域。
例如:表1-1中,其中”工程地址”列还可以细分为省份,城市等。在国外,更多的程序把”姓名”列也分成2列,即”姓”和“名”。
虽然第一范式要求各列要保存原子性,不能再分,但是这种要求和我们的需求是相关联的,如上表中我们对”工程地址”没有省份,城市这样方面的查询和应用需求,则不需拆分,”姓名”列也是同样如此。
表1-1 原始表
工程 |
工程名称 |
工程地址 |
员工编 |
员工名称 |
薪资待遇 |
职务 |
P001 |
港珠澳大桥 |
广东珠海 |
E0001 |
Jack |
6000/月 |
工人 |
P001 |
港珠澳大桥 |
广东珠海 |
E0002 |
Join |
7800/月 |
工人 |
P001 |
港珠澳大桥 |
广东珠海 |
E0003 |
Apple |
8000/月 |
高级技工 |
P002 |
南海航天 |
海南三亚 |
E0001 |
Jack |
5000/月 |
工人 |
第二范式(2NF)
在1NF的基础上,非Key属性必须完全依赖于主键。第二范式(2NF)是在第一范式(1NF)的基础上建立起来的,即满足第二范式(2NF)必须先满足第一范式(1NF)。第二范式(2NF)要求数据库表中的每个实例或记录必须可以被唯一地区分。选取一个能区分每个实体的属性或属性组,作为实体的唯一标识。
第二范式(2NF)要求实体的属性完全依赖于主关键字。所谓完全依赖是指不能存在仅依赖主关键字一部分的属性,如果存在,那么这个属性和主关键字的这一部分应该分离出来形成一个新的实体,新实体与原实体之间是一对多的关系。为实现区分通常需要为表加上一个列,以存储各个实例的唯一标识。简而言之,第二范式就是在第一范式的基础上属性完全依赖于主键。
例如:表1-1中,一个表描述了工程信息,员工信息等。这样就造成了大量数据的重复。按照第二范式,我们可以将表1-1拆分成表1-2和表1-3:
l 工程信息表:(工程编 ,工程名称,工程地址):
表1-2 工程信息表
工程编 |
工程名称 |
工程地址 |
P001 |
港珠澳大桥 |
广东珠海 |
P002 |
南海航天 |
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!
阿里云系统团队高薪诚聘Linux工程师
上一篇
2018年4月27日
嵌入式软件工程师所需技能
下一篇
2018年4月27日
|