2024年5月7日发(作者:)
[
模拟
]
数据库系统工程师
SQL
操作与应用
论述设计题
阅读下列说明和
E-R
图,根据要求回答下列问题。
[
说明
]
某网上订书系统的
E-R
图
(
已消除了不必要的冗余
)
如图
3-1
所示
(
图中 没
有标出主码
)
。图中实体的说明如表
3-25
所示,相关属性说明如表
3-26
所
示。
一个顾客可以在同一天填写多张购书单,每张购书单上可填写多种图书,
每 种图书可以订购多本,
bid
相同的图书在同一张购书单上不能出现多次。
注:为简化起见,不考虑信用卡号码泄漏所带来的安全性等问题。
第
1
题:
根据图
3-1
所示的
E-R
图中给出的词汇,按照“关系模式名
(
属性
,
属性
⋯
)
”的 格式,将此
E-R
图转换为
4
个关系模式,并指出每个关系模式中
的主码和外 码,其中模式名根据需要取实体名或联系名。
参考答案:
Customers(cid,cname,adderss,cardnum)
, 主 键 :
cid
Orders(ordernum,orderdate,cid)
, 主 键 :
ordemum
, 外 键 :
cid
Books(bid,title,author,qty_in_stock,year_publicshed,price)
,主键:
bid
Orderlist(bid,oNemum,qty,ship_date)
,其中
bid
和
ordemum
是主键,也是键 码
注:以上
4
个关系模式和每个模式中的属性可按任意次序书写
详细解答:
第
2
题:
创建
Customers
表时,
cid
使用
INTEGER
数据类型,
cname
使用
CHAR(80)
数
据 类型,
address
使用
CHAR(200)
数据类型,
cardnum
使用
CHAR(16)
数据
类型,并 且要求此列值唯一。请在下列用于创建表
Customers
的
SQL
语句的
空缺处填入 正确的内容。
CREATE TABLE Customers(cid INTEGER NOT NULL,
cname CHAR(80) NOT NULL,
address CHAR(200),
cardnum CHAR(16) NOT NULL,
(1) ,
(2) )
参考答案:
(1) PRIMARYKEY(cid) (2) UNIQUE(cardnum) (
注:
(1)
和
(2)
的次序可互 换
)
详细解答:
第
3
题:
[
问题
3]
以下的
SQL
语句是书店用于查询“所有订购了
bid
为′
123-456
′图书的
用户 订购其他图书的情况”的不完整语句,请在空缺处填入正确的内容。
Select bid
From Orderlist A
Where not exists ( Select * from Orders B
where um = um and (3)
(Select eid from Orderlist C, Orders D
where (4) .bid =
′
123-456
′
and (5) = um))
参考答案:
(3) not in (4) C (5) m
详细解答:
阅读以下说明和表,根据要求回答下列问题。
[
说明
]
某公司信息管理系统的需求分析和部分关系模式设计的结果描述如
下。
(1)
公司有多个部门,每个部门有一名负责人、一间办公室、一部电
话 和多名职员,每个职员最多属于一个部门,负责人也是一名公司职员。
(2)
公司职员的月工资大于等于
1000
元且小于等于
8000
元。
(3)
数据库的部分关系模式设计如下。 职员
(
职员号
,
职员姓名
,
月工
资
,
部门号
,
办公室
,
电话
)
部门
(
部门号
,
部门名
,
负责人代码
,
任职时间
)
(4)
“职员”和“部门”的关系示例分别如表
3-27
和表
3-28
所示
第
4
题: 根据上述说明,请给出:
(1)
“职员”关系模式的主键和外键。
(2)
“部门”关系模式的主键和外键。
参考答案:
(1)
主键:职员号 外键:部门号
(2)
主键:部门号,或部门名 外键: 负
责人代码
详细解答:
发布评论