电 子 商 务 网 站
数据库设计报告
文件状态: [√] 草稿 [ ] 正式发布 [ ] 正在修改 | 文件标识: | - Electron business sites -SD-DATABASE |
当前版本: | 1.0 | |
作 者: | 贾静 | |
完成日期: | 2007-6-1 |
Java0228班
版 本 历 史
版本/状态 | 作者 | 参与者 | 起止日期 | 备注 |
V1.0 | 贾静 | 贾静、查保林、郝明立 | 2007-6-1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
目 录
0. 文档介绍
本文档主要是针对需要管理以及维护数据库的用户提供说明和帮助。
0.1 文档目的
为了充分全面地了解本软件的功能需求,及有效地掌握控制好本软件的开发进程,以便软件用户、项目负责人、软件开发人员及软件支持人员对本软所具备的功能和工作量有一个初步的认识。实时地控制好程序设计进程,按预期目的完成程序设计任务。
0.2 文档范围
包括基本需求和其它需求两类。
0.3 读者对象
系统分析人员、系统设计人员、测试人员、开发人员
0.4 参考文献
无
0.5 术语与缩写解释
缩写、术语 | 解 释 |
SPP精简并行过程 | Simplified Parallel Process |
SD系统设计 | System Design |
|
|
|
|
|
|
1. 数据库环境说明
硬件:CPU AMD Sempron 3000+以上, 512M 内存, 80G 硬盘
软件:Windows XP Professional With SP2,Oracle 10g,Microsoft Visio 2003,PL/SQL Developer 7.0
2. 数据库的命名规则
【原则1-1】首先是为人编写程序,其次才是计算机。 说明:软件的生命周期贯穿产品的开发、测试、生产、用户使用、版本升级和后期维护等长期过程,只有易读、易维护的软件代码才具有生命力
【原则1-2】保持代码的简明清晰,避免过分的编程技巧。 说明:不要过分追求技巧,否则会降低程序的可读性。
【原则1-3】数据库编程时必须重点考虑效率。 说明:数据库编程和其他语言编程相比,对效率的要求更敏感;低效的SQL会导致占有数据库服务器大量的资源。
【原则1-4】脚本中所有SQL尽量遵循ANSI SQL标准。 说明:所有的SQL尽可能遵循ANSI SQL99标准。
【原则1-5】避免或少用各数据库中特有的语法或者同种数据库中不同版本中特有的语法。 说明:过多地使用各数据库中特有的语法或者同种数据库中不同版本中特有的语法,会导致程序的可移植性较差。
【原则1-6】尽可能复用、修正老的代码 。 说明:尽量选择可借用的代码,对其修改优化以达到自身要求。
【原则1-7】 尽量减少同样的错误出现的次数。 【原则1-8】 坚持零缺陷的开发思想,杜绝脚本文件中出现低级错误。
3. 逻辑设计
4. 物理设计
4.0 表汇总
表名 | 功能说明 |
用户信息表(userinfo) | 用户基本信息管理 |
一级商品分类表 (firstsort) | 一级商品分类信息管理 |
二级商品分类表(secondsort) | 二级商品分类信息管理 |
商品信息表 (goods) | 商品基本信息管理 |
商品库存表(storage) | 商品库存信息管理 |
销售表(sale) | 销售商品基本信息管理 |
管理员表(manager) | 管理员基本信息管理 |
中间表(middle) | 连接管理员表和权限表 |
权限表(purview) | 管理员权限信息管理 |
订单表 (orders) | 订单基本信息管理 |
商品评论表 (leaveword) | 评论基本信息管理 |
资讯表(news) | 新闻信息管理 |
公告表(placard) | 公告信息管理 |
转帐表(transfer) | 对转帐业务的处理 |
4.1订单表
表名 | orders(订单表) | ||
列名 | 数据类型(精度范围) | 空/非空 | 约束条件 |
oid (订单id) | Int | not null | unique,primary key |
ostate(订单状态) | char(1) | not null | ([ostate] = ‘0’or [ostate] = ‘1’or [ostate] = ‘2’) |
name (姓名) | Varchar(20) | not null |
|
address(地址) | Varchar(50) | not null |
|
tel(联系方式) | Varchar(20) | not null |
|
paytype(支付方式) | char(8) | not null | ([paytype] = ‘网上支付’or [paytype] = ‘邮汇’) |
riqi(订单日期) | date | not null |
|
money(付款金额) | Number(10,3) | not null |
|
pid(用户ID) | Int | not null | References person(pid) |
补充说明 | 状态0未付款未出货,状态1付款未出货,状态2付款已出货 |
4.2 用户信息表
表名 | Userinfo(用户信息表) | ||
列名 | 数据类型(精度范围) | 空/非空 | 约束条件 |
userid(用户ID) | int | not null | unique,primary key |
Name(用户登录名) | Varchar(20) | not null |
|
Password(密码) | Char(10) | not null |
|
Question(密码提示问题) | Varchar(30) | not null |
|
Answer(密码提示答案) | Varchar(30) | not null |
|
Realname(用户真实姓名) | Varchar(20) |
|
|
Sex(性别) | Char(2) |
| ([sex] = ‘男’or [sex] = ‘女’) |
Email(邮箱) | Varchar(20) | not null |
|
Id(身份证号) | Char(18) | not null |
|
Postalcode(邮政编码) | Char(6) |
|
|
Address(地址) | Varchar(30) |
|
|
Tel(联系电话) | Char(11) |
|
|
Score(积分) | Number(10,3) |
|
|
4.3商品信息表
表名 | goods (商品表) | ||
列名 | 数据类型(精度范围) | 空/非空 | 约束条件 |
Gid(商品ID) | int | not null | unique,primary key |
name(商品名子) | varchar(20) | not null |
|
Description(商品描述) | Varchar(100) | not null |
|
image(商品图片) | Varchar(50) | not null |
|
sid (商品二级分类ID) | int | not null | References secondsort(sid) |
4.4商品评论表
表名 | leaveword (商品评论表) | ||
列名 | 数据类型(精度范围) | 空/非空 | 约束条件 |
lid (评论ID) | int | not null | unique,primary key |
Message(评论信息) | varchar(100) | not null |
|
name(评论者) | Varchar(20) | not null |
|
riqi(评论日期) | date | not null |
|
gid (商品ID) | int | not null | References goods(gid) |
4.5销售表
表名 | Sale(销售表) | |||
列名 | 数据类型(精度范围) | 非空约束 | 主外键约束 | |
saleid (销售表ID) | INTEGER | not null | unique,primary key | |
gid (商品ID) | INTEGER | not null | references goods(gid) | |
scount (销售数量) | INTEGER | not null |
| |
oid(订单ID) | INTEGER | not null | references order(oid) | |
saleprice(出售价) | NUMBER | not null |
| |
state(发货状态) | CHAR(1) | not null | ([state] = ‘0’or [state] = ‘1’) | |
Riqi(订单/发货日期) | DATETIME | not null |
| |
补充说明 | 该表存放销售货物的信息.其中发货状态用0和1标示,0表示未发货,1表示已发货.由发货状态确定日期为订单日期还是发货日期 | |||
4.6商品一级分类表
表名 | Firstsort(商品一级分类表) | ||
列名 | 数据类型(精度范围) | 约束条件 | 主外键约束 |
fid (一级分类表ID) | INTEGER | not null | unique,primary key |
fname (分级名称) | VARCHARV(20) | not null |
|
补充说明 | 将商品分类 |
4.7商品二级分类表
表名 | Secondsort(商品二级分类表) | ||
列名 | 数据类型(精度范围) | 约束条件 | 主外键约束 |
sid (二级分类表ID) | INTEGER | not null | unique,primary key |
sname (分级名称) | VARCHAR(20) | not null |
|
fid(一级分类表ID) | INTEGER | not null | references firstsort(fid) |
补充说明 | 在一级分类的基础上对商品进行二级分类. |
4.8管理员表
表名 | Manager(管理员表) | ||
列名 | 数据类型(精度范围) | 约束条件 | 主外键约束 |
mid(管理员表ID) | INTEGER | not null | unique,primary key |
name(管理员名称) | VARCHAR(20) | not null |
|
password(密码) | VARCHAR(20) | not null |
|
补充说明 | 根据管理员权限分辨管理员的级别,从而实现不同的操作 |
4.9中间表
表名 | Middle(中间表) | ||
列名 | 数据类型(精度范围) | 约束条件 | 主外键约束 |
mid(管理员表ID) | INTEGER | not null | unique,primary key References manager(mid) |
Pid(权限表ID) | INTEGER | not null | unique,primary key References purview(pid) |
补充说明 | 连接管理员表和权限表 |
4.10权限表
表名 | purview(权限表) | ||
列名 | 数据类型(精度范围) | 约束条件 | 主外键约束 |
pid(权限表ID) | INTEGER | not null | unique,primary key |
Purview(权限描述) | CHAR(1) | not null | ([Purview] = ‘0’or [Purview] = ‘1’ [Purview] = ‘ 2’ ) |
补充说明 | 管理员有多种权限,0权限可以管理商品和商品分类和订单管理。 1 权限可以管理管理员和用户 2 权限可以管理销售统计
0普通管理员 02营销管理员 012系统管理员 |
4.11商品库存表
表名 | storage(商品库存表) | ||
列名 | 数据类型(精度范围) | 约束条件 | 主外键约束 |
Storageid(库存表ID) | INTEGER | not null | unique,primary key |
Gid(商品ID) | INTEGER | not null | References goods(gid) |
Inprice(进价) | NUMBER | not null |
|
Outprice(出价) | NUMBER | not null |
|
Count(库存数量) | INTEGER | not null |
|
补充说明 | 管理员有多种权限 |
4.12资讯表
表名 | news(资讯表) | ||
列名 | 数据类型(精度范围) | 约束条件 | 主外键约束 |
Nid(资讯表ID) | INTEGER | not null | unique,primary key |
Title(资讯标题) | VARCHAR2(50) | not null |
|
Content(资讯内容) | VARCHAR2(1000) | not null |
|
Riqi(资讯日期) | DATE | not null |
|
补充说明 |
|
4.13公告表
表名 | placard(公告表) | ||
列名 | 数据类型(精度范围) | 约束条件 | 主外键约束 |
Placard(公告号ID) | INTEGER | not null | unique,primary key |
Messages(公告内容) | VARCHAR2(300) | not null |
|
Riqi(发公告时间) | DATE | not null |
|
补充说明 |
|
4.14转帐表
表名 | transfer(转帐表) | ||
列名 | 数据类型(精度范围) | 约束条件 | 主外键约束 |
Aid(库存表ID) | INTEGER | not null | unique,primary key |
Account(帐户名称) | CHAR(19) | not null |
|
Password(帐户密码 | CHAR(6) | not null |
|
Balance(帐户余额) | DOUBLE | not null |
|
补充说明 |
|
5.数据库管理与维护说明
在设计数据库的时候,完全根据命名规范来定义数据库名以及字段名等等。出现问题有专人管理数据库及时修改更正,以及定义数据库管理和使用方法,以便更好的操作本项目和攥写用户操作手册。