《MySQL数据库应用项目教程》全套教学课件_第1页
《MySQL数据库应用项目教程》全套教学课件_第2页
《MySQL数据库应用项目教程》全套教学课件_第3页
《MySQL数据库应用项目教程》全套教学课件_第4页
《MySQL数据库应用项目教程》全套教学课件_第5页
已阅读5页,还剩328页未读 继续免费阅读

下载本文档

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

文档简介

MySQL数据库应用

项目教程MySQL数据库应用项目1走进数据库.pptxMySQL数据库应用项目2走进关系代数.pptxMySQL数据库应用项目3设计数据库.pptxMySQL数据库应用项目4实现数据库.pptxMySQL数据库应用项目5数据库编程.pptxMySQL数据库应用项目6数据库运维.pptxMySQL数据库应用项目7走进NoSQL.pptx全套可编辑PPT课件项目一走进数据库全套可编辑PPT课件1.1初识数据库技术

1.2探索数据模型

1.3探索数据库系统

1.1初识数据库技术

全套可编辑PPT课件1.1初识数据库技术1.1.1数据库的相关概念 数据、数据库、数据库管理系统和数据库系统是密切相关的4个基本概念。 数据(Data) 数据库(DataBase,DB) 数据库管理系统(DataBaseManagementSystem,DBMS) 数据库系统(DataBaseSystem,DBS)全套可编辑PPT课件1.1初识数据库技术-数据库的相关概念1.数据(Data)数据是指数据库中存储的基本对象。对数据做如下定义:描述事物的符号记录称为数据。描述事物的符号既可以是数字,也可以是文字、图形、图像、音频、视频等。虽然数据有多种表现形式,但是它们都可以经过数字化后存储在计算机中。人们可以使用自然语言(如汉语)来描述事物。例如,用自然语言来描述某校金融系一位同学的基本情况:张三,男,2003年5月出生,北京市东城区人,金融系,2021年入学;

计算机中通常这样来描述:(张三,男,200305,北京市东城区,金融系,2021)。1.1初识数据库技术-数据库的相关概念2.数据库(DataBase,DB)数据库是指存储数据的库房,只不过这个库房是在计算机的存储设备上,而且数据是按一定的格式存储的。数据库是长期存储在计算机中、有组织的、可共享的大量数据的集合。数据库中的数据按一定的数据模型进行组织、描述和存储,具有较小的冗余度(Redundancy)、较高的数据独立性(DataIndependence)和可扩展性(Scalability),并可被各种用户共享。数据库中的数据具有永久存储、有组织和可共享三个基本特点。1.1初识数据库技术-数据库的相关概念3.数据库管理系统(DataBaseManagementSystem,DBMS)数据库管理系统是负责科学地组织和存储数据及高效地检索和维护数据的系统软件。数据库管理系统位于用户与操作系统之间,它和操作系统一样是计算机的基础软件,也是一个庞大而复杂的软件系统。数据库管理系统的主要功能如下。(1)数据定义功能。(2)数据的组织、存储和管理功能。(3)数据操纵功能。(4)事务管理和运行管理功能。(5)建立和维护功能。1.1初识数据库技术-数据库的相关概念4.数据库系统(DataBaseSystem,DBS)数据库系统是指在计算机系统中引入数据库后由数据库及其管理软件组成的系统。数据库系统是为满足数据处理的需要而建立起来的一种数据处理的核心机构,它既是一个实际可运行的存储、维护和为应用系统提供数据的软件系统,也是存储介质、处理对象与管理系统的集合体。数据库系统一般由数据库、数据库管理系统、数据库管理员(DataBaseAdministrator,DBA)及应用程序4个部分组成,其核心是数据库管理系统。1.1初识数据库技术-数据库管理技术的产生和发展1.1.2数据库管理技术的产生和发展研制计算机的初衷是利用它来进行科学计算的。但是随着计算机硬件与软件技术的发展,计算机的应用场景远远超出了这个范围。在应用需求的推动下,在计算机硬件与软件技术发展的基础上,数据库管理技术的发展经历了人工管理、文件系统、数据库系统和高级数据库系统4个阶段。1.人工管理阶段2.文件系统阶段3.数据库系统阶段4.高级数据库系统阶段1.1初识数据库技术-数据库系统的特点1.1.3数据库系统的特点(7)数据的安全性(Security)。(8)数据的完整性(Integrity)。(9)并发控制。(10)数据库恢复(Recovery)。相较于文件管理数据的方式,数据库系统的主要特点如下。(1)数据结构化。(2)数据的共享性。(3)数据冗余度低。(4)数据的一致性。(5)物理独立性。(6)逻辑独立性。1.2探索数据模型

1.2探索数据模型-两类数据模型1.2.1两类数据模型数据模型(DataModel)是一种具体的模型,它是用来描述数据结构、数据组织和数据操作方式的。由于计算机是用于间接处理现实世界中的具体事物的,所以人们必须事先把具体事物转换成计算机能够处理的数据,即数字化。把现实世界中具体的人、物、活动、概念等用数据模型来抽象、表示和处理。现有的数据库系统均是基于某种数据模型构建的。数据模型是数据库系统的核心和基础。1.数据模型的组成(1)数据结构(DataStructure)。(2)数据操作(DataOperation)。(3)数据约束(DataConstraint)。1.2探索数据模型-两类数据模型2.两类数据模型第一类概念模型第二类逻辑模型和物理模型为了把现实世界中的具体事物抽象、组织为某个数据库管理系统支持的数据模型,人们常常将现实世界抽象为信息世界,然后将信息世界转换为机器世界。1.2探索数据模型-两类数据模型第一类概念模型(ConceptualModel),也称信息模型。

用信息来描述现实世界时,需要了解信息世界中的一些概念(1)实体(Entity)。(2)属性(Attribute)。(3)键(Key)。(4)域(Domain)。(5)实体型(EntityType)。(6)实体集(EntitySet)。(7)联系(Relationship)。

①一对一联系(1∶1)。

②一对多联系(1∶n)。

③多对多联系(m∶n)。(8)E-R模型。1.2探索数据模型-两类数据模型第二类逻辑模型和物理模型逻辑模型主要包括层次模型(HierarchicalModel)、网状模型(NetworkModel)、关系模型(RelationalModel)、面向对象模型(Object-OrientedModel)、对象关系数据模型(ObjectRelationalDataModel)、半结构化数据模型(Semi-StructuredDataModel)物理模型是对数据底层的抽象,主要描述数据在计算机系统内部的表示方式和存取方法,或在存储设备上的存储方式和存取方法,是面向计算机系统的。1.2探索数据模型-常用的逻辑模型

1.2.2常用的逻辑模型

