数据字典:关于数据的信息集合。也就是对数据流图中包含的所有元素的定义的集合
数据字典的内容:
1由对下列四类元素的定义组成:
(1)数据流
(2)数据流分量(数据元素)
(3)数据存储
(4)处理
(注:本书所指主要是由对数据的定义组成)
2除数据定义外,数据字典还应包括:
记录数据元素的下述信息
(1)一般信息(名字,别名,描述)
(2)定义(数据类型,长度,结构)
(3)使用特点(值的范围,使用频率,使用方式,输入/输出/本地条件值等)
(4)控制信息(来源,用户,使用它的程序,改变权,使用权等)
(5)分组信息(父结点,从属结构,物理位置——记录,文件和数据库等)
三、数据的定义方法:
数据字典中的定义:
就是对数据自顶向下的分解,分解到不需要进一步定义为止。
数据元素组成数据的方式:
(1)顺序:以确定次序连接两个或多个分量
(2)选择:从两个或多个可能的元素中选取一个
(3)重复:把指定的分量重复零次或多次
(4)可选:一个分量是可有可无的
3在数据字典中建议使用下列符号:
(1)=:等价于(定义为)
(2):和(连接两个分量)
(3)[]:或(从方括弧内列出的若干个分量中选择一个)
(4)():可选(圆括弧里的分量可有可无)
四、数据字典的用途
数据字典最重要的用途是作为分析阶段的工具
有助于改进分析员,发小组之间的通信。
有助于改进不同开发人员,不同开发小组之间的通信
有助于要求所有开发人员根据公共数据字典描述数据和设计模块,避免许多麻烦口问题
2数据字典是开发数据库的第一步。
五、数据字典的实现:
三种常见的途径:
全人工过程(数据字典卡片)
全自动化过程(利用数据字典处理程序)
混合过程
六、数据字典应具有的特点:
通过名字能方便地查阅数据的定义
没有冗余
尽量不重复在规格说明的其他组成部分中已经出现的信息
容易更新和修改
能单独处理描述每一个数据元素的信息
定义的书写方法简单、方便且严格
产生交叉表、错误检测、一致性校验等
数据字典
是元数据的集合,从逻辑上和物理上描述了数据库及内容,存储于SYSTEM与SYSAUX表空间内的若干段。
SYS用户拥有所有的数据字典表,数据字典基本一般以$结尾,如col$,tab$等,这些数据字典存放在system表空间中。
数据字典的形成
在数据库创建阶段创建,在使用阶段维护和更新
无法通过DML *** 作来修改,只能通过相关的命令修改系统,来达到间接修改数据字典。
数据字典的特点
每个Oracle数据库的中枢
描述数据库和它的对象
包含只读的表和视图
存储在SYSTEM表空间中
拥有者是SYS用户
由Oracle服务器自己维护
用SELECT访问
数据字典内容:
数据字典提供下列信息:
逻辑和物理的数据库结构
对象的定义和空间分配
一致性限制
用户
角色
权限
审计
数据字典的主要用途:
Oracle服务器用它查找下列信息:
用户
对象
存储结构
Oracle服务器修改数据字典当DDL语句执行的时候
用户和管理员们利用它了解数据库的信息
基础表和数据字典视图:
数据字典包括两个部分:
基础表
存储数据库的描述
CREATE DATABASE命令创建(sqlbsq)
数据字典视图
用于简化基础表的信息
通过PUBLIC同义词访问
由脚本catalogsql创建
数据字典基表中的数据很难看懂。因此,很少人直接访问这些基表。取而代之的是数据字典视图。
数据字典视图分为类,它们以前辍来区分,前辍分别为:USER、ALL、DBA
USER_ 用户所拥有的对象信息
ALL_ 用户能访问的对象信息
DBA_ 整个数据库中的对象信息
创建数据字典视图:
建库后,运行以下脚本创建的
$ORACLE_HOME/rdbms/admin/catalogsql 创建常用的数据字典和同义词
$ORACLE_HOME/rdbms/admin/catprocsql 创建内建的存储过程、包等pl/sql对象
DBCA建库时会自动运行这两个脚本,但如果手动建库的话,需手动运行。
常用的数据字典:
一般的概况: TAB,DICTIONARY, 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$开头
常用的数据字典视图、动态性能视图:
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数据库)求助各位大神,!、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)