已知网上商城数据库: 商品(商品编号int商品类别int,商品名称varchar(8),商品价格numeric(6,2),商品库存int(默认值为0)) 用户(用户编号(int 自增),用户名varchar(8),用户密码varchar(6),性别varchar(2),电话varchar(11),地址varchar(20)) 订单总表(订单编号(int 自增),用户编号int,下单时间datetime,支付金额numeric(6,2),送货地址varchar(20),订单状态int(0未支付,1未发货,2已发货,3已完成)) 订单明细(订单明细编号(int 自增),订单编号int,商品编号,商品价格numeric(6,2),购买数量int) 购物车(用户编号int,商品编号int,商品价格numeric(6,2),购买数量int,确认购物int(1表示购买,0表示不购买),加入时间datetime) 对于网上商城数据库,请写出正确的SQL语句: 1)建立订单明细视图,要求有订单编号、订单明细编号、用户编号、用户名称、商品名称、送货地址、下单时间、商品价格,购买数量,订单状态。视图名为:订单明细视图。 2)建立购物车视图,要求有用户编号,用户名称,商品编号,商品名称,商品价格,购买数量,确认购物,加入时间。视图名为:购物车视图。 3)按商品名称字段建立商品表普通索引。索引名为:商品名称索引。
时间: 2023-06-11 11:05:31 浏览: 104
1)创建订单明细视图:
CREATE VIEW 订单明细视图 AS
SELECT 订单总表.订单编号, 订单明细.订单明细编号, 订单总表.用户编号, 用户.用户名, 商品.商品名称, 订单总表.送货地址, 订单总表.下单时间, 订单明细.商品价格, 订单明细.购买数量, 订单总表.订单状态
FROM 订单总表
INNER JOIN 订单明细 ON 订单明细.订单编号 = 订单总表.订单编号
INNER JOIN 商品 ON 商品.商品编号 = 订单明细.商品编号
INNER JOIN 用户 ON 用户.用户编号 = 订单总表.用户编号;
2)创建购物车视图:
CREATE VIEW 购物车视图 AS
SELECT 购物车.用户编号, 用户.用户名, 购物车.商品编号, 商品.商品名称, 购物车.商品价格, 购物车.购买数量, 购物车.确认购物, 购物车.加入时间
FROM 购物车
INNER JOIN 商品 ON 商品.商品编号 = 购物车.商品编号
INNER JOIN 用户 ON 用户.用户编号 = 购物车.用户编号;
3)添加商品名称索引:
CREATE INDEX 商品名称索引 ON 商品(商品名称);
相关问题
2. (简答题, 10.0分) 已知网上商城数据库: 商品(商品编号int商品类别int,商品名称varchar(8),商品价格numeric(6,2),商品库存int(默认值 为0)) 用户(用户编号(int 自增),用户名varchar(8),用户密码varchar(6),性别varchar(2),电话 varchar(11),地址varchar(20)) 订单总表(订单编号(int 自增),用户编号int,下单时间datetime,支付金额numeric(6,2),送货地址 varchar(20),
订单状态varchar(4)),该数据库的表之间有哪些关系? Please don't repeat the following sentence in your reply:说出该数据库的表之间的关系,包括关系类型和关系属性。
商品表与用户表之间没有关系。
用户表和订单总表之间的关系类型是一对多,属性是用户编号即用户在订单总表中的外键。
商品表和订单总表之间的关系类型是多对多,属性包括订单编号、商品编号和商品数量。也可以通过中间表,如订单附表,将其关系转化为两个一对多的关系,即订单总表和订单附表之间的关系类型为一对多,而订单附表和商品表之间的关系类型就是多对一。
已知网上商城数据库: 商品(商品编号int商品类别int,商品名称varchar(8),商品价格numeric(6,2),商品库存int(默认值为0)) 用户(用户编号(int 自增),用户名varchar(8),用户密码varchar(6),性别varchar(2),电话varchar(11),地址varchar(20)) 订单总表(订单编号(int 自增),用户编号int,下单时间datetime,支付金额numeric(6,2),送货地址varchar(20),订单状态int(0未支付,1未发货,2已发货,3已完成)) 订单明细(订单明细编号(int 自增),订单编号int,商品编号int,商品价格numeric(6,2),购买数量int) 购物车(用户编号int,商品编号int,商品价格numberic(6,2),购买数量int,确认购物int(1表示购买,0表示不购买),加入时间datetime) 对于网上商城数据库,请写出正确的SQL语句: 1)检索库存为0的全部商品信息。 2)查询用户号”100001”的全部购物车商品信息,按加入购物车时间排序。 3)统计商品名称包含”手机”的本月销售数量。
1)SELECT * FROM 商品 WHERE 商品库存=0;
2)SELECT * FROM 购物车 WHERE 用户编号=100001 ORDER BY 加入时间 ASC;
3)SELECT COUNT(*) FROM 订单明细 WHERE 商品编号 IN (SELECT 商品编号 FROM 商品 WHERE 商品名称 LIKE '%手机%') AND YEAR(下单时间)=YEAR(CURRENT_DATE()) AND MONTH(下单时间)=MONTH(CURRENT_DATE());
阅读全文