数据库设计网上选课系统word版本
- 格式:doc
- 大小:248.00 KB
- 文档页数:12
CREATE DATABASE网上选课系统数据库设计ON PRIMARY(NAME= N'网上选课系统数据库设计',FILENAME= N'E:\蔡伟亭_李雨晴_杨可帆\网上选课系统数据库设计.mdf',SIZE= 3072KB ,MAXSIZE= UNLIMITED,FILEGROWTH = 1024KB )LOG ON(NAME= N'网上选课系统数据库设计_log',FILENAME= N'E:\蔡伟亭_李雨晴_杨可帆\网上选课系统数据库设计_log.ldf',SIZE= 1024KB ,MAXSIZE= 2048GB , FILEGROWTH= 10%)COLLATE Chinese_PRC_CI_ASGOUSE [网上选课系统数据库设计]GOCREATE TABLE学生([学号] [char](10)COLLATE Chinese_PRC_CI_AS NOT NULL,[姓名] [char](8)COLLATE Chinese_PRC_CI_AS NOT NULL,[性别] [char](2)COLLATE Chinese_PRC_CI_AS NOT NULL,[民族] [char](10)COLLATE Chinese_PRC_CI_AS NOT NULL,[专业] [char](20)COLLATE Chinese_PRC_CI_AS NOT NULL,[籍贯] [char](80)COLLATE Chinese_PRC_CI_AS NOT NULL,[身份证号] [char](18)COLLATE Chinese_PRC_CI_AS NOT NULL,[用户名] [char](8)COLLATE Chinese_PRC_CI_AS NOT NULL,[学院编号] [char](10)COLLATE Chinese_PRC_CI_AS NOT NULL, CONSTRAINT [PK_学生] PRIMARY KEY CLUSTERED([学号] ASC)WITH(PAD_INDEX =OFF, IGNORE_DUP_KEY =OFF)ON [PRIMARY])ON [PRIMARY]GOUSE [网上选课系统数据库设计]GOCREATE TABLE课题组([课题组编号] [char](18)COLLATE Chinese_PRC_CI_AS NOT NULL,[课题组名称] [char](30)COLLATE Chinese_PRC_CI_AS NOT NULL,[课题组类型] [char](16)COLLATE Chinese_PRC_CI_AS NOT NULL,[组长] [char](10)COLLATE Chinese_PRC_CI_AS NOT NULL,[电话] [char](30)COLLATE Chinese_PRC_CI_AS NOT NULL,CONSTRAINT [PK_课题组] PRIMARY KEY CLUSTERED([课题组编号] ASC)WITH(PAD_INDEX =OFF, IGNORE_DUP_KEY =OFF)ON [PRIMARY])ON [PRIMARY]GOCREATE TABLE学院([学院编号] [char](10)COLLATE Chinese_PRC_CI_AS NOT NULL,[学院名称] [char](20)COLLATE Chinese_PRC_CI_AS NOT NULL, [学院类型] [char](8)COLLATE Chinese_PRC_CI_AS NOT NULL, [院长编号] [char](10)COLLATE Chinese_PRC_CI_AS NOT NULL, [院办地址] [char](80)COLLATE Chinese_PRC_CI_AS NOT NULL, [院办电话] [char](8)COLLATE Chinese_PRC_CI_AS NOT NULL, CONSTRAINT [PK_学院] PRIMARY KEY CLUSTERED([学院编号] ASC)WITH(PAD_INDEX =OFF, IGNORE_DUP_KEY =OFF)ON [PRIMARY] )ON [PRIMARY]GOCREATE TABLE管理员([用户名] [char](8)COLLATE Chinese_PRC_CI_AS NOT NULL,[密码] [char](10)COLLATE Chinese_PRC_CI_AS NOT NULL,[ID] [char](10)COLLATE Chinese_PRC_CI_AS NOT NULL, CONSTRAINT [PK_管理员] PRIMARY KEY CLUSTERED([用户名] ASC)WITH(PAD_INDEX =OFF, IGNORE_DUP_KEY =OFF)ON [PRIMARY] )ON [PRIMARY]GOUSE [网上选课系统数据库设计]GOCREATE TABLE课程([课程编号] [char](6)COLLATE Chinese_PRC_CI_AS NOT NULL, [课程名] [char](40)COLLATE Chinese_PRC_CI_AS NOT NULL, [课程类型] [char](8)COLLATE Chinese_PRC_CI_AS NOT NULL, [学分数] [smallint] NULL,[学时数] [smallint] NULL,CONSTRAINT [PK_课程] PRIMARY KEY CLUSTERED([课程编号] ASC)WITH(PAD_INDEX =OFF, IGNORE_DUP_KEY =OFF)ON [PRIMARY] )ON [PRIMARY]GOUSE [网上选课系统数据库设计]GOCREATE TABLE选课([学号] [char](10)COLLATE Chinese_PRC_CI_AS NOT NULL,[课程编号] [char](6)COLLATE Chinese_PRC_CI_AS NOT NULL, [成绩] [smallint] NULL,CONSTRAINT [PK_选课] PRIMARY KEY CLUSTERED([学号] ASC)WITH(PAD_INDEX =OFF, IGNORE_DUP_KEY =OFF)ON [PRIMARY] )ON [PRIMARY]GOUSE [网上选课系统数据库设计]GOCREATE TABLE教师([教师编号] [char](6)COLLATE Chinese_PRC_CI_AS NOT NULL, [姓名] [char](8)COLLATE Chinese_PRC_CI_AS NOT NULL,[性别] [char](2)COLLATE Chinese_PRC_CI_AS NOT NULL,[学历] [char](8)COLLATE Chinese_PRC_CI_AS NOT NULL,[家庭住址] [char](80)COLLATE Chinese_PRC_CI_AS NOT NULL, [电话] [char](13)COLLATE Chinese_PRC_CI_AS NOT NULL,[课题组编号] [char](6)COLLATE Chinese_PRC_CI_AS NOT NULL, CONSTRAINT [PK_教师] PRIMARY KEY CLUSTERED([教师编号] ASC)WITH(PAD_INDEX =OFF, IGNORE_DUP_KEY =OFF)ON [PRIMARY] )ON [PRIMARY]GOUSE [网上选课系统数据库设计]GOCREATE TABLE授课([教师编号] [char](6)COLLATE Chinese_PRC_CI_AS NOT NULL, [课程编号] [char](6)COLLATE Chinese_PRC_CI_AS NOT NULL, [授课时间] [datetime] NOT NULL,[授课地点] [char](10)COLLATE Chinese_PRC_CI_AS NOT NULL, CONSTRAINT [PK_授课] PRIMARY KEY CLUSTERED([教师编号] ASC)WITH(PAD_INDEX =OFF, IGNORE_DUP_KEY =OFF)ON [PRIMARY] )ON [PRIMARY]GOuse网上选课系统数据库设计gocreate view view_学生选课asselect学生.学号,姓名,课程编号from学生,选课where学生.学号=选课.学号gocreate view view_教师授课asselect教师.教师编号,姓名,课程编号from教师,授课where教师.教师编号=授课.教师编号gocreate view view_选课授课asselect学号,选课.课程编号,授课时间,授课地点from选课,授课where选课.课程编号=授课.课程编号gocreate view view_学生教师asselect学号,选课.课程编号,教师编号from选课,授课where选课.课程编号=授课.课程编号gocreate index SY_学生_学号on学生(学号)gocreate unique index SY_教师_教师编号on教师(教师编号)gocreate index SY_学院_学院编号on学院(学院编号)gocreate unique index SY_课程_课程编号on课程(课程编号)gocreate procedure学生_proasselect学号,avg(成绩)as'平均分'from选课group by学号gocreate procedure选课_pro asselect*from选课where学号=301207118 execute选课_progocreate procedure学_生_pro asselect学号,sum(成绩)as'总成绩'from选课group by学号gocreate procedure授课_pro asselect*from授课where教师编号=110execute授课_progo四.物理设计。
学生选课管理系统数据库设计报告一、引言学生选课管理系统是为了方便学生选择适合自己学习和兴趣的课程而设计的系统。
该报告旨在介绍该系统的数据库设计,包括数据库表、字段、关系等方面的设计。
二、数据库表设计1. 学生表(student)•字段:学生ID(student_id)、姓名(name)、年龄(age)、性别(gender)、班级(class_id)2. 课程表(course)•字段:课程ID(course_id)、课程名称(course_name)、教师(teacher)、学分(credit)、课程时间(time)、上课地点(location)3. 选课表(enrollment)•字段:选课ID(enrollment_id)、学生ID(student_id)、课程ID (course_id)、成绩(grade)三、数据库关系设计1.学生表与选课表之间的关系:–一个学生可以选择多门课程,一个课程可以被多个学生选择,是多对多关系。
–学生表与选课表通过学生ID(student_id)进行关联。
2.课程表与选课表之间的关系:–一门课程可以被多个学生选择,一个学生也可以选择多门课程,是多对多关系。
–课程表与选课表通过课程ID(course_id)进行关联。
四、数据库操作1.插入操作:向学生表中插入新的学生信息。
INSERT INTO student (student_id, name, age, gender, class_id) VALUES (1, '张三', 20, '男', 'ClassA');2.查询操作:查询学生选择的所有课程。
SELECT*FROM enrollment WHERE student_id=1;3.更新操作:更新学生成绩信息。
UPDATE enrollment SET grade=90WHERE student_id=1AND course_id=101;4.删除操作:删除选课表中的选课记录。
武汉华夏理工学院课程设计课程名称数据库系统原理及应用题目网上选课系统专业计算机科学与技术班级计算机1163学号***********姓名方启豪成绩指导教师刘琳琳2018 年6 月25 日至2018年6月29日课程设计任务书设计题目:网上选课系统设计目的本课程的设计的目的是通过实践使同学们经历数据库设计、应用系统开发的全过程和受到一次综合训练,以便能较全面地理解、掌握和综合运用所学的知识。
结合具体的开发案例,理解并初步掌握系统分析、系统设计、系统实施的主要环节和步骤以及软件文档的制作能力。
设计任务(在规定的时间内完成下列任务)1 系统需求网上选课系统实现了学生在网上就可完成选课的全过程。
其E-R图如下:二、关系模式:课程(课程号,课程名,学分)学生(学号,姓名,性别,年龄,班级名)班级(班级名,班主任)选修(学号,课程号,成绩)时间安排消化资料、系统调查 1天系统分析、总体设计,实施计划、撰写报告3天演示、验收1天具体要求1、明确课程设计的目的和重要性,认真领会课程设计的题目,读懂课程设计指导书的要求,学会设计的基本方法与步骤,学会如何运用前修知识与收集、归纳相关资料解决具体问题的方法。
严格要求自己,要独立思考,按时、独立完成课程设计任务。
2、设计报告:要求层次清楚、整洁规范、不得相互抄袭,凡正文内容有整段完全相同者一律以抄袭论处。
设计报告正文字数不少于0.2万字(不包括附录)指导教师签名:2018年月日教研室主任(或责任教师)签名:年月日1.设计题目网上选课系统2.课题简介随着信息时代的不断进步,网上选课成为一种常见的选课方式,因此,选课系统必须完善,这就关系到学生的个人信息,课程的信息,上课教师以及上课地点,还有选课人数的统计。
3.设计目的利用一种DBMS作为设计工具,理解并应用课程中关于数据库设计的相关理论,并按照设计流程完成完整的设计库设计,包括需求分析、概念设计、逻辑设计、物理设计和实施。
数据库系统设计课程设计任务书计算机科学与技术学院制目录1.相关专业背景功能 --------------------------------- 1 2.需求分析 --------------------------------------- 4 3.概念模型与E-R图__________________________________13 4.E-R模型转换 -----------------------------------14 5.数据库设计与建立 ------------------------------176、连接数据库---------------------------------------237. 个人总结-----------------------------------------24 8.参考文献 --------------------------------------25一、选修课管理系统的相关背景功能选修课管理系统是一个面向学校教务管理人员、教师和学生并为其提供服务的管理系统。
选修课管理系统所经历的三个阶段一、没有电脑的年代,网上选课根本不存在,当时学生根据自己的爱好兴趣等方面,先选择相应的课程,然后由班级上报院系,再通过人工整理所上报的信息的办法,决定每个人的选课信息以及任课老师所教的课程,也就是说几乎谈不上选修课管理系统这么一说。
二、每个院系有了为数不多的几台电脑后,班级上报院系的信息,由院系先在电脑上登记,最后交给教务处,教务处通过选修课管理系统(还不够完善),经过审核决定最终结果并公布;三、电脑普及率很高,也就是现在这样,网上选课已不成问题,教务处直接通过选修课管理系统,了解与审核选课信息,最终决定最后的结果并公布。
有关选修课的概念与定义选修课与“必修课”相对。
主要指高等学校和中等专业学校中学习某一专业的学生可以有选择地学习的课程。
在教学计划中一般不作硬性规定。
目录第一章:项目计划 (2)1.1项目背景: (2)1.2系统开发目的: (2)1.3定义: (2)第二章:详细分析 (2)2.1、系统功能 (2)2.2、系统结构 (3)2.3、数据流图 (3)2.4、户类型与职能 (4)2.5、系统环境需求 (5)第三章:系统概念设计 (5)第四章:逻辑设计 (6)4.1系统关系模型 (6)4.2系统数据库表结构 (6)第五章:源码 (9)第六章:小结 (14)第一章:项目计划1.1项目背景:教务系统管理平台充分利用互联网络B/S管理系统模式,以网络为平台,为各个学校教务系统的管理提供一个平台,帮助学校管理教务系统,用一个账号解决学校教务教学管理,并且学校可以自由选择学校需要的教务管理系统,灵活地定制符合学校自己实际情况的教务系统.1.2系统开发目的:提高学生,老师管理和操作事务的运作效率。
1.3定义:学生选课和老师评分必须在管理员的设置条件下进行。
第二章:详细分析2.1、系统功能设置学期时间:管理员登录系统后设置学期的时间,只有当时间为某个状态时,其他角色例如老师,才能做某些事情。
学期时间只能由角色管理员操作:包括对学期时间表的增加,删除,对某个学期时间状态的改变。
学生选课:当管理员设置为学期开始时,学生可以选课,学生选课受学分影响,只能选择总学分为多少的课程。
老师评分:当管理员设置为学期评分时,老师才可以评分。
个人信息管理:对自己个人信息进行添加和修改。
成绩查询:学生可以对自己成绩进行查询。
个人课表查询:按时间的不同,每个角色都有自己不同的课表。
2.2、系统结构功能描述:学生选课和老师评分必须在管理员设置学期的条件下进行。
2.3、数据流图顶层图0层图2.4、户类型与职能(1)管理员:对学期设置的管理每个阶段有不同的功能。
(2)老师:对选修了自己课程的学生评分。
(3)学生:选修科目。
2.5、系统环境需求系统模式本系统采用B/S模式作为开发模式硬件环境服务器端:高性能的计算机一台,普通的双绞线作为连接。
洛阳理工学院课程设计报告课程名称数据库课程设计设计题目教务管理系统专业计算机科学与技术班级学号姓名完成日期课程设计任务书设计题目:教务管理系统设计内容与要求:设计教务管理系统,类似于我校教务管理系统,有四类用户:教务员、学生、教师、管理员教务员可以输入学生、教师、班级、课程信息。
一个班级只属于一个专业,一个学生只属于一个班级。
教务员负责输入每个专业、每个班级需要学习哪些课程,指定课程的任课教师。
教师可以查看学习该课程的学生名单。
课程结束后,教师可以录入课程成绩。
一个教师可以教授多个班的多门课程,每门课由多位老师讲授。
课程分两类,必修课和选修课。
系统要记录每个学生学习各门必修课的成绩,还要记录学生选修了哪些选修课以及课程成绩。
学生可以查看自己各门课程的成绩。
学生还可以进行评教,给老师打分。
管理员可以输入教室信息,并结合班级、课程、教室信息实现自动排课。
要求:1.完成本系统的需求分析,写出功能需求和数据需求描述;2.完成数据库的概念结构设计、逻辑结构设计、物理结构设计;3.完成本系统的部分功能模块的程序界面设计。
指导教师:2017 年12 月29 日课程设计评语成绩:指导教师:_______________年月日目录一、概述 (2)1.1、本设计的目的与意义 (2)1.2、数据库开发工具和应用程序开发工具 (2)二、需求分析 (2)2.1功能需求 (2)2.2数据需求 (2)三、概念结构设计 (2)3.1、E-R模型设计 (2)3.2、总体E-R图描述 (4)四、逻辑结构设计 (4)4.1、关系模型 (4)4.2、关系模式的优化与说明 (4)五、物理结构设计 (5)5.1建立数据库 (5)5.2表与表结构 (5)六、应用程序设计 (6)6.1、系统总体结构 (6)6.2、系统界面与源代码 (7)6.2.1、界面 (8)6.2.2、功能描述 (9)6.2.3、程序源代码 (10)七、设计总结 (23)一、概述本系统后台数据库采用Microsoft SQL Server 数据库,该数据库系统在安全性、准确性和运行速度方面有绝对的优势,并且处理数据量大,效率高;前台采用Microsoft 公司的Visual Studio 2010作为主要开发工具,可与SQL Server 2008数据库无缝链接。
数据库学生选课系统课程设计报告数据库学生选课系统课程设计报告1. 引言本报告旨在介绍数据库学生选课系统的课程设计。
该系统旨在帮助学校管理学生选课信息和课程安排,提高选课过程的效率和准确性。
2. 功能需求以下是数据库学生选课系统的主要功能需求:•学生账号管理:–学生账号的注册和登录–学生账号信息的修改•课程管理:–教师登录和管理课程信息–学生浏览和选择可选课程•选课管理:–学生选课和退课功能–选课冲突检测和处理•成绩管理:–教师录入学生成绩–学生查看自己的成绩和排名3. 数据库设计数据库学生选课系统的数据库设计如下:学生表(students)表名:students字段: - 学生ID - 姓名 - 年级 - 专业课程表(courses)表名:courses字段: - 课程ID - 课程名称 - 教师 - 所属专业 - 学分 - 上课时间 - 上课地点选课表(enrollment)表名:enrollment字段: - 学生ID - 课程ID成绩表(grades)表名:grades字段: - 学生ID - 课程ID - 成绩4. 系统设计数据库学生选课系统的系统设计如下:学生账号管理模块•注册页面•登录页面•修改个人信息页面课程管理模块•教师登录页面•课程管理页面选课管理模块•学生选课页面•学生退课页面成绩管理模块•教师录入成绩页面•学生查看成绩页面5. 系统实现具体系统的实现细节需要根据具体的编程语言和技术来决定,这里不进行详细描述。
6. 总结通过对数据库学生选课系统的课程设计和功能需求的分析,可以看出该系统能够有效管理学生选课和成绩信息,提高学校选课过程的效率和准确性。
希望该报告能够对相关人员的课程设计工作有所帮助。
[网上选课系统]概要设计说明书[V1.0(版本号]拟制人审核人批准入[二零一一年七月]概要设计说明书1.引言1.1编写目的本说明书交给各个被调研单位审核,并经领导层讨论通过后,软件开发小组成员将以这本说明书为框架开发新的系统。
1.2背景a.待开发软件系统的名称:基于XML的网上选课系统b.本项目的任务提出者:石河子大学c.本项目开发者严冬冬、许文华d.本项目用户石河子大学招生办1.3定义[列出本文件中用到的专门术语的定义和外文首字母组词的原词组。
]1.4参考资料[1]沈炜,《数据库编程技术与实例》,人民邮电出版社,出版2005年2月[2]萨师煊,《数据库系统概论》,高等教育出版社,出版2006年5月2.总体设计2.1需求规定2.1.1功能规定3.1.2系统功能能对院系、学生、教师、课程的信息进行增、删、改操作能让学生查看选课信息、选课和查看课程成绩能让教师查看所开课程的选课信息,给学生录入成绩能添加新的管理员2.1.2.1精度由于采用数据库技术并且用户的应用领域对数据精确度的要求不高,所以这点在系统中表现得比较少,但是用户数据的安全性与正确性是完全保证的,所以对用户的使用没有多大的障碍。
2.1.2.2时间特性要求本系统的数据库较小,所以程序在响应时间,数据更新处理时间上性能是比较突出的。
而且也正由于数据量相对较少,故在数据传输时间和系统运行时间上表现的较让人满意。
2.1.2.4可靠性由于系统较小只保留一定程度上的可靠性。
2.1.2.5灵活性由于系统较小只保留一定程度的灵活性。
2.1.3输入输出要求4.1.4数据管理能力要求针对高校选课信息系统的需求,通过对选课过程的内容和数据流流程分析,设计如下面所示的数据和数据结构:1.学生基本信息包括:学生号、姓名、性别、系别、学生密码2.教师基本信息:教师号、姓名、性别、教师密码3.课程基本信息:课程号、课程名、课时、学分、限选人数、已选人数4.选课信息:学生号、课程号、成绩2.1.5故障处理要求考虑到软件的范围不大,所以故障处理一般由操作系统完成,系统只要保持与操作系统的借口即可。
学生选课信息管理系统数据库设计(1)一、需求分析作为一款学生选课信息管理系统,考虑到实用性和易用性,需要满足以下需求:1. 学生可查看自己的选课情况,并且能够选择需要的课程。
2. 教务处管理员可以进行课程管理和成绩管理。
3. 教师可以上传课程资料和发布学生成绩。
4. 系统需要实现数据的实时更新和管理。
二、数据库设计基于以上需求分析,我们可以设计出以下数据库结构:1. 学生表:包含学生ID、学生姓名、性别、出生日期、班级等信息。
2. 课程表:包含课程ID、课程名称、课程类型、学分、授课教师等信息。
3. 教师表:包含教师ID、教师姓名、性别、授课课程、所在学院等信息。
4. 选课表:包含学生ID、课程ID、选课时间等信息。
5. 成绩表:包含学生ID、课程ID、课程成绩等信息。
三、实现方式在实现学生选课信息管理系统的过程中,我们可以使用关系型数据库来实现。
具体可以使用MySQL或Oracle数据库,并使用相关编程语言(如Java或Python)来实现系统逻辑。
对于系统的数据实时更新和管理,可以使用定时器或触发器等方式来实现。
四、系统功能基于以上数据库设计和实现方式,我们可以实现以下系统功能:1. 学生可登录系统进行选课、查看选课情况、查询成绩等操作。
2. 教务处管理员可以进行课程管理,包括添加、删除、修改课程信息等操作。
3. 教务处管理员可以进行成绩管理,包括查询、修改学生课程成绩等操作。
4. 教师可以进行课程资料上传和学生成绩发布操作。
5. 系统可以自动检测相应数据的更新,并进行数据的实时更新和管理。
五、系统优化为了提升系统的性能和用户体验,我们可以对系统进行一些优化:1. 增加系统缓存:将热点数据缓存到内存中,提升数据访问效率。
2. 增加系统容错能力:对于系统出错情况,需要进行相应异常处理,避免系统崩溃。
3. 优化系统界面设计:界面设计应简洁大方,使用户易于理解和操作。
4. 增强系统安全性:加强用户登录验证和权限控制,确保系统数据安全。
常熟理工学院数据库设计——网上选课系统2013-2014 学年第 1 学期专业软件工程班级XXXXX学号XXXXX姓名XX指导老师XX一、概要设计1.1目的和意义随着无纸化办公的普遍实现,信息的自动处理以及网络式的信息交互方式已经被人们广泛应用。
让计算机来管理学生的信息是现在各个高校都在积极进行的工作之一,也是高校教学管理工作的重要内容之一。
网上选课与传统的选课方式相比更加节约资源,增加了学生选课自主权。
学生选课系统作为一种现代化的教学技术,越来越受到人们的重视,是一个学校不可或缺的部分,学生选课系统就是为了管理好选课信息而设计的。
学生选课系统的将使选课管理工作规范化、系统化、程序化,避免选课管理的随意性,提高信息处理的速度和准确性,能够准确、及时、有效的查询和修改学生选课情况。
与传统的选课方式相比,网上选课系统利用局域网为学生选课带来了极大的便捷。
学生在公共机房,或者宿舍的个人电脑上便可以通过校园网络来选课。
在选课期间内,学生能够使用选课系统灵活的修改自己的选课情况,大大提高了学校选课工作的效率。
教务处的教师则可以通过选课系统的管理员子系统来管理学生的选课情况,使得学生选课工作达到系统化和自动化,大大提高了学校的工作效率,为广大师生及相关人员节省了极多的时间。
数据库对于一个应用系统的意义是相当重要的,一个设计良好的数据库系统一方面,能够给开发者带来便捷,更轻松的进行系统设计与编码;另一方面,对于系统的后期维护也非常重要,一个良好的数据库系统能够保证系统的可扩充性,以及系统的移植性等问题。
1.2内容和要求本实验将设计出一个高校网上选课数据库系统,其要求简要如下:(1)系统用户由三类组成:教师、学生和管理员。
(2)管理员负责的主要功能:①用户管理(老师、学生及管理员的增、删、改);②课程管理(添加、删除和修改);③选课管理(实现选课功能开放和禁止、老师成绩输入开放和禁止)。
(3)学生通过登录,可以查询课程的基本信息、实现选课、退课和成绩查询;(4)老师通过登录,可以查看选课学生的基本信息,可以输入成绩。
二、需求分析2.1背景全校性选修课开设的目的在于扩大学生的知识面、加强学生素质教育、培养复合型高级人才,具有不可替代的重要性。
随着教育改革的不断深入和素质教育的加强,学分制的实施,选修课在一个学生的培养计划中占的比重将越来越大。
网上选课系统的出现使同学们能够更加自主、便捷、准确的进行选课。
但是,由于一般高校中的学生都比较多,因此带来了诸多如信息管理等问题,鉴于需要将学生信息、选课信息等信息数字化以便于管理维护,我们便想到了利用数据库能够比较良好地解决此类问题,由此下面我将设计出一个高校选课系统以供参考。
2.2概要分析根据1.2节中所描述的系统分析要求,我们的高校选课系统将包含学生、教师、管理员等实体,学生可以在规定的时间内选课、退选和成绩查询等操作;教师可以查看学生的相关信息,录入学生成绩等操作;管理员可以添加管理员,管理教师、学生等信息。
2.3开发技术开发工具:Microsoft SQL Server 2000开发语言:SQL开发技术:数据库开发技术面向对象:需求者2.4系统主要功能实验选课系统分为教师,学生及系统管理员三类用户,学生的功能包括选课、退选、查询选课信息等,教师的功能包括学生成绩录入,查询实验信息等。
管理员的功能包括新建教师、学生账户,添加课程信息,其系统功能模块如图2-1:图2-1系统功能模块三、E-R图本章节主要包含概念设计、E-R图,以及如何将E-R图转换为实际的物理模型等内容。
3.1概念设计在我们的数据库系统中共有6个实体:学生、教师、管理员、专业、院系、课程。
(1)学生的属性:学号、姓名、性别、生日、密码(2)教师的属性:工号、姓名、性别、生日、密码、职称(3)管理员的属性:工号、姓名、性别、生日、密码、权限标志(4)专业的属性:专业号码、专业名、辅导员、联系方式、专业介绍(5)院系的属性:系号码、系名称、系主任、联系方式、系介绍(6)课程的属性:课程号码、学时、学分、课程介绍(7)控制设置属性:选课控制、成绩录入控制3.2 E-R图各个实体的E-R图如下所示:图3-1学生图3-2教师图3-3管理员图3-4专业图3-5系图3-6课程然后,将以上实体之间联系表示出来,画出数据库系统的E-R图,如图3-7所示:图3-7数据库系统E-R图四、逻辑结构4.1细化表结构为方便,根据上述文字描述,用英文简写为表和列取名,确定列的数据类型及必要的约束规则,给出如下所示数据库表的基本结构及说明:(1)学生信息表列名说明数据类型约束(2)教师信息表(3)管理员信息表(4)专业信息表(5)院系信息表(6)课程信息表(7)选课信息表五、数据库实施本章节主要包含创建表、添加数据和创建必要的视图、触发器和存储过程等内容。
5.1创建表考虑到各个表之间的约束条件以及外键索引等要求,在创建表的时候应当按照一定的次序进行创建,否则会出现错误,还有一种方法是先创建各个基本表,然后在对特定的表添加列和外码约束,在本报告册中将采取第一种方法。
(1)tb_dept院系信息表CREATE TABLE tb_dept(DeptNum char(10)NOT NULL PRIMARY KEY,DeptName varchar(20)NOT NULL,DeptChairman varchar(10)NOT NULL,DeptTel varchar(15)NOT NULL,DeptDesc text NOT NULL,)(2)tb_major专业信息表CREATE TABLE tb_major(MajorNum char(10)NOT NULL PRIMARY KEY,DeptNum char(10)NOT NULL,MajorName varchar(20)NOT NULL,MajorAssistant varchar(10)NOT NULL,MajorT el varchar(15)NOT NULL,FOREIGN KEY(DeptNum)REFERENCES tb_dept(DeptNum))(3)tb_student学生信息表CREATE TABLE tb_student(StudentNum char(10)NOT NULL PRIMARY KEY,MajorNum char(10)NOT NULL,StudentName varchar(10)NULL,StudentSex char(2)NOT NULL,StudentBirthday datetime NOT NULL,StudentPassword varchar(20)NOT NULL,FOREIGN KEY(MajorNum)REFERENCES tb_major(MajorNum))(4)tb_teacher教师信息表CREATE TABLE tb_teacher(TeacherNum char(10)NOT NULL PRIMARY KEY,DeptNum char(10)NOT NULL,TeacherName varchar(10)NOT NULL,TeacherSex char(2)NOT NULL,TeacherBirthday datetime NOT NULL,TeacherTitle varchar(20)NULL,FOREIGN KEY(DeptNum)REFERENCES tb_dept(DeptNum))(5)tb_manager管理员信息表CREATE TABLE tb_manager(ManagerNum char(10)NOT NULL PRIMARY KEY, ManagerName varchar(10)NOT NULL,ManagerSex char(2)NOT NULL,ManagerBirthdate datetime NOT NULL,ManagerRights int NOT NULL)(6)tb_course课程信息表CREATE TABLE tb_course(CourseNum varchar(10)NOT NULL PRIMARY KEY,CourseName varchar(20)NOT NULL,CourseCredit float NOT NULL,CourseClass smallint NOT NULL,CourseDesc text NOT NULL,)(7)tb_stucourse学生选课信息表CREATE TABLE tb_stucourse(StudentNum char(10)NOT NULL,CourseNum char(10)NOT NULL,TeacherNum char(10)NOT NULL,Grade smallint NULL,FOREIGN KEY(StudentNum)REFERENCES tb_student(StudentNum), FOREIGN KEY(CourseNum)REFERENCES tb_Course(CourseNum),FOREIGN KEY(TeacherNum)REFERENCES tb_teacher(TeacherNum),)六、总结经过这一个学期数据库原理与应用的学习,我对数据库的使用更加顺手了,尤其是最近两个星期的数据库最后一个实验(数据库设计)给我带来了挑战,数据库设计的是一个系统,而非一两张表,因此在对待表与表之间的关系的时候要有一种宏观上的认识。
在设计这个数据库系统的时候我学到了许多新知识,如使用PowerDesign数据模工具对数据库逻辑结构的建立,转换为物理模型,然后连接到SQL Server,再进行视图、触发器和存储过程的设计等。
在使用过程中,查阅了不少资料,包括网上和书籍等,锻炼了我的自学能力!。