《数据库课程设计说明书网络选课系统.doc》由会员分享,可在线阅读,更多相关《数据库课程设计说明书网络选课系统.doc(15页珍藏版)》请在三一办公上搜索。
1、课程设计说明书数据库题目: 网络选课系统 院 系: 计算机科学与工程学院 专业班级: 计算机08-6班 学 号: 2008302974 学生姓名: 指导教师: 2010年 5 月 23 日安徽理工大学课程设计(论文)任务书 计算机科学与工程 学院 计算机网络教研室学 号2008302974学生姓名专业(班级)计算机08-6设计题目 网络选课系统 设计技术参数系统平台:Windows XP开发工具:Microsoft SQL Server,Microsoft Visual C+ 6.0,Microsoft Office Visio 2003设计要求网络选课系统实现让学生在网上进行课程的选择,老师
2、可以通过网络来提交学生的成绩和查看课程选修情况等功能。网络选课系统应该包括以下三个功能模块:1. 管理员模块:a.学生管理子模块:实现对学生信息的添加、修改、删除操作,还可输入查询条件进行查询操作; b.教师管理子模块:在该子模块中,实现对教师的添加、修改、删除、查询操作; c课程管理子模块:实现对课程的添加,添加为其分配任课教师、上课时间和地点,实现对课程的修改、删除,查看某个课程的详细信息等。2. 学生模块:用户登录、修改密码;学生选课、查看、修改自己的选课信息;学生查看课程详细信息;3. 教师模块:用户登录、修改密码;教师查看自己所教授的课程、课程有哪些学生选修,以及利用本系统提交学生的
3、成绩;工作量课程设计报告要求不少于3000字。源程序要求不少于300行工作计划5月5日:熟悉题目并理解,及找寻相关资料。5月10日-5月14日:建立数据库,并掌握相关操作。5月15日-5月23日:完成课程设计说明书。参考资料数据库系统概论/王珊/萨师煊 第四版指导教师签字教研室主任签字 2010年 5 月 23日安徽理工大学课程设计(论文)成绩评定表学生姓名: 学号: 2008302974 专业班级: 计算机08-6 课程设计题目: 网络选课系统 指导教师评语: 成绩: 指导教师: 年 月 日摘 要 网络选课系统的开发主要包括数据库的设计的每个步骤,以及提交各步骤所需图表和文档,通过使用目前流
4、行的DBMS,建立所设计的数据库,并在此基础上实现数据库查询、连接等操作和触发器、存储器等对象设计。数据库包括教室信息、教师信息、学生信息、课程计划,课程、被选课程、专业、选课、任课和占用情况的记录,学生可以实现登录、修改密码、学生选课、查看、修改自己的选课信息等操作;教师也可以实现用户登录、修改密码、教师查看自己所教授的课程、课程有哪些学生选修,以及利用本系统提交学生的成绩等操作。关键词:登录, 查看, 数据库设计目 录1需求分析11.1数据字典(数据需求)11.2数据流图(处理需求)12概念结构设计22.1识别实体22.2E-R图分析23逻辑结构设计33.1将E-R图转换成等价的关系模式3
5、3.2关系模式规范化33.3关系表(关系表结构,包括主键、外键以及Check约束)44物理设计44.1表结构定义(建表SQL语句)64.2定义视图(视图名、视图功能描述、SQL语句)95数据库运行和维护105.1用户授权(对不同类型用户授权)106设计小结101 需求分析1.1 数据字典(数据需求)根据系统的需求,可以列出以下数据项和数据结构:学生信息:学号、姓名、所在专业等。课程信息:课程号、课程名、学时等。专业信息:专业名、专业号等。课程计划信息:课程号、学期、专业号、学时、学院等。被选课程信息:课程号、课程名、详细信息、学分、选课人数等。教师信息:职工号、姓名等。教室信息:教室号、容量等
6、。任课信息:职工号、课程号等。选课信息:课程号、学号、成绩等。占用信息:教室号、课程号等。1.2 数据流图(处理需求)根据系统功能的要求,可以得出数据流图: 图1 数据流图2 概念结构设计2.1 识别实体根据数据流程图(图1)和数据字典得出实体如下:1) 课程计划2) 课程信息3) 被选课程信息4) 选课信息5) 学生信息6) 教师信息7) 教室信息8) 任课信息9) 占用信息10) 专业信息2.2 E-R图分析根据以上分析识别可得出E-R图如下:3 逻辑结构设计3.1 将E-R图转换成等价的关系模式关系的主码用下划线标出:1) 课程计划(学期,专业号,学院,课程号,学时)2) 课程信息(课程
7、号,课程名,学时)3) 被选课程信息(课程号,课程名,详细信息,学分,选课人数)4) 学生信息(学号,姓名,所属专业,所在年级)5) 选课信息(课程号,学号,成绩)6) 教室信息(教室容量,教室号)7) 教师信息(职工号,姓名)8) 任课信息(职工号,课程号)9) 占用信息(教室号,课程号)10) 专业信息(专业名,专业号)3.2 关系模式规范化3.2.1 数据依赖按需求分析所得到的语义,分别写出每个关系模式内部各属性之间的数据依赖如下:1) 课程计划(学期,专业号)学院,(学期,专业号)课程号,(学期,专业号)学时课程计划4NF2) 课程信息课程号课程名,课程号课程名,课程号学时课程信息4N
8、F3) 被选课程信息课程号课程名,课程号课程详细信息,课程号学分,课程号 选课人数被选课程信息4NF4) 教室信息教室号 容量教室信息4NF5) 教师信息职工号姓名教师信息4NF6) 选课信息(学号,课程号)成绩选课信息4NF7) 学生信息学号姓名学号所属专业学号所在年级选课信息4NF 8) 专业信息 专业号专业名由于各个关系均为4NF,所以此时的关系模式已经规范化。3.3 关系表(关系表结构,包括主键、外键以及Check约束)表3-1 学生信息表结构字段名数据类型字段长度与格式关键字学号文本10是姓名文本10否所属专业文本40外键所在年级文本40外键表3-2 课程信息表结构字段名数据类型字段
9、长度与格式关键字课程号文本10是课程名文本10否学时整型4否表2-3 课程计划表的结构字段名数据类型字段长度与格式关键字课程号文本10否专业号文本10是学期文本10是学时整型4否学院文本10否表2-4 专业信息表的结构字段名数据类型字段长度与格式关键字专业号文本10是专业名文本210否表2-5 被选课程表的结构字段名数据类型字段长度与格式关键字课程号文本10是课程名文本10否详细信息文本10否学分文本10否选课人数整型4否表2-6 教师信息表的结构字段名数据类型字段长度与格式关键字职工号文本10是姓名文本10否表2-7 教室信息表的结构字段名数据类型字段长度与格式关键字教室号文本10是容量浮点
10、型8否表2-8 上课表的结构字段名数据类型字段长度与格式关键字教室号文本10否课程号文本10否表2-9 选课表结构字段名数据类型字段长度与格式关键字课程号文本10是学号文本10是成绩浮点型8否表2-10 教课表的结构字段名数据类型字段长度与格式关键字职工号文本10否课程号文本10否4 物理设计4.1 表结构定义(建表SQL语句)CREATE TABLE 被选课程 (课程名 char (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,课程号 char (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,详细信息 char (100)
11、COLLATE Chinese_PRC_CI_AS NULL ,学分 float NOT NULL ,选课人数 int NOT NULL ,CONSTRAINT PK_被选课程 PRIMARY KEY CLUSTERED (课程号) ON PRIMARY ) ON PRIMARYGOCREATE TABLE 教师 (职工号 char (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,姓名 char (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,CONSTRAINT PK_教师 PRIMARY KEY CLUSTERED (职工
12、号) ON PRIMARY ) ON PRIMARYGOCREATE TABLE 教室 (容量 float NOT NULL ,教室号 char (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,CONSTRAINT PK_教室 PRIMARY KEY CLUSTERED (教室号) ON PRIMARY ) ON PRIMARYGOCREATE TABLE 课程 (课程号 char (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,课程名 char (10) COLLATE Chinese_PRC_CI_AS NOT NULL
13、,学时 int NOT NULL ,CONSTRAINT PK_课程 PRIMARY KEY CLUSTERED (课程号) ON PRIMARY ) ON PRIMARYGOCREATE TABLE 学生 (姓名 char (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,学号 char (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,所在专业 char (10) COLLATE Chinese_PRC_CI_AS NOT NULL , 所在专业 char (10) COLLATE Chinese_PRC_CI_AS NOT
14、NULL ,CONSTRAINT PK_学生 PRIMARY KEY CLUSTERED (学号) ON PRIMARY , FOREIGN KEY (所在专业) REFERENCES 专业 (专业号) FOREIGN KEY (所在年级) REFERENCES 专业 (学期) ON PRIMARYGOCREATE TABLE 课程计划 (学期 char (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,专业号 char (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,课程号 char (10) COLLATE Chinese_
15、PRC_CI_AS NOT NULL ,学时 int NOT NULL ,学院 char (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,CONSTRAINT PK_课程计划 PRIMARY KEY CLUSTERED (专业号,学期) ON PRIMARY ,CONSTRAINT FK_课程计划_专业号_1CF15040 FOREIGN KEY (专业号) REFERENCES 专业 (专业号) ON PRIMARYGOCREATE TABLE 任课 (课程号 char (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,职工号
16、 char (10) COLLATE Chinese_PRC_CI_AS NOT NULL , FOREIGN KEY (职工号) REFERENCES 教师 (职工号) ON PRIMARYGOCREATE TABLE 选课 (学号 char (10) COLLATE Chinese_PRC_CI_AS NULL ,成绩 float NULL ,课程号 char (10) COLLATE Chinese_PRC_CI_AS NULL ,CONSTRAINT FK_选课_课程号_2D27B809 FOREIGN KEY (课程号) REFERENCES 被选课程 (课程号),CONSTRAIN
17、T FK_选课_学号_2E1BDC42 FOREIGN KEY (学号) REFERENCES 学生 (学号) ON PRIMARYGOCREATE TABLE 占用 (教室号 char (10) COLLATE Chinese_PRC_CI_AS NULL ,课程号 char (10) COLLATE Chinese_PRC_CI_AS NULL , FOREIGN KEY (教室号) REFERENCES 教室 (教室号), FOREIGN KEY (课程号) REFERENCES 被选课程 (课程号) ON PRIMARYGOCREATE TABLE 专业 (专业名 char (10)
18、COLLATE Chinese_PRC_CI_AS NOT NULL ,专业号 char (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,CONSTRAINT PK_专业 PRIMARY KEY CLUSTERED (专业号) ON PRIMARY ) ON PRIMARYGO4.2 定义视图(视图名、视图功能描述、SQL语句) 视图名scCS功能描述用户查询的课程表结构SQL语句CREATE VIEW scCSASSELECT *FROM 被选课程5 数据库运行和维护5.1 用户授权(对不同类型用户授权)l 学生用户允许查看自己的信息和更改选课信息。l 教师
19、用户可以查看自己的信息,并且提交学生成绩。l 管理员可以查看自己的信息,并且能添加、修改、删除、查看全部表。 5.2 数据库维护数据库应用系统经过试运行后即可投入正式运行。在数据库系统运行过程中必须不断对其进行评价、调整与修改。本例经过测试不断调整和修改,主体不断完善,但难免还有些不妥指出之处。本例中为维护数据的安全性,学生用户和教师用户必须经过管理员才能修改自己的信息。6 设计小结在数据库设计之初,在需求分析中我们虽然没有进行和相关考勤需求单位的交流,但是,通过上网查资料等途径,进行了需求分析,体会到了数据库设计和编程一些的本质区别,需求分析往往是最重要、最复杂的,而编程只是整个设计的一小部分。这个阶段我们也共同讨论出用户所需的需求,为下面的设计过程奠定一个好的基础。在设计的过程中我们也熟悉使用了Visio等软件。在本次设计中仍然存在一些不足,比如如果能刷卡或者其他的识别办法将会比这里的登录更加安全有效的进行考勤记录。而且由于时间的紧张,我仅仅完成了数据库设计,在以后可以继续完成界面的设计,连接数据库并对其进行操作(统计,审批的简单的编程)。