物流系数据库复习提纲_第1页
物流系数据库复习提纲_第2页
物流系数据库复习提纲_第3页
物流系数据库复习提纲_第4页
物流系数据库复习提纲_第5页
免费预览已结束,剩余14页可下载查看

下载本文档

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

文档简介

1、数据库复习提纲第一章1.1 信息与数据是数据处理中的两个基本概念:信息与数据的关系信息?数据?答:信息是客观事物属性的反映;它反映了客观事物的某一属性或某一时刻的表现形式;经过加工处理的、对人类社会有用的数据。数据是用来信息的可识别的符号。数据是信息的载体,它是信息的具体表现形式。数据是信息的物理符号表示或载体;信息是数据处理的结果,是对数据的语释。1.2 数据管理技术发展(史)三个阶段:人工管理阶段、文件系统阶段数、据库系统阶段。人工管理阶段:20 世纪 50 年代中期以前为人工管理阶段,是计算机数据管理的初级阶段。数据管理的特点是:数据不保存在计算机中。需要时把数据输入,用完就撤走;没有系

2、统管理数据;数据的组织方式必须由程序员自行设计;数据是面向应用的。一组数据只对应于一个程序。文件系统阶段:从 50 年代后期到 60 年代中期,计算机不仅用于科学计算,还用于信息管理。计算机的硬件、都有了很大发展:有了磁盘、磁鼓等直接存取的设备;有了操作系统,其中有专门管理数据的文件系统。文件系统管理阶段特点:数据存在文件中,文件可长期保存在外器当中。程序和程序有了一定的独立性。由于有了管理数据的操作系统,文件的逻辑结构与结构由系统进行转换。数据在上的改变不一定反映到程序上。文件已经多样化。索引文件、文件、直接存取文件。数据的存取基本上以为。数据冗余大。一个数据文件只能对应一个程序员的一个或几

3、个程序,不能实现与其他程序员所编写程序的共享。数据和程序缺乏独立性,文件为特定程序服务。数据库管理阶段:20 世纪 60 年代末,发生了对数据库技术起着奠定作用的 3 件大事 ,标志着数据管理进入新时代数据库系统阶段。1968 年1969 年1970 年IBM 公司推出了世界上第一个基于层次模型的大型数据库管理系统IMS。数据系统语言研究会下属的数据库任务组提出了基于网状模型的DBTG 系统。IBM 公司的高级研究员E.F.Code 提出了关系数据模型。1.3 概念模型与数据模型一、概念模型1、实体(entity)客观事物在信息世界中称为实体。实体可以是具体的,如一个学生,一本书,也可以是抽象

4、的事件,如一些足球比赛。实体用类型(Type)和值(Value)表示,例如学生是一个实体,而具体的学生2、属性(Attribute)实体有许多特性,每一特性在信息世界中都称为属性。、是实体值。数据处理是指对各种类型的数据进行收集、分类、计算、加工、检索和传输的过程。数据处理的目的就是根据人们的需要,从大量的数据中抽取出对于特定的人们来说是有意义、有价值的数据,借以作为决策和行动的依据。信息=数据+数据处理每个属性都有一个值,值的类型可以是整数、实数或字符型。属性用类型和值表示,例如学号、是属性的类型,而具体的数值 870101、19 是属性值。3、域()概念模型中,每一个实体在它的属性取值上都

5、是有限的。一个属性的取值范围就是这个属性的域()。例如:学号的域是 6 位整数。实体型(Entity Type)的域是 4 个汉字组成的字符串。实体名及其所有属性名的集合称为实体型(Entity Type)。例如:学生(学号,关键字或码(Key),系院编码,成绩)是一个实体型。在一个实体集中,根据一个或几个属性的值可唯一的确定实体。这一个或多个属性就成为关键字或码(Key)。实体之间的联系一对一联系(1:1)一对多联系(1:n)多对一联系(n:1)多对多联系(m:n)一对一联系(1:1)对实体集 A 中的每一个实体,若实体集 B 中只有一个实体与之联系,反之亦然,则称实体集 A 与 B 是一对

