学生选课管理系统的表由什么组成

学生选课管理系统的表由什么组成,第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)

用LINQ(语言集成查询)完成你说的这些任务很方便,具体的细节问题还得你自己做。下面举出两个例子供你参考,这两个例子用数组代替数据库,对数据库也可用同样的方法。

例1,用bool值作关键字区分两组的结果,注意group子句中的表达式产生的结果。

public class Student

{

public string Name { get; set; }

public int ID { get; set; }

public List<int> Scores;

}

public static List<Student> GetStudents()

{

//实例化数据源,注意各成员内部成绩序列的初始化

List<Student> students = new List<Student>

{

new Student {Name="张勇", ID=1, Scores= new List<int> {97, 72, 81, 60}},

new Student {Name="王磊", ID=2 Scores= new List<int> {75, 84, 91, 39}},

new Student {Name="孙敏", ID=3, Scores= new List<int> {88, 94, 65, 85}},

new Student {Name="刘晓", ID=4, Scores= new List<int> {97, 89, 85, 82}},

new Student {Name="扬帆", ID=5, Scores= new List<int> {35, 72, 91, 70}}

};

return students;

}

static void Main()

{

List<Student> students = GetStudents();

//用true或false分组,查询变量是IEnumerable<IGrouping<bool, Student>>类型

var booleanGroupQuery = from student in students

group student by studentScoresAverage() >= 80;

foreach (var studentGroup in booleanGroupQuery)

{

ConsoleWriteLine(studentGroupKey == true "平均分高于80" : "平均分低于80");

foreach (var student in studentGroup)

ConsoleWriteLine("{0,4} {1} {2}", studentID, studentName, studentScoresAverage());

}

}

输出:

平均分低于80

1 张勇 775

2 王磊 7225

5 扬帆 67

平均分高于80

3 孙敏 83

4 刘晓 8825

例2,查询人名先排序再分组,可以用姓作为分组关键字。

string[] Name = {"张明","刘新","王宏","刘洋","张媛","张宝","王金贵","刘东","王凯","刘芳"};

var sortedGroups = from name in Name

orderby name

group name by name[0] into newGroup

select newGroup;

foreach (var nameGroup in sortedGroups)

{

ConsoleWriteLine(nameGroupKey);

foreach (var name in nameGroup)

ConsoleWriteLine(" "+name);

}

输出:

刘东 刘芳 刘新 刘洋

王宏 王金贵 王凯

张宝 张明 张媛

输出结果按姓分类,组内排序。

《C#编程指南》(清华大学出版社2011年1月出版,可网购)第5章和第17章专门讨论LINQ查询更新数据库。

select 学生信息表学号,学生信息表姓名 from 学生信息表,课程信息表,成绩表

where 课程信息表名称 = '数据库' and 成绩表成绩>=60

and 学生信息表学号 = 成绩表学号 and 成绩表课程代码 = 课程信息表课程代码

//自己把中文替换成英文字段名 我用的sql server数据库

select 学号、姓名、性别、年龄、所在系 from 学生 order by 年龄 desc, 学号 asc

select 学号,姓名 from 学生 where 姓名 in( select 姓名 from 学生 group by 姓名 having count()>1 )

update 成绩 set 成绩=0 where CNO=1

如果/不是除法的话 只是字符串 (除法暂时有问题)下班了 明天再来写

select C课程号,D课程名,D成绩 from COURSE C,(

select CONVERT(VARCHAR(50),A排名)+'/'+CONVERT(VARCHAR(50),BZS) as '排名/人数',a学号,a课程名,a成绩 FROM (

select ROW_NUMBER() over(partition BY 课程名 order by 成绩 desc) as 排名 , from GRADE where 学号='1') A,

(SELECT COUNT() as zs,课程名

FROM GRADE group by 课程名 ) B where a课程名=b课程名) D WHERE C课程名=D课程名

是不是有两张表的,学生信息表和学校的分院表 什么的,

你给点表的内容啊,如表一studentMessage studentId 学生学号,name 学生姓名,Id 分院编号 表二,选课表 Id 选课编号 name选课名 。。。。。

建议用 子查询 或 两表连接(inner join on)

select 学生姓名=name,

所在系=,所在系=(select Id from 表名 where 条件)

from studentMessage

select 学生姓名=name,

所在系=

from studentMessage

where 系Id not in(或in) (select 系name from 系表 where studentMessage系Id=系表系Id )

。。。有点乱不知道看懂没,

--创建教师信息表

create table 教师信息(

教师编号 int,

教师姓名 varchar(50),

性别 char(2),

年龄 int,

学历 varchar(20),

职称 varchar(30)

毕业院校 varchar(50),

健康状况 varchar(20)

);

--学生信息表

create table 学生信息(

学号 int,

姓名 varchar(50),

所属院系 varchar(20),

已选课情况 vharchar(50)

);

--教室信息表

create table 教室信息(

可容纳人数 int,

空闲时间 datetime

);

--选课信息表

create table 选课信息(

课程编号 int,

课程名称 varchar(50),

任课教师 varchar(20),

选课的学生情况 varchar(50)

);

--成绩信息

create table 成绩信息(

课程编号 int,

课程名称 varchar(50),

学分 int,

成绩 int

);

-----------------------------

1select from 教师信息

where 职称='讲师' and 出生时间>'1970-01-01'

2select from 教室信息

where 空闲时间='周五' and 可容纳人数>'200'

3select sum(学分) from 成绩信息 a,选课信息 b,学生信息 c

where a已选课情况=b选课的学生情况 and b课程编号=a课程编号

4select count() from 学生信息 a,选课信息 b

where a已选课情况=b选课的学生情况 and 课程名称='数据库' and 所属院系='计算机系'

1) select 课程号, 课程名称 from 课程表 where 教师姓名='李老师'

2) select 学号, 姓名 from 学生表 where (性别='女') and (年龄>23)

3) select 课程名称 from 课程表 where 课程号 in (select 选课表课程号 from 选课表,学生表 where (选课表学号=学生表学号) and (学生表姓名='李小波'))

4) select 姓名, 所在系 from 学生表 where 学号 in (select distinct 学号from 选课表 where 成绩 >= 80)

5) select distinct 学生表学号, 姓名 from 学生表, 选课表, 课程表 where (选课表学号=学生表学号) and (选课表课程号=课程表课程号) and (课程名称 <>' *** 作系统')

6)至少选修两门以上课程的学生姓名、性别。 select [姓名], [性别] from [学生表] where [学号] in (SELECT [学号] FROM [选课表] group by [学号] having count([学号])>1)

7) select count(学号) from 选课表, 课程表 where (选课表课程号=课程表课程号) and (教师姓名='李老师')

8) select distinct 学生表学号, 学生表姓名 from 学生表, 选课表, 课程表 where (选课表学号=学生表学号) and (选课表课程号=课程表课程号) and (教师姓名<>'李老师')

9) select top 1 学生表学号, 姓名, 所在系 from 学生表, 选课表, 课程表 where (选课表学号=学生表学号) and (选课表课程号=课程表课程号) and (课程名称 = ' *** 作系统) order by 成绩 desc

以上就是关于学生选课管理系统的表由什么组成全部的内容,包括:学生选课管理系统的表由什么组成、1.在学生数据库中有三张数据表,即学生表、课程表和选课表,三张表的表数据如下,写出创建学生表、课程、给定数据库中,包括“学生表”,“课程表”,“选课表”等三个数据表,表结构如下: 学生表:学号(C,6),姓等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9737694.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存