MySQL数据库技术与应用PPT完整全套教学课件_第1页
MySQL数据库技术与应用PPT完整全套教学课件_第2页
MySQL数据库技术与应用PPT完整全套教学课件_第3页
MySQL数据库技术与应用PPT完整全套教学课件_第4页
MySQL数据库技术与应用PPT完整全套教学课件_第5页
已阅读5页,还剩519页未读 继续免费阅读

下载本文档

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

文档简介

BYYUSHEN数据库技术与应用DATABASETECHNOLOGYANDAPPLICATION任务1认识数据库任务2安装配置数据库任务3客户端登录使用MySQL8数据库项目模块1数据库

认知篇项目模块1数据库认知.pptx项目模块2数据库管理.pptx项目模块3数据库查询.pptx项目模块4数据库编程.pptx项目模块5数据库安全.pptx项目模块6数据库设计.pptx全套可编辑PPT课件CONTENTSBYYUSHENYOURLOGOAUNIVERSITY01任务1认识数据库点击查看本任务知识技术点02任务2安装配置数据库点击查看本任务知识技术点03任务3客户端登录使用MySQL8数据库点击查看本任务知识技术点BYYUSHEN岗位能力能完成数据库的基本安装;能完成数据库的基本配置;能启动和关闭数据库服务;能进行数据库环境的配置;能使用管理工具连接数据;技能证书标准解答客户数据库基础理论问题;指导客户安装数据库软件;指导客户卸载数据库软件;解答客户数据库安装过程中遇到的问题;思政素养养成学习新技术的兴趣和主动性;对工作任务综合全面考虑的习惯;志存高远、脚踏实地,不畏艰难险阻,勇担时代使命的责任感;数据库认知

数据库技术与应用项目模块1BYYUSHEN数据库认知

数据库技术与应用项目模块1高校教学质量分析管理系统数据库db_teachingG-EDU格诺博教育公司开发“高校教学质量分析管理系统”,希望能够为教学质量的各项指标数据,包括学生评教、教师评学、同行及督导专家评价等相关的各类信息实现记录、分析、处理、决策。同时基于大数据分析背景的需要,针对项目数据存储与管理的需求,在认知和分析数据库体系的基础上,为项目的开发甄选了MySQL8作为适合的后台数据库管理系统。不匹配的数据库管理系统带来的代价可能会是项目整体性能和效率的下降,因此,对数据库管理系统的正确选择、并能正确安装和配置,对于整个项目非常重要。项目模块情境BYYUSHEN任务一认识数据库

G-EDU格诺博教育公司开发“高校教学质量分析管理系统”,在进行数据库设计之前,需要了解数据库系统的体系结构和数据模型等理论知识,从而为项目选择一个合适的后台数据库管理系统。任务描述01BYYUSHEN01

数据库技术与应用1.1.1数据管理技术的发展阶段任务一认识数据库Knowledgedatabase1人工管理阶段20世纪50年代中期以前,计算机出现初期,由于软件硬件的限制,计算机主要用于科学计算,没有操作系统,没有大容量外部存储器,人们只能采用人工方式管理数据,数据面向的对象也只是某个特定的应用程序,因此,数据的独立性差,不能共享,冗余度大,数据不能被长期保存。2文件系统阶段20世纪50年代后期到60年代中期,随着计算机硬件和软件技术的迅速发展,数据组织成相互独立的文件,可以储存在磁盘、磁鼓等直接存取的存储设备上,然后通过文件系统来管理这些文件,计算机应用范围也从科学计算领域发展到了数据管理领域。3数据库系统阶段20世纪60年代后期以来,随着计算机性能的日益提高,其应用领域也日益广泛,数据量急剧增加,并且多种应用、多种语言互相交叉共享数据集合的要求也越来越多,编制和维护系统软件及应用程序的成本相对增加,分布式处理需求增大,以文件系统作为数据管理的手段已经不能满足应用需求。为满足和解决多用户、多应用共享数据的需求,使数据为尽可能多的应用服务,出现了统一管理数据的专门软件,即数据库管理系统。BYYUSHEN01

数据库技术与应用1.1.2数据库系统的相关概念任务一认识数据库Knowledgedatabase1数据(Data)描述事物信息的符号称为数据(Data)。数据有多种表现形式,数字,也可以是文字、图形、图像、声音、语言等。2数据库(Database,DB)数据库就是存储数据的仓库,指长期存储在计算机内的、有结构的、可共享的数据集合。数据库不仅包括描述事物的数据本身,还包括相关事物之间的联系。3数据库管理系统(DatabaseManagementSystem,DBMS)数据库管理系统是位于用户与操作系统之间的数据管理软件,它为用户或应用程序提供访问和管理数据库的方法,包括建立、使用、维护数据库,以及数据收集存储、数据定义、数据操作、数据控制等。4数据库系统(DatabaseSystem,DB)数据库系统由硬件、软件和数据库用户共同构成。硬件包括计算机、存储设备等;软件包括操作系统、数据库管理系统、以及支持多种语言进行应用开发的访问技术和数据库应用程序等;数据库用户则包括了使用数据库的最终用户、数据库系统的开发者、数据库管理员(DataAdministrator,DBA)。BYYUSHEN01

数据库技术与应用1.1.3数据库的体系结构任务一认识数据库Knowledgedatabase1数据库的三级模式结构(1)外模式外模式又称子模式或用户模式,对应于用户级,面向应用程序,它是某个或某几个用户所看到的数据库的数据视图。(2)概念模式概念模式又称模式或逻辑模式,对应于概念级,面向数据库设计人员,描述数据的整体逻辑结构,是所有用户的公共数据视图(全局视图)。(3)内模式内模式又称存储模式或物理模式,对应于物理级,面向物理上的数据库,反映了数据库系统的存储观。BYYUSHEN01

