数据库课程设计学生选课管理系统.docx
《数据库课程设计学生选课管理系统.docx》由会员分享,可在线阅读,更多相关《数据库课程设计学生选课管理系统.docx(16页珍藏版)》请在冰豆网上搜索。
![数据库课程设计学生选课管理系统.docx](https://file1.bdocx.com/fileroot1/2023-1/27/8491ed6a-46b3-4812-9d65-3d3d24b97512/8491ed6a-46b3-4812-9d65-3d3d24b975121.gif)
数据库课程设计学生选课管理系统
本科课程设计(报告)
数据库课程设计
一、摘要
本次课程设计要求我们设计一个名为“学生选课管理系统”的数据库系统,要求我们建立数据库SC,包括表STUDENT、COURSE和SC(详细情况参考课本),另外可根据实际需要增加其它表格,各表需增加一定数量的数据。
以实现登录系统(通过用户名和密码),管理(录入、查询、修改和删除)学生、课程基本资料,管理(录入、查询、修改和删除)学生所选课程成绩,统计每个学生的总分、平均分以及排名,修改用户密码等功能。
我根据相关要求,并参考华南理工大学教务管理系统的相关模块和样式,建立了自己的学生选课管理系统,利用相关软件,查阅了相关的书籍,并在和同学的讨论和帮助下完成了本次课程设计的要求,基本上达到了题目中所提到的要求。
关键词:
数据库学生选课管理表c#
二、数据库设计
2.1需求分析:
首先根据华南理工大学教务管理系统的模块,这里设计本系统登录的人有三身份:
第一种是学生,能够查询个人基本信息以及修改个人基本信息包括课程信息以及成绩等,但是不具有修改这些信息的权利;其次是普通教师,可以查询自己的个人基本信息以及所教课程的基本信息,能够为自己的学生录入成绩,修改成绩;第三种是管理员,除具有教师的功能外,还具有添加或删除该系学生、教师、以及课程的权限。
学生的个人基本信息应该包括学号、姓名、性别、身份证号、出身年月、、密码、所选专业、入学年份等;普通教师的个人基本信息应该包括工号、姓名、密码、职称、所在系等;
2.2数据字典
现就一些表的属性举例如下:
(1)、学生表属性举例(Student):
Sno(主码)
nchar(12)
学号
Clno(外码)
nchar(10)
课程代号
Sname
nchar(20)
姓名
Ssex
nchar
(2)
性别
borndate
nchar(10)
出生年月
Sschyear
int
入学年份
Spassword
nchar(6)
系统登录密码
(2)、教师表属性举例(Teacher)
Tno(主码)
nchar(12)
工号
Tname
nvarchar(50)
姓名
Tpassword
nchar(6)
登录密码
(3)、专业表属性举例(Major)
Mno
char(10)
专业代号
Mname
nvarchar(50)
专业名字
(4)、课程表属性举例(Course)
Cno(主码)
nchar(10)
课程代号
Cpno(外码)
nchar(10)
先修课程代号
Mno(外码)
nchar(10)
专业代号
Cname
nvarchar(50)
课程名称
Ccredit
int
课程学分
(5)、专业课程表属性举例(MC)
Mno(主码)
nchar(10)
专业代号
Cno
nchar(10)
课程号
Year
int
年级
Cproperty
nchar(10)
课程性质
(6)、学生课程信息表属性举例(SC)
Sno
char(12)
学号
Cno
char(10)
课程号
Grade
int
成绩
(Sno,Cno)为主码,Sno,Cno为外码
(7)、班级表属性举例(Class)
Clno(主码)
nchar(10)
班级号
Mno(外码)
nchar(10)
专业号
Clname
nvarchar(50)
班级名
1
2.3逻辑结构设计
关系模式
Student(Sno,Sname,Ssex,Borndate,Sphoto,SID,Sschyear,Spassword,Status,race,bornplace,Spassword,Clno);
Department(Deptno,Deptname,Password)
Major(Mno,Mname,ReCredit,SeCredit,Deptno);
Course(Cno,Cname,Ccredit,Chour,Cpno,Deptno);
Class(Clno,Clname,Mno)
Teacher(Tno,Tname,TID,Tpassword,Bornplace,Race,Status,Title,Tsex,Tphoto,Borndate,Deptno);
MC(Mno,Cno,Cyear,Cterm,Cproperty,Tno)
SC(Sno,Cno,Grade);
标下划线的属性或者属性组为该关系模式的主码,并且在关系中定义了外码。
各个关系的参照图如下所示:
2.4相关程序代码举例
(1)StudentGrade.xaml
Class="Database.StudentGrade"
xmlns="
xmlns:
x="
Title="学¡ì生¦¨²成¨¦绩¡§查¨¦询¡¥"Height="562"Width="616"Loaded="Window_Loaded"ResizeMode="NoResize"WindowStartupLocation="CenterScreen">
修T成¨¦绩¡§"Height="29"HorizontalAlignment="Left"Margin="165,57,0,0"Name="button2"VerticalAlignment="Top"Width="104"Click="button2_Click"/>
修T成¨¦绩¡§"Height="29"HorizontalAlignment="Right"Margin="0,57,154,0"Name="button3"VerticalAlignment="Top"Width="104"Click="button3_Click"/>
"Height="29"HorizontalAlignment="Left"Margin="469,58,0,0"Name="button4"VerticalAlignment="Top"Width="104"Click="button4_Click"/>
质¨º"Height="29"HorizontalAlignment="Left"Margin="427,7,0,0"Name="label3"VerticalAlignment="Top"Width="46"/>
消?
"Height="27"HorizontalAlignment="Right"Margin="0,108,71,0"Name="button6"VerticalAlignment="Top"Width="71"/>
获?
必À?
修T学¡ì分¤?
"Height="29"HorizontalAlignment="Left"Margin="24,30,0,0"Name="label4"VerticalAlignment="Top"Width="94"/>
获?
选?
修T学¡ì分¤?
"Height="29"HorizontalAlignment="Left"Margin="24,0,0,94"Name="label5"VerticalAlignment="Bottom"Width="80"/>
必À?
修T学¡ì分¤?
"Height="29"HorizontalAlignment="Left"Margin="262,27,0,0"Name="label8"VerticalAlignment="Top"Width="82"/>
选?
修T学¡ì分¤?
"Height="29"HorizontalAlignment="Left"Margin="262,79,0,0"Name="label9"VerticalAlignment="Top"Width="69"/>
修T学¡ì分¤?
"Height="26"HorizontalAlignment="Left"Margin="24,131,0,0"Name="label12"VerticalAlignment="Top"Width="94"/>
修T学¡ì分¤?
"Height="26"HorizontalAlignment="Left"Margin="262,131,0,0"Name="label14"VerticalAlignment="Top"Width="95"/>
程¨¬号?
"Width="100"/>
程¨¬名?
"Width="100"/>
程¨¬属º?
性?
"Width="100"/>
"Width="100"/>
(2)StudentInfo.xaml
Class="Database.StudentInfo"
xmlns="
xmlns:
x="
Title="学¡ì生¦¨²信?
息¡é"Height="421"Width="701"Loaded="Window_Loaded"WindowStartupLocation="CenterScreen"ResizeMode="NoResize">
名?
"Height="29"HorizontalAlignment="Left"Margin="27,21,0,0"Name="name"VerticalAlignment="Top"Width="38"Grid.Column="1"/>
别Àe"Grid.Column="1"/>
"Height="30"HorizontalAlignment="Left"Margin="13,247,0,0"Name="class"VerticalAlignment="Top"Width="58"Grid.Column="1"/>
学¡ì年¨º份¤Y"Height="25"HorizontalAlignment="Left"Margin="233,198,0,0"Name="year"VerticalAlignment="Top"Width="68"Grid.Column="1"/>
"Height="25"HorizontalAlignment="Left"Margin="27,201,0,0"Name="sno"VerticalAlignment="Top"Width="38"Grid.Column="1"/>