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)

主键:部门号,或部门名 外键: 负

责人代码

详细解答: