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

news2024/11/25 4:28:06

1
00:00:01,030 --> 00:00:05,820
接下来,我们就开始讲解的知识点

2
00:00:05,830 --> 00:00:11,810
就是范式知识点

3
00:00:12,130 --> 00:00:17,490
关系这个理论里面,随着历史的发展

4
00:00:17,700 --> 00:00:21,280
它发展出很多的范式

5
00:00:23,110 --> 00:00:24,590
那么这些范式的作用

6
00:00:27,020 --> 00:00:31,260
按照科德的说法就是说

7
00:00:33,100 --> 00:00:37,280
只要数据是按照范式组织起来的

8
00:00:39,330 --> 00:00:42,130
那么所有的数据

9
00:00:42,140 --> 00:00:46,030
都可以通过基本运算来获取

10
00:00:48,560 --> 00:00:52,880
就是说合法的数据的组织

11
00:00:54,860 --> 00:00:58,890
就是平时我们看到的那些什么报表之类的

12
00:00:58,900 --> 00:01:02,300
只要你报表上这个信息是合法的

13
00:01:02,430 --> 00:01:04,100
当然报表信息可能很多个

14
00:01:04,110 --> 00:01:05,380
它可能来自很多表

15
00:01:05,590 --> 00:01:09,250
但是它们放在一起是合法的

16
00:01:10,190 --> 00:01:12,350
这种组合,都可以通过基本

17
00:01:12,360 --> 00:01:14,610
的运算来获取

18
00:01:17,810 --> 00:01:18,920
实际上这些范式

19
00:01:18,930 --> 00:01:22,340
也是我们后面的

20
00:01:22,350 --> 00:01:28,560
面向对象建模的一些什么基本原则等等

21
00:01:30,030 --> 00:01:31,550
它的理论基础了

22
00:01:32,230 --> 00:01:36,190
我们软件方法里面也列了一些

23
00:01:36,560 --> 00:01:39,670
什么的什么,不能什么的什么的什么

24
00:01:40,300 --> 00:01:43,090
实际上就是一个什么传递的依赖

25
00:01:43,570 --> 00:01:46,650
什么的什么

26
00:01:46,660 --> 00:01:48,540
还有一对多、多对多

27
00:01:48,550 --> 00:01:50,970
不能有多个,什么之类的

28
00:01:52,930 --> 00:01:53,710
类似这样的

29
00:01:57,480 --> 00:02:03,700
所以了解了这些范式

30
00:02:04,380 --> 00:02:07,780
我们才可以知道为什么后面要这样来做

31
00:02:10,270 --> 00:02:11,790
因为你不这样做

32
00:02:12,350 --> 00:02:14,700
那么很可能你的数据本身

33
00:02:14,710 --> 00:02:18,010
它就是违反范式的,违反范式

34
00:02:18,020 --> 00:02:21,290
就会带来一些不好的后果

35
00:02:21,500 --> 00:02:23,010
比如说,数据冗余

36
00:02:23,970 --> 00:02:26,170
比如说,修改的异常

37
00:02:26,680 --> 00:02:30,090
删除的异常,等等

38
00:02:30,180 --> 00:02:31,810
插入的异常等等

39
00:02:33,750 --> 00:02:36,410
所以了解这些范式

40
00:02:37,380 --> 00:02:39,450
的基本要点是有必要的

41
00:02:40,680 --> 00:02:42,550
但现在有一些人说

42
00:02:42,840 --> 00:02:44,390
我们现在要注重性能

43
00:02:44,600 --> 00:02:46,110
说现在流行什么

44
00:02:46,910 --> 00:02:47,990
非关系数据库

45
00:02:48,160 --> 00:02:49,590
所谓NoSQL

46
00:02:51,130 --> 00:02:53,040
NoSQL,非关系数据库,干嘛的

47
00:02:53,970 --> 00:02:55,930
通过添加冗余

48
00:02:57,030 --> 00:02:58,080
来改善性能

49
00:03:00,630 --> 00:03:02,280
像我们刚才说符合范式

50
00:03:02,290 --> 00:03:05,990
你所有的各种各样的报表的组合

51
00:03:06,000 --> 00:03:07,340
都可以通过运算获取

52
00:03:07,350 --> 00:03:09,810
那你还得算

53
00:03:10,730 --> 00:03:13,000
假设他

54
00:03:14,250 --> 00:03:15,610
到处都放很多冗余