数据库技术与应用1.1.3数据库的体系结构任务一认识数据库Knowledgedatabase2三级模式间的两层映射(1)外模式/概念模式映射对于同一个模式可以有任意多个外模式。对于每一个外模式,数据库系统都有一个外模式/模式映射。当模式被改变时,数据库管理员对各个外模式/模式映射做相应的改变,可以使外模式保持不变。这样,依据数据外模式编写的应用程序就不用修改,保证了数据与程序的逻辑独立性。(2)概念模式/内模式映射数据库中只有一个概念模式和一个内模式,所以概念模式/内模式的映射是唯一的,它定义了数据库的全局逻辑结构与存储结构之间的对应关系。当数据库的存储结构被改变时,数据库管理员对概念模式/内模式映射做相应的改变,可以使模式保持不变,应用程序相应地也不做变动。这样,保证了数据与程序的物理独立性。BYYUSHEN01

数据库技术与应用1.1.4数据模型任务一认识数据库Knowledgedatabase1层次模型层次模型是一种用树形结构描述实体及其之间关系的数据模型。在这种结构中,每一个记录类型都是用节点表示,记录类型之间的联系则用结点之间的有向线段来表示。每一个双亲结点可以有多个子节点,但是每一个子节点只能有一个双亲结点。BYYUSHEN01

数据库技术与应用1.1.4数据模型任务一认识数据库Knowledgedatabase2网状模型网状模型是一种可以灵活地描述实体及其之间关系的数据库模型,网状模型用有向图结构表示实体类型及实体间联系。网状模型取消了层次模型的不能表示非树状结构的限制,两个或两个以上的结点都可以有多个双亲结点,则此时有向树变成了有向图,该有向图描述了网状模型。BYYUSHEN01

数据库技术与应用1.1.4数据模型任务一认识数据库Knowledgedatabase3关系模型关系模型是指用二维表的形式表示实体和实体间联系的数据模型,由行和列组成。关系模型中无论是实体还是实体间的联系均由单一的结构类型“关系”来表示,其操作的对象和结果都是一张二维表。关系:一个关系(Relation)对应着一个二维表,二维表名就是关系名。元组(记录):在二维表中的一行,称为一个元组(Tuple),其对应

一条记录。属性(字段):在二维表中的列,称为属性(Attribute),又称字段。

属性的个数称为关系的元或度。列的值称为属性值。域:属性值的取值范围为值域(Domain)。分量:每一行对应的列的属性值,即元组中的一个属性值。关系模式:在二维表中的行定义,即对关系的描述称为关系模式。关键字(码):如果在一个关系中,存在唯一标识一个实体的属性或

属性集,称为实体的关键字(Key)或码。BYYUSHEN01

数据库技术与应用1.1.4数据模型任务一认识数据库Knowledgedatabase3关系模型候选键(候选码):候选键也是唯一标识表中每一行的关键字。主键(主码):在一个关系的若干候选键中指定一个用来唯一标识该关系的元组,则这个被指定的候选键称之为主关键字,或简称为主键、主码。主属性和非主属性:关系中包含在任何一个候选键中的属性称为主属性,不包含在任何一个候选键中的属性为非主属性。外键(外码):如果一个关系中的一个属性(该属性不能是候选码)是另外一个关系中的主键(主码),则该关系中这个属性为外键(外码)。外键(外码)的值要么为空,要么为其对应的主键(主码)中的一个值。参照关系与被参照关系:是指以外键相互联系的两个关系,可以相互转化。BYYUSHEN01

数据库技术与应用1.1.5关系型数据库任务一认识数据库Knowledgedatabase1关系型数据库关系型数据库,是指采用了关系模型来组织数据的数据库,其以行和列的二维表形式存储数据。关系模型可以简单理解为二维表格模型,那么一个关系型数据库就是由二维表及其之间的关系组成的一个数据组织。2关系运算关系型数据库的一个优点是有严格的数学理论根据,可以使用关系代数对数据进行关系运算。关系的基本运算有两类:一类是传统的集合运算(合并、交集、求差、笛卡尔积),另一类是专门的关系运算(选择、投影、连接、除法),其运算符号如下表所示。BYYUSHEN01

数据库技术与应用1.1.5关系型数据库任务一认识数据库Knowledgedatabase2关系运算(1)集合运算并(Union)设有关系R和关系S,R∪S表示合并两个关系中的元组,消除重复的元组。BYYUSHEN01

数据库技术与应用1.1.5关系型数据库任务一认识数据库Knowledgedatabase2关系运算(1)集合运算交(Intersection)设有关系R和关系S,R∩S表示找出既属于R又属于S的元组,得到结果相同的部分。BYYUSHEN01

数据库技术与应用1.1.5关系型数据库任务一认识数据库Knowledgedatabase2关系运算(1)集合运算差(Difference)设有关系R和关系S,R-S表示找出属于R但不属于S的元组,而S-R则表示找出属于S但不属于R的元组。BYYUSHEN01

数据库技术与应用1.1.5关系型数据库任务一认识数据库Knowledgedatabase2关系运算(1)集合运算笛卡尔积(CartesianProduct)笛卡尔积简单来说就是两个集合相乘的结果。设R和S是两个关系,则R×S是求R和S的笛卡尔乘积,结果表是R和S的结构之连接,即前n个属性来自R,后m个属性来自S,属性个数等于n+m。结果表的值是由R中的每个元组连接S中的每个元组构成元组的集合。BYYUSHEN01

数据库技术与应用1.1.5关系型数据库任务一认识数据库Knowledgedatabase2关系运算(2)关系运算选择(Selection)选择运算是单目运算,它从一个关系R中选择出满足给定条件的所有元组,并同R具有相同的结构。BYYUSHEN01

数据库技术与应用1.1.5关系型数据库任务一认识数据库Knowledgedatabase2关系运算(2)关系运算投影(Projection)投影运算也是单目运算,它从一个关系R所有属性中选择某些指定属性,组成一个新的关系。选择运算选取关系的某些行,而投影运算选取关系的某些列,是从一个关系出发构造其垂直子集的运算。BYYUSHEN01

