数据库课程设计学生成绩管理系统Word文档下载推荐.docx
- 文档编号:3618009
- 上传时间:2023-05-02
- 格式:DOCX
- 页数:29
- 大小:519.43KB
数据库课程设计学生成绩管理系统Word文档下载推荐.docx
《数据库课程设计学生成绩管理系统Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《数据库课程设计学生成绩管理系统Word文档下载推荐.docx(29页珍藏版)》请在冰点文库上搜索。
数据项是数据库的关系中不可再分的数据单位,下表分别列出了数据的名称、数据类型、长度、取
值能否为空。
利用SQLServer2000建立“学生选课”数据库,其基本表清单及表结构描述如下:
数据库中用到的表:
数据库表名
关系模式名称
备注
Student
学生表
学生学籍信息表
Course
课程表
课程基本信息表
Teach
教师表
教师基本信息
Stu_Cour
选课表
学生选课信息
Score
成绩
选课成绩信息表
Student基本情况数据表,结构如下:
字段名
字段类型
NotNull
说明
Sno
Char
Primarykey
学号
Sname
char
学生姓名
Sdept
学院
Sclass
班级
Sage
intr
年龄
Ssex
性别
Teach基本情况数据表,结构如下
Tno
教师号
Tname
教师姓名
Tsex
Cno
外部码
所授课程
Tage
int
Tdept
Course数据表,结构如下:
约束控制
主键(primarykey)
课程号
Cname
notnull
课程名称
Ctime
课时
Stu_cour情况数据表,结构如下:
外部键
Score情况数据表,结构如下:
score
三 概念模型设计
由需求分析的结果可知,本系统设计的实体包括:
(1) 学生基本信息:
学号,姓名,学院,班级,年龄,性别。
(2) 课程基本信息:
课程名,课程号,学时。
(3) 教师基本信息:
教师号,教师姓名,职称,年龄,性别,学院
(4) 学院基本信息:
学院名、学院号、院长姓名
这些实体间的联系包括:
(1) 每位学生可以学习多门课程,每门课程可供多位学生学习。
(2) 每门课可以由多个老师教,每个老师可以教多门课程
(3) 学生每选一门课就可以得到一个成绩,不选此课就不能取得该课程成绩
由上述分析可得到系统的E—R图:
四 逻辑和物理结构设计
4.1由系统E—R图转化而得到的关系模式如下:
(1) 学生(学号,姓名,性别,年龄,学院,班级),其主关键字为学号;
(2) 课程(课程名,课程号,学时),其中主关键字为课程号;
(3) 教师(教师号,教师姓名,职称,年龄,性别,学院,所授课程号)
(4) 选课(课程号,学号)其中主关键字为学号和课程号
(4)成绩(课程号,学号,分数)其中主关键字为学号和课程号。
4.2 确定关系模型的存取方法
在将概念模型转换成物理模型之后,我们可以对物理模型进行设计,双击物理模型的关系,可以对该关系的名称、注释等信息进行查询。
可对该关系的属性列进行设计,可分别设置其名称、码、数据类型以及主码、是否为空等。
在实际设计中最常用的存取方法是索引发,使用索引可以大大减少数据的查询时间,在建立索引时应遵循:
在经常需要搜索的列上建立索引;
在主关键字上建立索引;
在经常用于连接的列上建立索引,即在外键上建立索引;
在经常需要根据范围进行搜索的列上创建索引,因为索引已经排序,其指定的范围是连续的等规则。
才能充分利用索引的作用避免因索引引起的负面作用。
4.3 确定数据库的存储结构
确定数据库的存储结构主要指确定数据的存放位置和存储结构,包括确定关系、索引、日志、备份等的存储安排及存储结构,以及确定系统存储参数的配置。
因为该成绩管理系统的数据量小,,所以我们只用把数据存储在使用的电脑硬盘上,不用作更多的安排。
(1)创建学生基本信息表:
CREATETABLEStudent(
SNOCHAR(5),
SNAMECHAR(10)NOTNULL,
SDEPTCHAR
(2)NOTNULL,
SCLASSCHAR
(2)NOTNULL,
SAGENUMBER
(2),
SSEXCHAR
(2),
CONSTRAINTSNO_PKPRIMARYKEY(SNO));
2,创建表Course
CREATETABLECourse(
CNOCHAR(3),
CNAMEVARCHAR2(16),
CTIMENUMBER(3),
CONSTRAINTCNO_PKPRIMARYKEY(CNO)
)
3,创建表Teach
CREATETABLETeach(
TNOVARCHAR(6),
TNAMEVARCHAR(8),
TSEXCHAR
(2),
TAGENUMBER
(2),
TDEPTCHAR
(2),
CONSTRAINTTT_PKPRIMARYKEY(TNO),
CONSTRAINTCNO_FKFOREIGNKEY(CNO)REFERENCESCourse(CNO)
4, 创建表Stu_cno
CREATETABLEScore(
SNOCHAR(5),
CONSTRAINTSC_PKPRIMARYKEY(SNO,CNO),
CONSTRAINTSNO_FKFOREIGNKEY(SNO)REFERENCESStudent(SNO),
CONSTRAINTCNOM_FKFOREIGNKEY(CNO)REFERENCESCourse(CNO)
5. 创建成绩表
SCORENUMBER(5,2),
CONSTRAINTScore_FKFOREIGNKEY(SNO,CNO)REFERENCESStu_cno(SNO,CNO))
二、插入数据
1,Student
INSERTINTOStudentVALUES('
96001'
马'
小燕'
'
CS'
01'
21,'
女'
);
96002'
黎'
明'
18,男'
'
96003'
刘'
东明'
MA'
96004'
赵'
志勇'
IS'
02'
20,'
男'
97001'
蓉'
19,女'
97002'
李'
成功'
97003'
03'
19,'
97004'
丽'
96005'
司'
马志明'
2,Course
INSERTINTOCourseVALUES('
001'
数'
学分析'
144);
002'
普'
通物理'
003'
微'
机原理'
72);
004'
据结构'
005'
操'
作系统'
64);
006'
据库原理'
007'
DB_Design'
48);
008'
程'
序设计'
56);
3,Teach
INSERTINTOTeachVALUES('
9401'
王'
成钢'
35,'
9402'
正科'
40,'
9403'
严'
敏'
33,'
9404'
高'
28,'
9405'
32,'
9406'
玉兰'
43,'
9407'
49,'
9408'
悦'
9409'
48,'
4,Score
INSERTINTOScoreVALUES('
77.5);
89);
86);
82);
88);
92.5);
90);
92);
76);
69);
96);
95);
87);
91);
'
85);
75);
59);
58)
五 数据库的实施与维护
5.1数据库的实施:
此阶段主要任务包括创建数据库,加载初始数据,数据库试运行,数据库的安全性和完整性控制
数据库的备份与恢复,数据库性能的监督分析和改仅,数据库的重组和重构等。
首先在数据库中建立一个学生成绩管理系统数据库,然后新建一个数据源。
部分截图和代码如下:
学生表的增删改查:
增加学生信息
更新学生信息
删除学生信息
11
学生表增加、删除、修改代码(部分)
usingSystem;
usingSystem.Collections.Generic;
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem.Data.OracleClient;
usingSystem.Drawing;
usingSystem.Linq;
usingSystem.Text;
usingSystem.Windows.Forms;
namespaceMyProgram
{
publicpartialclassForm3:
Form
privatestringConnectionString="
DataSource=ahut;
"
+
UserID=Scott;
Password=123456"
;
privateOracleConnectionconn=null;
privateOracleDataAdapterDataAdapter=null;
privateDataSetdataset=null;
//privateOracleCommandcommand=null;
publicForm3()
InitializeComponent();
}
privatevoidForm3_Load(objectsender,EventArgse)
conn=newOracleConnection(ConnectionString);
showData();
privatevoidshowData()
stringtname="
try
if(conn==null)
conn.Open();
DataAdapter=newOracleDataAdapter("
select*fromstudent"
conn);
dataset=newDataSet();
DataAdapter.Fill(dataset);
dataGridView1.DataSource=dataset;
dataGridView1.DataMember=dataset.Tables[0].ToString();
tname=dataset.Tables[0].ToString();
//先清除所有绑定,然后再重新绑定
textBox1.DataBindings.Clear();
textBox2.DataBindings.Clear();
textBox3.DataBindings.Clear();
textBox4.DataBindings.Clear();
textBox5.DataBindings.Clear();
textBox6.DataBindings.Clear();
textBox1.DataBindings.Add("
Text"
dataset,"
table.sno"
textBox2.DataBindings.Add("
table.sname"
textBox3.DataBindings.Add("
table.sdept"
textBox4.DataBindings.Add("
table.sclass"
textBox5.DataBindings.Add("
table.sage"
textBox6.DataBindings.Add("
table.ssex"
catch(Exceptionex)
MessageBox.Show(ex.ToString());
privatevoidbutton1_Click(objectsender,EventArgse)
stringstrOracle="
insertintostudentvalues("
strOracle+="
+textBox1.Text;
学//号
+textBox2.Text;
姓//名
+textBox3.Text;
学//院
+textBox4.Text;
班//级
"
+textBox5.Text;
/年/龄
+textBox6.Text+"
)"
性//别
OracleCommandcommand=null;
command=newOracleCommand();
command.Connection=conn;
command.CommandText=strOracle;
intn=command.ExecuteNonQuery();
/执/行Insert语句
if(n>
0)
MessageBox.Show("
成功插入数据!
MessageBox.Show(ex.Message);
finally
if(conn!
=null)
conn.Close();
command.Dispose();
privatevoidbutton2_Click(objectsender,EventArgse)
Form7f7=newForm7();
f7.Show();
privatevoidbutton3_Click(objectsender,EventArgse)
OracleCommandBuilderbuilder=newOracleCommandBuilder(DataAdapter);
intn=DataAdapter.Update(dataset,"
Table"
成功更新数据,有"
+n.ToString()+"
行受到更新!
catch
更新不成功!
privatevoidbutton4_Click(objectsender,EventArgse)
stringcurNo="
if(dataGridView1.Rows.Count<
=1)
return;
intindex=dataGridView1.CurrentRow.Index;
dataGridView1.Rows[index].Selected=true;
curNo=this.dataGridView1.Rows[index].Cells[0].Value.ToString();
deletefromstudentwheresno='
+curNo+"
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 课程设计 学生 成绩管理系统
![提示](https://static.bingdoc.com/images/bang_tan.gif)