




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、.课 程 设 计 课程名称_数据库系统概论_题目名称_网上学习系统_学生学院_计算机_专业班级_ _学 号_学生姓名_ _指导教师_左亚尧_2012年 1 月 9 日:目 录1、 课程设计目的12、 系统定义1三、需求分析.1四、系统设计.3五、详细设计6六、课程设计总结13七、附录13一、课程设计目的学习使用某个RDBMS,利用合适的应用系统开发工具为某个应用背景设计和开发一个数据库应用系统。学习数据库原理及应用目的就是能创建和管理一个真实的数据库,通过规划设计一个小型数据库系统。掌握数据库规划设计的基本技术,熟悉数据库的设计的基本方法和步骤,明白数据库设计各阶段的任务,加深对数据库系统概念
2、和特点的理解。二、系统定义随着识识经济的到来,我们的学习模式受到了前所未有的冲击,各种新的学习模式如潮水般涌现,在所有学习模式中,最具有冲击力的便是随着网络技术发展而出现的网络化学习,又称网上学习,它是通过在网上建立教育平台,学员应用网络进行在线学习的一种全新方式。这种在线学习方式是由多媒体网络学习资源、网上学习社区及网络技术平台构成的全新的学习环境。相对于其他的学习模式来说,它具有无可比拟的优势。网上学习的一个好处就是不受时间、地点、空间的限制,并且可以实现和现实当中一样的互动。管理员可以随时随地更换系统中的学习资料,并且管理学生信息,学生可以对系统中的内容进行学习,还可以进行自我测试,学生
3、可以查看自己的成绩。3、 需求分析(一)系统综合需求从总体上考虑,系统的任务是实现学生在网上进行学习。主要分为以下功能:1、对管理员来说,包括考生管理、题库管理、成绩管理。1)考生管理:管理员可以查看数据库中的学生信息和添加新学生。2)题库管理:管理员可以对题库中的试题进行三种基本操作:添加新的学习资料、删除旧有学习资料、修改原有学习资料;另外对于测试的题目,管理员也可以有同样的操作。3)成绩管理:管理员可以查看学生的测试成绩。2、对学生来说,包括网上学习、自我测试和查询测试成绩。1)网上学习:可以查看系统当前有的学习资料。2)自我测试:学生可以进行自我检查,考察自己当前的学习情况。3)查询测
4、试成绩:学生可以查询自己测试之后的成绩。(2) 系统逻辑模型1、 数据流程图根据根据系统功能的要求,可将系统分为下列几个模块2、数据字典该系统的数据库由下述6张数据表组成:管理员表:Administrator列名数据类型约束编号Char(10)主键姓名Char(10)非空密码Char(10)非空学生表:Student列名数据类型约束学号Char(10)主键姓名Char(10)非空密码Char(10)非空主修科目编号Char(10)外键、非空性别Char(10)非空科目类别表:Course列名数据类型约束科目编号Char(10)主键科目名Char(10)非空题库表:Topic列名数据类型约束题目
5、编号int主键所属科目编号Char(10)外键内容Char(50)非空难度Char(10)非空考试题目表:Questions列名数据类型约束编号int主键所属科目编号Char(10)外键题干Char(50)非空选项AChar(10)非空选项BChar(10)非空选项CChar(10)非空正确答案Char(10)非空分值int非空成绩表:Score列名数据类型约束学号Char(10)主键成绩int4、 系统设计(1) 数据库概念设计分析前面的系统功能要求,需要一个表来存储管理员的信息,另外,还需要一个表来存储和管理学生信息,使系统能够接受学生原始的各项数据,以实现数据录入、查询或统计学生信息等功
6、能。为了能实现查询和统计学生的学习和测试情况等功能,必须有一个表来存储和管理题库的信息。此外,还需要一个表来存储题目所属的科目信息,及科目类别,学生的测试成绩信息也需要一个表来存储和管理。据此可以绘出系统数据库的E-R图如下:实体属性列表如下:实体属性管理员编号姓名密码学生学号姓名密码主修科目性别科目类别科目编号科目名称(2) 数据库的逻辑设计将数据库的概念模型转换为关系模型:实体转换成的关系模式有:管理员(编号,姓名,密码)学生(学号,姓名,密码,主修科目,性别)科目类别(科目编号,科目名称)学习题库(题目编号,所属科目,内容,难度)测试题库(题目编号,所属科目,题干,选项A, 选项B,选项
7、C,答案,分数)成绩(学号,分数)(三)数据库与数据表设计 物理结构设计1、数据库与数据表设计:管理员表:其中,编号是主码,唯一标识一个管理员。科目类别表:科目编号是主码,用来唯一标识每门课。学生表:学号是主码,用来标识每一个学生,主修课目编号是外键,与科目类别表的主码(科目编号)关联。学习题库表:题目编号是主码,用来唯一标识每一道题目。其中,所属科目编号是外键,与科目类别表的主键相关联。测试题库表:成绩表:2、数据完整性约束1) 每一个表都有一个主键,用来唯一标识每一个元组。管理员表:主键编号,此项非空学生表:主键学号,此项非空科目类别表:主键科目编号,此项非空学习题库表:主键题目编号,此项
8、非空测试题库表:主键题目编号,此项非空2)实施CHECK约束学生表中建立一个检查约束,即学生性别不是男就是女CHECK(性别 IN('男','女')成绩表中建立一个对于分数的检查约束,即分数在0-100之间 check (成绩 >=0 and 成绩 <=100)3) 外键约束学生表中主修课目为外键。学习题库和测试题库中所属科目编号为外键。FOREIGN KEY (主修科目编号) REFERENCES Course (科目编号)FOREIGN KEY (所属科目编号) REFERENCES Course (科目编号)5、 详细设计1、建立数据库USE
9、masterGOCREATE DATABASE 课程设计ON primary(NAME = sc,FILENAME = 'e:DataBase课程设计.mdf',SIZE = 10,FILEGROWTH = 10%)LOG ON(NAME = Sc_log,FILENAME = 'e:DataBase课程设计.ldf',SIZE = 3MB,FILEGROWTH = 1MB)2、建表CREATE TABLE Administrator( 编号 char(10) PRIMARY KEY, 姓名 char(10) NOT NULL, 密码 char(10) NOT
10、NULL);CREATE TABLE Course( 科目编号 char(10) PRIMARY KEY, 科目名称 char(10) NOT NULL);CREATE TABLE Student( 学号 char(10) PRIMARY KEY, 姓名 char(10) NOT NULL, 密码 char(10) NOT NULL, 主修科目编号 char(10) NOT NULL,-外键 性别 char(10) CHECK (性别 IN ('男','女'),-CHECK约束 FOREIGN KEY (主修科目编号) REFERENCES Course (科目
11、编号);CREATE TABLE Topic( 题目编号int PRIMARY KEY, 所属科目编号 char(10),-外键 内容 char(50) NOT NULL, 难度 char(10) NOT NULL, FOREIGN KEY (所属科目编号) REFERENCES Course (科目编号);CREATE TABLE Questions( 编号 int PRIMARY KEY, 所属科目编号 char(10),-外键 题干 char(50) NOT NULL, 选项A char(10) NOT NULL, 选项B char(10) NOT NULL, 选项C char(10)
12、NOT NULL, 答案 char(10) NOT NULL, 分值 int NOT NULL, FOREIGN KEY (所属科目编号) REFERENCES Course (科目编号);CREATE TABLE Score( 学号 char(10) PRIMARY KEY, 成绩 int CHECK (成绩>=0 AND 成绩<=100)-CHECK约束);3、插入信息:1)插入管理员信息INSERTINTO Administrator (编号, 姓名, 密码)VALUES ('10000', 'admit', 'admit');
13、2)插入科目信息INSERTINTO Course (科目编号, 科目名称)VALUES ('100', '高数');INSERTINTO Course (科目编号, 科目名称)VALUES ('101', '大英');INSERTINTO Course (科目编号, 科目名称)VALUES ('102', '大物');INSERTINTO Course (科目编号, 科目名称)VALUES ('103', '计算机');3)插入学生信息INSERTINTO Stud
14、ent (学号, 姓名, 密码, 主修科目编号, 性别)VALUES ('3110006214', '杨广富', '3110006214', '100', '男');INSERTINTO Student (学号, 姓名, 密码, 主修科目编号, 性别)VALUES ('3110006215', '杨浩涛', '3110006215', '101', '男');INSERTINTO Student (学号, 姓名, 密码, 主修科目编号,
15、 性别)VALUES ('3110006216', '叶显青', '3110006216', '102', '男');INSERTINTO Student (学号, 姓名, 密码, 主修科目编号, 性别)VALUES ('3110006217', '袁德诚', '3110006217', '103', '男');4)插入题目信息INSERTINTO Topic (题目编号, 所属科目编号, 内容, 难度)VALUES ('1
16、39;, '100', '1+1=2', 'A');INSERTINTO Topic (题目编号, 所属科目编号, 内容, 难度)VALUES ('2', '101', 'You are a student.', 'B');INSERTINTO Topic (题目编号, 所属科目编号, 内容, 难度)VALUES ('3', '102', '电梯上升时人会感到超重。', 'C');INSERTINTO Topic (题目
17、编号, 所属科目编号, 内容, 难度)VALUES ('4', '103', '第一台计算机是年诞生的。', 'D');5)插入考试题目信息INSERTINTO Questions (编号, 所属科目编号, 题干, 选项A, 选项B, 选项C, 答案, 分值)VALUES ('1', '100', '1+1=?', '1', '2', '3', 'B', '25');INSERTINTO Question
18、s (编号, 所属科目编号, 题干, 选项A, 选项B, 选项C, 答案, 分值)VALUES ('2', '101', 'You are a ?', 'student', 'teacher', 'master', 'A', '25');INSERTINTO Questions (编号, 所属科目编号, 题干, 选项A, 选项B, 选项C, 答案, 分值)VALUES ('3', '102', '电梯上升时会感到?',
19、'失重', '正常', '超重', 'C', '25');INSERTINTO Questions (编号, 所属科目编号, 题干, 选项A, 选项B, 选项C, 答案, 分值)VALUES ('4', '103', '第一台计算机是哪一年诞生的?', '1921', '1946', '1949', 'B', '25');6)插入成绩信息INSERTINTO Score (学号, 成绩)V
20、ALUES ('3110006215', '10');4、建立视图建立一个视图查询学生的成绩:CREATE VIEW 学生_成绩AS SELECT Student.姓名, Score.*FROM Student,ScoreWHERE Student.学号=Score.学号5、 触发器在系统中建立了两个触发器,一个是当有新的同学添加到系统时,会输出“欢迎新同学的到来”。另一个是当成绩出来后,不允许修改成绩。1)Create Trigger T1On Studentfor insertasprint '欢迎新同学的到来!'INSERTINTO Stu
21、dent (学号, 姓名, 密码, 主修科目编号, 性别)VALUES ('3110006215', '杨浩涛', '3110006215', '101', '男');2)Create Trigger T2On ScoreFor UpdateAsIf Update(Score) Begin Print '成绩不允许修改!' Rollback EndUPDATE Score SET 成绩='100' WHERE 学号='3110006215'6、 建立存储过程建立一个存
22、储过程输入一个成绩得到该成绩的所有学生的信息:CREATE Procedure list_Student_info成绩intASSELECT *FROM Student, ScoreWHERE Score.成绩=成绩AND Student.学号=Score.学号;EXEC list_Student_info '100'7、维护和运行1)关系图的建立:2) 简单查询查询所有的学习题目:select * from Topic查询测试过的学生的姓名,性别,主修科目和成绩:select Student.姓名,Student.性别,Course.科目名称, Score.成绩from St
23、udent, Course, Scorewhere Student.学号= Score.学号AND Student.主修科目编号= Course.科目编号查询成绩高于或等于50分的学生姓名、性别和成绩:select Student.姓名,Student.性别,Score.成绩from Student, Scorewhere Student.学号= Score.学号AND Score.成绩>= 50;6、 课程设计总结经过这一周的时间,从安装数据库到完成课程设计,整个流程下来给我的感触很多,收获也很多。因为之前都是在实验室里完成的实验,而且对于实验的内容在实验指导书都几乎写清楚了,只需要按照它的步骤一步一步完成就行了。但是课程设计不一样,它要一个更高的层次,在选完题目之后,要自己设计一个数据库,要靠自己从无到有创建出来。从开始做课程设计之后,本以为会很简单就完成,但是在找完资料后安装数据库的过程中就出现了许多问题,在查找了更多的资料和与同学交流后终于成功地安装了。后来在开始设计数据库的时候也遇到很多问题,在需求分析那里我觉得是花时间最多的一个环节,因为要设计一个好的数据库要有一个好的开
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 珠宝首饰评估师安全规范考核试卷及答案
- 叶片冷却工艺考核试卷及答案
- 两栖类养殖工内部技能考核试卷及答案
- 2025-2026学年广东省深圳市福田区红岭实验学校(上沙)八年级(上)开学英语试卷
- 松弛老钱风穿搭及品牌代言策略产品卖点知识试卷
- 银行专业考试题库及答案
- 专业导论试题及答案
- 客服服务专业试题及答案
- 康复专业招聘试题及答案
- 【规划】年度人力资源管理工作规划
- 工地试验室管理制度
- 2025年网信知识测试题及答案
- 医院病患信息保密与隐私保护培训
- 家政收纳培训课件
- 高中英语新课标3000词汇表(新高考)
- 《中国政法大学》课件
- 班本课程的实施与开展培训
- 旅馆消防安全灭火疏散应急预案模版(3篇)
- 汽车吊维保记录
- 机房网络改造升级方案
- 函数的单调性与最值课件高三数学一轮复习
评论
0/150
提交评论