层次模型网状模型面向对象模型关系模型1.层次模型层次模型的基本特征如下。(1)有且只有一个位于树根的结点,称为根结点。(2)一个结点下面可以没有结点,即向下没有分支,该结点称为叶结点。(3)一个结点下面可以有一个或多个结点,前者称为双亲结点,后者称为子女结点。(4)同一双亲结点的子女结点称为兄弟结点。(5)除根结点外的任何结点有且只有一个双亲结点。1.2探索数据模型-常用的逻辑模型例如,教师和学生的层次模型如下。1.2探索数据模型-常用的逻辑模型1.2探索数据模型-常用的逻辑模型2.网状模型(1)允许一个以上的结点没有双亲结点。(2)一个结点可以有多于一个的双亲结点。网状模型是一种比层次模型更具普遍性的结构,它去掉了层次模型的两个限制,允许多个结点没有双亲结点,允许一个结点有多个双亲结点,此外它还允许两个结点之间有多种联系(称之为复合联系)。网状模型可以更直接地描述现实世界。例如,学生选课数据库的数据模型1.2探索数据模型-常用的逻辑模型1.2探索数据模型-两类数据模型3.关系模型关系模型的组成。(1)关系数据结构。(2)关系操作集合。①查询操作,包括选择(Select)、投影(Project)、连接(Join)、除(Divide)、并(Union)、交(Intersection)、差(Except)等;②插入(Insert)、删除(Delete)、修改(Update)操作。(3)关系的完整性。实体完整性约束、参照完整性约束和用户定义的完整性约束。1.2探索数据模型-两类数据模型4.面向对象模型面向对象模型是采用面向对象的理论来描述现实世界中的实体及其联系的模型。现实世界中的实体都被抽象为对象,同类对象的共同属性和方法都被抽象为类。(1)对象(2)类(3)封装。(4)继承。扬

航1.3探索数据库系统

1.3探索数据库系统-数据库系统的模式1.3.1数据库系统的模式在数据库系统内部具有三级模式结构和二级映像结构。三级模式结构分别为外模式、模式和内模式,二级映像结构分别是外模式/模式映像和模式/内模式映像。1.外模式(ExternalSchema)外模式也称子模式(Subschema)或用户模式,是对数据库用户(包括管理员和终端用户)能够看见和使用的局部数据的逻辑结构和特征的描述。2.模式(Schema)模式也称逻辑模式,是对数据库中全体数据的逻辑结构和特征的描述3.内模式(InternalSchema)内模式也称存储模式(StorageSchema),一个数据库只有一个内模式。内模式是数据物理结构和存储方式的描述,是数据在数据库内部的组织方式。1.3探索数据库系统-数据库系统的模式1.3.2数据库的二级映像结构1.外模式/模式映像模式描述的是数据的全局逻辑结构,外模式描述的是数据的局部逻辑结构。对于同一个模式可以有多个外模式。对于每一个外模式来说,数据库系统都有一个外模式/模式映像,它定义了该外模式与模式之间的对应关系。2.模式/内模式映像数据库中只有一个模式,也只有一个内模式,所以模式/内模式映像是唯一的,它定义了数据的全局逻辑结构与存储结构之间的对应关系。1.3探索数据库系统-数据库的二级映像结构1.3.3数据库系统的组成数据库系统由以下部分组成。(1)计算机硬件(ComputerHardware)。(2)数据库管理系统。(3)数据库。(4)应用程序(ApplicationProgram)。(5)数据库用户(DataBaseUser)。1.3探索数据库系统-数据库系统的组成1.3.4数据库技术的应用领域与发展趋势1.应用领域(1)多媒体数据库。(2)移动数据库。(3)空间数据库。(4)信息检索系统。(5)分布式信息检索。(6)专家决策系统。2.发展趋势(1)信息集成。(2)数据流处理。(3)传感器数据库技术。(4)XML数据管理。(5)网格数据管理。(6)移动数据管理。(7)微小型数据库技术。1.3探索数据库系统-数据库技术的应用领域与发展趋势项目小结(1)数据库管理技术经过了人工管理阶段、文件系统阶段、数据库系统阶段和高级数据库系统阶段。(2)数据模型通常由数据结构、数据操作和数据约束三部分组成。(3)关系模型是由关系数据结构、关系操作集合和关系完整性约束三部分组成的。(4)数据模型是数据库系统的核心和基础,常见的数据模型包括层次模型、网状模型、关系模型和面向对象模型。(5)概念模型用于信息世界的建模,E-R模型是这类模型的典型代表,E-R模型简单、清晰,应用广泛。(6)数据库系统的三级模式结构是由外模式、模式和内模式三部分组成的。(7)数据库系统的三级模式结构和二级映像结构保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。感

MySQL数据库应用

项目教程项目二走进关系代数2.1探索关系

2.2探索关系规范化

2.1探索关系2.1.1关系数据结构

1.关系关系模型的数据结构非常简单,它只包含单一的数据结构———关系。在用户看来,关系模型中的数据的逻辑结构是一张二维表。关系模型的数据结构虽然简单却能够表达丰富的语义,描述出现实世界的实体及实体间的各种联系。关系模型涉及的概念及理论如下。

(1)域(Domain)。一组具有相同的数据类型的值的集合。例如,介于0到100之间的整数,长度在1到10之间的字符串等,都可以看作域。2.1探索关系2.1.1关系数据结构

(2)笛卡儿积(CartesianProduct)。

给定一组域D1,D2,…,Dn,这些域中可以有相同的域,D1,D2,…,Dn的笛卡儿积为:笛卡儿积可表示为一个二维表。表的每行对应一个元组,表的每列对应一个域。2.1探索关系2.1.1关系数据结构

