软件技能抽查——数据库模块第四题

前言

气死我了

一、题目

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


总结

烦死我了

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值