名称市场价优惠价参考图片描述图书ID图书销售数量
图3.5实体属性图-图书
以上分析,该书店订购系统的总体E-R图关系为:管理员可以对用户、订单、图书进行分类管理。他们之间产生了关联,其明确关系如下图3.6所示。
1用户N生成N订单N管理11购买管理员1N管理MN图书管理 图3.6总体实体-联系图
以上是实体联系图,它们之间的关系是:多个用户可以购买多本图书,多本图书可以被多个用户购买,一个用户可以生成多个订单。一个管理员可以管理多个用户,一个管理员可以管理多本图书,一个管理员可以管理多个订单。
11
3.4 系统数据库设计
3.4.1数据库各表简述
经需求分析,这个系统将用SQL Server 2008当作数据库开发平台,系统的数据库名字是:sq_chaletshop,其拥有八个数据库表,分别为:dbo.admin(后台管理员管理表)、board(公告内容表)、category_up(商品的类别表)、comment(用户评论的信息表)、orderinfo(订单信息表)、product(书库产品分类表)、shipinfo(发货详细信息表)、users(前台会员详细资料表)。 3.4.2数据库各表设计
(1)后台管理员管理表:admin
用来存放管理员个人的注册信息,如表3.1所示。
表3.1 管理员表
字段名 id username password 数据类型 int varchar varchar 字段大小
2 50 50 是否为空值 not null null null 简介 主键id增加 管理员用户名 管理员密码
(2)公告内容表:board
用来存放发表的公告内容,如表3.2所示。
表3.2 公告文本信息表
字段名 id msgcontext
数据类型 int text 字段大小
4 50 是否为空值 not null null 简介 主键id增加 公告标题
(3)商品的类别信息表:category_up
用来存放商品的类别信息,如下表3.3所示。
表3.3商品的类别信息表
字段名 数据类型 字段大小 是否为空值 id int 4 not null big_name varchar 50 null (4)用户评论的信息表:comment
用来存放用户评论后的详细内容,如下表3.4所示。
表3.4用户评论的信息表
简介 主键id增加 公告标题
字段名 CommentID Comment_Username Comment_Content Comment_ProductID Comment_Addtime
数据类型 int nvarchar text int datatime 大小 2 50 4
12
是否允许为空 简介 not null 评论数量id null 评论人名字 null 评论的内容 null 评论商品编号 null 时间自动更新
(5)订单详细统计表:orderinfo
用户购买产品后,所产生的订单信息进行统计,在把所得信息存放在该表中;如图书的销售总价等。具体用下表3.5表示。
表3.5订单详细统计表
字段名 id styleno product_id productpic quantity unitprice subtotal orderid email address dddd
数据类型 int nvarchar int varchar int numeric numeric varchar varchar text varchar
大小 2 50 50 100 50 (18, 0) (18, 0) 50 50 50 是否允许为空 简介 not null 主键id增加 null 图书标题 null 商品的编号 null 商品图片来源 null 统计销售数量 null 价格
图书销售总价
null
格
null 订单号 null 电子邮件 null 联系地址 null 收货时间
(6)书库商品分类表:product
用来存放管理员所添加的所有图书详细信息,用下表3.6来表示。
表3.6订单信息表
字段名 id productpic category_up_id
styleno nprice wprice description sales_amount
数据类型 int nvarchar int varchar numeric numeric varchar int 大小 2 100 50 50 (18, 2) (18, 2) 200 是否允许为空 简介 not null 主键id增加 null 图片来源 null 图书类别编号 null 书名 null 市场价 null 折后价 null 图书描述 null 销售数量
13
(7)订单信息表:shipinfo
用户下订单时,会有大量数据生成,这些数据就存放在该表中,用下表3.7表示。
表3.7订单信息表 字段名 数据类型 大小 是否允许为空 简介 ship_id int 2 not null 订单编号 orderid int 4 null 订单顺序 orderdate datetime 50 null 订单日期 status varchar 50 null 收发状态 name varchar 50 null 用户名 email varchar 50 null 电子邮件 phone1 varchar 50 null 联系电话 address varchar 50 null 详细地址 dddd varchar 50 null 收货时间 DropDownList1 nvarchar 50 null 付款方式
(8)前台用户详细资料表:users
用户进行注册网站时,也会有大量的数据产生,该表起到的作用就是 存放这些数据。具体表示如下表3.8所示。
表3.8订单信息表
字段名 id fname sex address age ID2 phone fax email password Regtime
数据类型 int varchar varchar varchar varchar varchar varchar varchar varchar varchar text 大小 2 50 10 100 50 50 20 50 50 50 50 是否允许为空 not null null null null null null null null null null null 简介 主键id增加 注册名称 性别 详细地址 年龄 身份证号码 电话号码 传真 电子邮件 密码设置 注册时间
14
第四章 网站详细设计与实现
4.1数据库连接
开发该系统时,需要用到很多个数据库,在对这些数据库连接时,不可能去一个一个连接,这样的连接方式既会使系统运行缓慢、也会产生大量多余字符给系统增添冗余。此外,在后期维护上也会增添难度。所以,我们就得用一个配置文件来把这些数据库放在一起管理。这样,当数据有所变动时,只用在配置文件中修改就行。该系统配置文件名为:web.config。具体配置如下。
(1)在web.config配置文件对行数据库配置,代码如下所示:
connectionString=\Source=.;database=sq_chaletshop;Integrated Security=True;” providerName=\ (2)进行数据库连接,要用到using System.Data.SqlClient;这个域名空间。以下为数据库连接的主要代码在DB.cs类里编写:
SqlConnection con=new
SqlConnection(ConfigurationMangaer.ConnectionStrings[\ng\
4.2网站前台功能模块详细设计与实现
4.2.1用户自定义控件(usercontrol)说明
网上书店在线订购系统采用用户自定义控件,它可以重载HTML的代码,从而更好的实现代码的重复使用,且使用灵活、操作方便,但是用户自定义控件它是不能进行单个访问的,必须放在其他页面上才能对它进行访问。它在本网页设计中主要框架导入由:Top.ascx(顶部框架),left.ascx(左边框架),whatnew.ascx(中间框架-新书上架),Bottom.ascx(底部框架)构成。以下是对这几个框架的介绍:
(1)Top.ascx:导航及标题模板用嵌套表显示,顶部标题用到数据绑定datalist控件,读取数据表category_up中的数据,通过<%#Eval(\传递(id,big_name为数据库库表单字段名)。左侧注册/登陆模块显示用到lable标签、textbox文本框、bottom按钮,当用户点击注册按钮是就会跳出另一个页面。右边还用到img控件显示图片,显示名言。点击关键字搜索时,中间部分就会显示被搜内容。
(2)left.ascx:中间左部分,用了img图片控件,公告部分由管理员发布,再存入到表board中,然后就是畅销书排行榜它同样也用到datalist控件来绑定,再从数据库表中读取图书名和销售的数量。
15