数据字典 订阅
数据字典是指对数据的数据项、数据结构、数据流、数据存储、处理逻辑等进行定义和描述,其目的是对数据流程图中的各个元素做出详细的说明,使用数据字典为简单的建模项目。简而言之,数据字典是描述数据的信息集合,是对系统中使用的所有数据元素的定义的集合。数据字典(Data dictionary)是一种用户可以访问的记录数据库和应用程序元数据的目录。主动数据字典是指在对数据库或应用程序结构进行修改时,其内容可以由DBMS自动更新的数据字典。被动数据字典是指修改时必须手工更新其内容的数据字典。 展开全文
数据字典是指对数据的数据项、数据结构、数据流、数据存储、处理逻辑等进行定义和描述,其目的是对数据流程图中的各个元素做出详细的说明,使用数据字典为简单的建模项目。简而言之,数据字典是描述数据的信息集合,是对系统中使用的所有数据元素的定义的集合。数据字典(Data dictionary)是一种用户可以访问的记录数据库和应用程序元数据的目录。主动数据字典是指在对数据库或应用程序结构进行修改时,其内容可以由DBMS自动更新的数据字典。被动数据字典是指修改时必须手工更新其内容的数据字典。
信息
外文名
Data dictionary
相关学科
数据库设计
中文名
数据字典
使用目的
对数据流程图中各个元素做出说明
数据字典简介
数据字典(data dictionary)是对于数据模型中的数据对象或者项目的描述的集合,这样做有利于程序员和其他需要参考的人。分析一个用户交换的对象系统的第一步就是去辨别每一个对象,以及它与其他对象之间的关系。这个过程称为数据建模,结果产生一个对象关系图。当每个数据对象和项目都给出了一个描述性的名字之后,它的关系再进行描述(或者是成为潜在描述关系的结构中的一部分),然后再描述数据的类型(例如文本还是图像,或者是二进制数值),列出所有可能预先定义的数值,以及提供简单的文字性描述。这个集合被组织成书的形式用来参考,就叫做数据字典。当开发用到数据模型的程序时,数据字典可以帮助你理解数据项适合结构中的哪个地方,它可能包含什么数值,以及数据项基本上表示现实世界中的什么意思。例如,一家银行或者是一个银行组织可能对客户银行业涉及的数据对象进行建模。他们需要给银行程序员提供数据字典。这个数据字典就描述了客户银行业中的数据模型每一个数据项(例如,“账户持有人”和“可用信用”)。 [1] 
收起全文
精华内容
下载资源
问答
  • 数据字典

    2016-09-25 14:44:06
    数据字典

    定义:
    数据字典是指对数据的数据项、数据结构、数据流、数据存储、处理逻辑、外部实体等进行定义和描述,其目的是对数据流程图中的各个元素做出详细的说明,使用数据字典为简单的建模项目。

    举例:
    1.数据项定义
    数据文件:订单明细表
    文件组成:订单序号Id, 订单编号, 菜名, 价格, 数量, 下单时间

    数 据 项:订单序号Id
    数据类型:整型
    数据长度:4

    数 据 项:订单编号
    数据类型:可变字符类型
    数据长度:50
    数据组成:A+日期时间

    数 据 项:菜名
    数据类型:可变字符类型
    数据长度:50

    数 据 项:价格
    数据类型:整型
    数据长度:4

    数 据 项:数量
    数据类型:整型
    数据长度:4

    数 据 项:下单时间
    数据类型:日期类型
    数据长度:8

    2.数据流定义:
    登记注册:
    名 称: 登记注册
    简 述: 管理员登记入住客户信息
    数据来源: 入住客户
    数据去向: 开房登记表
    数据组成: 客户姓名+性别+年龄+房号+订餐密码+证件类型+证件号码+详细地址+电话+入住时间+入住天数+离店时间

    浏览选购:
    名 称: 浏览选购
    简 述: 客户选购菜品并将其加入餐车
    数据来源: 客户根据菜单选购的餐品
    数据去向: 处理3放入餐车
    数据组成: 菜名+价格+数量

    展开全文
  • 数据字典是什么

    万次阅读 多人点赞 2018-12-20 17:59:05
    数据字典 数据字典是一种通用的程序设计方法。可以认为,不论什么程序,都是为了处理一定的主体,这里的主体可能是人员、商品(超子)、网页、接口、数据库表、甚至需求分析等等。当主体有很多的属性,每种属性...

    数据字典

    数据字典是一种通用的程序设计方法。可以认为,不论什么程序,都是为了处理一定的主体,这里的主体可能是人员、商品(超子)、网页、接口、数据库表、甚至需求分析等等。当主体有很多的属性,每种属性有很多的取值,而且属性的数量和属性取值的数量是不断变化的,特别是当这些数量的变化很快时,就应该考虑引入数据字典的设计方法。

    数据字典有两种形式

    一、把主体的属性代码化放入独立的表中,不是和主体放在一起,主体中只保留属性的代码。这里属性的数量是不变的,而属性取值的数量可以是变化的。

    二、用一个表来放结构相同的所有属性信息,不同属性的不同取值统一编码,用“类型”来区别不同的属性,主体中保留属性代码的列表。这样主体所拥有的属性数量就是可变的了。

    第二种数据字典比第一种更抽象,层级更高,也更具一般性、通用性。

    这两种形式的归纳有些抽象,为说明这两种数据字典和它们的各种优点,下面举个简单的例子来说明:

    现在有个需求,要在程序中处理“职员”信息。这里的主体就是“职员”,开始时“职员”有“国籍”、“证件”和“学历”等属性。

    比如,对于一个“职员信息”页面上的“国籍”下拉列表,我们可以就用第一种的数据字典来存储不同的国家。如果不采取这样的方法,就需要手动的把所有可能的国家名称敲到页面上。这首先有个效率的问题,每个需要用到国籍的地方都要敲一次,要敲多久?还有,如果有一天,像南斯拉夫,突然国家换名了,是不是要所有涉及的页面都要手动地改变呢?

    又比如,如果有一天一个代码的名称需要换一个,是不是要到数据库中把已经经存在的所有数据都更新一遍呢?如“证件”,现在叫“身份证”,有一天想改为叫“居民身份证”。原来如果没有用数据字典,就意味着,要把“身份证”这几个字存到《职员表》等信息表中:

    《职员表》

    姓名  证件  性别

    张三  身份证 男

    李四        身份证   女

    ....

    这样,改名后就要手动改数据库。但如果使用了数据字典,《职员表》里面存的就是:

    《职员表》

    姓名  证件  性别

    张三  001           男

    李四       001           女

    ....

    另外增加了《证件表》:

    《证件表》

    证件id  证件名

    001      身份证

    002      暂住证

    ...

    《证件表》就是第一种数据字典。要改变证件名称时,只要把其中的“身份证”改成“居民身份证”就好了,只需修改一次。而且,《职员表》不用做任何修改,页面上如果用到“证件”,也不用做修改。

    还有在程序中有时需要判断业务逻辑时,用:“select *  from 职员表 where证件= ***”,原来***是“身份证”,使用数据字典后,就是001。证件改名后,就不用手动到程序里去改,程序也就不用重新测试、发布等等。

    但第一种数据字典也有局限性。

    使用第一种数据字典后,程序中除“职员”类外,还就需要有一个“国籍”类、一个“证件”类和一个“学历”类,对应的数据库中也需要增加一张“国籍”表、一张“证件”表和一张“学历”表。“职员”类则需要包含一个对“国籍”类的引用、一个对“证件”类的引用和一个对“学历”类的引用,对应的数据库中“职员”表中也需要三个外键分别指向“国籍”表、“证件”表和“学历”表。这样的设计在类似“国籍”和“学历”这样的属性比较少时是可行的,但是随着系统复杂性的增加,系统中会出现大量结构类似的信息表和信息类,数量一直会增加到一个不可接受的地步。这里的“职员”,已经有了国籍、证件和学历三个属性,但如果职员还要增加“职位”属性,那么必然要多出个“职位表”,如果还有其它...那即,当取得一条主体的完全数据时,那将进行几十个表的联接(join)操作。

    如何解决呢?

    通过分析上述问题,可以发现的一个特征是:这些信息类的内容都是需要动态维护的,但是所需的属性是一样的,对应的数据库表中包含的字段也是一样的。关键的字段就是两个:“标识”和“名称”。“标识”用于表示不变的主键,“名称”用于表示程序界面上显示的文字。

    第二种数据字典就是为了解决上述问题而设计的。

    还是以上面的例子为例。在系统中去掉《国籍表》、《证件表》、《学历表》….,引入《系统代码分类表》和《系统代码表》:

    《系统代码分类表》

    分类标识           分类名称

    Country              国籍

    ID                       证件

    《系统代码表》

    标识                   分类                  内容

    001                    Contry              中国

    002                    Contry              美国

    …..

    501                    ID                    身份证

    502                    ID                    暂住证

    ……

    《系统代码表》的“分类”字段都指向《系统代码分类表》中的“分类标识”。这样,在程序需要获得国籍信息时,只要通过“Country”这个标识去《系统代码表》中检索就可以了。这样的设计也便于建立一个单独的程序模块来维护所有的这些公共信息。

    对于《职员表》,使用第一种数据字典时,其表结构是:

    职员ID、姓名、国籍ID、证件ID、学历ID…….

     

    采用第二种数据字典后,其表结构是:

    职员ID、姓名

    另外增加《属性表》,该表是《职员表》和《系统代码表》的关系表,其表结构是:

    属性ID、职员ID、系统代码表_标识

    如:

    《职员表》

    职员ID            姓名

    1                     张三

    2                     李四

    …..

    《属性表》

    属性ID            职员ID                系统代码表_标识

    1                         1                         001  (表示张三是中国籍)

    2                         1                         501  (表示张三的证件是身份证)

    3                         2                         002  (表示李四是美国籍)

    4                         2                         501  (表示李四的证件是身份证)

    …..

    可以看出《职员表》的设计大为简化,系统也更加灵活了,完全可以适应主体属性的大量变更了。程序的设计应用第二种数据字典时和数据库表的方法一样。

    数据字典的优点

    1. 在一定程度上,通过系统维护人员即可改变系统的行为(功能),不需要开发人员的介入。使得系统的变化更快,能及时响应客户和市场的需求。
    2. 提高了系统的灵活性、通用性,减少了主体和属性的耦合度
    3. 简化了主体类的业务逻辑
    4. 能减少对系统程序的改动,使数据库、程序和页面更稳定。特别是数据量大的时候,能大幅减少开发工作量
    5. 使数据库表结构和程序结构条理上更清楚,更容易理解,在可开发性、可扩展性、可维护性、系统强壮性上都有优势。

    数据字典的缺点

    1. 数据字典是通用的设计,在系统效率上会低一些。
    2. 程序算法相对复杂一些。
    3. 对于开发人员,需要具备一定抽象思维能力,所以对开发人员的要求较高。

    所以,当属性的数量不多时,用第一种数据字典即可。对于大型的,未定型的系统,可以采用第二种数据字典来设计。至于具体的系统里怎么设计,还是要在看实际情况来找寻通用性和效率二者间的平衡。无论怎么做,关系理论和范式仍是基础。

    数据字典的一般设计

    下面给出一个用数据库实现的第二种数据字典表的设计。要注意这个设计不是唯一的,完全可以用XML、字符串等形式来设计数据字典。

    数据字典表(Dictionary):

    字段名

    类型

    说明

    编号

    Char(16)

    间断增量(Not Null,PK)

    分类名称

    Varchar(64)

    用来进行过滤选取字典表相关域

    内容

    Varchar(255)

       

    父级编号

    Char(16)

    取Dictionary的编号(FK),用来进行等级设计。使之成为树型结构。

    展开全文
  • 数据字典功能

    万次阅读 多人点赞 2018-11-19 23:46:22
    1. 什么是数据字典 数据字典存储有关数据的来源、说明、与其他数据的关系、用途和格式等信息,它本身就 是一个数据库,存储“关于数据项的数据”。数据字典是个指南,它为数据库提供了“路线图”, 而不是“原始...

    1. 什么是数据字典


    数据字典存储有关数据的来源、说明、与其他数据的关系、用途和格式等信息,它本身就
    是一个数据库,存储“关于数据项的数据”。数据字典是个指南,它为数据库提供了“路线图”,
    而不是“原始数据”。换句话说,数据字典通常是指数据库中数据定义的一种记录,类似一个
    数据库的数据结构,但其内容要比数据库的数据结构描述丰富得多(Malamud, 1989)。
    在收集有关数据信息,建立数据库的初始阶段,必须建立数据项的命名约定,必须统一不同部
    门、不同个人之间对共同关心的数据的内涵、来源和命名的观念。这个过程要涉及数据监管人、
    用户和数据库开发人员,是一个需要反复多次的过程。这个统一的命名约定,及其附带的说明,
    就是数据字典。

    数据库的重要部分是数据字典。它存放有数据库所用的有关信息,对用户来说是一组只读的表。

    数据库数据字典是一组表和视图结构。它们存放在SYSTEM表空间中。


    2. 建立数据字典的目的


    建立数据字典有以下几个目的:
    1)提高开发效率,降低研制成本。数据字典是数据库开发者、数据监管人和用户之间的共同
    约定,是系统说明书的一个重要组成部分。一个统一的数据字典有助于开发者建立数据模型
    以及程序和数据库之间的数据转换接口,为规范化设计和实施数据管理系统铺平了道路。
    2)促进数据共享,提高数据的使用效率。通过数据字典,用户可以方便地知道每项数据的意
    义,了解数据的来源和使用方法,从而帮助用户迅速地找到所需的信息,并按照正确的方法
    使用数据。
    3)控制数据的使用。在某些特定的场合,可以通过对数据字典的控制达到控制数据使用的目的。


    3. 数据字典的内容(了解)


    一个完整的数据字典至少应当包括以下内容:
    数据集(系统)名称 数据集(系统)的正式名称
    数据库名称 数据库文件的名称
    数据名称 数据项的名称
    数据存储名称 数据字段的名称
    数据类型 数据的类型,如数字类型等
    数据说明 关于数据含义的说明
    数据存储长度 在计算机中数据存储的空间,用字节(BYTE)表示
    单位 数据的测量单位
    代码说明 使用的代码体系及编码规则
    精密度 有效数字最低位数的位置
    准确度 有效数字位数
    数据的下限 数据合理的下限
    数据的上限 数据合理的上限
    获得数据的手段 数据测量的方法或引用的来源
    时间和/或环境 获得数据的时间和/或环境
    数据的例子 一个数据的实例
    备注 其他要补充的说明


    4. 数据字典的建立过程(了解)


    建立数据库管理系统的第一步是用户需求分析。通过系统开发人员和未来用户的相互交
    流,用户需求分析的结果被反映在《系统功能说明书》里。《系统功能说明书》详细地列
    出原始数据的内容、格式和来源,并且对数据处理的过程给出详细的描述。数据处理后产
    出的信息应当满足最终用户的信息需求。这个说明书只说明拟建立的系统的功能和处理能
    力,而不讨论怎样用硬件、软件、网络以及设备之间的连接等具体手段实现这些功能。
    在这个过程中,开发人员要和不同的用户部门进行多次的讨论,可能还要征求有关的
    同行业专家的意见,找到不同部门之间对数据的用途、相互关系和意义的不同理解,辨认
    出数据元的同义词。对于输出数据,一方面要考虑现有数据的状况、测量手段和数据处理
    手段,另一方面还应当考虑用户对产出信息的要求,如有必要,需要对数据获取和处理的
    手段进行调整。
    在用户需求分析阶段,对原始数据和产出数据进行描述时,不必注意数据在计算机中的
    具体的存储方式和数据处理的系统。但随着设计过程的进展,必须将数据的概念和逻辑与
    数据模型和实际的实现方式联系起来。这时,数据在系统中的标识符(数据项或字段名称)
    、存储类型(数据项或字段类型)和存储空间(数据项或字段长度)就必须确定下来,
    以达到数据输入、存储、显示、交换和处理等功能模块的需要。 
    在设计阶段结束时,把系统输入和输出数据的说明和存储信息集中起来,使有关人员
    在进行涉及这些数据的工作时,有一个统一的概念和理解,这样就形成了数据字典。
    在系统完成之前,数据字典帮助系统开发人员理解真实世界,规范数据系统内数据处理
    的过程,使系统分析员、系统程序员、应用程序员和数据监管人员之间有共同的语言;在
    系统完成以后,数据字典帮助用户理解数据系统的功能,各项输入输出数据的意义,使用
    户、数据监管人和审计人员有共同语言,促进数据的使用和流通,达到数据共享的目的。

     

    数据字典的用例:(理解: 数据字典中的数据是管理员设计好,填写的,一般不会更改的数据,根据类型归类,并同一类型的typeCode相同,同一类型有包含不同的valueId,即对应不同的valeName,可以理解为归类typeCode和valueId的对应表,可以根据需要查出对应type的对应value)

     

    1      数据字典 

     1.1     什么是数据字典

            将如下这些具有相同类型的配置项,配置到系统的数据字典表中,方便系统维护,由超级管理员统一在后台进行数据字典维护,如果用户需求要增加变更配置项,只需要修改数据字典表记录即可,不需要修改代码。

    1.2     数据字典需求

    相同类型的配置项:(例如:医院类型、药品类型)

    在系统中创建一个张记录数据字典名称类型  数据字典类型表记录数据类型(例如用户状态)

    创建一张表记录数据字典明细:(例如用户状态为正常  暂停)

    数据字典明细表

    将上边变化灵活的配置项叫做:“普通配置项”

    将上边固定的配置项(每个配置顶都有一个代码):“业务代码”

    1.3     数据字典表结构

    字典类型表DICTTYPE:

    记录数据字典类型

    字典明细表DICTINFO:

    记录数据字典明细    

    字典明表中如何存储普通配置项和业务代码。

    普通配置项存储:

    普通配置项名称存储在DICTINFO表中info字段

    普通配置项对应的类型id存储在DICTINFO表中TYPECODE

    查询普通配置顶:

    æ°æ®å­å¸åå¶ä½¿ç¨

    业务代码存储:

    业务代码对应的名称存储在DICTINFO表中info字段

    业务代码对应的类型id存储在DICTINFO表中TYPECODE

    业务代码存储在DICTINFO表中DICTCODE(是和普通配置顶的区别)

    业务代码查询:

    æ°æ®å­å¸åå¶ä½¿ç¨

    1.4     数据字典使用

    1、在页面上的下拉框中显示业务代码或普通配置

    比如:在系统用户查询页面,查询条件就是用户类型,用户类型不能在jsp上硬编码,需要在action方法中取出用户类型所有配置项,在jsp页面动态遍历。

    2、在查询业务表需要关联查询出业务代码对应的名称

    在查询业务表时,根据业务代码,关联查询出代码对应的名称。

    关联查询字典明细时指定业务代码和类型id

    æ°æ®å­å¸åå¶ä½¿ç¨

    3、在查询业务表需要关联查询出普通配置项所对应的名称

    关联查询字典明细时指定明细表的主键

    æ°æ®å­å¸åå¶ä½¿ç¨

    1.5     小结

    普通配置项:对业务数据进行简单的归类,这些归类受用户要求变化较灵活,将这些配置项作普通配置项配置数据字典表。

    业务代码:系统运行所必须的,在系统设计时定义的固定代码,这些代码可能需要在程序代码进行硬编码。

    1.6     数据字典在系统中应用

    1.6.1          用户查询页面用户类型下拉框

    用户类型:属于业务代码

    获取用户类型下所有明细:

    从数据字典明细表查询,根据typecode查询

    æ°æ®å­å¸åå¶ä½¿ç¨

    Action:

    修改用户查询页面方法,调用systemConfigService查询用户类型信息,将用户类型列表信息传入页面。  

     // 用户查询页面
    
       @RequestMapping("/queryuser")
    
       public String queryuser(Modelmodel) throwsException {
    
          // 将页面所需的数据取出传入页面
    
          List<Dictinfo>groupList =systemConfigService.findDictinfoByType("s01");
    
         
    
          model.addAttribute("groupList",groupList);
    
          return "/base/user/queryuser";
    
       }

     

    页面:

    将用户类型下拉框值,改成遍历groupList列表。

    <TD class="left">用户类型:</TD>
    
                    <td><select name="sysuserCustom.groupid">
    
                          <option value="">请选择</option>
    
                          <!-- <option value="1">卫生局</option>
    
                          <optionvalue="2">卫生院</option>
    
                          <optionvalue="3">卫生室</option>
    
                          <optionvalue="4">供货商</option>
    
                          <optionvalue="0">系统管理员</option> -->
    
                          <c:forEach items='${groupList}' var="dictinfo">
    
                          <option value="${dictinfo.dictcode}">${dictinfo.info}</option>
    
                          </c:forEach>                  
    
                    </select>
    
                    </TD>

    1.6.2          用户查询列表中用户类型列

    Dao:

    修改用户查询列表mapper,添加一列需要关联用户类型的代码查询代码对应的名称。

    æ°æ®å­å¸åå¶ä½¿ç¨

    页面:

    修改datagrid的列定义,

    {
    
          field : 'groupname',//对应json中的key
    
          title : '用户类型',
    
          width : 120,
    
          /* formatter : function(value, row,index) {//通过此方法格式化显示内容,value表示从json中取出该单元格的值,row表示这一行的数据,是一个对象,index:行的序号
    
             if(value =='1'){
    
                return "卫生局";
    
             }else if(value =='2'){
    
                return "卫生院";
    
             }else if(value =='3'){
    
                return "卫生室";
    
             }else if(value =='4'){
    
                return "供货商";
    
             }else if(value =='0'){
    
                return "系统管理员";
    
             }
    
          } */
    
       }

    普通配置项下拉框

    查询出普通配置项列表,

    页面中下拉框遍历list(option的value是${dictinfo.id})

    <c:forEach items="${list}" var="dictinfo">
    
                          <option value="${dictinfo.id }">${dictinfo.info}</option>
    
    </c:forEach>

     

     

    展开全文
  • Oracle 数据字典数据字典视图

    千次阅读 2019-02-15 10:17:55
    Oracle 数据字典数据字典视图
                   

    --==============================

    --Oracle 数据字典和数据字典视图

    --==============================

     

    数据字典

        是元数据的集合,从逻辑上和物理上描述了数据库及内容,存储于SYSTEMSYSAUX表空间内的若干段。

        SYS用户拥有所有的数据字典表,数据字典基本一般以$结尾,如col$tab$等,这些数据字典存放在system表空间中。

       

    数据字典的形成

        在数据库创建阶段创建,在使用阶段维护和更新

        无法通过DML操作来修改,只能通过相关的命令修改系统,来达到间接修改数据字典。

     

    数据字典的特点

        每个Oracle数据库的中枢

        描述数据库和它的对象

        包含只读的表和视图

        存储在SYSTEM表空间中

        拥有者是SYS用户

        Oracle服务器自己维护

        SELECT访问

     

    数据字典内容:

        数据字典提供下列信息:

           逻辑和物理的数据库结构

           对象的定义和空间分配

           一致性限制

           用户

           角色

           权限

           审计

     

    数据字典的主要用途:

        Oracle服务器用它查找下列信息:

           用户

           对象

           存储结构

           Oracle服务器修改数据字典当DDL语句执行的时候.

           用户和管理员们利用它了解数据库的信息.

              

    基础表和数据字典视图:  

        数据字典包括两个部分:

           基础表

                  存储数据库的描述

                  CREATE DATABASE命令创建(sql.bsq)

     

           数据字典视图

                  用于简化基础表的信息

                  通过PUBLIC同义词访问

                  由脚本catalog.sql创建

              

               数据字典基表中的数据很难看懂。因此,很少人直接访问这些基表。取而代之的是数据字典视图。

               数据字典视图分为类,它们以前辍来区分,前辍分别为:USERALLDBA

     

               USER_* 用户所拥有的对象信息

               ALL_*  用户能访问的对象信息

               DBA_*  整个数据库中的对象信息

       

    创建数据字典视图:

        建库后,运行以下脚本创建的

        $ORACLE_HOME/rdbms/admin/catalog.sql  创建常用的数据字典和同义词

        $ORACLE_HOME/rdbms/admin/catproc.sql  创建内建的存储过程、包等pl/sql对象

     

        DBCA建库时会自动运行这两个脚本,但如果手动建库的话,需手动运行。

     

    常用的数据字典:

        一般的概况: TABDICTIONARY, DICT_COLUMNS

        对象: DBA_TABLES, DBA_INDEXES, DBA_TAB_COLUMNS, DBA_CONSTRAINTS --->user_ ,all_

        空间分配: DBA_SEGMENTS, DBA_EXTENTS

        数据库结构: DBA_TABLESPACES, DBA_DATA_FILES

       

    动态性能视图:

        是将内存里的数据或控制文件里的数据以表的形式展现出来,它们实际都是虚拟表,并不是真正的表

        只要数据库在运行,就会不断更新动态性能视图

        一旦数据库关闭或崩溃,则动态性能视图里的数据就丢失,当数据库重新启动后,数据将会被更新

        所有的动态性能视图名称都存放在v$fixed_table里。这些动态性能视图都是以V_$开头,属主是sys  

        oracle为每个动态性能视图都创建了同义词,同义词将中间的“_”去掉了,形成以v$开头

       

        在同义词中查看v$session

           SQL> SELECT owner,synonym_name,table_owner,table_name,db_link

             2  FROM dba_synonyms WHERE synonym_name='V$SESSION';

     

           OWNER      SYNONYM_NAME TABLE_OWNER  TABLE_NAME   DB_LINK

           -------------------- --------------------    --------------------   --------------------   --------

           PUBLIC       V$SESSION            SYS       V_$SESSION 

       

           SQL> SET LONG 15000

           SQL> SELECT text FROM dba_views WHERE view_name='V_$SESSION';

     

           TEXT

           --------------------------------------------------------------------------------

           select "SADDR","SID","SERIAL#","AUDSID","PADDR","USER#","USERNAME","COMMAND","OW

           NERID","TADDR","LOCKWAIT","STATUS","SERVER","SCHEMA#","SCHEMANAME","OSUSER","PRO

           CESS","MACHINE","TERMINAL","PROGRAM","TYPE","SQL_ADDRESS","SQL_HASH_VALUE","SQL_

           ID","SQL_CHILD_NUMBER","PREV_SQL_ADDR","PREV_HASH_VALUE","PREV_SQL_ID","PREV_CHI

           LD_NUMBER","MODULE","MODULE_HASH","ACTION","ACTION_HASH","CLIENT_INFO","FIXED_TA

           BLE_SEQUENCE","ROW_WAIT_OBJ#","ROW_WAIT_FILE#","ROW_WAIT_BLOCK#","ROW_WAIT_ROW#"

           ,"LOGON_TIME","LAST_CALL_ET","PDML_ENABLED","FAILOVER_TYPE","FAILOVER_METHOD","F

           AILED_OVER","RESOURCE_CONSUMER_GROUP","PDML_STATUS","PDDL_STATUS","PQ_STATUS","C

           URRENT_QUEUE_DURATION","CLIENT_IDENTIFIER","BLOCKING_SESSION_STATUS","BLOCKING_I

           NSTANCE","BLOCKING_SESSION","SEQ#","EVENT#","EVENT","P1TEXT","P1","P1RAW","P2TEX

           T","P2","P2RAW","P3TEXT","P3","P3RAW","WAIT_CLASS_ID","WAIT_CLASS#","WAIT_CLASS"

     

           TEXT

           --------------------------------------------------------------------------------

           ,"WAIT_TIME","SECONDS_IN_WAIT","STATE","SERVICE_NAME","SQL_TRACE","SQL_TRACE_WAI

           TS","SQL_TRACE_BINDS" from v$session

     

           SQL> SELECT view_definition FROM v$fixed_view_definition

             2  WHERE view_name='V$SESSION';

     

           VIEW_DEFINITION

           ---------------------------------------------------------------------------------

           select  SADDR , SID , SERIAL# , AUDSID , PADDR , USER# , USERNAME , COMMAND ,

           OWNERID, TADDR , LOCKWAIT , STATUS , SERVER , SCHEMA# , SCHEMANAME ,OSUSER ,

           PROCESS , MACHINE , TERMINAL , PROGRAM , TYPE, SQL_ADDRESS , SQL_HASH_VALUE,

           SQL_ID, SQL_CHILD_NUMBER , PREV_SQL_ADDR , PREV_HASH_VALUE , PREV_SQL_ID,

           PREV_CHILD_NUMBER , MODULE , MODULE_HASH , ACTION , ACTION_HASH , CLIENT_INFO ,

           FIXED_TABLE_SEQUENCE , ROW_WAIT_OBJ# , ROW_WAIT_FILE# , ROW_WAIT_BLOCK# ,

           ROW_WAIT_ROW# , LOGON_TIME , LAST_CALL_ET , PDML_ENABLED , FAILOVER_TYPE ,

           FAILOVER_METHOD , FAILED_OVER, RESOURCE_CONSUMER_GROUP, PDML_STATUS,

           PDDL_STATUS, PQ_STATUS, CURRENT_QUEUE_DURATION, CLIENT_IDENTIFIER,

           BLOCKING_SESSION_STATUS, BLOCKING_INSTANCE,BLOCKING_SESSION,SEQ#,

           EVENT#,EVENT,P1TEXT,P1,P1RAW,P2TEXT,P2,P2RAW, P3TEXT,P3,P3RAW,

           WAIT_CLASS_ID, WAIT_CLASS#,WAIT_CLASS,WAIT_TIME,SECONDS_IN_WAIT,

           STATE,SERVICE_NAME, SQL_TRACE, SQL_TRACE_WAITS, SQL_TRACE_BINDS

           from GV$SESSION

           where inst_id = USERENV('Instance')   

     

    常用的数据字典视图、动态性能视图:

        dba_objects

        dba_tables

        dba_users

        dba_tablespaces

       

        V$CONTROLFILE 控制文件信息

        V$DATABASE    数据库信息

        V$DATAFILE    数据文件信息

        V$INSTANCE    实例信息

        V$PARAMETER       参数信息

        V$SESSION     会话信息

        V$SGA         SGA信息

        V$SGAINFO     SGA信息

        V$TABLESPACE  表空间信息

        V$THREAD     

        V$VERSION    

        V$option

     

        v$parameter显示的是session级的参数,也就是当前session的参数信息。

        如果没有使用alter session单独设置当前session的参数值,那么默认和system级的参数应该是一样的。

     

        v$system_parameter显示的是system级的参数,保存的是使用alter system修改的值(scope=both或者scope=memory)。

     

        上面两个都是当前已经生效的参数值。对于使用spfile的库,也可以暂时只修改spfile中的

        值。v$spparameter显示的就是保存在spfile中的参数值(scope=spfile)。

     

    五、更多

     

    Oracle 用户、对象权限、系统权限

     SQL 基础--> ROLLUPCUBE运算符实现数据汇总

     SQL基础-->层次化查询(START BY ... CONNECT BY PRIOR)

     SQL 基础--> 视图(CREATE VIEW)

     Oracle 常用目录结构(10g)

     

     

               

    再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow

    展开全文
  • 【SpringBoot】廿四、SpringBoot中实现数据字典

    万次阅读 多人点赞 2020-07-17 11:41:44
    我们在日常的项目开发中,对于数据字典肯定不模糊,它帮助了我们更加方便快捷地进行开发,下面一起来看看在 SpringBoot 中如何实现数据字典功能的 一、简介 1、定义 数据字典是指对数据的数据项、数据结构、数据流...
  • Clickhouse 数据字典

    千次阅读 2020-06-26 19:31:22
    数据字典是clickhouse提供的一种简单 实用的存储媒介,以键值和属性映射的形式定义数据。字典中的数据会主动或被动加载到内存之中,并支持动态更新。由于字典数据常驻内存特特性,比较适合保存常量或者经常使用的...
  • 数据字典及其使用

    千次阅读 2020-02-27 09:08:01
    将如下这些具有相同类型的配置项,配置到系统的数据字典表中,方便系统维护,由超级管理员统一在后台进行数据字典维护,如果用户需求要增加变更配置项,只需要修改数据字典表记录即可,不需要修改代码。 1.2数据...
  • 数据字典与元数据

    千次阅读 2019-09-05 16:26:32
    在传统的软件工程方法中,数据字典用的比较多,数据字典就是对软件所需要使用的数据进行编号说明,它是配合数据流图使用的,在数据流图中,数据字典是不同业务活动间传递的信息,比如,业务活动...
  • 数据字典问题

    千次阅读 2016-10-03 00:13:23
    数据字典帮助用户了解当前数据库的一些信息或是对象的信息或是用户的信息.1.数据字典在数据库被创建时创建的。 2.数据字典中的数据被数据库服务器自动更新和维护 常见的数据字典(它们都是视图)USER 开头的视图里面...
  • 数据字典模版

    万次阅读 2018-11-21 22:46:25
    一个好的团队,工作之中应该有各种各样的模版,对应数据库设计也是一样,数据库...现在都实行敏捷开发,数据字典不于过重,所以最近工作之中自己设计了一个简易的数据字典模版。      XXXX3.2版本数据字典 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 77,863
精华内容 31,145
关键字:

数据字典