数据库是存储和管理信息的核心工具,本习题集主要涵盖了数据库设计、SQL语言以及事务并发控制等多个方面,旨在提升对数据库理论与实践的理解。 一、E/R图与关系模型转换: 1. E/R图用于描述实体及其之间的关系,图书与借书人是两个实体,图书包含书号、书名、作者、定价、位置信息,借书人包含姓名、借书证号、单位信息。借书行为是两者间的关系,需记录借书日期。E/R图中,图书和借书人可以表示为矩形,借书行为表示为椭圆,通过连线表示关系。 2. 转换成关系模型,图书表(Book):书号为主键,包含书名、作者、定价、位置;借书人表(Borrower):借书证号为主键,包含姓名、单位;借书表(Borrow):书号和借书证号为联合主键,记录借书日期,其中书号和借书证号分别为外键,关联图书表和借书人表。 二、SQL语言定义: 1. 学生关系S(学号SNo为主键,姓名SN,年龄SA,系别SD); 2. 课程关系C(课程号CNo为主键,课程名CN,学分CC); 3. 学生选课关系SC(SNo为主键,CNo为主键,成绩C,SNo和CNo为外键,分别关联S和C表); 4. SQL查询:SELECT SNo, SUM(C) FROM SC GROUP BY SNo ORDER BY SUM(C) DESC, SNo; 查询每个学生的总成绩,按总成绩降序排序,总成绩相同时按学号升序排列。 三、SQL查询表达: 1. 使用SQL查询张老师讲的每门课的学生平均成绩:SELECT Cno, AVG(Grade) FROM SC, Course WHERE SC.Cno = Course.Cno AND Teacher = '张%' GROUP BY Cno; 2. 统计选修各门课的学生人数:SELECT Cno, COUNT(*) FROM SC GROUP BY Cno ORDER BY COUNT(*) DESC, Cno; 四、关系代数和数据逻辑规则: 1. 关系代数查询:π_Score(Student ⨝_SNo=SC.SNo ⨝_CName='计算机组成原理')(SC); 2. 数据逻辑规则查询:SELECT SDept, Sage FROM Student WHERE SNo = '20020202'; 五、事务并发执行: 并发执行T1、T2、T3可能导致的结果有: - A = 1 * 2 * 2 = 4 - A = 3 * 2 * 2 = 12 - A = 2 * 1 * 2 = 4 - A = 2 * 2 * 1 = 4 六、ODL与OQL查询: 1. ODL类说明: - Movie(Title, Year) - Studio(Pname, Add, Tel) - Production(Studio.Pname, Movie.Title) 2. OQL查询:“上海电影制片公司”所制作电影的基本情况: SELECT Title, Year FROM Movie, Production WHERE Production.Pname = '上海电影制片公司' 这些习题覆盖了数据库设计基础、SQL语言操作、事务处理、数据库查询表达等多个核心知识点,通过练习可以加深对数据库系统的理解和应用能力。
- 粉丝: 0
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助