6、一联系的。例如院中观众与座位之间、乘客旅客与车票之间、与病床之间都是一对一联系。一对多联系(1:n)对A 中的每个实体,若B 中可有多个实体与之联系;但对B 中的每一实体,A 中只有一个实体与之联系,则称A 与B 是一对多联系。多对一联系(n:1)对B 中的每个实体,若A 中可有多个实体与之联系;但对A 中的每一实体,B 中只有一个实体与之联系,则称A 与B 是一对多联系。多对多联系(m:n)对A 中每一实体,若B 中可有多个实体与之联系,反之亦然,则成A 与B 是多对多联系。例如:篮球比赛中,球队与场上队长之间具有一对一的联系;队长与队员之间具有一对多的联系;队员与裁判之间为多对多的联系。概

7、念模型的表示(E-R 模型 )概念模型的常用表示方法是实体-联系(Entity-Relationship Approach),即 E-R 模型。它是由 P.P.Chen 于 1976 年首先提出来的。 在E-R 图中,其成分是实体集、属性和联系集。用长方形表示实体。椭圆形表示属性,并用无向边把实体与其属性连接起来。菱形表示实体间的联系,用无向边把菱形与有关实体连接起来并在无向边旁标上联系的类型,1:1 或 1:n 或 n:1 或 m:n;若联系具有属性,则也把属性与菱形用无向边连接。二、数据模型及其结构(重点)数据模型描述了数据库中的数据内容及其,体现了数据库的逻辑结构。不同的数据模型就是用不

8、同的数据组织形式来表达实体及其联系。1.层次模型(一对一、一对多)层次模型是一种树结构模型,它把数据按自然的层次关系组织起来,以反映数据之间的隶属关系。层次模型是数据库技术中发展最早、技术上比较成2.网状模型(多对一、多对多)一种数据模型。若一个基本层次联系集合中,至少有一个结点且有一个以上的父结点,则这种数据模型是网状模型。3.关系模型关系模型是用二维表格数据来表示实体及实体之间联系的模型。一个表就是一个关系。一张表格中的一列称为一个“属性”,相当于关系表中的一个数据项(或称为字段),属性的取值范围称为域。涉及关系模型的几个基本概念: 元组:表中的一行称为一个元组。属性和属性名:表中每一列称

9、为一个属性。每个属性都有一个属性名。分量:一个元组在一个属性上的值称为该元组在此属性上的分量。关系模型对二维表有以下的约束:每一列是不能再分的最小基本项。每一列不能有两个属性具有相同的属性名。各行必须不同,即不允许重复的元组。行(元组)、列(属性)间次序无关。1.4 数据库系统1、数据库:长期在计算机内的、有结构的、大量的、可共享的数据集合。数据库管理系统:为了方便数据库的建立、运用和数据库管理系统生成数据库。数据库系统 :基于数据库的计算机应用系统。,人们研制的一种数据管理。主要包括:计算机硬件、操作系统、数据库、数据库管理系统和建立在该数据库之上的相关管理员和用户等部分。、数据库2、数据库

10、系统的组成数据、用户(数据库管理员、系统分析员、应用程序员、终端用户)3、1.数据库管理系统(DBMS)2.支持 DBMS 运行的操作系统 3.应用开发工具 4.为特定应用开发的数据库应用;硬件4、数据库系统的特点数据共享性、数据独立性、减少数据冗余度、数据的一致性。5、数据库系统的三级模式结构从数据库管理系统的角度看,数据库系统通常采用三级模式结构。外模式、概念模式和内模式(参考1.5 关系数据库) 区别1.5.1 关系数据库的发展 1.5.2 关系数据库管理系统及产品(参考关系的码)1、候选码:能唯一表示关系中元组的一个属性或属性集。也称候选关键字。如:“学生关系”中学号能唯一标识每个学生

11、,则属性“学号”是学生关系的候选码。 主码(Primary Key):如果一个关系中有多个候选码,可以从中选择一个作为查询、作变量,被选中的候选码称为主关系码,或简称主码、主键、主关键字等。每个关系必须由且仅有一个主码。或删除元组的操假设在学生关系中没有重名的学生,则“学号”和“”都可作为学生关系的候选码。如果选定“学号”作为数据操作的依据,则“学号”为主码。如果选定“”作为数据操作的依据,则“”为主码。设 F 是基本关系 R 的一个或一组属性,但不是关系R 的主码(或候选码),如果 F 与基本关系 S 的主码K相对应,则称F 是基本关系R 的外部关系码,可简称外码;“学生数据库”中有“学生”

