[图解]建模相关的基础知识-18

1

00:00:01,880 --> 00:00:05,350

下一个范式就是BC范式

2

00:00:09,850 --> 00:00:10,920

就是主属性

3

00:00:11,720 --> 00:00:18,410

不部分依赖于主键或候选键

4

00:00:20,150 --> 00:00:23,100

前面第二范式说非主属性不依赖

5

00:00:23,230 --> 00:00:27,390

主属性是可以的

6

00:00:27,400 --> 00:00:32,990

但现在你看,主属性也不可以了

7

00:00:33,640 --> 00:00:35,470

实际上就是刚才我们说的那种

8

00:00:36,000 --> 00:00:37,760

互为依赖的主属性这种

9

00:00:40,530 --> 00:00:41,260

所以它的特征

10

00:00:41,270 --> 00:00:43,620

往往一个是有互为依赖的主属性

11

00:00:43,630 --> 00:00:47,040

第二个候选键它是一个复合键

12

00:00:47,720 --> 00:00:51,070

因为你只有是复合的候选键

13

00:00:51,560 --> 00:00:53,950

属性集里面有两个键以上才有

14

00:00:53,960 --> 00:00:55,550

部分依赖

15

00:00:56,820 --> 00:01:00,310

如果能够杜绝这个,就没有这个问题了

16

00:01:01,360 --> 00:01:03,750

你看,这个是符合3NF的

17

00:01:04,800 --> 00:01:05,720

符合第三范式的

18

00:01:05,730 --> 00:01:12,410

但是,你看,候选键,这可以,这也可以

19

00:01:13,020 --> 00:01:15,290

工号、ID

20

00:01:15,300 --> 00:01:19,000

然后结合上这个,可以决定

21

00:01:19,010 --> 00:01:27,010

唯一的一个元组,主属性

22

00:01:27,020 --> 00:01:27,930

这三个都是

23

00:01:29,080 --> 00:01:33,300

但是主属性里面你看,这是候选键

24

00:01:33,750 --> 00:01:37,930

员工号,它依赖于员工ID

25

00:01:42,510 --> 00:01:46,200

这个是候选键里面的一部分

26

00:01:47,190 --> 00:01:48,890

主要是有这个存在

27

00:01:49,810 --> 00:01:50,880

有这个存在

28

00:01:50,890 --> 00:01:52,720

然后还有这种存在

29

00:01:56,900 --> 00:01:59,650

这个带来的就是一个冗余问题了

30

00:01:59,660 --> 00:02:02,840

你看工号到处都是

31

00:02:04,390 --> 00:02:06,300

冗余问题就会带来

32

00:02:06,310 --> 00:02:07,580

另外的,刚才讲的

33

00:02:07,590 --> 00:02:10,540

比如说,你修改工号

34

00:02:10,550 --> 00:02:11,780

那么这里面就会

35

00:02:14,510 --> 00:02:15,340

如果工号

36

00:02:15,430 --> 00:02:17,700

我们把它当做一个是普通的

37

00:02:17,710 --> 00:02:21,290

领域里面的概念的话

38

00:02:21,820 --> 00:02:22,930

它是可以修改的

39

00:02:22,940 --> 00:02:25,010

因为我们不把它当主键的话

40

00:02:26,950 --> 00:02:33,940

那么你修改这个,它就会有很多地方要修改

41

00:02:33,950 --> 00:02:38,540

42

00:02:38,550 --> 00:02:42,060

等等,跟刚才那个问题差不多

43

00:02:45,040 --> 00:02:50,710

所以怎么分解,就把这个分解出来

44

00:02:51,870 --> 00:02:53,580

工号、ID一个

45

00:02:54,240 --> 00:03:03,750

然后这样,当然,更彻底的做法应该是什么

46

00:03:04,330 --> 00:03:07,250

应该是联系方式有个ID

47

00:03:08,400 --> 00:03:14,970

这个依然是有一个组合的候选键

48

00:03:14,980 --> 00:03:18,600

在这里,就是联系方式ID

49

00:03:19,190 --> 00:03:22,150

作为主键就行了

50

00:03:22,240 --> 00:03:27,360

其他什么员工ID、类型ID,什么的

51

00:03:27,370 --> 00:03:29,880

类型可以再单独

52

00:03:29,890 --> 00:03:32,530

不单独也行,这样也行

53

00:03:33,610 --> 00:03:36,140

就是联系方式作为一个

54

00:03:36,980 --> 00:03:40,330

单独作为一个表

55

00:03:40,500 --> 00:03:44,520

联系方式ID作为一个主键

56

00:03:44,530 --> 00:03:45,840

然后其他几个

57