数据库技术与应用1.1.5关系型数据库任务一认识数据库Knowledgedatabase2关系运算(2)关系运算连接(Join)设有关系R和关系S,使用A和B分别表示R和S中数目相等且可比的属性组。等值连接是在R和S的笛卡尔积中选取A、B属性值相等的元组。自然连接是一种特殊的等值连接,要求R和S必须有相同的属性组,进行等值连接后再去除重复的属性组。BYYUSHEN01

数据库技术与应用1.1.5关系型数据库任务一认识数据库Knowledgedatabase2关系运算(2)关系运算除(Division)除法运算可理解为笛卡尔积的逆运算。设被除关系R为m元关系,除关系S为n元关系,那么它们的商为m-n元关系,记为R÷S。商的构成原则是:将被除关系R中的m-n列,按其值分成若干组,检查每一组的n列值的集合是否包含除关系S,若包含则取m-n列的值作为商的一个元组,否则不取。BYYUSHEN01

数据库技术与应用1.1.6SQL语言任务一认识数据库Knowledgedatabase1数据定义语言(datadefinitionlanguage,DDL)数据定义语言是负责数据结构定义与数据库对象定义的语言,由CREATE、ALTER与DROP三个语法所组成。CREATE是负责数据库对象创建的指令,ALTER是负责数据库对象修改的指令,DROP则是删除数据库对象的指令。2数据操纵语言(DataManipulationLanguage,DML)数据操纵语言是用于数据库操作,对数据库其中的对象和数据执行访问工作的编程语句。主要是以INSERT、UPDATE、DELETE、SELECT对数据的插入、更新、修改、查询4种指令为核心。3数据控制语言(DataControlLanguage,DCL)数据控制语言主要对用户的访问权限加以控制,以保证系统的安全性,由GRANT、REVOKE对用户的授权和撤销授权,及COMMIT、ROLLBACK对事务的提交和回滚等指令组成。BYYUSHEN任务二安装配置数据库在对数据库有基本认识后,“高校教学质量分析管理系统”的开发最终选择MySQL8作为其后台数据库管理系统。在详细了解MySQL8版本的数据库新特性等一些专业知识后,开始安装并配置MySQL8数据库。任务描述02BYYUSHEN

数据库技术与应用1.2.1认识MySQL数据库任务二多表连接查询JOINQUERIESFORMULTIPLETABLES02MySQL是一个体积小、开放源码、成本低的关系型数据库管理系统(RelationalDatabaseManagementSystem,RDBMS)。

采用关系数据库标准SQL语言,支持在Windows、MacOS、Linux、UNIX等平台上使用,可移植性好,快速灵活;MySQL作为开源数据库,意味着开发人员可以根据需求自由修改,所采用的社区版和商业版的双授权政策,兼顾了免费使用和付费服务的需求,总体拥有成本低。在Web开发、大数据开发等领域,MySQL已占据着举足轻重的地位,成为众多企业项目开发的数据库首选。BYYUSHEN

数据库技术与应用1.2.2MySQL8的新特性任务二多表连接查询JOINQUERIESFORMULTIPLETABLES021.默认字符集由latin1变为utf8mb42.MyISAM系统表全部换成InnoDB表3.持久化自增变量4.DDL原子化5.更完善的JSON支持6.更好地索引7.groupby不再隐式排序8.增加角色管理9.新增事务数据字典10.增强资源管理11.支持窗口函数12.支持正则表达式13.增强的MySQL复制BYYUSHEN

数据库技术与应用1.2.3MySQL8的配置文件任务二多表连接查询JOINQUERIESFORMULTIPLETABLES02在安装好MySQL8数据库后,MySQL8会在安装盘的..\ProgramData\MySQL\MySQLServer8.0路径下生成一个配置文件my.ini。MySQL8服务器启动时就会读取这个配置文件,我们可以通过操作系统自带的记事本工具打开查看和修改这个文件,达到更改MySQL8服务器配置参数的目的,配置文件内容变更后要重启MySQL8服务,更新参数才会生效。1[client][client]用于设置客户端各种配置。(1) port=3306客户端默认连接端口为3306。(2) socket=MYSQL本地连接的socket套接字(3) default_character_set=utf8设置默认字符集BYYUSHEN

数据库技术与应用1.2.3MySQL8的配置文件任务二多表连接查询JOINQUERIESFORMULTIPLETABLES022[mysqld][mysqld]用于设置服务端基本配置(1) port=3306mysqld服务端监听端口(2) character-set-server=utf8服务端使用的字符集默认为UTF8(3) datadir=C:/ProgramData/MySQL/MySQLServer8.0\Data数据库根目录地址(4) max_allowed_packet=4M允许最大接收数据包的大小,防止服务器发送过大的数据包。(5) default_storage_engine=InnoDB创建数据表时,默认使用的存储引擎。(6) max_connections=100最大连接数,当前服务器允许并发连接的最大数量。(7) max_user_connections=50用户最大的连接数(8) thread_cache_size=64线程缓存,用于缓存空闲的线程。(9) default-time_zone='+8:00'配置时区,+8:00表示东八区。BYYUSHEN

数据库技术与应用1.2.4Windows安装配置MySQL8及服务器的启停任务二多表连接查询JOINQUERIESFORMULTIPLETABLES021Windows安装配置MySQL8详细安装步骤参见教学视频配置path系统环境变量MySQL安装完毕后,为了操作方便,需要将MySQL8的bin目录添加到系统环境变量path中。(1)打开环境变量窗口(2)在“系统变量”列表中选择“path”变量中添加C:\ProgramFiles\MySQL\MySQLServer8.0\binBYYUSHEN

数据库技术与应用1.2.4Windows安装配置MySQL8及服务器的启停任务二多表连接查询JOINQUERIESFORMULTIPLETABLES022MySQL8服务的启动和停止第一种:通过Windows服务启动和停止MySQL第二种:通过命令启动和停止MySQLBYYUSHEN

数据库技术与应用1.2.5MacOS安装配置MySQL8及服务器的启停任务二多表连接查询JOINQUERIESFORMULTIPLETABLES021MacOS安装配置MySQL8详细安装步骤参见教学视频2MySQL服务的启动和停止打开MacOS的“系统偏好设置”,点击“系统偏好设置”界面中的MySQL。BYYUSHEN