55
00:03:15,950 --> 00:03:17,300
那就不用算了

56
00:03:19,620 --> 00:03:20,730
所以性能就快

57
00:03:21,680 --> 00:03:23,870
但显然这种会带来什么

58
00:03:24,040 --> 00:03:26,910
逻辑上就会出现什么

59
00:03:27,820 --> 00:03:30,400
带来逻辑上的各种压力

60
00:03:32,200 --> 00:03:33,600
所以

61
00:03:33,930 --> 00:03:37,310
即使有性能上的这种问题

62
00:03:37,320 --> 00:03:39,340
需要被迫

63
00:03:39,350 --> 00:03:41,460
要违反范式添加冗余

64
00:03:41,470 --> 00:03:44,790
你也先得懂得有哪些范式

65
00:03:45,430 --> 00:03:46,540
先懂得规范

66
00:03:46,850 --> 00:03:50,150
然后才有资格谈不规范应该怎么做

67
00:03:50,610 --> 00:03:52,250
什么情况下可以不规范

68
00:03:52,260 --> 00:03:53,770
连规范是什么都不知道

69
00:03:54,680 --> 00:03:58,340
然后就说,反正规范是可以违反的

70
00:03:58,350 --> 00:04:01,020
所以我就不用学了

71
00:04:01,240 --> 00:04:02,280
很多人就是这样的

72
00:04:03,210 --> 00:04:06,150
因为规范不是不可以违反

73
00:04:06,510 --> 00:04:07,950
所以规范就没用

74
00:04:09,430 --> 00:04:10,070
不是这样的

75
00:04:10,640 --> 00:04:13,450
他就把一个特例当成了什么

76
00:04:14,790 --> 00:04:17,380
当成了一个常例了

1
00:00:00,780 --> 00:00:03,140
那么这种也是经常我们很多人

2
00:00:03,550 --> 00:00:05,050
偷懒的一个遮羞布

3
00:00:05,060 --> 00:00:09,440
他就把概率很小的

4
00:00:10,180 --> 00:00:11,940
但是也不是不可能发生的

5
00:00:12,980 --> 00:00:13,810
就当成

6
00:00:15,020 --> 00:00:16,020
概率很大的了

7
00:00:18,610 --> 00:00:21,490
比如说,就拿我们经常举例的买彩票来说

8
00:00:21,850 --> 00:00:24,560
买彩票大概率不中的

9
00:00:25,360 --> 00:00:26,680
但也有一点点概率中

10
00:00:29,610 --> 00:00:35,040
他就不管99.99999%不中

11
00:00:35,270 --> 00:00:39,490
你看,也有中的

12
00:00:39,500 --> 00:00:43,760
所以这个中才是真理

13
00:00:44,370 --> 00:00:45,690
另外他就不管了

14
00:00:47,000 --> 00:00:50,520
但是那个很小,基本不可能的

15
00:00:53,810 --> 00:00:55,690
所以大谈什么不规范的人

16
00:00:56,180 --> 00:01:00,760
想一想你有没有资格谈

17
00:01:02,370 --> 00:01:04,320
你要先懂得规范,才知道

18
00:01:04,330 --> 00:01:08,020
什么尺度下谈不规范

19
00:01:11,290 --> 00:01:13,660
因为你这个是在很多限制条件下

20
00:01:13,670 --> 00:01:15,010
才有资格谈这个

21
00:01:15,290 --> 00:01:16,900
你连限制条件都不懂

22
00:01:17,610 --> 00:01:23,090
就直接谈这个,往往是遮羞布了

23
00:01:26,650 --> 00:01:27,920
范式有这么几个

24
00:01:27,930 --> 00:01:30,840
我们一会还会再一个个详细讨论

25
00:01:31,900 --> 00:01:34,330
书上,书非常多

26
00:01:34,340 --> 00:01:36,450
教材是大把的标准教材

27
00:01:36,660 --> 00:01:38,940
包括学校的教材

28
00:01:39,270 --> 00:01:40,780
包括软考的

29
00:01:41,570 --> 00:01:43,200
也出了很多题

30
00:01:43,210 --> 00:01:44,120
各种各样的题

31
00:01:46,460 --> 00:01:49,600
第一范式,1NF,原子属性

32
00:01:50,530 --> 00:01:51,690
不能够有多个

33
00:01:52,500 --> 00:01:54,170
还有内部复杂结构

