参考答案:
【问题1】
(1)1:n或1对多
(2)m:n或多对多
【问题2】
(3)A或CREATE
(4)F或PRIMARY KEY
(5)C或FOREIGN KEY
(6)D或s_classid
(7)H或s_class
【问题3】
(8)insert
(9)values
【问题4】
(10)s_class.s_classid=s_products.s_classid(=左右两边可以互换)
详细解析:
本题考查数据库概念结构设计及SQL语句。
【问题1】
实体之间的联系类型有三种(1:1,1:N,M:N)。根据题目描述,一种产品类型可以包含多种产品,但一种产品必须属于一种产品类型,产品类型与产品的联系是1:N;一张订单中可以包含多种产品,且一种产品同时也可以被多次订购,产品与订单的联系是M:N。
【问题2】
创建s_class表和s_products表并设置主外键的SQL语句如下:
create TABLE s_class (
s_classid varchar(20) PRIMARY KEY,
s_classname varchar(50) ,
s_classdetail varchar(1000)
)
create TABLE s_products (
s_productid varchar(20) PRIMARY KEY,
s_classid varchar(20),
s_pname varchar(50),
s_pinfo varchar(1000),
s_pprice float
FOREIGN KEY (s_classid) REFERENCES s_class (s_classid)
【问题3】
如果要给产品类型表中添加一种产品类型,产品类型ID为“c001”,产品类型名称为“电器”,产品类型描述为“小型家用电器”。实现的SQL语句如下:
insert into s_class (s_classid, s_classname, s_classdetail) values('c001','电器','小型家用电器')
【问题4】
如果要查询所有产品类型名称为“电器”的产品的产品名称及产品价格,实现的SQL语句如下:
select s_pname, s_pprice from s_class, s_products where s_class.s_classid=s_products.s_classid and s_class.s_classname='电器'