
 1
1
 00:00:00,700 --> 00:00:05,090
 下一个知识点就是函数在集合上的限制
2
 00:00:08,290 --> 00:00:10,200
 符号可以这样来
3
 00:00:10,210 --> 00:00:16,640
 F然后一个往下的箭头A 
4
 00:00:16,650 --> 00:00:19,520
 意思就是说F里面的元素
5
 00:00:20,120 --> 00:00:23,980
 它的第1坐标是在A里面的
6
 00:00:27,030 --> 00:00:30,380
 比如说,右边 X,2
7
 00:00:31,120 --> 00:00:34,260
 这是一对,y,1,一对,这个集合
8
 00:00:35,370 --> 00:00:38,150
 然后在X集合上做限制
9
 00:00:39,230 --> 00:00:41,530
 也就是说,第1坐标
10
 00:00:41,540 --> 00:00:44,850
 只能是X这里面的集合里面的元素
11
 00:00:44,860 --> 00:00:46,650
 实际上只有这个
12
 00:00:46,820 --> 00:00:48,510
 所以X,2
13
 00:00:49,530 --> 00:00:54,890
 这个跟我们后面投影
14
 00:00:56,050 --> 00:01:00,100
 select是类似的
15
 00:01:00,590 --> 00:01:05,560
 哪个字段,类似的
16
 00:01:05,570 --> 00:01:06,680
 X,2,Z,2
17
 00:01:06,690 --> 00:01:13,730
 18
 00:01:14,060 --> 00:01:16,060
 XYZ都有
19
 00:01:16,690 --> 00:01:19,170
 所以这里面一个都没有少
20
 00:01:19,760 --> 00:01:21,100
 都照搬过来了
21
 00:01:21,110 --> 00:01:28,320
 下面,G5,工号1,姓名罗玉凤,地址
22
 00:01:29,320 --> 00:01:31,540
 然后我们针对姓名、地址
23
 00:01:31,550 --> 00:01:33,810
 这两个来做一个限制
24
 00:01:34,690 --> 00:01:36,960
 工号就没有了,姓名罗玉凤
25
 00:01:36,970 --> 00:01:38,360
 地址,纽约法拉盛
26
 00:01:40,360 --> 00:01:41,510
 如果后面是空集
27
 00:01:42,190 --> 00:01:43,070
 那就空集了
28
 00:01:43,480 --> 00:01:46,350
 因为空集没东西,没有元素
29
 00:01:49,190 --> 00:01:50,900
 意思就是没有任何一个
30
 00:01:53,030 --> 00:01:56,660
 这个集合里面没有一个元素能够被选中
31
 00:01:56,670 --> 00:01:56,740
 32
 00:02:02,100 --> 00:02:06,550
 这样来,我们结合刚才讲的
33
 00:02:06,840 --> 00:02:10,700
 你看,F和G兼容
34
 00:02:10,710 --> 00:02:13,010
 我们可以这样来定义
35
 00:02:13,380 --> 00:02:18,700
 当F、G的
36
 00:02:20,720 --> 00:02:23,750
 用这个F和G的定义域的交集
37
 00:02:23,760 --> 00:02:31,370
 来限制这个F,和用F和G的定义域的
38
 00:02:31,380 --> 00:02:32,370
 交集来限制G
39
 00:02:32,380 --> 00:02:35,290
 结果是一样的,也就是说
40
 00:02:36,140 --> 00:02:38,020
 刚才那个兼容的意思
41
 00:02:38,030 --> 00:02:40,180
 就可以这样描述
42
 00:02:40,550 --> 00:02:45,550
 两个定义的交集
43
 00:02:47,760 --> 00:02:50,340
 以交集来筛选
44
 00:02:52,260 --> 00:02:56,110
 集合里面的元素,得到的结果是相同的
45
 00:02:56,700 --> 00:02:58,020
 那么这两个就兼容
46
 00:03:03,650 --> 00:03:08,320
 往往我们后面我们用一些表也好
47
 00:03:08,770 --> 00:03:09,960
 类也好
48
 00:03:10,920 --> 00:03:13,430
 往往这两个交集就是一个ID 
49
 00:03:14,360 --> 00:03:18,200
 比如说,员工,姓名什么的
50
 00:03:18,210 --> 00:03:19,280
 然后里面有部门ID