34
00:01:54,540 --> 00:02:01,230
2NF,非主属性对候选键的部分依赖

35
00:02:01,480 --> 00:02:03,120
第三个,传递依赖

36
00:02:03,130 --> 00:02:06,100
就是A函数决定B

37
00:02:06,110 --> 00:02:08,760
B又决定C,这个不行

38
00:02:10,870 --> 00:02:13,740
下一个就是BC范式

39
00:02:13,750 --> 00:02:15,420
就是巴斯-科德范式

40
00:02:16,210 --> 00:02:17,770
消除主属性的

41
00:02:19,080 --> 00:02:20,360
部分依赖

42
00:02:20,370 --> 00:02:28,190
主属性对候选键的部分依赖

43
00:02:30,690 --> 00:02:31,530
到这里就可以了

44
00:02:31,660 --> 00:02:37,950
下面第四范式第五范式都可以不用管了

45
00:02:40,010 --> 00:02:42,900
我们一般来说,到BC范式这个

46
00:02:42,910 --> 00:02:45,660
就觉得可以了

47
00:02:49,070 --> 00:02:53,800
那么讨论范式,讲授知识的时候

48
00:02:54,370 --> 00:02:59,580
现在很多教科书这些例子都显得比较幼稚

49
00:03:00,070 --> 00:03:03,060
举的例子好像那个人(学生)特别傻一样

50
00:03:03,070 --> 00:03:06,850
怎么会,往往我们就算再傻的人

51
00:03:06,860 --> 00:03:10,260
他一开始建模,不会幼稚到那个地步了

52
00:03:10,270 --> 00:03:12,250
所以我们后面举的例子

53
00:03:12,260 --> 00:03:13,930
不要举太幼稚的

54
00:03:15,630 --> 00:03:16,950
因为我们很多教科书

55
00:03:16,960 --> 00:03:20,540
都是拿以前的

56
00:03:20,550 --> 00:03:21,700
历史这样传承下来的

57
00:03:21,910 --> 00:03:23,500
以前可能那个人(学生)很幼稚

58
00:03:23,630 --> 00:03:27,060
连基本的范式都没有

59
00:03:27,070 --> 00:03:28,560
但现在来说的话

60
00:03:28,570 --> 00:03:30,310
就算一个再差的人

61
00:03:30,320 --> 00:03:33,040
他也得有这样一个概念

62
00:03:33,330 --> 00:03:36,090
也会把一些基本概念会分开

63
00:03:36,100 --> 00:03:39,480
但是问题在什么地方

64
00:03:39,490 --> 00:03:41,920
它在某些比较含糊的地方

65
00:03:41,930 --> 00:03:45,250
但我们没有意识到,会犯范式的错误

66
00:03:47,030 --> 00:03:49,830
这种很明显看出来的

67
00:03:49,840 --> 00:03:51,750
还明目张胆的犯

68
00:03:52,420 --> 00:03:55,940
在现实中并不是很常见的

1
00:00:02,090 --> 00:00:05,200
第一范式,就是属性不能再分解

2
00:00:05,210 --> 00:00:06,920
表中不能再有表

3
00:00:08,160 --> 00:00:10,950
包括多值的属性

4
00:00:12,940 --> 00:00:18,550
把多个,然后逗号连在一起

5
00:00:20,130 --> 00:00:22,280
第二个就是复杂的属性

6
00:00:24,290 --> 00:00:26,760
属性里面

7
00:00:26,770 --> 00:00:29,820
还可以再分解成

8
00:00:29,830 --> 00:00:32,500
另外的更细的一些概念

9
00:00:32,710 --> 00:00:35,130
比如说,像右边这个图

1
00:00:00,410 --> 00:00:02,300
右边那个图

2
00:00:02,700 --> 00:00:03,900
员工ID

3
00:00:05,570 --> 00:00:08,460
你看我们这里都主动加上ID了

4
00:00:08,790 --> 00:00:10,840
就刚才讲的,不那么幼稚

5
00:00:11,460 --> 00:00:14,800
很多教科书,姓名

6
00:00:15,910 --> 00:00:18,490
姓名做主键,肯定不对(正常)的

7
00:00:18,750 --> 00:00:25,180
我们想想,现在来说,再怎么幼稚

8
00:00:25,190 --> 00:00:27,220
他也不会拿一个姓名做主键了

9
00:00:28,380 --> 00:00:30,610
员工ID或工号什么之类的

