《数据库原理及应用课件完整版电子教案.ppt》由会员分享,可在线阅读,更多相关《数据库原理及应用课件完整版电子教案.ppt(398页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、3/9/2023数据库原理及应用(MySQL版)3/9/2023数据库原理及应用(数据库原理及应用(MySQL版)版)第1 1章 数据库基本概念 1.1 1.1 数据与数据管理技术数据与数据管理技术 1.2 1.2 数据库数据库 1.3 1.3 数据库管理系统数据库管理系统 1.4 1.4 数据库系统数据库系统 1.5 1.5 数据库系统的结构数据库系统的结构 1.6 1.6 结构化表查询语句结构化表查询语句SQLSQL 1.7 1.7 数据库系统设计步骤数据库系统设计步骤 1.8 1.8 常用数据库管理系统常用数据库管理系统数据是人类活动的重要资源,目前在计算机的各类应用中,用于数据处理的约
2、占80%左右。特别是在当前的信息化时代,数据作为一种资源的重要性日益提高。数据库是存放数据的仓库,数据库系统是研究如何妥善地组织、存储和科学地管理数据的计算机系统。数据库(DataBase,DB)一词早在20世纪50年代就已经提出,经过多年的发展数据库技术已成为计算机科学的一个重要分支。数据库技术是计算机科学技术中发展最快、应用最广泛的领域之一。学校的学生信息管理、企业中的企业信息管理、银行信息管理,及国家的各种信息管理等,无一不用到数据库。数据库技术已是计算机信息系统和应用程序的核心技术和重要基础。本章主要介绍数据库系统的基本概念、SQL语言、数据库系统设计步骤和常用的数据库管理系统。数据库
3、原理及应用(数据库原理及应用(MySQL版)版)1.1 1.1 数据与数据管理技术1.1.1数据数据(Data)是描述事物的符号记录,具体来讲就是人们从实际当中抽取感兴趣的事物特征或属性。数据是信息的符号表示或载体。由于数据能被书写,因而能够被记录、存储和处理,在计算机中,数据包括数字、文字、图形、图像、音频、视频等等,对数据进行处理可以得到有用的信息。数据具有一定的格式(语法)和含义(语义)。数据的格式规定了数据的语法结构,如身份证号、电话号码、车牌号等都有相应的编码规则,即语法定义。数据的含义(语义)是对数据的具体解释。如我国二代身份证格式规定为15位,其中第l6位数为行政区划代码,第71
4、2位数为出生日期代码(第7、8位为出生年份(两位数),第9、10位为出生月份,第11、12位代表出生日期),第1315位数为分配顺序代码,最末一位数是奇数的分配给男性,偶数分配给女性。按照上述语法,就可以正确解读出任何一个身份证号的具体含义。数据库原理及应用(数据库原理及应用(MySQL版)版)1.1.2数据管理技术数据管理技术是人们对数据进行收集、组织、存储、处理、传播和利用的一系列活动的总和。基于人们对数据处理的需求推动,以及计算机软件、硬件和应用的不断发展,数据管理技术的发展经历了人工管理、文件系统、数据库系统3个阶段。1人工管理阶段该阶段的主要特点是数据不长期保存在计算机中,应用程序管
5、理数据,数据不独立于应用程序,应用程序间不能共享数据。2文件系统阶段该阶段的主要特点是数据可以长期保存在外存上重复使用,数据独立于程序,由文件系统来管理数据。3数据库系统阶段该阶段的主要特点是数据结构化,数据的独立性高,数据的共享性高、冗余度低、易扩充,数据由DBMS统一管理和控制,便于使用。数据库原理及应用(数据库原理及应用(MySQL版)版)1.2数据库数据库(DataBase,DB)是存储在计算机内的、有组织的、统一管理的相关数据的集合。就是说数据库是存储数据的仓库,其中的数据是按一定的结构组织存储的,具有较小的冗余度、较高的数据独立性和易扩展性,可为多个用户共享。例如高校的学生学籍信息
6、数据库,学生的成绩等学籍信息都是按一定的结构和联系进行组织、存储,教务管理部门、任课教师和学生等用户都可以进行权限允许的处理、查看等操作。数据库原理及应用(数据库原理及应用(MySQL版)版)1.3数据库管理系统数据库只是用来存放数据,需要通过相应的软件才能对其中的数据进行处理。数据库管理系统(DataBaseManagementSystem,DBMS)是对数据库进行管理的软件。数据库管理系统为数据库提供数据的定义、建立、维护、查询、统计等操作功能,并提供数据完整性、安全性、多用户并发使用、备份与恢复等管理功能。数据库管理系统是位于数据库用户和操作系统之间的一层数据管理软件,为用户提供了访问数
7、据库的各种方法,使用户可以透明地访问数据库,不需要知道数据库的物理组织和存储方式。采用关系数据模型的数据库管理系统称为关系数据库管理系统(RelationalDataBaseManagementSystem,RDBMS),由于关系数据模型数据结构简单、清晰、易用,所以关系模型得到了广泛应用,目前常用的数据库管理系统几乎都是关系数据库管理系统。数据库原理及应用(数据库原理及应用(MySQL版)版)1.3数据库管理系统数据库管理系统主要有数据定义、数据操纵、数据库的运行管理和数据库的建立和维护等功能。1数据定义功能DBMS中通常提供了多种数据库对象,包括数据表、视图、存储过程等等,用户首先需要定义
8、创建这些对象,然后才能使用。DBMS提供数据定义语言(DataDefinitionLanguage,DDL),用户通过DDL可以方便地对数据库中的数据对象进行定义。2数据操纵功能DBMS还提供数据操纵语言(DataManipulationLanguage,DML),用户可以使用DML实现对数据库的基本操作,如数据查询、插入、修改和删除等。3数据库的运行管理数据库在建立、使用和维护时由DBMS统一管理、统一控制,以保证数据的安全性、完整性、多个用户对数据的并发使用和故障后的数据库恢复等,保证数据库能正确、有效地运行。4数据库的建立和维护数据库的建立和维护包括数据库初始数据的输入、转换功能,数据库
9、的转储、恢复功能,数据库的重组、性能监测和分析等功能。这些功能是由DBMS提供的一些实用程序完成的。数据库原理及应用(数据库原理及应用(MySQL版)版)1.4数据库系统数据库系统(DataBaseSystem,DBS)是指包含数据库和数据库管理系统的计算机系统。数据库系统通常由数据库、数据库管理系统、应用系统、数据库管理员及用户构成,如图1-1所示。数据库管理系统数据库用户应用系统应用系统数据库管理员数据库的建立、使用和维护等需要专门的人员来管理,这些管理人员被称为数据库管理员(DataBaseAdministrator,DBA)。数据库原理及应用(数据库原理及应用(MySQL版)版)1.5
10、数据库系统的结构1.5.1数据库三级模式结构从数据库最终用户的角度来看,即从数据库系统外部来看,数据库系统的体系结构可分为集中式结构(又可分为单用户结构和主从式结构)、分布式结构、客户/服务器结构和并行结构。从数据库管理系统角度来看,数据库系统通常采用三级模式结构:外模式、内模式和概念模式,如图1-2,这是从数据库系统内部看到的体系结构。数据库原理及应用(数据库原理及应用(MySQL版)版)1.5.1数据库三级模式结构1概念模式(逻辑模式、模式)概念模式也称为逻辑模式,常简称为模式。逻辑模式是数据库中整体数据的逻辑结构和特征的描述,包括概念记录类型、记录之间的联系、数据的完整性和安全性约束等数
11、据控制方面的规定等。逻辑模式是所有用户的公共数据视图。例如学籍数据库中有学生学基本信息表、课程表、选课成绩表、各种视图和存储过程等对象,对所有这些对象及其关联的定义就构成了学籍数据库的逻辑模式。2内模式(存储模式)内模式也称为存储模式,是数据库内部数据物理存储结构的描述,定义了记录的存储结构、索引组织方式以及数据是否压缩存储和加密等数据控制细节。数据库原理及应用(数据库原理及应用(MySQL版)版)1.5.1数据库三级模式结构3外模式(用户模式)外模式是数据库用户能看到和使用的那部分数据的逻辑结构和特征的描述,是用户的数据视图,也是应用程序与数据库系统之间的接口。用户可以通过数据定义语言和数据
12、操纵语言来定义数据库的结构和对数据库进行操作,只需按所定义的外模式进行操作,无需了解概念模式和内模式的内部细节。由于外模式通常是模式的子集,即一个用户通常只用到数据库中的部分数据,所以外模式通常也称为子模式或用户模式。对应于不同的用户和应用,一个数据库可以有多个不同的外模式。例如在学籍数据库系统中,教学管理部门可以分析、汇总学生成绩,二每个学生只能查看个人的成绩、学分等学籍有关信息等。有时也将外模式、概念模式和内模式对应的不同层次的数据库分别称为用户级数据库、概念级数据库和物理级数据库。数据库原理及应用(数据库原理及应用(MySQL版)版)1.5.2三级模式之间的映射在图1-2中可以看到在三级
13、模式之间还存在外模式/概念模式映射和概念模式/内模式两层映射,这是为了实现数据库三个抽象层次的联系与转换。对一个数据库系统来说,实际上存在的只是物理级数据库,它是数据访问的基础。概念级数据库不过是物理级数据库的一种抽象描述,用户级数据库是用户和数据库的接口。用户根据子模式进行数据操作,通过子模式到概念模式的映射与概念级数据库联系起来,又通过概念级到存储的映射与物理级联系起来,使用户不必关心数据在计算机中的具体表示方式和存储方式。数据库原理及应用(数据库原理及应用(MySQL版)版)1.5.2三级模式之间的映射在图1-2中可以看到在三级模式之间还存在外模式/概念模式映射和概念模式/内模式两层映射
14、,这是为了实现数据库三个抽象层次的联系与转换。对一个数据库系统来说,实际上存在的只是物理级数据库,它是数据访问的基础。概念级数据库不过是物理级数据库的一种抽象描述,用户级数据库是用户和数据库的接口。用户根据子模式进行数据操作,通过子模式到概念模式的映射与概念级数据库联系起来,又通过概念级到存储的映射与物理级联系起来,使用户不必关心数据在计算机中的具体表示方式和存储方式。DBMS的中心工作之一,就是完成三级模式之间的两层映射,把用户对数据库的操作具体实现到对物理设备的操作,实现数据与应用程序之间的独立性。数据库原理及应用(数据库原理及应用(MySQL版)版)1.6结构化查询语言SQL存储在数据库
15、中的数据最终是要使用的,对数据库的主要操作就是数据查询。由于数据库规模通常都很大,特别是在信息爆炸的信息时代,要在庞大的数据库中快速准确地找到需要的数据,需要有效地数据查询技术和工具。SQL(StructuredQueryLanguage,结构化查询语言)语言是目前关系数据库系统广泛采用的数据查询语言。SQL由Boyce和Chamberlin于1974年提出的,并在IBM研制的SystemR关系数据库管理系统上实现。1987年成为国际标准,经多次改进,SQL也从简单的数据查询语言逐渐成为功能强大、更加规范、应用广泛的数据库语言。数据库原理及应用(数据库原理及应用(MySQL版)版)1.6结构化
16、查询语言SQL1SQL的特点SQL语言之所以能够在业界得到广泛使用,是因为其功能完善、语法统一、易学。SQL主要有以下特点。(1)功能的一体化:SQL集数据定义语言(DataDefinitionLanguage,DDL)、数据操纵语言(DataManipulationLanguage,DML)、数据控制语言(DataControlLanguage,DCL)于一体,能够完成关系模式定义、建立数据库、插入数据、查询、更新、维护、数据库重构、数据库安全性控制等一系列操作。(2)统一的语法结构:SQL有两种使用方式,一种是自含式(联机使用方式),即SQL可以独立地以联机方式交互使用;另一种是嵌入式,即
17、将SQL嵌入到某种高级程序设计语言中使用。这两种方式分别适用于普通用户和程序员,虽然使用方式不同,但SQL的语法结构是统一的,便于普通用户与程序员交流。(3)高度非过程化:SQL是一种非过程化数据操作语言,即用户只需指出“干什么”,而无需说明“怎么干”。如用户只需给出数据查询条件,系统就可以自动查询出符合条件的数据,而用户无需告诉系统存取路径及如何进行查询等。(4)语言简洁:SQL语句简洁,语法简单,非常自然化,易学易用。数据库原理及应用(数据库原理及应用(MySQL版)版)2SQL的功能(1)数据定义:定义数据库的逻辑结构,包括定义基本表、视图和索引,相关的操作还包括对基本表、视图、索引的修
18、改与删除。基本表是数据库中独立存在的表,通常简称为表。在SQL中一个关系就对应一个基本表,一个或多个基本表对应一个存储文件,一个基本表可以有多个索引,索引也保存在存储文件中。一个数据库中可以有多个基本表。视图则是由一个或多个基本表导出的表。数据定义功能是通过数据定义语言(DDL)实现的。(2)数据操纵:主要包括数据查询和数据更新操作。数据查询是数据库应用中最常用最重要的操作;数据更新则包括对数据库中记录的增加、修改和删除操作。数据操作功能是通过数据操纵语言(DML)实现的。(3)数据控制:主要是对数据的访问权限进行控制,包括对数据库的访问权限设置、事务管理、安全性和完整性控制等。数据控制功能是
19、通过数据控制语言(DCL)实现的。(4)嵌入功能:即SQL可以嵌入到其他高级程序设计语言(宿主语言)中使用。前面讲过SQL有自含式和嵌入式两种使用方式,SQL的主要功能是数据操作,自含式使用使数据处理功能差,而高级程序设计语言的数据处理功能强,但其数据操作功能弱,为了结合二者的优点,常将SQL嵌入到高级程序设计语言中使用,实现混合编程。为了实现嵌入使用,SQL提供了与宿主语言之间的接口。数据库原理及应用(数据库原理及应用(MySQL版)版)1.7数据库系统设计步骤按照规范设计的方法,考虑数据库及其应用系统开发全过程,将数据库系统设计分为以下6个阶段:需求分析、概念结构设计、逻辑结构设计、物理结
20、构设计、数据库实施和数据库的运行和维护。如图1-3。在数据库设计过程中,需求分析和概念设计可以独立于任何数据库管理系统进行,逻辑设计和物理设计与选用的DBMS密切相关。数据库原理及应用(数据库原理及应用(MySQL版)版)1.7数据库系统设计步骤收集分析需求数据模型优化使用、维护数据库应用要求DBMS特征转换规则DBMS功能优化方法设计概念模型应用需求设计逻辑结构设计物理结构评价设计、性能评测试运行物理实现需求分析阶段概念结构设计阶段逻辑结构设计阶段物理设计阶段数据库实施阶段数据库运行维护阶段数据库原理及应用(数据库原理及应用(MySQL版)版)1.7数据库系统设计步骤1需求分析阶段设计数据库
21、首先必须要准确了解和分析用户需求,需求分析的任务,是通过详细调查现实世界要处理的对象和原有系统的应用情况,明确用户的各种需求,弄清系统要达到的目标和实现的功能。需求分析是整个设计过程的基础,也是最困难,最耗时的一步。需求分析是否做得充分与准确,决定了数据库系统的质量与成败。如果需求分析做得差,会严重影响系统性能甚至不得不返工重做。需求分析常用方法有结构化分析方法(StructuredAnalysis,SA)、面向对象的分析力法等。2概念结构设计阶段概念结构是独立于任何一种数据模型的信息结构,概念结构设计是通过对用户需求进行综合,归纳与抽象,形成了一个独立于具体DBMS的概念模型。概念结构设计是
22、整个数据库设计的关键,通常采用E-R模型进行设计。数据库原理及应用(数据库原理及应用(MySQL版)版)1.7数据库系统设计步骤3逻辑结构设计阶段逻辑结构设计是将概念结构转换为某个DBMS所支持的数据模型,并对其进行优化。例如要使用MySQL,就需要将概念结构设计夹断设计的E-R模型转换成MySQL所支持的关系模型。4物理设计阶段物理设计的主要任务是为逻辑数据模型选取一个最适合应用环境的物理结构,包括数据存储结构、存储位置和存取方法。5数据库实施阶段数据库实施阶段,系统设计人员通过DBMS提供的数据操作语言(如SQL)及其宿主语言,根据逻辑设计和物理设计的结果建立数据库、编制和调试应用程序,组
23、织数据入库,并进行试运行。6数据库运行和维护阶段数据库应用系统经过试运行后,即可投入正式运行,在数据库系统运行过程中必须不断地对其进行评价、调整、修改。数据库原理及应用(数据库原理及应用(MySQL版)版)1.8常用数据库管理系统目前常用的数据库管理系统包括MicrosoftAccess、MicrosoftSQLServer、Oracle、MySQL、DB2、SQLite等,这里对它们作简要介绍。详见教材。数据库原理及应用(数据库原理及应用(MySQL版)版)2023/3/9数据库原理及应用(MySQL版)2023/3/9数据库原理及应用数据库原理及应用第2 2章 概念模型设计 2.1 2.1
24、 概念模型的基础知识概念模型的基础知识 2.2 2.2概念模型的设计方法与步骤概念模型的设计方法与步骤 2.3 2.3 图书管理系统的概念模型设计图书管理系统的概念模型设计 2023/3/9数据库原理及应用数据库原理及应用2.1 2.1 概念模型的基础知识概念模型的基础知识1.数据模型2.信息的三个世界3.概念模型的基本概念2023/3/9数据库原理及应用数据库原理及应用2.2 2.2 概念模型的设计方法与步骤概念模型的设计方法与步骤1.概念模型的特点2.概念模型设计的策略3.概念模型的设计(1)设计局部E-R模型:确定局部清晰的实体及其联系。(2)设计全局的E-R模型:将局部的E-R图集成为
25、全局的E-R图。(3)优化全局E-R模型:对相同的实体合并,消除冗余的属性和联系等。4设计过程中遇到的问题2023/3/9数据库原理及应用数据库原理及应用2.3 2.3 图书管理系统的概念模型设计1.问题描述某市为了更好地服务当地市民,新建了一所公共图书馆,图书馆藏书数万册,包括小说、生活、专业等多种类型。为了更好地开展服务,现欲开发图书管理系统,方便市民在图书馆看书和借阅。为了保证图书良好流通,防止借书不还等不良行为的发生,图书馆要求借出的图书总价值不能超过100元,借阅时间不超过1个月,逾期不还者,每本书每天罚款0.1元。市民如果需要办理图书证,只需带个人身份证,同时提交100元押金,即可
26、到图书馆前台办理。2023/3/9数据库原理及应用数据库原理及应用2.3 2.3 图书管理系统的概念模型设计2概念模型分析与设计1)局部ER图12023/3/9数据库原理及应用数据库原理及应用2.3 2.3 图书管理系统的概念模型设计2概念模型分析与设计2)局部ER图22023/3/9数据库原理及应用数据库原理及应用2.3 2.3 图书管理系统的概念模型设计2概念模型分析与设计2)全局ER图2023/3/9数据库原理及应用数据库原理及应用2.3 2.3 图书管理系统的概念模型设计2概念模型分析与设计3)优化ER图2023/3/9数据库原理及应用(MySQL版)2023/3/9数据库原理及应用数
27、据库原理及应用第 3 3 章 逻辑模型设计 3.1 3.1 逻辑模型的基础知识逻辑模型的基础知识 3.2 3.2 关系的完整性关系的完整性 3.3 3.3 关系数据库理论关系数据库理论 3.4 3.4 数据库逻辑模型设计数据库逻辑模型设计 3.5 3.5 图书管理系统的逻辑模型设计图书管理系统的逻辑模型设计2023/3/9数据库原理及应用数据库原理及应用3.1 3.1 逻辑模型的基础知识3.1.1关系模型概述关系数据模型起源于数学,它用二维表来组织数据,而这个二维表在关系数据库中称为关系,关系数据库就是表(或者说关系)的集合。3.1.2关系数据模型的基本概念关系、元组、属性、码、主码、超码、候
28、选码、域、关系模式2023/3/9数据库原理及应用数据库原理及应用3.2 3.2 关系的完整性1实体完整性关系模型采用主属性,主属性的值在一个关系中互相不同,因此主属性就用来表示实体的完整性。2参照完整性关系模型中,参照完整性约束用外码来表示。3用户自定义完整性特殊的约束条件就是用户自定义的完整性约束。2023/3/9数据库原理及应用数据库原理及应用3.3 3.3 关系数据库理论3.3.1关系模式设计中的问题非规范化的关系数据库,会存在数据冗余量大,数据删除、插入异常及数据更新不一致等问题。关系规范化指在关系理论基础上,尽量降低数据冗余、异常操作等问题。2023/3/9数据库原理及应用数据库原
29、理及应用3.3 3.3 关系数据库理论-关系模式问题举例(1)数据冗余大。每个学生的每门课程都需要输入系别和系领导,重复量太大。(2)插入异常。当一个新系在没有招生的时候,因为没有学生,该系信息不能输入。(3)更新异常。如果更换某个系的系领导,则需要每条记录中的系领导都需要修改,容易造成数据不一致。(4)删除异常。假如一个系的学生全部毕业,则删除该系学生,但是在删除学生的同时,该系也被删除,而实际上该系仍然存在,只是没有学生,因此出现不该删除的数据丢失的问题。2023/3/9数据库原理及应用数据库原理及应用3.3 3.3 关系数据库理论3.3.2函数依赖非平凡的函数依赖:在关系模式R(U)中,
30、若XY,但Y X,则称XY是非平凡的函数依赖。平凡的函数依赖:在关系模式R(U)中,若XY,但YX,则称XY是平凡的函数依赖。完全函数依赖:在关系模式R(U)中,如果XY,并且对于X的任何一个真子集X,都有X/Y,则称Y对X完全函数依赖。部分函数依赖:在关系模式R(U)中,若XY,但Y不完全函数依赖于X,则称Y对X部分函数依赖。传递函数依赖:在关系模式R(U)中,如果XY,Y/X,且Y X,YZ,则称Z传递函数依赖于X。2023/3/9数据库原理及应用数据库原理及应用3.3 3.3 关系数据库理论3.3.3范式1第一范式如果关系中所有属性域的值都是原子的(即不可再分的、简单的),则该关系属于第
31、一范式(1NF)。2第二范式如果关系R属于1NF,并且R中的每个非主属性都完全函数依赖于R的候选码,则该关系R属于第二范式(2NF)。、3第三范式如果关系R属于2NF,并且R中的非主属性满足两个条件:相互独立、函数依赖于主键。则关系R属于第三范式,4Boyce-Codd范式(BC范式)如果关系R1NF,若XY且Y不是X的子集,则X必含有候选码,那么RBCNF。2023/3/9数据库原理及应用数据库原理及应用3.3 3.3 关系数据库理论3.3.4关系模式的规范化1规范化规范化是把一组有异常的关系分解为更小的、结构良好的关系的过程,这些关系应该有最小的冗余。2规范化如何应用在数据库中主码属性列在
32、前面,联系集常常以相关实体集名称的拼接来命名,能正确识别所有实体,规范化不是程度越高越好,对一些特定应用,使用冗余可以提高性能。2023/3/9数据库原理及应用数据库原理及应用3.4 3.4 数据库逻辑模型设计3.4.1概念模型向关系模型的转换规则1实体之间1:1的联系,例如2023/3/9数据库原理及应用数据库原理及应用3.4 3.4 数据库逻辑模型设计3.4.1概念模型向关系模型的转换规2实体之间1:n的联系,例如2023/3/9数据库原理及应用数据库原理及应用3.4 3.4 数据库逻辑模型设计3.4.1概念模型向关系模型的转换规3实体之间n:m的联系,例如2023/3/9数据库原理及应用
33、数据库原理及应用3.4 3.4 数据库逻辑模型设计3.4.2采用E-R模型图方法的逻辑设计步骤2023/3/9数据库原理及应用数据库原理及应用3.5 3.5 图书管理系统的逻辑模型设计(1)基本转换。根据关系模式的转换规则,首先将实体和联系转换为关系模式,转换如下:1)图书(书号,书名,简介,作者,价格,数量,类型名称)2)读者(身份号,姓名,联系电话)3)图书类型(类型名称)4)(名称,联系人,联系电话)5)购买(名称,书号,购买时间)6)借阅(身份号,书号,借书时间,还书时间,罚款额)。2023/3/9数据库原理及应用数据库原理及应用3.5 3.5 图书管理系统的逻辑模型设计(1)基本转换
34、。根据关系模式的转换规则,首先将实体和联系转换为关系模式,转换如下:2023/3/9数据库原理及应用数据库原理及应用3.5 3.5 图书管理系统的逻辑模型设计(2)优化3/9/2023数据库原理及应用(MySQL版)3/9/2023第4 4章 MySQLMySQL数据库环境 4.1 MySQL4.1 MySQL简介简介MySQL是一个关系型数据库管理系统,由天才程序员MontyWidenius开发。在1996年发布了MySQL1.0版本,当时还只是面向一小波人使用。2000年6月MySQL的第一个发行版本3.23,由瑞典的MySQLAB公司发行,2008年2月被SUN公司收购,2009年SUN
35、又被Oracle公司收购,MySQL并入Oracle公司。Oracle负责MySQL后,对MySQL提出了企业版和社区版。其中,企业版提供MySQL监控程序和技术支持并收费。4.1 MySQL4.1 MySQL简介简介MySQL之父MontyWidenius离开了Sun之后,发现MySQL现存问题。MySQL核心开发团队是封闭的,完全没有Oracle之外的成员参加。并且MySQL新版本的发布速度,在Oracle收购Sun之后大为减缓。于是MontyWidenius决定另开分支,这个分支的名字叫做MariaDB。目标是提供一个由社区开发的、稳定的、总是免费的MySQL分支,在用户级别上兼容主流版
36、本。MontyProgram公司承诺MariaDB将会一直保持独立和开源。目前MySQL是最受欢迎的开源SQL数据库管理系统,MySQL数据库结构被组织成针对速度优化的物理文件。逻辑模型具有数据库,表,视图,行和列等对象,可提供灵活的编程环境。MySQLServer最初开发用于处理大型数据库的速度比现有解决方案快得多,并且已成功应用于高要求的生产环境中数年。MySQLServer提供了丰富而有用的功能集。它的连接性,速度和安全性使MySQLServer非常适合访问Internet上的数据库。3/9/20234.2 MySQL4.2 MySQL的安装与配置MySQL的安装文件可以在MySQL官网
37、“https:/ MySQL4.2 MySQL的安装与配置MySQL服务提供多种不同的服务版本,有收费版本和免费版本,根据实际用途不同,按需选择所需版本,各个版本之间的区别如下所示。(1)MySQLCommunityServer社区版本,开源免费,但不提供官方技术支持。(2)MySQLEnterpriseEdition企业版本,需付费,可以试用30天。(3)MySQLCluster集群版,开源免费。(4)MySQLClusterCGE高级集群版,需付费。在本章中选择“MySQLCommunityServer”开源免费版本进行安装。在选定MySQL的服务版本后,还需要确定要安装的MySQLVer
38、sion,本章以MySQL5.6为例,介绍MySQL服务的安装过程。在MySQL默认下载页面中,显示的是最新的MySQL服务版本MySQL8.0,若想选择以前的MySQL版本,可以在图4.2所示的“LookingforpreviousGAversions”中选择所需要的版本。3/9/20234.2 MySQL4.2 MySQL的安装与配置图4.2MySQL服务版本选择 4.2 MySQL4.2 MySQL的安装与配置的安装与配置 4.2.1 Windows4.2.1 Windows平台下平台下MySQLMySQL的安装的安装 4.2.2 Linux4.2.2 Linux平台下平台下MySQLM
39、ySQL的安装的安装 3/9/20234.2.1 Windows4.2.1 Windows平台下MySQLMySQL的安装如图4.3所示,根据不同的操作系统平台,MySQL的安装包又被细分为多个版本,本小节以windows平台为例来说明。图4.3MySQL平台版本选择3/9/20234.2.1 Windows4.2.1 Windows平台下MySQLMySQL的安装MySQL的安装包分为解压版本和msi的“WindowsInstaller”的数据包。MySQL的解压缩版本需要进行很多的配置选择,在初次安装使用时,建议选择“WindowsInstaller”的msi版本。本章所示安装过程,即为“
40、WindowsInstaller”的msi版本,如图4.4所示。图4.4windows版MySQL安装包下载3/9/20234.2.1 Windows4.2.1 Windows平台下MySQLMySQL的安装单击【Download】按钮后,进入如图4.5所示的下载页面,在这个页面中,MySQL会邀请下载者登录,或者注册登录。但是,这个过程并非强制性,如果没有帐号,或者不想注册,那么可以选择页面底部的“Nothanks,juststartmydownload”,直接开始下载。图4.5MySQL安装文件下载3/9/20234.2.1 Windows4.2.1 Windows平台下MySQLMySQ
41、L的安装下载完毕后,双击MySQL的安装文件mysql-installer-community-5.6.41.0.msi,会打开如图4.6所示的对话框。当准备工作完毕后,会出现如图4.7所示的“Findingallinstalledpachages”对话框。图4.6mysql-installer-community-5.6.41.0.msi启动页面图4.7安装检测页面3/9/20234.2.1 Windows4.2.1 Windows平台下MySQLMySQL的安装稍等片刻后,就可以进入如图4.8所示的安装界面,该界面要求安装者阅读MySQL的使用许可协议,并在阅读后,勾选“Iacceptth
42、elicenseterms”,此时【Next】按钮可用,单击【Next】按钮,进入如图4.9所示界面。图4.8MySQL安装许可协议图4.9选择安装类型在图4.9所示的“ChoosingaSetupType”界面中,要求安装者选择要安装的MySQL服务的类型,包括“DeveloperDefault”、“Serveronly”、“Clientonly”、“Full”、“Custom”五种。对于不同的安转类型,安装的组件内容不同。其中,选择“Full”,则会安装MySQL的所有的服务组件,选择“Serveronly”则仅仅会安装MySQLServer组件等。在本章中,选择“DeveloperDef
43、ault”的默认安装,该类型下已经包含了本书所需的所有组件,如无特殊要求,直接选择默认安装类型即可。单击【Next】进入环境依赖检测页面,如图4.10所示。根据安装者所使用的操作系统不同,以及目前系统中安装过的环境不同,该界面的检测结果不同。检测出的一些所需环境,MySQL安装包部分会给出直接修复方案。此时,在图4.10界面中,会有【Execute】按钮,单击该按钮即可进行自动安装这些可自动修复环境。4.2.1 Windows4.2.1 Windows平台下MySQLMySQL的安装图4.10安装环境依赖检测3/9/20234.2.1 Windows4.2.1 Windows平台下MySQLM
44、ySQL的安装还有一部分的以来环境需要手动下载及安装,如图4.10所示的界面中,status显示“Manual”结果的,即需要安装者手动解决,安装文件的下载路径,只需要单击具体的“ForProduct”行,在界面中就会出现,解决方案。根据实际安装需求,并不是所有的以来环境都必须安装。有些以来是不影响MySQL服务内容的,可以选择忽略。例如,本书中并不涉及到Excel、Python的相关开发内容,对这些环境就进行忽略。单击【Next】后,会弹出如图4.11所示的提示框。单击【Yes】,进入图4.12所示界面。图4.11环境依赖缺失提示框图4.12MySQL安装界面3/9/20234.2.1 Wi
45、ndows4.2.1 Windows平台下MySQLMySQL的安装在图4.12所示界面中为MySQL各个组件的正式安装界面。MySQL所需组件的安装包需要联网进行下载。单击界面中【Execute】按钮后,MySQL组件安装过程正式开始。当全部组件下载完毕后,进入图4.13所示界面。单击图4.13中的【Next】按钮,进入如图4.14所示产品配置界面。在这个安装过程中,主要为三个组件进行配置,分别是“MySQLServer”、“MySQLRouter”、“SamplesandExamples”。其中,“MySQLServer”是本书所要介绍的核心内容,即MySQL数据库服务功能的相关内容。而M
46、ySQLRouter是为应用程序和MySQL服务之间提供透明路由的轻量级中间件,是InnoDB集群的一部分。通过MySQLRouter来构建高可用架构,可以简化应用程序开发,提高性能和可靠性。ExamplesandSamples是一些数据库案例,在安装好MySQL服务后,可以在数据库服务端,查看到这些数据库实例。图4.13MySQL组件下载成功图4.14组件配置提示框3/9/20234.2.1 Windows4.2.1 Windows平台下MySQLMySQL的安装单击【Next】按钮,进入图4.15所示的MySQLServer类型与网络配置页面,在该页面中,需要配置当前MySQL服务。首先是
47、“ServerConfigurationType”中的“ConfigType”选项,如下所示。(1)DevelopmentComputer,开发机器。该选项代表典型个人用桌面工作站。假定机器上运行着多个桌面应用程序。将MySQL服务器配置成使用最少的系统资源。(2)ServerMachine,服务器。该选项代表服务器,MySQL服务器可以同其它应用程序一起运行,例如FTP、email和web服务器。MySQL服务器配置成使用适当比例的系统资源。(3)DedicatedMySQLServerMachine,专用MySQL服务器。该选项代表只运行MySQL服务的服务器。假定运行没有运行其它应用程序
48、。MySQL服务器配置成使用所有可用系统资源。作为初学者,建议选择“DevelopmentComputer”选项,这样占用系统的资源比较少。本节选择“DevelopmentComputer”。图4.15MySQLserver类型与网络配置3/9/20234.2.1 Windows4.2.1 Windows平台下MySQLMySQL的安装其次,是否启用TCP/IP连接,设定端口,如果不启用,就只能在自己的机器上访问mysql数据库了,本节这里选择启用,把前面的勾打上,服务端口设置为3306。还有一个关于防火墙的设置“Openfirewallportfornetworkaccess”需要选中,将M
49、ySQL服务的监听端口加为windows防火墙例外,避免防火墙阻断。单击【Next】继续。单击【Next】按钮,进入MySQLServer的账户配置页面,如图4.16所示。在该页面中,安装者需要设置MySQL服务器的“root”账户的登录密码。该处密码,请读者设置完毕后记好,因为后期对MySQLServer的配置更改、账户管理、权限管理等操作,都需要使用root来处理。在界面下方的“MySQLUserAccounts”中,可以增加MySQLServer的其他访问账户,安装者可以在这里创建一个新的账户,缩小权限范围,提高安全性,并使用该账户访问MySQLServer。3/9/20234.2.1
50、Windows4.2.1 Windows平台下MySQLMySQL的安装单击【AddUser】按钮,即可打开如图4.17所示的添加账户的对话框。在该对话框中,除了指定“Username”和“Password”,另外两个比较重要的选项是“Host”和“Role”。“Host”是当前增加的这个账户可以从哪里访问这个MySQLServer,是只能在当前MySQLServer安装的机器上,即“localhost”进行访问,还是允许远程访问,在某个ip下进行远程访问,还是所有情况下,都可以连接这个MySQLServer进行访问。其中默认的“”就代表当前增加的账户,可以在任何地址对MySQLServer进