数据库的设计 根据实际情况建立E-R数据模型,需要考虑的实体有学生、班级、课程。其中E-R简图 如下: 班级 课程 m 属于 学习 学生 其中班级实体的属性为班级名称、班长学号等;学生属性为学号、姓名等:课程属性为 课程号、课程名称;学习联系的属性为学生号、课程号、成绩。其他属性自行设计。 2.数据库的建立 建立数据库及相应的数据库表 3.数据库的使用 a.在数据库表中插入数据 b.设计SQL语言使其分别满足下列要求 查找学号为20070101的学生姓名; 查找“计算机基础”课程的课程编号 查找20070
时间: 2024-03-26 07:34:31 浏览: 60
很抱歉,我之前回答了部分问题,这里是完整的回答:
1. 数据库设计思路:
- 学生、班级、课程应该分别作为一个实体,每个实体都应该包含对应的属性;
- 学生和班级之间应该建立联系,班级和课程之间也应该建立联系;
- 学生和课程之间的联系应该包含成绩属性。
2. 数据库表结构:
- 学生表:包含学号、姓名、班级等属性;
- 班级表:包含班级号、班级名称、班长学号等属性;
- 课程表:包含课程号、课程名称等属性;
- 学习联系表:包含学号、课程号、成绩等属性。
3. 数据库的使用:
- 在数据库表中插入数据:
```
INSERT INTO 学生 (学号, 姓名, 班级) VALUES ('20070101', '张三', '200701');
INSERT INTO 班级 (班级号, 班级名称, 班长学号) VALUES ('200701', '计算机科学与技术1班', '20070102');
INSERT INTO 课程 (课程号, 课程名称) VALUES ('C001', 'C语言');
INSERT INTO 学习联系 (学号, 课程号, 成绩) VALUES ('20070101', 'C001', 90);
```
- 设计SQL语句使其分别满足下列要求:
- 查找学号为20070101的学生姓名:
```
SELECT 姓名 FROM 学生 WHERE 学号 = '20070101';
```
- 查找“计算机基础”课程的课程编号:
```
SELECT 课程号 FROM 课程 WHERE 课程名称 = '计算机基础';
```
- 查找20070102号同学学习的课程名:
```
SELECT 课程名称 FROM 学生, 学习联系, 课程 WHERE 学生.学号 = 学习联系.学号 AND 学习联系.课程号 = 课程.课程号 AND 学生.学号 = '20070102';
```
- 查找学习“C语言”课程的学生学号:
```
SELECT 学号 FROM 学习联系, 课程 WHERE 学习联系.课程号 = 课程.课程号 AND 课程.课程名称 = 'C语言';
```
- 查找200701班班长的姓名:
```
SELECT 姓名 FROM 学生, 班级 WHERE 学生.班级 = 班级.班级号 AND 班级.班长学号 = 学生.学号 AND 班级.班级号 = '200701';
```
- 查找成绩高于80分的学生学号:
```
SELECT 学号 FROM 学习联系 WHERE 成绩 > 80;
```
- 查找“C语言课程”的平均成绩:
```
SELECT AVG(成绩) FROM 学习联系, 课程 WHERE 学习联系.课程号 = 课程.课程号 AND 课程.课程名称 = 'C语言';
```
注意:以上SQL语句仅供参考,具体语句还需根据实际情况进行调整。
阅读全文