-
为什么关系数据模型要求一个关系中的元组不能重复?这一要求在SQL中是通过什么实现的?
因为关系数据模型中关系是元组的集合,而集合中不能有重复的元素。通过实体完整性即主键实现。
-
给定学生表 Student(s#,sname,age)、课程表Course(c#,cname,type,credit)和选课表SC(s#,c#,score)。其中 type 是整型,0 表示必修课,1 表示选修课。credit 表示课程学分。请用一条 SQL 语句,回答下面的查询:
- 求出已选必修课总学分大于 16 并且所选必修课成绩都大于75分的学生姓名
SELECT s.sname FROM Student s JOIN SC sc ON s.s# = sc.s# JOIN Course c ON sc.c# = c.c# WHERE c.type = 0 GROUP BY s.s# HAVING SUM(c.credit) > 16 AND MIN(sc.score) > 75;- 求出各门课程的课程名、平均成绩和不及格率(提示:不在选课表中的课程不用考虑)
SELECT c.cname, AVG(sc.score) AS avg_score, SUM(CASE WHEN sc.score < 60 THEN 1 ELSE 0 END) / COUNT(sc.s#) AS fail_rate FROM Course c JOIN SC sc ON c.c# = sc.c# GROUP BY c.c# -
假设某磁盘具有以下特性: (1)有 8 个盘面和 8192 个柱面 (2)盘面直径为 3.5 英寸,其中内圈不存储数据,内圈直径为 1.5 英寸 (3)每磁道平均有 256 个扇区,每个扇区 512 字节 (4)每个磁道 10%被用于间隙 (5)磁盘转速为 7200 RPM (6)磁头启动到停止需要 1ms,每移动 500 个柱面另加 1ms 回答下列问题:
-
如果所有的磁道拥有相同的扇区数,那么最内圈的磁道的位密度是多少?
-
如果一个块是 8KB,那么一个块的传输时间是多少?
-
平均寻道时间是多少?
结论:求平均寻道时间时,平均寻道的柱面数为N/3
-
-
假设某块磁盘的参数如下:容量为 36.7GB,传输速率为 45MB/s,旋转一圈的时间为 4ms,平均寻道时间为 5ms,最小寻道时间为0.65ms(指磁头寻道到相邻磁道的时间),一个磁道大小为180KB。如果磁盘块大小为 4KB,请回答下面问题(所有结果均四舍五入保留小数点后两位):
- 随机读取 1000 个磁盘块需要多少时间(ms)?
- 假定(1)中的 1000 个磁盘块在单个磁道上连续存储,并且所有磁盘块存储在相邻的磁道上,此时读取这 1000 个磁盘块需要多少时间(ms)?
- 随机读取 1000 个磁盘块需要多少时间(ms)?
-