资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,3/26/2025,数据库原理及应用(,MySQL,版),3/26/2025,数据库原理及应用(,MySQL,版),第,1,章 数据库,基本概念,1.1,数据与数据管理技术,1.2,数据库,1.3,数据库管理系统,1.4,数据库系统,1.5,数据库系统的结构,1.6,结构化表查询语句,SQL,1.7,数据库系统设计步骤,1.8,常用数据库管理系统,数据是人类活动的重要资源,目前在计算机的各类应用中,用于数据处理的约占,80%,左右。特别是在当前的信息化时代,数据作为一种资源的重要性日益提高。数据库是存放数据的仓库,数据库系统是研究如何妥善地组织、存储和科学地管理数据的计算机系统。,数据库(,DataBase,,,DB,)一词早在,20,世纪,50,年代就已经提出,经过多年的发展数据库技术已成为计算机科学的一个重要分支。数据库技术是计算机科学技术中发展最快、应用最广泛的领域之一。学校的学生信息管理、企业中的企业信息管理、银行信息管理,及国家的各种信息管理等,无一不用到数据库。数据库技术已是计算机信息系统和应用程序的核心技术和重要基础。,本章主要介绍数据库系统的基本概念、,SQL,语言、数据库系统设计步骤和常用的数据库管理系统。,数据库原理及应用(,MySQL,版),1.1,数据与数据管理技术,1.1.1 数据,数据(Data)是描述事物的符号记录,具体来讲就是人们从实际当中抽取感兴趣的事物特征或属性。数据是信息的符号表示或载体。,由于数据能被书写,因而能够被记录、存储和处理,在计算机中,数据包括数字、文字、图形、图像、音频、视频等等,对数据进行处理可以得到有用的信息。,数据具有一定的格式(语法)和含义(语义)。数据的格式规定了数据的语法结构,如身份证号、电话号码、车牌号等都有相应的编码规则,即语法定义。数据的含义(语义)是对数据的具体解释。如我国二代身份证格式规定为15位,其中第l6位数为行政区划代码,第712位数为出生日期代码(第7、8位为出生年份(两位数),第9、10位为出生月份,第11、12位代表出生日期),第1315位数为分配顺序代码,最末一位数是奇数的分配给男性,偶数分配给女性。按照上述语法,就可以正确解读出任何一个身份证号的具体含义。,数据库原理及应用(,MySQL,版),1.1.2,数据管理技术,数据管理技术是人们对数据进行收集、组织、存储、处理、传播和利用的一系列活动的总和。基于人们对数据处理的需求推动,以及计算机软件、硬件和应用的不断发展,数据管理技术的发展经历了人工管理、文件系统、数据库系统,3,个阶段,。,1,人工管理,阶段,该阶段的主要特点是数据不长期保存在计算机中,应用程序管理数据,数据不独立于应用程序,应用程序间不能共享数据,。,2,文件系统,阶段,该阶段的主要特点是,数据可以长期保存在外存上重复使用,数据独立于程序,由文件系统来管理数据。,3,数据库系统阶段,该阶段的主要特点是数据结构化,数据的独立性高,数据的共享性高、冗余度低、易扩充,数据由,DBMS,统一管理和控制,便于使用。,数据库原理及应用(,MySQL,版),1.2,数据库,数据库(,DataBase,,,DB,)是存储在计算机内的、有组织的、统一管理的相关数据的集合。,就是说数据库是存储数据的仓库,其中的数据是按一定的结构组织存储的,具有较小的冗余度、较高的数据独立性和易扩展性,可为多个用户共享。例如高校的学生学籍信息数据库,学生的成绩等学籍信息都是按一定的结构和联系进行组织、存储,教务管理部门、任课教师和学生等用户都可以进行权限允许的处理、查看等操作。,数据库原理及应用(,MySQL,版),1.3,数据库管理系统,数据库只是用来存放数据,需要通过相应的软件才能对其中的数据进行处理。,数据库管理系统(,DataBase,Management System,,,DBMS,)是对数据库进行管理的软件。数据库管理系统为数据库提供数据的定义、建立、维护、查询、统计等操作功能,并提供数据完整性、安全性、多用户并发使用、备份与恢复等管理功能。,数据库管理系统是位于数据库用户和操作系统之间的一层数据管理软件,为用户提供了访问数据库的各种方法,使用户可以透明地访问数据库,不需要知道数据库的物理组织和存储方式。,采用关系数据模型的数据库管理系统称为关系数据库管理系统(,Relational,DataBase,Management System,,,RDBMS,),由于关系数据模型数据结构简单、清晰、易用,所以关系模型得到了广泛应用,目前常用的数据库管理系统几乎都是关系数据库管理系统,。,数据库原理及应用(,MySQL,版),1.3,数据库管理系统,数据库管理系统主要有数据定义、数据操纵、数据库的运行管理和数据库的建立和维护等功能。,1,数据定义功能,DBMS,中通常提供了多种数据库对象,包括数据表、视图、存储过程等等,用户首先需要定义创建这些对象,然后才能使用。,DBMS,提供数据定义语言(,Data Definition Language,,,DDL,),用户通过,DDL,可以方便地对数据库中的数据对象进行定义。,2,数据操纵功能,DBMS,还提供数据操纵语言(,Data Manipulation Language,,,DML,),用户可以使用,DML,实现对数据库的基本操作,如数据查询、插入、修改和删除等。,3,数据库的运行管理,数据库在建立、使用和维护时由,DBMS,统一管理、统一控制,以保证数据的安全性、完整性、多个用户对数据的并发使用和故障后的数据库恢复等,保证数据库能正确、有效地运行。,4,数据库的建立和维护,数据库的建立和维护包括数据库初始数据的输入、转换功能,数据库的转储、恢复功能,数据库的重组、性能监测和分析等功能。这些功能是由,DBMS,提供的一些实用程序完成的。,数据库原理及应用(,MySQL,版),1.4,数据库系统,数据库系统(,DataBase,System,,,DBS,)是指包含数据库和数据库管理系统的计算机系统。,数据库系统通常由数据库、数据库管理系统、应用系统、数据库管理员及用户构成,如图,1-1,所示。,数据库管理系统,数据库,用户,应用系统,应用系统,数据库,管理员,数据库的建立、使用和维护等需要专门的人员来管理,这些管理人员被称为数据库管理员(,DataBase Administrator,,,DBA,)。,数据库原理及应用(,MySQL,版),1.5,数据库系统的结构,1.5.1,数据库三级模式结构,从,数据库最终用户的角度来看,即从数据库系统外部来看,数据库系统的体系结构可分为集中式结构(又可分为单用户结构和主从式结构)、分布式结构、客户,/,服务器结构和并行结构。,从数据库管理系统角度来看,数据库系统通常采用三级模式结构:外模式、内模式和概念模式,如图,1-2,,这是从数据库系统内部看到的体系结构。,数据库原理及应用(,MySQL,版),1.5.1,数据库三级模式,结构,1,概念模式(逻辑模式、模式),概念模式也称为逻辑模式,常简称为模式。逻辑模式是数据库中整体数据的逻辑结构和特征的描述,包括概念记录类型、记录之间的联系、数据的完整性和安全性约束等数据控制方面的规定等。逻辑模式是所有用户的公共数据视图。例如学籍数据库中有学生学基本信息表、课程表、选课成绩表、各种视图和存储过程等对象,对所有这些对象及其关联的定义就构成了学籍数据库的逻辑模式。,2,内模式(存储模式),内模式也称为存储模式,是数据库内部数据物理存储结构的描述,定义了记录的存储结构、索引组织方式以及数据是否压缩存储和加密等数据控制细节。,数据库原理及应用(,MySQL,版),1.5.1,数据库三级模式,结构,3,外模式(用户模式),外模式是数据库用户能看到和使用的那部分数据的逻辑结构和特征的描述,是用户的数据视图,也是应用程序与数据库系统之间的接口。,用户可以通过数据定义语言和数据操纵语言来定义数据库的结构和对数据库进行操作,只需按所定义的外模式进行操作,无需了解概念模式和内模式的内部细节。,由于外模式通常是模式的子集,即一个用户通常只用到数据库中的部分数据,所以外模式通常也称为子模式或用户模式。对应于不同的用户和应用,一个数据库可以有多个不同的外模式。例如在学籍数据库系统中,教学管理部门可以分析、汇总学生成绩,二每个学生只能查看个人的成绩、学分等学籍有关信息等。,有时也将外模式、概念模式和内模式对应的不同层次的数据库分别称为用户级数据库、概念级数据库和物理级数据库。,数据库原理及应用(,MySQL,版),1.5.2,三级模式之间的映射,在图,1-2,中可以看到在三级模式之间还存在外模式,/,概念模式映射和概念模式,/,内模式两层映射,这是为了实现数据库三个抽象层次的联系与转换。,对一个数据库系统来说,实际上存在的只是物理级数据库,它是数据访问的基础。概念级数据库不过是物理级数据库的一种抽象描述,用户级数据库是用户和数据库的接口。用户根据子模式进行数据操作,通过子模式到概念模式的映射与概念级数据库联系起来,又通过概念级到存储的映射与物理级联系起来,使用户不必关心数据在计算机中的具体表示方式和存储方式。,数据库原理及应用(,MySQL,版),1.5.2,三级模式之间的映射,在图,1-2,中可以看到在三级模式之间还存在外模式,/,概念模式映射和概念模式,/,内模式两层映射,这是为了实现数据库三个抽象层次的联系与转换。,对一个数据库系统来说,实际上存在的只是物理级数据库,它是数据访问的基础。概念级数据库不过是物理级数据库的一种抽象描述,用户级数据库是用户和数据库的接口。用户根据子模式进行数据操作,通过子模式到概念模式的映射与概念级数据库联系起来,又通过概念级到存储的映射与物理级联系起来,使用户不必关心数据在计算机中的具体表示方式和存储方式,。,DBMS,的中心工作之一,就是完成三级模式之间的两层映射,把用户对数据库的操作具体实现到对物理设备的操作,实现数据与应用程序之间的独立性。,数据库原理及应用(,MySQL,版),1.6,结构化查询语言,SQL,存储在数据库中的数据最终是要使用的,对数据库的主要操作就是数据查询。由于数据库规模通常都很大,特别是在信息爆炸的信息时代,要在庞大的数据库中快速准确地找到需要的数据,需要有效地数据查询技术和工具。,SQL,(,Structured Query Language,,结构化查询语言)语言是目前关系数据库系统广泛采用的数据查询语言。,SQL,由,Boyce,和,Chamberlin,于,1974,年提出的,并在,IBM,研制的,System R,关系数据库管理系统上实现。,1987,年成为国际标准,经多次改进,,SQL,也从简单的数据查询语言逐渐成为功能强大、更加规范、应用广泛的数据库语言。,数据库原理及应用(,MySQL,版),1.6,结构化查询语言,SQL,1,SQL,的特点,SQL,语言之所以能够在业界得到广泛使用,是因为其功能完善、语法统一、易学。,SQL,主要有以下特点。,(,1,)功能的一体化:,SQL,集数据定义语言(,Data Definition Language,,,DDL,)、数据操纵语言(,Data Manipulation Language,,,DML,)、数据控制语言(,Data Control Language,,,DCL,)于一体,能够完成关系模式定义、建立数据库、插入数据、查询、更新、维护、数据库重构、数据库安全性控制等一系列操作。,(,2,)统一的语法结构:,SQL,有两种使用方式,一种是自含式(联机使用方式),即,SQL,可以独立地以联机方式交互使用;另一种是嵌入式,即将,SQL,嵌入到某种高级程序设计语言中使用。这两种方式分别适用于普通用户和程序员,虽然使用方式不同,但,SQL,的语法结构是统一的,便于普通用户与程序员交流。,(,3,)高度非过程化:,SQL,是一种非过程化数据操作语言,即用户只需指出“干什么”,而无需说明“怎么干”。如用户只需给出数据查询条件,系统就可以自动查询出符合条件的数据,而用户无需告诉系统存取路径及如何进行查询等。,(,4,)语言简洁:,SQL,语句简洁,语法简单,非常自然化,易学易用,。,数据库原理及应用(,MySQL,版),2,SQL,的,功能,(,1,)数据定义:定义数据库的逻辑结构,包括定义基本表、视图和索引,相关的操作还包括对基本表、视图、索引的修改与删除。,基本表是数据库中独立存在的表,通常简称为表。在,SQL,中一个关系就对应一个基本表,一个或多个基本表对应一个存储文件,一个基本表可以有多个索引,索引也保存在存储文件中。一个数据库中可以有多个基本表。视图则是由一个或多个基本表导出的表。,数据定义功能是通过数据定义语言(,DDL,)实现的。,(,2,)数据操纵:主要包括数据查询和数据更新操作。数据查询是数据库应用中最常用最重要的操作;数据更新则包括对数据库中记录的增加、修改和删除操作。,数据操作功能是通过数据操纵语言(,DML,)实现的。,(,3,)数据控制:主要是对数据的访问权限进行控制,包括对数据库的访问权限设置、事务管理、安全性和完整性控制等。,数据控制功能是通过数据控制语言(,DCL,)实现的。,(,4,)嵌入功能:即,SQL,可以嵌入到其他高级程序设计语言(宿主语言)中使用。,前面讲过,SQL,有自含式和嵌入式两种使用方式,,SQL,的主要功能是数据操作,自含式使用使数据处理功能差,而高级程序设计语言的数据处理功能强,但其数据操作功能弱,为了结合二者的优点,常将,SQL,嵌入到高级程序设计语言中使用,实现混合编程。,为了实现嵌入使用,,SQL,提供了与宿主语言之间的接口。,数据库原理及应用(,MySQL,版),1.7,数据库系统设计步骤,按照规范设计的方法,考虑数据库及其应用系统开发全过程,将数据库系统设计分为以下,6,个阶段:需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施和数据库的运行和维护。如图,1-3,。,在数据库设计过程中,需求分析和概念设计可以独立于任何数据库管理系统进行,逻辑设计和物理设计与选用的,DBMS,密切相关,。,数据库原理及应用(,MySQL,版),1.7,数据库系统设计步骤,收集分析需求,数据模型优化,使用、维护数据库,应用要求,DBMS,特征,转换规则,DBMS,功能,优化方法,设计概念模型,应用需求,设计逻辑结构,设计物理结构,评价设计、性能评测,试运行,物理实现,需求分析阶段,概念结构设计阶段,逻辑结构设计阶段,物理设计阶段,数据库实施阶段,数据库运行维护阶段,数据库原理及应用(,MySQL,版),1.7,数据库系统设计步骤,1,需求分析阶段,设计数据库首先必须要准确了解和分析用户需求,需求分析的任务,是通过详细调查现实世界要处理的对象和原有系统的应用情况,明确用户的各种需求,弄清系统要达到的目标和实现的功能。,需求分析是整个设计过程的基础,也是最困难,最耗时的一步。需求分析是否做得充分与准确,决定了数据库系统的质量与成败。如果需求分析做得差,会严重影响系统性能甚至不得不返工重做。,需求分析常用方法有结构化分析方法(,Structured Analysis,,,SA),、面向对象的分析力法等。,2,概念结构设计阶段,概念结构是独立于任何一种数据模型的信息结构,概念结构设计是通过对用户需求进行综合,归纳与抽象,形成了一个独立于具体,DBMS,的概念模型。,概念结构设计是整个数据库设计的关键,通常采用,E-R,模型进行设计。,数据库原理及应用(,MySQL,版),1.7,数据库系统设计步骤,3,逻辑结构设计阶段,逻辑结构设计是将概念结构转换为某个,DBMS,所支持的数据模型,并对其进行优化。例如要使用,MySQL,,就需要将概念结构设计夹断设计的,E-R,模型转换成,MySQL,所支持的关系模型。,4,物理设计阶段,物理设计的主要任务是为逻辑数据模型选取一个最适合应用环境的物理结构,包括数据,存储结构,、存储位置和存取方法,。,5,数据库实施阶段,数据库实施阶段,系统设计人员通过,DBMS,提供的数据操作语言(如,SQL,)及其宿主语言,根据逻辑设计和物理设计的结果建立数据库、编制和调试应用程序,组织数据入库,并进行试运行。,6,数据库运行和维护阶段,数据库应用系统经过试运行后,即可投入正式运行,在数据库系统运行过程中必须不断地对其进行评价、调整、修改。,数据库原理及应用(,MySQL,版),1.8,常用数据库管理系统,目前常用的数据库管理系统包括,Microsoft Access,、,Microsoft SQL Server,、,Oracle,、,MySQL,、,DB2,、,SQLite,等,这里对它们作简要介绍,。,详见教材。,数据库原理及应用(,MySQL,版),2025/3/26 周三,数据库原理及应用(,MySQL,版),2025/3/26 周三,数据库原理及应用,第,2,章 概念模型设计,2.1,概念模型的基础知识,2.2,概念模型的设计方法与步骤,2.3,图书管理系统的概念模型设计,2025/3/26 周三,数据库原理及应用,2.1,概念模型的基础知识,1.,数据模型,2.,信息的三个世界,3.,概念模型的基本概念,2025/3/26 周三,数据库原理及应用,2.2,概念模型的设计方法与步骤,1.,概念模型的特点,2.,概念模型设计的策略,3.,概念模型的设计,(1)设计局部 E-R 模型:确定局部清晰的实体及其联系。,(2)设计全局的 E-R 模型:将局部的 E-R 图集成为全局的 E-R 图。,(3)优化全局 E-R 模型:对相同的实体合并,消除冗余的属性和联系等。,4设计过程中遇到的问题,2025/3/26 周三,数据库原理及应用,2.3 图书管理系统的概念模型设计,1.,问题描述,某市为了更好地服务当地市民,新建了一所公共图书馆,图书馆藏书数万册,包括小说、生活、专业等多种类型。为了更好地开展服务,现欲开发图书管理系统,方便市民在图书馆看书和借阅。为了保证图书良好流通,防止借书不还等不良行为的发生,图书馆要求借出的图书总价值不能超过 100 元,借阅时间不超过 1 个月,逾期不还者,每本书每天罚款 0.1 元。市民如果需要办理图书证,只需带个人身份证,同时提交 100 元押金,即可到图书馆前台办理。,2025/3/26 周三,数据库原理及应用,2.3 图书管理系统的概念模型设计,2概念模型分析与设计,1),局部,ER,图,1,2025/3/26 周三,数据库原理及应用,2.3 图书管理系统的概念模型设计,2概念模型分析与设计,2),局部,ER,图,2,2025/3/26 周三,数据库原理及应用,2.3 图书管理系统的概念模型设计,2概念模型分析与设计,2),全局,ER,图,2025/3/26 周三,数据库原理及应用,2.3 图书管理系统的概念模型设计,2概念模型分析与设计,3),优化,ER,图,2025/3/26 周三,数据库原理及应用,(,MySQL,版),2025/3/26 周三,数据库原理及应用,第 3 章 逻辑模型设计,3.1 逻辑模型的基础知识,3.2 关系的完整性,3.3 关系数据库理论,3.4 数据库逻辑模型设计,3.5 图书管理系统的逻辑模型设计,2025/3/26 周三,数据库原理及应用,3.1 逻辑模型的基础知识,3.1.1 关系模型概述,关系数据模型起源于数学,它用二维表来组织数据,而这个二维表在关系数据库中称为关系,关系数据库就是表(或者说关系)的集合。,3.1.2 关系数据模型的基本概念,关系、元组、属性、码、主码、超码、候选码、域、关系模式,2025/3/26 周三,数据库原理及应用,3.2 关系的完整性,1实体完整性,关系模型采用主属性,主属性的值在一个关系中互相不同,因此主属性就用来表示实体的完整性。,2参照完整性,关系模型中,参照完整性约束用外码来表示。,3用户自定义完整性,特殊的约束条件就是用户自定义的完整性约束。,2025/3/26 周三,数据库原理及应用,3.3 关系数据库理论,3.3.1 关系模式设计中的问题,非规范化的关系数据库,会存在数据冗余量大,数据删除、插入异常及数据更新不一致等问题。关系规范化指在关系理论基础上,尽量降低数据冗余、异常操作等问题。,2025/3/26 周三,数据库原理及应用,3.3 关系数据库理论,-,关系模式,问题举例,(1)数据冗余大。每个学生的每门课程都需要输入系别和系领导,重复量太大。,(2)插入异常。当一个新系在没有招生的时候,因为没有学生,该系信息不能输入。,(3)更新异常。如果更换某个系的系领导,则需要每条记录中的系领导都需要修改,容易造成数据不一致。,(4)删除异常。假如一个系的学生全部毕业,则删除该系学生,但是在删除学生的同时,该系也被删除,而实际上该系仍然存在,只是没有学生,因此出现不该删除的数据丢失的问题。,2025/3/26 周三,数据库原理及应用,3.3 关系数据库理论,3.3.2 函数依赖,非平凡的函数依赖:在关系模式 R(U)中,若 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。,2025/3/26 周三,数据库原理及应用,3.3 关系数据库理论,3.3.3 范式,1第一范式,如果关系中所有属性域的值都是原子的(即不可再分的、简单的),则该关系属于第一范式(1NF)。,2第二范式,如果关系 R 属于 1NF,并且 R 中的每个非主属性都完全函数依赖于 R 的候选码,则该关系 R 属于第二范式(2NF)。、,3第三范式,如果关系 R 属于 2NF,并且 R 中的非主属性满足两个条件:相互独立、函数依赖于主键。,则关系 R 属于第三范式,,4Boyce-Codd 范式(BC 范式),如果关系 R1NF,若 XY 且 Y 不是 X 的子集,则 X 必含有候选码,那么 RBCNF。,2025/3/26 周三,数据库原理及应用,3.3 关系数据库理论,3.3.4 关系模式的规范化,1规范化,规范化是把一组有异常的关系分解为更小的、结构良好的关系的过程,这些关系应该有最小的冗余。,2规范化如何应用在数据库中,主码属性列在前面,联系集常常以相关实体集名称的拼接来命名,能正确识别所有实体,规范化不是程度越高越好,对一些特定应用,使用冗余可以提高性能。,2025/3/26 周三,数据库原理及应用,3.4 数据库逻辑模型设计,3.4.1 概念模型向关系模型的转换规则,1实体之间 1:1 的联系,例如,2025/3/26 周三,数据库原理及应用,3.4 数据库逻辑模型设计,3.4.1 概念模型向关系模型的转换规,2实体之间 1:n 的联系,例如,2025/3/26 周三,数据库原理及应用,3.4 数据库逻辑模型设计,3.4.1 概念模型向关系模型的转换规,3实体之间 n:m 的联系,例如,2025/3/26 周三,数据库原理及应用,3.4 数据库逻辑模型设计,3.4.2 采用 E-R 模型图方法的逻辑设计步骤,2025/3/26 周三,数据库原理及应用,3.5 图书管理系统的逻辑模型设计,(1)基本转换。根据关系模式的转换规则,首先将实体和联系转换为关系模式,转换如下:,1)图书(书号,书名,简介,作者,价格,数量,类型名称),2)读者(身份号,姓名,联系电话),3)图书类型(类型名称),4)(名称,联系人,联系电话),5)购买(名称,书号,购买时间),6)借阅(身份号,书号,借书时间,还书时间,罚款额)。,2025/3/26 周三,数据库原理及应用,3.5 图书管理系统的逻辑模型设计,(1)基本转换。根据关系模式的转换规则,首先将实体和联系转换为关系模式,转换如下:,2025/3/26 周三,数据库原理及应用,3.5 图书管理系统的逻辑模型设计,(2)优化,3/26/2025,数据库原理及应用(,MySQL,版),3/26/2025,第,4,章,MySQL,数据库环境,4.1 MySQL,简介,MySQL,是一个关系型数据库管理系统,由天才程序员,Monty Widenius,开发。在,1996,年发布了,MySQL1.0,版本,当时还只是面向一小波人使用。,2000,年,6,月,MySQL,的第一个发行版本,3.23,,由瑞典的,MySQL AB,公司发行,,2008,年,2,月被,SUN,公司收购,,2009,年,SUN,又被,Oracle,公司收购,,MySQL,并入,Oracle,公司。,Oracle,负责,MySQL,后,对,MySQL,提出了企业版和社区版。其中,企业版提供,MySQL,监控程序和技术支持并收费。,4.1 MySQL,简介,MySQL,之父,Monty Widenius,离开了,Sun,之后,发现,MySQL,现存问题。,MySQL,核心开发团队是封闭的,完全没有,Oracle,之外的成员参加。并且,MySQL,新版本的发布速度,在,Oracle,收购,Sun,之后大为减缓。,于是,Monty Widenius,决定另开分支,这个分支的名字叫做,MariaDB,。目标是提供一个由社区开发的、稳定的、总是免费的,MySQL,分支,在用户级别上兼容主流版本。,Monty Program,公司承诺,MariaDB,将会一直保持独立和开源。,目前,MySQL,是最受欢迎的开源,SQL,数据库管理系统,,MySQL,数据库结构被组织成针对速度优化的物理文件。逻辑模型具有数据库,表,视图,行和列等对象,可提供灵活的编程环境。,MySQL Server,最初开发用于处理大型数据库的速度比现有解决方案快得多,并且已成功应用于高要求的生产环境中数年。,MySQL Server,提供了丰富而有用的功能集。它的连接性,速度和安全性使,MySQL Server,非常适合访问,Internet,上的数据库。,3/26/2025,4.2 MySQL,的安装与配置,MySQL,的安装文件可以在,MySQL,官网,“MySQL,社区版下载界面,3/26/2025,4.2 MySQL,的安装与配置,MySQL,服务提供多种不同的服务版本,有收费版本和免费版本,根据实际用途不同,按需选择所需版本,各个版本之间的区别如下所示。,(,1,),MySQL Community Server,社区版本,开源免费,但不提供官方技术支持。,(,2,),MySQL Enterprise Edition,企业版本,需付费,可以试用,30,天。,(,3,),MySQL Cluster,集群版,开源免费。,(,4,),MySQL Cluster CGE,高级集群版,需付费。,在本章中选择,“MySQL Community Server”,开源免费版本进行安装。在选定,MySQL,的服务版本后,还需要确定要安装的,MySQL Version,,本章以,MySQL 5.6,为例,介绍,MySQL,服务的安装过程。在,MySQL,默认下载页面中,显示的是最新的,MySQL,服务版本,MySQL 8.0,,若想选择以前的,MySQL,版本,可以在图,4.2,所示的,“Looking for previous GA versions”,中选择所需要的版本。,3/26/2025,4.2 MySQL,的安装与配置,图,4.2 MySQL,服务版本选择,4.2 MySQL,的安装与配置,4.2.1 Windows,平台下,MySQL,的安装,4.2.2 Linux,平台下,MySQL,的安装,3/26/2025,4.2.1 Windows,平台下,MySQL,的安装,如图,4.3,所示,根据不同的操作系统平台,,MySQL,的安装包又被细分为多个版本,本小节以,windows,平台为例来说明。,图,4.3 MySQL,平台版本选择,3/26/2025,4.2.1 Windows,平台下,MySQL,的安装,MySQL,的安装包分为解压版本和,msi,的,“Windows Installer”,的数据包。,MySQL,的解压缩版本需要进行很多的配置选择,在初次安装使用时,建议选择,“Windows Installer”,的,msi,版本。本章所示安装过程,即为,“Windows Installer”,的,msi,版本,如图,4.4,所示。,图,4.4 windows,版,MySQL,安装包下载,3/26/2025,4.2.1 Windows,平台下,MySQL,的安装,单击【,Download,】按钮后,进入如图,4.5,所示的下载页面,在这个页面中,,MySQL,会邀请下载者登录,或者注册登录。但是,这个过程并非强制性,如果没有帐号,或者不想注册,那么可以选择页面底部的,“No thanks,just start my download”,,直接开始下载。,图,4.5 MySQL,安装文件下载,3/26/2025,4.2.1 Windows,平台下,MySQL,的安装,下载完毕后,双击,MySQL,的安装文件,mysql-installer-community-5.6.41.0.msi,,会打开如图,4.6,所示的对话框。当准备工作完毕后,会出现如图,4.7,所示的,“Finding all installed pachages”,对话框。,图,4.6 mysql-installer-community-5.6.41.0.msi,启动页面,图,4.7,安装检测页面,3/26/2025,4.2.1 Windows,平台下,MySQL,的安装,稍等片刻后,就可以进入如图,4.8,所示的安装界面,该界面要求安装者阅读,MySQL,的使用许可协议,并在阅读后,勾选,“I accept the license terms”,,此时【,Next,】按钮可用,单击【,Next,】按钮,进入如图,4.9,所示界面。,图,4.8 MySQL,安装许可协议,图,4.9,选择安装类型,在图,4.9,所示的,“Choosing a Setup Type”,界面中,要求安装者选择要安装的,MySQL,服务的类型,包括,“Developer Default”,、,“Server only”,、,“Client only”,、,“Full”,、,“Custom”,五种。,对于不同的安转类型,安装的组件内容不同。其中,选择,“Full”,,则会安装,MySQL,的所有的服务组件,选择,“Server only”,则仅仅会安装,MySQL Server,组件等。在本章中,选择,“Developer Default”,的默认安装,该类型下已经包含了本书所需的所有组件,如无特殊要求,直接选择默认安装类型即可。单击【,Next,】进入环境依赖检测页面,如图,4.10,所示。,根据安装者所使用的操作系统不同,以及目前系统中安装过的环境不同,该界面的检测结果不同。检测出的一些所需环境,,MySQL,安装包部分会给出直接修复方案。此时,在图,4.10,界面中,会有【,Execute,】按钮,单击该按钮即可进行自动安装这些可自动修复环境。,4.2.1 Windows,平台下,MySQL,的安装,图,4.10,安装环境依赖检测,3/26/2025,4.2.1 Windows,平台下,MySQL,的安装,还有一部分的以来环境需要手动下载及安装,如图,4.10,所示的界面中,,status,显示,“Manual”,结果的,即需要安装者手动解决,安装文件的下载路径,只需要单击具体的,“For Product”,行,在界面中就会出现,解决方案。根据实际安装需求,并不是所有的以来环境都必须安装。有些以来是不影响,MySQL,服务内容的,可以选择忽略。例如,本书中并不涉及到,Excel,、,Python,的相关开发内容,对这些环境就进行忽略。单击【,Next,】后,会弹出如图,4.11,所示的提示框。单击【,Yes,】,进入图,4.12,所示界面。,图,4.11,环境依赖缺失提示框,图,4.12 MySQL,安装界面,3/26/2025,4.2.1 Windows,平台下,MySQL,的安装,在图,4.12,所示界面中为,MySQL,各个组件的正式安装界面。,MySQL,所需组件的安装包需要联网进行下载。单击界面中【,Execute,】按钮后,,MySQL,组件安装过程正式开始。当全部组件下载完毕后,进入图,4.13,所示界面。,单击图,4.13,中的【,Next,】按钮,进入如图,4.14,所示产品配置界面。在这个安装过程中,主要为三个组件进行配置,分别是,“MySQL Server”,、,“MySQL Router”,、,“Samples and Examples”,。,其中,,“MySQL Server”,是本书所要介绍的核心内容,即,MySQL,数据库服务功能的相关内容。而,MySQL Router,是为应用程序和,MySQL,服务之间提供透明路由的轻量级中间件,是,InnoDB,集群的一部分。通过,MySQL Router,来构建高可用架构,可以简化应用程序开发,提高性能和可靠性。,Examples and Samples,是一些数据库案例,在安装好,MySQL,服务后,可以在数据库服务端,查看到这些数据库实例。,图,4.13 MySQL,组件下载成功,图,4.14,组件配置提示框,3/26/2025,4.2.1 Windows,平台下,MySQL,的安装,单击【,Next,】按钮,进入图,4.15,所示的,MySQL Server,类型与网络配置页面,在该页面中,需要配置当前,MySQL,服务。首先是,“Server Configuration Type”,中的,“Config Type”,选项,如下所示。,(,1,),Development Computer,,开发机器。该选项代表典型个人用桌面工作站。假定机器上运行着多个桌面应用程序。将,MySQL,服务器配置成使用最少的系统资源。,(,2,),Server Machine,,服务器。该选项代表服务器,,MySQL,服务器可以同其它应用程序一起运行,例如,FTP,、,email,和,web,服务器。,MySQL,服务器配置成使用适当比例的系统资源。,(,3,),Dedicated MySQL Server Machine,,专用,MySQL,服务器。该选项代表只运行,MySQL,服务的服务器。假定运行没有运行其它应用程序。,MySQL,服务器配置成使用所有可用系统资源。,作为初学者,建议选择,“Development Computer”,选项,这样占用系统的资源比较少。本节选择,“Development Computer”,。,图,4.15 MySQL server,类型与网络配置,3/26/2025,4.2.1 Windows,平台下,MySQL,的安装,其次,是否启用,TCP/IP,连接,设定端口,如果不启用,就只能在自己的机器上访问,mysql,数据库了,本节这里选择启用,把前面的勾打上,服务端口设置为,3306,。还有一个关于防火墙的设置,“Open firewall port for network access”,需要选中,将,MySQL,服务的监听端口加为,windows,防火墙例外,避免防火墙阻断。单击【,Next,】继续。,单击【,Next,】按钮,进入,MySQL Server,的账户配置页面,如图,4.16,所示。在该页面中,安装者需要设置,MySQL,服务器的,“r
展开阅读全文