学校各班级定期在教室组织班会,设计一个用于管理教室使用的数据库。经调查分析,得到的数据项类型如下: 教室号r# CHAR(4),教室容量content INIT,教室可用状态state CHAR(1),班级号c#CHAR(6),班级名称classna

admin2009-02-24  31

问题 学校各班级定期在教室组织班会,设计一个用于管理教室使用的数据库。经调查分析,得到的数据项类型如下:
   教室号r# CHAR(4),教室容量content INIT,教室可用状态state CHAR(1),班级号c#CHAR(6),班级名称classname CHAR(20),班长monitor CHAR(8),班级人数cnum INT,班会编号cm# CHAR(8),班会名称name CHAR(20),班会主题subject CHAR(80),开会日期mdate DATE。
   并确定以教室(classroom)信息、班级(class)信息、班会(classmeeting)信息为实体,它们通过“开班会”联系起来。为了简化问题做如下假定:
   (1) 一个班级在同一个教室不能重复召开同一个班会;
   (2) 教室可用状态:‘1’表示教室可用,‘0’表示该教室不可用。
   数据库概念设计只包含主键属性的简化E-R图如下:
   要求:
   1.数据库的逻辑结构设计:给出相应的表名、表的属性名(数据类型可省)、主键。
   2.给出下列查询的SQL语句:
   a) 当前未借用的教室号和容量。
   b) 2001年3月28号有哪些班级(班级名称)在开会?他们的班长是谁?
   c) 2001年2月28号‘计算机98级1班’在哪个教室(教室号)开会?班会名称和班会主题是什么?
   d)当前能够适合‘计算机98级2班’开会的有哪些教室(教室号)?

选项

答案1.数据库的逻辑结构设计(给出相应的表明,表结构,主键) classroom(r#,content,state) 主键r# class(c#,classroom,monitor,cnum) 主键c# calssmeeting(cm#,name,subject) 主键cm# meeting(r#,c#,cm#,mdate) 主键(r#,c#,cm#) 2.给出下列查询的SQL语句: a) 当前未借用的教室号和容量 select r#,content from classroom where state=’1’ b) 2001年3月28号有哪些班级(班级名称)在开会?他们的班长是谁? Select c.classname,c.monitor from class cmeeting m; where c.c# =m.c# and mdate=’2001年2月28号’ c) 2001年2月28号‘计算机98级1班’在哪个教室(教室号)开会?班会名称和班会主题是什么? Select r#, m.name, subject from class c classmeeting cm meeting m; Where c.c# =m.c# and m.cm#=cm.cm# and; mdate=’2001年2月28号’and name=’计算机98级1班’ d) 当前能够适合‘计算机98级2班’开会的有哪些教室(教室号)? Select r# from classroom where state=’1’and; Content>=(select cnum from class where classname=’计算机98级2班’(4分)

解析
转载请注明原文地址:https://kaotiyun.com/show/GXNZ777K
0

最新回复(0)