10
00:00:30,780 --> 00:00:33,870
联系方式

11
00:00:37,180 --> 00:00:39,170
你看,多值违反了

12
00:00:39,180 --> 00:00:42,450
第二个,在结构上也违反了,这里面有电话

13
00:00:42,740 --> 00:00:44,010
显然是一个联系方式类型

14
00:00:44,580 --> 00:00:47,240
这个才是具体的内容吧

15
00:00:47,970 --> 00:00:56,040
微信 QQ,怎样让它不违反,就把它拆开了

16
00:00:56,050 --> 00:00:56,440


17
00:00:56,450 --> 00:01:01,560
拆开,比如说,一种是分成三条记录

18
00:01:02,820 --> 00:01:07,750
分成三行,联系方式类型、联系方式,这样分开

19
00:01:08,870 --> 00:01:13,870
这个就满足第一范式了

20
00:01:14,080 --> 00:01:19,970
1NF,显然这里面一看就有很多冗余

21
00:01:20,060 --> 00:01:20,250


22
00:01:20,260 --> 00:01:24,320
1 潘加宇 1 潘加宇 1 潘加宇

23
00:01:24,530 --> 00:01:26,320
第二个,员工ID

24
00:01:28,820 --> 00:01:31,370
1 潘加宇,重复的

25
00:01:32,030 --> 00:01:35,180
重复了很多遍

26
00:01:35,190 --> 00:01:39,830
当然这里面你要选主键的话

27
00:01:39,840 --> 00:01:44,120
也可以选这个和这个作为复合主键

28
00:01:44,290 --> 00:01:45,920
才能够决定联系方式

29
00:01:48,840 --> 00:01:52,050
这是第一范式

30
00:01:54,090 --> 00:01:56,480
这个还好理解

31
00:01:57,890 --> 00:01:59,720
一看这个就不太对

32
00:02:00,730 --> 00:02:02,080
我们平时也不会这样干

33
00:02:03,140 --> 00:02:05,690
我们看,下面这个可能更微妙一点

34
00:02:07,910 --> 00:02:09,190
假设我们不这样干

35
00:02:09,200 --> 00:02:15,210
比如说,员工ID,1,潘加宇,这个一样的

36
00:02:15,220 --> 00:02:16,970
我们来个电话1电话2

37
00:02:17,720 --> 00:02:20,080
电话3,我多留几个字段

38
00:02:20,090 --> 00:02:21,760
电话3电话4,1个人

39
00:02:21,770 --> 00:02:23,080
5个电话,应该够了

40
00:02:23,640 --> 00:02:24,590
电话5

41
00:02:25,080 --> 00:02:25,840
这可以吗

42
00:02:27,820 --> 00:02:30,930
表面上没有违反第一范式

43
00:02:32,090 --> 00:02:32,930
但是

44
00:02:34,770 --> 00:02:39,250
实际上它也是把相同的概念

45
00:02:41,010 --> 00:02:42,540
相同的概念

46
00:02:43,460 --> 00:02:45,500
做成了什么

47
00:02:45,750 --> 00:02:46,670
不同的属性

48
00:02:47,320 --> 00:02:49,170
还是把同样的概念

49
00:02:49,180 --> 00:02:50,370
在属性那里

50
00:02:50,380 --> 00:02:51,960
重复了很多遍

51
00:02:54,150 --> 00:02:58,190
本质上还是,如果

52
00:02:58,200 --> 00:03:00,310
你有领域概念的加成的话

53
00:03:01,610 --> 00:03:02,840
本质上可以看到

54
00:03:02,850 --> 00:03:06,090
它背后本质

55
00:03:06,100 --> 00:03:07,610
还是违反第一范式的

56
00:03:08,660 --> 00:03:10,240
但如果说你没有领域概念加成

57
00:03:10,250 --> 00:03:12,120
你根本不知道这个字段是什么

58
00:03:14,730 --> 00:03:15,850
根本不知道是什么

59
00:03:17,180 --> 00:03:18,650
比如说,这个不是电话

60
00:03:19,800 --> 00:03:20,210


61
00:03:20,770 --> 00:03:22,830
假设这里不是写的电话

62
00:03:25,670 --> 00:03:31,990
而且写x,这个写y,这个没法判断了

63
00:03:32,000 --> 00:03:33,790
你不知道xy是啥

