您的当前位置:首页数据库设计文档模板

数据库设计文档模板

来源:小侦探旅游网
 范文 范例 指导 参考

文档编号 2011-6-14 版本 A1 密级 商密A *****中心开发部 项目名称 时代集团产品跟踪平台 项目来源 DR-RD-020(V1.1)

时代集团

数据库设计说明书

(内部资料 请勿外传)

编 写: 检 查: 审 核: 批 准:

********* 版权所有 不得复制

word版 整理

日 期: 日 期: 日 期:

日 期:

范文 范例 指导 参考

时代集团产品跟踪平台 ............................................ 错误!未定义书签。 数据库设计说明书............................................................... 1 1

引言 ...................................................................... 2 1.1 1.2 1.3 2 3 4 5

编写目的 ................................................................ 2 术语表 .................................................................. 2 参考资料 ................................................................ 3

数据库环境说明 ............................................................ 3 数据库的命名规则 .......................................................... 3 逻辑设计 .................................................................. 3 物理设计 .................................................................. 4 5.1 5.2 5.3 5.4

表汇总 .................................................................. 5 表[X]:[XXX表] .......................................................... 5 视图的设计 ............................................................. 11 存储过程、函数及触发器的设计 ............................................ 12

6 安全性设计 ............................................................... 23 6.1 6.2 6.3

防止用户直接操作数据库的方法 ............................................ 23 用户帐号密码的加密方法 ................................................. 23 角色与权限 ............................................................. 23

7 8

优化 ..................................................................... 23 数据库管理与维护说明 ...................................................... 24

1

引言

1.1 编写目的

本文档是时代集团产品跟踪平台

概要设计文档的组成部分,编写数据库设计文档的目的是:明确数据库的表名、字段名等数据信息,用来指导后期的数据库脚本的开发,本文档遵循《SQL数据库设计和开发规范》。本文档的读者对象是需求人员、系统设计人员、开发人员、测试人员。

1.2 术语表

序号 1 2 术语或缩略语 ESID ProId 说明性定义 EnterStorageId入库编号 ProductId产品编号 word版 整理

范文 范例 指导 参考

3 PMID ProductManagerId产品管理员编号 1.3 参考资料

资料名称 作者 文件编号、版本 资料存放地点 2

数据库环境说明

数据库系统 数据库实例 数据库部署环境 数据库设计工具 数据库存放位置 说明 3

数据库的命名规则

数据库名称:时代集团的英文名称time-group

表名:英文(表的用途)+下划线+英文 字段名:相关属性的英文名

4

逻辑设计

提示:数据库设计人员根据需求文档,创建与数据库相关的那部分实体关系图(ERD)。如果采用面向对象方法(OOAD),这里实体相当于类(class)。 word版 整理

范文 范例 指导 参考

合作伙伴partner_sett_rels合同:1inhr_partner_spinhr_partner_cp运营商coop_rels合同模板partner_sett_order服务提供商内容提供商结算帐单coop_settl_ordersp_coop_relscp_coop_relssettle_order_rels结算规则合同:2 5

物理设计

提示: (1)主要是设计表结构。一般地,实体对应于表,实体的属性对应于表的列,实体之间的关系成为表的约束。逻辑设计中的实体大部分可以转换成物理设计中的表,但是它们并不一定是一一对应的。 (2)对表结构进行规范化处理(第三范式)。 word版 整理

范文 范例 指导 参考

5.1 表汇总

表名 Enter_storage Exit_storage Seller_info Product_info Repair_info L 功能说明 产品入库(新产品的登记、修改、查询) 产品出库(登记产品出库信息) 销售商信息维护表(对销售商信息的添加、修改和查询) 产品信息表(对新产品的发布,修改,查询等维护) 维修表(对已出售产品的维修进行登记,修改) 管理员表(包含五种身份,销售人员,库存管理人员,售后服务人员,产品信息管理人员,系统管理员) 5.2 表:

