网上学习系统数据库课程设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计
课程名称____数据库系统概论____ 题目名称____网上学习系统______ 学生学院_______计算机_________ 专业班级_ _
学号___________
学生姓名_______ _________
指导教师_______左亚尧_________ 2012年1 月9 日
目录
一、课程设计目的 (1)
二、系统定义 (1)
三、需求分析 (1)
四、系统设计 (3)
五、详细设计 (6)
六、课程设计总结 (13)
七、附录 (13)
一、课程设计目的
学习使用某个RDBMS,利用合适的应用系统开发工具为某个应用背景设计和开发一个数据库应用系统。学习数据库原理及应用目的就是能创建和管理一个真实的数据库,通过规划设计一个小型数据库系统。掌握数据库规划设计的基本技术,熟悉数据库的设计的基本方法和步骤,明白数据库设计各阶段的任务,加深对数据库系统概念和特点的理解。
二、系统定义
随着识识经济的到来,我们的学习模式受到了前所未有的冲击,各种新的学习模式如潮水般涌现,在所有学习模式中,最具有冲击力的便是随着网络技术发展而出现的网络化学习,又称网上学习,它是通过在网上建立教育平台,学员应用网络进行在线学习的一种全新方式。这种在线学习方式是由多媒体网络学习资源、网上学习社区及网络技术平台构成的全新的学习环境。相对于其他的学习模式来说,它具有无可比拟的优势。
网上学习的一个好处就是不受时间、地点、空间的限制,并且可以实现和现实当中一样的互动。管理员可以随时随地更换系统中的学习资料,并且管理学生信息,学生可以对系统中的内容进行学习,还可以进行自我测试,学生可以查看自己的成绩。
三、需求分析
(一)系统综合需求
从总体上考虑,系统的任务是实现学生在网上进行学习。主要分为以下功能:1、对管理员来说,包括考生管理、题库管理、成绩管理。
1)考生管理:管理员可以查看数据库中的学生信息和添加新学生。
2)题库管理:管理员可以对题库中的试题进行三种基本操作:添加新的学习资料、删除旧有学习资料、修改原有学习资料;另外对于测试的题目,管理员也可以有同样的操作。
3)成绩管理:管理员可以查看学生的测试成绩。
2、对学生来说,包括网上学习、自我测试和查询测试成绩。
1)网上学习:可以查看系统当前有的学习资料。
2)自我测试:学生可以进行自我检查,考察自己当前的学习情况。
3)查询测试成绩:学生可以查询自己测试之后的成绩。
(二)系统逻辑模型
1、数据流程图
根据根据系统功能的要求,可将系统分为下列几个模块
2、数据字典
该系统的数据库由下述6张数据表组成:
管理员表:Administrator
列名数据类型约束
编号Char(10) 主键
姓名Char(10) 非空
密码Char(10) 非空
学生表:Student
列名数据类型约束
学号Char(10) 主键
姓名Char(10) 非空
密码Char(10) 非空
主修科目编号Char(10) 外键、非空
性别Char(10) 非空
列名数据类型约束
科目编号Char(10) 主键
科目名Char(10) 非空
列名数据类型约束
题目编号int 主键
所属科目编号Char(10) 外键
内容Char(50) 非空
考试题目表:Questions
成绩表:Score
四、系统设计
(一)数据库概念设计
分析前面的系统功能要求,需要一个表来存储管理员的信息,另外,还需要一个表来存储和管理学生信息,使系统能够接受学生原始的各项数据,以实现数据录入、查询或统计学生信息等功能。
为了能实现查询和统计学生的学习和测试情况等功能,必须有一个表来存储和管理题库的信息。
此外,还需要一个表来存储题目所属的科目信息,及科目类别,学生的测试成绩信息也需要一个表来存储和管理。据此可以绘出系统数据库的E-R图如下:
实体属性列表如下:
实体属性
管理员编号姓名密码
学生学号
姓名
密码
主修科目性别
科目类别科目编号科目名称
(二)数据库的逻辑设计
将数据库的概念模型转换为关系模型:
实体转换成的关系模式有:
管理员(编号,姓名,密码)
学生(学号,姓名,密码,主修科目,性别)
科目类别(科目编号,科目名称)
学习题库(题目编号,所属科目,内容,难度)
测试题库(题目编号,所属科目,题干,选项A,选项B,选项C,答案,分数)
成绩(学号,分数)
(三)数据库与数据表设计——物理结构设计
1、数据库与数据表设计:
管理员表:
其中,编号是主码,唯一标识一个管理员。
科目类别表:
科目编号是主码,用来唯一标识每门课。
学生表:
学号是主码,用来标识每一个学生,主修课目编号是外键,与科目类别表的主码(科目编号)关联。
学习题库表:
题目编号是主码,用来唯一标识每一道题目。其中,所属科目编号是外键,与科目类别表的主键相关联。
测试题库表:
成绩表:
2、数据完整性约束
1)每一个表都有一个主键,用来唯一标识每一个元组。
管理员表:主键编号,此项非空
学生表:主键学号,此项非空
科目类别表:主键科目编号,此项非空
学习题库表:主键题目编号,此项非空
测试题库表:主键题目编号,此项非空
2)实施CHECK约束
学生表中建立一个检查约束,即学生性别不是‘男’就是‘女’CHECK(性别 IN('男','女')
成绩表中建立一个对于分数的检查约束,即分数在0-100之间check (成绩>=0 and 成绩<=100)
3)外键约束
学生表中主修课目为外键。
学习题库和测试题库中所属科目编号为外键。
FOREIGN KEY(主修科目编号)REFERENCES Course (科目编号) FOREIGN KEY (所属科目编号)REFERENCES Course (科目编号)
五、详细设计
1、建立数据库
USE master
GO
CREATE DATABASE课程设计
ON primary