【例1】给出D1:教师集合(Teacher)={张五,李四},D2:专业集合(Speciality)={计算机应用专业,网络技术专业}和D3:学生集合(Student)={赵一,钱二,孙三}三个域,试写出D1、D2和D3的笛卡儿积。D1×D2×D3={(张五,计算机应用专业,赵一),(张五,计算机应用专业,钱二),(张五,计算机应用专业,孙三),(张五,网络技术专业,赵一),(张五,网络技术专业,钱二),(张五,网络技术专业,孙三),(李四,计算机应用专业,赵一),(李四,计算机应用专业,钱二),(李四,计算机应用专业,孙三),(李四,网络技术专业,赵一),(李四,网络技术专业,钱二),(李四,网络技术专业,孙三)}。其中,(张五,计算机应用专业,赵一)、(李四,网络技术专业,钱二)等都是元组。张五、计算机应用专业、赵一等都是分量。2.1探索关系2.1.1关系数据结构2.1探索关系2.1.1关系数据结构(3)关系(Relation)。D1×D2×…×Dn的子集叫作在域D1,D2,…,Dn上的关系,表示为R(D1,D2,…,Dn)。R表示关系的名字,n是关系的目或度(Degree)。当n=1时,称该关系为单元关系(UnaryRelation);当n=2时,称该关系为二元关系(BinaryRelation)。关系中的每个元素是关系中的元组,通常用t表示。关系是笛卡儿积的有限子集,因此关系也可用一个二维表来表示,表的每行对应一个元组,表的每列对应一个域。由于域可以相同,为了加以区分,必须对每列起一个名字,称为属性(Attribute)。n目关系必有n个属性。2.1探索关系2.1.1关系数据结构【例2】从上述表的笛卡儿积中取出一个子集构造一个关系。假设一名学生只能学习某一个专业,则笛卡儿积中的许多元组是无实际意义的,从中取出有实际意义的元组来构造关系。该关系的名字为TSS,属性名分别为Teacher、Speciality和Student,这个关系可以表示为:TSS(Teacher,Speciality,Student)。假设教师与专业具有1∶1联系,即一名教师只能教一个专业;教师与学生具有1∶n联系,即一名教师可以带多名学生,而一名学生也可以有多名教师。2.1探索关系2.1.1关系数据结构TSS关系可以包含6个元组,如表所示。2.1探索关系2.1.1关系数据结构基本关系具有以下6条性质。①列是同质的(Homogeneous),即每一列中的分量是同一类型的数据,来自同一个域。②不同的列可出自同一个域,其中的每一列称为一个属性,不同的属性应给予不同的属性名。③列的位置可以任意交换。由于列顺序是无关紧要的,因此当在关系数据库产品中增加新属性时,永远是插至最后一列。④任意两个元组的候选码不能取相同的值。⑤行的位置可以任意交换。⑥分量必须取原子值,即每一个分量都必须是不可分的数据项。2.1探索关系2.1.1关系数据结构2.关系模式关系的描述称为关系模式(RelationalSchema),它可以形式化地表示为R(U,D,M,F)。R为关系名,U为组成该关系的属性名的集合,D为U中属性所来自的域,M为属性向域的映像集合,F为属性间数据的依赖关系集合。在TSS关系中,由于教师和学生出自同一个域———Person,所以要取不同的属性名,并在关系模式中定义属性向域的映像,如M(Teacher)=M(Student)=Person,说明它们分别出自哪个域。关系模式通常可以简记为R(U)或R(A1,A2,…,An)。R为关系名,A1,A2,…,An为属性名。而域名及属性向域的映像集合通常直接用属性的类型和长度来说明。2.1探索关系2.1.1关系数据结构3.关系数据库关系数据库也有型和值之分。关系数据库的型称为关系数据库模式,是对关系数据库的描述。关系数据库模式包括若干域的定义,以及在这些域上定义的若干关系模式。关系数据库的值是这些关系模式在某一时刻对应的关系的集合,通常称为关系数据库。4.关系模型的存储结构在关系模型中,实体及实体间的联系都用表来表示,但表是关系数据的逻辑模型。在关系数据库的物理组织中,有的关系数据库管理系统中一个表对应一个操作系统文件,将数据交给操作系统完成;有的关系数据库管理系统向操作系统申请若干个大的文件,自己划分文件空间、组织表、索引等存储结构,并进行存储管理。2.1探索关系2.1.2关系操作2.1探索关系1.基本的关系操作关系模型中常用的关系操作包括查询操作和插入、删除、修改操作两部分。2.关系数据语言的分类3.关系的完整性关系模型的完整性规则是对关系的某种约束条件。2.1.2关系操作2.1探索关系实体完整性约束参照完整性约束用户定义的完整性约束。2.1.3关系代数1.关系代数运算符关系代数的运算对象是关系,运算结果亦为关系。关系代数运算符包括4类:集合运算符、专门的关系运算符、比较运算符和逻辑运算符,2.1探索关系2.传统的集合运算传统的集合运算是二目运算,包括并、差、交和广义笛卡儿积4种运算。(1)并。关系R与关系S的并记作:R∪S={t|t∈R∨t∈S},其结果仍为n目关系,由属于关系R或属于关系S的元组组成。(2)差。关系R与关系S的差记作:R-S={t|t∈R∧t∉S},其结果仍为n目关系,由属于关系R而不属于关系S的所有元组组成。(3)交。关系的交可以用差来表示,即R∩S=R-(R-S)。(4)广义笛卡儿积。广义笛卡儿积记作:R×S={t|t=<tr,ts>∧tr∈R∧ts∈S}。2.1.3关系代数2.1探索关系3.专门的关系运算专门的关系运算包括选择、投影、连接、除等。(1)选择。选择又称为限制(restriction)。它是在关系R中选择满足给定条件的诸元组,记作:σF(R)={t|t∈R∧F(t)=‘true’}。(2)投影。关系R上的投影是从关系R中选择出若干属性列组成新的关系,记作:ΠA(R)=(t[A]|t∈R)。(3)连接。连接也称为θ连接。它是从两个关系的笛卡儿积中选取属性间满足一定条件的元组,记作:RAθBS={t|t=<tr,ts>∧tr∈R∧ts∈S∧tr[A]θts[B]}。(4)除。R÷S={tr[X]|tr∈R∧ΠY(S)⊆Yx},Yx为X在关系R(X,Y)中的象集,X=tr[X]。除操作是同时从行和列角度进行运算的。2.1.3关系代数2.1探索关系2.2探索关系规范化2.2探索关系规范化2.2.1函数依赖关系模式中的各属性之间相互依赖、相互制约的联系称为数据依赖。数据依赖一般分为函数依赖、多值依赖和连接依赖。函数依赖是最重要的数据依赖。1.函数依赖(FunctionalDependence)的定义设关系模式R(U,F),U是属性全集,F是U上的函数依赖集,X和Y是U的子集,如果对于关系模型R(U,F)的任意一个可能的关系r,对于X的每一个具体值,Y都有唯一的具体值与之对应,则称X决定Y,或Y函数依赖于X,记作:X→Y。X为决定因素,Y为依赖因素。当Y不函数依赖于X时,记作:XY;当X→Y且Y→X时,则记作:X←→Y。【例3】假设有关系模式SC={sn,name,gender,cn,score},属性分别为学号(sn)、姓名(name)、性别(gender)、课程号(cn)、成绩(score)。写出此关系模式中存在的函数依赖。sn→name,sn→gender,(sn,cn)→score2.2.1函数依赖2.2探索关系规范化2.函数依赖的基本性质