表的索引: 索引是否建立要根据具体的业务需求来确定。 允许为空:不填的表示为“是”。 唯一:不填的表示为“是”。 表的记录数和增长量:根据具体的业务需求确定。增长量应确定单位时间如果量大可以按每天,如果不大可以按每月。 表字段的区别度:主要是考虑到将来在此字段上建立索引类型选择时作为参考,当字段值唯一时可以不考虑,当字段值不唯一时,估算一个区别度,近似即可。例如:如果一个表的NAME字段有共2000个值,其中有1999个不同值,1999/2000=0.99 越接近1区别度越高,反之区别度越低。 表的并发:根据具体的业务需求预测表的并发。 1. 表名 数据库用户 主键 其他排序字段 索引字段 序号 字段名称 Enter_storage 库存管理人员 ESID 入库产品编号 Product,date,num,storageManagerId 数据类型(精度范围) 允许为空Y/N N 唯一Y/N Y 区别度 默认值 约束条件/说明 1 2 3 4 5 ESID Product date num int Varchar(50) Varchar(50) N N N N N N Y SmallDateTime N storageManagerId Varchar(50) word版 整理

范文 范例 指导 参考

Mysql脚本 CREATE TABLE [dbo].[Enter_storage]( ( [ESID] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO SET ANSI_PADDING OFF GO 记录数 增长量 表的并发 补充说明 [ESID] [int] IDENTITY(1,1) NOT NULL, [product] [varchar](50) NOT NULL, [date] [smalldatetime] NOT NULL, [num] [varchar](6) NOT NULL, [storageManagerId] [nvarchar](50) NOT NULL, CONSTRAINT [PK_addStorage] PRIMARY KEY CLUSTERED 2.

表名 数据库用户 主键 其他排序字段 索引字段 序号 字段名称 Exit_storage 库存管理人员 ExitStorageId 出库产品编号 Product,date,num,storageManagerId 数据类型(精度范围) 允许为空Y/N N 唯一Y/N Y 区别度 默认值 约束条件/说明 1 2 3 4 5 ExitStorageId Product date num int Varchar(50) Varchar(50) N N N N N N Y SmallDateTime N storageManagerId Varchar(50) word版 整理

范文 范例 指导 参考

Mysql脚本 CREATE TABLE [dbo].[Exit_storage]( [ExitStorageId] [int] IDENTITY(1,1) NOT NULL, [product] [varchar](50) NOT NULL, [date] [smalldatetime] NOT NULL, [num] [varchar](6) NOT NULL, CONSTRAINT [PK_subStorage] PRIMARY KEY CLUSTERED ( [ExitStorageId] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO SET ANSI_PADDING OFF GO /****** Object: Table [dbo].[Enter_storage] Script Date: 01/17/2011 16:00:59 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_PADDING ON GO 记录数 增长量 表的并发 补充说明 3. 表名 数据库用户 主键 其他排序字段 索引字段 序号 字段名称 Seller_info 销售商管理员 name telephone,address,product, stockNum,stockDate,stockPrice 数据类型(精度范围) 允许为空Y/N N 唯一Y/N Y 区别度 默认值 约束条件/说明 1 2 3 4 5 6 7 name telephone address product stockNum stockDate Varchar(50) Varchar(50) Varchar(50) Varchar(50) N N N N N N N N N N SmallDateTime N SmallDateTime N stockPrice Varchar(50) word版 整理

范文 范例 指导 参考

Mysql脚本 CREATE TABLE [dbo].[Seller_info]( [name] [varchar](50) NOT NULL, [telephone] [varchar](20) NOT NULL, [address] [varchar](50) NOT NULL, [product] [varchar](50) NOT NULL, [stockNum] [varchar](6) NOT NULL, [stockDate] [smalldatetime] NOT NULL, [stockPrice] [varchar](10) NOT NULL, CONSTRAINT [PK_maketer_Info] PRIMARY KEY CLUSTERED ( [name] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO SET ANSI_PADDING OFF GO /****** Object: Table [dbo].[Repair_info] Script Date: 12/16/2010 09:59:13 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_PADDING ON GO 记录数 增长量 表的并发 补充说明 4. 表名 数据库用户 Product_info 产品信息管理人员 主键 其他排序字段 索引字段 序号 字段名称 proId name,price,proDate, storage 数据类型(精度范围) 允许为空Y/N N 唯一Y/N Y 区别度 默认值 约束条件/说明 1 2 3 4 proId name price proDate int Varchar(50) Varchar(50) N N N N N SmallDateTime N word版 整理

范文 范例 指导 参考

5 storage Mysql脚本 Varchar(50) N Y CREATE TABLE [dbo].[Product_info]( [proId] [int] IDENTITY(1,1) NOT NULL, [name] [varchar](50) NOT NULL, [price] [varchar](6) NOT NULL, [proDate] [smalldatetime] NOT NULL, [storage] [varchar](4) NOT NULL, CONSTRAINT [PK_product_Info] PRIMARY KEY CLUSTERED ( [proId] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO SET ANSI_PADDING OFF GO /****** Object: Table [dbo].[Login] Script Date: 01/17/2011 16:00:59 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_PADDING ON GO 记录数 增长量 表的并发 补充说明 5. 表名 数据库用户 主键 其他排序字段 索引字段 序号 字段名称 Repair_info 售后服务人员 repairId 产品维修编号 repairName,repairtel,product, customer,date,customertel 数据类型(精度范围) 允许为空Y/N N 唯一Y/N Y 区别度 默认值 约束条件/说明 1 2 3 4 5 repairId repairName repairtel product customer date int Varchar(50) Varchar(50) Varchar(50) N N N N N N N N SmallDateTime N SmallDateTime N word版 整理

范文 范例 指导 参考

customertel Varchar(50) Mysql脚本 N N CREATE TABLE [dbo].[Repair_info]( [repairId] [int] IDENTITY(1,1) NOT NULL, [repairName] [nchar](10) NULL, [repairtel] [nchar](10) NULL, [product] [varchar](50) NOT NULL, [customer] [varchar](20) NOT NULL, [date] [smalldatetime] NOT NULL, [customertel] [nchar](10) NULL, CONSTRAINT [PK_Table_1] PRIMARY KEY CLUSTERED ( [repairId] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO SET ANSI_PADDING OFF GO /****** Object: Table [dbo].[Product_info] Script Date: 01/17/2011 16:00:59 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_PADDING ON GO 记录数 增长量 表的并发 补充说明 6.

表名 数据库用户 主键 其他排序字段 索引字段 序号 字段名称 Login 管理人员 userId 用户编号 password,userName,tel, birthday,registerTime,type 数据类型(精度范围) 允许为空Y/N N 唯一Y/N Y 区别度 默认值 约束条件/说明 1 2 3 4 userId password userName tel int Varchar(50) Varchar(50) N N N N N SmallDateTime N word版 整理

范文 范例 指导 参考

5 6 7 birthday type Mysql脚本 Varchar(50) Varchar(50) ( N N N N N registerTime SmallDateTime N CREATE TABLE [dbo].[Login]( [userId] [varchar](10) NOT NULL, [password] [varchar](16) NOT NULL, [userName] [varchar](20) NOT NULL, [tel] [varchar](20) NOT NULL, [birthday] [smalldatetime] NOT NULL, [registerTime] [smalldatetime] NOT NULL, [type] [nvarchar](50) NOT NULL, CONSTRAINT [PK_manager_Info] PRIMARY KEY CLUSTERED [userId] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO SET ANSI_PADDING OFF GO 记录数 增长量 表的并发 补充说明

5.3 视图的设计

[根据XXX产品的概要设计文档来确定。 视图的命名按照《xx数据库设计规范》中关于视图的命名规范命名。 视图的设计应注意以下几点: 1 尽量减少列中使用的公式。 2 去掉所有不必要的列。 3 不要使同一个文档属于多个分类。 4 避免使用表单公式。] word版 整理

范文 范例 指导 参考

5.4 存储过程、函数及触发器的设计

[存储过程及触发器的命名按照《xx数据库设计规范》中关于存储过程及触发器的命名规范命名。 存储过程:根据具体得业务逻辑确定输入参数个数,类型,确定对哪几个表进行何种作。 在定义存储过程时,要使用其完成单一、相对集中的任务,不要定义已由其他提供功能的过程。例如:不要定义强制数据完整性的过程(使用完整性约束)。 函数 :函数与存储过程非常相似,它也是存储在数据库中的对象。但是可以在SQL命令中使用函数。就好像建立自己的substr函数一样 触发器 :触发器是存储在数据库中的程序,它在某一特定事件发生时执行。这些程序可以用PL/SQL和java语言编写,也可以用作c语言的调用,数据库允许用户定义这些程序,然后在相关的表,视图或者数据库动作执行insert,update或delete语句时执行。] 1.存储过程:

CREATE PROCEDURE Enter_storage_GetMaxId AS

CREATE PROCEDURE Enter_storage_Exists @ESID int AS

DECLARE @TempID int

SELECT @TempID = count(1) FROM [Enter_storage] WHERE ESID=@ESID IF @TempID = 0

RETURN 0 DECLARE @TempID int

SELECT @TempID = max([ESID])+1 FROM [Enter_storage] IF @TempID IS NULL

RETURN 1 RETURN @TempID ELSE

word版 整理

范文 范例 指导 参考

ELSE

RETURN 1

CREATE PROCEDURE Enter_storage_ADD @ESID int output, @product varchar(50), @date smalldatetime, @num varchar(6),

@storageManagerId nvarchar(50) AS

CREATE PROCEDURE Enter_storage_Update @ESID int,

@product varchar(50), @date smalldatetime, @num varchar(6),

@storageManagerId nvarchar(50) AS

CREATE PROCEDURE Enter_storage_Delete @ESID int AS

CREATE PROCEDURE Enter_storage_GetModel @ESID int AS

SELECT

ESID,product,date,num,storageManagerId FROM [Enter_storage] WHERE ESID=@ESID DELETE [Enter_storage] WHERE ESID=@ESID

UPDATE [Enter_storage] SET

[product] = @product,[date] = @date,[num] = @num,[storageManagerId] = WHERE ESID=@ESID

INSERT INTO [Enter_storage](

[product],[date],[num],[storageManagerId] )VALUES(

@product,@date,@num,@storageManagerId )

SET @ESID = @@IDENTITY

@storageManagerId

word版 整理

范文 范例 指导 参考

CREATE PROCEDURE Enter_storage_GetList AS

CREATE PROCEDURE Exit_storage_GetMaxId AS

CREATE PROCEDURE Exit_storage_Exists @ExitStorageId int AS

CREATE PROCEDURE Exit_storage_ADD @ExitStorageId int output, @product varchar(50), @date smalldatetime, @num varchar(6),

@storageManagerId nvarchar(50) AS

CREATE PROCEDURE Exit_storage_Update @ExitStorageId int, @product varchar(50),

INSERT INTO [Exit_storage](

[product],[date],[num],[storageManagerId] )VALUES(

@product,@date,@num,@storageManagerId )

SET @ExitStorageId = @@IDENTITY DECLARE @TempID int

SELECT @TempID = count(1) FROM [Exit_storage] WHERE ExitStorageId=@ExitStorageId IF @TempID = 0

RETURN 0 RETURN 1 ELSE

DECLARE @TempID int

SELECT @TempID = max([ExitStorageId])+1 FROM [Exit_storage] IF @TempID IS NULL

RETURN 1 RETURN @TempID ELSE SELECT

ESID,product,date,num,storageManagerId FROM [Enter_storage]

word版 整理

范文 范例 指导 参考

@date smalldatetime, @num varchar(6),

@storageManagerId nvarchar(50) AS

CREATE PROCEDURE Exit_storage_Delete @ExitStorageId int AS

CREATE PROCEDURE Exit_storage_GetModel @ExitStorageId int AS

CREATE PROCEDURE Exit_storage_GetList AS

CREATE PROCEDURE Login_Exists @userId varchar(10) AS

DECLARE @TempID int

SELECT @TempID = count(1) FROM [Login] WHERE userId=@userId IF @TempID = 0

RETURN 0 RETURN 1 ELSE SELECT

ExitStorageId,product,date,num,storageManagerId FROM [Exit_storage] SELECT

ExitStorageId,product,date,num,storageManagerId FROM [Exit_storage]

WHERE ExitStorageId=@ExitStorageId DELETE [Exit_storage]

WHERE ExitStorageId=@ExitStorageId UPDATE [Exit_storage] SET

[product] = @product,[date] = @date,[num] = @num,[storageManagerId] = WHERE ExitStorageId=@ExitStorageId

@storageManagerId

word版 整理

范文 范例 指导 参考

CREATE PROCEDURE Login_ADD @userId varchar(10), @password varchar(16), @userName varchar(20), @tel varchar(20), @birthday smalldatetime, @registerTime smalldatetime, @type nvarchar(50) AS

CREATE PROCEDURE Login_Update @userId varchar(10), @password varchar(16), @userName varchar(20), @tel varchar(20), @birthday smalldatetime, @registerTime smalldatetime, @type nvarchar(50) AS

CREATE PROCEDURE Login_Delete @userId varchar(10) AS

CREATE PROCEDURE Login_GetModel @userId varchar(10) AS

DELETE [Login] WHERE userId=@userId UPDATE [Login] SET

[password] = @password,[userName] = @userName,[tel] = @tel,[birthday] = WHERE userId=@userId INSERT INTO [Login](

[userId],[password],[userName],[tel],[birthday],[registerTime],[type] )VALUES(

@userId,@password,@userName,@tel,@birthday,@registerTime,@type )

@birthday,[registerTime] = @registerTime,[type] = @type

word版 整理

范文 范例 指导 参考

SELECT

userId,password,userName,tel,birthday,registerTime,type FROM [Login]

WHERE userId=@userId

CREATE PROCEDURE Login_GetList AS

CREATE PROCEDURE Product_info_GetMaxId AS

CREATE PROCEDURE Product_info_Exists @proId int AS

CREATE PROCEDURE Product_info_ADD @proId int output, @name varchar(50), @price varchar(6), @proDate smalldatetime, @storage varchar(4)

DECLARE @TempID int

SELECT @TempID = count(1) FROM [Product_info] WHERE proId=@proId IF @TempID = 0

RETURN 0 RETURN 1 ELSE

DECLARE @TempID int

SELECT @TempID = max([proId])+1 FROM [Product_info] IF @TempID IS NULL

RETURN 1 RETURN @TempID ELSE SELECT

userId,password,userName,tel,birthday,registerTime,type FROM [Login]

word版 整理

范文 范例 指导 参考

AS

CREATE PROCEDURE Product_info_Update @proId int, @name varchar(50), @price varchar(6), @proDate smalldatetime, @storage varchar(4) AS

CREATE PROCEDURE Product_info_Delete @proId int AS

CREATE PROCEDURE Product_info_GetModel @proId int AS

CREATE PROCEDURE Product_info_GetList AS

SELECT

proId,name,price,proDate,storage FROM [Product_info] SELECT

proId,name,price,proDate,storage FROM [Product_info] WHERE proId=@proId DELETE [Product_info] WHERE proId=@proId UPDATE [Product_info] SET

[name] = @name,[price] = @price,[proDate] = @proDate,[storage] = @storage WHERE proId=@proId

INSERT INTO [Product_info]( [name],[price],[proDate],[storage] )VALUES(

@name,@price,@proDate,@storage )

SET @proId = @@IDENTITY

word版 整理

范文 范例 指导 参考

CREATE PROCEDURE Repair_info_GetMaxId AS

CREATE PROCEDURE Repair_info_Exists @repairId int AS

CREATE PROCEDURE Repair_info_ADD @repairId int output, @repairName nchar(10), @repairtel nchar(10), @product varchar(50), @customer varchar(20), @date smalldatetime, @customertel nchar(10) AS

INSERT INTO [Repair_info](

[repairName],[repairtel],[product],[customer],[date],[customertel] )VALUES(

@repairName,@repairtel,@product,@customer,@date,@customertel )

SET @repairId = @@IDENTITY DECLARE @TempID int

SELECT @TempID = count(1) FROM [Repair_info] WHERE repairId=@repairId IF @TempID = 0

RETURN 0 RETURN 1 ELSE

DECLARE @TempID int

SELECT @TempID = max([repairId])+1 FROM [Repair_info] IF @TempID IS NULL

RETURN 1 RETURN @TempID ELSE

word版 整理

范文 范例 指导 参考

CREATE PROCEDURE Repair_info_Update @repairId int,

@repairName nchar(10), @repairtel nchar(10), @product varchar(50), @customer varchar(20), @date smalldatetime, @customertel nchar(10) AS

CREATE PROCEDURE Repair_info_Delete @repairId int AS

CREATE PROCEDURE Repair_info_GetModel @repairId int AS

CREATE PROCEDURE Repair_info_GetList AS

SELECT

repairId,repairName,repairtel,product,customer,date,customertel FROM [Repair_info] SELECT

repairId,repairName,repairtel,product,customer,date,customertel FROM [Repair_info] WHERE repairId=@repairId DELETE [Repair_info] WHERE repairId=@repairId UPDATE [Repair_info] SET

[repairName] = @repairName,[repairtel] = @repairtel,[product] = WHERE repairId=@repairId

@product,[customer] = @customer,[date] = @date,[customertel] = @customertel

word版 整理

范文 范例 指导 参考

CREATE PROCEDURE Seller_info_Exists @name varchar(50) AS

CREATE PROCEDURE Seller_info_ADD @name varchar(50), @telephone varchar(20), @address varchar(50), @product varchar(50), @stockNum varchar(6), @stockDate smalldatetime, @stockPrice varchar(10) AS

CREATE PROCEDURE Seller_info_Update @name varchar(50), @telephone varchar(20), @address varchar(50), @product varchar(50), @stockNum varchar(6), @stockDate smalldatetime, @stockPrice varchar(10) AS

UPDATE [Seller_info] SET

[telephone] = @telephone,[address] = @address,[product] = @product,[stockNum] = WHERE name=@name

INSERT INTO [Seller_info](

[name],[telephone],[address],[product],[stockNum],[stockDate],[stockPrice] )VALUES(

@name,@telephone,@address,@product,@stockNum,@stockDate,@stockPrice )

DECLARE @TempID int

SELECT @TempID = count(1) FROM [Seller_info] WHERE name=@name IF @TempID = 0

RETURN 0 RETURN 1 ELSE

@stockNum,[stockDate] = @stockDate,[stockPrice] = @stockPrice

word版 整理

范文 范例 指导 参考

CREATE PROCEDURE Seller_info_Delete @name varchar(50) AS

CREATE PROCEDURE Seller_info_GetModel @name varchar(50) AS

CREATE PROCEDURE Seller_info_GetList AS

2.库存量增减的触发器: USE [TimeGroup] GO

SET ANSI_NULLS ON GO

SET QUOTED_IDENTIFIER ON GO

ALTER trigger [dbo].[producttri] on [dbo].[Enter_storage] after update as

update Product_info set storage=storage+1

where Product_info. proId =(select proId from inserted) SELECT

name,telephone,address,product,stockNum,stockDate,stockPrice FROM [Seller_info] SELECT

name,telephone,address,product,stockNum,stockDate,stockPrice FROM [Seller_info] WHERE name=@name DELETE [Seller_info] WHERE name=@name

word版 整理

范文 范例 指导 参考

6

安全性设计

提示:提高软件系统的安全性应当从“管理”和“设计”两方面着手。这里仅考虑数据库的安全性设计。 例如:应用级的用户帐号密码不能与数据库相同,防止用户直接操作数据库。用户只能用帐号登陆到应用软件,通过应用软件访问数据库,而没有其它途径操作数据库。 6.1 防止用户直接操作数据库的方法

提示:用户只能用帐号登陆到应用软件,通过应用软件访问数据库,而没有其他途径操作数据库。 6.2 用户帐号密码的加密方法

提示:对用户帐号的密码进行加密处理,确保在任何地方都不会出现密码的明文。 例如:用户帐号采用MD5进行数据加密后再录入数据库,以防止任何地方密码的安全性要求。 Sa 密码登录

6.3 角色与权限

提示:确定每个角色对数据库表的操作权限,如创建、检索、更新、删除等。每个角色拥有刚好能够完成任务的权限,不多也不少。在应用时再为用户分配角色,则每个用户的权限等于他所兼角色的权限之和。 角色 例如:管理员 可以访问的表与列 可访问所有表 角色B 完全控制权限 操作权限

7

优化

提示:分析并优化数据库的“时-空”效率,尽可能地“提高处理速度”并且“降低数 word版 整理

范文 范例 指导 参考

据占用空间”。 (1)分析“时-空”效率的瓶颈,找出优化对象(目标),并确定优先级。 (2)当优化对象(目标)之间存在对抗时,给出折衷方案。 (3)给出优化的具体措施,例如优化数据库环境参数,对表格进行反规范化处理等。 优先级 优化对象(目标) 措施

8

数据库管理与维护说明

提示:在设计数据库的时候,及时给出管理与维护本数据库的方法,有助于将来撰写出正确完备的用户手册。

word版 整理

因篇幅问题不能全部显示,请点此查看更多更全内容