设计一个用于管理会议室的数据库。经调查分析,得到的数据项列出如下:房间号r CHAR(4),部门号d CHAR(3),部门名称dname CHAR(20),房间容量content INT,部门主管dmanager CHAR(8),开会日期mdate DATE,会议名称cname CHAR(20),会议主题(subject)CHAR(80),会议类型(type),部门人数dnum INT,当前房间状态state CHAR(1),并确定以会议室(room)信息、部门(department)信息、会议(conf

题目

设计一个用于管理会议室的数据库。经调查分析,得到的数据项列出如下:

房间号r CHAR(4),部门号d CHAR(3),部门名称dname CHAR(20),

房间容量content INT,部门主管dmanager CHAR(8),开会日期mdate DATE,

会议名称cname CHAR(20),会议主题(subject)CHAR(80),会议类型(type),

部门人数dnum INT,当前房间状态state CHAR(1),

并确定以会议室(room)信息、部门(department)信息、会议(conference)信息为实体,它们

通过”开会(meeting)”联系起来。为了简化问题做如下假定:

会议以部门召开,但一个部门在同一会议室不能重复召开同一个会议。会议室按部门借用,且不预借。当前房间状态取值为'1'表示该会议室当前正在开会,取值为'0'表示该会议室当前未被借用。数据库概念设计的只包含主键属性的简化E-R图如下:

要求:

(1) 数据库的逻辑结构设计:给出相应的表名、表的属性名(数据类型可省)、主键。

(2) 给出下列查询的SQL语句:

a) 当前未借用的会议室(房间号)和容量;

b) 2000年4月8日有哪些部门(部门名称)在开会?他们的主管是谁?

c) 2000年4月8日'信息中43'在哪个会议室(房间号)开会?会议名称和主题是什么?

d) 当前能够适合'信息中43'开会的有哪些会议室(房间号)?


