文档内容
~ 2025年教师资格证·《信息技术》~
数 据 库 技 术 2 / 3
主讲老师 孙珍珍
粉笔教师教育 粉笔教师P214
三、关系代数
(一)传统的集合运算
1.并
①符号:∪
②两个关系的列:一模一样
③结果:R行+S行-RS重复
④可交换:R∪S = S∪RP214
(一)传统的集合运算
2.差
①符号:-
②两个关系的列:一模一样
③结果:R行-RS重复
④不可交换:R-S ≠ S-RP214
(一)传统的集合运算
3.交
①符号:∩
②两个关系的列:一模一样
③结果:RS重复
④可交换:R∩S = S∩RP215
(一)传统的集合运算
4.广义笛卡尔积
①符号:× ②两个关系的列:无要求 ③结果:依次拼接。 R有m列x行, S有n列y行,R×S有m+n列xy行书上无
试题巩固
(2022 下·初高中)设关系 R 和 S 具有相同的属性个数且相对应属性的值取自同一个域, 则
R -(R - S )等价于( )。
A. R ∪ S
B. R ∩ S
C. R ×S
D. R - S书上无
试题巩固
(2017下·高中)如图所示,由关系R和S得到关系T的操作是( )。
A.并
B.交
C.投影
D.选择P217
(二)专门的代数运算
1.选择
【例1】P217
(二)专门的代数运算
1.选择
【例2】
①符号:𝛔
②针对一个关系
③结果:选行(筛选)
④细节:文本需加引号P217
(二)专门的代数运算
2.投影
【例3】P218
(二)专门的代数运算
2.投影
【例4】 【例5】
①符号:π
②针对一个关系
③结果:选列(打光)
④细节:自动去重书上无
试题巩固
(2023 下·高中)如下图所示,由关系 R 得到关系 S 的操作是( )。
A. 并
B. 投影
C. 选择
D. 自然连接P218
(二)专门的代数运算
3.连接 ---(1)等值连接
C.CNo CN Credit SNo SC.CNo Grade
C0201 数据库原理及应用 5 11001 C0201 85
【例6】C.CNo=SC.CNo
C0201 数据库原理及应用 5 11002 C0302 65
C0201 数据库原理及应用 5 12001 C0201 70
课程表 C
C0201 数据库原理及应用 5 12003 D0101 95
CNo CN Credit C0204 计算机网络 5 11001 C0201 85
C0201 数据库原理及应用 5 C0204 计算机网络 5 11002 C0302 65
C0204 计算机网络 5
C0204 计算机网络 5 12001 C0201 70
D0101 信息安全基础 4
C0204 计算机网络 5 12003 D0101 95
C0103 计算机组成原理 4
D0101 信息安全基础 4 11001 C0201 85
D0101 信息安全基础 4 11002 C0302 65
选课表 SC
D0101 信息安全基础 4 12001 C0201 70
D0101 信息安全基础 4 12003 D0101 95
SNo CNo Grade
11001 C0201 85 C0103 计算机组成原理 4 11001 C0201 85
11002 C0302 65 C0103 计算机组成原理 4 11002 C0302 65
12001 C0201 70
C0103 计算机组成原理 4 12001 C0201 70
12003 D0101 95
C0103 计算机组成原理 4 12003 D0101 95P219
(二)专门的代数运算
(1)等值连接
课程表 C 选课表 SC
CNo CN Credit SNo CNo Grade
C0201 数据库原理及应用 5 11001 C0201 85
C0204 计算机网络 5 11002 C0302 65
D0101 信息安全基础 4 12001 C0201 70
C0103 计算机组成原理 4 12003 D0101 95
【例6】C.CNo=SC.CNo
C.CNo CN Credit SNo SC.CNo Grade
字段:两个关系的字段进行拼接。 记录:等号两端属性值相等,拼左右P219
(二)专门的代数运算
(2)自然连接
课程表 C 选课表 SC
CNo CN Credit SNo CNo Grade
C0201 数据库原理及应用 5 11001 C0201 85
C0204 计算机网络 5 11002 C0302 65
D0101 信息安全基础 4 12001 C0201 70
C0103 计算机组成原理 4 12003 D0101 95
【例7】C∞SC
自然连接是特殊的等值连接:①两表有相同的属性 ②相同属性做等值连接 ③去掉重复的属性书上无
试题巩固
(2024 上 · 初中)自然连接是构成新关系的有效办法,一般情况下当对关系 R 和 S 使用自然连接
时,要求 R 和 S 含有一个或多个共有的( )。
A. 行 B. 属性 C. 记录 D. 元组
(2022 上 · 初中)在关系代数中,从两个关系的笛卡儿积选取它们属性间满足一定条件元组的操
作称为( )。
A. 投影 B. 选择 C. 自然连接 D.等值连接第四节 ACCESS数据库P220
学生选课数据库
- 学生表S
u
SNo SN Sex Dept Age 选课表SC
(学号) (姓名) (性别) (系别) (年龄)
11001 冯明 男 计算机 18
11002 陈月 女 通信 19
SNo CNo Grade
12001 褚共 男 计算机 18 (学号) (课程编号) (成绩)
12002 卫潮 男 自动化 20 11001 C0201 85
12003 蒋生 女 通信 20 11001 C0204 80
11002 C0302 65
12001 C0201 70
CNo CN Credit
12001 D0101 76
(课程编号) (课程名称) (学分)
12002 C0203 80
C0201 数据库原理及应用 5 12003 C0201 85
P0101 高等数学 6 12003 D0101 95
C0203 数据结构 6
C0204 计算机网络 5
C0302 算法设计与分析 4
D0101 信息安全基础 4
课程表C
C0103 计算机组成原理 4P220
一、创建数据表P220
(一)数据类型
数据类型 可存储的数据
文本 文本,文本和数字组合,不需要计算的数字
备注 较长的文本
数字 需要进行计算的数值数据
日期/时间 基于日期和时间的数据
货币 货币值
自动编号 添加记录时自动插入一个唯一的数值
是/否 逻辑值
OLE对象 OLE文件,如图像文件等P221
(二)字段属性书上无
试题巩固
(2023 下 · 初中)对于如图所示的 Access 数据表,下列描述正确的是( )。
A. 共有 6 个字段
B.“性别”是“备注”型字段
C.“学号”是“数字”型字段
D.“出生日期”字段设置了输入掩码P222
(三)数据表之间的关系
建立关系的条件:
1.通过外码建立联系
2.外码的数据类型保持一致书上无
试题巩固
(2020下·初中)在Access中,通过“类型编号”字段将如图所示的两个表建立关系并实施参照
完整性,在操作时却无法成功,其原因是( )
A.两张表之间禁止创建关系
B.“作品类型”表没有设置主键
C.两张表的“类型编号”字段类型不一致
D.未将“作品提交”表的主键设置为“类型编号”P223
二、编辑数据表记录
(一)添加记录
基本要求:
①与定义的数据类型一致
②遵守完整性约束条件:实体完整性、参照完整性、用户自定义完整性P224
二、编辑数据表记录
(二)删除记录
(三)修改记录P224
三、创建查询【了解出题角度】
(2018下 · 初中)商品信息表的选择查询设置如图所示,则下列选项正确的是( )。
A.按照商品序号降序排列显示商品序号、商品名称、商品价格
B.按照商品数量升序排列显示商品名称、商品数量、商品价格
C.按照商品数量升序排列显示商品序号、商品名称、商品价格
D.按照商品序号降序排列显示商品名称、商品数量、商品价格【了解出题角度】
(2023 下·高中)如果要在 Access 数据库中查询成绩在 70 分到 80 分之间(包括70分和80分)
学生的信息,下面选项中正确的设置是( )。
A. 在①处填写 IN(70,80)
B. 在②处填写 IN(70,80)
C. 在①处填写 BETWEEN 70 AND 80
D. 在②处填写 BETWEEN 70 AND 80P225
(一)指定列查询
【例1-1】查询学生的学号、姓名和年龄。P226
(一)指定列查询
【例1-2】查询学生的学号、姓名、课号和成绩。P227
(二)排序查询
【例2】查询学生的学号、姓名、课号和成绩,并按成绩降序排列。书上无
试题巩固
(2018下·初中)商品信息表的选择查询设置如图所示,则下列选项正确的是( )。
A.按照商品序号降序排列显示商品序号、商品名称、商品价格
B.按照商品数量升序排列显示商品名称、商品数量、商品价格
C.按照商品数量升序排列显示商品序号、商品名称、商品价格
D.按照商品序号降序排列显示商品名称、商品数量、商品价格P228
(三)条件查询
符 号 说 明
And “与”操作符,同时满足两侧条件
Or “或”操作符,两侧条件满足其一即可
Between…And 指定范围。例如Between A And B ,它等价于>=A And <=B。
In 指定某一系列值的列表。例如In(A,B,C),它等价于A Or B Or C。
查找指定模式的字符串。在字符串中允许使用—些通配符,如
“?”表示字符串中该位置可以为任意一个字符
Like “*”表示字符串中该位置可以为任意 个字符
“#”表示字符串中该位置可以为任意一个数字
“!”表示字符串中该位置可以为任意一个非“!”之后所跟的字符P228
(三)条件查询
【例3-1】查询考试成绩区间在[75,80]之间的学生的学号、姓名、课号和成绩,并
按成绩降序排列。P229
(三)条件查询
【例3-2】查询课号以“C”开头的所有课号及课程名。书上无
试题巩固
(2023 下·高中)如果要在 Access 数据库中查询成绩在 70 分到 80 分之间(包括70分和80分)
学生的信息,下面选项中正确的设置是( )。
A. 在①处填写 IN(70,80)
B. 在②处填写 IN(70,80)
C. 在①处填写 BETWEEN 70 AND 80
D. 在②处填写 BETWEEN 70 AND 80P229
(四)分组查询
【例4】统计学生表中不同性别的个数及年龄的最大值。
SNo SN Sex Dept Age
11001 冯明 男 计算机 18
11002 陈月 女 通信 19
12001 褚共 男 计算机 18
12002 卫潮 男 自动化 20
12003 蒋生 女 通信 20第五节 SQL基础P230
一、SQL的特点
SQL(结构化查询语言)
u
1.综合能力强
功 能 动词命令
2.非过程化
数据定义 CREATE,ALTER,DROP
3.面向集合
数据操纵 INSERT,UPDATE,DELETE
4.使用方法灵活
数据查询 SELECT
5.简洁易用:9个动词
数据控制 GRANT,REVOKE【了解出题角度】
(2021 上·高中)某关系数据库中的一个表结构为S(SN,CN,Grade),其中SN为学生名,CN为
课程名,二者均为字符型;Grade为成绩,数值型,取值范围为0~100。若要把“张小庆的数学成
绩90分”插入S中,则可以用( )。
A.ADD INTO S VALUES('张小庆','数学',90)
B.INSERT INTO S VALUES('张小庆','数学',90)
C.ADD INTO S VALUES('张小庆','数学','90')
D.INSERT INTO S VALUES('张小庆','数学','90')【了解出题角度】
(2023上·高中)SQL的查询语句“SELECT所属部门,AVG(工资) AS 平均工资 FROM 员工数
据库WHERE 所属部门 NOT LIKE "销售部门" GROUP BY 所属部门”的含义为( )。
A.从员工数据库中检索销售部门的平均工资
B.从员工数据库中检索销售部门和其他部门的平均工资
C.从员工数据库中检索销售部门和其他部门的总工资
D.从员工数据库中检索除了销售部门以外其他部门的平均工资P231
二、数据表的基本操作
(一)数据类型
Ø字符串型:char、varchar
Ø数值型:int、float
Ø日期型:dateP232
(二)数据定义
1.创建数据表-【格式】 【示例】
CREATE TABLE <表名> 【例1-1】创建学生表S。
( <列名> <数据类型> [ <列约束> ], *************************************************
… CREATE TABLE S
(
<列名> <数据类型>
SNo varchar(6) PRIMARY KEY,
[,表约束]
SN varchar(10) NOT NULL,
)
Sex char(1),
说明: Dept varchar(10),
Age int
(1)表名组成:字母、数字、下划线组成
(2)列约束类型: )
① NOT NULL 非空
*************************************************
② UNIQUE 值唯一
③ PRIMARY KEY 主码
(3)表约束
PRIMARY KEY(<列名1> [ , <列名2> ,…])P233
(二)数据定义
1.创建数据表-【格式】 【示例】
CREATE TABLE <表名> 【例1-2】创建选课表SC 。
( <列名> <数据类型> [ <列约束> ], *************************************************
CREATE TABLE SC
…
(
<列名> <数据类型>
SNo varchar(6),
[,表约束]
CNo varchar(10),
)
Grade float,
说明: PRIMARY KEY(SNo,CNo)
)
(1)表名组成:字母、数字、下划线组成
(2)列约束类型:
*************************************************
① NOT NULL 非空
② UNIQUE 值唯一
③ PRIMARY KEY 主码
(3)表约束
PRIMARY KEY(<列名1> [ , <列名2> ,…])P233
(二)数据定义
2.修改数据表-【格式】 (1)增加列 -【示例】
ALTER TABLE <表名> 【例2-1】在学生表 S 中,增加一个属性 ClassNo,
ADD <列名> <数据类型> [<列约束>]
并定义该属性的数据类型为varchar(6) 且不可为空。
| DROP <列名>
*************************************************
| ALTER <列名> <数据类型> [<列约束>]
ALTER TABLE S
说明:
ADD ClassNo varchar(6) NOT NULL
可实现三个功能:
(1)增加列
*************************************************
(2)删除列
(3)修改列P234
(二)数据定义
2.修改数据表-【格式】 (2)删除列 -【示例】
ALTER TABLE <表名> 【例2-2】删除学生表 S 中的属性 ClassNo。
ADD <列名> <数据类型> [<列约束>]
*************************************************
| DROP <列名>
| ALTER <列名> <数据类型> [<列约束>]
ALTER TABLE S
DROP ClassNo
说明:
可实现三个功能:
*************************************************
(1)增加列
(2)删除列
(3)修改列P234
(二)数据定义
2.修改数据表-【格式】 (3)修改列 -【示例】
ALTER TABLE <表名> 【例2-3】将学生表S的属性SN加宽到12个字符。
ADD <列名> <数据类型> [<列约束>]
*************************************************
| DROP <列名>
| ALTER <列名> <数据类型> [<列约束>]
ALTER TABLE S
ALTER SN varchar(12) NOT NULL
说明:
可实现三个功能:
*************************************************
(1)增加列
(2)删除列
(3)修改列P234
(二)数据定义
3.删除数据表-【格式】 【示例】
【例3】删除选课表 SC。
*************************************************
DROP TABLE <表名>
DROP TABLE SC
说明:
*************************************************
(1)级联关系均删除
(2)物理删除,不可撤销P234
(三)数据操纵
1.插入数据-【格式】 【示例】
【例4-1】向学生表 S 中添加一条学生记录
(11001,冯明,男,计算机,18)
INSERT INTO <表名> [(<列名1>[ ,<列名2>,…])]
VALUES (<值列表>) *************************************************
INSERT INTO S
说明:
VALUES('11001','冯明','男','计算机',18)
①列名省略时,值列表必须是所有属性的数据。
②列名不省时,值列表必须与列名一一匹配。
*************************************************
③值列表为多个时,中间用逗号隔开,若是字符数据需
要加引号。P235
(三)数据操纵
1.插入数据-【格式】 【示例】
【例4-2】向学生表 S 中添加一条学生记录
INSERT INTO <表名> [(<列名1>[ ,<列名2>,…])] (11002,陈月,女)
VALUES (<值列表>) *************************************************
INSERT INTO S (SNo,SN,Sex)
说明:
VALUES('11002','陈月','女')
①列名省略时,值列表必须是所有属性的数据。
②列名不省时,值列表必须与列名一一匹配。
*************************************************
③值列表为多个时,中间用逗号隔开,若是字符数据需
要加引号。书上无
试题巩固
(2021 上·高中)某关系数据库中的一个表结构为S(SN,CN,Grade),其中SN为学生名,CN为
课程名,二者均为字符型;Grade为成绩,数值型,取值范围为0~100。若要把“张小庆的数学成
绩90分”插入S中,则可以用( )。
A.ADD INTO S VALUES('张小庆','数学',90)
B.INSERT INTO S VALUES('张小庆','数学',90)
C.ADD INTO S VALUES('张小庆','数学','90')
D.INSERT INTO S VALUES('张小庆','数学','90')P235
(三)数据操纵
2.修改数据-【格式】 【示例】
【例5-1】将学生“冯明”转入自动化系。
UPDATE <表名>
SET <列名1>=<数据1>[,<列名2>=<数据2>,…]
UPDATE S
[WHERE <条件>]
SET Dept='自动化'
WHERE SN='冯明'
说明:
①where后面指定修改的条件
【例5-2】将所有学生的年龄增加1岁。
②where子句省略时,表示修改表中所有列的值
UPDATE S
SET Age=Age+1书上无
试题巩固
(2024 上·高中)某关系数据库中一个表 S 的结构为 S(SN,CN,grade)。其中 SN 为学生名,
CN 为课程名,二者均为字符型;grade 为成绩,数值型,取值范围 0 ~ 100。若要将学生王小庆
的化学成绩更正为 85 分,则可用( )。
A. UPDATE grade ="85" WHERE SN = " 王小庆 " AND CN = " 化学 "
B. UPDATE grade = 85 WHERE SN = " 王小庆 " AND CN = " 化学 "
C. UPDATE S SET grade = "85" WHERE SN = " 王小庆 " AND CN = " 化学 "
D. UPDATE S SET grade = 85 WHERE SN = " 王小庆 " AND CN = " 化学 "P235
(三)数据操纵
3.删除数据-【格式】 【示例】
【例6-1】删除学生“冯明”的记录。
DELETE FROM <表名>
[WHERE <条件>] DELETE FROM S
WHERE SN= '冯明'
说明:
①where后面指定删除记录的条件
【例6-2】删除学生表 S 的所有记录。
②where子句省略时,表示删除表中所有记录
DELETE FROM S下
节
内
容在 粉 笔
遇 见 不 一 样 的 自 己
粉笔教师教育 粉笔教师