资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,2021/11/27,#,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,2021/11/27,#,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,2021/11/27,#,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,2021/11/27,#,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,2021/11/27,#,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,2021/11/27,#,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,2021/11/27,#,项目1,数据库系统基础知识,目录,CONTENTS,体验数据库的应用,任务,1-1,掌握数据库系统的基本概念,任务,1-2,使用MySQL,任务,1-3,任务1-1体验数据库的应用,01,任务,1-1,体验数据库的应用,(一),Access,数据库,Microsoft Access是当前流行的关系数据库管理系统之一,其核心是Microsoft Jet数据库引擎。通常情况下,安装Microsoft Office时选择“默认安装”,Access数据库即被安装到计算机上。,Microsoft Access是一个非常容易掌握的数据库管理系统,利用它可以创建、修改和维护数据库和数据库中的数据,并且可以利用向导来完成对数据库的一系列操作。Access能够满足小型企业客户/服务器解决方案的要求,是一种功能较完备的系统,它几乎包含了数据库领域的所有技术和内容,对于初学者学习数据库知识非常有帮助。,(三),Oracle,数据库,Oracle是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品。Oracle是目前世界上使用最为广泛的关系数据库,它具有完整的数据管理功能,包括数据的大量性、数据保存的持久性、数据的共享性、数据的可靠性。Oracle在并行处理、实时性、数据处理速度方面都有较好的性能。一般情况下,大型企业选择Oracle作为后台数据库来处理海量数据。,(二),SQL Server 2008,数据库,SQL Server数据库系列历经多次升级已经发展到SQL Server 2008,SQL Server 2008是SQL Server的最新版本,是迄今为止最强大和最全面的SQL Server版本。下面对SQL Server 2008的企业版、标准版和工作组版进行简要说明。,任务,1-1,体验数据库的应用,(四),MySQL,数据库,MySQL数据库是一款开源的关系型数据库,在2009年被Oracle公司收购,但是MySQL仍然是开源的,与其他数据库相比它有着体积小、速度快、使用灵活等特点。很多中小型网站都会选择MySQL作为数据库。,(,五,)SQLite,SQLite是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。这款数据库的运行处理速度比Mysql、PostgreSQL这两款都要快。,任务,1-1,体验数据库的应用,任务1-2掌握数据库系统的基本概念,02,1 概念数据模型,任务1-2掌握数据库系统的基本概念-(一)数据模型,简称为概念模型,表示实体类型及实体间的联系,是独立于计算机系统的模型。,概念模型用于建立信息世界的数据模型,强调其语义表达功能,要求概念简单、清晰,易于用户理解,它是现实世界的第1层抽象,是用户和数据库设计人员之间进行交流的工具。,2 逻辑数据模型,任务1-2掌握数据库系统的基本概念-,(一)数据模型,主要有网状数据模型、层次数据模型和关系数据模型三种类型。此模型既要面向用户,又要面向系统,主要用于数据库管理系统的实现。在数据库中用数据模型来抽象、表示和处理现实世界中的数据和信息,主要是研究数据的逻辑结构。,3.物理数据模型,任务1-2掌握数据库系统的基本概念-,(一)数据模型,不但与具体的数据库管理系统有关,而且还与操作系统和硬件有关。每一种逻辑数据模型在实现时都有与其相对应的物理数据模型。数据库管理系统为了保证其独立性与可移植性,将大部分物理数据模型的实现工作交由系统自动完成,而设计者只设计索引、聚集等特殊结构。,任务1-2掌握数据库系统的基本概念-,(二)概念模型,概念模型是对信息世界的建模,它应当能够全面、准确地描述信息世界,是信息世界的基本概念。,概念模型的表示方法很多,其中最为著名和使用最为广泛的是P.P.Chen于1976年提出的E-R(Entity-Relationship)模型。,任务1-2掌握数据库系统的基本概念-,(二)概念模型,E-R图通用的表示方式如下。,(1)用矩形框表示实体型,在框内写上实体名。,(2)用椭圆形框表示实体的属性,并用无向边把实体和属性连接起来。,(3)用菱形框表示实体间的联系,在菱形框内写上联系名,用无向边分别把菱形框与有关实体连接起来,在无向边旁注明联系的类型。如果实体间的联系也有属性,则把属性和菱形框也用无向边连接起来。,任务1-2掌握数据库系统的基本概念-,(二)概念模型,图,1-2,班级学生E-R图,图,1-3,课程学生E-R图,任务1-2掌握数据库系统的基本概念-,(,三,)数据模型的要素和种类,图,1-2,班级学生E-R图,图,1-3,课程学生E-R图,任务1-2掌握数据库系统的基本概念-,(,三,)数据模型的要素和种类,1,、数据模型的三要素,(1)数据结构,数据结构用于描述系统的静态特征,包括数据的类型、内容、性质及数据之间的联系等。它是数据模型的基础,也是刻画一个数据模型性质最重要的方面。常见的数据模型有层次模型、网状模型和关系模型,(2)数据操作,数据操作用于描述系统的动态特征,数据库对数据主要操作有插入、修改、删除和查询4种操作。数据模型必须定义这些操作的确切含义、操作符号、操作规则及实现操作的语言。,(3)数据约束,数据的约束条件实际上是一组完整性规则的集合。完整性规则是指给定数据模型中的数据及其联系所具有的制约和存储规则,用以限定符合数据模型的数据库及其状态的变化,以保证数据的正确性、有效性和相容性。例如,在银行系统中任何两个用户不能有相同的账户,或者年龄的取值不能为负,都属于完整性规则。,任务1-2掌握数据库系统的基本概念-,(,三,)数据模型的要素和种类,2,、常见的数据模型,层次模型,:,用“树”结构来表示数据之间的关系,网状模型,:,用“图”结构来表示数据之间的关系,关系模型,:,用“表”结构(或称关系)来表示数据之间的关系。,任务1-2掌握数据库系统的基本概念-,(四)关系模型,(1)关系(Relation)。一个关系就是一张二维表,见下表:,1,、关系模型的数据结构,姓名,性别,出生日期,专业,20201061,张三,男,1999-02-30,计算机技术,20201061,李四,女,1998-12-30,计算机应用,20201061,王五,男,1998-02-09,信息管理,任务1-2掌握数据库系统的基本概念-,(四)关系模型,(2)元组(Tuple)。元组也称记录,关系表中的每行对应一个元组,组成元组的元素称为分量。,数据库中的一个实体或实体之间的一个联系均使用一个元组来表示,(3)属性(Attribute)。表中的一列即为一个属性,给每个属性取一个名称为属性名。,属性具有型和值两层含义:属性的型指属性名和属性值域;属性的值是指属性具体的取值。,任务1-2掌握数据库系统的基本概念-,(四)关系模型,(4)域(Domain)。属性的取值范围。,(5)分量(Component)。元组中的一个属性值。,(6)候选码(Candidate key)。若关系中的某一属性或属性组的值能唯一标识一个元组,且从这个属性组中去除任何一个属性,都不再具有这样的性质,则称该属性或属性组为候选码(Candidate key),候选码简称为码。,(7)主码(Primary key)。若一个关系中有多个候选码,则选定其中一个为主码。,任务1-2掌握数据库系统的基本概念-,(四)关系模型,(10)关系模式(Relation Schema):通数据模型一样,数据库也有型和值,在关系数据库中关系模式是型,关系是值,关系模式是对关系的描述。对关系的描述一般表示为:关系名(属性1,属性2,属性3,属性n),(8)全码(All-key)。在最简单的情况下,候选码只包含一个属性;在最极端的情况下,关系模式的所有属性是这个关系模式的候选码,称为全码。全码是候选码的特例。,(9)主属性(Prime Attribute)和非主属性(Non-prime Attribute)。在关系中,候选码中的属性称为主属性,不包含在任何候选码中的属性称为非主属性。,任务1-2掌握数据库系统的基本概念-,(五)数据库系统的组成,1 数据库(DataBase,DB),数据库是一个长期存储在计算机内的、有组织的、有共享的、统一管理的数据集合,具有较小的冗余度、较高的数据独立性和易扩展性。是一个按数据结构来存储和管理数据的计算机软件系统。,任务1-2掌握数据库系统的基本概念-,(五)数据库系统的组成,2 数据库管理系统(DataBase Management System,DBMS),数据库管理系统是一种操纵和管理数据库的大型软件,是用于建立、使用和维护数据库,简称DBMS。它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。用户通过DBMS访问数据库中的数据,数据库管理员也通过DBMS进行数据库的维护工作。它提供多种功能,可使多个应用程序和用户用不同的方法在同时或不同时刻去建立,修改和询问数据库。它使用户能方便地定义和操纵数据,维护数据的安全性和完整性,以及进行多用户下的并发控制和恢复数据库。目前比较流行的DBMS有Oracle、Access、SQL Server、MySQL等。,任务1-2掌握数据库系统的基本概念-,(五)数据库系统的组成,3 数据库系统(DataBase System,DBS),数据库系统DBS(Data Base System,简称DBS)是一个实际可运行的存储、维护和应用系统提供数据的软件系统,是存储介质、处理对象和管理系统的集合体。它通常由计算机硬件、数据库、数据库管理系统、数据库应用系统和数据库用户组成。,任务1-3 使用MySQL,03,任务1-3 使用MySQL-,(一)MySQL安装和配置,1 下载MySQL,任务1-3 使用MySQL-,(一)MySQL安装和配置,2 在window平台安装与配置MySQL,任务1-3 使用MySQL-,(一)MySQL安装和配置,2 在window平台安装与配置MySQL,任务1-3 使用MySQL-,(二)启动或停止MySQL服务,2 在window平台安装与配置MySQL,任务1-3 使用MySQL-,(二)启动或停止MySQL服务,1 Window 服务管理器,任务1-3 使用MySQL-,(二)启动或停止MySQL服务,2,DOS命令,任务1-3 使用MySQL-,(三)登录MySQL数据库,dos命令登录成功后界面,使用MySQL 8.0 Command Line Client,任务1-3 使用MySQL-,(四)MySQL常用图形化管理工具,Navicat,运行界面,phpMyAdmin,运行界面,任务1-3 使用MySQL-,(四)MySQL常用图形化管理工具,MySQL Workbench运行界面,SQLyog,运行界面,THANK,YOU,项目2 设计商品信息管理数据库,MySQL数据库原理及应用,目录,CONTENTS,了解数据库设计,任务2-1,需求分析,任务,2-2,概念结构设计,任务2-,3,逻辑结构设计,任务2-,4,数据库的物理设计,任务2-,5,数据库的实施、运行和维护,任务,2-6,设计商品信息管理数据库,任务2-,7,任务2-1了解数据库设计,01,任务2-1 了解数据库设计,任务2-2需求分析,02,任务2-2需求分析-,(一)需求分析的任务及目标,THE,CLEAN,TEMPLATE,需求分析的任务是通过详细调查现实世界要处理的对象(组织、部门、企业等),充分了解原系统(手工系统或计算机系统)的工作概况,明确用户的各种需求,然后在此基础上确定新系统的功能。,任务2-2需求分析-,(二)需求分析的方法,1,调查用户需求的步骤,2 常用调查方法,任务2-3概念结构设计,03,任务2-3概念结构设计,(一)概念结构设计的方法和步骤,(1)自顶向下。,(2)自底向上。,(3)逐步扩张。,(4)混合策略。,任务2-3概念结构设计,(一)概念结构设计的方法和步骤,任务2-3概念结构设计,(二)局部E-R模型设计,(1)根据需求分析所产生的文档,确定每一局部结构的范围。每个应用系统都可以分成几个子系统,每个子系统又可以进一步划分成更小的子系统。设计局部E-R模型的第一步就是选择适当层次的子系统,这些子系统中的每一个对应了一个局部应用。从这些子系统出发,设计各个局部E-R模型。分析每一局部结构所包含的实体、属性和相互间的联系,设计每一局部结构的E-R图,直到所有的局部E-R图都设计完为止。,(2)针对某个局部应用,分块设计分E-R模型。选择好一个局部应用后,就要对每个局部应用逐一设计分E-R模型,就是把一个局部应用继续分块。然后参照数据流图和数据字典确定局部应用中的实体、实体的属性、键,确 定实体间的联系。,任务2-3概念结构设计,(二)局部E-R模型设计,图,2-6,学生选课局部,E-R图,图,2-7,教师授课局部,E-R,图,任务2-3概念结构设计,(三)全局E-R模型设计,图,2,-,8,全局,E-R,模型设计,任务2-3概念结构设计,(三)全局E-R模型设计,图,2-9,优化后的全局,E-R,图,任务2-4逻辑结构设计,04,任务2-4逻辑结构设计,(一)初始关系模式设计,(,1)实体转为关系模式:实体名称即是关系模式的名称,实体的属性则为关系模式的属性,实体的主键就是关系模式的主键。,图,2-10,商品,E-R,图,任务2-4逻辑结构设计,(一)初始关系模式设计,(,2)联系的转换,1,1,:,1,联系的转换:可以转换一个独立的关系,也可以与任意一端的关系模式合并,图,2-11,学生与床位,E-R,图,任务2-4逻辑结构设计,(一)初始关系模式设计,1,:,n,联系的转换:联系不单独对应一个关系模式,把,“1”端主键加入到“n”端,构成2个关系模式,图,2-12,学生与班级,E-R,图,任务2-4逻辑结构设计,(一)初始关系模式设计,m,:,n,联系的转换:将联系转换为一个独立的关系模式,其属性为两端实体的键加上联系的属性,两端实体的键组成该关系模式的键或者键的一部分。,图,2-13,学生与图书,E-R,图,任务2-4逻辑结构设计,(二)关系模式的规范化,规范化理论把关系应满足的规范要求称为范式,满足最低要求的一级叫做第一范式(1NF),在第一范式的基础上提出了第二范式(2NF),在第二范式的基础上又提出了第三范式(3NF),以后又提出了BCNF范式,4NF,5NF。范式的等级越高,应满足的约束集条件也越严格。通常情况下,数据规范到第三范式就能够减少数据冗余、消除插入异常、更新异常和删除异常。,任务2-4逻辑结构设计,(二)关系模式的规范化,第一范式,如果关系模式,R,中不包含多值属性,(,每个属性必须是不可分的数据项,),,则,R,满足第一范式,(First Normal Form),,记作,R1NF,。,第二范式,第三范式,如果关系模式,R,(,U,,,F,)1NF,,且,R,中的每个非主属性完全函数依赖于,R,的某个候选码,则,R,满足第二范式,(Second Normal Form),,记作,R,2NF,。,如果关系模式,R,(,U,,,F,)2NF,,且每个非主属性都不传递函数依赖于任何候选码,则,R,满足第三范式,(Third Normal Form),,记作,R,3NF,。,任务2-5数据库的物理设计,05,任务2-5数据库的物理设计,(一)关系模式存取方法选择,数据库系统是多用户共享的系统,对同一个关系要简历多条存取路径才能满足多用户的多种应用要求。物理结构设计的任务之一是根据关系数据库管理系统支持的存取方法确定选择哪些存取方法。存取方法是快速存取数据库中数据的技术。数据库管理系统一般提供索引方法和聚簇方法。,1 索引方法,2.聚簇存取方法的选择,任务2-5数据库的物理设计,(二)确定数据库的存储结构,确定数据库物理结构主要指确定数据的存放位置和存储结构,包括确定关系、索引、聚簇、日志、备份等的存储安排和存储结构,确定系统配置等。确定数据的存放位置和存储结构要综合考虑存取时间、存储空间利用率和维护代价三方面的因素。这三个方面常常是相互矛盾的,因此需要进行权衡选择一个折中方案。,(1)确定数据的存放位置,(2)确定系统配置,任务2-6数据库的实施、运行和维护,06,任务2-6数据库的实施、运行和维护,(一)数据库的实施,数据库实施阶段包括数据的载入与应用程序的编码和调试,一般数据库系统中数据量都很大,而且数据来源于部门中的各个不同的单位,数据的组织方式、结构和格式都与设计的数据库系统有相当的差距。组织数据载入就要将各类源数据从各个局部应用中抽取出来。输入计算机,再分类转换,最后的综合成符合新设计的数据库结构的形式,输入数据库。,任务2-6数据库的实施、运行和维护,(二)数据库的运行与维护,1,3,2,4,1 数据库的转储和恢复,2 数据库的安全性、完整性控制,3数据库信息的监督、分析和改进,4 数据库的重组织和构造,任务2-7设计商品信息管理数据库,07,任务2-7设计商品信息管理数据库,(一)数据库需求分析,为了收集数据库需要的信息,设计人员同商场管理人员和系统操作者进行了交谈,从交谈记录中,记录了如下要点。,(1)数据库要存储商品基本信息、员工基本信息、供货商基本信息。,(2)根据工作要求查询数据,如浏览商品的基本信息,查看员工基本信息等。,(3)根据要求完成各种数据的统计信息,例如查询某位员工销售某种商品的销售量,查询某种类别的商品有多少种类,查询指定商品的供货商。,(4)数据库管理人员可以修改数据,数据库操作人员可以查询数据。,(5)使用关系数据库模型,任务2-7设计商品信息管理数据库,(一)数据库需求分析,为了收集数据库需要的信息,设计人员同商场管理人员和系统操作者进行了交谈,从交谈记录中,记录了如下要点。,(1)数据库要存储商品基本信息、员工基本信息、供货商基本信息。,(2)根据工作要求查询数据,如浏览商品的基本信息,查看员工基本信息等。,(3)根据要求完成各种数据的统计信息,例如查询某位员工销售某种商品的销售量,查询某种类别的商品有多少种类,查询指定商品的供货商。,(4)数据库管理人员可以修改数据,数据库操作人员可以查询数据。,(5)使用关系数据库模型,任务2-7设计商品信息管理数据库,(二)创建E-R模型,图,2-14,商品员工,E-R图,任务2-7设计商品信息管理数据库,(二)创建E-R模型,图,2-15,商品供应商,E-R图,任务2-7设计商品信息管理数据库,(二)创建E-R模型,图,2-16,商品与类别,E-R图,任务2-7设计商品信息管理数据库,(二)创建E-R模型,图,2-17,商品与仓库,E-R图,任务2-7设计商品信息管理数据库,(三)设计关系模式,在商品信息管理系统全局E-R图联系有两种类型:一对多联系和多对多联系,其中对于一对多联系不单独创建关系模式,通过添加到n端建立关系模式。得到关系模式如下:,商品(商品编号,商品名称,商品单位,商品价格,类别编号),供应商(供应商编号,名称,地址),类别(类别编号,类别名称),员工(员工编号,姓名,部门,职务,电话),供应(供应商编号,商品编号,供应量),销售(员工编号,商品编号,销售量),仓库(仓库编号,仓库名称),库存(仓库编号,商品编号,库存量),任务2-7设计商品信息管理数据库,(四)规范化,从第一范式开始,一步步对第三步骤得到关系模式进行规范化。,最终关系模式如下。,商品(商品编号,商品名称,商品单位,商品价格,类别编号),供应商(供应商编号,名称,地址),类别(类别编号,类别名称),员工(员工编号,姓名,部门,职务,电话),供应(供应商编号,商品编号,供应量),销售(员工编号,商品编号,销售量),仓库(仓库编号,仓库名称),库存(仓库编号,商品编号,库存量),THANK,YOU,项目3,创建与维护,MySQL,数据库,MySQL数据库原理及应用,目录,CONTENTS,认识,SQL,任务,1,了解,MySQL,数据库,任务,2,创建数据库,任务,3,打开数据库,任务,4,删除数据库,任务,5,理解,MySQL,数据库的存储引擎,任务,6,认识,SQL,01,认识,SQL,1.SQL,简介,结构化查询语言(,Structured Query Language,)简称,SQL,,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。,SQL,语言,1974,年由,Boyce,和,Chamberlin,提出,并首先在,IBM,公司研制的关系数据库系统,SystemR,上实现。由于它具有功能丰富、使用方便灵活、语言简洁易学等突出的优点,深受计算机工业界和计算机用户的欢迎。,2.SQL,特点,风格统一,高度非过程化,面向集合的操作方式,以同一种语法结构提供两种使用方式,语言简洁,易学易用,认识,SQL,3.SQL,语句结构,1,)数据定义语言,用来创建或删除数据库以及表等对象:,DROP,:删除数据库和表等对象,CREATE,:创建数据库和表等对象,ALTER,:修改数据库和表等对象的结构,2,)数据操作语言,用来变更表中的记录:,INSERT,:向表中插入新数据,UPDATE,:更新表中的数据,DELETE,:删除表中的数据,3,)数据查询语言,用来查询表中的记录,主要包含,SELECT,命令,来查询表中的数据。,4,)数据控制语言,用来确认或者取消对数据库中的数据进行的变更:,GRANT,:赋予用户操作权限,REVOKE,:取消用户的操作权限,COMMIT,:确认对数据库中的数据进行的变更,ROLLBACK,:取消对数据库中的数据进行的变更,认识,SQL,4.SQL,的基本书写规范,1,),SQL,语句要以,英文,分号(,;,)结尾。,2,),SQL,语句不区分大小写,,但为了书写规范需要关键字大写、表名的首字母大写、其余(列名等)小写。,3,)常数的书写方式是固定的:,SQL,语句中含有字符串的时候,需要像,abc,这样,使用英文单引号将字符串括起来,用来标识这是一个字符串。,SQL,语句中含有日期的时候,同样需要使用英文单引号将其括起来。日期的格式有很多种(,26 Jan 2010,或者,10/01/26,等)。,在,SQL,语句中书写数字的时候,不需要使用任何符号标识,直接写成,1000,这样的数字即可。,4,),单词之间需要使用半角空格或者换行符进行分隔。,了解,MySQL,数据库,02,了解,MySQL,数据库,1.,什么是,MySQL,MySQL,是一个关系型数据库管理系统,由瑞典,MySQL AB,公司开发,属于,Oracle,旗下产品。,MySQL,是最流行的关系型数据库管理系统之一,在,WEB,应用方面,,MySQL,是最好的,RDBMS(Relational Database Management System,,关系数据库管理系统,),应用软件之一。,2.MySQL,的特点,1,),MySQL,是开放源代码的数据库;,2,),MySQL,的跨平台性,可以在,Windows,、,UNIX,、,Linux,和,Mac OS,等操作系统上运行;,3,)价格优势,社区版本的,MySQL,是免费试用的,付费的附加功能其价格也是很便宜。,4,)功能强大且使用方便,是一个真正的多用户、多线程,SQL,数据库服务器。,创建数据库,03,创建数据库,1.,使用,Navicat,工具创建商品信息管理数据库,1,)首先登陆,Navicat,,然后顺利连接数据库。,2,)在,localhost,开头的地址上点右键,然后点击“新建数据库”。,3,)之后弹出“新建数据库”对话框,在“常规”选项卡中需要设置数据库名、字符集和排序规则。,4,)正常情况下,建议数据库名字以英文命名,字符集选择,utf8,排序规则选择,utf8_general_ci,。在这里将商品信息管理数据库名命名为,merchandise,,字符集选择,utf8,,排序规则选择,utf8_general_ci,,如下图所示。设置完成之后点击“确定”。,5,)之后可以看到,merchandise,数据库创建成功,点击,merchandise,数据库,可以看到此时尚未创建任何的表。,创建数据库,2.,使用,CREATE,DATABASE,语句创建商品信息管理数据库,1,),CREATE,DATABASE,语法说明,在,MySQL,中,可以使用,CREATE DATABASE,语句创建数据库,语法格式如下:,CREATE DATABASE IF NOT EXISTS,DEFAULT CHARACTER SET,DEFAULT COLLATE;,中的内容是可选的。语法说明如下:,:,创建数据库的名称。,MySQL,的数据存储区将以目录方式表示,MySQL,数据库,因此数据库名称必须符合操作系统的文件夹命名规则,不能以数字开头,尽量要有实际意义。注意在,MySQL,中不区分大小写。,IF NOT EXISTS,:,在创建数据库之前进行判断,只有该数据库目前尚不存在时才能执行操作。此选项可以用来避免数据库已经存在而重复创建的错误。,DEFAULT CHARACTER SET,:,指定数据库的字符集。指定字符集的目的是为了避免在数据库中存储的数据出现乱码的情况。如果在创建数据库时不指定字符集,那么就使用系统的默认字符集。,DEFAULT COLLATE,:,指定字符集的排序规则。,创建数据库,2.,使用,CREATE,DATABASE,语句创建商品信息管理数据库,2,)最简单的创建商品信息数据库的语句,在,MySQL,命令行客户端输入“,CREATE DATABASE merchandise;”,命令即可创建商品信息数据库(注:语句要以英文分号结尾。),3,)创建商品信息数据库时指定字符集和排序规则,指定其默认字符集为,utf8,,排序规则为,utf8_general_ci,,输入的,SQL,语句如下:,CREATE DATABASE merchandise,DEFAULT CHARACTER SET utf8,DEFAULT COLLATE utf8_general_ci;,打开数据库,04,打开数据库,1.,使用,Navicat,工具打开商品信息管理数据库,登陆,Navicat,,然后连接数据库,连接成功后会显示现有的数据库列表,在需打开的数据库名称上双击即可打开该数据库。,2.,使用,USE,语句打开商品信息管理数据库,可以,用,USE,来指定当前数据库。其语法格式为:,USE,指定后再输入“,SHOW TABLES;”,命令即可显示该数据库中已经创建的表格。,删除数据库,05,删除数据库,1.,使用,Navicat,工具删除商品信息管理数据库,1,)在要删除的,数据库上点击鼠标右键,在弹出的右键菜单中点击“删除数据库”选项。,2,)弹出的对话框中,点击“删除”按钮即可删除,选定的,数据库。,删除数据库,2.,使用,DROP,DATABASE,语句删除商品信息管理数据库,1,),DROP DATABASE,语法说明,在,MySQL,中,当需要删除已创建的数据库时,还可以使用,DROP DATABASE,语句。其语法格式为:,DROP DATABASE IF EXISTS ,语法说明如下:,:指定要删除的数据库名。,IF EXISTS,:用于防止当数据库不存在时发生错误。,DROP DATABASE,:删除数据库中的所有表格并同时删除数据库。,使用,DROP DATABASE,命令时要非常谨慎,在执行该命令后,,MySQL,不会给出任何提示确认信息。,DROP DATABASE,删除数据库后,数据库中存储的所有数据表和数据也将一同被删除,而且不能恢复。因此最好在删除数据库之前先将数据库进行备份。,删除数据库,2.,使用,DROP,DATABASE,语句删除商品信息管理数据库,2,),DROP DATABASE,删除数据库操作,在,MySQL,命令行客户端输入“,DROP DATABASE merchandise;,”命令即可删除商品信息数据库。,如果使用IF EXISTS从句,可以防止系统报此类错误,输入的命令为“DROP DATABASE IF EXISTS merchandise;”,理解,MySQL,数据库的存储引擎,06,理解,MySQL,数据库的存储引擎,1.,存储引擎简介,存储引擎就是存储数据、为存储的数据建立索引和更新、查询数据等技术的实现方法。,在Oracle和SQL Server等数据库中只有一种存储引擎,所有数据存储管理机制都是一样的。,MySQL支持的存储引擎有InnoDB、MyISAM、Memory、Merge、Archive、Federated、CSV和BLACKHOLE等。,InnoDB存储引擎:,InnoDB是事务型数据库的首选引擎,是具有提交、回滚和崩溃恢复能力的事务安全存储引擎,支持行锁定和外键约束。从MySQL 5.5.5之后,InnoDB作为默认存储引擎。,MyISAM,存储引擎:,MyISAM,存储引擎是,MySQL,中常见的存储引擎,曾是,MySQL,的默认存储引擎,不支持事务、外键约束,但访问速度快,对事务完整性不要求,适合于以,SELECT/INSERT,为主的表。,MEMORY,存储引擎:,MEMORY,存储引擎是,MySQL,中一类特殊的存储引擎。该存储引擎使用存在于内存中的内容来创建表,每个表实际对应一个磁盘文件,格式为,.frm,。这类表因为数据在内存中,且默认使用,HASH,索引,所以访问速度非常快;但一旦服务关闭,表中的数据就会丢失。,理解,MySQL,数据库的存储引擎,2.,存储引擎的选择,如果要提供提交、回滚的崩溃恢复能力的事务安全能力,并要求实现并发控制,则,InnoDB,是一个很好的选择。,如果数据表主要用来插入和查询记录,则,MyISAM,引擎能提供较高的处理效率。,如果只是临时存放数据,数据量不大,并且不需要较高的数据安全性,则可以选择将数据保存在内存中的,Memory,引擎,。,功能,InnoDB,MyISAM,Memory,存储限制,64TB,256TB,RAM,支持事务,支持,无,无,空间使用,高,低,低,内存使用,高,低,高,支持数据缓存,支持,无,无,插入数据速度,低,高,高,支持外键,支持,无,无,THANK,YOU,项目5,查询与维护商品信息管理数据表,MySQL数据库原理及应用,目录,CONTENTS,掌握简单数据查询,任务,1,掌握多表连接查询,任务,2,理解嵌套查询,任务,3,理解集合查询,任务,4,数据更新,任务,5,掌握简单数据查询,01,掌握简单数据查询,1.,单表无条件数据查询,语法格式如下:,SELECT FROM,在字段列名中,多个不同字段列名用英文逗号“,”分隔,,SELECT,语句只返回相应字段的数据。,如果要显示所有字段,可以使用星号(*)来代替,,SELECT,语句会返回表的所有字段数据。,掌握简单数据查询,2.,使用,WHERE,子句实现条件查询,在 MySQL 中,如果需要有条件的从数据表中查询数据,可以使用 WHERE 关键字来指定查询条件。使用 WHERE 关键字的语法格式如下:,WHERE 查询条件可以是:,带比较运算符和逻辑运算符的查询条件,带 BETWEEN AND 关键字的查询条件,带 IS NULL 关键字的查询条件,带 IN 关键字的查询条件,带 LIKE 关键字的查询条件,掌握简单数据查询,2.,使用,WHERE,子句实现条件查询,1)单一条件查询,单一条件指的是在 WHERE 关键字后只有一个查询条件。,2)多条件查询,在 WHERE 关键词后可以有多个查询条件,这样能够使查询结果更加精确,AND:记录满足所有查询条件时,才会被查询出来。,OR:记录满足任意一个查询条件时,才会被查询出来。,XOR:记录满足其中一个条件,并且不满足另一个条件时,才会被查询出来。,掌握简单数据查询,3.,使用常用聚集函数统计数据,函数名,作用,MAX(column),返回某列的最低值(有则不会返回,NULL,,没有则返回,NULL,),MIN(column),返回某列的最高值(没有则返回,NULL,),COUNT(column),返回某列的行数(不包括,NULL,值),COUNT(*),返回被选列行数(包括,NULL,),SUM(column),求和,AVG(column),求平均值,掌握简单数据查询,4.,分组筛选数据,在 MySQL 中,GROUP BY 关键字可以根据一个或多个字段对查询结果进行分组。在分组的列上我们可以使用 COUNT,SUM,AVG,等函数。使用 GROUP BY 关键字的语法格式如下:,GROUP BY ,其中,“字段名”表示需要分组的字段名称,多个字段时用逗号隔开。,1)GROUP BY单独使用,单独使用,GROUP BY,关键字时,查询结果会只显示每个分组的第一条记录。,2,),GROUP BY,与聚合函,在数据统计时,,GROUP BY,关键字经常和聚合函数一起使用。,掌握简单数据查询,5.,对查询结果进行排序,通过条件查询语句可以查询到符合用户需求的数据,但是查询到的数据一般都是按照数据最初被添加到表中的顺序来显示。为了使查询结果的顺序满足用户的要求,MySQL 提供了 ORDER BY 关键字来对查询结果进行排序。其语法格式如下:,ORDER BY ASC|DESC,语法说明如下。,字段名:表示需要排序的字段名称,多个字段时用逗号隔开。,ASC|DESC:ASC表示字段按升序排序;DESC表示字段按降序排序。其中ASC为默认值。,使用 ORDER BY 关键字应该注意以下几个方面:,ORDER BY 关键字后可以跟子查询。,当排序的字段中存在空值时,ORDER BY 会将该空值作为最小值来对待。,ORDER BY 指定多个字段进行排序时,MySQL 会按照字段的顺序从左到右依次进行排序。,掌握多表连接查询,02,掌握多表连接查询,1.,交叉连接,多个表交叉连接时,在 FROM 后连续使用“CROSS JOIN”或逗号“,”即可。两种语法的返回结果是相同的,但是第一种语法是官方建议的标准写法。,交叉连接的语法格式如下:,SELECT FROM CROSS JOIN WHERE子句,或,SELECT FROM,WHERE子句,语法说明如下:,字段名:需要查询的字段名称。,:需要交叉连接的表名。,WHERE 子句:用来设置交叉连接的查询条件。,当连接的表之间没有关系时,我们会省略掉,WHERE,子句,这时返回结果就是两个表的笛卡尔积,返回结果数量就是两个表的数据行相乘。,掌握多表连接查询,1.,交叉连接,SELECT*FROM goods_tb CROSS JOIN catalogs_tb;,掌握多表连接查询,1.,交叉连接,为了将无意义的数据过滤掉,需要用在交叉连接时使用,WHERE,子句,。,SELECT*FROM good
展开阅读全文