1.麻烦大家 帮我看下有没有设计部不理 或者不规范的 尤其是商品类型分类的时候 感觉性能不高
2.怎么提高搜索的性能 具体一点 最好能结合这个数据库说
3.如果搜索在页面里 "黑色 外套" 那我应该怎么写select 语句呢 用空格截取然后拼接 模糊查询吗?
4.商品类型表中0 是默认未分类的类型
那如果商品类型分类用自增 那如果我把它的父级分类删除了 怎么修改为0呢 就是未分类类型
因为是自增 所以只能删除 并不能修改啊
如果不用自增 但是我又不想每次插入我都要自己写ID上去
所以我想用 select max(id) from xxx表 然后加一 这种方式自动插入行吗(存储过程里)
下面是数据库
use master
go
if exists(select 1 from sysdatabases where name='Kamee_Databases')
    begin
        drop database Kamee_Databases
    end
go
create database Kamee_Databases
go
use Kamee_Databases
go
-- 商品类型 --
create Table GoodsCategory  
(
[GoodsCategory_Id]  int identity (1, 1),
[GoodsCategory_Name] nvarchar(20) 
)
go
-- 商品类型1级分类 --
create Table GoodsCategoryFirstSort 
(
[GoodsCategory_Id] int ,/*商品类型分类 外键*/
[GoodsCategoryFirstSort_Id] int identity (1, 1),/*商品类型1级分类 编号*/
[GoodsCategoryFirstSort_Name] nvarchar(20)     /*商品类型1级分类 名称*/
)
go
-- 商品类型2级分类 --
create Table GoodsCategorySecondSort 
(
[GoodsCategoryFirstSort_Id]  int ,/*商品类型1级分类 外键*/
[GoodsCategorySecondSort_Id] int identity (1, 1),
[GoodsCategorySecondSort_Name] nvarchar(20) 
)
go
-- 商品类型最后一级分类 --
create Table GoodsCategoryLastSort 
(
[GoodsCategorySecondSort_Id] int ,/*商品类型2级分类 外键*/
[GoodsCategoryLastSort_Id]  int identity (1, 1),
[GoodsCategoryLastSort_Name] nvarchar(20) 
)
go
-- 品牌 --
create Table Brand 
(
[Brand_Id] int identity (1, 1), /*品牌编号*/
[Brand_Name] nvarchar(20), /*品牌名称*/
[Brand_Describe] nvarchar(200), /*品牌描述*/
[Brand_LogoImg] nvarchar(200) /*品牌Logo*/
)go
-- 商品 --
create Table Goods 
(
[GoodsCategory_Id]  int, /*商品类型  外键*/
[GoodsCategoryFirstSort_Id]  int, /*商品类型1级分类 外键*/
[GoodsCategorySecondSort_Id] int, /*商品类型2级分类 外键*/
[GoodsCategoryLastSort_Id]   int, /*商品类型最后一级分类 外键*/
[Brand_Id] int, /*品牌外键*/
[Goods_Id] int primary key  identity(0,1),  /*商品编号*/
[Goods_Name]  nvarchar(50), /*商品名称*/
[Goods_Count] int, /*库存数量*/
[Goods_IsPrompt] bit default 0, /*是否优惠*/
[Price] decimal(18, 2) NOT NULL, /*商品进货价格*/
    [Goods_ListPrice] decimal(18, 2) NOT NULL, /*商品标价 */
[Goods_Hot] int, /*商品热度*/
[Goods_TitleimgUrl] nvarchar(200), /*标题图片*/
[Goods_RegisterTime] smalldatetime  default getdate() /*商品注册时间*/

)
go
-- 商品属性 --
create Table Describe
(
[Describe_Id] int identity (1, 1), /*商品属性编号*/
[Describe_Name] nvarchar(20), /*商品特殊属性名称*/
)
go
-- 商品属性的描述 --
create Table GoodsDescribe
(
[Goods_Id] int , /*商品编号*/
[Describe_Id] int, /*商品属性编号*/
[GoodsDescribe_Value] nvarchar(100) /*商品特殊属性描述*/
)
go
-- 商品图片信息 --
create Table GoodsImage
(
[Goods_Id] int, /*商品编号*/
[GoodsImage_Path] nvarchar(200)  NOT NULL /*图片地址*/
)
go
-- 商品评价 --
create Table GoodsReview
(
[GoodsReview_ID] int identity (1, 1) NOT NULL, /*评价流水号*/
[Goods_Id] int NOT NULL, /*商品编号*/
[User_ID]  nvarchar(50) NOT NULL, /*用户编号*/
[User_Name] nvarchar(50)  NOT NULL, /*用户姓名*/
[GoodsReview_Title] nvarchar(20) NOT NULL, /*评价标题*/
[Comments] nvarchar(200) NOT NULL, /*评价内容*/
[GoodsReview_score] float NOT NULL , /*评分*/
[GoodsReview_Date] smalldatetime default getdate() NOT NULL  /*评价时间*/
)
go
-- 快递 --
create Table  ExpressDelivery 
(
[ExpressDelivery_Id] int primary key identity(1,1), /*快递编号*/
[ExpressDelivery_Location] nvarchar(50) NOT NULL  /*快递地址*/)
-- 商品快递报价 --
create Table ExpressDeliveryWithGoods 
(
[Goods_Id] int, /*商品编号*/
[ExpressDelivery_Id] int, /*快递编号*/
[ExpressDelivery_Carriage]   money ,/*快递运费价格*/
[ExpressDelivery_EMSCarriage] money  /*EMS快递运费价格*/
)go/* 测试数据*/
-- 插入商品类型 --
insert GoodsCategory values('衣服')
-- 插入商品类型1级分类 --
insert GoodsCategoryFirstSort values(1,'女装')
-- 插入商品类型2级分类 --
insert GoodsCategorySecondSort values(1,'上衣')
-- 插入商品类型最后1级分类 --
insert GoodsCategoryLastSort values(1,'西装')
-- 插入商品 品牌 --
insert Brand values('Armani/阿玛尼','阿玛尼是世界著名时装品牌,1975年由时尚设计大师乔治·阿玛尼(Giorgio Armani)创立于米兰,乔治·阿玛尼是在美国销量最大的欧洲设计师品牌,他以使用新型面料及优良制作而闻名','ArmaniLogo.jpg')
-- 插入 商品 --
insert Goods values(1,1,1,1,1,'女装 Armani/阿玛尼 新款 修身OL 黑色 长袖 小西装',100,0,8000,15000,0,'http://img.kemee.com/yy/ArmaniTitle.jpg',getdate())
-- 插入 商品属性 --
insert Describe values('颜色')
-- 插入 商品属性的描述 --
insert GoodsDescribe values(1,1,'白色')
-- 插入 商品图片信息 --
insert GoodsImage values(1,'ArmaniImg01.jpg')
-- 插入 商品评价 --
insert GoodsReview values(1,1,'Hitch','不错很喜欢','东西很好 发货很快 赞一个 下次会在来',5.0,getdate())
-- 插入 快递 --
insert ExpressDelivery values('湖北')
-- 插入 商品快递报价 --
insert ExpressDeliveryWithGoods values(1,1,15,30)
--
--
--/* 查看数据*/
select * from GoodsCategory
select * from GoodsCategoryFirstSort
select * from GoodsCategorySecondSort
select * from GoodsCategoryLastSort
select * from Brand
select * from Goods
select * from Describe
select * from GoodsDescribe
select * from GoodsImage
select * from GoodsReview
select * from ExpressDelivery
select * from ExpressDeliveryWithGoods