00:03:45,850 --> 00:03:52,740

作为它的外键,这样来

58

00:03:57,370 --> 00:03:59,810

当然这个员工不是单独说

59

00:03:59,820 --> 00:04:01,490

这里单独放一个表

60

00:04:02,590 --> 00:04:03,780

来表示工号了

61

00:04:03,790 --> 00:04:09,880

而是说跟员工有这种对应的属性,包括姓名

62

00:04:10,730 --> 00:04:14,390

包括员工的身份证号等等

63

00:04:15,630 --> 00:04:17,690

只要跟员工是一一对应的

64

00:04:17,700 --> 00:04:20,370

这种就可以放在员工这个表里面

65

00:04:23,470 --> 00:04:25,910

工号把它当作类似这种

66

00:04:27,600 --> 00:04:28,880

没有区别的就可以了

67

00:04:29,530 --> 00:04:32,160

当作普通的属性来看待就可以

68

00:04:37,730 --> 00:04:40,480

我们到这里就可以了

69

00:04:41,180 --> 00:04:45,470

我们前面,你看,我们这些范式

70

00:04:46,230 --> 00:04:47,430

包括4范式5范式

71

00:04:48,400 --> 00:04:50,960

我们就不回顾了

72

00:04:51,330 --> 00:04:53,680

大多数人很多时候

73

00:04:54,530 --> 00:04:55,760

也搞不太懂

74

00:04:56,460 --> 00:04:57,650

关注不了这么多

75

00:04:58,310 --> 00:05:01,790

除非是说上学考试什么的

76

00:05:02,590 --> 00:05:05,520

一般我们实际中到这里就差不多了

77

00:05:06,500 --> 00:05:11,190

这几个范式它们是包含的

78

00:05:11,360 --> 00:05:13,890

就是说,只要你满足2的话

79

00:05:13,900 --> 00:05:15,630

意味着

80

00:05:15,640 --> 00:05:17,670

你就满足1

81

00:05:19,130 --> 00:05:21,860

满足3的话

82

00:05:21,870 --> 00:05:26,130

也就是说,前面的范式

83

00:05:26,140 --> 00:05:27,970

它就包含了后面的范式

84

00:05:30,660 --> 00:05:32,930

后面的范式是前面范式的一个子集

85

00:05:32,940 --> 00:05:36,880

就是说,你满足三范式,意味着什么

86

00:05:37,910 --> 00:05:40,340

你这个关系,满足三范式意味着什么

87

00:05:40,350 --> 00:05:41,740

你必然满足二范式

88

00:05:41,750 --> 00:05:44,620

你是三范式关系里面的一个元素的话

89

00:05:45,340 --> 00:05:47,860

你必然是二范式关系里面的一个元素

90

00:05:48,550 --> 00:05:50,610

你是BC范式里面的一个元素

91

00:05:50,620 --> 00:05:53,410

那么你必然是三范式里面一个元素

92

00:05:54,110 --> 00:05:55,520

93

00:05:55,930 --> 00:05:58,030

后面是前面的真子集

94

00:06:00,410 --> 00:06:03,420

不能说我不满足第二范式(口误,应为第一)

95

00:06:03,430 --> 00:06:05,620

但我满足第一范式(口误,应为第二),这个不对的

相关推荐
車瑜9114 小时前
PM-Skills42个链式工作流-数据分析
开源·产品经理·pm·pm-skills
axe_hu11 小时前
AI产品经理的职业规划与学习路径
人工智能·职场和发展·产品经理·学习方法
无心水1 天前
22、数学与经济管理(运筹学) 核心考点与学习笔记
人工智能·笔记·学习·架构师·软考·软考架构师·软考系统架构师
无心水2 天前
20、大数据架构设计理论与实践 核心考点与学习笔记
大数据·笔记·学习·架构师·系统架构设计师·软考系统架构设计师·架构设计师
人邮异步社区2 天前
怎样才能做一个架构师?
程序员·架构师
领麦微红外3 天前
红外测温传感器 赋能充电桩热安全与运维智能化
运维·安全·产品经理·智能硬件
我命由我123454 天前
访客系统形式(有用户概念、无用户概念)
java·开发语言·前端·javascript·python·产品运营·产品经理
进度猫4 天前
甘特图、看板、里程碑到底怎么选?
项目管理·产品经理·甘特图·项目管理软件
姚瑞南5 天前
【PRD】招投标商机雷达爬虫系统
人工智能·经验分享·笔记·爬虫·产品运营·产品经理
无心水6 天前
15、云原生架构设计理论与实践 核心考点与学习笔记
笔记·学习·云原生·架构师·软考·系统架构设计师·软考系统架构设计师