相似考题
更多“ 设计一个用于管理会议室的数据库。经调查分析,得到的数据项列出如下:房间号r CHAR(4),部门号d CHAR(3),部门名称dname CHAR(20),房间容量content INT,部门主管dmanager”相关问题
  • 第1题:

    建立一个“职员”表,表中有5个字段:职员号、姓名、性别、年龄、部门。要求职员号属性的值惟一,并且不能为空值。建立该表的SQL语句可以是______。

    A.CREATE TABLE职员(职员号CHAR(6),姓名CHAR(8),;性别CHAR(2),年龄INT(4),部门CHAR(12))

    B.CREATE TABLE职员(职员号C1LAR(6) NULL,姓名 CHAR(8),;性别CHAR(2),年龄INT(4),部门CHAR((12))

    C.CREATE TABLE职员(职员号CHAR(6) NOT NULL UNIQUE,;姓名CHAR(8),性别CHAR(2),年龄INT(4),部门CHAR(12))

    D.CREATE TABLE职员(职员号CHAR(6)UNIQUE,姓名CHAR(8),;性别CHAR(2),年龄INT(4),部门CHARR(12))


    正确答案:C

  • 第2题:

    某数据库系统中,假设有部门关系 Dept (部门号,部门名,负责人,电话),其中, "部门号"是该关系的主键;员工关系 Emp (员工号,姓名,部门,家庭住址),属性"家 庭住址"包含省、市、街道以及门牌号,该属性是一个( )属性。 创建 Emp 关系的 SQL 语句如下: CREATE TABLE Emp( 员工号 CHAR(4) ( ), 姓名 CHAR(10), 部门 CHAR(4), 家庭住址 CHAR(30), ( ); 为在员工关系 Emp 中增加一个"工资"字段,其数据类型为数字型并保留2 位小数, 可采用的 SQL 语句为( )。

    A. 简单 B. 复合 C.多值 D. 派生A. PRIMARY KEY B. NULL C. FOREIGN KEY D. NOT NULLA.PRIMARY KEY NOT NULLB. PRIMARY KEY UNIQUEC. FOREIGN KEY REFERENCES Dept(部门名)D. FOREIGN KEY REFERENCES Dept(部门号)A.ALTER TABLE Emp ADD 工资 CHAR(6,2);B.UPDATA TABLE Emp ADD 工资 NUMERIC(6,2);C.ALTER TABLE Emp ADD 工资 NUMERIC (6,2);D.ALTER TABLE Emp MODIFY 工资 NUMERI C(6,2);


    正确答案:B,A,D,C

  • 第3题:

    某企业信息管理系统的部分关系模式为:部门(部门号,部门名,负责人,电话)、职工(职工号,职工姓名,部门号,职位,住址,联系电话)。部门关系中的部门名为非空值,负责人参照职工关系的职工号,请将下述SQL语句的空缺部分补充完整。CREATE TABLE 部门(部门号 CHAR(4) PRIMARY KEY, 部门名 CHAR(20)( ), 负责人 CHAR(6), 电话 CHAR(15), (请作答此空));

    A.PRIMARY KEY(部门号)NOT NULL UNIQUE
    B.PRIMARY KEY(部门名)UNIQUE
    C.FOREIGN KEY(负责人)REFERENCES 职工(职工号)
    D.FOREIGN KEY(负责人)REFERENCES 职工(职工姓名)

    答案:C
    解析:
    负责人参照职工关系的职工号,职工号是外键。用FOREIGN KEY(负责人) REFERENCE 职工(职工号)表示。

  • 第4题:

    阅读下列说明,回答问题1至问题5。

    【说明】

    某工厂的信息管理数据库的部分关系模式如下所示:

    职工(职工号,姓名,年龄,月工资,部门号,电话,办公室)

    部门(部门号,部门名,负责人代码,任职时间)

    关系模式的主要属性、含义及约束如表22-1所示,“职工”和“部门”的关系示例分别如表22-2和表22-3所示。

    根据上述说明,由SQL定义的“职工”和“部门”的关系模式,以及统计各部门的人数C、工资总数Totals、平均工资Averages的D_S视图如下所示,请在空缺处填入正确的内容。

    Create Table 部门 (部门号 Char(1) (a)

    部门名 Char(16),

    负责人代码 Char(4),

    任职时间 DATE,

    (b) (职工号));

    Create Table 职工 (职工号 Char(4),

    姓名 Char(8),

    年龄 NUMDER(3),

    月工资 NUMDER(4),

    部门号 Char(1),

    电话 Char(8),

    办公室 Char(8),

    (a) (职工号),

    (c) (部门号),

    CHECK( (d) ));

    Create View D_S(D,C,Totals,Averages) As

    (Select 部门号, (e)

    from 职工

    (f)


    正确答案:a. Primary Key b. Constraint FK_DEPT Foreign Key(负责人代码) References 职工或Foreign Key(负责人代码)References 职工 c. Constraint FK_PERDEPT Foreign Key(部门号)References 部门或Foreign Key(部门号)References 部门 d.月工资Between 500 And 5000或月工资>=500 And 月工资=5000 e.Count(*)Sum(月工资)
    a. Primary Key b. Constraint FK_DEPT Foreign Key(负责人代码) References 职工或Foreign Key(负责人代码)References 职工 c. Constraint FK_PERDEPT Foreign Key(部门号)References 部门或Foreign Key(部门号)References 部门 d.月工资Between 500 And 5000或月工资>=500 And 月工资=5000 e.Count(*),Sum(月工资) 解析:SQL语言包括数据定义、数据查询和数据操纵,其中数据定义有表、视图和索引的定义。
    数据库完整性包括实体完整性、参照完整性和用户自定义完整性约束。用户自定义完整性写在列级完整性约束条件中。定义实体完整性通常采用“Not Null”,“Unique”,“Constraint主键约束名Primary Key(属性组)”等。其中:
    .“Not Null”表示该列的属性不能为空,定义时紧跟数据类型的后面;
    .“Unique”表示该列的属性是唯一标识的(即不能取重复值),定义时可以紧跟数据类型的后面,也可以放在最后面,这时的格式是:Unique(列名,[列名]...);
    .“Constraint主键约束名Primary Key(属性组)”表示该属性组是表的主键,能唯一标识记录。
    定义参照完整性通常采用:
    Constraint参照约束名Foreign Key参照表(属性组)References被参照表(属性组)定义用户自定义完整性通常采用:
    Constraint自定义约束名Check(条件)
    例如:某表R1(a1,a2,a3),其中a1,a2,a3都是int型。现约束要求a1+a2100,则用户自定义完整性定义是:
    Constraint C1 Check(a1+a2100)
    其中“Constraint约束名”可以省略。
    关于定义视图的一般格式如下:
    Create View视图名>[(列名>[,列名>]...)]
    Aa子查询>
    [with Check Option]
    注意:
    (1)其中的查询可以是任意复杂的Select语句,但通常不允许含有Order by子句和Distinct短语。
    (2)With Check Option表示对视图进行Update,Insert和Delete操作时要保证更新、插入或删除的行满足视图定义中的谓词条件(即子查询中的条件表达式)。
    对视图的查询、更新操作,它的执行过程是首先把这个SQL语句与定义这个视图的SQL语句合并起来,转换成一个新的SQL语句,然后才真正的执行。
    SQL语言还提供了一些常用的统计函数,如:Count用来统计元组个数,Sum用来计算一列值的总和,Avg用来计算一列值的平均值,Max用来求一列值中的最大值, Min用来求一列值中的最小值,等等。
    SQL语言的查询优化在数据库系统中有着非常重要的地位,同时也是考试的一个难点,能反映出考生能否比较熟练地掌握SQL语言,做这种类型的题目有一些技巧。一般来说,如果查询中采用了查询嵌套,特别是自我连接的那种类型,优化的原则是尽量采用不嵌套的的SQL语句来实现相同的功能;当有选择运算时,应尽可能让它先做:在执行连接前注意对关系做适当的预处理,比如在联接的属性上建立索引和对关系排序,然后再执行联接。
    [问题1]
    从试题描述可以看出,在“部门”关系中,“部门号”是唯一标识记录的,是该关系的主键,可采用(部门号Char(1)Primary Key)来定义。在“职工”关系中,“职工号”是唯一标识记录的,因此它是主键,可以定义为:UNIQUE(职工号)或Constraint PF PER Primary Key(职工号)。
    显然,“负责人代码”是“部门”关系的外键,通过“负责人代码”等于“职工号”来关联“职工”关系的,定义为:Constraint FK_DEPT Foreign Key(负责人代码)References职工(职工号)。同时“部门号”是“职工”关系的外键,定义为:Constraint FK_PERDEPT Foreign Key(部门号)References部门(部门号)。
    由于表22-1中告诉我们在“职工”关系中的月工资有个约束:500元≤月工资≤ 5000元。它属于用户自定义完整性约束,可以定义为:Check(月工资Between 500 And 5000)。
    通过对题目分析,建立该视图,要采用到集函数和记录分组语句,采用Count来计算部门的人数,用Sum来计算工资总数,用Avg来计算平均工资。然后用“Group by部门号”来对不同部门进行分组。创建D_S视图的SQL语句如下:
    Create View D_S(D,C.Totals,Averages) AS (Select 部门号,Count (*),sum (月工资),Avg(月工资)From 职工Group by部门号)

  • 第5题:

    某企业信息管理系统的部分关系模式为:部门(部门号,部门名,负责人,电话)、职工(职工号,职工姓名,部门号,职位,住址,联系电话)。部门关系中的部门名为非空值,负责人参照职工关系的职工号,请将下述SQL语句的空缺部分补充完整。CREATE TABLE 部门(部门号 CHAR(4) PRIMARY KEY, 部门名 CHAR(20)(请作答此空), 负责人 CHAR(6), 电话 CHAR(15), ( ));

    A.UNIQUE
    B.NOT NULL
    C.KEY UNIQUE
    D.PRIMARY KEY

    答案:B
    解析:
    负责人参照职工关系的职工号,职工号是外键。用FOREIGN KEY(负责人) REFERENCE 职工(职工号)表示。