数据库技术与应用1.2.6Linux安装配置MySQL8及服务器的启停任务二多表连接查询JOINQUERIESFORMULTIPLETABLES021Linux安装配置MySQL8详细安装步骤参见教学视频2MySQL服务的启动和停止MySQL服务的启动只需要在控制台输入如下指令:#systemctlstartmysqldMySQL服务的停止则只需要在控制台输入如下指令:#systemctlstopmysqldBYYUSHEN任务三客户端登录使用MySQL8数据库MySQL8数据库安装完毕并启动服务后,需要登录MySQL8服务器才能开始使用其中的数据库资源和创建管理数据库及对象。G-EDU格诺博教育公司开发“高校教学质量分析管理系统”的后台数据库,首先要通过正确的用户名和密码登录MySQL服务器,可在命令行客户端或更方便易用的图形化客户端进行数据库开发和管理操作。03任务描述BYYUSHEN03

数据库技术与应用1.3.1MySQL8的常用命令行客户端任务三排序与限行查询SORTANDLIMITEDQUERIES1Windows操作系统命令行工具cmdcmd命令提示符是在操作系统中,提示进行命令输入的一种工作提示符。在windows环境下,命令行程序为cmd.exe,是一个32位的命令行程序,微软Windows系统基于Windows上的命令解释程序,类似于微软的DOS操作系统。我们可以借助cmd命令提示符来进入MySQL8以及执行常用的数据库操作。BYYUSHEN03

数据库技术与应用1.3.1MySQL8的常用命令行客户端任务三排序与限行查询SORTANDLIMITEDQUERIES2MySQL8自带命令行工具Command-LineClientMySQL8.0Command-LineClient是MySQL8数据库自带的一个的SQL命令行工具,与MySQL数据库之间有很好的兼容性,它支持交互式和非交互式两种使用方式:以交互方式使用时,查询结果以ASCII表格显示结果;当以非交互方式使用(例如,作为筛选器)时,结果以制表符分隔的格式显示。BYYUSHEN03

数据库技术与应用1.3.2MySQL8的常用图形化客户端任务三排序与限行查询SORTANDLIMITEDQUERIES1MySQLWorkbenchMySQLWorkbench是MySQL8安装包自带的一个面向数据库架构师、开发人员和数据库管理员的可视化工具,它提供了先进的数据库建模、灵活的SQL文本编辑器和全面的管理控制台,可在Windows,Linux和MacOS操作系统上使用。BYYUSHEN03

数据库技术与应用1.3.2MySQL8的常用图形化客户端任务三排序与限行查询SORTANDLIMITEDQUERIES2NavicatforMySQLNavicatforMySQL是管理和开发MySQL的解决方案,是个商业软件,需要付费使用。它可以用来对本机或远程的MySQL数据库进行管理及开发。可运行在Windows、macOS、Linux三种操作系统中。BYYUSHEN03

数据库技术与应用1.3.2MySQL8的常用图形化客户端任务三排序与限行查询SORTANDLIMITEDQUERIES3SQLyogSQLyog是一款图形化界面的MySQL数据库管理工具,试用期过后需要付费试用,由Webyog公司出品。BYYUSHEN03

数据库技术与应用1.3.3使用命令行客户端登录/退出MySQL8任务三排序与限行查询SORTANDLIMITEDQUERIES1Windows操作系统命令行工具cmd登录数据库mysql[-hIP地址][-P端口号]-u用户名-p[密码]mysql:MySQL服务器的登录命令名。-h:指定登录的MySQL服务器地址(域名或IP)。如果缺省-h参数,表示默认连接本机MySQL服务器。-P:指定连接的端口号。缺省-P参数,表示默认MySQL端口号3306。-u:指定登录的用户名。(-u和用户名之间的空格可以省略)-p:指定登录的密码。如果在登录时不希望密码被直接看到,可以省略“-p”后面的密码,然后回车后会提示输入密码表示使用密码登录到数据。BYYUSHEN03

数据库技术与应用1.3.3使用命令行客户端登录/退出MySQL8任务三排序与限行查询SORTANDLIMITEDQUERIES2MySQL8自带命令行工具Command-LineClient登录数据库使用操作系统的cmd工具登录MySQL8数据库服务器相对比较麻烦,而且命令中的参数较多难记忆。也可使用对应MySQL8所自带的Command-LineClient工具,简单地只要输入该MySQL8数据库服务器的登录密码,就可很便捷地直接登录了。BYYUSHEN03

数据库技术与应用1.3.4使用Workbench图形化客户端登录数据库任务三排序与限行查询SORTANDLIMITEDQUERIES2MySQL8自带图形化工具MySQLWorkbench登录数据库(1)打开“MySQLWorkbench8.0”图形化客户端工具。(2)点击“LocalinstanceMySQL80”准备登录MySQL数据库。(3)在弹出的登录界面中,输入root账户的密码,并点击“ok”按钮确认登录。BYYUSHENTHANKYOU

数据库技术与应用BYYUSHEN数据库技术与应用DATABASETECHNOLOGYANDAPPLICATION任务1创建维护数据库任务2创建维护数据表任务3实现数据完整性约束项目模块2数据库