12、和“系院”两个关系,其关系模式如下:学生(学号、系院编码)假设“学号”为主码系院(系院编码,系院名称、)假设“系院编码”为主码学生关系中的“系院编码”为外码。2、关系模型概述关系模型由关系数据结构、关系操作集合和完整性约束三部分组成。关系数据结构关系模型的数据结构非常单一。在用户看来,关系模型中数据的逻辑结构就是一张二维的表。关系操作集合常用的关系操作包括两大类:查询操作选择、投影、连接、除、并、交、差等 。更新操作增加、删除、修改等。用于描述关系操作的关系数据语言分为三类:关系代数语言关系演算语言介于关系代数和关系演算之间的语言(SQL)(重要)3. 完整性约束,三类完整性:实体完整性、参照

13、完整性和用户定义的完整性。其中实体完整性和参照完整性是关系模型必须满足的完整性约束条件。用户定义的完整性是应用领域需要遵循的条件,体现在具体领域中的语义约束。实体完整性:若属性A 是基本关系R 的主属性,则属性 A 不能取空值。如:在学生表里,由于“学号”是基本关系的主属性,则“学号”值不能为空值,学生的其他属性可以是空值。参照完整性:若属性(属性组)F 是基本关系R 的外码,它与基本关系S 的主码K 相对应,则对于R 中每个元组在F 上的值必须为:或者取空值;或者等于S 中某个元组的主码值。例如,学生关系中的“系院编码”为外码;那么依照参照完整性规则,在学生关系中,某一个学生“系院编码”要么

