1、网上商城项目数据库表 注册用户表 字段名 数据类型 是否为空 默认值 说明 UserID (主键) integer identity 注册用户ID UserName nvarchar(50) null 注册用户用户名 UserPwd nvarchar(50) null 注册用户密码 PwdQuestion nvarchar(100) null 注册用户密码提问 PwdAnswer nvarchar(100) null 注册用户密码回答 UserRealName nvarchar(50) null 注册用户真实姓
2、名 UserSex nvarchar(5) null 注册用户性别 UserAge nvarchar(5) null 注册用户年龄 UserOccupation nvarchar(20) null 注册用户工作职业 UserIncome nvarchar(20) null 注册用户个人收入 UserEducation nvarchar(20) null 注册用户最高学历 UserEmail nvarchar(100) null 注册用户电子邮件 UserTelphone nvarchar(20) null 注册
3、用户固定电话 UserMobile nvarchar(11) null 注册用户移动电话 UserProvince nvarchar(20) null 注册用户所在省份 UserCity nvarchar(50) null 注册用户所在城市 UserAddress nvarchar(100) null 注册用户邮政编码 UserVIP integer null default 0 注册用户是否VIP UserCheck integer null default 1 注册用户是否审核 UserPoint integer n
4、ull default 100 注册用户商城积分 UserVisitCount integer null default 1 注册用户访问次数 UserLastVisitTime datetime null default getdate() 注册用户最后访问时间 UserLastVisitIP nvarchar(20) null 注册用户最后访问IP UserCreateTime datetime null default getdate() 注册用户注册时间 用户访问日志表 字段名 数据类型 是否为空 默认值 说明 LogID
5、 integer identity 日志ID UserName nvarchar(50) null 访问用户名 VisitIP nvarchar(20) null 访问IP VisitTime datetime null default getdate() 访问时间 管理员表 字段名 数据类型 是否为空 默认值 说明 ManagerID integer identity 管理员ID ManagerName nvarchar(50) null 管理员用户名 ManagerPwd nvarc
6、har(50) null 管理员密码 ManagerType integer null 管理员类型 ManagerText nvarchar(250) null 管理员描述 ManagerCheck integer null default 1 管理员是否审核 ManagerVisitCount integer null default 1 管理员访问次数 ManagerLastVisitTime datetime null default getdate() 管理员最后访问时间 ManagerLastVisitIP nvarc
7、har(20) null 管理员最后访问IP ManagerCreateTime datetime null d efault getdate() 管理员录入时间 商品二级分类表 字段名 数据类型 是否为空 默认值 说明 BorderID integer identity 二级分类ID TypeID integer null 一级分类ID BorderName nvarchar(50) null 二级分类名称 BorderText nvarchar(250) null 二级分类描述 BorderOrde
8、r integer null default 0 二级分类显示级别 BorderCheck integer null default 0 二级分类显示校验 BorderTime datetime null default getdate() 二级分类录入时间 商品信息表 字段名 数据类型 是否为空 默认值 说明 GoodsID integer identity 商品ID TypeID integer null 商品一级分类ID BorderID integer null 商品二级分类ID
9、GoodsCode nvarchar(100) null 商品编号 GoodsTypeCode nvarchar(100) null 商品型号 GoodsName nvarchar(100) null 商品名称 GoodsKeys nvarchar(100) null 商品关键字 GoodsText nvarchar(250) null 商品简介 GoodsContent text null 商品描述 GoodsPicSmall nvarchar(150) null 商品小图片 Go
10、odsPicLarge nvarchar(150) null 商品大图片 GoodsPT nvarchar(50) null 商品品牌 GoodsPriceShop money null 商品市场价 GoodsPriceUser money null 商品优惠价 GoodsPriceVIP money null 商品VIP价 GoodsPricePer integer null 商品折扣数 GoodsOnTime datetime null default getdate() 商品上市时间
11、 GoodsIsNew integer null default 1 商品是否新品 GoodsIsVouch integer null default 1 商品是否推荐 GoodsOrder integer null default 0 商品显示级别 GoodsCheck integer null default 0 商品是否审核 GoodsCheckAdmin nvarchar(50) null 商品审核员 GoodsHits integer null default 0 商品点击数 GoodsRevi
12、ews integer null default 0 商品评论数 GoodsOrderNum integer null default 0 商品下单数 GoodsBuyNum integer null default 0 商品卖出数 GoodsInTime datetime null default getdate() 商品录入时间 商品评论表 字段名 数据类型 是否为空 默认值 说明 ReviewID integer identity 评论ID GoodsID integer null 商
13、品ID UserName nvarchar(50) null 评论用户名 UserIP nvarchar(20) null 评论用户IP ReviewText text null 评论内容 ReviewCheck integer null default 1 评论是否审核 ReviewTime datetime null default getdate() 评论时间 购物车记录表 字段名 数据类型 是否为空 默认值 说明 ShoppingCartID integer identity
14、购物车ID UserID integer null 注册用户ID UserCookID nvarchar(20) null 购物车临时CookID UserIP nvarchar(20) null 用户IP地址 GoodsID integer null 商品ID GoodsName nvarchar(100) null 商品名称 GoodsPriceShop money null 商品市场价 GoodsPriceUser money null 商品会员价 GoodsNumber i
15、nteger null default 1 商品购买数量 ShoppingCheck integer null default 0 商品审核 ShoppingTime datetime null default getdate() 购物时间 收藏夹记录表 字段名 数据类型 是否为空 默认值 说明 CollectID integer identity 记录ID UserID integer null 注册用户ID GoodsID integer null 商品ID GoodsName nv
16、archar(100) null 商品名 GoodsPriceShop money null 商品市场价 GoodsPriceUser money null 商品优惠价 CollectTime datetime null default getdate() 收藏记录时间 购物订单记录表 字段名 数据类型 是否为空 默认值 说明 OrderID integer identity 记录ID UserID integer null 注册用户ID UserCookID nvarchar(20)
17、 null 购物车临时CookID OrderUserRealName nvarchar(50) null 收货人姓名 OrderUserSex n varchar(5) null 收货人性别 OrderUserAddress nvarchar(250) null 收货人详细地址 OrderUserPostcode nvarchar(6) null 收货人邮政编码 OrderUserTelphone nvarchar(20) null 收货人联系电话 OrderUserEmail nvarchar(100)
18、 null 收货人电子邮件 OrderGoodsSendType nvarchar(50) null 送货方式 OrderMoneyPayType nvarchar(50) null 付款方式 OrderWeight integer null default 1 订单状态 OrderTime datetime null default getdate() 下单时间 商品库存表 字段名 数据类型 是否为空 默认值 说明 GoodsSaveID integer identity 库存ID
19、GoodsID integer null 商品ID GoodsName nvarchar(100) null 商品名称 SaveNum integer null default 0 商品库存数量 SaveAddNum integer null default 0 商品增加数量 SaveTime datetime null default getdate() 商品入库时间 SaveAddTime datetime null default getdate() 商品增加时间 商品库存配置表 字段名
20、数据类型 是否为空 默认值 说明 GoodsSaveInfoID integer identity 库存配置ID AllNum integer null 商品满库数量 AlertNum integer null 库存预警数量 AddTime datetime null default getdate() 配置创建时间 ***************************************************** ' 添加商品记录同步添加库存记录的触发器 '**************
21、 IF EXISTS (SELECT name FROM sysobjects WHERE name = 'AddGoodsInfo' AND type = 'TR') DROP TRIGGER AddGoodsInfo GO CREATE TRIGGER AddGoodsInfo ON [dbo].[GoodsInfo] FOR INSERT AS INSERT INTO GoodsSave select GoodsID,GoodsName,0,0,getdate(),getdate() from
22、inserted GO '***************************************************** ' 删除商品记录同步删除库存记录的触发器 '***************************************************** IF EXISTS (SELECT name FROM sysobjects WHERE name = 'DelGoodsInfo' AND type = 'TR') DROP TRIGGER DelGoodsInfo GO CREATE TRIGGER DelGoodsInfo
23、 ON [dbo].[GoodsInfo] FOR DELETE AS DELETE from GoodsSave where GoodsID = (SELECT GoodsID FROM deleted) GO '***************************************************** ' 重新同步商品在库存表中的对应记录的存储过程 '***************************************************** CREATE PROCEDURE BindGoodsToSave AS IF
24、 EXISTS (SELECT name FROM sysobjects WHERE name = 'GoodsSave' AND type = 'U') BEGIN DROP TABLE GoodsSave create table GoodsSave ( GoodsSaveID integer identity, GoodsID integer null, GoodsName nvarchar(100) null, SaveNum integer null default 0, SaveAddNum integer null default 0, SaveTime dat
25、etime null default getdate(), SaveAddTime datetime null default getdate(), constraint PK_GOODSSAVE primary key (GoodsSaveID) ) END ELSE BEGIN create table GoodsSave ( GoodsSaveID integer identity, GoodsID integer null, GoodsName nvarchar(100) null, SaveNum integer null default 0, SaveAd
26、dNum integer null default 0, SaveTime datetime null default getdate(), SaveAddTime datetime null default getdate(), constraint PK_GOODSSAVE primary key (GoodsSaveID) ) END INSERT INTO GoodsSave(GoodsID,GoodsName) select GoodsID,GoodsName from GoodsInfo order by GoodsID GO '*****************
27、 ' 按日期和月份统计注册人数的存储过程 '***************************************************** CREATE procedure GetRegUsers @id int AS declare @table table(ID int IDENTITY(1,1),RegDate nvarchar(10),RegNum int) declare @tempId int --临时表记录ID declare @tempRegDate nvarcha
28、r(10) --临时表日期 set nocount on if (@id = 0) begin insert into @table(RegDate) select distinct convert(char(10),UserCreateTime,120) from Users order by convert(char(10),UserCreateTime,120) desc declare _cursor cursor for select Id,RegDate from @table open _cursor fetch next from _cursor into
29、@tempId,@tempRegDate while @@fetch_status = 0 begin update @table set RegNum=(select count(UserID) from Users where convert(char(10),UserCreateTime,120) = @tempRegDate) where ID = @tempId fetch next from _cursor into @tempId,@tempRegDate end close _cursor deallocate _cursor end else beg
30、in insert into @table(RegDate) select distinct convert(char(7),UserCreateTime,120) from Users order by convert(char(7),UserCreateTime,120) desc declare _cursor cursor for select Id,RegDate from @table open _cursor fetch next from _cursor into @tempId,@tempRegDate while @@fetch_status = 0 begi
31、n update @table set RegNum=(select count(UserID) from Users where convert(char(7),UserCreateTime,120) = @tempRegDate) where ID = @tempId fetch next from _cursor into @tempId,@tempRegDate end close _cursor deallocate _cursor end set nocount off select * from @table where RegDate is not nul
32、l GO '***************************************************** ' 按日期和月份统计用户订单的存储过程 '***************************************************** CREATE procedure GetUserOrders @id int AS declare @table table(ID int IDENTITY(1,1),RegDate nvarchar(10),RegNum int) decl
33、are @tempId int --临时表记录ID declare @tempRegDate nvarchar(10) --临时表日期 set nocount on if (@id = 0) begin insert into @table(RegDate) select distinct convert(char(10),OrderTime,120) from GoodsOrder order by convert(char(10),OrderTime,120) desc declare _cursor cursor for select Id,RegDate from @t
34、able open _cursor fetch next from _cursor into @tempId,@tempRegDate while @@fetch_status = 0 begin update @table set RegNum=(select count(UserID) from GoodsOrder where convert(char(10),OrderTime,120) = @tempRegDate) where ID = @tempId fetch next from _cursor into @tempId,@tempRegDate end c
35、lose _cursor deallocate _cursor end else begin insert into @table(RegDate) select distinct convert(char(7),OrderTime,120) from GoodsOrder order by convert(char(7),OrderTime,120) desc declare _cursor cursor for select Id,RegDate from @table open _cursor fetch next from _cursor into @tempId,
36、@tempRegDate while @@fetch_status = 0 begin update @table set RegNum=(select count(UserID) from GoodsOrder where convert(char(7),OrderTime,120) = @tempRegDate) where ID = @tempId fetch next from _cursor into @tempId,@tempRegDate end close _cursor deallocate _cursor end set nocount off select * from @table where RegDate is not null GO






