前言
气死我了
一、题目
4.试题编号:J2-4《某电子商务网站》产品管理模块
(1)任务描述
《产品管理》模块的E-R 图如图2.4.1 所示,逻辑数据模型如图2.4.2 所示,物理数据模型如图2.4.3 所示,数据表字段名定义见表2.4.1。请按以下设计完成数据库创建、数据表创建和数据操作任务:
正在上传…重新上传取消正在上传…重新上传取消
图2.4.1 E-R 图
正在上传…重新上传取消正在上传…重新上传取消
图2.4.2 逻辑数据模型
正在上传…重新上传取消正在上传…重新上传取消
图2.4.3 物理数据模型
表2.4.1字段名定义表
字段名 | 字段说明 | 字段名 | 字段说明 |
category_id(标识列) | 产品类别 ID | remark | 产品描述 |
category_name | 产品类别名称 | register_date | 默认值为当前录入时间 |
register_date | 默认值为当前录入时间 | review_id(标识列) | 评论编号 |
product_id | 产品编号 | product_id(标识列) | 产品编号 |
category_id | 产品类别 ID | review | 评论内容 |
product_name | 产品名称 | register_date | 默认值为当前录入时间 |
price | 产品价格 |
任务一:创建数据库(10 分)
创建数据库ProductDB。
任务二:创建数据表(25 分)
根据图2.4.2 和表2.4.1,创建数据表T_category、T_product_review、T_product,
其中产品信息表的产品编号(product_id)列、产品评价信息表的评论编号(review_id)列、类别信息表中的产品类别ID(category_id)列设置为标识列,自动从1 开始增长。
任务三:创建数据表间的关系及约束(15 分)
• 创建主键(三个表均设置);
• 产品价格列(Price)只能输入1-1000 之间的数;
• 录入时间列(Register_date)默认值为当前录入时间(三个表均设置)。
任务四:数据操作(30 分)
用SQL 语句查询出如下数据:
• 在三个表分别中录入3 条测试数据(样本数据包含下面题目中使用的数据);
• 查询某类别下所有产品;
• 查询产品价格在300-500 元之间的产品;
• 查询录入日期在2011 年3 月到6 月之间的产品数据;
• 查询产品价格在90-200 元之间的所有评论;
• 查询评论数在1-3 条的所有产品。
(2)实施条件
实施条件要求见本模块附录1
(3)考核时量
考核时长为180分钟
(4)评分细则
评分细则见本模块附录2
(5)作品提交要求
作品提交要求见本模块附录3
二、答案
create database ProductDB
on
(
name='ProductDB',
filename='E:\xzq\db2\ProductDB.mdf'
)
use ProductDB
go
create table T_category
(
category_id int not null primary key,
category_name varchar(30) not null,
register_date datetime not null,
)
create table T_product
(
product_id int not null primary key,
category_id int not null foreign key references T_category(category_id),
product_name varchar(50) not null,
price money not null,
remark varchar(2000) not null,
register_date datetime not null,
)
create table T_product_review
(
review_id int not null primary key,
product_id int not null foreign key references T_product(product_id),
review varchar(2000) not null,
register_date datetime,
)
insert into T_category
values('01','彩电','2011-3-6')
insert into T_category
values('02','家用','2011-4-6')
insert into T_category
values('03','生活','2011-4-6')
insert into T_product
values('1','01','洗衣机','481','挺好的','2011-3-16')
insert into T_product
values('2','02','西瓜刀','32','还行','2011-5-21')
insert into T_product
values('3','03','香瓜刀','10','一般','2011-3-26')
insert into T_product_review
values('001','1','还行','2011-3-3')
insert into T_product_review
values('002','2','还可以','2011-6-14')
insert into T_product_review
values('003','3','一般','2011-5-23')
select*
from T_product
where category_id=1
select a.product_name
from T_product a
where price between 300 and 500
select *
from T_product
where register_date between '2011-3-1'and '2011-7-1'
select a.review
from T_product_review a,T_product b
where b.price between 90 and 200
and a.product_id=b.product_id
select a.*
from T_product a,(select product_id,count(review)'review_num'
from T_product_review
group by product_id)b
where b.review_num between 1 and 3
and a.product_id=b.product_id
总结
烦死我了