




已阅读5页,还剩22页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本科生课程设计本科生课程设计 课程名称数据库原理及应用课程设计 课程编号 学号 学生姓名 所在专业计算机科学与技术 所在班级 指导教师 成绩 教师签字 目目 录录 一 设计总说明 IV 1 1 概况 IV 1 2 系统开发目的 IV 1 3 开发内容 IV 1 4 开发要求 IV 1 5 开发环境及工具 V 二 需求分析 V 2 1 系统背景分析 V 2 2 需求介绍 V 三 概念结构设计 V 3 1 系统功能模块设计图 VI 3 2 系统 E R 图 VI 四 逻辑结构设计 VII 五 物理结构设计 VII 5 1 数据库创建 VIII 六 系统实现 XII 6 1 登陆界面 XII 6 2 管理员主界面 XIII 六 优缺点及自我评价 XVII 八 参考文献 XVIII 九 代码 附录 XXI 一 设计总说明一 设计总说明 1 1 概况概况 名称 学生成绩管理系统 用途 学校等机构 功能 实现对学生信息 成绩的管理 1 2 系统开发目的系统开发目的 1 掌握利用 C 开发工具进行可视化程序设计的基本过程 2 理解 C 应用程序的事件驱动机制 掌握利用 C 开发工具编写程序代码的方法 能 熟练利用 C 语法规则进行算法设计和代码编写 3 掌握利用 ADO NET 对象进行数据库应用程序设计的基本方法 4 掌握 SQL 数据库数据表设计以及 SQL 语句的书写和 c 中的调用方法 通过掌握以上的知识同时提高自己的实践动手能力 1 3 开发内容开发内容 通过调查分析得到学生成绩管理系统的系统需求 从而设计出系统的概念模型 逻 辑模型 物理模型 通过 SQL2005 和 vs2010 的操作平台完成和实现相应的要求 再而 进行不断的调试和测试完善系统的漏洞 1 4 开发要求开发要求 学生各种信息的输入 包括学生的基本信息 成绩信息 课程信息等 学生各种信息的修改 实现基本信息 成绩信息 课程信息的删除 按照一定的条件 查询 统计符合条件的学生信息 能够实现多种查询方式 并且 可以进行简单的学生信息统计 实现基本信息 成绩信息 课程信息的导入导出等等 1 5 开发环境及工具开发环境及工具 系统前台开发软件 Microsoft 公司的 Visual Studio 2008 系统后台管理软件 SQL Server Management Studio 2005 系统开发语言 C 二 需求分析二 需求分析 2 1 系统背景分析系统背景分析 随着电脑的普及 信息量的增大 现在几乎每个学校乃至每个教育机构也顺应时代 的发展 纷纷抛弃繁琐的人工管理学生的成绩以及学生的信息的方式 而是采用各种 管理软件进行管理 采用软件系统进行管理具有处理数据速度更快 信息量更多 更 加准确 更加简便等特点 所以学生成绩管理系统成为学校和其他教育机构不可或缺 的管理软件 2 2 需求介绍需求介绍 通过调查分析以及结合案例 系统应该达到以下的要求 1 系统用户应包括两个层次 管理员和学生 管理员进行所有的操作 而学生 只能够进行查询个人成绩信息 查询个人信息和修改密码 2 能够实现学生基本信息的录入 修改 删除 3 能够实现课程信息的录入 修改 删除 4 能够实现成绩信息的录入 修改 删除 5 具有丰富的查询功能 能对学生信息 课程信息 成绩信息等进行查询 6 系统运行稳定 安全可靠 7 用户界面设计美观 友好 使用操作便捷 三 概念结构设计三 概念结构设计 3 1 系统功能模块设计图系统功能模块设计图 3 2 系统系统 E R 图图 根据对数据项与数据结构的分析 设计出能够满足系统需求的各种实体 及它们之间 的关系 为后面的逻辑结构设计打下基础 系统 E R 图可以将各个实体之间的关系显 示出来 将各个实体间的属性依赖表示明白 学生成绩管理学生成绩管理 系统系统 管理员管理员 学生学生 用用 户户 管管 理理 学学 生生 信信 息息 管管 理理 课课 程程 信信 息息 管管 理理 成成 绩绩 信信 息息 管管 理理 成成 绩绩 查查 询询 统统 计计 学学 生生 信信 息息 查查 询询 个个 人人 成成 绩绩 查查 询询 个个 人人 信信 息息 查查 询询 密密 码码 修修 改改 四 逻辑结构设计四 逻辑结构设计 逻辑结构设计的任务就是把概念模型设计阶段设计好的基本 E R 图转换为与选 用的具体机器上的 DBMS 产品所支持的数据库模型相符合的逻辑结构 现在选用关系 模型 E R 图转换如下 用户用户 用户名 用户密码 权限 学生信息学生信息 学号 姓名 性别 生日 民族 政治面貌 身份证 电话 班级 所在 系 家庭地址 用户 产生 姓 名 学 号 民 族 出 生 年 月 性 别 地 址 权 限 密 码 用 户 名 课程 教 师 课 程 名 课 程 号 考核 学生 选课 身 份 证 政 治 面 貌 电 话班 级 院 系 成绩 成 绩 学 号 课 程 号 课程信息课程信息 课程号 课程名 教师 成绩信息成绩信息 学号 课程名 成绩 五 物理结构设计五 物理结构设计 数据库物理设计阶段的任务是根据具体计算机系统的特点 给给定的数据库系统 确定合理的存储结构和存取方法 我通过创建索引 存储过程 触发器 建立事务等 来实现物理结构的优化 5 1 数据库创建数据库创建 用户表 用户表 学生表 学生表 课程表 课程表 成绩表 1 1 创建各种约束条件 来保证数据库的完整性操作 下面是添加外键参照的语句创建各种约束条件 来保证数据库的完整性操作 下面是添加外键参照的语句 外键参照 防止数据的非法操作 alter table SC add constraint SC Sno foreign key Sno references Student Sno constraint SC Sname foreign key Cno references Course Cno 2 2 创建索引 加快查询的速度创建索引 加快查询的速度 create unique index Student Sno on Sudent Sno create unique index Course Course on Student Cno 3 3 创建触发器 通过触发器来实现相关的自动工作创建触发器 通过触发器来实现相关的自动工作 创建触发器 自动生成用户 生成默认密码和用户类型 create trigger insert user on Student for insert as begin declare username char 20 select username inserted Sname from inserted insert into UserInfo values username 888 1 end 创建级联删除 删除学生信息 自定删除他的用户信息 create trigger delete student on Student for delete as begin delete UserInfo from UserInfo deleted where UserInfo UserName deleted Sname end drop trigger pp drop trigger delete student1 创建级联删除 删除学生信息 自定删除他的成绩信息 create trigger delete student1 on Student for delete as begin delete SC from SC deleted where SC Sno deleted Sno end go 创建级联修改 修改学生学号和课程号时自动修改SC表中的学号和课 程号 create trigger Student SC update on Student for update as if update Sno begin update SC set Sno select Sno from inserted from SC deleted where SC Sno deleted Sno end go create trigger Course SC update on Course for update as if update Cno begin update SC set Sno select Cno from inserted from SC deleted where SC Cno deleted Cno end go 4 创建视图 通过视图进行查找 提高数据库的安全性创建视图 通过视图进行查找 提高数据库的安全性 创建视图 create view Student Sno Query Sno Sname Cname Teacher Grade Gpa as select Student Sno Student Sname Cname Teacher Grade Grade 50 0 10 from SC Student Course where SC Sno Student Sno and SC Cno Course Cno order by grade desc 5 使用事务 提高数据的准确性 在实现增删查改时 如果产生异常将会回滚使用事务 提高数据的准确性 在实现增删查改时 如果产生异常将会回滚 SqlTransaction trans con BeginTransaction try trans Commit catch Exception trans Rollback finally trans Dispose 在c 编写的过程中 把上面的代码嵌入进去就可以完成事务的检测 六 系统实现六 系统实现 6 1 登陆界面登陆界面 本窗口为登录窗口 对用户身份和权限进行判断 如果输入匹配登录成功后进入主 界面 如果无法匹配会提示用户名或密码或权限输入错误 并且可以重置重新输入 6 2 管理员主界面管理员主界面 主界面上的菜单栏显示了用户可以进行的操作 点击后分别可以进入以下 界面 6 2 1 用户管理用户管理 用户管理窗口可以进行用户信息的增加 删除 查询和修改 6 2 26 2 2 学生信息管理 学生信息管理 学生信息管理窗口可以对学生的信息进行增加 删除 查询 修改以及学 生信息的导入与导出 导入 导入 6 2 36 2 3 课程信息管理 课程信息管理 课程信息管理对课程进行增加 删除 查询 修改 导入和导出 6 2 4 成绩管理 成绩管理 成绩管理对成绩的增加 删除 修改 查询和导入导出 6 2 56 2 5 成绩查询统计 成绩查询统计 可以根据学号 姓名进行查询学生的成绩等信息 然后进行简单的统计 6 2 6 学生信息查询 学生信息查询 可以根据学号 姓名进行查询学生信息的查询 6 3 学生用户主界面学生用户主界面 此界面的功能同管理员界面的功能大同小异 只是执行的只有查询功能和密码修改 功能 下面是密码修改界面 七 优缺点及自我评价七 优缺点及自我评价 经过好几个星期的学习 我完成了基于 C net 的学生成绩管理系统的课程设 计 从开始的系统分析 到系统功能的逐一具体化和实现 最后整体完成了一个可 以将就使用的学生成绩管理系统 在这段学习过程中 从开始的一无所知 到逐渐 的掌握 vs2010 的使用 进而实现对页面的设计 数据库的连接等知识的掌握 通 过自己上网查资料和咨询有经验的同学 提高了自己的独立实践能力 我不但从这 次课程设计中学到了技能上的能力 而且我也更加坚信自己的能力 只要敢于去尝 试 付出了 就一定会有收获 下面对本次课程设计的优缺点进行总结 优点 使用了数据库的触发器简化了用户添加的步骤 产生级联删除等 使用 事务以及视图 提高了系统的完整性和安全性 系统采用父子窗体 整体使用比较 的方便 界面较为美观 缺点 时间比较紧 没有考虑太多的细节的方面 比如 身份证输入验证限制 等等 对学生成绩的统计只是实现了简单的统计 没有加入排名等功能 八 参考文献八 参考文献 1 精通 C 与 NET 4 0 2 数据库系统概论第四版 王珊编 视频教程 Winform 基础 苏坤 传智播客 4 C 4 0 权威指南 姜晓东 扫描版 九 九 附录 部分主要代码 附录 部分主要代码 9 1 连接数据库连接数据库 适配文件 连接语句 string constr ConfigurationManager ConnectionStrings conStr ConnectionString SqlConnection con new SqlConnection constr 连接数据库 9 2 登录界面代码 using System using System Collections Generic using System ComponentModel using System Data using System Drawing using System Linq using System Text using System Windows Forms using 学生成绩管理系统 basiclass using System Data SqlClient using System Configuration namespace 学生成绩管理系统 public partial class Frm Login Form public Frm Login InitializeComponent private void button1 Click object sender EventArgs e loginpass 调用登录验证的函数 public void loginpass 登录验证的函数 if txt Username Text Trim string IsNullOrEmpty txt Username Text MessageBox Show 用户名不能为空 登录提示 txt Username Focus else if txt Userpass Text Trim string IsNullOrEmpty txt Userpass Text MessageBox Show 密码不能为空 登陆提示 txt Userpass Focus else if cbo Type Text Trim string IsNullOrEmpty cbo Type Text MessageBox Show 请选择登录类型 登陆提示 else UserInfo u null 此前创建UserInfo cs string constr ConfigurationManager ConnectionStrings conStr ConnectionString SqlConnection con new SqlConnection constr try 使用try finally来释放资源 con Open 打开数据库 int userRole cbo Type SelectedIndex string sql string Format select from userInfo where UserName 0 and UserPass 1 and UserRole 2 txt Username Text txt Userpass Text userRole string Format 用于格式化字符串 SqlCommand cmd new SqlCommand sql con 获取命令执行对象 SqlDataReader dr cmd ExecuteReader 获取数据读取对象 if dr Read u new UserInfo 创建一个新的对象 u UserId Convert ToInt32 dr UserId u UserName dr UserName ToString u UserPass dr UserPass ToString u UserRole dr UserRole ToString dr Close if u null LoginInfo LoginUserInfo u 保存登录用户信息 this Visible false Frm main fm new Frm main Frm main1 fm1 new Frm main1 if LoginInfo LoginUserInfo UserRole 0 fm Show 显示管理员主窗体 else fm1 Show 显示学生主窗体 else MessageBox Show 用户名或密码错误 登录提示 catch Exception MessageBox Show 请注意App config数据库连接字符串 或查找 try中的错误 登录提示 finally con Close private void btn login Click KeyDown object sender KeyEventArgs e 使用键盘事件 if e KeyCode Keys Enter if txt Username Text else SendKeys Send TAB private void btn reset Click Click object sender EventArgs e 重置 txt Username Text txt Userpass Text txt Username Focus 9 39 3 管理员主界面管理员主界面 using System using System Collections Generic using System ComponentModel using System Data using System Drawing using System Linq using System Text using System Windows Forms using 学生成绩管理系统 basiclass using 学生成绩管理系统 Student using 学生成绩管理系统 Course using 学生成绩管理系统 SC using 学生成绩管理系统 Student search namespace 学生成绩管理系统 public partial class Frm main Form public Frm main InitializeComponent private void timer1 Tick object sender EventArgs e tslb time Text DateTime Now ToString yyyy年 MM月 dd日 HH时骸 mm分 ss秒 private void Frm main Load object sender EventArgs e tslb name Text 登录信息欢迎您 LoginInfo LoginUserInfo UserName 当前时间 tslb time Text DateTime Now ToString yyyy年MM月dd日HH时mm分 ss秒 private void Frm Main FormClosing object sender FormClosingEventArgs e DialogResult dr MessageBox Show 确认关闭系统 警告 MessageBoxButtons YesNo MessageBoxIcon Warning if dr DialogResult Yes this Dispose Application Exit else e Cancel true Frm UserInfo yh new Frm UserInfo private void tsmi User Click object sender EventArgs e yh MdiParent this 设置父窗体 if yh Visible yh Focus return else yh new Frm UserInfo yh MdiParent this yh Show return Frm Student xs new Frm Student private void tsmi Student Click object sender EventArgs e xs MdiParent this 设置父窗体 if xs Visible xs Focus return else xs new Frm Student xs MdiParent this xs Show return Frm Course kc new Frm Course 显示学生息管理窗口 private void tsmi Co
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年上海市房屋租赁合同 经纪机构代理成交版
- 数据驱动的诊疗优化-洞察及研究
- 小学科学实验活动记录范文
- 第10课 网络文化与网络道德教学设计初中信息技术青岛版2019第一册-青岛版2019
- 2024年初中级审计师考试真题审计理论与实务及答案
- 贵州国企招聘2025习水县绿洲公共交通有限责任公司招聘18人笔试参考题库附带答案详解
- 2025年高级审计师考试真题带答案
- 医院专科建设年度工作方案汇编
- 山东邹平建业集团招聘笔试参考题库附带答案详解
- 2025园林防蛀木材购销合同
- 《车刀与切削原理》课件
- 2024高考物理全国二卷
- 2024-2030年中国猎头公司市场发展前景调研及投资战略分析报告
- 注塑检验员培训
- 消防安全操作员培训合同范本
- 肿瘤登记资料的统计分析-生存分析
- 消防控制室操作规程培训
- 国庆节磨豆腐活动方案
- 运输供应商管理制度
- 七年级上册生命、生态、安全教案全册
- 2025年日历( 每2个月一张打印版)
评论
0/150
提交评论