管理篇任务4操作表数据任务5备份与迁移数据库CONTENTSBYYUSHENYOURLOGOAUNIVERSITY01任务1创建维护数据库点击查看本任务知识技术点02任务2创建维护数据表点击查看本任务知识技术点03任务3实现数据完整性约束点击查看本任务知识技术点04任务4操作表数据点击查看本任务知识技术点05任务5备份与迁移数据库点击查看本任务知识技术点BYYUSHEN岗位能力能使用SQL命令和Workbench图形化工具正确创建维护数据库;能使用SQL命令和Workbench图形化工具正确创建维护数据表;能为表中字段列设置合理的约束;能使用SQL命令添、改、删表数据;能使用SQL命令和Workbench图形化工具为数据库进行备份和恢复、导出和导入;能操作迁移数据库;技能证书标准解答客户数据库、表管理的理论和操作问题;指导客户运用SQL的DDL语言建删改查数据库、表;根据客户需求运用SQL的DML语言编写数据管理语句;推荐客户使用合理的备份容灾方案;指导客户数据完整性约束的基本概念、分类、作用,并使用SQL语句定义、命名、更新完整性约束的操作方法及应用;思政素养养成严谨细致的工作态度和操作习惯;认识到事物之间的有机统一和联系,强化制度约束;对工作任务的综合全面考虑的习惯,学会未雨绸缪的前瞻性;科技兴国的抱负,职业责任的担当,不畏困难积极创新的精神;数据库管理

数据库技术与应用项目模块2BYYUSHEN数据库管理

数据库技术与应用项目模块2高校教学质量分析管理系统数据库db_teachingG-EDU格诺博教育公司开发“高校教学质量分析管理系统”,对评价、评分、评学、评教等教学质量相关数据,和教师、学生、课程、专业等教学实体相关数据要进行存储、管理和分析,需先为系统创建后台数据库,并在其中建立相应的数据表来分类存放要管理和分析的数据,教学质量督导处及教师和学生对各表中相应数据可添加、修改、删除。为防止意外或误操作可能导致的数据损坏与丢失,以及迁移数据的需要,通过对数据进行备份恢复、导出导入的管理手段,保障数据的安全性和高可用性。项目模块情境BYYUSHEN任务一创建维护数据库

G-EDU格诺博教育公司开发“高校教学质量分析管理系统”,要将所需管理和分析的原数据能集中共享存放,先为系统创建一个后台数据库db_teaching。若数据库字符集或校对集设置不合适造成数据乱码,可重新修改或删除重建db_teaching数据库。任务描述01BYYUSHEN01

数据库技术与应用2.1.1MySQL服务器中的数据库构成任务一创建维护数据库CreateandmaintaindatabaseMySQL服务器中的数据库包括系统数据库和用户数据库BYYUSHEN01

数据库技术与应用2.1.2字符集与校对集任务一创建维护数据库Createandmaintaindatabase字符集定义了存储字符的方式。校对集(Collation/Collate)则定义了比较这些字符的方式,是在相应的字符集内用于字符比较和排序的一套规则。MySQL中可通过SHOWCHARACTERSET命令和SHOWCOLLATION命令查看所支持的所有字符集和校对集。1认识字符集与校对集BYYUSHEN01

数据库技术与应用2.1.2字符集与校对集任务一创建维护数据库CreateandmaintaindatabaseMySQL常用的字符集及其默认校对集。1认识字符集与校对集BYYUSHEN01

数据库技术与应用2.1.2字符集与校对集任务一创建维护数据库Createandmaintaindatabase设置修改MySQL各层级的默认字符集,可以更改字符集相关系统变量的值来实现。2

MySQL默认字符集的设置修改表2-3与字符集相关的系统变量BYYUSHEN01

数据库技术与应用2.1.2字符集与校对集任务一创建维护数据库Createandmaintaindatabase查看当前MySQL8服务器的字符集变量,设置客户端、服务器、数据库等各级的默认字符集统一为utf8mb4,以避免在转码过程中可能出现的乱码问题。(1)使用“SHOWVARIABLES”命令查看当前MySQL8的字符集变量;mysql>SHOWVARIABLESLIKE'CHARACTER%';(2)通过“SET变量名=值”命令更改客户端、连接层、查询结果字符集为utf8mb4。或者BYYUSHEN01

数据库技术与应用2.1.3创建数据库任务一创建维护数据库CreateandmaintaindatabaseMySQL中使用CREATEDATABASE或CREATESCHEMA命令创建数据库,其SQL命令语法格式如下:CREATEDATABASE|SCHEMA[IFNOTEXISTS]数据库名

[[DEFAULT]CHARACTERSET|CHARSET字符集[[DEFAULT]COLLATE校对集]];CREATEDATABASE或CREATESCHEMA为创建数据库的命令动词关键字。MySQL中的SQL语句可以单行或多行书写,多行书写时可按回车键换行,每个SQL语句完成时以英文分号(;)或者/g结尾。数据库名:可以是字母、数字、下划线组成的字符串,不能用MySQL关键字作为数据库名和表名;默认情况下,在Windows下数据库名和表名的大小写是不敏感的,但在Linux下数据库名和表名的大小写是敏感的,为了便于数据库在平台间的移植,建议用小写字母来定义数据库名和表名。IFNOTEXISTS:MySQL不允许在同一服务器中创建两个同名的数据库,所以如果创建的数据库已存在,则命令执行会报错。可在数据库名前添加IFNOTEXISTS选项,表示如果指定的数据库不存在时才执行创建操作,若已存在则忽略此创建操作,从而避免重名创建的问题。DEFAULT:指定默认字符集或校对集。CHARACTERSET或CHARSET:指定数据库的字符集。COLLATE:指定数据库的校对集。BYYUSHEN01

数据库技术与应用2.1.3创建数据库任务一创建维护数据库Createandmaintaindatabase创建一个名为test_db1的数据库,采用字符集gb2312和校对集gb2312_chinese_ci。mysql>CREATEDATABASEtest_db1CHARSETgb2312COLLATEgb2312_chinese_ci;数据库已经存在,可以通过IFNOTEXISTS关键字使得在创建数据库前进行判断,可避免出现数据库已经存在而再新建重名数据库的错误。mysql>CREATEDATABASEIFNOTEXISTStest_db1CHARSETgb2312;创建一个名为test_db2的数据库,默认MySQL8的字符集utf8mb4及其默认校对集utf8mb4_0900_ai_ci。mysql>CREATEDATABASEtest_db2;BYYUSHEN01