51
 00:03:19,370 --> 00:03:21,240
 部门里面也有一个部门ID
52
 00:03:22,210 --> 00:03:23,480
 只有这两个字段
53
 00:03:23,570 --> 00:03:26,440
 两个元素是一样的
54
 00:03:28,570 --> 00:03:31,820
 那么这两个就可以兼容
1
 00:00:00,290 --> 00:00:03,040
 下一个知识点就是函数的组合
2
 00:00:04,450 --> 00:00:06,120
 这里的组合,英语
3
 00:00:06,130 --> 00:00:07,000
 还是Composition
4
 00:00:07,090 --> 00:00:08,790
 跟UML里面
5
 00:00:08,800 --> 00:00:10,460
 那个是一个词
6
 00:00:10,630 --> 00:00:13,910
 但是意思有些不一样
7
 00:00:14,040 --> 00:00:15,230
 它这里指的是什么
8
 00:00:16,350 --> 00:00:17,940
 连续应用函数
9
 00:00:17,950 --> 00:00:20,180
 就是说两个函数叠加在一起
10
 00:00:24,890 --> 00:00:26,930
 那么头一个函数的值域
11
 00:00:26,940 --> 00:00:29,920
 就成为下一个的定义域
12
 00:00:30,780 --> 00:00:35,920
 比如说,g组合f,我们用方块这个来表达
13
 00:00:36,890 --> 00:00:38,980
 结果就相当于什么
14
 00:00:41,900 --> 00:00:44,950
 f(a)
15
 00:00:44,960 --> 00:00:48,680
 然后再g,这是第1坐标
16
 00:00:49,050 --> 00:00:53,460
 第2坐标是这个
17
 00:00:53,820 --> 00:00:56,580
 然后后面是条件
18
 00:00:56,910 --> 00:00:59,780
 a是在这个f的定义域里面的
19
 00:01:01,670 --> 00:01:07,940
 而f(a)就是g的定义域
20
 00:01:07,950 --> 00:01:16,610
 也就是说,f(a)是a施加f函数之后得到的值
21
 00:01:17,180 --> 00:01:23,330
 那么这个值就属于g的定义域里面
22
 00:01:24,310 --> 00:01:25,890
 这样两个就接得上了
23
 00:01:28,900 --> 00:01:31,200
 比如说,编号
24
 00:01:32,010 --> 00:01:33,770
 经过f,工号
25
 00:01:33,780 --> 00:01:37,080
 你看右边这个,f是编号,工号,姓名
26
 00:01:37,090 --> 00:01:38,720
 然后,姓名,职位,工作
27
 00:01:39,150 --> 00:01:40,770
 28
 00:01:43,330 --> 00:01:48,170
 g组合f,那就先应用f了
29
 00:01:48,540 --> 00:01:49,890
 现在你看编号
30
 00:01:50,520 --> 00:01:53,780
 然后f(编号)
31
 00:01:55,200 --> 00:01:56,070
 然后再g
32
 00:01:58,720 --> 00:02:02,360
 这样把它套上来
33
 00:02:03,720 --> 00:02:04,040
 34
 00:02:06,540 --> 00:02:10,720
 f(编号)实际上就是工号
35
 00:02:10,730 --> 00:02:16,950
 编号-工号,g(工号)就是99
36
 00:02:17,530 --> 00:02:18,320
 实际上就相当于
37
 00:02:19,070 --> 00:02:23,540
 f相当于把编号到工号
38
 00:02:23,550 --> 00:02:25,040
 姓名到员工姓名,职位到工作
39
 00:02:25,050 --> 00:02:26,540
 这是第一个转换
40
 00:02:27,640 --> 00:02:30,550
 g就相当于把工号转到999
41
 00:02:31,500 --> 00:02:32,500
 第2个转换
42
 00:02:37,850 --> 00:02:39,290
 它的用途
43
 00:02:39,640 --> 00:02:42,100
 一个就是重命名
44
 00:02:42,430 --> 00:02:44,220
 给定元组的属性
45
 00:02:45,040 --> 00:02:47,470
 编号转成工号,就转过来
46
 00:02:47,480 --> 00:02:49,390
 转换类型一样的
55
 00:03:32,430 --> 00:03:33,540
 就可以并起来