




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、上海电机学院电子信息学院数据库原理课程设计设计题目: 学生选课信息管理系统 专 业: 软件工程 班 级: BX0903 学 号: 姓 名: 组 长: 组 员: 2021年12月课程设计评分表姓 名班 级学 号课设题目指导教师评分工程总分值分值得分设计文档30分文档格式封面2页面布局4目录格式3图表质量2页眉页脚2文档内容内容完整性6内容逻辑性5内容正确性6程序代码30分程序功能15编程标准7编程文档8辩论20分课题陈述7问题辩论10是否超时3考勤20分20总评成绩指导教师评语签名: 年 月 日教研室意见签名: 年 月 日课程设计辩论记录表教师提问学生答辩情况记录成绩辩论小组教师签名摘要随着科技
2、的不断开展,学生的选课信息已经摈弃了以往的手工文件管理阶段,进化成为了高科技、高效率的数据库应用程序来进行管理。学生选课信息管理系统是基于SQL SERVER数据库为后台、VB开发应用软件作为前台的一种C/S模式的数据库应用程序。使用学生选课信息管理系统可以更高效、准确地进行学生选课、查询、记录添加等各种操作,大大减少信息管理人员的负担。关键词:学生选课信息管理系统,VB,SQL SERVER数据库,C/S模式目录摘要4目录5第一章 系统概述6第二章 系统数据库设计局部72.1 需求分析72.1.1 需求描述72.1.2 数据流图82.1.3 数据字典92.2 数据库概念结构设计102.2.1
3、 E-R图102.2.2 实体及属性的定义102.3 数据库逻辑结构设计112.3.1 初始关系模式112.3.2 标准化处理112.4 数据库物理结构设计112.4.1 基于SQL Server的数据表设计122.4.2 索引表132.4.3 角色132.4.4 视图142.5 数据库操作局部152.5.1 数据库的插入操作152.5.4 数据库的备份及复原操作16第三章 系统界面设计局部193.1 应用程序与其菜单项规划193.2 登录界面设计193.3 主界面设计203.4 子界面设计21第四章 总结24主要参考文献25第一章 系统概述?数据库原理及应用?课程的学习,其主要的目标是能利用
4、课程中学习到的数据库知识与技术较好地开发设计出数据库应用系统,去解决各行各业信息化处理的要求。本实验主要在于稳固学生对数据库的根本原理和根底理论的理解,掌握数据库应用系统的设计开发的根本方法,进一步提高学生的综合运用所学的知识能力。为了使数据库的应用系统开发设计合理、标准、有序、正确、高效进行,现在广泛采用的是工程化6阶段开发设计过程与方法,它们是需求分析阶段、概念结构设计阶段、逻辑结构设计阶段、物理结构设计阶段、数据库实施、数据库系统运行与维护阶段。我们按照以上几点开发了学生选课管理系统数据库。学生选课信息管理系统要求读者较好的正我数据库知识与技术外,还要求读者掌握某种客户端开发工具或语言。
5、这里是利用相对简单易学易掌握的Visual Basic 6.0 开发工具来实现例如系统的。如果读者对该开发工具不熟悉,这里也无妨。这次课程设计能顺利通过是老师的细心指导和我们小组团结一致、努力的结果。在这次课程设计中每位同学都积极参与各项环节的设计,但我们也有分工。初步列出如下:孙诚是用VB制作前台的界面以及数据库整体设计与规划;张婉珺和王骏怡担任的工作是对系统的需求分析、构思数据流图、把E-R图转化成关系模型并对其进行标准化处理、用SQL语言建表、视图以及文档的初步编写等。陶静的工作是负责画数据流图和E-R图,以及转化初始关系模型,和内容摘要等的编写。孙诚作为组长,除对我们所制作单个模块审核
6、外还担任了WORD文档的总结排版。这次数据库的课程设计让我们对数据库的操作有了进一步的了解,受益匪浅。第二章 系统数据库设计局部2.1 需求分析 需求描述随着中国教育信息化时代的来临,各大校园对于内部信息的管理已经采用IT新潮的应用和管理系统技术来进行。为了紧随信息化时代的脚步,不被时代所淘汰,学生的信息管理也应当由传统的手工管理模式进化为软件与数据库结合应用的管理模式,从而加强学生信息的管理能力,让学校整体管理水平得到较大的提升。通过调查本地的学校,根据学校的具体情况设计学生选课信息管理系统。主要功能有:1. 学生管理:学生信息查询、插入、删除、修改等2. 课程管理:课程信息查询、插入、删除
7、、修改等3. 选课管理:选课信息查询、插入、删除、修改等4. 系统管理:操作员信息的管理 5. 系统维护:如数据平安管理含备份与恢复、操作员管理、权限设置等 数据流图请求结果正确信息输入请求更新请求更新结果输入请求核对结果待检验信息信息标准操作员正确信息输出结果错误信息个人信息管理系统查询认证操作员P规那么表信息标准输出结果输入请求教师输出结果学生输出结果输入请求查询信息处理标准查询表图2.1 数据流图1标准表修改请求标准表插入结果插入请求插入结果插入请求查询结果查询请求信息标准P2插入操作员P1查询标准表修改结果修改请求删除结果删除请求查询请求查询结果管理系统删除请求修改结果P3修改P4删除
8、图2.2 数据流图(2) 数据字典数据元素数据类型长度数据来源学号char5学生表学生姓名char8学生表性别char2学生表生日smalldatetimedefault学生表所在系char20学生表课程号char3课程表课程名char20课程表学分decimal3,1课程表学号char5选课表课程号char3选课表操作员编号char4操作员表操作员姓名char12操作员表密码char10操作员表权限char20操作员表2.2 数据库概念结构设计 E-R图学号选课成绩学生nm姓名所在系出生日期性别课程课程代码课程名称先行课号学分操作员操作员编号操作员姓名名密码权限图2.3 数据库E-R图 实体
9、及属性的定义表2-1 学生信息表Student的表结构主码列 名数据类型宽度小数位空否备 注PkSnoChar5 N学号 SnameChar8 N姓名 SexChar2 Y性别 SbirthSmallDatetime Y出生日期 SdeptChar20 Y所在系表2-2 课程信息表Course的表结构主码列 名数据类型宽度小数位空否备 注PkCnoChar3 N课程代码 CnameChar20 N课程名称 CreditDecimal31Y学分表2-3 选
10、课成绩表SC的表结构主码列 名数据类型宽度小数位空否备 注PkSnoChar5 N学号CnoChar3 N课程代码 GradeDecimal51Y成绩表2-4 操作员表Operator的表结构主码列 名数据类型宽度小数位空否备 注PkOperator_idChar4 N操作员编号 Operator_nameChar12 N操作员姓名 PasswordChar10 Y密码 PermissionChar20 Y权限2.3 数据库逻辑结构设计 初始关系模式Student(Sno,Sname,Sex,S
11、birth,Sdept)其中各项含义分别为:学生学号,姓名,性别,出生日期,所在系Course(Cno,Cname,Credit)其中各项含义分别为:课程课程代码,课程名称,学分SC(Sno,Cno,Grade)其中各项含义分别为:选修学号,课程代码,成绩Operator(Operator_id,Operator_name,Password,Permission)其中各项含义分别为:操作员操作员编号,操作员姓名,密码,权限 标准化处理经过对初始关系模式的标准化处理以下关系模式中不存在局部函数依赖和传递函数依赖,已经到达3NF。下划线代表主码,斜体外码Student(Sno,Sname,Sex,
12、Sbirth,Sdept)Course(Cno,CnameCredit)SC(Sno,Cno,Grade)Operator(Operator_id,Operator_name,Password,Permission)2.4 数据库物理结构设计 基于SQL Server的数据表设计用SQL SERVER MANAGEMENT STUDIO建表,以学生表为例如下列图所示:图2.4学生表用SQL语言建表代码如下:create table Student(Sno char(5) primary key,Sname char (8) not null,Sex char(2) check (sex in(
13、'男','女'),Sbirth smalldatetime,Sdept char(20);gocreate table Course(Cno char(3) primary key,Cname char(20) not null,Credit Decimal(3,1)gocreate table SC(Sno char(5) references Student(Sno),Cno char(3) references Course(Cno),Grade decimal(5,1),constraint pk primary key(Sno,Cno)gocreate
14、 table Operator(Operator_id char(4) primary key,Operator_name char(12) not null,Password char(10),Permission char(20) default '0')go 索引表表2-5 学生信息表Student的表索引表索引列 名数据类型宽度主SnoChar5无SnameChar8无 SexChar2无 SbirthSmallDatetime 无 SdeptChar20表2-6 课程信息表Course的索引表索引列 名数据类型宽度主CnoCha
15、r3无CnameChar20无 CreditDecimal3表2-7 选课成绩表SC的索引表索引列 名数据类型宽度主SnoChar5CnoChar3 无GradeDecimal5表2-8 操作员表Operator的索引表索引列 名数据类型宽度主Operator_idChar4无 Operator_nameChar12无 PasswordChar10无 PermissionChar20 角色建立了操作员角色图2.5 角色 视图用SQL管理工具建立常用的一个视图,即学生_成绩视图。菜单栏中单击工具 向导 数据库 创立视图向导,选择你所要建的试图的对
16、象,选择列名,按照提示,最后单击完成即可。使用SQL语句建立视图的命令如下:create view 学生_成绩asselect sc.sno,sname,course o,cname,gradefrom student join sc on student.sno = sc.sno join course on course o =sc o 图2.6 学生_成绩视图预览2.5 数据库操作局部2.5.1 数据库的插入操作INSERT INTO <表名>(<属性列1>,<属性列2>) VALUES(<常量1>,<常量2>);例如:在学生表
17、中插入一个新同学的相关信息注:学号是主码,故不可以相同 insertinto studentvalues('04','张伟','男',1990-2-3,'计算机') 数据库的修改操作UPDATE <表名> SET<列名>=<表达式> WHERE<条件>例如:在学生表中修改学号为04的所在系为人文科学。update studentset sdept='人文科学'where sno='04' 数据库的删除记录操作 数据库的删除操作DELETE FROM&l
18、t;表名>WHERE<条件>例如:删除学号为04的相关信息deletefrom studentwhere sno='04' 数据库的备份及复原操作使用 SQL Server 模糊备份和复原操作: 将包含数据的扩展盘区写入备份集,而无需考虑使备份期间正由用户修改的页同步。这显著减小了备份对当前用户的影响。还使备份得以串行地复制页。取消了所有随机读取,从而加快使用频繁的系统中的备份过程。但这同时也意味着备份中的页以一种不一致的、无法恢复的状态存储。 将事务日志作为备份的一局部复制。 RESTORE 语句: RESTORE FILELISTONLY FROM DIS
19、K = 'D:info.bak' RESTORE DATABASE TestDB FROM DISK = 'D:info.bak' WITH MOVE 'info' TO 'D:testdb.mdf', MOVE 'info_log' TO 'D:testdb.ldf' 如果数据库不存在,那么创立数据库,并初始化数据库中的扩展盘区。如果 RESTORE 语句执行时数据库已存在,那么可以跳过这一步。 复制备份集中的扩展盘区。因为所有的扩展盘区都按串行顺序排列,所以这个过程较快。将忽略未在备份集中找到的
20、扩展盘区;它们将不作为空的扩展盘区进行初始化。 使用事务日志恢复数据库。将日志中记录的数据修改前滚到日志末尾,然后回滚任何未完成的事务。这将使数据库返回到一致的已恢复状态,这种状态与数据库在 BACKUP 语句完成时的状态一致。 备份数据库BACKUP DATABASE infoTO DISK = 'D:info.bak'复原数据库-返回由备份集内包含的数据库和日志文件列表组成的结果集RESTORE FILELISTONLY FROM DISK = 'D:info.bak'-复原由BACKUP备份的数据库RESTORE DATABASE infoFROM DIS
21、K = 'D:info.bak' -指定复原后的数据库物理文件名称及路径RESTORE DATABASE TestDBFROM DISK = 'D:info.bak'WITH MOVE 'info' TO 'D:testtestdb.mdf',MOVE 'info_log' TO 'D:testtestdb.ldf'MOVE 'logical_file_name' TO 'operating_system_file_name'指定应将给定的 logical_file_
22、name 移到 operating_system_file_name。默认情况下,logical_file_name 将复原到其原始位置。如果使用 RESTORE 语句将数据库复制到相同或不同的效劳器上,那么可能需要使用 MOVE 选项重新定位数据库文件以防止与现有文件冲突。可以在不同的 MOVE 语句中指定数据库内的每个逻辑文件。 -强制复原,加上REPLACE参数,那么在现有数据库根底上强制复原。RESTORE DATABASE TestDB FROM DISK = 'D:info.bak'WITH REPLACE,MOVE 'info' TO 'D
23、:testtestdb.mdf',MOVE 'info_log' TO 'D:testtestdb.ldf' 关系图图2.7 关系图第三章 系统界面设计局部3.1 应用程序与其菜单项规划进行数据库应用开发的特点,设计过程可按如下步骤进行:l 创立应用库及应用对象;l 创立全局变量;l 创立菜单;l 创立数据窗口;l 创立窗口并在窗口中放置所需控件。系统的主菜单、各菜单项标题、名称:n 学生管理(m_student)u 学生信息录入(m_student_input):open(w_student_input)u 学生信息查询(m_student_query
24、):open(w_student_query)n 课程管理(m_course)u 课程设置(m_course_set):open(w_course_set)u 课程查询(m_course_query):open(w_course_query)n 成绩管理(m_score)u 成绩录入(m_score_input):open(w_score_input)u 成绩查询(m_score_query)Ø 按学生查询(m_score_query_student):open(w_score_query_student)Ø 按课程查询(m_score_query_course): ope
25、n(w_score_query_course)n 系统管理(m_system)u 口令更改(m_system_password):open(w_changepassword)u 重新登录(m_system_relogin):open(w_login)u 操作员管理(m_system_operator):open(w_operator)n 退出系统(m_system_exit):close(parentwindow)其中方形为一级菜单、菱形为二级子菜单、箭头为三级子菜单。3.2 登录界面设计翻开程序后,首先进入欢送与登录界面:图3.1 欢送界面图3.2 登录界面3.3 主界面设计本程序是一个MD
26、IMultiple Document Interface的多窗体文档界面。在一个主窗体下可以同时开启复数个子窗体,为此可实现一个同时的多点查询与操作。图3.3 MDI主窗体及其子窗体介绍3.4 子界面设计下面将以学生信息录入为例来介绍子窗体的设计,其余子窗体也大致采用类似的设计方法。首先点击菜单学生管理学生信息录入菜单项,弹出学生信息录入子窗体。图3.4 学生信息录入子窗体当单击“添加按钮时,将会弹出添加学生信息子窗体,确定后添加新纪录进入数据库。图3.5 学生信息录入子窗体再次查看学生表,可发现新添加的记录:图3.6 学生信息录入成功通过翻开菜单学生信息管理学生信息查询菜单项,可以通过学号或姓名两
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 内贸英文合同范例
- 2025年玉树货车上岗证理论模拟考试题库
- 中信银行抵押合同范本
- 代为追偿服务合同范本
- 绵阳水下安装拆除施工方案
- 仓库保管合同范本
- 修路建房合同范本
- 书籍稿件出版合同范本
- 农村宅基地分割合同范本
- 勘查委托合同范本
- EIM Book 1 Unit 7 Learning languages单元知识要点
- 呼吸系统疾病与麻醉(薛张刚)
- WOMAC骨性关节炎指数评分表
- 年处理量48万吨重整装置芳烃精馏的工艺设计-二甲苯塔
- CRPS电源设计向导 CRPS Design Guide r-2017
- 16防冲工题库题库(238道)
- SH/T 1627.1-1996工业用乙腈
- GB/T 5534-2008动植物油脂皂化值的测定
- GB/T 3452.2-2007液压气动用O形橡胶密封圈第2部分:外观质量检验规范
- GB/T 30797-2014食品用洗涤剂试验方法总砷的测定
- GB/T 20057-2012滚动轴承圆柱滚子轴承平挡圈和套圈无挡边端倒角尺寸
评论
0/150
提交评论