数据库技术与应用2.1.3创建数据库任务一创建维护数据库Createandmaintaindatabase创建数据库时若指定了字符集而没指定校对集,则采用该字符集对应的默认校对集。若字符集和校对集都没指定,则默认采用MySQL8服务器字符集utf8mb4和对应的服务器校对集utf8mb4_0900_ai_ci。MySQL8服务器中创建了一个数据库后,文件系统中会在其存储数据的文件夹data中生成一个与数据库同名的目录,用于保存此数据库相关的对象内容。MySQL8的默认数据存储路径为C:\ProgramData\MySQL\MySQLServer8.0\Data。BYYUSHEN01

数据库技术与应用2.1.4查看数据库任务一创建维护数据库CreateandmaintaindatabaseSHOWDATABASES;1查看MySQL服务器中所有数据库列表数据库创建完成后,可以查看服务器中的所有数据库,以确认数据库是否创建成功。SHOWCREATEDATABASE数据库名;2查看指定数据库的创建信息若要查看某个指定的数据库的创建信息及其字符集校对集,其SQL命令语法格式如下。BYYUSHEN01

数据库技术与应用2.1.5选择数据库任务一创建维护数据库CreateandmaintaindatabaseUSE数据库名

;

USE语句可以实现选择一个数据库使其成为当前数据库。MYSQL-u用户名

-p密码

数据库名在用户登录MySQL服务器时也可以直接选择要操作的当前数据库,命令语法格式如下。登录MySQL服务器同时选择test_db1为当前数据库,登录后,将当前数据库更换为test_db2。C:\WINDOWS\system32>mysql-uroot-ptest_db1mysql>usetest_db2;DatabasechangedBYYUSHEN01

数据库技术与应用2.1.6修改数据库任务一创建维护数据库CreateandmaintaindatabaseALTERDATABASE|SCHEMA[IFNOTEXISTS]数据库名

[[DEFAULT]CHARACTERSET|CHARSET字符集[[DEFAULT]COLLATE校对集]];

ALTERDATABASE修改数据库。修改数据库test_db1的字符集和校对集为MySQL8服务器默认的utf8mb4和utf8mb4_0900_ai_ci。mysql>ALTERDATABASEtest_db1CHARSETutf8mb4;QueryOK,1rowaffected(0.01sec)BYYUSHEN01

数据库技术与应用2.1.7删除数据库任务一创建维护数据库CreateandmaintaindatabaseDROPDATABASE|SCHEMA[IFEXISTS]数据库名

;通过DROPDATABASE或者DROPSCHEMA语句删除已经存在的数据库。。删除数据库test_db1。mysql>DROPDATABASEtest_db1;QueryOK,0rowaffected(0.01sec)DROPDATABASE语句删除数据库时,若待删除的数据库不存在,MySQL服务器会报错。因此,可以在删除数据库时使用“IFEXISTS”选项,删除前会判断该数据库是否存在,只有存在时,才会执行删除操作,避免产生异常。在执行删除数据库操作前,一定要备份需要保留的数据,确保数据的安全。养成严谨的工作态度和操作步骤,才能避免失误的严重后果。BYYUSHEN01

数据库技术与应用2.1.8SQL命令行客户端创建管理数据库任务一创建维护数据库Createandmaintaindatabase1创建“高校教学质量分析管理系统”数据库db_teaching,默认MySQL8服务器字符集utf8mb4及其默认校对集。2查看服务器中已有的数据库清单。BYYUSHEN01

数据库技术与应用2.1.8SQL命令行客户端创建管理数据库任务一创建维护数据库Createandmaintaindatabase3查看db_teaching数据库的创建信息。4选择db_teaching数据库为当前数据库。BYYUSHEN01

数据库技术与应用2.1.9MySQLWorkbench客户端创建管理数据库任务一创建维护数据库Createandmaintaindatabase1创建高校教务管理系统数据库DB_Teaching,默认MySQL8服务器字符集utf8mb4及其默认校对集。并刷新查看服务器中创建的所有数据库。图2-9创建数据库窗口图2-10创建数据库DB_TeachingBYYUSHEN01

数据库技术与应用2.1.9MySQLWorkbench客户端创建管理数据库任务一创建维护数据库Createandmaintaindatabase2查看db_teaching数据库的创建信息。图2-11查看DB_Teaching数据库信息BYYUSHEN01

数据库技术与应用2.1.9MySQLWorkbench客户端创建管理数据库任务一创建维护数据库Createandmaintaindatabase3修改db_teaching数据库的字符集为utf8。图2-12修改DB_Teaching数据库BYYUSHEN01

数据库技术与应用2.1.9MySQLWorkbench客户端创建管理数据库任务一创建维护数据库Createandmaintaindatabase4删除db_teaching数据库。图2-13删除DB_Teaching数据库BYYUSHEN任务二创建维护数据表G-EDU格诺博教育公司创建完成“高校教学质量分析管理系统”的后台数据库后,学生、教师、课程、督导专家、学院、班级、专业、评学评教成绩以及教学质量评价等多方面的数据,需要相应的数据表进行存放和管理。因此需要在db_teaching数据库中建立相应的数据表,用以分别存储不同的数据记录,并能灵活修改数据表的结构以能正确存放数据,对无意义的数据表也能随时删除以释放存储空间。任务描述02BYYUSHEN

数据库技术与应用2.2.1为数据库选择合适的存储引擎任务二创建维护数据表Createandmaintaintable021查看MySQL8支持的存储引擎

MySQL8服务器可通过SHOWENGINES命令查看所支持的存储引擎。查看MySQL8服务器所支持的存储引擎。mysql>SHOWENGINES;BYYUSHEN

数据库技术与应用2.2.1为数据库选择合适的存储引擎任务二创建维护数据表Createandmaintaintable021查看MySQL8支持的存储引擎

MySQL常见存储引擎BYYUSHEN

数据库技术与应用2.2.1为数据库选择合适的存储引擎任务二创建维护数据表Createandmaintaintable022查看和修改MySQL8默认存储引擎(1)查看MySQL8服务器默认存储引擎MySQL8服务器可通过SHOWVARIABLES命令查看服务器默认存储引擎。查看MySQL8服务器默认存储引擎。mysql>SHOWVARIABLESLIKE'default_storage_engine%';BYYUSHEN