(1)投影性。根据平凡的函数依赖的定义可知,一组属性函数决定它的所有子集。(2)扩张性。若X→Y且W→Z,则(X,W)→(Y,Z)。(3)合并性。若X→Y且X→Z,则必有X→(Y,Z)。(4)分解性。若X→(Y,Z),则X→Y且X→Z。2.2.1函数依赖3.函数依赖的相关概念设有关系模式R(U),U是属性全集,X和Y是U的子集,如果X→Y,并且对于X的任何一个真子集X’,都有X’Y,则称Y完全函数依赖于X,记作:XF→Y。如果X→Y,但Y不完全函数依赖于X,则称Y部分函数依赖于X,记作:XP→Y。2.2探索关系规范化4.函数依赖定义的码设K为关系模式R(U,F)中的属性或属性组合,若,则K为关系模式R(U,F)的候选码。若候选码多于一个,则选定其中的一个为主码。包含在任何一个候选码中的属性,叫作主属性。不包含在任何码中的属性称为非主属性或非码属性。最简单的情况,单个属性是码;最极端的情况,整个属性组是码,称为全码。在关系模式R中,属性或属性组X并非关系模式R的码,但X是另一个关系模式的码,则称X是关系模式R的外部码,也称外码。主码与外码提供了一个表示关系间联系的手段。2.2.1函数依赖2.2探索关系规范化关系数据库设计的关系模式必须满足一定的条件。在关系数据库的规范化过程中,为不同程度的规范化要求设立的不同标准称为范式。由于规范化的程度不同,产生的范式也不同。满足基本规范化要求的关系模式叫作第一范式;在满足第一范式的条件下,进一步满足一些要求的关系模式叫作第二范式,以此类推就产生了第三范式等概念。每种范式都规定了一些约束条件。2.2.2范式2.2探索关系规范化1.第一范式如果在关系模式R中,其所有的属性均为简单属性,即每个属性都是不可再分的,则称关系模式R属于第一范式,记作:R∈1NF。2.第二范式如果关系模式R∈1NF,且每个非主属性都完全函数依赖于关系模式R的每个候选码,则称关系模式R属于第二范式,记作:R∈2NF。2.2.2范式2.2探索关系规范化3.第三范式如果关系模式R∈2NF,且每个非主属性都不传递函数依赖于关系模式R的每个候选码,则称关系模式R属于第三范式,记作:R∈3NF。4.BC范式如果关系模式R∈1NF,且X→Y(Y⊈X),决定因素X包含了关系模式R的一个候选码,则称关系模式R属于BC范式,记作:R∈BCNF。【例4】设有关系模式SC={sn,name,gender,class,class_teacher,cn,score},属性分别为学号(sn)、姓名(name)、性别(gender)、班级(class)、班主任(class_teacher)、课程号(cn)、成绩(score)。将此关系模式规范化到3NF。关系模式SC={sn,name,gender,class,class_teacher,cn,score}中的属性均为不可再分的数据项,所以关系模式SC属于1NF,但其具有大量的数据冗余,存在插入异常、删除异常、更新异常等弊端。2.2.2范式2.2探索关系规范化关系模式SC的函数依赖关系。关系模式SC的候选码是(sn,cn),所以有:2.2.2范式2.2探索关系规范化规范化的基本原则是概念的单一化和“一事一地”原则,即一个关系模式只描述一个实体或实体间的联系。若多于一个实体或实体间的联系,就把它“分离”出来。因此,规范化实质上是概念的单一化,即一个关系模式表示一个实体或实体间的联系。规范化就是对原关系模式进行投影,消除非主属性与候选码之间的任何函数依赖。(1)对1NF进行投影,消除原关系模式中的非主属性与码之间的部分函数依赖,将1NF转换成若干个2NF。(2)对2NF进行投影,消除原关系模式中的非主属性与码之间的传递函数依赖,将2NF转换成若干个3NF。(3)对3NF进行投影,消除原关系模式中的主属性与码之间的部分函数依赖和传递函数依赖,也就是说,使决定因素都包含一个候选码,得到一组BCNF。2.2.3规范化的基本思想2.2探索关系规范化项目小结(1)关系数据库系统只使用“表”这一种数据结构,非关系数据库系统还有其他数据结构(2)关系模型中常用的关系操作包括:查询操作和插入、删除、修改操作。(3)关系数据语言分为关系代数语言、关系演算语言、具有关系代数和关系演算双重特点的语言;关系模型允许定义实体完整性约束、参照完整性约束和用户定义的完整性约束三类完整性约束;在关系数据库中,关系模式是型,关系是值。(4)函数依赖的基本概念。(5)每个分量必须是不可分的数据项,满足这个条件的关系模式属于第一范式(1NF);每个非主属性都完全函数依赖于关系模式R的每个候选码,则称关系模式R属于第二范式(2NF);每个非主属性都不传递函数依赖于关系模式R的每个候选码,则称关系模式R属于第三范式(3NF)。(6)数据依赖是通过一个关系中属性值的相等与否体现出来的数据间的相互关系。感

MySQL数据库应用

项目教程项目三设计数据库3.1初始数据库设计

3.2探索概念结构设计3.3探索实现设计

3.1初始数据库设计3.1.1认识数据库设计数据库设计应与应用系统设计相结合。也就是说,在整个数据库设计过程中要把数据库结构设计和数据处理的设计密切结合起来。1.数据库设计的方法新奥尔良(NewOrleans)方法基于E-R模型的设计方法3NF的设计方法面向对象的数据库设计方法统一建模语言(UnifiedModelingLanguage,UML)方法等。3.1初始数据库设计2.数据库设计的基本步骤按照结构化系统设计的方法,考虑数据库及其应用系统开发的全过程,将数据库设计分为六个阶段,如右图。3.1初始数据库设计3.1.1认识数据库设计在数据库设计过程中各个阶段关于数据特性的设计描述。3.1初始数据库设计3.1.1认识数据库设计3.数据库设计过程中的各级模式数据库设计的不同阶段形成数据库的各级模式。3.1初始数据库设计3.1.1认识数据库设计1.需求分析的任务(1)信息要求。信息要求是指用户需要从数据库中获得信息的内容与性质。由信息要求可以导出数据要求,即在数据库中需要存储哪些数据。(2)处理要求。处理要求是指用户要完成的数据处理,对处理性能的要求。(3)安全性与完整性要求。3.1初始数据库设计3.1.2需求分析2.需求分析的方法调查用户需求的具体步骤如下。(1)调查组织机构情况。(2)调查各部门的业务活动情况。(3)协助用户明确对新数据库应用系统的各种要求。(4)确定新数据库应用系统的边界。3.1初始数据库设计3.1.2需求分析3.数据字典数据字典通常包括数据项、数据结构、数据流、数据存储和处理过程。(1)数据项。数据项是不可再分的数据单位。(2)数据结构。数据结构反映了数据之间的组合关系。(3)数据流。数据流是数据结构在数据库应用系统中传输的路径。(4)数据存储。数据存储数据结构停留或保存的地方。(5)处理过程。处理过程的具体处理逻辑一般使用判定表或判定树来描述。3.1初始数据库设计3.1.2需求分析数据流程图(DataFlowDiagram,DFD)是一种用于描述数据流程关系的工具,它可以将复杂的数据独立抽象出来,并且使用图像描述信息的来源和实际的流程。数据流程图有两个特征:抽象性和概括性。为了描述复杂的数据库应用系统的信息流向和加工,一般采用分层的数据流程图,分层的数据流程图有顶层图、中层图和底层图。数据流程图包括外部实体、处理过程、数据流和数据存储四个部分。3.1初始数据库设计3.1.3数据流程图【例1】以某图书馆为实例,采用三层数据流程图描述图书馆管理信息系统。图书馆管理信息系统有七部分内容,包括读者管理、图书维护、读者留言管理、图书采编、图书借阅、图书查询和图书预订。在此以读者管理、图书维护、图书采编、图书借阅和图书预订子系统为例画出部分数据流程图。3.1初始数据库设计3.1.3数据流程图绘制顶层图3.1初始数据库设计3.1.3数据流程图绘制中层图3.1初始数据库设计3.1.3数据流程图图书采编子系统的底层图3.1初始数据库设计3.1.3数据流程图图书借阅子系统的底层图3.1初始数据库设计3.1.3数据流程图3.2探索概念结构设计3.2.1概念结构设计概念结构设计就是将需求分析得到的用户需求抽象为信息结构,即概念模型。概念模型的主要特点:(1)真实、充分地反映现实世界,包括事物和事物之间的联系,能满足用户对数据的处理要求,是现实世界的一个真实模型。(2)易于理解,可以用它和不熟悉计算机的用户交换意见。用户的积极参与是数据库设计成功的关键。(3)易于更改,当应用环境和应用要求改变时,容易对概念模型进行修改和扩充。(4)易于向关系模型、网状模型、层次模型等各种数据模型转换。概念模型是各种数据模型的共同基础,它比数据模型更独立、更抽象,也更加稳定。设计概念模型的过程称为概念结构设计。3.2探索概念结构设计3.2.1概念结构设计1.概念结构设计的方法设计概念模型的E-R图可采用以下四种方法。

