《MySQL数据库原理与应用》高职全套教学课件_第1页
《MySQL数据库原理与应用》高职全套教学课件_第2页
《MySQL数据库原理与应用》高职全套教学课件_第3页
《MySQL数据库原理与应用》高职全套教学课件_第4页
《MySQL数据库原理与应用》高职全套教学课件_第5页
已阅读5页,还剩746页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1数据库基础模

块MySQL数据库原理与应用模块1数据库基础.pptx模块2MySQL数据库管理系统.pptx模块3MySQL编程基础.pptx模块4MySQL数据库操作.pptx模块5MySQL数据表操作.pptx模块6MySQL数据查询.pptx模块7MySQL的索引与视图.pptx模块8MySQL程序设计.pptx模块9MySQL的事务.pptx模块10MySQL安全管理.pptx模块11数据库设计.pptx全套可编辑PPT课件模块1数据库基础学习目标了解数据库的相关概念,掌握数据库的组成及其体系结构。1理解数据模型的概念,掌握数据模型的组成要素及其应用层次。2理解关系数据模型,了解关系型数据库的概念和特点,了解关系型数据库管理系统的概念及构成。3—2—模块1数据库基础重点和难点数据库的相关概念、数据库的体系结构。1数据模型的概念、组成要素和应用层次。2关系数据模型、关系型数据库、关系型数据库管理系统。3重

点难