数据库技术与应用2.2.1为数据库选择合适的存储引擎任务二创建维护数据表Createandmaintaintable022查看和修改MySQL8默认存储引擎将MySQL8服务器和数据库的默认存储引擎由InnoDB临时修改设置为MyISAM。mysql>SETdefault_storage_engine=MyISAM;QueryOK,0rowsaffected(0.00sec)mysql>SHOWVARIABLESLIKE'default_storage_engine%';(2)修改设置MySQL8默认存储引擎使用SET语句可以为default_storage_engine变量赋值为要修改的存储引擎名,从而修改服务器和数据库临时的默认存储引擎。BYYUSHEN

数据库技术与应用2.2.1为数据库选择合适的存储引擎任务二创建维护数据表Createandmaintaintable02MySQL首选InnoDB数据库存储引擎。InnoDB是MySQL8服务器和数据库的默认事务型存储引擎,也是具有高可靠性和高性能的通用存储引擎,支持事务处理,是为处理巨大数据量的最大性能设计。InnoDB存储引擎完全与MySQL服务器整合,InnoDB表文件大小不受限制,能够自动从灾难中恢复,支持自增列AUTO_INCREAMENT属性。而且MySQL支持外键完整性约束的存储引擎只有InnoDB。2查看和修改MySQL8默认存储引擎BYYUSHEN

数据库技术与应用2.2.2MySQL的数据类型任务二创建维护数据表Createandmaintaintable021整数类型MySQL的整数类型用于保存整数。BYYUSHEN

数据库技术与应用任务二创建维护数据表Createandmaintaintable02各整数类型的字节数和取值范围是确定的,所以无需在类型名称后面再指定数据宽度。如果在整数类型名称后面指定宽度,是指定的显示宽度。比如INT(5),表示该数最大能够显示5位的数值,但数据的取值范围仍是-231~231-1。1整数类型2.2.2MySQL的数据类型BYYUSHEN

数据库技术与应用2.2.2MySQL的数据类型任务二创建维护数据表Createandmaintaintable022浮点与定点类型MySQL中,使用浮点数和定点数来表示小数。浮点数在数据库中存放的是近似值,包括单精度浮点数(FLOAT)和双精度浮点数(DOUBLE);定点数在数据库中存放的是精确值,定点数类型是DECIMAL。BYYUSHEN

数据库技术与应用任务二创建维护数据表Createandmaintaintable02浮点类型也可以设置位数和精度,但仍有可能损失精度。实际应用中,浮点数的定义不建议使用位数和精度,以免影响数据库的迁移,并且避免使用浮点类型,以免出现不能认为控制的问题。对于小数的数据类型的设置,推荐使用定点类型DECIMAL并设置合理范围可以使数值使用和计算更为准确。2浮点与定点类型2.2.2MySQL的数据类型BYYUSHEN

数据库技术与应用2.2.2MySQL的数据类型任务二创建维护数据表Createandmaintaintable023字符(串)类型MySQL中用字符串类型存储字符数据,字符串数据类型又分为CHAR、VARCHAR、TEXT、ENUM、SET等多种类型。BYYUSHEN

数据库技术与应用2.2.2MySQL的数据类型任务二创建维护数据表Createandmaintaintable023字符(串)类型(1)CHAR类型和VARCHAR类型CHAR类型和VARCHAR类型都用于存储较短的字符串。CHAR(M)或VARCHAR(M)参数M表示字符串的长度或最大长度。CHAR类型和VARCHAR类型主要区别在于:CHAR类型的长度固定为创建表时声明的长度,长度可以为0~255的任何值,存储长度与声明时长度一致;而VARCHAR类型的长度是可变的,在创建表时指定最大长度,长度最大值可以取0~65525之间的任意值,但存储长度是根据字符串实际长度使用多少就分配多少。在检索时,CHAR列会删除尾部的空格,而VARCHAR列则保留这些空格。比如CHAR(2)表示定义的CHAR类型的字符串数据长度为2;VARCHAR(10)表示定义的VARCHAR类型的字符串数据最大长度为10。BYYUSHEN

数据库技术与应用2.2.2MySQL的数据类型任务二创建维护数据表Createandmaintaintable023字符(串)类型(2)TEXT类型TEXT类型,只能保存字符数据,一般用于存储比较大的文本,如新闻的内容等。TEXT类型根据允许的长度不同,又可以分为TINYTEXT,TEXT,MEDIUMTEXT及LONGTEXT四种类型。ENUM('值1','值2',...,'值n')(3)ENUM类型ENUM类型又称之为枚举类型,它的值范围需要在创建表时通过枚举方式显示指定。其定义时的基本形式如下:'值1','值2',...,'值n'又称之为枚举列表,ENUM类型的数据只能从枚举列表中取值,并且只能选取其中一个值。如ENUM(’男’,’女’)表示该数据的值只能选取“男”或者“女”,且只能选取其中一个。BYYUSHEN

数据库技术与应用2.2.2MySQL的数据类型任务二创建维护数据表Createandmaintaintable023字符(串)类型(4)SET类型SET类型是一组字符串值。SET类型和ENUM类型非常相似,它的值范围需要在创建表时规定的列表值,其定义格式如下:SET('值1','值2',...,'值n')SET类型的列表中可以包含0~64个成员,SET类型的数据也只能从列表中取值,但可以同时选取多个值。如类型为定义为SET('one','two')的列,合法的值可以是“one”或者“two”、或者是“one”和“two”。BYYUSHEN

数据库技术与应用2.2.2MySQL的数据类型任务二创建维护数据表Createandmaintaintable02ENUM类型的值只能去列表中的一个元素,其取值列表中最多只能有65535个值。列表中的每个值都有一个顺序排列的编号,MySQL中存入的是这个编号,而不是列表中的值。如果ENUM类型加上了NOTNULL属性,其默认值为取值列表中的第一个元素。如果不加NOTNULL属性,ENUM类型将允许插入NULL,而且NULL为默认值。ENUM类型和SET类型的区别:SET类型一次可以选取多个成员,而ENUM则只能选一个,就相当于ENUM类型是单选,而SET类型是复选。3字符(串)类型BYYUSHEN