3.2探索概念结构设计 自顶向下。先定义全局概念模型的E-R图框架,再逐步细化。 自底向上。先定义各局部应用的概念模型的E-R图,然后将它们集成,得到全局概念模型的E-R图。 逐步扩张。先定义最重要的核心概念模型的E-R图,然后向外扩充,以“滚雪球”的方式逐步生成其他概念模型的E-R图。 混合策略。该方法采用自顶向下和自底向上相结合的方法,先采用自顶向下的方法定义全局概念模型的E-R图框架,再采用自底向上的方法设计各个局部概念概念模型的E-R图。3.2.1概念结构设计2.概念结构设计的步骤若采用自底向上的方法设计概念模型,则可分为两步:(1)数据抽象,设计局部E-R图,即设计用户视图。(2)各局部E-R图形成全局E-R图,即视图集成。3.2探索概念结构设计3.2.1概念结构设计3.数据抽象概念模型是对现实世界的一种数据抽象。进行概念结构设计首先要根据需求分析得到的结果(数据流图、数据字典等)对现实世界进行数据抽象,设计各个局部E-R图。一般有以下两种数据抽象方式。(1)分类(Classification)。分类是指定义某一类概念作为现实世界中的一组对象的类型,将一组具有某些共同特性和行为的对象抽象为一个实体。例如,“张三”是一名读者,表示“张三”是读者中的一员,他具有所有读者的共同特性和行为。(2)聚集(Aggregation)。聚集是指定义某一类型的组成成分,将对象类型的组成成分抽象为实体的属性。例如,读者编号、姓名、性别、出生日期、职业等可以抽象为读者实体的属性,读者编号是标识读者实体的主码。3.2探索概念结构设计3.2.2绘制E-R图1.局部E-R图设计可根据以下两条准则来划分实体和属性。(1)实体具有描述信息,而属性没有。即属性必须是不可再分的数据项,不能再由另一些属性组成。(2)属性不能与其他实体具有联系,联系只能发生在实体之间。3.2探索概念结构设计2.全局E-R图设计视图集成有以下两种方式。(1)多元集成法:一次性将多个局部E-R图合并为一个全局E-R图。(2)二元集成法:首先集成两个重要的局部E-R图,然后逐步将其他局部E-R图集成进来。3.合并局部E-R图,生成初步E-R图合并局部E-R图并不是简单地将各个E-R图画到一起,而是要消除各个局部E-R图中的不一致,使合并后的全局概念模型不仅支持所有的局部E-R图,而且必须是一个能被所有用户共同理解和接受的完整的概念模型。因此合并局部E-R图的关键是合理消除各局部E-R图中的冲突。各局部E-R图中的冲突主要有以下三种。3.2探索概念结构设计3.2.2绘制E-R图结构冲突010203属性冲突命名冲突3.合并局部E-R图【例2】教学管理系统中的学生选课E-R图和教师任课E-R图分别如图3-8和图3-9所示,怎样消除学生选课E-R图和教师任课E-R图之间的冲突,合并生成教学管理系统初步E-R图?3.2探索概念结构设计3.2.2绘制E-R图学生选课E-R图3.合并局部E-R图3.2探索概念结构设计3.2.2绘制E-R图教师任课E-R图3.合并局部E-R图3.2探索概念结构设计3.2.2绘制E-R图教学管理系统初步E-R图3.合并局部E-R图3.2探索概念结构设计3.2.2绘制E-R图教学管理系统基本E-R图3.3探索实现设计