64
00:03:34,450 --> 00:03:35,890
你怎么知道违反第一范式

65
00:03:35,900 --> 00:03:37,570
没准x是身份证号呢

66
00:03:38,210 --> 00:03:41,340
万一是别的什么东西

67
00:03:43,460 --> 00:03:48,640
所以必须得有后面领域知识的加成才可以

68
00:03:48,650 --> 00:03:49,880
否则你很难判断的

69
00:03:55,590 --> 00:04:00,260
这个的话,明显看出来是重复的

70
00:04:00,470 --> 00:04:01,500
像这种可以吗

71
00:04:02,130 --> 00:04:03,330
我不电话1电话2

72
00:04:03,340 --> 00:04:06,410
因为电话1电话2都是电话的概念

73
00:04:06,660 --> 00:04:09,810
我们来私人电话、办公电话

74
00:04:10,160 --> 00:04:11,950
这个写得更清楚了

75
00:04:11,960 --> 00:04:12,550
这可以吗

76
00:04:14,550 --> 00:04:16,980
这个的话相当于标出了什么

77
00:04:18,500 --> 00:04:20,200
背后实际上都是电话

78
00:04:21,140 --> 00:04:24,290
但是标出不同角色的名称

79
00:04:24,300 --> 00:04:25,170
相当于

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1849480.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

力扣随机一题 模拟+字符串

博客主页:誓则盟约系列专栏:IT竞赛 专栏关注博主,后期持续更新系列文章如果有错误感谢请大家批评指出,及时修改感谢大家点赞👍收藏⭐评论✍ 1910.删除一个字符串中所有出现的给定子字符串【中等】 题目: …

基于STM32的智能工厂环境监测系统

目录 引言环境准备智能工厂环境监测系统基础代码实现:实现智能工厂环境监测系统 4.1 数据采集模块4.2 数据处理4.3 控制系统实现4.4 用户界面与数据可视化应用场景:智能工厂管理与优化问题解决方案与优化收尾与总结 1. 引言 智能工厂环境监测系统通过…

【转】FreeRTOS通用移植,以keil和IAR工程 M7核为例

目录 keil: IAR keil: 原文在https://bbs.eeworld.com.cn/thread-1281875-1-1.html 本篇讲述移植FreeRTOS,并创建运行一个任务,对象芯片为M7系列的兆易创新GD32H7xx系列。 一.准备工作 1.下载FreeRTOS源码官网 http://www.freertos.org/ 或者托管网站FreeRTOS…

Vue71-嵌套(多级)路由

一、需求 二、开发步骤 2-1、编写路由组件 2-2、编写路由规则 2-3、编写路由标签<router-link>、<router-view> 三、小结

(vue3)基于vite+vue3+element-plus项目创建

(vue3)基于vitevue3element-plus项目创建 vue.js官方中文文档&#xff1a;https://cn.vuejs.org/guide/quick-start.html vite官方中文文档&#xff1a;https://cn.vitejs.dev/guide/ element-plus官网&#xff1a;https://element-plus.org/zh-CN/guide/installation.html 第…

Github 2024-06-19 C开源项目日报 Top9

根据Github Trendings的统计,今日(2024-06-19统计)共有9个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量C项目9C++项目1Netdata: 开源实时监控平台 创建周期:4020 天开发语言:C协议类型:GNU General Public License v3.0Star数量:68982 个Fork数量…

echarts实现折线图点击添加标记

文章目录 背景一、代码示例 背景 业务场景体现在功能层面主要两点&#xff0c; 折线图表设置点击事件点击事件与图标渲染标记绑定 对于节点没有被添加标记的可以&#xff0c;弹框提示添加标记&#xff0c;并提供标记内容输入框&#xff0c;已经添加过标记的点&#xff0c;点…

python pynput实现鼠标点击两坐标生成截图

脚本主要实现以下功能&#xff1a; 按ctrl开始截图&#xff0c;点击两个坐标&#xff0c;保存截图tk输出截图文本信息&#xff0c;文本输出内容倒序处理默认命名为A0自增。支持自定义名称&#xff0c;自增编号&#xff0c;修改自定义名称自增重新计算清空文本框内容 from pyn…

笨蛋学算法之LeetCodeHot100_5_三数之和(Java)

