[图解]建模相关的基础知识-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

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

相关推荐
文火冰糖的硅基工坊16 小时前
[创业之路-204]:《华为战略管理法-DSTE实战体系》- 5-平衡记分卡绩效管理
产品经理·需求分析·产品·创业·战略
文火冰糖的硅基工坊4 天前
[创业之路-200]:什么是business(业务)?B2B, B2C, B2G业务, 什么是业务设计?
产品经理·需求分析·产品·创业·战略
文火冰糖的硅基工坊4 天前
[创业之路-198]:华为的成立发展与新中国的建立与发展路径的相似性比较
华为·产品经理·需求分析·产品·创业·战略
陪学5 天前
产品经理如何做运营数据分析?
前端·人工智能·数据分析·互联网·产品经理
文火冰糖的硅基工坊5 天前
[创业之路-199]:《华为战略管理法-DSTE实战体系》- 3 - 价值转移理论与利润区理论
华为·产品经理·需求分析·产品·创业·战略
开发者工具分享7 天前
软件开发中 Bug 为什么不能彻底消除
产品运营·产品经理
文火冰糖的硅基工坊7 天前
[创业之路-196]:华为成功经验的总结与教训简单总结
科技·华为·产品经理·需求分析·创业
文火冰糖的硅基工坊7 天前
[创业之路-197]:华为的发展路径启示
网络·华为·产品经理·需求分析·产品·创业·战略
我码玄黄10 天前
Figma入门-实战列表页
产品经理·figma·设计·原型设计
Jing_jing_X11 天前
心情追忆- SEO优化提升用户发现率
前端·后端·产品经理·个人开发·流量运营