1、编写: 日期: 审核: 日期: 批准: 日期: 受控状态: 是 否 发布版次: 日期: 编号: XXX 概要设计说明书 变更记录 日期 版本 变更说明 作者 Yyyy/mm/dd VXX XXXX XXXX 签字确认 职务 姓名 签字 日期 XXXX XXX XXXX Yyyy/mm/dd 目 录 1 引言 .4 1.1 预期的读者 .4 1.2 数据库 .4 1.3 目的和作用 .4 2 数据字典设计 .4 3 数据库设计 .5 3.1 系统物理结构设计 .5 3.2 表设计 .5 3.2.1 TableName(表名的解释 ) .5 3.3 表之间的关联设计 .5 3.4 存储过程设计 .
2、6 3.5 触发器设计 .6 3.6 JOB 设计 .6 1 引言 1.1 预期的读者 主要为本公司以几份承包方的阅读者,如设计人员、开发人员等。有时可以包括客户 方的阅读者,如:市场部人员、开发人员等。 1.2 数据库 指明所采用的数据库管理系统,版本等必要信息。 指明所设计的数据库的中、英文名称。 1.3 目的和作用 将数据分析的结果进一步整理,形成最终的计算机模型,以便开发人员建立物理数据 库。 2 数据字典设计 数据字典的主要目的是提供查阅对不了解的条目的解释。在数据字典中记录数据 元素的下列信息:一般信息(名字,别名,描述等) ,定义(数据类型,长度,结构等) ,使用特点(值的范围,
3、使用频率,使用方式输入/输出/本地,条件值等) ,控制信 息(来源,用户,使用它的程序,改变权等) ,分组信息(父结构,从属结构,物理位 置记录、文件和数据库等) 。 下面的例子是通过卡片来描述数据字典: 名字:定货报表 别名:定货信息 描述:每天一次送给采购员的 需要定货的零件表 定义:定货报表=零件编号+ 零 件名称+定货数量+ 目前价格+主 要供应商+次要供应商 位置:输出到打印机 名字:零件编号 别名: 描述:唯一地标识库存清单中 一个特定零件的关键域 定义:零件编号=8(字符)8 位置:定货报表 定货信息 库存清单 名字:定货数量 别名: 描述:某个零件一次定 货的数量 定义:定货数
4、量=1(数字)5 位置:定货报表 定货信息 3 数据库设计 3.1 系统物理结构设计 根据硬件设备和数据库平台系统,对数据库系统的物理存储结构进行规划,估计数据 库的大小,增长速度,各主要部分的访问频度。确定数据文件的命名,日志文件的命名。 数据文件和日志文件的物理存放位置,如果有多个存储设备,需要规划数据文件的组织方 式。 系统内存使用配置,一般来说,数据库系统会自动维护系统内存,但有时为了某些性 能问题,可以根据需要对数据库的内存管理进行另行配置。 3.2 表设计 根据数据字典的设计,进一步细化为数据库表的设计。表的设计包括以下内容: 表名(中英文) 字段名 字段数据类型 字段是否为空 字
5、段的默认值 备注,对字段的解释性说明:主键、外键、是否自动增一、是否为索引、是否唯一、 是否进行数据检查等。 3.2.1 TableName(表名的解释) 字段名 数据类型 是否为空 默认值 备注 表设计中应注意的问题: 1对于字符类型的字段,要仔细确认字段的可能长度。在 SQL Server 数据库设计中,一 般来说,对于定长的字符数据字段,去字符类型(char),对于不定长的,取变长字符类型 (varchar)。 2对于以分类形式出现的字段,建议不使用字符类型,而使用数字类型。如:人员分类为 高职、中职、低职;如果用字符类型,则将这些字符串需要入库;如果使用数字类型分别 用 1、2、3 代
6、表高职、中职、低职,则入库的是数字信息,从程序编写的角度考虑,后者 更好维护一些,主要体现在如果是多语言版本时,我们不需要在程序中将这些字符串信息 进行判断处理。 3.3 表之间的关联设计 为了保证数据的完整性,需要对表之间相互的数据进行约束,主要是通过外键来实现 数据增删时的数据完备。 3.4 存储过程设计 存储过程是一组预先定义并编译好的 SQL 语句,可以接受参数、返回状态值和参数值, 并可以嵌套调用。使用存储过程可以改变 SQL 语句的运行性能,提高其执行效率。存储过 程还可用做一种安全机制,使用户通过它访问未授权的表或视图。 3.5 触发器设计 触发器是一种特殊的存储过程,当表中的数据被修改时,由系统自动执行。使用触发 器可以实施更为复杂的的数据完整性约束。 3.6 Job 设计 数据库系统提供了 Job 功能,该功能可以用来解决需要定期处理商业数据的问题。