网上购物系统ASP.NET 第3页
第二章 数据库模式设计
2.4 数据库管理系统
数据库系统是一个多级结构,需要定义各级上的模式,这就需要一组软件提供相应的定义工具;数据库为了保证其中的数据安全和一致性,必须有一套软件来完成相应的控制和管理任务,这样的软件称为数据库管理系统,即DBMS。
数据库访问技术将数据库外部与其通信的过程抽象化,通过提供访问接口,简化了客户端访问数据库的过程。一个好的数据库访问接口就好象程序代码的放大镜,如图3所示。
客户代码 数据库接口 调用的数据库代码
图3 数据库访问接口
2.5 IIS简介
Microsoft IIS是在Windows 2000下的Internet服务器,是Windows 2000系统自带的WEB服务器软件包。IIS包括多中产品,除了WEB服务器外,还有FTP服务器、Gopher 服务器等。
IIS是Microsoft公司的一种集成多种Internet服务的WEB服务软件,由于是同一公司的产品IIS和Windows 2000 Server紧密的集成在一起,我们可充分利用Windows 2000的多种功能,例如安全性、多线程等。其主要特性可归纳为以下几个方面:
IIS的安全性是以Windows 2000的NTFS的安全机制为基础的,可以实现用US构建的WEB站点的安全性
IIS支持与开发语言无关的脚本以及组件
IIS完全支持Javascript、Microsoft Visual Basic编程系统、Microsoft script 开发软件以及及Java组件也支持CGI和WinVGI的WEB 应用程序,以及ISPI扩展和过滤器等
IIS是完全免费提供的产品,可免费升级
方便的架设WEB服务器
如今,IIS与ASP.NET的关系十分密切,交互式主页(Active Server Page)是基于微软Internet Information Server使用的ActiveX Scripting 引擎,它允许开发者直接在HTML content插入可在服务端运行的script。我们可通过图4表示。
3 数据库表设计
数据库是设计网站必不可少的后台支持,在设计数据库表结构之前,首先要创建一个数据库,在我们的网上购物系统中,我们定义这个数据库为WEB。该数据库中包含了11张表:用户资料表aspnet_Membership, aspnet_Roles 用户角色表, 表:aspnet_UsersInRoles 用户所在的角色表, 表:bookid_name,bookid_sellshuliang商品卖出数量表,jiaoyi交易表,
Jyt交易纪录表,pinlun评论表,shuliang商品数量表,zhekou商品折扣表,whopinlun用户评论表。
数据库关系图
3.1下面分别介绍一下这些表的结构。
表1 用户资料表
表:aspnet_Membership
序号 |
字段名 |
类型 |
长度 |
精度 |
小数位数 |
默认值 |
允许空 |
主键 |
说明 |
1 |
ApplicationId |
uniqueidentifier |
16 |
|
|
|
|
|
机器码 |
2 |
UserId |
uniqueidentifier |
16 |
|
|
|
|
√ |
用户ID |
3 |
Password |
nvarchar |
128 |
|
|
|
|
|
密码 |
4 |
PasswordFormat |
int |
4 |
|
|
((0)) |
|
|
密码格式 |
5 |
PasswordSalt |
nvarchar |
128 |
|
|
|
|
|
|
6 |
MobilePIN |
nvarchar |
16 |
|
|
|
√ |
|
|
7 |
Email |
nvarchar |
256 |
|
|
|
√ |
|
电子邮箱 |
8 |
LoweredEmail |
nvarchar |
256 |
|
|
|
√ |
|
电子邮箱 |
9 |
PasswordQuestion |
nvarchar |
256 |
|
|
|
√ |
|
密码问题 |
10 |
PasswordAnswer |
nvarchar |
128 |
|
|
|
√ |
|
密码格式 |
11 |
IsApproved |
bit |
1 |
|
|
|
|
|
|
12 |
IsLockedOut |
bit |
1 |
|
|
|
|
|
是否锁 |
13 |
CreateDate |
datetime |
8 |
|
|
|
|
|
创建数据时间 |
14 |
LastLoginDate |
datetime |
8 |
|
|
|
|
|
最后的登陆时间 |
15 |
LastPasswordChangedDate |
datetime |
8 |
|
|
|
|
|
是最后修改时间 |
16 |
LastLockoutDate |
datetime |
8 |
|
|
|
|
|
最后访问时间 |
17 |
FailedPasswordAttemptCount |
int |
4 |
|
|
|
|
|
密码错误次数 |
18 |
FailedPasswordAttemptWindowStart |
datetime |
8 |
|
|
|
|
|
时间 |
19 |
FailedPasswordAnswerAttemptCount |
int |
4 |
|
|
|
|
|
格式 |
20 |
FailedPasswordAnswerAttemptWindowStart |
datetime |
8 |
|
|
|
|
|
时间 |
21 |
Comment |
ntext |
3000 |
|
|
|
√ |
|
命令 |
2) 访表:aspnet_Roles 用户角色表
序号 |
字段名 |
类型 |
长度 |
精度 |
小数位数 |
默认值 |
允许空 |
主键 |
说明 |
1 |
ApplicationId |
uniqueidentifier |
16 |
|
|
|
|
|
机器码 |
2 |
RoleId |
uniqueidentifier |
16 |
|
|
(newid()) |
|
√ |
角色ID |
3 |
RoleName |
nvarchar |
256 |
|
|
|
|
|
角色名 |
4 |
LoweredRoleName |
nvarchar |
256 |
|
|
|
|
|
最长的角色名 |
5 |
Description |
nvarchar |
256 |
|
|
|
√ |
|
说明 |
3) 表:aspnet_UsersInRoles 用户所在的角色表
序号 |
字段名 |
类型 |
长度 |
精度 |
小数位数 |
默认值 |
允许空 |
主键 |
说明 |
1 |
UserId |
uniqueidentifier |
16 |
|
|
|
|
√ |
用户ID |
2 |
RoleId |
uniqueidentifier |
16 |
|
|
|
|
√ |
角色ID |
4) 表:userziliao 用户基本表。
序号 |
字段名 |
类型 |
长度 |
精度 |
小数位数 |
默认值 |
允许空 |
主键 |
说明 |
1 |
id |
uniqueidentifier |
16 |
|
|
|
|
|
用户ID |
2 |
money |
int |
4 |
|
|
|
√ |
|
用户金钱数 |
3 |
dengji |
int |
4 |
|
|
((1)) |
√ |
|
用户等级 |
5) 表:bookid_name
该表用来保存商品ID 和 商品名。
序号 |
字段名 |
类型 |
长度 |
精度 |
小数位数 |
默认值 |
允许空 |
主键 |
说明 |
1 |
bookid |
int |
4 |
|
|
|
|
√ |
商品ID |
2 |
bookname |
nvarchar |
30 |
|
|
|
|
|
商品名 |
6) 表:bookid_sellshuliang
该表用来保存商品买出的数量。
序号 |
字段名 |
类型 |
长度 |
精度 |
小数位数 |
默认值 |
允许空 |
主键 |
说明 |
1 |
bookid |
int |
4 |
|
|
|
|
√ |
商品ID |
2 |
sellshuliang |
int |
4 |
|
|
|
|
|
卖出数量。 |
7) 表:jiaoyi
该表用来保存用户购买商品总数。
序号 |
字段名 |
类型 |
长度 |
精度 |
小数位数 |
默认值 |
允许空 |
主键 |
说明 |
1 |
userid |
uniqueidentifier |
16 |
|
|
|
|
√ |
用户ID |
2 |
shuliang |
int |
4 |
|
|
((0)) |
|
|
购物物品数量 |
3 |
jiage |
int |
4 |
|
|
((0)) |
|
|
原价 |
4 |
jiage2 |
int |
4 |
|
|
((0)) |
|
|
打折后的价 |
5 |
dengji |
int |
4 |
|
|
((1)) |
|
|
用户等级 |
6 |
money |
int |
4 |
|
|
((0)) |
|
|
钱 |
8)表:jyt
该表用来保存所有用户购买的纪录。
序号 |
字段名 |
类型 |
长度 |
精度 |
小数位数 |
默认值 |
允许空 |
主键 |
说明 |
1 |
userid |
uniqueidentifier |
16 |
|
|
|
|
|
用户ID |
2 |
bookname |
nvarchar |
30 |
|
|
|
√ |
|
商品名 |
3 |
shuliang |
int |
4 |
|
|
|
√ |
|
数量 |
4 |
jiage |
int |
4 |
|
|
|
√ |
|
原价 |
5 |
shijian |
datetime |
8 |
|
|
(getdate()) |
√ |
|
时间 |
9)表:pinlun
该表用来保存商品的评论。
序号 |
字段名 |
类型 |
长度 |
精度 |
小数位数 |
默认值 |
允许空 |
主键 |
说明 |
1 |
id |
int |
4 |
|
|
|
|
√ |
主键 |
2 |
name |
nvarchar |
256 |
|
|
|
|
|
名称 |
3 |
shijian |
datetime |
8 |
|
|
(getdate()) |
|
|
发布时间 |
4 |
neirong |
nvarchar |
0 |
|
|
|
√ |
|
内容 |
5 |
bookid |
int |
4 |
|
|
|
|
|
商品ID |
6 |
zhuti |
varchar |
30 |
|
|
('无') |
|
|
主题 |
7 |
good |
int |
4 |
|
|
((0)) |
√ |
|
评论好的个数 |
8 |
nogood |
int |
4 |
|
|
((0)) |
√ |
|
评论坏的个数 |
9 |
dengji |
tinyint |
1 |
|
|
|
√ |
|
等级 |
10)表:shuliang
该表用来保存商品的数量
序号 |
字段名 |
类型 |
长度 |
精度 |
小数位数 |
默认值 |
允许空 |
主键 |
说明 |
1 |
bookid |
int |
4 |
|
|
|
|
√ |
商品ID |
2 |
shuliang |
int |
4 |
|
|
|
|
|
数量 |
11)表:zhekou
该表用来保存商品的折扣,以及原价信息。
序号 |
字段名 |
类型 |
长度 |
精度 |
小数位数 |
默认值 |
允许空 |
主键 |
说明 |
1 |
bookid |
int |
4 |
|
|
|
|
√ |
商品ID |
2 |
jiage |
int |
4 |
|
|
|
|
|
商品价格 |
3 |
zhekou |
int |
4 |
|
|
|
|
|
商品折扣数 |
10)表:whopinlun
该表用来保存哪个用户对哪个评论发表过意见,以避免重复评论。
序号 |
字段名 |
类型 |
长度 |
精度 |
小数位数 |
默认值 |
允许空 |
主键 |
说明 |
1 |
id |
int |
4 |
|
|
|
|
|
ID |
2 |
username |
nvarchar |
256 |
|
|
|
|
|
用户名 |
3 |
shijian |
datetime |
8 |
|
|
(getdate()) |
|
|
发布时间 |
上一页 [1] [2] [3] [4] [5] [6] [7] 下一页