3.3.1E-R图向关系模型的转换E-R图所表示的概念模型可以转换成具体的数据库管理系统所支持的数据模型,如网状模型、层次模型或关系模型。E-R图向关系模型进行转换。1.初始关系模式设计将E-R图转换为关系模型就是将实体、属性及其联系转换成关系模式。在转换中要遵循以下原则。(1)一个实体转换为一个关系模式,实体的属性就是关系的属性,实体的码就是关系的码。(2)一个联系转换为一个关系模式,与该联系相连的各实体的码以及联系的属性均转换为该关系的属性。3.3探索实现设计3.3.1E-R图向关系模型的转换2.数据模型优化的方法应用规范化理论对上述产生的关系模式进行初步优化,以减少乃至消除关系模式中存在的各种异常,提高完整性、一致性并提升存储效率。(1)确定范式级别。(2)实施规范化处理。3.模式评价与改进(1)模式评价。①功能评价。②性能评价。(2)模式改进。①合并。②分解。3.3探索实现设计3.3.2物理结构设计为给定的逻辑数据模型选取一个最适合应用环境的物理结构的过程称为数据库的物理结构设计。物理结构设计的任务是有效地实现逻辑模式,确定所采取的存储策略。1.物理结构设计的内容和方法通过设计优化的物理数据库结构,使得在数据库上运行的各种事务的响应时间小、存储空间利用率高、事务吞吐率大。首先对要运行的事务进行详细分析,获得物理数据库设计所需要的参数。其次,要充分了解所用的关系数据库管理系统的内部特征,特别是系统提供的存取方法和存储结构。对于关系数据库物理结构设计的内容主要包括:为关系模式选择存取方法,以及设计关系、索引等数据库文件的物理存储结构。3.3探索实现设计3.3.2物理结构设计2.关系模式存取方法的选择常用的存取方法有:有索引方法(目前主要是B+树索引方法)聚簇方法hash方法3.3探索实现设计3.3.2物理结构设计(1)索引存取方法的选择。选择索引存取方法实际上就是根据应用要求确定对关系的哪些属性列建立索引、哪些属性列组合、哪些索引要设计为唯一索引等。出现如下三种情况时可考虑建立索引。①一个(或一组)属性经常作为查询条件出现。②一个属性经常作为最大值和最小值等聚集函数的参数。③一个(或一组)属性经常在连接操作的连接条件中出现。3.3探索实现设计3.3.2物理结构设计(2)聚簇存取方法的选择。为了提高某个属性(或属性组)的查询速度,把这个(或这些)属性(称为聚簇码)上具有相同值的元组存放在连续的物理块中的操作称为聚簇。聚簇功能可以大大提高查询的效率。一个数据库可以建立多个聚簇,一个关系只能加入一个聚簇。通常在以下情况下建立聚簇。①对经常在一起进行连接操作的关系建立聚簇。②如果一个关系的一组属性经常出现在相等的比较条件中,则此单个关系可建立聚簇。③如果一个关系的一个(或一组)属性上的值重复率很高,则此单个关系可建立聚簇。3.3探索实现设计3.3.2物理结构设计(3)hash存取方法的选择。选择hash存取方法的规则:如果一个关系的属性主要出现在等值连接条件中或等值比较选择条件中,而且满足下列条件之一,则此关系可以选择hash存取方法。①如果一个关系的大小可预知,而且不变。②如果关系的大小动态改变,但是数据库管理系统提供了动态hash存取方法。3.3探索实现设计3.3.2物理结构设计3.物理结构设计的步骤数据库在物理设备上的存储结构与存取方法称为数据库的物理结构,它依赖于给定的计算机系统。(1)确定物理结构。存储记录结构的设计。访问方法的设计。数据存放位置的设计。系统配置的设计。(2)评价物理结构。3.3探索实现设计项目小结(1)数据库设计的方法和基本步骤。(2)在数据库设计中需求分析的实施方法及过程。(3)数据流程图和数据字典的编写方法。(4)概念结构设计的定义、方法及步骤。(5)E-R图的设计方法。(6)逻辑结构设计及物理结构设计的各种评价与改进的方法。感

MySQL数据库应用

项目教程项目四实现数据库4.1数据库操作

4.2数据表操

4.3数据操作

4.1数据库操作

4.1.1走进MariaDB1.初识MariaDB(1)MariaDB的主要特点(2)MariaDB的体系结构。MariaDB的体系结构封装了SQL接口、查询解析器、查询优化器、查询执行引擎、缓存/缓冲机制以及一个插件式存储引擎。4.1数据库操作4.1.1走进MariaDB1.初识MariaDB(3)MariaDB的逻辑结构。MariaDB的逻辑结构如图4.1数据库操作4.1.1走进MariaDB1.初识MariaDB(4)MariaDBEnterprise的发行版中包含的工具和实用程序4.1数据库操作4.1.1走进MariaDB1.初识MariaDB4.1数据库操作MariaDB的工作模式(5)MariaDB的连接。终端连接MariaDB服务器。图形工具连接MariaDB服务器。4.1.1走进MariaDB2.存储引擎(1)存储引擎的任务。存储引擎在物理层管控数据,负责数据文件、数据、索引和高速缓冲存储器等管理,使得管理和读取数据变得更高效。(2)常见的存储引擎。①XtraDB,②InnoDB,③Aria,④MyISAM,⑤PERFORMANCE_SCHEMA,⑥TokuDB,⑦Spider,⑧ColumnStore等。4.1数据库操作4.1.1走进MariaDB2.存储引擎(3)MariaDB的存储引擎。在MariaDB中,存储引擎是插件式的,每种存储引擎都有自己的特性,适用于不同的场景。①InnoDB存储引擎支持表级锁、行级锁,支持事务处理,支持外键,但不支持全文索引,表空间文件相对较大。②ISAM存储引擎是一个定义明确且历经时间考验的数据表格管理方法,在设计之时就考虑到数据库被查询的次数要远大于更新的次数。③MyISAM存储引擎是MariaDB的ISAM存储引擎扩展形式。④Memory存储引擎将数据存储在内存中,没有磁盘I/O的等待,所以使用Memory存储引擎的表拥有极高的插入、更新和查询效率。4.1数据库操作4.1.1走进MariaDB2.存储引擎(4)存储引擎的选择。如果要提供提交、回滚、崩溃恢复能力的事务安全(ACID兼容)能力,并要求实现并发控制,可选择InnoDB存储引擎;如果数据表主要用来插入和查询记录,则MyISAM存储引擎能提供较高的处理效率;如果只是临时存放数据,数据量不大,并且不需要较高的数据安全性,可以选择将数据保存在内存中的Memory存储引擎中,MariaDB中使用该存储引擎作为临时表,存放查询的中间结果;如果只有查询和创建操作,可以选择Archive,Archive支持高并发的插入操作,但是本身不是事务安全的。4.1数据库操作4.1.1走进MariaDB2.存储引擎【例1】操作MariaDB存储引擎。查看MariaDB的存储引擎相关信息和当前默认的存储引擎。SHOWENGINES;SELECTEngine,Support,Comment,Transactions,XA,SavepointsFROMinformation_schema.engines;SELECT@@global.storage_engine;4.1数据库操作4.1.1走进MariaDB3.数据文件不同的MariaDB存储引擎有各自不同的数据文件,存放位置也有区别,多数存储引擎的数据文件都存放在和MyISAM存储引擎数据文件位置相同的目录下,但是每个数据文件的扩展名却各不相同。.frm文件。.MYD文件。.MYI文件。.ibd文件和ibdata文件。4.1数据库操作4.1.2操作数据库1.认识SQLSQL是StructuredQueryLanguage(结构化查询语言)的简称,SQL的结构简洁、功能强大、简单易学,在主流数据库中得到了广泛的应用。(1)SQL的特点。(2)SQL的体系结构。SQL支持关系数据库体系结构,即外模式、模式和内模式,利用SQL可以实现对三级模式结构的定义、修改和数据的操作功能,在此基础上形成了SQL体系结构。4.1数据库操作4.1.2操作数据库1.认识SQL(3)SQL语句的分类。SQL语句依据操作对象和类型的不同,通常分为以下几类。①数据查询语言,用于对数据进行查询,如SELECT。②数据操纵语言,可进行增加、修改、查询、删除,如NSERT,UPDATE,DELETE。③数据定义语言,进行数据库,表的管理等,如CREATE,ALTER,DROP等。④数据控制语言,设置访问权限等,如GRANT,REVOKE等。⑤事务处理语言对事务进行处理,如BEGIN,TRANSACTION,COMMIT,ROLLBACK等。⑥指针控制语言,通过控制指针完成表的操作,如DE-CLARECURSOR等。(4)SQL语句的编写规则。4.1数据库操作4.1.2操作数据库2.操作数据库(1)创建数据库。数据库是用于存放数据和数据库对象的容器。①通过CREATEDATABASE命令创建数据库。CREATEDATABASEIFNOTEXISTS<db_name>[[DEFAULT]CHARACTERSET[=]charset_name|[DEFAULT]COLLATE[=]collation_name|COMMENT[=]‘comment’];【例2】使用CREATEDATABASE语句创建名为teaching_management的数据库SHOWDATABASES;CREATEDATABASEIFNOTEXISTSteaching_managementCOMMENT=‘教学管理数据库’;SHOWDATABASES;4.1数据库操作4.1.2操作数据库2.操作数据库(1)创建数据库。②使用图形界面创建数据库。4.1数据库操作4.1.2操作数据库2.操作数据库(2)查看数据库。成功创建数据库后,使用SHOWDATABASES语句查看MariaDB服务器中的所有数据库信息。语法格式:SHOWDATABASES[LIKE‘pattern’|WHEREexpr];(3)选择数据库。使用USE语句选择将要操作的数据库,语法格式:USE<db_name>;4.1数据库操作4.1.2操作数据库2.操作数据库(4)修改数据库。数据库创建后,如果需要修改数据库的参数,可以使用ALTERDATA-BASE语句。语法格式:ALTERDATABASE[db_name]{[DEFAULT]CHARACTERSET[=]charset_name|[DEFAULT]COLLATE[=]collation_name|COMMENT[=]‘comment’};【例3】将book_management数据库所用的字符集修改成gbk。ALTERDATABASEbook_managementCHARACTERSETgbk;4.1数据库操作4.1.2操作数据库2.操作数据库(5)删除数据库。删除数据库的操作可以使用DROPDATABASE语句,语法格式:DROPDATABASE<db_name>;【例4】通过DROPDATABASE语句删除test数据库和book_management数据库。DROPDATABASEtest;DROPDATABASEbook_management;SHOWDATABASES;4.1数据库操作4.2数据表操作

