一个学籍管理数据库包含如下功能: (1) 学生:学号,姓名,性别,年龄。 (2) 课程:课程号,课程名,学分。 (3) 班级:班号,班名。 (4) 教材:教材号,教材名,出版社,作者。 约定:每个学生可以选修多门课程,每门课程由多名学生选修,学生参加课程考试后会有一个成绩,每门课程可以选多本教材,每本教材被多门课程使用,每名学属于一个班级,一个班级有多个学生。请将根据上述内容画出的E-R模型转化为关系模型,将关键字相同的表合并,关键字用下划线标注。
时间: 2023-06-19 20:10:19 浏览: 194
根据上述内容,可以画出以下 E-R 模型:
![学籍管理数据库 E-R 模型](https://i.imgur.com/UgJ0c6r.png)
根据 E-R 模型,可以得到以下关系模型:
**学生** (_学号_, 姓名, 性别, 年龄, 班号)
**课程** (_课程号_, 课程名, 学分)
**班级** (_班号_, 班名)
**教材** (_教材号_, 教材名, 出版社, 作者)
**选课** (_学号_, _课程号_, 成绩)
**课程教材** (_课程号_, _教材号_)
在关系模型中,用下划线标注的属性表示该属性为该表的主键。同时,可以看到,根据 E-R 模型得到的关系模型中,将 "学生" 和 "班级" 表合并了。
相关问题
学籍管理数据库: 学生表:Student(SnoSnameage,sexplace)课程表:Course(Cno,CnameCredit)学生选课表:Study(SnoCnoGrade) 课堂练习: 6.查询名字中第2个字为"阳"字的学生的姓名和学号 7.查询选修了C03课程的学生的学号及其成绩,查询结果按分数降序排列,分数相同按学号升序排序 8.查询选修了课程的学生人数。 9.计算CO1课程的学生平均成绩。10.统计男生女生的人数
6. 查询名字中第2个字为"阳"字的学生的姓名和学号:
SELECT Sno, Sname FROM Student WHERE SUBSTR(Sname, 2, 1) = '阳';
7. 查询选修了C03课程的学生的学号及其成绩,查询结果按分数降序排列,分数相同按学号升序排序:
SELECT Sno, Grade FROM Study WHERE Cno = 'C03' ORDER BY Grade DESC, Sno ASC;
8. 查询选修了课程的学生人数:
SELECT COUNT(DISTINCT Sno) FROM Study;
9. 计算C01课程的学生平均成绩:
SELECT AVG(Grade) FROM Study WHERE Cno = 'C01';
10. 统计男生女生的人数:
SELECT sex, COUNT(*) FROM Student GROUP BY sex;
学籍管理数据库: 学生表:Student(SnoSname,age,sex,place)课程表:Course(Cno,Cname,Credit)学生选课表:Study(SnoCnoGrade) 课堂练习: 6.查询名字中第2个字为"阳"字的学生的姓名和学号7查询选修了C03课程的学生的学号及其成绩,查询结果按分数降序排列,分数相同按学号升序排序 8.查询选修了课程的学生人数。 9.计算C01课程的学生平均成绩。10.统计男生女生的人数
6. 查询名字中第2个字为"阳"字的学生的姓名和学号:
SELECT Sno, Sname FROM Student WHERE SUBSTR(Sname, 2, 1) = '阳';
7. 查询选修了C03课程的学生的学号及其成绩,查询结果按分数降序排列,分数相同按学号升序排序:
SELECT Sno, Grade FROM Study WHERE Cno = 'C03' ORDER BY Grade DESC, Sno ASC;
8. 查询选修了课程的学生人数:
SELECT COUNT(DISTINCT Sno) FROM Study;
9. 计算C01课程的学生平均成绩:
SELECT AVG(Grade) FROM Study WHERE Cno = 'C01';
10. 统计男生女生的人数:
SELECT sex, COUNT(*) FROM Student GROUP BY sex;
阅读全文