课程表数据库
① 把课程表存进SQL数据库里,大家有什么好的想法
课程表(第几节课,周一,周二,周三···周日)
② 假设“学生—课程”数据库中包含学生表、课程表、学生选课表3个表
--1
selectSname,SagefromStudentwhereSage<(selectSagefromStudentwhereSno='某一学生')andSdept='数学系'
--2
(selectSnofromSC)
--3
((*)=(selectcount(*)fromCourse))
--4
题意不清楚
③ 在数据库中存储学生一周的课程表,数据库如何设计
您好,可以这样设计
数据库需要设计一天的8节课 8个字段 分别存 8节课 主键设置成星期 然后还有班级字段,班级字段可以做关联字段;
举例
----------------------
星期(主键) 1节 2节 3节 4节 5节 6节 7节 8节 班级
星期三 物理 数学 体育 语文 英语 计算机 物理 生物 一班
星期四 物理 数学 体育 语文 英语 计算机 物理 生物 三班
根据前台选择后台对应查询,比如选择一班,会根据今天的星期做判断主键值,然后在根据查询条件班级。就会把一般今天的所有8节课程列出来。
④ 数据库中包含学生表、课程表、学生选课表3个表,分别是什么
1、SELECT
课程号,
课程名,
课程学分
FROM
课程
WHERE
课程号
IN(SELECT
课程号
FROM
选课
GROUP
BY
课程号
HAVING
COUNT(学生号)
BETWEEN
2
AND
4
)
2、SELECT
MAX(成绩)
-
MIN(成绩)
AS
分数之差
FROM
选课
倘若要每门课程相差
SELECT
课程,
MAX(成绩)
-
MIN(成绩)
AS
分数之差
FROM
选课
GROUP
BY
课程
⑤ 1.在学生数据库中有三张数据表,即学生表、课程表和选课表,三张表的表数据如下,写出创建学生表、课程
create table student(S_no char(9), S_name char(20), S_sex char(2), S_age int, S_department char(20))
create table course (C_no char(10), C_name char(20), C_teacher char(20) )
create table choice(S_no char(9), C_no char(10), S_score int)
insert into student(S_no, S_name, S_sex, S_age, S_department)
values('001', '李志强', '男', 20, '计算机系' )
insert into student(S_no, S_name, S_sex, S_age, S_department)
values('002', '张 亮', '男', 21 '建筑工程系' )
insert into student(S_no, S_name, S_sex, S_age, S_department)
values('003', '李 平', '女', 19 '计算机系' )
insert into course(C_no, C_name, C_teacher )
values('C001', 'C语言', '王雅新' )
insert into course(C_no, C_name, C_teacher )
values('C002', '数据结构', '和海莲' )
insert into course(C_no, C_name, C_teacher )
values('C003', 'SQL Server2000', '陈 红' )
insert into choice(S_no, C_no, S_score)
values('001', 'C001', 83)
insert into choice(S_no, C_no, S_score)
values('001', 'C002', 80 )
insert into choice(S_no, C_no, S_score)
values('002', 'C001', 75)
insert into choice(S_no, C_no, S_score)
values('002', 'C004', 85)
insert into choice(S_no, C_no, S_score)
values('003', 'C002', 88)
insert into choice(S_no, C_no, S_score)
values('003', 'C003', 86)
⑥ 在数据库teacher_class下,写出创建教师表、课程表、授课表的SQL语句,各表结构如下所示:
(1)alter table tc add ‘修课类别’ nchar(1);
(2)alter table tc modify ‘修课类别’ nchar(2);
(3)alter table tc drop column ‘修课类别’;
⑦ 数据库中建立学生表课程表选课表及其联系
以 access 为例,建立数据表如下:
1、学生表
⑧ 教学管理”数据库中有学生表、课程表和选课表,如何创建数据库反应三张表之间的联系
关于反映这三张表中数据之间的联系,提供三方面信息以供参考:
1、表关系分析:学生表与课程表是多对多的关系,建立一张关联表也就是选课表来将学生表与程表产生关联。
2、数据库表分析:学生表包括学生相关信息,课程表包括课程相关信息,选课表放其他两张表的各一个字段(可以维护唯一性,比如说主键)。
3、实体分析:包含学生和课程两个实体,在每个实体中加入另外一个实体的集合。
⑨ 对于教学数据库的3个基表(S表示学生表,C表示课程表,SC表示学生选课表,假设基表中
1.create table S
(SNO char(10) primary key,
SNAME varchar(20),
AGE int,
SEX char(2)default '男')
2.SELECT CNO,CNAME FROM C WHERE TEACHER='LI'
3.insert into C values('C01','高等数学','LI')
4.SELECT SNO,SNAME FROM S WHERE AGE>21 AND SEX='男'
5.select CNAME,TEACHER FROM C INNER JOIN SC ON C.CNO=SC.CNO WHERE SC.SNO='S1'
6.SELECT SNAME FROM S
WHERE SEX='男' and SNO in(select SNO from SC inner join
C on SC.CNO=C.CNO WHERE C.TEACHER='LI')
7.select CNO,CNAME FROM C
WHERE CNO in(select CNO from SC inner join
S on SC.SNO=S.SNO WHERE S.SNAME='WANG')
8.SELECT CNO 课程号,SEX 性别,count(*) 总人数,AVG(GRADE) 平均成绩 FROM SC INNER JOIN
S ON SC.SNO=S.SNO group by CNO,SEX
9.select SNAME,SNO from S
where SNO in (select SNO FROM SC group by SNO having count(SNO)>=2)
⑩ 数据库多表查询,学生表,课程表,成绩表
直接将三表关联查询就可以了
select b.姓名,c.课程,a.成绩
from 成绩表 a,学生表 b,课程表 c
where a.学生学号 = b.学号 and a.课程编号 = c.编号 and a.成绩 < 60