4.2.1创建数据表1.数据类型MariaDB常用的数据类型如下:(1)数值类型。整数类型。小数类型。浮点类型。(2)字符串类型。(3)日期和时间类型。(4)ENUM类型和SET类型。(5)TEXT类型和BLOB类型。4.2数据表操作4.2.1创建数据表2.创建数据表数据表(DataTable)是数据库最重要的对象。数据表是用来实际存储和操作数据的逻辑结构,对数据库的各种操作就是对数据库中数据表的操作。(1)列的其他属性。给列定义数据类型的同时,也定义了列中存储的内容。①默认值。②自动增长值。③NULL与NOTNULL。4.2数据表操作4.2.1创建数据表2.创建数据表(2)设计表结构。设计数据库时,应先确定需要哪些数据表,数据表中将存储什么类型的数据,数据表之间的关系和数据的存取权限等。设计数据表时应考虑以下内容:数据表的名称。数据表中每一列的名称、数据类型及其长度。数据表中的列是否允许为空值,是否唯一,是否要进行默认设置或添加完整性约束条件。数据表间的关系,即确定哪些列是主码,哪些列是外码。列名是用来访问表中具体域的标识符,列名必须遵循一定的规则。4.2数据表操作4.2.1创建数据表2.创建数据表根据绘制的教学管理系统E-R图,student_info(学生信息)表结构为4.2数据表操作4.2.1创建数据表2.创建数据表(3)完整性约束条件。列级完整性约束条件如下:①PRIMARYKEY:指定该属性为主码。②NULL/NOTNULL:指定的属性允许为空/不允许为空,如果没有完整性约束条件,则默认为NULL。③UNIQUE:指定属性取值唯一,即每条记录的指定属性的值不能重复。如果某个属性指定了NOTNULL和UNIQUE,这相当于指定该属性为PRIMARYKEY。④DEFAULT<默认值>:设置指定属性的默认值。⑤AUTO_INCREMENT:设置指定属性的值自动增长,一般为自动加1。⑥CHECK(条件表达式):用于检验输入值,拒绝接受不满足条件的值。4.2数据表操作4.2.1创建数据表2.创建数据表(3)完整性约束条件。表级完整性约束条件如下:①PRIMARYKEY用于定义表级完整性约束条件,如定义属性组合为数据表的主码时,语法格式:CONSTRAINT<约束名>PRIMARYKEY[CLUSTERED](属性1,属性2,...,属性n)②FOREIGNKEY用于指定参照完整性,即指定某属性为外码,语法格式:CONSTRAINT<约束名>FOREIGNKEY<属性>REFERENCES<被参照表(主码)>③UNIQUE既可以用于定义列级完整性约束条件,也可以用于定义表级完整性约束条件,语法格式:CONSTRAINT<约束名>UNIQUE<属性>4.2数据表操作4.2.1创建数据表2.创建数据表(4)使用CREATETABLE语句创建数据表。CREATETABLE语句用于在选定的数据库中创建数据表,如在使用CREATETABLE语句创建名称为tb_name的数据表时,必须具有数据表或数据库的CREATE权限,语法格式:CREATETABLEIFNOTEXISTS<tb_name>(<属性1><数据类型>[<列级完整性约束条件1>][COMMENT<注释1>][,<属性2><数据类型>[<列级完整性约束条件2>][COMMENT<注释2>]][,...][,[<表级完整性约束条件1>][,<表级完整性约束条件2>][,...]])[COMMENT<注释>];4.2数据表操作4.2.1创建数据表2.创建数据表【例5】使用CREATETABLE语句创建数据表。在teaching_management数据库中创建student_info数据表。USEteaching_management;CREATETABLEIFNOTEXISTSstudent_info(noCHAR(3)NOTNULLCOMMENT‘学生学号’,nameVARCHAR(20)DEFAULTNULLCOMMENT‘学生姓名’,genderENUM(‘M’,‘F’)NOTNULLDEFAULT‘M’COMMENT‘学生性别’,birthdayDATENOTNULLDEFAULT‘2003-01-01’COMMENT‘出生日期’,class_noCHAR(3)DEFAULTNULLCOMMENT‘班级号’,PRIMARYKEY(`no`),CONSTRAINTfk_cFOREIGNKEY(`class_no`)REFERENCES`class_info`(`no`))COMMENT=‘学生信息表’;4.2数据表操作4.2.2维护数据表1.查看数据表(1)查看表结构可以使用DESCRIBE/DESC或SHOWCREATETABLE语句;(2)查看数据库中的数据表可以使用SHOWTABLES语句。【例6】查看teaching_management数据库中的student_info数据表、course_info数据表和teacher_info数据表。DESCRIBEteaching_management.student_info;DESCteaching_management.course_info;SHOWCREATETABLEteaching_management.teacher_info\G(3)使用SHOWTABLES语句查看数据库中的数据表,语法格式:SHOWTABLES;4.2数据表操作4.2.2维护数据表2.修改数据表数据表创建后,难免要对其结构进行修改。可以使用HeidiSQL图形界面或ALTERTABLE语句进行表结构的修改。使用HeidiSQL图形界面修改表的结构与创建数据表时的操作基本相同;MariaDB中可以使用ALTERTABLE语句修改表结构。4.2数据表操作4.2.2维护数据表2.修改数据表【例7】利用ALTERTABLE语句修改数据表。在teaching_management数据库中创建一个test数据表。

