房间容量contentint,部门主管dmanagerchar(8),开会日期mdatedate,
会议名amechar(20),会议主题(subject)char(80),会议类型(type),
部门人数dnumint,当前房间状态statechar(1),
并确定以会议室(room)信息,部门(department)信息,会议(conference)信息为实体,它们通过“开会(meeting)”联系起来。为了简化问题做如下假定:
l 会议以部门召开,但一个部门在同一会议室不能重复召开同一个会议。
l 会议室按部门借用,且不预借。
l 当前房间状态取值为‘1’表示该会议室当前正在开会,取值为‘0’表示该会议室当前未被借用。
数据库概念设计的只包含主键属性的简化e-r图如下:
ame
r#
会议conference
房间room
部门department
d#
开会meeting
m
n
p
要求:
⑴数据库的逻辑结构设计:给出相应的表名、表的属性名(数据类型可省)、主键。(14分)
⑵给出下列查询的sql语句:(16分,每小题4分)
a)当前未借用的会议室(房间号)和容量:
b)2000年4月8日有哪些部门(部门名称)在开会?他们的主管是谁?
c)2000年4月8日‘信息中心’在哪个会议室(房间号)开会?会议名称和主题是什么?
d)当前能够适合‘信息中心’开会的有哪些会议室(房间号)?
答案:
(1)数据库的逻辑结构设计(给出相应的表名,表结构,主键;(14分)
room(r#,content,state)主键:r#(3分)
department(d#,dname,dmanager,dnum)主键:d#(3分)
conferenceame,subject,type)主键ame(3分)
meeting(r#,d#ame,mdate)主键(r#,d#ame)(5分)
(2)给出下列查询的sql语句:(16分,每小题4分)
a)当前未借用的会议室(房间号)和容量:
selectr#,contentfromroomwherestate=’0’
b)2000年4月8日有哪些部门(部门名称)在开会?他们的主管是谁?
selectdname,dmanagerfromdepartmentd,meetingm
whered.d#=m.d#andmdate=’2000年4月8日’
或
selectdname,dmanagerfromdepartmentd
whered.d#=in(selectm.d#=frommeetingmwheremdate=’2000年4月8日’)
c)2000年4月8日’信息中心’在哪个会议室(房间号)开会?会议名称和主题是什么?
selectr#,mame,subjectfromdepartmentd,meetingm,conferencec
whered.d#=m.d#andmame=cameand
mdate=’2000年4月8日’anddname=’信息中心’
或(注:本题中selectr#,came,......也可以是selectr#,mame,......
selectr#,came,subjectfrommeetingm,conferencec
wheremdate=’2000年4月8日’andmame=cameand
m.d#=(selectd.d#fromdepartmentdwheredname=’信息中心’)
d)当前能够适合’信息中心’开会的有哪些会议室(房间号)?
selectr#fromroomwherestate=’o’and
content>=(selectdnumfromdepartmentwheredname=’信息中心’)
+《等级三级数据库历年真题论述题详解[2]》相关文章
- 等级三级数据库历年真题论述题详解[2]
- › 等级三级数据库历年真题论述题详解[2]
- 在百度中搜索相关文章:等级三级数据库历年真题论述题详解[2]
- 在谷歌中搜索相关文章:等级三级数据库历年真题论述题详解[2]
- 在soso中搜索相关文章:等级三级数据库历年真题论述题详解[2]
- 在搜狗中搜索相关文章:等级三级数据库历年真题论述题详解[2]