点数据库的体系结构、数据模型的应用层次、关系型数据库管理系统的构成。1—3—1.1数据库概述1.1数据库概述1.1.1数据库的相关概念数据库技术是一种综合性的软件技术。随着计算机应用的不断发展,数据处理变得越来越重要,数据库技术的应用范围也越来越广泛。为了学好数据库的知识,本节先来介绍一些数据库的相关概念。—5—1.信息信息(information)是现实世界事物的存在方式或运动状态在人们头脑中的反映,是对客观世界的认识。它具有可感知、可存储、可加工、可传递和可再生等自然特性。2.数据数据(data)是用来记录信息的符号,是信息的具体表现形式。3.数据库数据库(database,DB)是长期存放在计算机内、有组织的、可共享的数据集合。1.1数据库概述1.1.1数据库的相关概念4.数据库系统数据库系统(databasesystem,DBS)是指在计算机系统中引入数据库后的系统,一般由支持数据库运行的硬件及操作系统、数据库、数据库管理系统、应用系统、数据库管理员和用户等构成。数据库系统的结构如图所示。—6—1.1数据库概述1.1.1数据库的相关概念5.数据库管理系统数据库管理系统(databasemanagementsystem,DBMS)是位于用户与操作系统之间的一套数据管理软件,它属于系统软件,为用户或应用程序提供访问数据库的方法,包括数据库的建立、查询、更新及各种数据控制和操作等。数据库管理系统的结构如图所示。—7—1.1数据库概述1.1.1数据库的相关概念—8—6.数据库应用系统数据库应用系统(databaseapplicationsystem,DBAS)是一种实现业务逻辑的应用程序,通常被称为应用系统。它提供了一个人性化的图形用户界面(graphicaluserinterface,GUI),允许用户通过图形化的方式访问和操作数据库中的数据。该系统使用数据库语言或相应的数据访问接口来访问和操作数据库中的数据。1.1数据库概述1.1.2数据库系统的组成—9—1.硬件硬件是指系统所有的物理设备。硬件的具体要求如下:(1)要有足够大的内存,能存放操作系统和DBMS的核心模块、数据库缓冲区和应用程序。(2)有足够大的硬盘直接存取设备存放数据库,有足够的存储空间作为数据备份介质。(3)要求连接系统的网络有较高的数据传输速度。(4)要有处理能力较强的中央处理器(CPU),以保证数据处理的速度。2.软件软件是指系统内所有程序的集合。数据库系统的软件主要包括操作系统(如Linux、Windows等)、数据库管理系统(如甲骨文公司的Oracle或MySQL、IBM公司的DB2、微软公司的SQLServer或Access等)、数据库系统开发工具(如甲骨文公司的OracleSQLDeveloper、IBM公司的IBMDataStudio、微软公司的MicrosoftSQLServerManagementStudio等)。1.1数据库概述1.1.2数据库系统的组成—10—3.人员人员是指数据库系统的所有用户。一般把数据库系统中的用户分为4类:(1)数据库管理员(2)系统分析员和数据库设计人员(3)应用程序开发人员(4)以及终端用户4.数据数据是指存储在数据库中的事实集合,它是一个数据库系统的“质量”基础。数据库系统中的数据种类包括永久性数据(persistentdata)、索引数据(indexes)、数据字典(datadictionary)和事务日志(transactionlog)等。1.1数据库概述1.1.3数据库系统的体系结构集中式结构1C/S结构2B/S结构3分布式结构4集中式结构是指数据库系统运行在一台计算机上,不与其他计算机系统交互。C/S结构可将数据库功能分为前台客户端系统和后台服务器系统。分布式数据库系统是计算机网络发展的必然产物,它由多台计算机组成,每台计算机都配有各自的本地数据库,大部分处理任务由本地计算机完成,可以通过网络同时存取和处理多个异地数据库中的数据。B/S结构将客户端上的应用层从客户机中分离出来,将系统功能实现的核心部分集中到Web服务器上,简化了客户端系统的开发和维护,用户只需要安装一个浏览器即可访问数据库。—11—1.2数据模型概述1.2数据模型概述1.2.1数据模型的概念数据模型是对现实世界的一种抽象和描述,它可以用来模拟现实世界中的事物、概念和关系,并在计算机中进行存储、管理和查询。良好的数据模型应该具备以下三个特点。能够比较真实地描述现实世界。数据模型应该能够反映现实世界的本质特征和规律。易于被用户所理解。数据模型应该具有清晰、简洁、易于理解的表达方式,能够帮助用户快速理解数据结构和关系。易于在计算机上实现。数据模型应该能够被计算机程序所理解和处理,能够方便地进行存储、管理和查询。—13—1.2数据模型概述1.2.2数据模型的组成要素数据结构1数据操作2数据结构用来描述数据库的组成对象及对象之间的联系,是系统的静态特性的描述。数据结构所研究的是数据本身的类型、内容和性质,以及数据之间的关系。用于对数据系统的动态特征进行描述,是对数据库中的对象实例允许执行的操作集合,包括对对象实例的检索、更新和插入、删除、修改等操作。数据模型必须定义这些操作的确切含义、操作符号、操作规则(如优先级)以及实现操作的语言。—14—3数据完整性约束数据完整性约束是一组完整性规则的集合,用以规定数据库状态及状态变化所应满足的条件,以保证数据的正确性、有效性和相容性。1.2数据模型概述1.2.3数据模型的应用层次概念数据模型1概念数据模型的定义概念数据模型(conceptualdatamodel)是对现实世界中的数据结构和关系进行抽象和描述的一种高层次的数据模型。它通常是基于业务需求和用户需求进行设计和建立的,用于描述业务实体和它们之间的关系。概念数据模型通常并不涉及具体的实现细节,只描述数据的结构和关系。—15—1.2数据模型概述1.2.3数据模型的应用层次概念数据模型1概念数据模型的相关概念(1)实体(entity)是数据模型中的基本概念之一,它代表着一个具体的对象或概念,可以是人、事物、概念等。实体通常具有唯一的标识符,如学号、身份证号、产品编号等。(2)属性(attribute)是实体的特征,用于描述实体的不同方面。属性可以是任何类型的数据,如数字、字符串、日期等。(3)实体型(entitytype)是一种数据类型,用于表示一个具体的实体。实体型可以包含一个或多个属性,用于描述实体的不同特征。(4)实体值(entityvalue)是实体型中的一个属性,用于表示实体的具体值。例如,一个学生实体型可以包含如姓名、年龄、性别、学号等属性,其中学号就是一个实体值。—16—1.2数据模型概述1.2.3数据模型的应用层次概念数据模型1概念数据模型的相关概念(5)实体集(entityset)是指一组具有相同属性的实体。例如,在一个学生管理系统中,所有的学生就属于一个实体集。(6)键(key)是用于唯一标识实体的属性或属性组合。(7)域(domain)是指属性的取值范围。例如,学号的域可以设置为6位整数,姓名的域可以设为字符串集合,性别的域可以设为(男,女)等。(8)关系(relationship)是指实体之间的联系,即实体之间如何交互。例如,一个客户实体通常会与多个订单实体相关联,客户与订单间的关系是“下单”。—17—1.2数据模型概述1.2.3数据模型的应用层次概念数据模型1概念模型的表示方法(E-R图)概念模型的表示方法很多,其中最常用的是实体-联系模型(entity-relationshipmodel),简称E-R模型。在E-R概念模型中,信息由实体型、实体属性和实体间的联系三种概念单元来表示。(1)实体型表示建立概念模型的对象,用矩形框表示,在框内写上实体名,如学生、课程等。(2)实体属性是实体的说明,用椭圆框表示,并用无向边把实体与其属性连接起来。例如,学生实体有学号、姓名、性别、出生日期、手机号等属性。—18—1.2数据模型概述1.2.3数据模型的应用层次概念数据模型1概念模型的表示方法(E-R图)(3)实体间的联系是指两个或两个以上实体类型之间有名称的关联。实体间的联系用菱形框表示,菱形框内要有联系名,并用无向边把菱形框分别与有关实体相连接,在无向边的旁边标上联系的类型。例如,可以用E-R图表示某学校学生选课情况的概念模型,如图所示。一个学生可以选修多门课程,一门课程也可以被多个学生选修,因此,学生和课程之间具有多对多的联系。—19—1.2数据模型概述1.2.3数据模型的应用层次逻辑数据模型2逻辑数据模型的定义逻辑数据模型(logicaldatamodel)是对概念数据模型进行进一步抽象和细化的一种数据模型。它主要描述了数据在计算机内部的存储和组织方式,包括实体、属性、关系等的具体实现方式。逻辑数据模型通常是一个中间层次的数据模型,它负责将概念数据模型转化为计算机可理解的数据结构和关系。—20—1.2数据模型概述1.2.3数据模型的应用层次逻辑数据模型2逻辑数据模型的分类(1)层次模型(hierarchicalmodel)是一种树形结构的数据模型,它由多个实体和它们之间的关系组成,每个实体可以有多个属性。(2)网状模型(networkmodel)是一种网状结构的数据模型,它由多个实体和它们之间的关系组成,每个实体可以有多个属性。(3)关系模型(relationalmodel)是一种二维表格结构的数据模型,它由多个实体和它们之间的关系组成,每个实体对应一张表格。(4)面向对象模型(object-orientedmodel)是一种基于对象的数据模型,它将现实世界中的事物和概念抽象成对象,每个对象都具有属性和方法。(5)对象关系模型(object-relationalmodel)是一种将关系型数据库中的数据映射到面向对象编程语言中的对象上的技术。—21—1.2数据模型概述1.2.3数据模型的应用层次物理数据模型3物理数据模型是对逻辑数据模型进行最终实现的一种数据模型。它描述了数据在实际存储和组织中的具体实现方式,包括数据在磁盘、数据库等存储介质中的存储方式、索引方式、备份和恢复方式等。物理数据模型通常是一个低层次的数据模型,它将逻辑数据模型转化为具体的存储结构和实现方式。—22—1.3关系型数据库理论1.3关系型数据库理论1.3.1关系数据模型的相关概念1.关系的类型实体间的联系是错综复杂的,在常见的数据库环境中,实体之间有三种类型的关系:一对一、一对多和多对多,如图所示。—24—1.3关系型数据库理论1.3.1关系数据模型的相关概念—25—1.关系的类型(1)一对一关系对于实体集A中的每一个实体,实体集B中至多有一个实体与之联系,反之亦然,则称实体集A与实体集B具有一对一关系,记为1∶1。(2)一对多关系对于实体集A中的每一个实体,实体集B中有M个实体(M≥2)与之联系;反过来,对于实体集B中的每一个实体,实体集A中至多有一个实体与之联系,则称实体集A与实体集B具有一对多关系,记为1∶M。(3)多对多关系对于实体集A中的每一个实体,实体集B中有N个实体(N≥0)与之联系;反过来,对于实体集B中的每一个实体,实体集A中有M个实体(M≥0)与之联系,则称实体集A与实体集B具有多对多关系,记为M∶N。1.3关系型数据库理论1.3.1关系数据模型的相关概念—26—2.关系运算(1)集合运算传统的集合运算包括4种运算:并(∪)、交(∩)、差(-)和广义笛卡儿积(×)。要求:进行并、交、差集合运算的两个关系必须具有相同的关系模式,即结构相同。并(union)。如果R和S都是关系,那么由所有属于R或属于S的元组(记录)组成的新关系称为R和S的并,记作R∪S:R∪S={t|t∈R∨t∈S}关系运算即从一个关系中找出所需要的数据。R∪S的属性与关系R或关系S相同,其值由所有属于R或S的元组组成。图中的深色部分表示了R∪S的运算结果。1.3关系型数据库理论1.3.1关系数据模型的相关概念—27—2.关系运算(1)集合运算传统的集合运算包括4种运算:并(∪)、交(∩)、差(-)和广义笛卡儿积(×)。要求:进行并、交、差集合运算的两个关系必须具有相同的关系模式,即结构相同。交(intersection)。如果R和S都是关系,那么由同属于R和S的元组(记录)组成的新关系称为R和S的交,记为R∩S:R∩S={t|t∈R∧t∈S}关系运算即从一个关系中找出所需要的数据。R∩S的属性与关系R或关系S相同,其值由既属于R又属于S的元组组成。图中的深色部分表示了R∩S的运算结果。1.3关系型数据库理论1.3.1关系数据模型的相关概念—28—2.关系运算(1)集合运算传统的集合运算包括4种运算:并(∪)、交(∩)、差(-)和广义笛卡儿积(×)。要求:进行并、交、差集合运算的两个关系必须具有相同的关系模式,即结构相同。差(difference)。如果R和S都是关系,那么由所有属于R而不属于S的元组(记录)组成的新关系称为R和S的差,记为R-S:R-S={t|t∈R∧t∈S}关系运算即从一个关系中找出所需要的数据。R-S的属性与关系R或关系S相同,其值由属于R而不属于S的所有元组组成。图中的深色部分表示了R-S的运算结果。/1.3关系型数据库理论1.3.1关系数据模型的相关概念—29—2.关系运算(1)集合运算传统的集合运算包括4种运算:并(∪)、交(∩)、差(-)和广义笛卡儿积(×)。要求:进行并、交、差集合运算的两个关系必须具有相同的关系模式,即结构相同。广义笛卡儿积(extendedcartesianproduct)。两个分别有n个属性和m个属性的关系R和S的广义笛卡儿积是一个有n+m个属性的元组的集合。该元组的前n个属性是关系R的一个元组,后m个属性是关系S的一个元组。若R有k1个元组,S有k2个元组,则关系R和S的广义笛卡儿积有k1×k2个元组,记作R×S:R×S={(tR,tS)|tR∈R∧tS∈S}关系运算即从一个关系中找出所需要的数据。1.3关系型数据库理论1.3.1关系数据模型的相关概念—30—2.关系运算(1)集合运算广义笛卡儿积(extendedcartesianproduct)。例如,若R和S两个关系如图1-1和图1-2所示,则R×S的值如图1-3所示。关系运算即从一个关系中找出所需要的数据。图1-1图1-2图1-31.3关系型数据库理论1.3.1关系数据模型的相关概念—31—2.关系运算(2)选择运算选择(selection)是指从关系R中选择满足指定条件的元组,它是一种对表的横向操作。选择运算所形成的新关系的关系模式不变,即不影响原关系的结构,但其元组的数目小于或等于原关系中的元组的数目,因此新关系是原有关系的一个子集。选择又被称为限制(restriction),其运算操作符为σ,并用c代表逻辑表达式,表示选择条件,由逻辑运算符连接的关系表达式或其他逻辑表达式组成,取值为“真”或“假”。通常把选择运算记作:σc(R)={t|t∈R∧c(t)='真'}用于逻辑表达式中的比较运算符有>(大于)、>=(大于或等于)、=(等于)、<(小于)、<=(小于或等于)、<>(不等于),逻辑运算符有∧(与)、∨(或)和¬(非)。关系运算即从一个关系中找出所需要的数据。1.3关系型数据库理论1.3.1关系数据模型的相关概念—32—2.关系运算(3)投影运算投影(projection)是从关系R中选择出若干属性(字段)组成新关系的一种运算,是一种竖向的操作。投影运算是一种针对表内容的列运算。由于在投影后生成的新表中,可能会出现因属性被取消了若干个而导致剩下来的元组数据完全相同的情况,因此,投影运算后必须将这些重复元组取消。关系R上的投影是从R中选择出若干属性列组成新的关系,记作:∏A(R)={t[A]|t∈R}其中,A为R中的属性列。关系运算即从一个关系中找出所需要的数据。1.3关系型数据库理论1.3.1关系数据模型的相关概念—33—2.关系运算(4)连接运算连接(join)是从两个关系的笛卡儿积中选取满足连接条件的元组,组成新的关系。θ连接。θ连接是从关系R和关系S的笛卡儿积中选取属性值满足某一θ关系的元组,记作:R

