数据库课程设计-学生选修课系统_第1页
数据库课程设计-学生选修课系统_第2页
数据库课程设计-学生选修课系统_第3页
数据库课程设计-学生选修课系统_第4页
数据库课程设计-学生选修课系统_第5页
免费预览已结束,剩余8页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

10信计信计2012 2013 一 一 数据库原理及应用数据库原理及应用 课程设计课程设计 设计题目 选修课管理系统 设计时间 2012 12 31 2013 1 4 学生姓名 学生学号 200904022 所在班级 10 信计 2 指导教师 成成 绩绩 目录目录 一 一 可行性研究可行性研究 3 二 二 需求分析需求分析 4 三 三 概要设计概要设计 5 四 四 逻辑设计逻辑设计 6 五 五 数据库实现数据库实现 7 六 六 测试测试 11 七 七 课程设计总结课程设计总结 12 八 八 参考文献参考文献 13 九 附录九 附录 13 一 可行性研究 可行性研究 1 1 系统开发背景系统开发背景 数据库是从 60 年代初发展起来的计算机技术 经过四十来年的发展 数据 库技术己经趋于成熟 Web 数据库在新的 Internet 环境中发生了很大的变化 就数据应用而言呈现出多样化的空间 如数字图书馆 电子出版物 电子商务 远程教育系统等的出现 给 web 数据库技术提出了更多 更高的要求 同时 随着国内高校校园网的建设 基于互联网的应用系统的开发正在蓬勃发展并发 挥着较大的作用 例如 我国许多高校的网上招生系统 学校的各种管理信息 系统 学校选课系统 还有一些医学院校开发出的网上诊所 远程诊断系统等 等 都是基于校园网的应用系统 1 2 系统设计目标系统设计目标 在高等学校的教务管理工作中 课程表的编排是一项十分复杂 棘手的工 作 在排课过程中 除了满足大量的制约条件以外 还必须解决许多冲突与矛 盾 例如 两位教师不能同一时间在同一班级上课 一位教师不能在同一时间 上两门课等等 利用计算机辅助进行课表编排工作 既提高了排课工作的科学 性 又可大大减轻管理人员的工作强度 提高工作效率 从而使学校教务管理 现代化迈上了一个新台阶 我国不少高校都实行了学分制 它的核心是允许学 生自由选课 即把学习的自主权交给学生 在这里 学生选课时的制约因素比 较复杂 工作量也很大 而且往往需要在较短的时间内完成 运用计算机辅助 选课 即能实时地对大量选课数据进行检验和统计 十分方便地输出选课结果 同时也避免了人工处理时容易产生的错误 二 需求分析二 需求分析 2 1 任务概述任务概述 2 1 1 内容内容 调查学习教务处 设计用于管理全校学生选修课活动的系统 2 1 2 目标目标 设计学生选课录入系统及学生选课查询界面 设计课程输入界面和学生选课表及课程选修情况查询界面 根据学生库和课程库 输出学生课程表 2 1 3 运行环境运行环境 Windows xp 7 操作系统下 安装并配置软件 microsoft SQL server2000 数据 库管理系统 2 2 数据需求数据需求 2 2 1 数据流图 数据流图 DFD 2 2 2 数据字典 数据字典 DD 学生信息表 的存储结构如下 数据存储 学生信息表 说明 学生的基本情况 组成 以学号为关键 数据量 学生的人数 存储方式 随机存储 选课表 的存储结构如下 数据存储 选课表 说明 学生选课的情况 组成 以学号和课程号为关键 数据量 学生的人数 存储方式 随机存储 开课课程表 的存储结构如下 数据存储 开课课程表 说明 所有开设的课程的情况 组成 以课程号为关键 数据量 课程的数目 存储方式 随机存储 成绩表 的存储结构如下 数据存储 成绩表 说明 选修各门课程的成绩 组成 以学号和课程号为关键 数据量 很多 存储方式 随机存储 2 3 一致性需求一致性需求 在选修课管理系统中的相关的表中 有较强的相关性 为什么实现一致性 的需求 我们在各个表之间建立起了一致性约束 2 4 完整性需求完整性需求 根据选修课管理系统的要求 为保持数据的完整性 采用了数据库的事务 机制 防止出现操作故障 三 概要设计三 概要设计 3 1 接口设计接口设计 3 1 2 外部接口外部接口 通过一定的计算机硬件 建立服务器系统 管理员通过管理服务器系统 与用户进行交互 从而达到资源共享的目的 实现选修课管理系统 3 1 2 内部接口内部接口 程序内部需要共同的数据定义和描述 此系统是智能办公化管理系统的一 个子系统 必须和这个系统的其他子系统统一数据定义等 才能使该系统性能 达到最好 并且要尽量消除和其他子系统模块之间存在的数据冗余 才能使整 个智能办公系统做到高效 方便 3 2 E R 图图 四 逻辑设计四 逻辑设计 4 1 关系模式转化关系模式转化 学生 学号 姓名 性别 年龄 籍贯 课程 课程号 课程名 学时 性质 选修 学号 课程号 成绩 五 五 数据库的实现数据库的实现 5 1 创建数据库创建数据库 Optional 数据库创建的 SQL 语句 create database optional on name optional filename c optional mdf size 100MB maxsize 200MB filegrowth 2MB log on name optional log filename c optional ldf size 20MB maxsize 80MB filegrowth 1MB 截图 5 2 在数据库中创建表在数据库中创建表 SQL 语句如下 create table student sno int primary key sname nvarchar 5 sex nchar class int create table course cno int primary key cname nvarchar 15 cnumber int create table score sno int cno int degree int primary key sno cno foreign key sno references student sno foreign key cno references course cno 所创建的表如下 向各表中插入数据如下 Student 表 Course 表 Score 表 5 2 建立查询建立查询 查询结果如下 Student Course Score 5 3 创建视图创建视图 创建视图的 SQL 语句如下 create view student view as select sno as 学号 sname as 姓名 sex as 性别 class as 班级 from student create view course view as select cno as 课程号 cname as 课程名 cnumber as 人数 from course create view score view as select sno as 学号 cno as 课程号 degree as 成绩 from score 如下 根据 student 创建的视图 根据 course 创建的视图 根据 score 创建的视图 5 4 创建存储过程创建存储过程 5 4 1 用于查看所有学生的存储过程 用于查看所有学生的存储过程 SQL 语句如下 语句如下 create procedure all students as select from student 5 4 2 用于查看所有课程的存储过程 用于查看所有课程的存储过程 SQL 语句如下 语句如下 create procedure all courses as select from course 5 4 3 用于查看所有学生所选课程的成绩 用于查看所有学生所选课程的成绩 SQL 语句如下 语句如下 create procedure all score as select from score 5 5 创建触发器创建触发器 5 5 1 创建一个名为创建一个名为 trig 1 的触发器 当向学生表添加记录时 该触发器自的触发器 当向学生表添加记录时 该触发器自 动显示学生表的所有信息 动显示学生表的所有信息 create trigger trig 1 on student for insert as select from student 5 5 2 创建一个名为创建一个名为 trig 2 的触发器 当试图向的触发器 当试图向 course 表添加 修改或删表添加 修改或删 除记录时 该触发器自动显示如下信息 除记录时 该触发器自动显示如下信息 对不起 你无权进行更新操作 对不起 你无权进行更新操作 create trigger trig 2 on course instead of insert update delete as print 对不起 你无权进行更新操作 5 5 3 创建创建 trig 3 的触发器 当向的触发器 当向 score 修改记录时 该触发器自动显示修修改记录时 该触发器自动显示修 改前和修改后的记录 改前和修改后的记录 Create trigger trig 3 on score for update as select from deleted 过去删除的 即修改前的数据 select from inserted 插入的 即修改后的数据 六 测试六 测试 测试良好 运行稳定 七 课程设计总结七 课程设计总结 通过此次数据库的课程设计 真正达到了学与用的结合 增强了对数据库 方面应用的理解 对自己今后参与开发数据库系统积累了不少经验 在实验过 程中 从建立数据开始 对数据库设计理念及思想上有更高的认识 从需求分 析 到概念设计和逻辑设计 E R 图的表示 数据字典的创建 懂得了不少有 关数据库开发过程中的知识 在实验中建表 及其关系模式 关系代数的建立 及理解 将 SQL 语言的查询语句用得淋漓尽致 增强了自己在数据库中应用 SQL 语言的灵活性 其中包括 插入 删除 修改 查询 牵涉表和表之间的联 系 主键与外主键的定义 约束项的设置 使逻辑更严密 在学习过程中 我也上网查了不少资料 也看了一些别人设计的小型超市 信息系统的设计报告

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论