解决方案 »

  1.   

    难道没有人可以Help me 一下吗 
      

  2.   

    -- 商品类型 --
    create Table GoodsCategory  
    (
    [GoodsCategory_Id] int identity (1, 1), /*商品类型 编号*/
    [GoodsCategory_Name] nvarchar(20) NOT NULL, /*商品类型 名称*/
    [GoodsCategory_IsDel] bit default 0 NOT NULL /*商品类型 是否删除*/
    )
    go
    -- 商品类型分类 --
    create Table GoodsCategorySort 
    (
    [GoodsCategorySort_Id] int identity (1, 1), /*商品类型分类 编号*/
    [GoodsCategorySort_Name] nvarchar(20) NOT NULL, /*商品类型分类 名称*/
    [GoodsCategory_Id] int NOT NULL, /*商品类型分类 外键*/
    [GoodsCategory_FatherId] int NOT NULL, /*商品类型父级编号   -1 就是它是第一级别的*/
    [GoodsCategorySort_IsDel] bit default 0 NOT NULL/*商品类型分类 是否删除*/
    )

    go
    /* 测试数据*/
    -- 插入商品类型 --
    insert GoodsCategory values('衣服',default)
    -- 插入商品类型分类 --
    insert GoodsCategorySort values('女装',1,-1,default)
    -- 插入商品类型分类 --
    insert GoodsCategorySort values('上衣',1,1,default)
    -- 插入商品类型分类 --
    insert GoodsCategorySort values('西装',1,2,default)
      

  3.   

    -- 商品类型 --
    create Table GoodsCategory  
    (
    [GoodsCategory_Id] int identity (1, 1), /*商品类型 编号*/
    [GoodsCategory_Name] nvarchar(20) NOT NULL, /*商品类型 名称*/
    [GoodsCategory_IsDel] bit default 0 NOT NULL /*商品类型 是否删除*/
    )
    go
    -- 商品类型分类 --
    create Table GoodsCategorySort 
    (
    [GoodsCategorySort_Id] int identity (1, 1), /*商品类型分类 编号*/
    [GoodsCategorySort_Name] nvarchar(20) NOT NULL, /*商品类型分类 名称*/
    [GoodsCategory_Id] int NOT NULL, /*商品类型分类 外键*/
    [GoodsCategory_FatherId] int NOT NULL, /*商品类型父级编号   -1 就是它是第一级别的*/
    [GoodsCategorySort_IsDel] bit default 0 NOT NULL/*商品类型分类 是否删除*/
    )

    go
    /* 测试数据*/
    -- 插入商品类型 --
    insert GoodsCategory values('衣服',default)
    -- 插入商品类型分类 --
    insert GoodsCategorySort values('女装',1,-1,default)
    -- 插入商品类型分类 --
    insert GoodsCategorySort values('上衣',1,1,default)
    -- 插入商品类型分类 --
    insert GoodsCategorySort values('西装',1,2,default)