1.1编写目的 2
1.2背景 2
1.3定义 2
1.4参考资料 2
2外部设计 2
2.1标识符和状态 2
2.2使用它的程序 3
2.3约定 3
2.4专门指导 3
2.5支持软件 3
3结构设计 3
3.1概念结构设计 3
3.2逻辑结构设计 3
3.3物理结构设计 4
4运用设计 4
4.1数据字典设计 4
4.2安全保密设计 4
数据库设计说明书(GB8567——88)
1引言
1.1编写目的
数据库系统提供了数据持久存储的能力,是现有软件系统中一个重要的组成部分。
本数据库设计说明书在对功能需求进行确认的基础上,建立数据库的概念模型,然后转化成关系模型,以达到直接应用的目的。它是软件实施的唯一依据,也是将来系统维护的主要参考资料。
1.2背景
配置管理子系统是IPv4&v6一体化综合网管系统中一个重要的子系统,是网管五大功能模块FCAPS中的C。清华大学信息工程网络研究中心(简称网络中心),根据CERNET2建设和发展的需要,同时考虑到IPv4网络和IPv6网络的长期共存与互通这一基本情况,研究并开发的。为了适应国家发布的下一代互联网/IPv6规划,推动IPv6的发展,网络中心正逐步将该项目产业化。
本子系统的直接用户是校园网及大中型企业局域网的网管人员,开发目的在于:通过本子系统的开发与应用,使网管人员快速标识网络中的设备,收集设备信息,维护所有网络单元的最新设备清单及其连接关系,同时为其它子系统提供数据同步支持,从而提高工作效率和管理水平。
1.3定义
| FCAPS | Fault、configration、performance、security |
| IPv4 | Internet Protocol version 4 |
| IPv6 | Internet Protocol version 6 |
| CERNET2 | 中国第二代中国教育和科研计算机网 |
| ORM | Object relational mapping |
| POJO | Plain Old Java Objects |
[1]Hwa-Chun Lin and Chien-Hsing Wang, "DISTRIBUTED NETWORK MANAGEMENT BY HTTP-BASED REMOTE INVOCATION", Global Telecommunications Conference - Globecam'99, 1999,Volume 3, Page(s):18 - 13 vol.3.
[2]孙卫琴 精通Hibernate:Java对象持久化技术详解 电子工业出版社
2外部设计
2.1标识符和状态
IPv4&v6一体化综合网管系统使用mysql4.1.21作为数据库支持平台,为系统提供数据支持。在mysql数据库中,针对用户权限管理模块,我们建立了一个config数据库。
2.2使用它的程序
使用该数据库的应用程序为IPv4&v6一体化网管系统中配置管理子系统(v1.0)。
2.3约定
| 数据库名称 | user |
| 数据库密码 | network |
| 数据库版本号 | mysql4.1.21 |
| 数据库表命名约定 | 全部由小写英文单词组成,要求单词能够见文知义 |
| 数据库表中的字段命名约字 | 全部由一个或多个小写英文单词组成,要求单词能够见文知义 |
数据库user关系表的生成,可以采用两种方式:
1.手工创建
2.首先创建对象--关系映射表,然后根据Hibernate的hbm2ddl工具,在hibernate.cfg.xml文件中加入
注:创建关系表时,数据库采用InnoDB类型,字符集采用utf8编码。
2.5支持软件
1.数据库管理系统为:mysql4.1.21
2.使用tomcat5.0管理数据源
3.利用Hibernate3.1进行对象--关系数据映射
4.使用该数据库的应用程序为IPv4&v6一体化网管系统中配置管理子系统(v1.0)
3结构设计
3.1需求分析
3.1.1数据流图
图5-1 配置管理子系统顶层DFD
图5-2 配置管理子系统节点管理功能模块DFD
数据存储:
1.E1:设备分组表,存储设备分组信息;节点与分组关联表,存储节点与分组关联信息
2.E2:netpart表,包含节点共有信息
3.E3:节点信息表,包含节点详细信息
4.E4:IP信息表,包含IPv4&v6信息
5.E5:节点类型表,包含节点所属的类型信息
6.E6:snmp表,包含节点的SNMP信息
7.E7:device表,包含节点的资产管理信息
8.E8:接口表,包含接口详细信息
9.E9:接口类型表,包含接口所属的类型信息
10.E10:接口操作状态表,包含IPv4&v6操作状态
11.E11:接口管理状态表,包含IPv4&v6管理状态
12.E12:链路信息表,包含链路详细信息
3.1.2数据字典
数据字典(DD:Data Directory)描述各数据(包括文字型数据)的类型和长度等属性以及它们在数据库中的组成结构。在关系型数据库中,数据以基表、记录、字段来组织(基表由记录组成,记录由字段组成)。本设计说明书以数据库基表为单位说明系统的数据字典。
基表描述中的权限项,用C(Create)、S(Select)、U(Update)三个字母分别表示对该基表的建表、读用记录、增删改其记录的权限赋给哪些子系统;子系统名用如下代号表示:
NU:用户权限 NC:配置管理 NT:拓扑发现
NF:故障管理 NP:性能管理 NE:综合事件平台
NM:晴雨表
基表描述中的类型项,用字符D、C、VC、N分别表示日期型、字符型、可变长字符型、数值型等字段类型;长度用园括号括起来,并写在类型之后;对带小数点的数值字段,要给出字段总长度和小数位数,中间用小数点隔开。如:C(8)表示长度为8的字符型字段;VC(32)表示最大长度为32的可变长字符类型;N(6)表示最大值不超过6位数的整数型字段;N(12.4)表示最大长度为12的数值型,其中小数位占4位。
表3-1 netpart表
基表名:被管对象表
| 别 名: netpart | 组织方式 索引 | |||||
| 组成及数据元素 | 类型 长度 | 取值范围/含义 | 键字 否 | 可空 否 | 缺省 值 | |
| 名称 | 别名 | |||||
| 被管理对象标识符 | id | N11 | Y | N | ||
| Netpart类型 | netpart_type | VC255 | 取值范围:Device:Ifinterface、Device:Netnode、Netpart.Link | |||
| 被管对象描述 | description | VC255 | ||||
| 被管对象名称 | name | VC255 | ||||
| 被管对象中文名称 | chinaname | VC255 | ||||
| 技术支持人员id | providerid | N11 | ||||
| 网管人员id | netadminid | N11 | ||||
| 被管对象snmp值id | snmpid | N11 | ||||
| 父级id | parentid | N11 | ||||
| 接口所属的节点id | netnodeid | N11 | ||||
基表名:设备资产表
| 别 名: device | 组织方式 索引 | |||||
| 组成及数据元素 | 类型 长度 | 取值范围/含义 | 键字 否 | 可空 否 | 缺省 值 | |
| 名称 | 别名 | |||||
| 设备标识符 | id | N11 | Y | N | ||
| 设备生产厂家 | manufacturer | VC255 | ||||
| 设备型号 | model | VC255 | ||||
| 设备序列号 | serialnumber | VC255 | ||||
| 设备属主 | ownerid | N11 | ||||
| 设备负责人id | responserid | N11 | ||||
基表名:节点表
| 别 名: netnode | 组织方式 索引 | |||||
| 组成及数据元素 | 类型 长度 | 取值范围/含义 | 键字 否 | 可空 否 | 缺省 值 | |
| 名称 | 别名 | |||||
| 节点标识符 | id | N11 | Y | N | ||
| 部署位置 | deploylocation | VC255 | ||||
| 节点图标 | icon | VC255 | ||||
| 节点标签 | label | VC255 | ||||
| 成员序列号 | member_serial | VC255 | 用于3TNET中,命令交换机为成员交换机分配的唯一标识 | |||
| 节点类型id | type | N11 | ||||
| 节点IPv4地址的id | loopbackip | N11 | ||||
| 节点IPv6的id | Loopbackipv6 | N11 | ||||
基表名:接口表
| 别 名: ifinterface | 组织方式 索引 | |||||
| 组成及数据元素 | 类型 长度 | 取值范围/含义 | 键字 否 | 可空 否 | 缺省 值 | |
| 名称 | 别名 | |||||
| 接口标识符 | id | N11 | Y | N | ||
| 接口索引 | ifindex | N11 | ||||
| 接口最大速度 | maxspeed | N30 | ||||
| 接口实际速度 | speed | N20 | ||||
| 接口物理地址 | physicaladdress | VC255 | ||||
| 接口类型id | type | N11 | ||||
| 接口管理状态v4的id | managementstatusid | N11 | ||||
| 接口管理状态v6的id | Managementstatusv6id | N11 | ||||
| 接口运行状态v4的id | operationstatusid | N11 | ||||
| 接口运行状态v6的id | Operationstatusv6id | N11 | ||||
基表名:链路表
| 别 名: link | 组织方式 索引 | |||||
| 组成及数据元素 | 类型 长度 | 取值范围/含义 | 键字 否 | 可空 否 | 缺省 值 | |
| 名称 | 别名 | |||||
| 链路标识符 | id | N11 | Y | N | ||
| 链路优先级 | priority | N11 | ||||
| 链路最大速度 | maxspeed | N30 | ||||
| 链路实际速度 | speed | N20 | ||||
| 上行端口id | upstreamport | N11 | ||||
| 下行端口id | downstreamport | N11 | ||||
基表名:联系方式表
| 别 名: contact | 组织方式 索引 | |||||
| 组成及数据元素 | 类型 长度 | 取值范围/含义 | 键字 否 | 可空 否 | 缺省 值 | |
| 名称 | 别名 | |||||
| 标识符 | id | N11 | Y | N | ||
| 地址 | address | VC255 | ||||
| 城市 | city | VC255 | ||||
| 国家 | country | VC255 | ||||
| 移动电话 | mobilephone | VC255 | ||||
| 名称 | name | VC255 | ||||
| 省份 | province | VC255 | ||||
| 固定电话 | telephone | VC255 | ||||
基表名:部门信息表
| 别 名: department | 组织方式 索引 | |||||
| 组成及数据元素 | 类型 长度 | 取值范围/含义 | 键字 否 | 可空 否 | 缺省 值 | |
| 名称 | 别名 | |||||
| 部门标识符 | id | N11 | Y | N | ||
| 部门名称 | name | VC255 | ||||
| 部门固定电话 | telephone | VC255 | ||||
基表名:用户信息表
| 别 名: netadmin | 组织方式 索引 | |||||
| 组成及数据元素 | 类型 长度 | 取值范围/含义 | 键字 否 | 可空 否 | 缺省 值 | |
| 名称 | 别名 | |||||
| 用户标识符 | id | N11 | Y | N | ||
| 用户名称 | username | VC255 | ||||
| 用户密码 | password | VC255 | ||||
| 用户备注 | description | VC255 | ||||
| 联系方式id | contactid | N11 | ||||
| 部门id | departmentid | N11 | ||||
基表名:分组信息表
| 别 名: netgroup | 组织方式 索引 | |||||
| 组成及数据元素 | 类型 长度 | 取值范围/含义 | 键字 否 | 可空 否 | 缺省 值 | |
| 名称 | 别名 | |||||
| 分组标识符 | groupid | N11 | Y | N | ||
| 分组名称 | groupname | VC255 | ||||
| 父级id | parentid | N11 | ||||
| 是否有子分组 | hassubgroup | VC255 | ||||
| 是否有节点 | hasnode | VC255 | ||||
| 模块标志 | moduleflag | VC255 | ||||
基表名:节点分组关联表
| 别 名: groupnode | 组织方式 索引 | |||||
| 组成及数据元素 | 类型 长度 | 取值范围/含义 | 键字 否 | 可空 否 | 缺省 值 | |
| 名称 | 别名 | |||||
| 分组标识符 | groupid | N11 | Y | N | ||
| 节点id | nodeid | N11 | Y | N | ||
基表名:节点类型信息表
| 别 名: nodetype | 组织方式 索引 | |||||
| 组成及数据元素 | 类型 长度 | 取值范围/含义 | 键字 否 | 可空 否 | 缺省 值 | |
| 名称 | 别名 | |||||
| 类型标识符 | id | N11 | Y | N | ||
| 类型名称 | name | VC255 | ||||
| 类型描述 | description | VC255 | ||||
基表名:接口类型信息表
| 别 名: interfacetype | 组织方式 索引 | |||||
| 组成及数据元素 | 类型 长度 | 取值范围/含义 | 键字 否 | 可空 否 | 缺省 值 | |
| 名称 | 别名 | |||||
| 类型标识符 | id | N11 | Y | N | ||
| 类型名称 | name | VC255 | ||||
| 类型描述 | description | VC255 | ||||
基表名:IPv4信息表
| 别 名: ipsetting | 组织方式 索引 | |||||
| 组成及数据元素 | 类型 长度 | 取值范围/含义 | 键字 否 | 可空 否 | 缺省 值 | |
| 名称 | 别名 | |||||
| IPv4标识符 | id | N11 | Y | N | ||
| IPv4地址 | address | VC255 | ||||
| 子网掩码 | netmask | VC255 | ||||
| 网关 | gateway | VC255 | ||||
| 设备id | deviceid | N11 | ||||
基表名:IPv6信息表
| 别 名: ipv6setting | 组织方式 索引 | |||||
| 组成及数据元素 | 类型 长度 | 取值范围/含义 | 键字 否 | 可空 否 | 缺省 值 | |
| 名称 | 别名 | |||||
| IPv4标识符 | id | N11 | Y | N | ||
| IPv4地址 | address | VC255 | ||||
| 前缀 | prefix | VC255 | ||||
| 网关 | gateway | VC255 | ||||
| 设备id | deviceid | N11 | ||||
基表名:管理状态信息表
| 别 名: managementstatus | 组织方式 索引 | |||||
| 组成及数据元素 | 类型 长度 | 取值范围/含义 | 键字 否 | 可空 否 | 缺省 值 | |
| 名称 | 别名 | |||||
| 管理状态标识符 | id | N11 | Y | N | ||
| 名称 | name | VC255 | ||||
| 描述 | description | VC255 | ||||
基表名:运行状态信息表
| 别 名: operationstatus | 组织方式 索引 | |||||
| 组成及数据元素 | 类型 长度 | 取值范围/含义 | 键字 否 | 可空 否 | 缺省 值 | |
| 名称 | 别名 | |||||
| 运行状态标识符 | id | N11 | Y | N | ||
| 名称 | name | VC255 | ||||
| 描述 | description | VC255 | ||||
基表名:SNMP信息表
| 别 名: snmp | 组织方式 索引 | |||||
| 组成及数据元素 | 类型 长度 | 取值范围/含义 | 键字 否 | 可空 否 | 缺省 值 | |
| 名称 | 别名 | |||||
| SNMP标识符 | id | N11 | Y | N | ||
| 设备的read Community | readcommunity | VC255 | ||||
| 设备的write Community | writecommunity | VC255 | ||||
| SNMP版本 | version | VC255 | ||||
3.1.1 E-R图
3.3逻辑结构设计
3.3.1由概念模型和向关系模式转化
3.3.2配置管理子系统关系模型
3.4物理结构设计
建立系统程序员视图,包括:
a.数据在内存中的安排,包括对索引区、缓冲区的设计;
b.所使用的外存设备及外存空间的组织,包括索引区、数据块的组织与划分;
c.访问数据的方式方法。
4运用设计
4.1数据字典设计
对数据库设计中涉及到的各种项目,如数据项、记录、系、文卷、模式、子模式等一般要建立起数据字典,以说明它们的标识符、同义名及有关信息。在本节中要说明对此数据字典设计的基本考虑。
4.2安全保密设计
说明在数据库的设计中,将如何通过区分不同的访问者、不同的访问类型和不同的数据对象,进行分别对待而获得的数据库安全保密的设计考虑。下载本文