数据库练习题解析:选择与关系表达式解答

需积分: 0 0 下载量 129 浏览量 更新于2024-08-04 收藏 71KB DOCX 举报
"本次上机练习主要涉及数据库管理和SQL查询,包括选择题答案以及关系表达式的运用。同时,练习还涵盖了E-R图向关系模式的转换、关系模式的定义、候选键的识别以及数据表的创建等知识点。" 在描述中,我们可以看到几个关键的SQL查询表达式,这些都是在数据库管理中进行数据操作的基础。例如: 1. 使用σ(选择)和π(投影)操作符来筛选满足特定条件的数据。例如,查询数学系的女学生姓名和年龄的SQL语句可以表示为: ```sql SELECT 姓名, 年龄 FROM 学生 WHERE 性别 = '女' AND 系别 = '数学' ``` 这与提供的关系表达式相吻合。 2. 查询计算机系成绩及格的男学生的信息,涉及到连接(∞)和条件筛选: ```sql SELECT 姓名, 年龄, 成绩 FROM 学生 S JOIN 成绩 SC ON S.学号 = SC.学号 WHERE 性别 = '男' AND 系别 = '计算机' AND 成绩 >= 60 ``` 3. 查询所有课程都及格的学生信息,这里使用了集合的差集运算: ```sql SELECT 学号, 姓名, 专业 FROM 学生 WHERE 学号 NOT IN (SELECT 学号 FROM 成绩 WHERE 成绩 < 60) ``` 4. 查询选修了所有学分为4分的课程的学生信息: ```sql SELECT S.姓名, C.课程名, SC.成绩 FROM 学生 S JOIN 成绩 SC ON S.学号 = SC.学号 JOIN 课程 C ON SC.课程号 = C.课程号 WHERE C.学分 = 4 ``` 5. 查询选修了特定课程且成绩不及格的学生学号和成绩: ```sql SELECT S.学号, SC.成绩 FROM 学生 S JOIN 成绩 SC ON S.学号 = SC.学号 WHERE SC.课程号 IN ('C2', 'C6') AND SC.成绩 < 60 ``` 此外,练习还涉及到了E-R图到关系模式的转换,这在数据库设计中是至关重要的一步。E-R图中的实体、属性和联系被转化为具体的关系表,如: - 商店、职工、商品和销售关系模式的定义 - 借书人、图书、出版社和借阅的关系模式 - 识别候选键,例如在某些关系模式中,特定属性组合是唯一标识记录的关键 最后,还提到了如何在SQL中创建数据表,如员工表的创建,包含了字段定义、约束条件(如非空、主键、检查约束)等: ```sql CREATE TABLE employees ( empCardId VARCHAR(18) NOT NULL PRIMARY KEY, empName CHAR(8) NOT NULL, empSex CHAR(2) NOT NULL CHECK(empSex IN('男', '女')), empBirthDate DATETIME NOT NULL, empWorkDate DATETIME NOT NULL ) ``` 这次上机练习涵盖了数据库基础、SQL查询语言、E-R模型转换、关系模式设计以及数据表创建等多个重要知识点,旨在强化学生对数据库理论与实践的理解和应用能力。