S={tRtS|tR∈R∧tS∈S∧tR[A]θtS[B]}其中,A和B分别为R和S上度数相等且可比的属性组,θ是比较运算符。连接运算从R和S的广义笛卡儿积R×S中选取关系R在A属性组上的值与关系S在B属性组上的值满足比较关系θ的元组。关系运算即从一个关系中找出所需要的数据。(AθB1.3关系型数据库理论1.3.1关系数据模型的相关概念—34—2.关系运算(4)连接运算连接(join)是从两个关系的笛卡儿积中选取满足连接条件的元组,组成新的关系。θ连接。连接运算可以实现两个关系的横向合并,通过公共属性名连接成一个新的关系,在新的关系中可以反映出原来关系之间的关系。连接运算中有两种最为重要也最为常用的连接,一种是等值连接(equal-join),另一种是自然连接(natural-join)。当θ为“=”时的连接运算称为等值连接。它是从关系R与S的广义笛卡儿积中选取A、B属性值相等的那些元组。等值连接可记为:R

S={tRtS|tR∈R∧tS∈S∧tR[A]=tS[B]}关系运算即从一个关系中找出所需要的数据。(

A=B(1.3关系型数据库理论1.3.1关系数据模型的相关概念—35—2.关系运算(4)连接运算连接(join)是从两个关系的笛卡儿积中选取满足连接条件的元组,组成新的关系。自然连接。自然连接是一种特殊连接。在连接运算中,以字段值对应相等条件进行的连接操作称为等值连接。自然连接是去掉重复属性的等值连接,即它是对行和列同时进行运算。若关系R和关系S具有相同的属性组B,则关系R和S的自然连接可用下式表示:R

S={tRtS|tR∈R∧tS∈S∧tR[B]=tS[B]}关系运算即从一个关系中找出所需要的数据。(1.3关系型数据库理论1.3.1关系数据模型的相关概念—36—2.关系运算(4)连接运算连接(join)是从两个关系的笛卡儿积中选取满足连接条件的元组,组成新的关系。自然连接。具体计算过程如下:①计算R×S。②设R和S的公共属性是A1,A2,…,Ak,挑选满足R.A1=S.A1,R.A2=S.A2,…,R.Ak=S.Ak的那些元组。③去掉S.A1,S.A2,…,S.Ak的这些列。如果两个关系中没有公共属性,那么其自然连接就转化为笛卡儿积操作。关系运算即从一个关系中找出所需要的数据。1.3关系型数据库理论1.3.1关系数据模型的相关概念—37—3.关系模型的键在关系模型中,键是用于唯一标识关系中的实体的属性或属性组合。关系模型中的键可以是单个属性,也可以是多个属性的组合。单个属性键是指一个属性作为关系中实体的唯一标识符。多个属性键是指多个属性作为关系中实体的唯一标识符。关系模型中的键主要有以下几种。1.2数据模型概述1.2.3数据模型的应用层次超键1—38—在关系中,能够唯一标识元组的属性集被称为关系模式的超键(superkey)。一个属性可以作为一个超键,多个属性组合在一起也可以作为一个超键。超键包括候选键和主键。候选键。超键中最小的属性集,也就是没有冗余元素的超键,称为候选键(candidatekey)。候选键通常是没有主键的属性集,但也可以有多个候选键同时存在,这时需要从中选择一个作为主键。候选键必须满足以下两个条件。唯一性:候选键必须唯一标识关系中的每个实体。非空性:候选键不能为空值。1.2数据模型概述1.2.3数据模型的应用层次超键1—39—在关系中,能够唯一标识元组的属性集被称为关系模式的超键(superkey)。一个属性可以作为一个超键,多个属性组合在一起也可以作为一个超键。超键包括候选键和主键。主键。在关系模式中,用户正在使用的候选键被称为主键(primarykey)。主键用于在数据表中唯一和完整地标识数据对象,一个数据列只能有一个主键,且主键的取值不能缺失(即不能为空值)。主键是从候选键中选择的。主键可以结合外键来定义不同数据表之间的关系,并且可以加快数据查询的速度。主键分为两种类型:单字段主键和多字段联合主键。1.2数据模型概述1.2.3数据模型的应用层次外键2—40—外键(foreignkey)用来在两个表之间建立连接,外键可以是一列,也可以是多列。一个表可以有一个或者多个外键。外键对应的是参照完整性,一个表的外键可以为空,若不为空值,则该外键的值必须是另一个表中主键的值。外键的作用是保持数据的一致性和完整性,定义外键后,即不允许删除在另一个表中具有关联关系的行。对于两个具有关联关系的表而言,相关联字段中主键所在的表为主表,外键所在的表为从表。在关系模型中,键的选择是非常重要的,因为它决定了关系中实体的唯一性和完整性。如果键选择不当,可能会导致数据冗余、数据不一致等问题。1.3关系型数据库理论1.3.1关系数据模型的相关概念—41—4.关系模型的完整性约束(1)实体完整性实体完整性(entityintegrity)是指关系模式中每个实体都必须有一个唯一标识符,并且每个标识符只能对应一个实体。这意味着每个实体都必须有一个唯一的主键,并且不能有重复的主键值。实体完整性可以通过定义主键、唯一约束、非空约束等方式来实现。(2)参照完整性参照完整性(referentialintegrity)是指关系模式中的每个实体都必须有一个唯一的参照实体,并且每个实体只能有一个参照实体。这意味着每个实体都必须有一个唯一的外键,并且不能有重复的外键值。参照完整性可以通过定义外键、唯一约束、非空约束等方式来实现。在关系模型中,有三类完整性约束,即实体完整性、参照完整性和用户自定义完整性。1.3关系型数据库理论1.3.1关系数据模型的相关概念—42—4.关系模型的完整性约束(3)用户自定义完整性用户自定义完整性(user-definedintegrity)是指在关系型数据库中,用户可以通过定义约束条件来限制数据的插入、更新和删除操作。用户自定义完整性可以提高数据的一致性和完整性,避免数据的错误和不一致。在关系型数据库中,用户自定义完整性通常通过创建触发器(trigger)来实现。触发器是一种特殊的存储过程,当满足特定条件时,自动执行预定义的操作,后续章节会对触发器进行详细讲解。在关系模型中,有三类完整性约束,即实体完整性、参照完整性和用户自定义完整性。1.3关系型数据库理论1.3.2关系型数据库概述—43—1.关系型数据库的概念关系型数据库是一种基于关系模型理论的数据库管理系统。它以表格的形式组织数据,每个表格由多个行和列组成,每行表示一个记录,每列表示一个属性。关系型数据库使用SQL(structuredquerylanguage)作为查询语言,可以对数据进行增、删、改、查等操作。根据数据模型的不同,数据库可以分为关系型数据库(relationaldatabase)和非关系型数据库(non-relationaldatabase)。1.3关系型数据库理论1.3.2关系型数据库概述—44—2.关系型数据库的特点(1)关系型数据库的优点在关系模型中,有三类完整性约束,即实体完整性、参照完整性和用户自定义完整性。数据结构清晰能够保证数据一致性能够保证数据安全性可实现数据共享支持数据备份和恢复1.3关系型数据库理论1.3.2关系型数据库概述—45—2.关系型数据库的特点(1)关系型数据库的缺点在关系模型中,有三类完整性约束,即实体完整性、参照完整性和用户自定义完整性。不适合非结构化数据不适合大规模数据不适合复杂查询1.3关系型数据库理论1.3.3关系型数据库管理系统概述—46—1.关系型数据库管理系统的概念数据库管理系统(DBMS)是数据库系统中对数据进行管理的软件系统,它是数据库系统的核心组成部分。对数据库的一切操作,包括定义、查询、更新及各种控制,都是通过数据库管理系统进行的。数据库管理系统总是基于某种数据模型,因此,可以把数据库管理系统看成是某种数据模型在计算机系统上的具体实现。基于关系数据模型的数据库管理系统即为关系型数据库管理系统(relationaldatabasemanagementsystem,RDBMS)。1.3关系型数据库理论1.3.3关系型数据库管理系统概述—47—2.关系型数据库管理系统的构成关系型数据库管理系统的体系结构如图所示。1.3关系型数据库理论1.3.3关系型数据库管理系统概述—48—3.常见的关系型数据库管理系统(1)OracleOracle数据库被认为是业界目前比较成功的一种关系型数据库管理系统。甲骨文公司是世界第二大软件供应商,是数据库软件领域第一大厂商(大型机市场除外),其数据库产品被认为是运行稳定、功能齐全、性能超群的高端产品。(2)SQLServerSQLServer是微软公司开发的一种大型关系型数据库管理系统。SQLServer的功能比较全面,效率高,可以作为大中型企业或单位的数据库平台。常见的关系型数据库管理系统包括Oracle、SQLServer、Access、MySQL等。1.3关系型数据库理论1.3.3关系型数据库管理系统概述—49—3.常见的关系型数据库管理系统(3)AccessAccess

是微软Office办公套件中的一个重要成员。Access最大的特点是界面友好,简单易用,和其他Office成员一样,极易被一般用户所接受。(4)MySQLMySQL是由瑞典MySQLAB公司开发的开源关系型数据库产品,目前为甲骨文公司所有。MySQL是目前最流行的关系型数据库管理系统之一,特别是在Web应用方面,MySQL是一种很好的关系型数据库管理系统。常见的关系型数据库管理系统包括Oracle、SQLServer、Access、MySQL等。感谢看观2MySQL数据库管理系统模

块MySQL数据库原理与应用模块2MySQL数据库管理系统学习目标认识MySQL,了解MySQL的版本及其优势。1掌握MySQL的下载、安装、配置、卸载方法。2熟悉MySQL的命令行工具及常用的图形化管理工具。3—2—模块2MySQL数据库管理系统重点和难点MySQL的版本及其优势。1MySQL的安装、产品配置及配置Path环境变量的方法。2使用MySQL命令行工具连接数据库的方法、常用的图形化管理工具。3重

点难

点MySQL的安装、产品配置及配置Path环境变量的方法。1—3—2.1MySQL概述2.1MySQL概述1.MySQL简介—5—MySQL是一款小型的数据库管理系统,最初由瑞典的MySQLAB公司开发,现在属于甲骨文公司旗下的产品。与其他的大型数据库管理系统(如Oracle、DB2、SQLServer等)相比,MySQL虽然规模小、功能有限,但也具有体积小、运行速度快、执行效率高、成本低廉、稳定性好、操作简单的特点,而且它提供的功能对一般人群来说已经够用。这些优势使MySQL成为目前世界上非常流行的一种数据库管理系统。2.1MySQL概述2.MySQL的版本商业版本1开源版本2MySQL提供了MySQLHeatWave、MySQLEnterpriseEdition、MySQLStandardEdition、MySQLClassicEdition、MySQLClusterCGE、MySQLWorkbenchEnterpriseEdition等诸多版本。商业版本的MySQL需要用户付费使用,功能强大,且能够获得企业的技术支持。除了商业版本,MySQL还提供开源、免费的版本供用户使用,开源的版本有MySQLCommunityServer、MySQLWorkbenchCommunity、MySQLNDBCluster等。—6—3.MySQL的优势—7—社区版的MySQL服务器主要具有以下优势速度快、体积小、容易使用免费可移植性强接口丰富安全性和连接性佳稳定性好查询功能强大2.1MySQL概述2.2MySQL环境搭建2.2MySQL环境搭建2.2.1MySQL的下载要下载社区版的MySQL服务器,用户需要首先打开浏览器,在浏览器的地址栏中输入网址“https://dev

mysql

com/downloads/mysql/”并按Enter键,即可进入MySQL的官网下载页面,如图所示。—9—2.2MySQL环境搭建2.2.1MySQL的下载在下载页面的“SelectVersion”(选择版本)下拉列表中选择“8.0.34”选项,在“SelectOperatingSystem”(选择操作系统)下拉列表中选择“MicrosoftWindows”选项,如图所示。—10—2.2MySQL环境搭建2.2.1MySQL的下载在页面中单击“GotoDownloadPage”(转到下载页面)按钮,弹出如图所示的下载页面。—11—2.2MySQL环境搭建2.2.1MySQL的下载单击“Download”(下载)按钮,会弹出登录注册提示页面,如图所示。如果用户已有账户,输入账户名及密码登录之后即可下载;如果用户没有用户名和密码,则需要先注册后才可下载;如果不想注册新用户,也可单击“Nothanks,juststartmydownload.”链接直接下载文件。下载好的安装文件名为“mysql-installer-community-.msi”。—12—2.2MySQL环境搭建2.2.2MySQL的安装与配置1.MySQL的安装步骤1:双击“mysql-installer-community-.msi”安装包,打开安装向导对话框,可供选择的安装类型有4种:Serveronly(仅安装服务器)、Clientonly(仅安装客户端)、Full(完全安装)、Custom(自定义安装),如图所示。此处选择“Custom”选项,然后单击“Next”(下一步)按钮。—13—2.2MySQL环境搭建2.2.2MySQL的安装与配置1.MySQL的安装步骤2:在打开的“SelectProducts”(选择产品)界面可以选择自己需要安装的产品,此处选择“MySQLServer8.0.34-X64”及“MySQLWorkbench8.0.34-X64”选项,然后单击“Next”按钮,如图所示。—14—2.2MySQL环境搭建2.2.2MySQL的安装与配置1.MySQL的安装步骤2:此时若选中产品列表中的“MySQLServer8.0.34-X64”选项,然后单击列表框下面的“AdvancedOptions”(高级选项)链接(见图),则会弹出安装目录选择对话框。—15—2.2MySQL环境搭建2.2.2MySQL的安装与配置1.MySQL的安装步骤2:用户可以在此设置MySQL服务器的安装目录及数据存储目录(默认都在C盘),设置完成后单击“OK”按钮,如图所示。—16—2.2MySQL环境搭建2.2.2MySQL的安装与配置1.MySQL的安装步骤3:单击“Next”按钮,进入安装界面,如图所示。—17—2.2MySQL环境搭建2.2.2MySQL的安装与配置1.MySQL的安装步骤3:单击“Execute”(执行)按钮即可进入安装流程。安装完成后的界面,如图所示。—18—2.2MySQL环境搭建2.2.2MySQL的安装与配置2.MySQL的产品配置步骤1:安装完成后,单击“Next”按钮,即进入“ProductConfiguration”(产品配置)界面,如图所示。—19—2.2MySQL环境搭建2.2.2MySQL的安装与配置2.MySQL的产品配置步骤2:单击“Next”按钮,进入“TypeandNetworking”(类型和网络)配置界面,如图所示。—20—2.2MySQL环境搭建2.2.2MySQL的安装与配置2.MySQL的产品配置提示:“ConfigType”(配置类型)选项用于设置服务器的类型,单击该选项右侧的下三角按钮,即可看到3个选项,如图所示。—21—2.2MySQL环境搭建2.2.2MySQL的安装与配置2.MySQL的产品配置步骤3:单击“Next”按钮,打开“AuthenticationMethod”(身份验证方法)界面,此时可以设置授权方式。选择默认的“UseStrongPasswordEncryptionforAuthentication(RECOMMENDED)”[使用强密码加密进行身份验证(建议)]选项即可,如图所示。—22—2.2MySQL环境搭建2.2.2MySQL的安装与配置2.MySQL的产品配置步骤4:单击“Next”按钮,打开“AccountsandRoles”(账户及角色)配置界面,此处可以设置MySQLRootPassword(root用户登录密码),注意两次输入的密码应一致,如图所示。—23—2.2MySQL环境搭建2.2.2MySQL的安装与配置2.MySQL的产品配置步骤5:单击“Next”按钮,打开“WindowsService”(Windows服务)配置界面,如图所示。可以看到,“WindowsServiceName”(Windows服务名称)默认为“MySQL80”,此处保持默认配置。—24—2.2MySQL环境搭建2.2.2MySQL的安装与配置2.MySQL的产品配置步骤6:单击“Next”按钮,打开“ServerFilePermissions”(服务器文件权限)界面,如图所示。此处保持默认配置。—25—2.2MySQL环境搭建2.2.2MySQL的安装与配置2.MySQL的产品配置步骤7:单击“Next”按钮,打开“ApplyConfiguration”(应用配置)界面,如图所示。—26—2.2MySQL环境搭建2.2.2MySQL的安装与配置2.MySQL的产品配置步骤7:单击“Execute”按钮,开始应用配置,配置完成后的界面如图所示。—27—2.2MySQL环境搭建2.2.2MySQL的安装与配置2.MySQL的产品配置步骤8:单击“Finish”(完成)按钮,安装程序又回到了图所示的“ProductConfiguration”界面,此时显示“Configurationcomplete”(配置完成)的提示。—28—2.2MySQL环境搭建2.2.2MySQL的安装与配置2.MySQL的产品配置步骤9:单击“Next”按钮,打开“InstallationComplete”(安装完成)界面,如图所示。取消勾选“StartMySQLWorkbenchaftersetup”(在设置完成之后启动MySQL工作台)复选框,然后单击“Finish”按钮,即可完成MySQL的安装及配置操作。—29—2.2MySQL环境搭建2.2.2MySQL的安装与配置2.MySQL的产品配置步骤10:按“Ctrl+Alt+Delete”组合键,打开“任务管理器”窗口,如果在“服务”选项界面中可以看到“MySQL80”服务的状态为“正在运行”(见图),则说明已经完成了在Windows操作系统中安装MySQL的全部操作。—30—2.2MySQL环境搭建2.2.2MySQL的安装与配置3.配置Path环境变量步骤1:在桌面的“此电脑”图标上右击,在右键快捷菜单中选择“属性”命令,找到并单击“高级系统设置”链接,打开“系统属性”对话框,如图所示。—31—2.2MySQL环境搭建2.2.2MySQL的安装与配置3.配置Path环境变量步骤2:单击“高级”选项卡下的“环境变量”按钮,打开“环境变量”对话框,如图所示。—32—2.2MySQL环境搭建2.2.2MySQL的安装与配置3.配置Path环境变量步骤3:在“环境变量”对话框的“系统变量”列表中选择“Path”变量,单击“编辑”按钮,弹出“编辑环境变量”对话框,如图所示。—33—2.2MySQL环境搭建2.2.2MySQL的安装与配置3.配置Path环境变量步骤4:在“编辑环境变量”对话框中,将MySQL服务器安装目录中的bin目录添加到变量值中(如本书的安装目录为“C:\ProgramFiles\MySQL\MySQLServer8.0\bin”),如图所示。步骤5:单击“确定”按钮,返回上级菜单,再依次单击“确定”按钮后,即可将MySQL的bin目录添加到环境变量中。至此,便完成了MySQL的Path环境变量配置,用户就可以在命令提示符中使用“mysql”命令了。—34—2.2MySQL环境搭建2.2.3MySQL的卸载1.通过控制面板卸载在卸载MySQL8.0服务器程序之前,需要先停止MySQL8.0的服务。按“Ctrl+Alt+Delete”组合键,打开“任务管理器”窗口,在“服务”选项界面中找到“MySQL80”服务。如果该服务现在处于“正在运行”状态,只需在其上右击,然后在右键快捷菜单中选择“停止”命令将其停止,如图所示。—35—2.2MySQL环境搭建2.2.3MySQL的卸载1.通过控制面板卸载然后,按“Win+S”组合键,打开系统搜索框,在其中输入“控制面板”,在页面提示结果中选择“控制面板”选项,即可打开“控制面板”窗口。在“控制面板”窗口中单击“卸载程序”链接,在程序列表中找到MySQLServer8.0服务器程序,在其上双击,弹出对话框询问“确实要卸载MySQLServer8.0吗?”,如图所示,单击“是”按钮,即可卸载服务器。使用这种方式卸载,数据目录下的数据不会跟着删除。—36—2.2MySQL环境搭建2.2.3MySQL的卸载2.通过安装向导卸载步骤1:双击“mysql-installer-community-.msi”文件,系统会弹出对话框询问“你要允许此应用对你的设备进行更改吗?”,单击“是”按钮,稍等片刻,即可打开安装向导,如图所示。安装向导会自动检测已安装的MySQL服务器程序。—37—2.2MySQL环境搭建2.2.3MySQL的卸载2.通过安装向导卸载步骤2:选择要卸载的MySQLSever程序,单击“Remove”(移除)按钮,如图所示。—38—2.2MySQL环境搭建2.2.3MySQL的卸载2.通过安装向导卸载步骤3:在弹出的界面中选中所有要卸载的MySQL组件,单击“Next”按钮,如图所示。—39—2.2MySQL环境搭建2.2.3MySQL的卸载2.通过安装向导卸载步骤4:弹出选择是否同时移除数据目录窗口。如果想要同时删除MySQL服务器中的数据,则勾选“Removethedatadirectory”(移除数据目录)选项,如图所示。—40—2.2MySQL环境搭建2.2.3MySQL的卸载2.通过安装向导卸载步骤5:在弹出的卸载步骤界面中单击“Execute”按钮即可执行卸载,如图所示。—41—2.2MySQL环境搭建2.2.3MySQL的卸载2.通过安装向导卸载步骤6:完成卸载。如果想要同时卸载MySQL8.0的安装向导程序,则勾选“Yes,uninstallMySQLInstaller”选项即可,如图所示。单击“Finish”按钮完成所有操作。—42—2.3MySQL的工具2.3MySQL的工具2.3.1命令行工具—44—由于MySQL未在系统桌面创建快捷方式,用户需要到“开始”菜单中找到命令行工具将其打开,具体操作如下:单击“开始”按钮,打开“开始”菜单,选择“所有应用”选项,在应用程序列表中找到“MySQL”文件夹,单击将其打开,选择“MySQL8.0CommandLineClient”选项,即可弹出命令行工具窗口,如图所示。2.3MySQL的工具2.3.1命令行工具—45—输入在进行产品配置时所设置的root用户登录密码,即可登录到MySQL服务器,如图所示。2.3MySQL的工具2.3.2图形化管理工具—46—1.MySQLWorkbenchMySQLWorkbench是一种跨平台的数据库设计和管理工具,由MySQL官方开发。它提供了直观的图形用户界面,可用于创建、修改和管理MySQL数据库,是一款功能强大、易于使用的数据库设计和管理工具,适用于开发人员、数据库管理员和数据分析师等不同的用户群体。MySQLWorkbench的欢迎界面如图所示。图形化管理工具可以极大地提升用户操作与管理数据库的便利性,常用的MySQL图形化管理工具有MySQLWorkbench、phpMyAdmin、Navicat、SQLyog、DBeaver等。其中,MySQLWorkbench是MySQL官方提供的图形化界面管理工具,是英文操作界面,而phpMyAdmin、SQLyog、Navicat、DBeaver为第三方工具,提供中文操作界面。2.3MySQL的工具2.3.2图形化管理工具—47—2.3MySQL的工具2.3.2图形化管理工具—48—MySQLWorkbench

具有以下优势数据库设计SQL开发数据管理服务器管理扩展功能MySQLWorkbench有两个版本,即社区版和商业版。社区版是免费的。商业版需要收取费用,但提供额外的企业功能,如数据库文档生成,还提供技术支持服务。2.3MySQL的工具2.3.2图形化管理工具—49—2.phpMyAdminphpMyAdmin是众多MySQL图形化管理工具中应用最广泛的一种,是一款使用PHP语言开发的B/S模式的MySQL客户端软件,该工具是基于Web跨平台的管理程序,并且支持简体中文。phpMyAdmin为Web开发人员提供了易于使用的图形化数据库操作界面,用户可以轻松地使用phpMyAdmin进行创建数据库和数据表、备份和还原数据库等操作。此外,phpMyAdmin还支持生成MySQL数据库脚本文件,以便在不同的环境中轻松地部署和迁移数据库。需要注意的是,应用phpMyAdmin图形化管理工具有一个前提条件,即必须在本机中搭建PHP运行环境,将其作为一个项目在PHP开发环境中运行应用。当PHP开发环境配置完成后,在浏览器地址栏中输入“http://localhost/phpMyAdmin/”并按“Enter”键,即可进入phpMyAdmin的欢迎界面,如图所示。按照网页提示输入用户名和密码,即可进入phpMyAdmin的图形化管理主页,继而对MySQL数据库进行操作。2.3MySQL的工具2.3.2图形化管理工具—50—2.3MySQL的工具2.3.2图形化管理工具—51—3.NavicatNavicat是一套快速、可靠的图形化数据库管理和开发工具,支持多种数据库类型,包括MySQL、Redis、MariaDB、MongoDB、SQLServer、SQLite、Oracle和PostgreSQL等。它是一套多连接数据库开发工具,可以在单一应用程序中同时连接多种类型的数据库,并且可以一次快速方便地访问所有数据库。Navicat具有直观易用的图形化界面,支持多种操作,包括数据导入导出、表格和视图的创建与修改、SQL查询和脚本编辑等。Navicat提供了丰富的数据可视化工具,如数据报表、图表和数据比较等,以帮助用户更好地理解和分析数据库中的数据。Navicat还提供了许多高级功能,如数据库同步、数据备份和恢复、数据库迁移、数据同步和版本控制等,可以帮助用户更好地管理和维护数据库,并提高开发效率。2.3MySQL的工具2.3.2图形化管理工具—52—Navicat

的主界面如图所示2.3MySQL的工具2.3.2图形化管理工具—53—4.SQLyogSQLyog是一款开源的MySQL管理工具,由Webyog公司推出,提供了图形化的用户界面和多种功能,可以方便有效地管理MySQL数据库,进行数据库、数据表、视图、索引创建,SQL脚本编辑,数据插入、更新和删除,数据库备份和恢复等操作。SQLyog简捷高效,功能强大,不仅可以通过SQL文件进行大量文件的导入和导出,还可以导入和导出XML、HTML和CSV等多种格式的数据。2.3MySQL的工具2.3.2图形化管理工具—54—SQLyog

的主界面如图所示2.3MySQL的工具2.3.2图形化管理工具—55—5.DBeaverDBeaver是一个通用的数据库管理工具和SQL客户端,支持所有流行的数据库,包括MySQL、PostgreSQL、SQLite、Oracle、DB2、SQLServer、Sybase、MSAccess、Teradata、Firebird、ApacheHive、Phoenix、Presto等。DBeaver比大多数SQL管理工具要轻量,而且支持中文界面。DBeaver社区版作为一个免费开源的产品,和其他类似的软件相比,在功能和易用性上都毫不逊色。DBeaver的下载和安装都非常简单,唯一需要注意的是,DBeaver是用Java编程语言开发的,所以需要拥有JDK(Javadevelopmentkit)环境。JDK是Java语言开发工具包,也是整个Java的核心,包括运行环境、工具和基础类库等。如果计算机上没有JDK,在选择安装DBeaver组件时,勾选“IncludeJava”选项即可。2.3MySQL的工具2.3.2图形化管理工具—56—DBeaver

的主界面如图所示2.4MySQL的编程接口2.4MySQL的编程接口2.4.1MySQL支持的API—58—MySQL服务器提供了一个本地的客户端/服务器协议,用于定义客户端程序如何与MySQL服务器建立连接和通信。为了支持不同的应用程序开发,MySQL提供了一个用C语言编写的客户端库,称为C客户端库API(CAPI),它包含一组数据结构和函数,用于实现各种本地协议操作。此外,MySQL还提供了与其他编程语言的接口,包括Perl、PHP、Python、Ruby、C++、Tcl等语言,这些接口可以将CAPI链接到语言处理器中,使得开发人员可以方便地使用MySQL数据库。其中,有些接口直接实现了用本地客户端/服务器协议来处理通信,而有些则使用了CAPI。此处介绍最为常用的三种API。2.4.1MySQL支持的APIC客户端库API1C客户端库API是MySQL提供的最基本的编程接口之一,它定义了MySQL服务器和客户端之间的通信协议,以及如何使用C语言编写客户端程序来访问和操作MySQL服务器。许多MySQL提供的标准化客户端程序,如mysql、mysqladmin和mysqldump,都是使用该API实现的。使用C客户端库API,开发人员可以在C语言中编写自己的MySQL客户端程序,实现对MySQL服务器的访问和操作。该API提供了一组函数,用于实现连接MySQL服务器、执行SQL语句、处理结果集等操作。此外,该API还提供了一些常量、变量和数据结构,用于配置和管理连接、事务、状态等信息。C客户端库API是MySQL编程的基础,对于熟悉C语言的开发人员来说,是使用MySQL进行编程的首选接口。—59—2.4MySQL的编程接口2.4.1MySQL支持的APIPerlDBIAPI2PerlDBIAPI是Perl语言中用于访问MySQL数据库的一个接口。DBI被实现为一个Perl模块,该模块需要与数据库驱动程序(databasedriver,DBD)层的其他模块配合使用,每个DBD模块提供了相应的数据访问机制,其中专门提供MySQL支持的模块是DBD::mysql。使用DBI和DBD::mysql模块,开发人员可以在Perl语言中编写自己的MySQL客户端程序,以实现对MySQL服务器的访问和操作。PerlDBIAPI具有良好的可移植性和灵活性,可以在不同的操作系统和平台上运行,是Perl语言中访问MySQL数据库的重要接口之一。同时,通过使用Web界面,可以将PerlDBIAPI集成到Web应用程序中,实现动态的Web页面和数据交互。—60—2.4MySQL的编程接口2.4.1MySQL支持的APIPHPAPI3PHP提供了一种将程序嵌入Web页面的简便方式,通过在服务器端使用PHP处理页面,可以实现动态内容的生成。PHP提供了许多内置函数和扩展,可以方便地与各种类型的数据库进行交互,包括MySQL、PostgreSQL、Oracle等。除了特定于某个数据库引擎的接口,PHP还提供了一种通用的接口,称为PDO(PHPdataobject)。PDO是一个轻量级的、高效的数据库抽象层,支持多种数据库类型,并提供了一组统一的API,使得开发人员可以使用相同的方式访问不同类型的数据库。通过使用PDO,开发人员可以在PHP程序中轻松地访问各种类型的数据库,而无须了解底层数据库的细节。—61—2.4MySQL的编程接口2.4.2如何选择API在选择适合特定任务的API时,需要考虑多个因素,包括执行环境、性能、开发工作的难易程度和可移植性等。这些因素相互影响,因此在选择API时需要综合考虑。—62—2.4MySQL的编程接口1执行环境不同的API适合用在不同类型的应用程序中。C语言适用于编写通用的独立程序,但不太适用于Web编程。Perl既适合用来编写独立程序,也适合用在Web站点环境里。而PHP是人们为了编写Web应用程序而设计的一种程序设计语言,具有处理文本和内存管理的功能,并且可以轻松地与MySQL和Web交互,因而最适合在Web环境里使用。综上所述,C和Perl是编写独立应用程序时的最佳候选语言。对于Web应用程序,还是用Perl或PHP最合适。如果需要同时编写这两种类型的应用程序,则Perl应该是最佳选择。2.4.2如何选择API性能2—63—2.4MySQL的编程接口

编译型语言与解释型语言通常情况下,使用编译型语言编写的应用程序(简称编译型程序)比使用解释型语言编写的应用程序(简称解释型程序)更高效,使用的内存更少,执行速度更快。这是因为解释型语言需要使用解释器引擎来执行脚本,这会导致额外的开销。C是一种编译型语言,而Perl和PHP是解释型语言,因此C程序通常比Perl或PHP脚本运行得更快。但是,编译型程序和解释型程序之间的性能差距并不总是很大,这取决于具体的应用程序和使用场景。如果一个脚本型应用程序大部分时间都在执行已经编译并链接到解释器引擎中的代码,那么编译型程序和解释型程序的性能差距就会减小。因此,在选择编写程序的语言时,需要考虑具体情况,综合考虑性能和开发效率等因素。2.4.2如何选择API性能2—64—2.4MySQL的编程接口

脚本语言解释器:独立版本与模块版本Web应用程序中的脚本语言解释器通常有两种使用方式:作为单独的CGI程序运行或作为Apache模块运行。使用CGI方式启动解释器会导致性能下降,而使用模块方式启动解释器可以显著提高性能。使用模块方式启动解释器时,Apache进程可以同时处理多个请求,而每个进程启动开销只会发生一次。为了获得最佳性能和效率,建议在Web应用程序中使用Perl或PHP解释器时,尽可能将其作为Apache模块运行,而不是使用CGI方式调用解释器进程。只有当解释器的模块版本无法满足特定需求时,才考虑使用其独立版本。在这种情况下,可以使用Apache的suEXEC机制在指定用户ID下启动解释器来处理脚本。这样可以避免频繁启动解释器进程带来的性能损失,并提高Web应用程序的响应速度和效率。2.4.1MySQL支持的API开发工作的难易程度3在选择API时,应该考虑应用程序需要完成的任务,以及每种API可以提供的帮助程度。例如,在内存管理方面,C语言需要手动处理动态分配的数据结构,而Perl和PHP则可以自动处理内存管理问题。在文本处理方面,Perl比PHP更擅长,而C语言则相对较弱。在使用C语言编写程序时,可以创建函数库来封装任务,但这会增加调试的负担,并且需要确保使用的算法足够好。相比之下,Perl和PHP等解释型语言中的算法已经经过大量的检查和优化,因此在这些方面可能更加优秀。但是,使用解释型语言编写程序可能存在解释器本身就存在Bug的情况,而使用C语言编写程序可以更细致地控制程序的行为。因此,在选择API时,需要根据应用程序的具体需求和开发环境进行权衡。—65—2.4MySQL的编程接口2.4.1MySQL支持的API可移植性4可移植性是指将一个应用程序从一个数据库引擎迁移到另一个数据库引擎所需修改的工作量。在选择API时,需要考虑可移植性,因为未来可能需要将应用程序迁移到其他数据库引擎。DBIAPI是与数据库无关的,因此具有最佳的可移植性。使用PDO数据库接口扩展模块编写的PHP脚本和使用底层数据库接口函数库编写的PHP脚本具有较好的可移植性,但仍然需要修改应用程序的逻辑和函数名。使用C客户端库API编写的应用程序在数据库之间的可移植性最差,因为它是专门为MySQL数据库设计的。如果需要在同一个应用程序中访问多个不同种类的数据库系统,则需要特别注意可移植性。—66—2.4MySQL的编程接口感谢看观3MySQL编程基础模

块MySQL数据库原理与应用模块3MySQL编程基础学习目标了解SQL语言的概念及其功能,掌握SQL语句的元素。1掌握常量和变量的概念及分类,熟悉常量和变量各自的用途。3掌握系统内置函数的概念及分类,熟悉系统内置函数的用途。524掌握表达式和运算符的概念、分类及用途,了解运算符的优先级。掌握数据类型的分类,熟悉各个数据类型的作用及存储范围。—2—模块3MySQL编程基础重点和难点SQL语言的概念及其功能,SQL语句的元素。1数据类型的分类及作用。2常量和变量的概念、分类及用途。3重

点—3—模块3MySQL编程基础重点和难点表达式的概念,运算符的分类及优先级。4系统内置函数的分类及用途。5重

点难

点SQL语句的元素、数据类型的作用、变量的分类及用途、运算符的优先级、系统内置函数的分类及用途。1—4—3.1SQL语言3.1SQL语言3.1.1SQL语言概述在正式学习MySQL的各项操作之前,有必要先学习一些关于MySQL编程的基础知识,为后面的学习做好铺垫。首先介绍SQL语言方面的知识。—6—当用户面对一个数据库管理系统时,通常需要一种方式能与其进行交互,以完成自己的工作,此时就需要用到结构化查询语言(structuredquerylanguage,SQL)。SQL语言是一种面向集合的数据库查询语言,是RDBMS能够听懂的语言,它告诉RDBMS如何完成各种数据管理操作。当用户使用某个程序(如MySQLCommandLineClient)的时候,该程序本质上只是一种能够把要执行的SQL语句发送到服务器上去的工具而已。如果用户使用某种具备编程接口(如PerlDBI模块或PHPPDO扩展)的语言编写程序,它将能够通过发出SQL语句与服务器进行交流。3.1SQL语言3.1.1SQL语言概述—7—(1)SQL语言是类似于英语的自然语言,简洁易用。(2)SQL语言是一种非过程语言,即用户只要提出“干什么”即可,而不必关心具体的操作过程,也不必了解数据的存取路径,只要指明所需的数据即可。(3)SQL语言是一种面向集合的语言,每个命令的操作对象是一个或多个关系,结果也是一个关系。(4)SQL语言既是自含式语言,又是嵌入式语言;既可独立使用,也可嵌入宿主语言中。自含式语言可以独立使用交互命令,适用于终端用户、应用程序员和数据库管理员;嵌入式语言嵌入在高级语言中,供应用程序员开发应用程序使用。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论