USEteaching_management;

CREATETABLEtest(first_colINT,color_colENUM(‘red’,‘green’));在test数据表中添加一个字段second_col,数据类型为INT。

ALTERTABLEtestADDsecond_colINT;修改test数据表中second_col字段的数据类型为无符号的BIGINT。

ALTERTABLEtestMODIFYsecond_colBIGINTUNSIGNED;4.2数据表操作4.2.2维护数据表2.修改数据表将test数据表中新增的second_col字段删除。

ALTERTABLEtestDROPsecond_col;修改test数据表中first_col字段的名称为one_col,数据类型为无符号的SMALLINT且自动递增。

ALTERTABLEtestCHANGEfirst_colone_colSMALLINTUNSIGNEDAUTO_IN-CREMENT;整合多个子句到单个ALTERTABLE语句中,使用逗号分隔。

ALTERTABLEtestDROPcolor_col,ADDsecond_colINT,CHANGEone_colfirst_colINT;4.2数据表操作4.2.2维护数据表3.复制数据表复制数据表的方法有两种,可以使用HeidiSQL图形界面或SQL语句。(1)使用HeidiSQL图形界面复制数据表。4.2数据表操作4.2.2维护数据表4.2数据表操作3.复制数据表(2)使用SQL语句复制数据表。复制数据表的结构和数据到新表中,可以使用如下语句:

CREATETABLE[IFNOTEXISTS]<新表名>SELECT<字段1[,字段2,...]>FROM<旧表名>[WHERE<表达式>];【例8】使用SQL语句复制数据表。将teaching_management数据库中的test数据表的first_col和second_col字段及对应的数据复制到book_management数据库中,表名为test_one。CREATETABLEIFNOTEXISTSbook_management.test_oneSELECTfirst_col,second_colFROMteaching_management.test;4.2.2维护数据表4.2数据表操作4.修改表名使用SQL语句修改表名。修改表名可使用ALTERTABLE语句,还可以直接用RENAMETABLE语句,语法格式:ALTERTABLE[IFEXISTS]<旧表名>RENAME[TO]<新表名>;RENAMETABLE[IFEXISTS]<旧表名>TO<新表名>;【例9】数据表的更名操作。将teaching_management数据库中的test数据表重命名为test_new。ALTERTABLEIFEXISTSteaching_management.testRENAMETOteaching_management.test_new;4.2.2维护数据表4.2数据表操作5.删除数据表使用SQL语句删除数据表。使用DROPTABLE语句删除数据表时,不仅会删除数据表中的数据,还将删除数据表的结构,语法格式:DROPTABLE[IFEXISTS]<表名1>[,[表名2],...];【例10】使用SQL语句删除数据表。将teaching_management数据库中的test数据表删除。DROPTABLEIFEXISTSteaching_management.test;4.3数据操作

4.3.1记录更新记录的更新主要包括记录的插入、修改和删除。1.插入记录(1)插入一条记录。语法格式:INSERTINTO<表名>[(<字段清单>)]VALUES(<常量清单>);(2)插入多条记录。INSERT语句可以同时向数据表中插入多条记录,插入时指定多个常量清单,每个常量清单之间用逗号分隔开。语法格式:INSERTINTO<表名>[(<字段清单>)]

VALUES(<常量清单1>),(<常量清单2>),...,(<常量清单n>);4.3数据操作4.3.1记录更新1.插入记录【例11】记录的插入操作。在teaching_management.student_info数据表中插入一个学生记录。INSERTINTOteaching_management.student_info(no,name,gender,birthday,class_no)VALUES(‘S01’,‘赵一’,‘M’,‘2002-05-20’,‘L02’);(3)从其他数据表查询插入。将SELECT语句嵌套在INSERT语句中,可以将SELECT语句查询的结果作为INSERT语句的常量清单,向指定的数据表中插入数据。语法格式:INSERTINTO<表名>[(<字段清单>)]SELECT[(<字段清单>)]FROM<表名>[WHERE<表达式>];4.3数据操作4.3.1记录更新2.修改记录修改记录是指修改数据表中已经存在的记录,如修改学生的姓名或出生日期等,可以通过UPDATE语句来修改。语法格式:UPDATE

<表名>SET<字段名1=表达式1>,[<字段名2=表达式2>,...][WHERE<条件表达式>];4.3数据操作4.3.1记录更新3.删除记录在SQL中,通过DELETE语句删除数据。语法格式:DELETEFROM<表名>[WHERE<条件表达式>];【例12】数据表中记录的修改和删除。将学生赵一的性别修改为F,出生日期修改为2001-05-05。UPDATEteaching_management.student_infoSETgender=‘F’,birthday=‘2001-05-05’WHEREname=‘赵一’;删除学号为S02的学生记录。DELETEFROMteaching_management.student_infoWHEREno=‘S02’;4.3数据操作4.3.2记录查询查询是数据库中最常见的操作,SQL是通过SELECT语句实现查询的,语法格式:SELECT<子句1>FROM<子句2>[WHERE<表达式1>][GROUPBY<子句3>][HAVING<表达式2>][ORDERBY<子句4>][UNION<运算符>][INTOOUTFILE<文件名>][LIMIT<[M,]N>];4.3数据操作4.3.2记录查询1.单表查询(1)简单查询。①查询所有的数据记录和字段。例如,查询所有学生详细信息。SELECT∗FROMteaching_management.student_info;②查询部分字段。例如,查询所有学生的姓名和出生日期。SELECTname,birthdayFROMteaching_management.student_info;③查询计算字段。例如,查询学生姓名和年龄。SELECTname,YEAR(CURDATE())-YEAR(birthday)FROMteaching_man-agement.student_info;4.3数据操作4.3.2记录查询1.单表查询(2)条件查询。①按简单条件查询。例如,查询出生日期在2002-01-01之前的学生姓名。SELECTname姓名FROMteachi

温馨提示

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

评论

0/150

提交评论