广工数据库试卷:创建雇员与部门表及SQL查询实践

需积分: 5 0 下载量 21 浏览量 更新于2024-08-05 收藏 67KB DOC 举报
本资源是一份2011年广州工业大学《数据库原理与应用》考试试卷,适用于08网络工程专业的学生。试卷包含两个部分,一是数据库结构设计,二是SQL查询及操作。 首先,关于数据库结构设计部分(6分),要求创建雇员表和部门表。题目给出了雇员表的基本结构,包括雇员编号(主键)、雇员姓名、年龄、受雇时间、薪水、电话号码和部门编号(外键)。部门表则需要定义部门编号(主键)、部门名称和部门所在地。创建这两个表的SQL语句示例如下: ```sql -- 创建部门表 CREATE TABLE 部门 ( 部门编号 CHAR(4) NOT NULL PRIMARY KEY, 部门名称 CHAR(12), 部门所在地 CHAR(4) ); -- 创建雇员表 CREATE TABLE 雇员 ( 雇员编号 CHAR(4) NOT NULL PRIMARY KEY, 雇员姓名 CHAR(12), 年龄 INT, 受雇时间 DATETIME, 薪水 DECIMAL(7,2), 电话号码 CHAR(6), 部门编号 CHAR(4), FOREIGN KEY (部门编号) REFERENCES 部门(部门编号) ); ``` 第二部分是SQL查询和操作题,总分为20分。具体题目要求如下: 1. 以递增方式列出所有部门的不重复编号:`SELECT DISTINCT 部门编号 FROM 雇员表 ORDER BY 部门编号 ASC;` 这个查询将返回一个列表,包含了雇员表中各部门的唯一编号,按照升序排列。 2. 查找年龄为35岁的职工的所有信息:`SELECT * FROM 雇员表 WHERE 年龄 = 35;` 这个查询将返回所有年龄为35岁的雇员的所有详细信息。 3. 查询在部门20或30工作,且工资大于1600元,年龄大于35岁的职工信息:`SELECT * FROM 雇员表 WHERE (部门编号 = '20' OR 部门编号 = '30') AND 工资 > 1600 AND 年龄 > 35;` 这个复合条件的查询将筛选出符合条件的雇员,即在指定部门工作且满足工资和年龄要求的员工数据。 这些题目考察了数据库基础操作,包括表的设计、主键和外键的概念,以及SQL查询语句的编写和逻辑理解。解答这类问题需要对数据库理论和SQL语法有深入理解,并能灵活运用到实际的数据检索和分析中。通过这部分考试,学生可以检验自己对数据库管理系统的掌握程度,包括数据结构、数据操作和查询优化等方面。