既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Go语言开发知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
* [绘制数据关系流图的软件-亿图图示](#_535)
软件开发中会用到的图
已剪辑自: https://juejin.cn/post/6844903496542584845
一、背景
大家应该在从事软件开发领域工作时间有一段时间之后,就开始有画图的意识,不管是懵懂的学别人还是想更好的让其它人理解自己的一个观点。所谓“一图胜千言”,我们身处于软件开发这个水很深且要求精确**的复杂**领域里,要想把事情做好,最基本的是要把事情想明白,其次还要让相关的人能够明白你要说的东西,进行协作。
特别对于一位架构师来说,能否画得一手好图尤其重要,因为相关的干系人数较多,要让不同领域的人能够达成一个统一的认识,是一件不太容易但也是必须要做好的事情。
二、图为了解决什么问题
软件开发涉及的流程是:需求 --> 开发 --> 测试 --> 发布上线。作图本身是个设计的工作,是个前期工作。那么从软件开发的整个生命周期来说,用到的图的地方是在前期的需求、开发阶段较多。在软件开发这个非常抽象的领域,只要涉及到多人协作,那么通过文字来进行交流叙述是非常晦涩难懂的,需要沟通好几遍才能理解达成一致也是比较常见的情况。那么我们画图,就是为了把不适合用言语表述的内容通过作图的方式呈现出来,让相关协作者有一个共同的具象的参照物。这个参照物可以有它的额外价值,是对软件长期价值的延伸,一份一致、清晰的设计图,可以给后续的软件迭代提供非常有帮助的决策依据。当然保证设计图与系统的一致本身也是件费精力的事情。
三、不同流程中适合运用的图
1.用例图
用例图是UML交互图中的一种,是指由参与者(Actor)、用例(Use Case),边界以及它们之间的关系构成的用于描述系统功能的视图。用例图(User Case)是外部用户(被称为参与者,一般为软件的面向用户)所能观察到的系统功能的模型图。
适用场景:当新做一个产品或者功能的时候,首先需要明确核心方向,用例图就是整理这个核心方向的工具。它用来说明的是谁要使用系统,以及他们使用该系统可以做些什么。可以理解为是MVP思想的写照,去除画龙点睛的功能,这些就是基础、核心。
缺点:仅仅描述的是提供什么功能,不能表达非功能需求,如可靠性、性能等非功能需求。
2.鲁棒图(Robustness Diagram)
可能英文名Robustness Diagram更为常见一些,用于衔接用例图之后的设计,识别出系统在用例图中的各种职责,对后续的细节设计提供基础。算是对用例图的一种延伸。
适用场景:在确立用户场景之后,如果需要将关键功能设计出来,那么就需要它了。作图过程中最关键的2个点,发现职责,和梳理各个职责之间的关系。
缺点:和用例图是一样缺点,唯一的变化是,其有了粗粒度的实现层面的内容。
3.思维导图
思维导图是一个很厉害的发明,他将我们的思考过程具象化了,完美展示了由点到面不断发散的过程。但是它最大的价值,反而不是最终呈现出来的这个图,而是促进了思考的过程。并且需要注意的是,一定要把一条分支走到尽头,再回过头来走其它的分支,把思想榨干。
适用场景:在一个事情刚开始的萌芽期,不知如何下手;或者陷入一个困境的时候。利用思维导图来活跃大脑,进行发散思维。这时候如果结合头脑风暴,效果更佳。
缺点:它是一种树状的信息分层可视化展视,结构比较固定,不适合分支间互相交互比较复杂的信息展示。
4.DFD(Data Flow Diagram)图
DFD图是从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。
适用场景:在将思维导图得出的东西进行整合、梳理形成一个粗粒度的流程。这个其实类似与DDD中的上下文映射图,是在需求分析过程中做宏观设计的一种方式。
缺点:反映系统“做什么”,不反映“如何做”,粒度算是中等,需要其它更细粒度的图来对细节做支撑。
5.流程图
上面贴了2张图都是流程图,流程图有时也称作输入-输出图。该图直观地描述一个工作过程的具体步骤,各种操作一目了然,不会产生“歧义性”,便于理解,算法出错时容易发现。流程图对准确了解事情是如何进行的,以及决定应如何改进过程极有帮助。大到系统级别、小到某个操作背后的运转逻辑都可以使用流程图来画,我个人认为这应该是被最多人认识的图,没有之一。
适用场景:正如上面所说这个适用场景比较广,日常工作中小到算法逻辑,大到战略层面的执行落地都需要它。主要用它来将背后的流程可视化,辅助做决策去(如改进等)。
缺点:所占篇幅较大,由于允许使用流程线,过于灵活,不受约束,使用者可使流程任意转向,从而造成程序阅读和修改上的困难,不利于结构化程序的设计。
6.UML类图
UML类图是UML交互图中的一种,也是我们较常见的一种。类图是描述系统中的类,以及各个类之间的关系的静态视图。它不但是设计人员关心的核心,更是实现人员关注的核心。
适用场景:一般作为编码前做的最后一步,将设计转为相应的模型。也可以使用Code First的方式直接在项目中建模,现在的VS也支持直接从代码中生成UML类图。
缺点:缺点就是画起来太费时间了,但反过来其表达的粒度更细致,是代码实现级别的内容。由于现在有比较多的工具可以从代码生成UML类图,甚至在大部分提倡使用Code First的场景下,我们画UML类图的机会是越来越少了。
7.状态图
状态图是对类图的补充。描述类的对象所有可能的状态,以及事件发生时状态的转移条件。可以捕获对象、子系统和系统的生命周期。他们可以告知一个对象可以拥有的状态,并且事件(如消息的接收、时间的流逝、错误、条件变为真等)会怎么随着时间的推移来影响这些状态。一个状态图应该连接到所有具有清晰的可标识状态和复杂行为的类;该图可以确定类的行为,以及该行为如何根据当前的状态变化,也可以展示哪些事件将会改变类的对象的状态。
适用场景:当有一个对象拥有多个状态的时候,想要表达清楚状态之间的演变关系(也就是这个对象的生命周期)。比如通过什么条件触发状态变动的,到达某个状态之后会做什么动作等。这也是基于事件驱动设计的良好可视化图。
缺点:仅能表达行为/事件与状态之间的演变关系,不适用于其它领域。
8.E-R图
E-R图提供了表示实体型(Entity)、属性(Attribute)和联系(Relationship)的方法。其中最核心的还属联系(Relationship)的表示。
适用场景:虽然在UML类图中,也可以体现出聚合、依赖等关系。但是如果相关联的模型数量巨大的话,你会发现看起来特别费劲,要缩的很小才能看清全貌。这时候你需要E-R图出场了。
缺点:相对类图来说,E-R图无法定义类/实体的行为。它更面向数据库而不是代码。
9.UML时序图
时序图也是UML交互图中的一种,是描述对象是如何交互的,并且将重点放在消息序列上。也就是说,描述消息是如何在对象间发送和接收的。时序图有两个坐标轴:纵坐标轴显示时间,横坐标轴显示对象。
适用场景:一般当我们想反映一个包含顺序的交互流程,比如http请求的生命周期、页面上某个按钮背后流转细节等情况时,就需要它了。
缺点:一个时序图仅能面向一个Case,同时画起来比较费时间。
四、实际的运用
其实上一节中图的顺序就是按照由层次从高到底,粒度从粗到细规划的。我们可以用用例图来确定用户核心需求,再用Robustness Diagram定义好关键功能,随后在关键功能的实现上通过思维导图进行发散,然后用DFD图把粗粒度的内容串起来,至此大体的设计工作算是完成了。
然后再通过流程图、UML类图、状态图、E-R图、时序图在不同的场景确定细节实现。最终就是Coding的事情了。
至于每个图绘画的规范网上资料比较多,这里就不赘述了。如果大家有什么疑问继续交流。
五、结语
其实最好的图是手稿,不但画起来快,还能让你的思维专注到构思上,用什么颜色之类的问题不会对你产生干扰。另外我们不要为了画图而画图,结合实际的情况把握好尺度,一般情况下,时间上不太会允许我们把图画的面面俱到,能覆盖到核心甚至80%就很好了。
本文中部分内容引用自如下地址,感谢分享:
1.www.zhihu.com/question/22… 匿名用户
2.www.zhihu.com/question/31… 张恂老师
如果你想及时得到个人自写文章的消息推送,欢迎扫描下面的二维码~。
软件工程中的各种图
已剪辑自: https://www.cnblogs.com/sungyouyu/p/3590592.html
CMM 能力成熟度模型:它是对于软件在组织定义,实施,度量,控制和改善软件过程的实践中对于各个发展阶段的描述。CMM的核心是软件开发视为一个过程。并根据这一个原则对软件开发和维护进行监控和研究,以使其更加科学化、标准化、使企业能够更好的实现商业目标。
产生的原因:70%项目的失败不是由于技术原因导致的,而是由管理不善引起的。
UML(Unified Modeling Language,统一建模语言)是一种基于面向对象的可视化语言。
它采用一组形象化的图形(如类图)符号作为建模的语言。使用这些符号可以形象的描述系统的各个方面。UML是通过建立图形之间的各种关系(如类之间的关系)来描述模型。
UML图形一共有十种,分为静态模型图和动态模型图。其中静态模型图主要描述系统的静态结构,动态模型图主要描述系统行为的各个方面。
静态模型图:类图、对象图、包图、组件图、部署图。
动态模型图:用例图、时序图、协作图、状态图、活动图。
具体图形介绍:
1.用例图:也被称为用户模型图,是从软件的需求分析的到最终实现的第一步,它是从客户角度来描述系统功能的。它包含三个基本组件:参与者(使用系统的人或事物)、用例(代表系统的某项完整的功能,在图形中使用椭圆型表示)、关系(泛化关系、扩展关系、包含关系)。
扩展关系:如果一个功能在完成的时候,偶尔会执行另外一个功能,使用扩展关系表示。
泛化关系:表示同一个业务的不同技术实现。其实就是继承关系的一种。
包含关系:是指一个用例可以含有其他用例具有的行为。
——————————————————————————————————————
2.类图
类图是面向对象系统建模中最常用的,也是定义其他图的基础。它主要是用来显示系统中的类,接口及他们之间的关系。类图中包含的主要元素有类、接口、和关系。其中的关系有关联关系、泛化关系、依赖关系、实现关系。在类图中也可以包含注释和约束。
类是类中的主要组件,有3部分组成:类名、属性和方法。
接口的表示法:在UML中接口用一个带有名称的圆圈表示。并且通过一条实践与它的模型相连。也可以使用普通的类表示,但是要在上面要做声明。
泛化关系:表示类与类,接口与接口之间的继承关系。
依赖关系:对于两个相对独立的系统。当一个系统负责构造另一个系统的事例,或者依赖另一个系统的服务时。这两个系统之间体现为依赖关系。
关联关系:对于两个相对独立的系统,当一个系统的实例与另一个系统的一些特定的事例存在固定的对应关系时,这两个系统之间的关联关系。关联关系中的关系可以有一个名称。
关联关系包括:聚合关系、组成关系
聚合关系:是一种特殊的更强形式的关联,它在逻辑上是部分和整体的关系。但 是不强调生命周期。聚合关系描述了一中“has a”的关系。即整体拥有部分。整体不在,部分可以存在。聚合关系使用空心的菱形箭头
组合关系:它是更强的一种聚合关系,它强调生命周期。只有在整体存在的条件下,部分才能存在,如果整体不在,部分不能单独存在。整体拥有部分的生命周期。组成关系用实心的菱形箭头
——————————————————————————————————————
3.时序图:时序图用于描述对象之间的传递信息的时间顺序。即用例中的行为顺序。当执行一个用例时,时序图中的每一条消息对应了一个类中操作或者引起转换的触发事件。时序图是一个而微大关系图。纵轴表示时间时间轴向下延伸。横轴代表协作中的各个独立对象。对象存在时。消息用从一个对象的生命线到另个对象的生命线的箭头表示。箭头以时间的顺序在图中上下排列。
——————————————————————————————————————
4.活动图:活动图本质上就是流程图。它用于描述系统的活动,判定点和分支等。活动中的动作状态,原子的、不可已中断的动作。并在此动作完成后向另一个动作转变。分支与合并。分支在软件系统中很常见:用于表示对象类具有的条件行为。用一个布尔型的表达式真假来判定动作的流向,合并有两个如转换一个出转换。分支有一个如转换两个出转换。分叉与汇合:分叉又来描述并发线程。每个分叉可以有一个输入的转换和两个或多个输出转换。汇合代表两个或多个并发控制流的同步发生。当所有流都到达汇合点后,程序才能继续前进。泳道:泳道将活动图中的活动划分为若干组。并将每一组指定给负责这组活动的业务组织。在活动图中,泳道使用垂直的实线绘制。
——————————————————————————————————————
5.状态图:状态图包括状态、转换、初始状态、终止状态。
——————————————————————————————————————
6.协作图:也叫做合作图,是一种交互图。时序图主要侧重于对象之间的消息传递在时间上的先后关系。而协作图表达对象之间的交互过程及对象之间的关联关系。
——————————————————————————————————————
7.对象图:对象图是类图的实例,用于显示系统执行时的一个可能的快照。即在某一个时间系统上可能出现的样子,对象图用带有下滑线的对象名称表示对象。
——————————————————————————————————————
8.组件图:组件图用来建立系统中各种组件之间的关系。各个组件通过功能组织在一起。JavaBean,ejb,jsp都是组件。在UML中,组件使用左侧有两个小矩形的矩形来表示。组件图用来设计系统的整个架构。
——————————————————————————————————————
9.包图:由包与包之间的关系组成,包的图标就如同一个带标签的文件夹。
——————————————————————————————————————
10.部署图:部署图是用来帮助开发者了解软件中各种组件驻留在什么硬件位置,以及这些硬件之间的相互关系。
注:仍待修改
参考:http://meiyitianabc.blog.163.com/blog/static/105022127201111573257290/
软件工程用的15种图
已剪辑自: https://blog.csdn.net/weixin_44301114/article/details/85290628
软件工程中应用的15种图:
1、系统流程图
不论什么程序设计语言,程序设计都有3种基本结构:顺序结构、选择结构和循环结构。三种基本结构的特点: 一个入口,一个出口,不出现死循环和死语句。
2、数据流图或数据流程图(Data Flow Diagram),缩写为DFD
数据流图是结构化分析方法中使用的工具,它以图形的方式描绘数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型
数据流图DFD是描述系统中数据流程的一种图形工具,它标志了一个系统的逻辑输入和逻辑输出,以及把逻辑输入转换逻辑输出所需的加工处理。
值得注意的是,数据流图不是传统的流程图或框图,数据流也不是控制流。数据流图是从数据的角度来描述一个系统,而框图是从对数据进行加工的工作人员的角度来描述系统。
DFD显示系统将输入和输出什么样的信息,数据如何通过系统前进以及数据将被存储在何处。它不显示关于进程计时的信息,也不显示关于进程将按顺序还是并行运行的信息,而不像传统的关注控制流的结构化流程图,或者UML活动工作流程图,它将控制流和数据流作为一个统一的模型。
数据流图从数据传递和加工的角度,以图形的方式刻画数据流从输入到输出的移动变换过程。
数据流程图包括:
a.指明数据存在的数据符号,这些数据符号也可指明该数据所使用的媒体;
b.指明对数据执行的处理的处理符号,这些符号也可指明该处理所用到的机器功能;
c.指明几个处理和(或)数据媒体之间的数据流的流线符号;
d.便于读、写数据流程图的特殊符号。
在处理符号的前后都应是数据符号。数据流程图以数据符号开始和结束,数据流图有两种典型结构,一是变换型结构,它所描述的工作可表示为输入、主处理和输出,呈线性状态。另一种是事务型结构,这种数据流图呈束状,即一束数据流平行流入或流出,可能同时有几个事务要求处理。
数据流程图中有以下几种主要元素:
→: 数据流。数据流是数据在系统内传播的路径,因此由一组成分固定的数据组成.如订票单由旅客姓名、年龄、单位、身份证号、日期、目的地等数据项 组成.由于数据流是流动中的数据,所以必须有流向,除了与数据存储之间的数据流不用命名外,数据流应该用名词或名词短语命名.
□: 数据源(终点).代表系统之外的实体,可以是人、物或其他软件系统
○: 对数据的加工(处理).加工是对数据进行处理的单元,它接收一定的数据输入,对其进行处理,并产生输出
〓: 数据存储.表示信息的静态存储,可以代表文件、文件的一部分、数据库的元素等
3、数据字典
数据字典是指对数据的数据项、数据结构、数据流、数据存储、处理逻辑等进行定义和描述,其目的是对数据流程图中的各个元素做出详细的说明,使用数据字典为简单的建模项目。简而言之,数据字典是描述数据的信息集合,是对系统中使用的所有数据元素的定义的集合。
数据字典(data dictionary)是对于数据模型中的数据对象或者项目的描述的集合,这样做有利于程序员和其他需要参考的人。分析一个用户交换的对象系统的第一步就是去辨别每一个对象,以及它与其他对象之间的关系。这个过程称为数据建模,结果产生一个对象关系图。当每个数据对象和项目都给出了一个描述性的名字之后,它的关系再进行描述(或者是成为潜在描述关系的结构中的一部分),然后再描述数据的类型(例如文本还是图像,或者是二进制数值),列出所有可能预先定义的数值,以及提供简单的文字性描述。这个集合被组织成书的形式用来参考,就叫做数据字典。
据字典在需求分析阶段被建立。
数据字典是一个预留空间,一个数据库,这是用来储存信息数据库本身。
数据字典可能包含的信息,例如:
数据库设计资料
数据内部储存的SQL程序
用户权限
用户统计
数据库的过程中的信息
数据库增长统计
数据库性能统计
数据字典则是系统中各类数据描述的集合,是进行详细的数据收集和数据分析所获得的主要成果。
数据字典通常包括数据项\数据结构\数据流\数据存储和处理过程五个部分。
其中数据项是数据的最小组成单位,若干个数据项可以组成一个数据结构。数据字典通过对数据项和数据结构的定义,来描述数据流、数据存储的逻辑内容。
数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合.
数据字典还有另一种含义,是在数据库设计时用到的一种工具,用来描述数据库中基本表的设计,主要包括字段名、数据类型、主键、外键等描述表的属性的内容。
以Oracle数据库字典为例:数据字典分为数据字典表和数据字典视图
Oracle数据库字典通常是在创建和安装数据库时被创建的,Oracle数据字典是Oracle数据库系统工作的基础,没有数据字典的支持,Oracle数据库系统就不能进行任何工作。数据字典中的表是不能直接被访问的,但是可以访问数据字典中的视图。
数据字典表里的数据是Oracle系统存放的系统数据,而普通表存放的是用户的数据。为了方便的区别这些表,这些表的名字都是用" " 结 尾 , 这 些 表 属 于 S Y S 用 户 。 数 据 字 典 表 由 "结尾,这些表属于SYS用户。 数据字典表由 “结尾,这些表属于SYS用户。数据字典表由ORACLE_HOME/rdbms/admin/sql.bsq 脚本创建, 这个脚本里又调用了其他的脚本来创建这些数据字典表。 在那些创建脚本里有基表的创建SQL。
Oracle 对数据字典表的说明:
These underlying tables store information about the database. Only Oracle Database should write to and read these tables. Users rarely access the base tables directly because they are normalized and most data is stored in a cryptic format.
这些数据字典表,只有Oracle 能够进行读写。
SYS用户下的这些数据字典表,存放在system 表空间下面,表名都用” " 结 尾 , 为 了 便 于 用 户 对 数 据 字 典 表 的 查 询 , O r a c l e 对 这 些 数 据 字 典 都 分 别 建 立 了 用 户 视 图 , 这 样 即 容 易 记 住 , 还 隐 藏 了 数 据 字 典 表 表 之 间 的 关 系 , O r a c l e 针 对 这 些 对 象 的 范 围 , 分 别 把 视 图 命 名 为 D B A X X X X , A L L X X X X 和 U S E R X X X X 。 数 据 字 典 视 图 分 2 类 : 静 态 数 据 字 典 ( 静 态 性 能 视 图 ) 和 动 态 数 据 字 典 ( 动 态 性 能 视 图 ) 。 静 态 数 据 字 典 中 的 视 图 分 为 三 类 , 它 们 分 别 由 三 个 前 缀 构 成 : u s e r ∗ 、 a l l ∗ 、 d b a ∗ 。 u s e r ∗ : 该 视 图 存 储 了 关 于 当 前 用 户 所 拥 有 的 对 象 的 信 息 。 ( 即 所 有 在 该 用 户 模 式 下 的 对 象 ) a l l ∗ : 该 视 图 存 储 了 当 前 用 户 能 够 访 问 的 对 象 的 信 息 , 而 不 是 当 前 用 户 拥 有 的 对 象 。 ( 与 u s e r ∗ 相 比 , a l l ∗ 并 不 需 要 拥 有 该 对 象 , 只 需 要 具 有 访 问 该 对 象 的 权 限 即 可 ) d b a ∗ : 该 视 图 存 储 了 数 据 库 中 所 有 对 象 的 信 息 。 ( 前 提 是 当 前 用 户 具 有 访 问 这 些 数 据 库 的 权 限 , 一 般 来 说 必 须 具 有 管 理 员 权 限 ) 这 些 视 图 由 S Y S 用 户 创 建 的 , 所 以 使 用 需 要 加 上 S Y S , 为 了 方 便 , O r a c l e 为 每 个 数 据 字 典 表 的 视 图 头 建 立 了 同 名 字 的 公 共 同 义 词 ( p u b l i c s y n o n y m s ) . 这 样 简 单 的 处 理 就 省 去 了 写 s y s . 的 麻 烦 。 除 了 静 态 数 据 字 典 中 三 类 视 图 , 其 他 的 字 典 视 图 中 主 要 的 是 V "结尾,为了便于用户对数据字典表的查询, Oracle对这些数据字典都分别建立了用户视图,这样即容易记住,还隐藏了数据字典表表之间的关系,Oracle针对这些对象的范围,分别把视图命名为DBA_XXXX, ALL_XXXX和USER_XXXX。 数据字典视图分2类:静态数据字典(静态性能视图) 和 动态数据字典(动态性能视图)。 静态数据字典中的视图分为三类,它们分别由三个前缀构成:user_、 all_、 dba_。 user_:该视图存储了关于当前用户所拥有的对象的信息。(即所有在该用户模式下的对象) all_:该视图存储了当前用户能够访问的对象的信息, 而不是当前用户拥有的对象。(与user_相比,all_ 并不需要拥有该对象,只需要具有访问该对象的权限即可) dba_:该视图存储了数据库中所有对象的信息。(前提是当前用户具有访问这些数据库的权限,一般来说必须具有管理员权限) 这些视图由SYS用户创建的,所以使用需要加上SYS,为了方便, Oracle为每个数据字典表的视图头建立了同名字的公共同义词(public synonyms). 这样简单的处理就省去了写sys.的麻烦。 除了静态数据字典中三类视图,其他的字典视图中主要的是V "结尾,为了便于用户对数据字典表的查询,Oracle对这些数据字典都分别建立了用户视图,这样即容易记住,还隐藏了数据字典表表之间的关系,Oracle针对这些对象的范围,分别把视图命名为DBAXXXX,ALLXXXX和USERXXXX。数据字典视图分2类:静态数据字典(静态性能视图)和动态数据字典(动态性能视图)。静态数据字典中的视图分为三类,它们分别由三个前缀构成:user∗、all∗、dba∗。user∗:该视图存储了关于当前用户所拥有的对象的信息。(即所有在该用户模式下的对象)all∗:该视图存储了当前用户能够访问的对象的信息,而不是当前用户拥有的对象。(与user∗相比,all∗并不需要拥有该对象,只需要具有访问该对象的权限即可)dba∗:该视图存储了数据库中所有对象的信息。(前提是当前用户具有访问这些数据库的权限,一般来说必须具有管理员权限)这些视图由SYS用户创建的,所以使用需要加上SYS,为了方便,Oracle为每个数据字典表的视图头建立了同名字的公共同义词(publicsynonyms).这样简单的处理就省去了写sys.的麻烦。除了静态数据字典中三类视图,其他的字典视图中主要的是V视图,之所以这样叫是因为他们都是以V 或 G V 或GV 或GV开头的。这些视图会不断的进行更新,从而提供了关于内存和磁盘的运行情况,所以我们只能对其进行只读访问而不能修改它们。
Throughout its operation, Oracle Database maintains a set of virtual tables that record current database activity. These views are calleddynamic performance views because they are continuously updated while a database is open and in use. The views, also sometimes calledV$ views。
V 视 图 是 基 于 X 视图是基于X 视图是基于X虚拟视图的。V$视图是SYS用户所拥有的,在缺省状况下,只有SYS用户和拥有DBA系统权限的用户可以看到所有的视图,没有DBA权限的用户可以看到USER_和ALL_视图,但不能看到DBA_视图。与DBA_,ALL,和USER_视图中面向数据库信息相反,这些视图可视的给出了面向实例的信息。
动态性能表用于记录当前数据库的活动,只存于数据库运行期间,实际的信息都取自内存和控制文件。 DBA可以使用动态视图来监视和调节数据。
数据字典的组成:
1、数据项
2、数据结构
3、数据流
4、数据存储
5、处理过程
6、外部实体
数据字典
数据字典是数据库的重要组成部分。它存放有数据库所用的有关信息,对用户来说是一组只读的表。数据字典内容包括:
1、数据库中所有模式对象的信息,如表、视图、簇、及索引等。
2、分配多少空间,当前使用了多少空间等。
3、列的缺省值。
4、约束信息的完整性。
5、用户的名字。
6、用户及角色被授予的权限。
7、用户访问或使用的审计信息。
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
库所用的有关信息,对用户来说是一组只读的表。数据字典内容包括:
1、数据库中所有模式对象的信息,如表、视图、簇、及索引等。
2、分配多少空间,当前使用了多少空间等。
3、列的缺省值。
4、约束信息的完整性。
5、用户的名字。
6、用户及角色被授予的权限。
7、用户访问或使用的审计信息。
[外链图片转存中…(img-7ijy9KpJ-1715900893638)]
[外链图片转存中…(img-xecXsBb8-1715900893638)]
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!