北京交大2017数据库期末考题及答案详解:SQL操作与视图构建

1星 需积分: 5 55 下载量 104 浏览量 更新于2024-09-13 7 收藏 152KB PPTX 举报
本资源提供的是北京交通大学2017年数据库系统原理期末考试的真题及答案,主要针对计算机科学与技术专业的学生。题目内容涉及数据库设计与SQL语言应用,涵盖了几个关键知识点: 1. **完整性约束的定义与建表**: 题目要求考生使用SQL语言创建借阅表Borrow,并确保完整性。表Borrow的结构包括读者编号(reader_id)、图书编号(book_id)、借阅日期(date_borrow)和借阅天数(day),这些字段被设置为主键和外键关系。同时,完整性约束条件包括: - 主键约束:(reader_id, book_id, date_borrow) - 外键约束:reader_id关联到Reader表,book_id关联到Book表 - 检查约束:借阅日期(date_borrow)必须晚于或等于2016年1月1日 - 逻辑约束:借阅天数(day)为空表示书籍未归还 2. **统计读者按级别分类**: 要求按读者级别分类统计读者数量,并按级别降序排列。这涉及使用SQL的GROUP BY和ORDER BY子句,以及COUNT函数来计算每个级别的读者数量。 3. **查找从未借阅特定图书的读者**: 问题要求找出从未借阅过图书名为“数据库原理”的读者。这可以通过LEFT JOIN操作来实现,查找Reader表中没有在Borrow表中匹配记录的读者。 4. **筛选多次借阅和总天数多的读者**: 需要找出借书3次及以上且总借阅天数超过30天的读者。这可能涉及使用GROUP BY、HAVING子句,以及SUM函数来计算借阅天数总和。 5. **删除特定读者信息及借阅记录**: 要删除读者“王红”的基本信息(可能指reader_id)及其所有的借阅记录。这涉及到UPDATE和DELETE语句,确保操作只影响Borrow表。 6. **创建视图展示2017年计算机类图书借阅情况**: 考生需创建视图Borrow_VIEW,只显示类别为“计算机”的图书借阅情况,属性包括类别和借阅总次数。这需要使用CREATE VIEW语句,并根据Book表中的类别筛选数据。 以上就是北京交通大学2017年数据库期末考试真题中涉及的主要知识点,解答这些题目有助于深入理解数据库设计原则、SQL语言的使用,以及如何处理数据完整性与查询分析。