14、取空值,表示该学生未被分配到指定系;要么等于系院关系中某个元组的“系院编码”,表示该学生隶属于指定系。用户定义的完整性例如:在学生关系中,学生 分量的取值范围应该限定在 1830 岁等。1.(会计算结果)定义 1.1 给定一组域 D1,D2,Dn,这些域中可以有相同的。D1,D2,Dn 的积为:D1D2Dn(d1,d2,dn)di Di,i1,2,n。所有域的所有取值的一个组合不能重复。例如:给出三个域:D1= 男,女 (集合)D2=专业=计算机专业,信息专业(专业集合)D3=,(集合)则 D1,D2,D3 的(男,计算机专业,(男,计算机专业, (男,信息专业,(女,计算机专业, (女,计算

15、机专业,(女,信息专业,积为: D1D2D3 ),(男,计算机专业,),),(男,信息专业,),(男,信息专业,),(女,计算机专业,),(女,信息专业,),(女,信息专业,),),),),) 附加:该2.关系的定义定义 1.2D2,Dn)积的基数为 223=12 个元组积 D1D2Dn 的任一子集成为在域 D1,D2,Dn 上的关系,表示为 R(D1,这里R 表示关系的名字,n 表示关系的目或度(Degree),当 n=1 时称为一元关系,当n=2 时成为二元关系。例如:R=(男,计算机专业,),(男,计算机专业,)一个关系3.关系模式定义 1.3关系模式可以形式化地表示为 R(U,D,do

16、m,F) (了解)其中,R 为关系名,U 为组成关系的属性名的集合,D 为属性组U 中属性所来自的域,dom 为属性和域之间的映像集合,F 为关系中属性间数据的依赖关系集合。关系模式一般可简写为 R(U)或R(A1,A2,An)其中,R 为关系名,A1,A2,An 为属性名(i=1,2,n)。而明为属性的类型、长度。及属性向域的映像常常直接说例如:学生(学号、4.关系数据库、系院编码)系院(系院编码,系院名称、)通常关系数据库模式与关系数据库的值统称为关系数据库。关系模式:学生(学号,籍贯,专业)与学生关系模式对应数据库的实例1.5.6 关系代数关系代数的运算符有四种类型:集合运算符、专门运算

17、符、比较运算符、逻辑运算符。1.集合运算符关系的集合运算要求参加运算的关系必须具有相同的目(即关系的属性个数相同),且相应属性取自同一个域。(1)并(Union)设关系 R 和关系 S 具有相同的目 n(即两个关系都有 n 个属性),且相应的属性取自同一个域,则关系 R比较运算符逻辑运算符集合运算符专门运算符与关系S 的并由属于R 或属于S 的元组组成。其结果关系仍为n 目关系。记作: RS=t | tRtS(2)交( ersection)设关系R 和关系S 具有相同的目n,且相应的属性取自同一个域,则关系 R 与关系S 的交由既属于R 又属于S 的元组组成。其结果关系仍为n 目关系。记作:R

18、S=t | tRtS(3)差(Difference)设关系R 和关系S 具有相同的目n,且相应的属性取自同一个域,则关系 R 与关系S 的差由属于R 而不属于S 的所有元组组成。其结果关系仍为n 目关系。记作:RS=t | tRtS2. 专门的关系运算专门的关系运算包括广义积、选择、投影、连接和除运算。(1)广义积两个分别为 n 元和 m 元的关系 R 和 S 的广义积 RS 是一个 (nm)元组的集合。元组的前 n 个分量是R 的一个元组,后m 个分量是S 的一个元组。记为RS 。例.两个成绩文件如下表所示(参考)成绩 1成绩 2 运算结果 :(成绩 1-成绩 2)运算结果(成绩 2-成绩

19、1)运算结果例. 设某公司有两个子公司,其营业库如下表所示:现欲对全公司营业情况进行统计,即求营业库营业库 1营业库 2。结果如下表所示:(2)选择运算选择又称为限制。它是在关系R 中选择满足给定条件的诸元组,记作: F(R) = t | tR F(t)=真。其中F 表示选择条件,它是一个逻辑表达式,取逻辑值真或假。选择运算是一种横向的操作。例.假设有营业表所示关系(假设名称为营业库),如欲求公司中所有单价不少于 5 元的商品的情况(包括子公司代码,品名,数字和单价),求关系代数式。关系代数式为: 单价5(营业库)单价5(营业库)运算结果:(3)投影运算关系R 上的投影是从R 中选择出若干属性

20、列组成新的关系。记作: A(R) = tA | tR 。其中A 为R 中的属性列。投影运算是一种纵向的操作。例.假设有营业表所示“营业库”关系,欲求所有商品数量情况,要求取式及结果。关系运算式为:品名,数量(营业库)品名,数量(营业库)运算结果:名和数量两列,求关系运算(4)连接运算连接也称为连接。它是从两个关系的积中选取属性间满足一定条件的元组。记作:提示:在投影后如出现重复元组,应只保留一个。其中A 和B 分别为R 和S 上度数相等且可比的属性组。是比较运算符。连接运算从 R 和S 的足比较关系的元组。积 RS 中选取(R 关系)在A 属性组上的值与(S 关系)在B 属性组上值满可实现两个

21、关系的横向合并。连接运算中有两种最为重要也最为常用的连接,一种是等值连接(equi-join),另一种是自然连接(Natural join)。等值连接等值连接是为“”的连接运算。它是从关系 R 与 S 的等值连接为:积中选取 A、B 属性值相等的那些元组。即自然连接自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且要在结果中把重复的属性去掉。即若R 和S 具有相同的属性组B,则自然连接可记作:关系 R 与 S 的自然连接运算第二章SQL 语言的发展过程基本特点数据定义语言(DDL),数据重点介绍数据查询语言语言(DML)和数据控制语言(DCL)例.关系 R 和

22、 S 如下,求 R(A=C)S 。关系 R关系 SR(A=C)S 结果:*SQL 特点:1.功能SQL 包括数据定义、数据查询、数据和数据控制的功能。2.高度非过程化它没有必要告诉计算机“如何”去做,而只需要描述清楚用户“要做什么”,系统会自动完成。3.语言简洁只用 7 个动词(select , drop, alter, create, insert, update ,delete)就实现了 SQL 的SQL 使用的动词功能 。4.语法结构SQL 语言有两种使用方式:自含式和。自含式直接以命令方式交互使用,独立地以联机交互式使用;以嵌入到程序的方式使用,可以嵌入到某种高级程序设计语言中使用。5

23、.面向集合的操作方式SQL 所作用的对象、作用后所得的结果都可以是元组的集合。SQL 的基本概念模式是数据库中全体数据的逻辑结构和特征的描述。数据库系统的三级模式结构是指数据库系统由外模式、模式和内模式这三级。SQL 的功能:数据定义、数据查询、数据、数据控制。SQL 的数据定义功能包括对基本表、视图和索引的定义,即对表的创建、删除和修改,以及对视图和索引的创建和删除 。创建数据库要对数据库模式进行操作,首先要建立相应的数据库,并把它作为一个文件存放在磁盘上。现代的数据库管理系统都提供图形用户界面,可以通过点击菜单完成。使用 SQL 语句建立数据库的一般格式为:CREATE DATABASE

24、数据库名参数仅要求掌握参数省略的情况,即CREATE DATABASE 数据库名删除数据库如果所建立的数据库不再需要时,可以对此数据库进行删除,删除数据库的一般格式为:DROP DATABASE 数据库名例. 创建一个名称为“STUDENTMASS”的学生-社团数据库。SQL 语句为:CREATE DATABASE STUDENTMASS提示:本章中所举例子均为基于 STUDENTMASS 数据库,假设 STUDENTMASS 为管理学生参加社团活动的有关信息的数据库。创建、删除和修改基本表基本表是数据库中中创建基本表。常用数据类型数据的最基本的对象,是数据库的一个重要组成部分。建立数据库后可

25、以在其提示:字符串使用一对单引号 来表示,例如数据库、表等。不同的关系数据库系统所支持的数据类型不完全相同。1. 创建基本表其一般格式为:CREATE TABLE (列级完整性约束条件 ,列级完整性约束条件,);列级完整性约束仅作用在该列上,表级完整性约束作用在整个表上。例.建立一个学生表Student,它有五个属性:学号(Sno)(Sname)(Ssex)(Sage)、所在系(Sdept)、年级(Sgrade)。其中学生的学号不能为空,并且值是唯一的。学号为该表的主键。学生的CREATE TABLE Student也不允许为空。(Sno CHAR(5) NOT NULIQUE,Sname C

26、HAR(20) UNIQUE,Ssex SageSdeptCHAR(1),CHAR(5),Sgrade CHAR(5), PRIMARY KEY(Sno);在这里由于学号属性已经定义为主键,因此该属性的完整性约束条件“NOT NULL”也可以省略。例.定义两个关系Massa 和 SM, Massa 是学校社团活动的表,它有 3 个属性:社团活动Mno,社团活动名称 Mname,参加该社团活动的人数 Mnum。其中社团活动为主键;SM 是学生参加社团活动情况的表,它也有 3 个属性:学生学号Sno,活动Mno,在该社团中担任的职务Duty,主键为(Sno,Mno)。(1)创建学校社团活动表CRE

27、ATE TABLE Massa(Mno CHAR(5) NOT NULL,Mname CHAR(20) NOT NULL,Mnum,PRIMARY KEY(Mno);2)创建关系SM CREATE TABLE SM(Sno CHAR(5) NOT NULL, Mno CHAR(5) NOT NULL,Duty CHAR(20),PRIMARY KEY(Sno,Mno), FOREIGN KEY(Sno) REFEREN FOREIGN KEY(Mno) REFEREN2. 修改基本表一般格式为:ALTER TABLE Student(Sno),Massa(Mno);ADD 完整性约束 DROP

28、 MODIFY;ADD 子句用于增加新列和新的完整性约束条件。 DROP 子句用于删除指定的完整性约束条件。(了解) MODIFY 子句用于修改原有的列名和数据类型。例.在社团活动表Massa 中增加该社团名字列,列名为Leader。ALTER TABLE MassaADD Leader CHAR(20);如果要删除基本表中的某列,则其句法如下:ALTER TABLE DROP CASCADE| RESTRICT ;CASCADE| RESTRICT为列的删除方式。 CASCADE 方式表示在基本表中删除列时,所有该列的视图或完整性约束均一起自动删除;RESTRICT 方式表示只有当没有视图或

29、完整性约束时该列才能被删除,否则删除操作。例.将学生表Student 中的年级Sgrade 列删除,并将该列的所有视图和约束一起删除。ALTER TABLE Student DROP Sgrade CASCADE;例.将学生表Student 中Sage 的数据类型改成短整型。ALTER TABLE StudentMODIFY Sage SMALL3. 删除基本表;一般格式为:DROP TABLE CASCADE| RESTRICT;例.删除基本表 SM。但是要求只有在没有视图或约束条件 DROP TABLE SM RESTRICT;2.3 SQL 数据查询该表的属性时才能删除,否则删除操作。数

30、据库的操作就是进行数据查询。数据查询就是根据用户的需要,以一种可读的方式从数据库中提取所需要的数据。2.3.1 SELECT 命令的一般格式说明一般格式为:SELECT ALL| DISTINCT , FROM , WHERE GROUP BY HAVING ORDER BY ASC| DESC ;SELECT 子句指明要查询的项目。ALL| DISTINCT为目标属性, 使用ALL 来显示表中符合条件的所有行,默认为ALL;使用DISTINCT 选项时,删除重复的数据行。FROM 子句指明被查询的基本表或视图,它们之间用逗号隔开。WHERE 子句指明查询的条件。WHERE 子句可以过滤掉不需

31、要的数据行,用来查询满足指定条件的元组。 GROUP BY 子句指明如何将查询结果进行分组。使用GROUP BY 子句将查询结果按某一列或多列值分组,值相等的为一组。如果GROUP 子句带HAVING 短语,则只有满足指定的组才给以输出。 ORDER BY 子句指明查询结果如何排序。使用ORDER BY 子句对查询返回的结果按一列或多列排序。其中ASC 表示升序,为默认值,DESC 为降序。实例基于学生-社团数据库,该数据库中包含三个基本表:Student 表、Massa 表和 SM 表,这三个表就是面例题中定义过的。假设该数据库中具有部分数据。(参考2.3.2 简单查询)单表查询是相对多表查

32、询而言的,指从一个数据表中查询数据。因为单表查询不涉及多个基本表的连接查询和嵌套查询等复杂的情况,所以也称之为简单查询。1. 使用SELECT-FROM 子句查询例. 查询学生表中所有学生的学号、 SELECT Sno,Sname,Sage FROM Student;例. 查询所有的社团名称。SELECT Mname及。FROM Mass星号(*)功能a;除了可以查询部分列之外还可以查询全部列。查询全部列的方法有两种可供选择:一种就是在 SELECT子句后列出全部的列名,另一种就是简单地在SELECT 子句后写一个星号(*)。例. 查询学生参加社团的所有情况。解一 SELECT Sno,Dut

33、y,Mno FROM SM;解二 SELECT *FROM SM;例. 列出所有参加了社团的学生的学号。SELECT SnoFROM SM;如何去掉学生学号的重复行?SELECT DISTINCT Sno FROM SM;在查询时,如果查询的信息是需要经过对某列进行计算转换的,则可以在此列写出它的计算表达式。SELECT 子句中可以是列名、常量、函数或表达式。例. 查询所有的社团及名称。SELECT Mno,社团名为:,Mname FROM Massa;是函数与计算表达式例.查询所有学生的学号及其出生年份和所在系别,要求学生所在系用小写字母表示出来。SELECT Sno,2006-Sage,

34、BirthYear,ISLOWER(Sdept) FROM Student;字符串连接 “+”例.查询每个社团的及其名称,但每个社团名后都带上“”两字。SELECT Mno,Mname+ 社团名称FROM Massa;“+”表示字符串连接,该运算可以把两个字符串连接成一个字符串。2. 使用WHERE 子句指定查询条件 WHERE 子句的主要功能就是对行的选择 WHERE 子句常用的查询条件运算符例.查询学生SELECT *大于 20 的数据.FROM Student WHERE Sage20 ;WHERE 子句常用的查询条件运算符比较运算符、=、=、=、!、! =、!比较运算符主要用来在WHE

35、RE 子句中比较两个值的大小。范围运算符BETN AND、NOT BETN AND范围运算符用来判断表达式的值是否在(不在)指定的范围内。例.查询参加人数在 100 人到 200 人之间的社团名称及具体人数。SELECT Mname,MnumFROM MassaWHERE Mnum BET列表运算符IN (项 1,项 2) 、NOT IN (项 1,项 2)N 100 AND 200;用于判断表达式是否为列表中的指定项。模式匹配符(了解)LIKE、NOT LIKE常用于模糊查找,判断列值是否与指定的字符串格式相匹配。例.查询青年和游泳两个社团的参加人数情况。SELECT Mname,MnumF

36、ROM MassaWHERE Mname IN ( 青年可使用以下通配字符:,游泳 );百分号%:可匹配任意类型和长度的字符。下划线_:匹配单个任意字符,它常用来限制表达式的字符长度。如果要表示中文字符,就要使用_ _,因为一个汉字需要占两个字符的位置。方括号:指定一个字符、字符串或范围,要求所匹配对象为它们中的任一个。:其取值也和 相同,但它要求所匹配对象为指定字符以外的任一个字符。例如:限制以Publishing 结尾,使用LIKE %Publishing;限制以A 开头:LIKE A%;限制以A 开头外:LIKE A%。例.查询所有姓刘的学生的 SELECT Sname,Sage FRO

37、M StudentWHERE Sname LIKE 刘%;及。例.查询学生是两个字的学生的学号、及。SELECT Sno,Sname,Sage FROM StudentWHERE Sname LIKE ;通配符%或_如果所查询的字符或字符串本身带有通配符%或_,则要使用转义符ESC对通配符进行转义。例.列出社团名称中带有_的社团Select Mno,Mname及名称。From MassaWhere Mname LIKE %_% ESC空值判断符(了解)IS NULL、NOT IS NULL可以用来判断某个列值是否为空。例如:WHERE Sage IS NULL。逻辑运算符;此类运算符的优先级为

38、:NOT、AND、OR;用户可以使用括号改变它们的优先级;逻辑运算符可以用来连接多个查询条件。例.查询计算机系的SELECT *FROM Student小于 20 岁的男同学的信息。WHERE Sdept=CS AND Sage2;5. 使用ORDER BY 子句对查询结果排序使用ORDER BY 子句对查询返回的结果按一列或多列排序。在该子句中的ASC 表示升序,为默认值,DESC 为降序。 例.将所有学生的学号顺序按降序排列。SELECT *FROM StudentORDER BY Sno DESC;例.将所有学生按从小到大排列。SELECT *FROM StudentORDER BY S

39、age ASC;2.3.3 多表查询在数据库使用中很多情况下许多数据的查询要跨两个或多个表进行,这种查询就称为多表查询。可以通过连接运算符可以实现多个表查询。连接是关系数据库模型的主要特点,也是它区别于其它类型数据库管理系统的一个标志。1. 连接查询当检索数据时,通过连接操作查询出存放在多个表中的不同实体的信息。内连接:使用比较运算符进行表间某(些)列数据的比较操作,并列出这些表中与连接条件相匹配的数据行。在连接查询中用来连接两个或多个表的条件称为连接条件。一般格式为:. . 其中,主要的有:=,=,=,!=。例. 查询每个学生和他(她)所参加的社团的情况。分析:在本例中,每个学生的情况存放在

40、Student 表中,而学生参加社团的情况却存放在 SM 表中,所以要查询学生及其参加社团活动的情况就涉及到学生表和社团表两个表的查询。那么可以通过它们的 Sno 列实现连接查询。由于两个表中都有 Sno 列,为了避免则可以省略不写。SELECT Student.*,SM.* FROM Student,SMWHERE Student.Sno= SM.Sno;面加上表名。如果列名在所查询的表中唯一,在上面的结果表中,有一些重复的数据,在实际的查询中这样的连接查询的结果会产生冗余或没有意义的元组,这时可以使用自然连接进行查询。在连接查询中将结果表中重复的列去掉就为自然连接。例. 将上例用自然连接完

41、成。SELECT Student.Sno,Sname,Ssex,Sage,Sdept,Sgrade,Mno,Duty FROM Student,SMWHERE Student. Sno= SM. Sno;这样就在结果列中去掉了重复的列,仅有一列为学生的学号列。2. 自身连接 (了解)多表查询不仅包括在两个不同表之间的数 据查询,还包括一个表进行自身的连接查询操作,称为自身连接。在自身连接中,由于同一个基本表名在查询语句中出现多次,为了区别表的每次出现,需要为表定义一个别名。例. 查询所有相同的学生的和。SELECT S1.Sname,S2.Sname,S1.Sage FROM Student S1,Student S2 WHERE S1.Sage= S2.SageAND S1.Sno S2.Sno2. 外连接内连接查询操作列出与连接条件匹配的数据行,它使用比较运算符比较被

温馨提示

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

评论

0/150

提交评论