数据库技术与应用2.2.2MySQL的数据类型任务二创建维护数据表Createandmaintaintable024日期时间类型日期时间类型用于在数据库中存储日期和时间数据。YYYY表示年份,MM表示月份,DD表示日,HH:MM:SS分别表示小时数、分钟数和秒钟数。BYYUSHEN

数据库技术与应用2.2.2MySQL的数据类型任务二创建维护数据表Createandmaintaintable024日期时间类型(1)YEAR类型YEAR类型是用于表示年份的数据类型,有4位和2位的格式,默认为4位的格式,允许的值是1901~2155和0000。给YEAR类型赋值可以有三种方法。第一种是直接插入4位字符串或者4位数字。第二种是插入2位字符串,这种情况下如果插入‘00’~‘69’,则相当于插入2000~2069;如果插入‘70’~‘99’,则相当于插入1970~1999。第二种情况下插入的如果是‘0’,则与插入‘00’效果相同,都是表示2000年。第三种是插入2位数字,它与第二种(插入两位字符串)不同之处仅在于:如果插入的是一位数字0,则表示的是0000,而不是2000年。所以在给YEAR类型赋值时,一定要分清0和‘0’,虽然两者仅相差个引号,但实际效果确实相差了2000年。BYYUSHEN

数据库技术与应用2.2.2MySQL的数据类型任务二创建维护数据表Createandmaintaintable024日期时间类型(2)TIME类型TIME类型是用于表示为时分秒的数据类型,其显示形式为HH:MM:SS。HH表示小时数,取值范围是-838~838,MM和SS分别表示分钟数和秒钟数,取值范围是0~59。给TIME类型赋值可以有三种方法。第一种是以'DHH:MM:SS’字符串格式表示。其中,D表示日,可以取0~34之间的值,插入数据时,小时的值等于(D×24+HH)。如赋值“110:20:30”,则插入数据库中的日期为“34:20:30”。第二种是以'HHMMSS’字符串格式或者HHMMSS数字格式表示。例如,输入’112233'或112233,插入数据库中的日期为“11:22:33”。第三种是使用CURRENT_TIME或NOW()输入当前系统时间。BYYUSHEN

数据库技术与应用2.2.2MySQL的数据类型任务二创建维护数据表Createandmaintaintable024日期时间类型(3)DATE类型DATE类型是用于表示年月日格式的数据类型,其值以YYYY-MM-DD格式来显示,插入数据时,数据可以保持这种格式。MySQL还支持一些不严格的语法格式,分隔符“-”可以用“@”、“.”等符号替代。在插入数据时,也可以使用“YY-MM-DD”格式,YY转化成对应的年份的规则与YEAR类型类似。还可以通过插入CURRENT_DATE或者NOW()来插入当前系统的时间。BYYUSHEN

数据库技术与应用2.2.2MySQL的数据类型任务二创建维护数据表Createandmaintaintable024日期时间类型(4)DATETIME类型DATETIME类型是用于表示日期和时间的数据类型,其显示形式为’YYYY-MM-DDHH:MM:SS’。在MySQL中,可以使用以下4种格式指定DATETIME类型的值。第一种是以’YYYY-MM-DDHH:M:SS’或者’YYYYMMDDHHMMSS’字符串格式表示的日期和时间,取值范围为’1000-01-0100:00:00~’9999-12-323:59:59’。如赋值’2022-04-0518:33:12’或20220405183312,则插入数据库中的DATETIM值都为2014-01-2209:01:23。第二种是以’YY-MM-DDH:MM:SS’或者’YYMMDDHHMMSS’字符串格式表示的日期和时间,其中YY表示年,取值范围为’00’~’99’。与DATE类型中的YY相同,’00’~’69’范围的值会被转换为2000~2069范围的值,’70’~’99’范围的值会被转换为1970~1999范围的值。第三种是以YYYYMMDDHHMMSS或者YYMMDDHHMMSS数字格式表示的日期和时间。如插入20220405183312或者220405183312,插入数据库中的DATETIME值都为2022-04-0518:33:12。第四种是使用NOW()来输入当前的日期和时间。BYYUSHEN

数据库技术与应用2.2.2MySQL的数据类型任务二创建维护数据表Createandmaintaintable024日期时间类型(5)TIMESTAMP类型TIMESTAMP类型和DATETIME类型类似,都是用于表示日期和时间的数据类型,有效范围是'1970-01-0100:00:01'UTC~'2038-01-1903:14:07'UTC。TIMESTAMP的取值范围相对于DATETIME类型比较小,该类型的数据插入方式也与插入DATETIME类型数据类似,二者插入数据方式不同点在于:第一是TIMESTAMP类型插入当前时间时,除了插入DATETIME类型数据的方法外,还可以使用CURRENT_TIMESTAMP插入;第二是输入NULL或无任何输入时,系统都会自动输入当前的系统时间。另外有很特殊的一点,TIMESTAMP的数值是与时区相关的。BYYUSHEN

数据库技术与应用2.2.2MySQL的数据类型任务二创建维护数据表Createandmaintaintable02日期时间类型中的每一种数据类型都有一个有效值范围,当插入值超出有效取值范围时,系统会报错,并将零值插入到数据库中。4日期时间类型BYYUSHEN

数据库技术与应用2.2.2MySQL的数据类型任务二创建维护数据表Createandmaintaintable025二进制类型二进制类型是存储二进制数据的数据类型BYYUSHEN

数据库技术与应用2.2.2MySQL的数据类型任务二创建维护数据表Createandmaintaintable025二进制类型(1)BINARY类型和VARBINARY类型BINARY和VARBINARY类型与CHAR和VARCHAR类似,只是它们存储的是二进制字符串,而非字符型字符串

温馨提示

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

评论

0/150

提交评论