package com.lsy.leetcodehot100;import java.util.ArrayList; import java.util.Arrays; import java.util.List;public class _Hot6_三数之和 {public static List<List<Integer>> threeSum(int[] nums) {//先排序数组Arrays.sort(nums);//存放结果集List<Lis…

超强开源全能日程助手—揭秘FullCalendar

引言 FullCalendar 是一个广受欢迎的开源 JavaScript 库&#xff0c;用于在网页上展示和管理事件和日程。 它最初是基于 jQuery 开发的&#xff0c;但随着时间的推移&#xff0c;经过 v1~v6 版本的迭代后&#xff0c;它已经全面支持React、Vue 和 Angular 的版本。FullCalend…

【ARMv8/v9 GIC 系列 2.2 -- GIC SPI 中断的 GICD_ISACTIVER 和 GICD_ICACTIVER 配置】

文章目录 GIC 中断 Active 状态的配置中断状态分类GICD_ISACTIVER<n>GICD_ICACTIVER<n>参数 n 编号解释中断设置举例设置中断ID 68为活动状态清除中断ID 68的活动状态 小结 GIC 中断 Active 状态的配置 在ARMv8/ARMv9 体系结构中&#xff0c;GICD_ISACTIVER<n&…

2024年全国青少信息素养大赛python编程复赛集训第四天编程题分享

整理资料不容易,感谢各位大佬给个点赞和分享吧,谢谢 大家如果不想阅读前边的比赛内容介绍,可以直接跳过:拉到底部看集训题目 (一)比赛内容: 【小学组】 1.了解输入与输出的概念,掌握使用基本输入输出和简单运算 为主的标准函数; 2.掌握注释的方法; 3.掌握基本数…

【一步一步了解Java系列】:认识异常类

看到这句话的时候证明&#xff1a;此刻你我都在努力 加油陌生人 个人主页&#xff1a;Gu Gu Study专栏&#xff1a;一步一步了解Java 喜欢的一句话&#xff1a; 常常会回顾努力的自己&#xff0c;所以要为自己的努力留下足迹 喜欢的话可以点个赞谢谢了。 作者&#xff1a;小闭…

qt开发-09_分裂器

QSplitter 是 Qt 框架中的一个非常实用的控件&#xff0c;用于创建可调整大小的窗格。它允许用户通过拖动子窗口间的边界&#xff08;也称为分割条&#xff09;来动态调整子窗口的尺寸。这在开发需要多个视图同时显示&#xff0c;且用户需要根据需要调整每个视图大小的应用程序…

pdf只要其中一页,pdf只要其中几页怎么弄

在现代办公和学习环境中&#xff0c;pdf文件因其跨平台、保持原样等优点而被广泛使用。然而&#xff0c;有时我们需要一个pdf其中页或其中几页&#xff0c;以便更好地管理和使用其中的内容。本文将详细介绍几种拆分pdf文件的方法&#xff0c;帮助您轻松应对各种拆分需求。 打开…

【LeetCode:2663. 字典序最小的美丽字符串 + 贪心】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…

Qt creator day3练习

2、升级优化自己应用程序的登录界面。 要求&#xff1a; 1. qss实现 2. 需要有图层的叠加 &#xff08;QFrame&#xff09; 3. 设置纯净窗口后&#xff0c;有关闭等窗口功能。 4. 如果账号密码正确&#xff0c;则实现登录界面关闭&#xff0c;另一个应用界面显示。 widget…

架构师指南:现代 Datalake 参考架构

这篇文章的缩写版本于 2024 年 3 月 26 日出现在 The New Stack 上。 旨在最大化其数据资产的企业正在采用可扩展、灵活和统一的数据存储和分析方法。这一趋势是由企业架构师推动的&#xff0c;他们的任务是制定符合不断变化的业务需求的基础设施。现代数据湖体系结构通过将数…

Android记录9--实现转盘效果

自定义View /2013.10.16_TurnPlate_Demo/src/com/wwj/turnplate/TurnPlateView.java package com.wwj.turnplate; import android.content.Context; import android.content.res.Resources; import android.graphics.Bitmap; import android.graphics.BitmapFactory; im…

LabVIEW机器视觉在质量控制中的应用

基于LabVIEW的机器视觉系统在质量控制中应用广泛&#xff0c;通过图像采集、处理和分析&#xff0c;自动检测产品缺陷、测量尺寸和识别标记&#xff0c;提高生产效率和产品质量。下面介绍LabVIEW机器视觉系统在质量控制中的实现方法、应用场景及其优势。 项目背景 在现代制造业…