排课系统数据库设计

合集下载

数据库课程设计--学校教务管理系统

数据库课程设计--学校教务管理系统

学校教务管理的数据库设计I.需求分析:随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长.面对庞大的信息量,就需要有学生教务信息管理系统来提高学生管理工作的效率。

通过这样的系统,可以做到信息的规范管理、科学统计和快速的查询,从而减少管理方面的工作量。

学校为方便教务管理,需开发一个教务管理系统。

为便于学生,老师,教务管理人员信息查询,注册以及信息修改,学校把学生的信息,包括姓名、性别、年龄,成绩等信息输入教务管理系统的数据库,然后在管理终端可以对数据进行查询和修改操作。

要求系统能有效、快速、安全、可靠和无误的完成上述操作。

并要求系统界面要简单明了,易于操作,程序利于维护。

一、信息分析:(1)学校教务管理的数据库,包含以下信息:学校有若干个系,每个系有若干名教师和学生,每个教师可以担任若干门课程,并参加多个项目,每个学生可以同时选修多门课程,每门课程每学期可能有多名教师教授,课程分为必修、选修、任选三种。

(2)学校的教务管理的信息包括:学生姓名、学号、班级、性别、班号,籍贯、出生日期、所属系编号、所属系名称、系主任,教师编号,教师姓名,教师职称,教师所授课程、课程编号,课程名,课程学分,项目编号,项目名称,项目负责人,学生选修课程及成绩。

学生如果课程及格,可以取得该课程的学分。

学生的各类型课程学分和总学分累计到一定程度,学生可以毕业。

根据成绩高低,可以计算学分积。

及格学生的学分积公式:课程学分积=(该课程成绩-50)/10×该课程学分。

二、功能分析:(1)用户能够使用友好的图形用户界面实现对系、班级、学生、教师、课程、选课等内容进行增、删、改,以及对信息的查询。

对于查询要实现比较强大的功能,包括精确查询、模糊查询以及统计查询。

(2)具体查询在数据库中要实现以下的功能:1)所有来自某省的男生2)所有某课程成绩〉90的同学3)教授某课程的老师4)某班年龄最大的5名同学5)某年以后出生的男同学6)选修某课程的学生及其成绩7)没有授课的教师8)某学生所选课程的总学分9)教授某学生必修课程的老师情况10)某学生选修了哪些系的课程11)某系学生所学的所有课程12)按总学分找出某系学习最好的5名同学13)按总学分积找出某系学习最好的5名同学14)可以毕业的学生三、软、硬件配置程序运行的环境:具体运行环境为软件方面,操作系统为windows2000/XP,并且系统装有SQL Server2000数据库管理系统.硬件方面,CPU主频500MHz以上,内存128M或更高。

黄山学院自动排课系统的数据库设计

黄山学院自动排课系统的数据库设计

数据库原理课程设计(2012级)黄山学院自动排课系统的数据库设计姓名:李华阳学号: 21206031023 指导教师:丁丙胜院系:信息工程学院专业:计算机科学与技术提交日期:2014—06—122012级计本数据库原理课程设计目录1. 引言 (3)2. 系统需求分析 (4)2.1 功能需求分析 (4)2.1.1本系统的功能需求分析 (4)2.1.2 排课的基本原则要求 (5)2.2 数据流图 (6)2.3 数据字典 (7)2.3.1 数据项 (7)2.3.2 数据结构 (10)2.3.3 数据流 (10)2.3.4 数据存储 (11)2.3.5 处理过程 (12)3.系统功能设计 (13)3.1 系统功能描述 (13)3.1 系统模块分析 (13)4. 数据库概念模型概念 (14)4.1 概念结构设计的方法 (14)4.2 概念结构设计的步骤 (14)4.3 数据抽象与局部视图设计 (15)4.4 视图集成设计 (15)5. 数据库逻辑结构设计 (16)5.1 数据概念模型的优化 (16)5.2 数据逻辑设计 (17)6. 数据库物理结构设计 (19)结束语 (21)参考文献 (22)22012级计本数据库原理课程设计1.引言随着我国计算机技术、互联网行业的快速发展,计算机的开发应用已渗透到各个领域,成为各行各业必不可少的工具,而且日趋普及。

自动排课管理是学校日常工作中经常要面对的事情,传统的自动排课管理只能是通过手工、分散的管理方式,查找、复核困难,资源不能充分利用,造成资源浪费。

现在相当一部分学校在进行自动排课工作时仍沿用手工方式。

老师为了组织一次排课.不仅要应付课程需要的教师安排、自动排课、学生管理。

人工排课需要经过三个步骤.一是对课程班级人员的选择.二是对课程需求教室的选择,三是根据课程教室分配学生.这些工作浪费了大量的宝贵时间,同时安排位置的工作由于人员多.容易出错.而且安排不具有随机性.不够客观。

排课系统设计

排课系统设计

一、需求分析需求分析是数据库设计的必要和首要设计阶段,将会影响以后数据库设计的延续和质量,需求分析方法也很多,最重要是形成有实用价值的实际性的数据字典和数据流图。

在该排课系统的需求分析阶段,主要是通过询问和自己所掌握的关于该系统的数据联系方式和工作方式,形成了关于该系统的数据字典和数据流图。

1.1 需求表述1.1.1 基本功能描述排课系统的数据库设计主要完成工作有:1、数据库管理员对数据的录入和相关完整性条件约束的建立,2、数据库相关的触发器与存储过程对数据库中数据的联系的管理;3、执行程序能够高效率地完成数据处理和调用;4、能够通过DBMS建立一系列视图来更方便的操作数据库。

1.1.2 开发技术描述开发工具:Microsoft SQL Server 2005SQL Server 2005 是microsoft 公司推出的数据库管理系统,该版本继承了SQL Server 2000 版本的优点,同时又比它增加了许多更先进的功能。

具有使用方便可伸缩性好与相关软件集成程度高等优点,可跨越从运行Microsoft Windows 2000 电脑到运行Microsoft Windows XP 的大型多处理器的服务器等多种平台使用。

本实验中最终将使用Microsoft SQL Server 2005数据库管理系统将我们设计的数据库实现。

1.2 分析形成初步数据字典数据字典(Data Dictionary,DD)是数据库设计需求分析阶段后通过科学的处理方法得到的该系统中各类数据描述的集合,也是进行详细数据收集和数据分析所获得的主要成果,它在数据库设计中占有恨重要的地位。

数据字典通常包括数据项、数据结构、数据流、数据存储和处理过程5个部分。

其中数据项是数据的最小组成单位,若干个数据项可以组成一个数据结构,以下将把分析收集的数据及其结构列出:1、课程相关数据(表1)注:教室类别中的tinyint从1~4分别代表取值为普通教室、多媒体教室、半多媒体教室、实验机房,也可以由具体其它教师类别进行扩充。

4.3排课系统数据库设计

4.3排课系统数据库设计

4.3 系统数据库设计 4.3.1 系统数据表格设计1、课程相关数据(表1)(表1)注:教室类别中的上课时间从11~75取值分别代表为周一1、2节至周七9、10节,也可以由具体其它的教室类别来进行扩充。

2、教师数据(表2)(表2)3、教室数据(表3)(表3)注:教室类别中的上课时间从11~75取值分别代表为周一1、2节至周七9、10节,也可以由具体其它的教室类别来进行扩充。

4、教室使用状态数据分析(表4)(表4)注:对教室使用情况进行标注,以便于在进行排课时不至于冲突。

若教室被使用值为1,未被使用则值为0。

如上各表是系统数据库表格设计,基本上描述了系统中的各种数据及其结构,但是,没有对数据的数据存储进行较多的描述。

4.3.2 系统相关数据的实体及其属性如下各图将系统中的所有实体的属性集合,表示如下:如上各图将系统中的各数据的实体分别以图表的形式列举出。

4.3.3 系统基本E-R图的形成实体联系部分情况:1、一个老师可以同时教授M门课,但一门课程能且只能有1个老师在教授;2、一个老师上一门课程能且只能在1个教室,一个教室能且只能有1个老师在上课;3、一个时间点上可以同时有M个班级在上课,一个班级能且只能在1个时间点上上课。

系统的基本E-R图:在形成E-R图的时,由于将各个实体联系到了一起,所以可能会产生命名上的冲突,结构上的冲突和属性上的冲突,在此不做具体介绍,在后面的具体实现过程中,将具体分析和解决。

4.3.4 将E-R图转化为关系模式生成的关系表:1、课程表(课程号,课名,上课时间,教师代号,教室代号)该表记录整个学院所有课程的相关信息,包括该课程的上课时间,也就是上课教室的时间段,并将课程号作为主键,教师代号、教室代号作为外键。

该关系中其它两个非主属性完全依赖于主键课程代号,也不存在传递依赖,同时满足于1NF,2NF,3NF三个规范。

2、教师表(教师代号,所上课程,教师性别,教师姓名,上课时间)教师表将整个学院所有老师的信息作记录,教师代号、所上课程作为主键,另外将上课时间作为外键。

学生选课管理系统数据库设计数据字典

学生选课管理系统数据库设计数据字典

学生选课管理系统数据库设计数据字典学生表(Students)字段类型描述id INT 主键,学生IDname VARCHAR(50) 学生姓名age INT 学生年龄gender VARCHAR(10) 学生性别major VARCHAR(50) 学生专业GPA DECIMAL(3,2) 学生平均成绩课程表(Courses)字段类型描述id INT 主键,课程IDname VARCHAR(50) 课程名称credits INT 学分teacher VARCHAR(50) 授课教师time VARCHAR(50) 授课时间选课表(Enrollments)字段类型描述id INT 主键,选课IDstudent_id INT 学生ID(外键)course_id INT 课程ID(外键)grade VARCHAR(2) 成绩学生选课管理系统数据库设计详细说明学生表(Students)•学生表包含了学生的基本信息,每位学生对应一条记录,其中id为主键,保证唯一性及快速查询。

•name表示学生姓名,age表示学生年龄,gender表示学生性别,major表示学生所学专业,GPA表示学生的平均成绩。

课程表(Courses)•课程表记录了所有开设的课程信息,每门课程对应一条记录,其中id为主键。

•name表示课程名称,credits表示课程学分,teacher表示授课教师,time表示授课时间。

选课表(Enrollments)•选课表记录了学生选修的课程信息,每条选课记录包含学生ID、课程ID以及成绩。

•id为主键,student_id为外键关联学生表的id字段,course_id为外键关联课程表的id字段,grade表示学生在该门课程的成绩。

以上为学生选课管理系统数据库设计信息,可以根据该数据字典完成数据库表的创建和管理,保证数据的完整性和准确性。

高校学生选课系统数据库设计

高校学生选课系统数据库设计

数据库原理课程设计——高校学生选课系统速提升。

本文是在对各大高校全校公开课学生选课情况进行实地调查后,进行详细分析讨论后撰写的学生选课管理系统数据库设计报告。

全文从最初的系统规划,到需求分析、概念设计、逻辑设计、物理设计。

每一阶段都进行了详细的分析。

接下来的实现、运行与维护阶段,还进行了对本系统的测试,最后是本次项目开发的心得和体会以及本文的参考文献。

本系统是采用 MVC 模式(jsp+javabean+servlet)进行的 J2EE 企业级开发,主要功能是对学生选课及相关信息进行管理。

较行业同类产品而言,本系统人机界面设计更加合理、人性化,用户操作简单方便。

数据库的安全性更高,对用户访问权限进行了严格控制。

数据存取速度更快,使用年限更长。

可以很好的满足高校公开课学生选课的要求,极大的提高了学校的工作效率。

关键字:高校学生选课系统;Mysql;JSP第一章系统开发可行性分析分析系统的可行性,说明该软件开发项目的实现在技术上、经济上和操作上的可行性,评述为了合理地达到开发目标可供选择的各种可能实施方案,说明并论证所选定实施方案的理由。

1.1技术可行性技术可行性分析主要分析技术条件能否顺利完成开发工作,硬、软件能否满足开发者的需要等。

本课题是以jsp平台和Myeclipse作为开发工具,运用java 等语言进行开发,所使用的数据库是Mysql,数据库小巧、速度快,而且功能也十分完善,非常适合软件的开发。

而且,平台降低开发和管理他们的数据基础设施的时间和成本,使得系统可以以很高的安全性、可靠性和可扩展性来运行他们最关键任务的应用程序。

因此,系统的软件开发平台已成熟可行。

硬件方面,科技飞速发展的今天,硬件更新的速度越来越快,容量越来越大,可靠性越来越高,价格越来越低,其硬件平台完全能满足此系统的需要。

综上所述,本系统所使用的技术完全可以满足该系统的开发。

1.2经济可行性本课题开发所涉及的操作平台、开发工具基本上都是实验室机房已具备的软件,都是免费使用的,而且如今的市场情况是:其他都在涨价,就电子类产品在降价。

排课系统数据库表详细设计

排课系统数据库表详细设计
学生信息表(StudentInfo)
字段名称
字段类型
字段长度
默认值
说明
StudentId
Int
学生编号
StudentName
nvarchar
50
学生姓名
ClassId
int
班级ID
loginName

账户
pass
nvarchar
密码
status
nvarchar
状态1 0
教师信息表(TeacherInfo)
字段名称
字段类型
字段长度
默认值
说明
CourceTableId
Int
课程表编号
ClassId
Int
班级编号
WeekDay
nvarchar
50
星期
ClassTime
Int
max
第几节课
CourseInfoId
Int
max
课程任课编号
ClassRoomCode
nvarchar
教室代码
字段长度
默认值
说明
ClassRoomId
Int
教室编号
ClassRoomCode
nvarchar
教室代码
buildingRoomName
nvarchar
教学楼名称
ClassRoomName
nvarchar
教室名称
Max
Int
最大容纳人数
status
nvarchar
状态1 0
课程表(ClassTable)
排课系统数据库表详细设计(scheduling)
班级信息表(ClassInfo)

数据库设计(学生选课系统)

数据库设计(学生选课系统)

《数据库原理与应用》实验指导与报告 2010 / 2011 学年第 2 学期姓名:学号:班级: 09数媒(1)班指导教师:目录实验八数据库设计 (1)一、概要设计 (1)1.1目的和意义 (1)1.2内容和要求 (1)二、需求分析 (2)2.1背景 (2)2.2概要分析 (2)2.3开发技术 (2)2.4系统主要功能 (3)三、E-R图 (4)3.1 概念设计 (4)3.2 E-R图 (4)四、逻辑结构 (6)4.1逻辑转换 (6)4.2细化表结构 (6)五、数据库实施 (8)5.1创建表 (9)5.2创建必要视图 (10)5.3创建必要触发器 (11)5.4创建必要存储过程 (13)六、总结 (14)参考文献 (16)实验八数据库设计一、概要设计1.1目的和意义随着无纸化办公的普遍实现,信息的自动处理以及网络式的信息交互方式已经被人们广泛应用。

让计算机来管理学生的信息是现在各个高校都在积极进行的工作之一,也是高校教学管理工作的重要内容之一。

网上选课与传统的选课方式相比更加节约资源,增加了学生选课自主权。

学生选课系统作为一种现代化的教学技术,越来越受到人们的重视,是一个学校不可或缺的部分, 学生选课系统就是为了管理好选课信息而设计的。

学生选课系统的将使选课管理工作规范化、系统化、程序化,避免选课管理的随意性,提高信息处理的速度和准确性,能够准确、及时、有效的查询和修改学生选课情况。

与传统的选课方式相比,网上选课系统利用局域网为学生选课带来了极大的便捷。

学生在公共机房,或者宿舍的个人电脑上便可以通过校园网络来选课。

在选课期间内,学生能够使用选课系统灵活的修改自己的选课情况,大大提高了学校选课工作的效率。

教务处的教师则可以通过选课系统的管理员子系统来管理学生的选课情况,使得学生选课工作达到系统化和自动化,大大提高了学校的工作效率,为广大师生及相关人员节省了极多的时间。

数据库对于一个应用系统的意义是相当重要的,一个设计良好的数据库系统一方面,能够给开发者带来便捷,更轻松的进行系统设计与编码;另一方面,对于系统的后期维护也非常重要,一个良好的数据库系统能够保证系统的可扩充性,以及系统的移植性等问题。

学生选课与课程安排数据库设计

学生选课与课程安排数据库设计

课程设计指导教师2013年01月23 日课程设计任务书学生: __________________ 专业班级: __________________________ 指导教师: _________________ 工作单位: ____________________________题目:教学管理信息系统一一学生选课及课程安排数据库设计初始条件:大学同时开设多门课程。

每门课程有一个主讲教师,有多名学生选修;一个 学生可选修多门课程并获得相应的学分和成绩;上课的基本单位是“次” (一次 2学时),每一次课都规定了上课时间和教室(这一规定更灵活,并不象本校现 在的情形!)。

要求完成的主要任务:1. 根据上述的初始条件,进行调查分析并设计适当的属性。

设计一个学生选课 及课程安排数据库,记录教师和学生的基本信息,选课,课程安排等信息, DBMS 可选 Ms SQL Server 、Oracle 、MySQ 等。

2. 完成课程设计说明书,其格式遵守学校今年的新规定。

主要容包括:需求分 析,概念设计,逻辑设计,物理实现等。

3. 基于该数据库,最好实现一个或多个应用程序(自己确定功能),程序设计语言(工具)任选。

这一项是选作,不作硬性要求。

时间安排:本学期第21周:1. 消化资料、 系统调查1天 2. 系统分析1天3. 总体设计, 实施计划 2天4. 撰写报告1天指导教师签名:系主任(或责任教师)签名:2013年 月 日 2013年 月日目录1. 需求分析 (4)1.1初始条件 (4)1.2要求完成的任务 (4)1.3可行性分析 (4)1.4设计环境 (4)1.5实现需求 (4)2. 概念设计 (5)2.1数据库基本表设计 (5)2.2 E_R 图 (5)3. 逻辑设计 (6)3.1关系模式 (6)3.2子模式 (6)4. 物理设计 (6)5. 数据库设计源代码 (7)5.1基本表SQL源语言 (7)5.2基本表数据库实现 (10)6. 设计心得 (13)7. 参考资料 (13)教学管理信息系统——学生选课及课程安排数据库设计1 需求分析1.1 初始条件大学同时开设多门课程。

排课系统数据库课程设计

排课系统数据库课程设计

排课系统数据库课程设计一、课程目标知识目标:1. 让学生理解数据库的基本概念,掌握排课系统数据库的设计原理;2. 使学生掌握数据库表的结构设计,包括字段类型、约束条件等;3. 帮助学生掌握SQL语句的基本操作,如插入、查询、更新和删除数据;4. 引导学生了解数据库的规范化理论,提高数据库设计的合理性。

技能目标:1. 培养学生运用数据库设计软件进行排课系统数据库设计的能力;2. 培养学生独立编写SQL语句,完成对排课系统数据库的基本操作;3. 提高学生分析问题、解决问题的能力,使其能够针对实际问题进行数据库优化。

情感态度价值观目标:1. 培养学生对数据库技术的兴趣,激发其主动学习的热情;2. 培养学生具备良好的团队合作精神,学会在团队中发挥个人优势;3. 增强学生的信息安全意识,使其认识到合理设计数据库的重要性。

课程性质:本课程属于实践性较强的学科,结合实际排课需求,培养学生设计、操作数据库的能力。

学生特点:学生具备一定的计算机操作基础,对数据库技术有一定了解,但实践经验不足。

教学要求:注重理论与实践相结合,通过实际操作培养学生的技能,关注学生的情感态度价值观培养,提高其综合素质。

将课程目标分解为具体的学习成果,便于后续教学设计和评估。

二、教学内容1. 数据库基本概念:介绍数据库的定义、分类、发展历程,重点讲解关系型数据库的基本原理;2. 数据库设计原理:讲解实体关系模型、E-R图绘制方法,以及排课系统数据库的需求分析;3. 数据库表结构设计:包括字段类型、约束条件、索引等,结合排课系统案例进行讲解;4. SQL语句操作:教授插入、查询、更新和删除数据的基本语法,举例说明在排课系统中的应用;5. 数据库规范化理论:介绍第一范式、第二范式、第三范式的基本概念,以及如何进行数据库设计优化;6. 排课系统数据库设计:结合教材,指导学生运用数据库设计软件完成实际排课系统的数据库设计;7. SQL语句实践:布置实际操作题目,让学生独立编写SQL语句,完成对排课系统数据库的操作;8. 数据库安全与维护:讲解数据库的安全性和一致性,介绍常见的数据库维护方法。

教务系统数据库设计

教务系统数据库设计

教务系统数据库设计一、概述本系统后台数据库采用Microsoft SQL Server 数据库,该数据库系统在安全性、准确性和运行速度方面有绝对的优势,并且处理数据量大,效率高;前台采用Microsoft 公司的Visual Studio 2010作为主要开发工具,可与SQL Server 2008数据库无缝链接。

二、需求分析2.1、功能需求本系统的功能如下:1)学生信息查询:学生可以根据学号、姓名、专业进行查询.2)学生信息管理:主要是用于学生信息更新、插入、删除;3)学生成绩录入:用于学生成绩管理,录入学生成绩,也可以更新;2.2、数据需求本系统需要的数据如下:学生:学号、姓名、性别、年龄教师:工号、姓名、性别、年龄班级:班号、班名、人数、课程:课程号、课程名、上课时间、上课地点专业:专业号、专业名学生和教师实体及其属性E-R图部分实体的E-R图总体E-R图3.2、总体E-R图描述学生与班级之间的联系是所属关系(一对多关系)班级与专业之间的联系是所属关系(一对多关系)班级与课程之间的联系是学习关系(多对多关系)学生选修一门选修课(一对多关系)学生评教老师所教课程(多对多关系)老师教授课程(多对多关系)四、逻辑结构设计4.1、关系模型学生(学号、姓名、性别、年龄、班号、选修课程号、分数)教师(工号、姓名、性别、年龄)班级(班号、班名、人数、专业名)课程(课程号、课程名)成绩(必修课程号、班号、学号、分数)评教(学号、工号、课程号、评分)教授(工号、课程号)课程表(课程号、工号、上课时间、上课地点)(实现排课功能)用户(用户名、密码、用户类型)(存储登陆查询系统的人员信息)加粗表示外键、加下划线表示主码4.2、关系模式的优化与说明例如:教授关系的依赖关系如下:(工号、课程号)—〉工号、课程号所以教授关系模式属于第三范式教师关系的依赖关系如下:工号—>工号、姓名、性别、年龄因为没有非主属性对码的部分函数依赖,也没有非主属性对码的传递函数依赖所以教师关系模式属于第三范式五、物理结构设计5.1、数据库的建立5.2、表与表结构班级(Class)表的结构课程(Course)表的结构学生(Student)表的结构教师(Teacher)表的结构评教(Judge)表的结构教授(Teach)表的结构成绩(Grade)表的结构管理员(admin)表的结构六、应用程序设计6.1、系统总体结构1)主界面:登陆界面,通过选择用户类型,输入用户名密码,点击登录进入不同界面。

(完整word版)学生选课管理系统的数据库设计

(完整word版)学生选课管理系统的数据库设计

第六章(续)数据库设计的典型案例本章要点✧学生选课管理系统的数据库设计本章学习目标✧学生选课管理系统的需求分析✧学生选课管理系统的ER图✧学生选课管理系统的关系数据库模式✧学生选课管理系统数据库的建立在第6章里我们已经学习了有关数据库设计的基本理论和方法。

本章通过学生选课管理系统数据库设计案例,实际讲授数据库的设计方法,加深对第七章的理解,提高我们的综合设计的能力。

6.1 案例的系统需求简介6.1.1总体需求简单介绍需求分析阶段是数据库应用系统开发的最重要阶段。

需求分析要求应用系统的开发人员按照系统的思想,根据收集的资料,对系统目标进行分析,对业务的信息需求、功能需求以及管理中存在的问题等进行分析,抽取本质的、整体的需求,为设计一个结构良好的数据库应用系统的逻辑模型奠定坚实的基础。

高等学校的学生选课管理系统,在不同的学校会有不同的特点,因为作为教务工作部分它和学校本身的行政制度有关。

本章的目的在于,作为数据库设计和应用开发的运用对象,对业务进行适度的简化,突出比较核心的成分,如院系算作一个级别的概念而且直接管理班(跳过专业一级的设置),学生的免修重修等情况处理、教师的管理没有细化等。

6.1.2用户总体业务构造学生选课管理业务,包括4个主要部分:学生的学籍及成绩管理、制定教学计划、学生选课管理以及教学调度。

各部分具体的内容:(1)学籍及成绩管理包括:各院系的教务员完成学生学籍注册、毕业、转学等处理,各授课教师完成所讲授课成绩的录入,然后教务员进行学生成绩的审核认可。

(2)制定教学计划包括:由教务部门完成指导性教学计划、培养方案的确定,开设课程的注册和调整。

(3)学生选课包括:学生根据开设课程和培养计划(和自己的状况)选择自己本学期所选修课程,教务员对学生所选修课程的确认处理。

(注意:一般的必修课程是由教务员统一处理,只有辅修的课程才经过学生的选择过程)(4)执行教学调度包括:教务员根据本学期所开设的课程、教师上课的情况以及学生选课情况完成排课、调课等。

排课系统数据库报告

排课系统数据库报告

数据库课程设计题目某中学排课管理系统专业班级姓名学号完成日期 2014-11-24目录一、需求分析 (1)1.1数据字典 (2)1.2全系统的数据项 (3)1.3数据流图 (3)二、概念结构设计 (4)2.1E-R图 (4)2.2系统说明书 (5)三、逻辑结构设计 (15)3.1关系模型 (15)3.2参照完整性约束条件 (15)3.3系统结构图 (16)四、数据库实施 (16)4.1关系模式 (16)4.2程序编码(C#语言) (21)五、课程设计的感想和心得体会 (27)一、需求分析学生隶属班级,班级按照课程表上课,课程由老师教授,这些都要有管理人员来管理。

总结出如下需求信息:1)一个班级有多个学生;2)一个学生有多门课,一门课对应多个学生;3)一个教师可以教授多门课,一门课可以由多个教师来教授;4)一个班级对应一张班级课程表,一个教师也对应一张教师课程表;5)一个教师可以教授多个班级;经过对上述系统功能的分析和需求总结,设计总结如下:1.1数据字典1.2全系统的数据项数据项:1)学生信息:学生ID、姓名、性别、出生日期、所属班级。

2)班级信息:班级ID、所属年级。

3)教师信息:教师ID、姓名、性别、年龄。

4)课程信息:课程ID、课程名称、教师ID。

5)课程表信息:星期、第一节、第二节、第三节、第四节、第五节、第六节、第七节、第八节、班级ID。

1.3数据流图信息文件二、概念结构设计2.1E-R图1)2)班级实体E-R图3)教师实体E-R图4)课程实体E-R图5)课程表实体E-R图6)全局E-R图2.2系统说明书1)系统要求某中学的排课管理系统●实现班级、课程等基本信息的管理;●实现学生、教师信息的管理;●实现班级课程及课程的任课教师和排课管理;●创建存储过程检测指定教师、指定节次是否有课;●创建存储过程生成指定班级的课程表;●创建存储过程生成指定老师的课程表;●建立数据库相关表之间的参照完整性约束。

排课系统数据库报告

排课系统数据库报告

排课系统数据库报告- 数据库课程设计题目某中学排课管理系统专业班级姓名学号完成日期2014-11-24- .- 总结资料-一、需求分析(3)1.1数据字典(3)1.2全系统的数据项(4)1.3数据流图(4)二、概念结构设计(5)2.1E-R图(5)2.2系统说明书(6)三、逻辑结构设计(16)3.1关系模型(16)3.2参照完整性约束条件(16)3.3系统结构图(17)四、数据库实施(17)4.1关系模式(17)4.2程序编码(C#语言)(22)五、课程设计的感想和心得体会(28)- .- 总结资料--一、需求分析学生隶属班级,班级按照课程表上课,课程由老师教授,这些都要有管理人员来管理。

总结出如下需求信息:1)一个班级有多个学生;2)一个学生有多门课,一门课对应多个学生;3)一个教师可以教授多门课,一门课可以由多个教师来教授;4)一个班级对应一班级课程表,一个教师也对应一教师课程表;5)一个教师可以教授多个班级;经过对上述系统功能的分析和需求总结,设计总结如下:1.1数据字典- .- 总结资料--1.2全系统的数据项数据项:1)学生信息:学生ID、、性别、出生日期、所属班级。

2)班级信息:班级ID、所属年级。

3)教师信息:教师ID、、性别、年龄。

4)课程信息:课程ID、课程名称、教师ID。

5)课程表信息:星期、第一节、第二节、第三节、第四节、第五节、第六节、第七节、第八节、班级ID。

1.3数据流图- .- 总结资料-二、概念结构设计2.1E-R图2)班级实体E-R图3)教师实体E-R图- .- 总结资料--4)课程实体E-R图5)课程表实体E-R图6)全局E-R图- .- 总结资料--2.2系统说明书1)系统要求某中学的排课管理系统●实现班级、课程等基本信息的管理;●实现学生、教师信息的管理;●实现班级课程及课程的任课教师和排课管理;●创建存储过程检测指定教师、指定节次是否有课;●创建存储过程生成指定班级的课程表;●创建存储过程生成指定老师的课程表;●建立数据库相关表之间的参照完整性约束。

排课系统中数据库表的设计

排课系统中数据库表的设计

排课系统中数据库表的设计作者:李娟来源:《科技资讯》2015年第15期摘要:数据库表是数据库中所必需要设计的内容,表结构是否规范直接关系到后续数据的保持,这就要求建立一个简洁、清晰的数据库表。

以免存储冗余信息,造成浪费。

关键词:数据库排课逻辑设计中图分类号:G71 文献标识码:A 文章编号:1672-3791(2015)05(C)-0000-00对排课进行分析之后,需要设计一个合适的数据库表,并要求该数据库表满足前面提到的排课算法以及第三范式,因此笔者对数据库表进行了设计。

(1)周课时数设定表周课时数设定表主要体现的是年级与课时数的关系,这里主要包括各个年级在规定学期当中一天的课时数(在这里,课时数用Ω的一个子集表示,用Kci来表示某个年级的日课时)。

(2)年级科目设置表年级科目设置表主要体现的是不同年级不同科目之间的关系,其主要结构是不同年级在每个学期的科目代码、周课时数之间的关系,还有一天最大节数、不同天同一节最大数等等。

(3)教师任教设置表教师任教设置表主要体现的是教师、年级和科目之间的关系。

(4)年级科目排课限制表年级科目排课限制主要体现的是年级、科目与时间之间的关系,其主要结构是学期、年级、科目代码、固定教室代码、每日时间段允许标志等(每日时间段允许标志值用0或1来表示,0表示不允许在这段时间安排课程,1表示允许)。

表结构参见下表1所示。

(5)教师排课表教师排课表主要体现的是教室、年级与时间之间存在的关系,它是由年级代码、教师代码、时间允许标志等组成(该表的设计思想模仿了年级科目排课表,即每日时间允许标志值用0和1来表示,0表示不允许在该时间段安排课程,1表示允许)。

(6)固定课程设置表固定课程设置表主要体现的是班级、课程与时间之间的关系,其主要结构是学期、年级、班级、教师代码、周、节、科目等(自动排课前预先设置的固定课程均作为记录保存在该表中,也就是某个班级在指定时间段的课程设置)。

排课系统数据库课程设计

排课系统数据库课程设计

排课系统数据库课程设计一、教学目标本课程的教学目标是使学生掌握排课系统数据库的基本知识,包括数据库的概念、设计、建立和管理等;培养学生运用数据库解决实际问题的能力,提高学生的信息素养和创新能力;培养学生团队合作精神,提高学生沟通能力和解决问题的能力。

具体来说,知识目标包括:1.理解数据库的基本概念,如数据、数据库、表、字段等。

2.掌握数据库的设计原则,如实体-关系模型、关系代数等。

3.学会使用数据库管理系统,如MySQL、Oracle等。

4.了解数据库的安全性和完整性约束。

技能目标包括:1.能够使用数据库管理系统进行数据库的创建、修改和删除。

2.能够使用SQL语言进行数据的增、删、改、查操作。

3.能够进行数据库的备份和恢复。

4.能够进行数据库性能优化。

情感态度价值观目标包括:1.培养学生对数据库技术的兴趣,提高学生信息素养。

2.培养学生团队合作精神,提高学生沟通能力和解决问题的能力。

3.培养学生遵守数据安全规范,提高学生社会责任感。

二、教学内容本课程的教学内容主要包括以下几个部分:1.数据库基本概念:数据、数据库、表、字段等。

2.数据库设计:实体-关系模型、关系代数等。

3.数据库管理系统:MySQL、Oracle等。

4.数据库操作:SQL语言、数据的增、删、改、查操作。

5.数据库安全与性能:安全性、完整性约束、备份与恢复、性能优化。

三、教学方法为了提高教学效果,本课程将采用多种教学方法,如讲授法、讨论法、案例分析法、实验法等。

1.讲授法:通过教师的讲解,使学生掌握数据库的基本概念和理论知识。

2.讨论法:引导学生进行小组讨论,培养学生的团队合作能力和解决问题的能力。

3.案例分析法:通过分析实际案例,使学生了解数据库在实际应用中的作用和价值。

4.实验法:让学生动手实践,掌握数据库的操作技能,提高学生的信息素养。

四、教学资源为了支持本课程的教学,我们将准备以下教学资源:1.教材:《数据库原理与应用》、《MySQL权威指南》等。

排课系统数据库设计

排课系统数据库设计

排课系统数据库设计(总13页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--JIANGXI AGRICULTURAL UNIVERSITY 本科课程实训题目:关于学生排课系统的数据库设计学院:软件学院姓名:肖力谢果学号:专业:软件工程班级:软件1001指导教师:黄欣2011年12月引言:由于当下大学学校班级及专业较多,我们学校的实用的帮助班级排课的一个系统也有迫切需求。

基于用SQL Server设计的数库的排课系统也有很大的需要,在本实训作业中,将会针对该实际情况,对我校江西农业大学的学生上课排课系统的数据库进行设计。

该设计工作由双人合作的形式完成,对一个学期以来数据库系统概论的学习进行巩固和联系。

该排课系统主要设计流程工作大概分为三个阶段:需求分析,概念结构设计,逻辑结构设计,也将设计的物理结构和数据库实施维护从略讲述,着重在需求分析上的收集数据形成实体及其联系的数据字典完成,在需求分析的基础上完成数据流图的基本设计;在概念结构设计上完成数据的抽象形成各子系统的E-R图,最后在解决冲突的分析下完成基本总实体-联系(E-R 图);在逻辑结构设计阶段中完成数据的抽象及实体的形成,实体的规范分析及完整性约束,以及设计阶段的有关触发器的创建分析和实现……最后简要对数据库设计的步骤的物理设计和实施阶段简要概述。

课程设计为实验周两天完成,使用流行的SQL Server 2005数据库系统完成基本设计工作,通过数据库管理系统(DBMS)、T/SQL基本语句实现数据库表的创建,表的完整性约束,表的视图及触发器的创建,基本工作都按照实训题要求基本完成。

一、需求分析需求分析是数据库设计的必要和首要设计阶段,将会影响以后数据库设计的延续和质量,需求分析方法也很多,最重要是形成有实用价值的实际性的数据字典和数据流图。

在该排课系统的需求分析阶段,主要是通过询问和自己所掌握的关于该系统的数据联系方式和工作方式,形成了关于该系统的数据字典和数据流图。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

JIANGXI AGRICULTURAL UNIVERSITY本科课程实训题目:关于学生排课系统的数据库设计学院:软件学院姓名:肖力谢果学号: 20101466 20101467专业:软件工程班级:软件1001指导教师:黄欣2011年12月引言:由于当下大学学校班级及专业较多,我们学校的实用的帮助班级排课的一个系统也有迫切需求。

基于用SQL Server设计的数库的排课系统也有很大的需要,在本实训作业中,将会针对该实际情况,对我校江西农业大学的学生上课排课系统的数据库进行设计。

该设计工作由双人合作的形式完成,对一个学期以来数据库系统概论的学习进行巩固和联系。

该排课系统主要设计流程工作大概分为三个阶段:需求分析,概念结构设计,逻辑结构设计,也将设计的物理结构和数据库实施维护从略讲述,着重在需求分析上的收集数据形成实体及其联系的数据字典完成,在需求分析的基础上完成数据流图的基本设计;在概念结构设计上完成数据的抽象形成各子系统的E-R图,最后在解决冲突的分析下完成基本总实体-联系(E-R图);在逻辑结构设计阶段中完成数据的抽象及实体的形成,实体的规范分析及完整性约束,以及设计阶段的有关触发器的创建分析和实现……最后简要对数据库设计的步骤的物理设计和实施阶段简要概述。

课程设计为实验周两天完成,使用流行的SQL Server 2005数据库系统完成基本设计工作,通过数据库管理系统(DBMS)、T/SQL基本语句实现数据库表的创建,表的完整性约束,表的视图及触发器的创建,基本工作都按照实训题要求基本完成。

一、需求分析需求分析是数据库设计的必要和首要设计阶段,将会影响以后数据库设计的延续和质量,需求分析方法也很多,最重要是形成有实用价值的实际性的数据字典和数据流图。

在该排课系统的需求分析阶段,主要是通过询问和自己所掌握的关于该系统的数据联系方式和工作方式,形成了关于该系统的数据字典和数据流图。

1.1需求表述1.1.1 基本功能描述排课系统的数据库设计主要完成工作有:1、数据库管理员对数据的录入和相关完整性条件约束的建立,2、数据库相关的触发器与存储过程对数据库中数据的联系的管理;3、执行程序能够高效率地完成数据处理和调用;4、能够通过DBMS建立一系列视图来更方便的操作数据库。

1.1.2 开发技术描述开发工具:Microsoft SQL Server 2005SQL Server 2005 是microsoft 公司推出的数据库管理系统,该版本继承了SQL Server 2000 版本的优点,同时又比它增加了许多更先进的功能。

具有使用方便可伸缩性好与相关软件集成程度高等优点,可跨越从运行Microsoft Windows 2000 电脑到运行Microsoft Windows XP 的大型多处理器的服务器等多种平台使用。

本实验中最终将使用Microsoft SQL Server 2005数据库管理系统将我们设计的数据库实现。

1.2分析形成初步数据字典数据字典(Data Dictionary,DD)是数据库设计需求分析阶段后通过科学的处理方法得到的该系统中各类数据描述的集合,也是进行详细数据收集和数据分析所获得的主要成果,它在数据库设计中占有恨重要的地位。

数据字典通常包括数据项、数据结构、数据流、数据存储和处理过程5个部分。

其中数据项是数据的最小组成单位,若干个数据项可以组成一个数据结构,以下将把分析收集的数据及其结构列出:1、课程相关数据(表1)注:教室类别中的tinyint从1~4分别代表取值为普通教室、多媒体教室、半多媒体教室、实验机房,也可以由具体其它教师类别进行扩充。

2、班级数据(表2)3、教师数据(表3)注:教室类别中的tinyint从1~4分别代表取值为普通教室、多媒体教室、半多媒体教室、实验机房,也可以由具体其它教师类别进行扩充。

5、班级课程数据(表5)6、班级课时数据(表6)注:星期的属性值范围tinyint中从1~5分别代表值是周一到周五;节次的属性值范围tinyint中从1~4分别代表值是1~2节,3~4节,5~6节,7~8节。

7、授课数据(表7)注:一个老师可能教授多门课程的情况也存在。

8、教室使用状态数据分析(表8)注:标注教室使用情况,以便于进行排课时不至于冲突。

9、学期的时间分配数据(表9)属性值范围tinyint中从1~4分别代表值是1~2节,3~4节,5~6节,7~8节。

以上各是需求分析后形成的数据的部分数据字典,基本描述了各种数据及其结构,没有对数据的数据存储进行较多的描述。

1.3基本数据流图通过以上的分析和各类数据的形成,也将在以下画出该系统的基本简单数据流图,数据流图(Data Flow Diagram,DFD)为概念结构设计和形成初步基本E-R图做好准备。

下图为得到的基本数据流程图:基本数据流程图(图1)注:在该数据流程图中简要将系统的数据流向标示,在排课处理中综合所有的相关数据,最后得到一个班级一门课程在一个时间点的上课地点和任课老师。

二、 概念结构设计将以上需求分析阶段得到的数据字典及数据流程图整合为对应得到实体联系图,为下一步逻辑结构设计中创建关系代数模型和建立相应得表做最后的分析准备。

2.1 数据各实体及其属性以下各图将系统所有实体的属性集合表示如下:以上将数据各实体分别将图表列出。

2.2 基本E-R图的形成实体联系部分情况:1、一个班级可以是在一个学期内学习没M门课程,一门课程也可以同时在我们学校的N个班级内开课;2、一个老师可以教M门课程的情况,同时一门课程有N个老师在教授课程;3、一个班级有M个老师授课学习,一个老师也可能在N个班级中讲课;4、一个班上课只能在1个教室,同时一个教室在一时刻只能一个班上课(大课及公选课没有考虑进去);5、一个老师上课在1个教室,一个教室只能1个老师在上课;6、一个时间点有M个班级在上课,一个班级只能只能在1个时间点上课。

基本E-R图:系统基本E-R图在形成E-R图的过程中,由于将各实体联系到一块,可能会产生命名冲突,结构冲突和属性冲突,在此将不具体介绍相关冲突的解决办法,只在后面的模型中自行分析并解决。

三、逻辑结构设计逻辑结构设计是在概念结构设计好的基础上把形成的基本系统实体联系图转化为我们现在要使用的DBMS关系模型结构,在此将具体将E-R图的各实体和属性联系转化为一个个的关系模式,并对各关系模式分析各规范要求。

3.1 E-R图转化为关系模式生成的关系表:1、课程表(课程号,课程名,课程类别)该表记录全校所有课程的相关信息,包括该课程的上课类别,也就是上课教室的类别,将课程号作为主码。

该关系中其它两个非主属性完全依赖于码值课程代号,也不存在传递依赖,同时满足于1NF,2NF,3NF三个规范。

2、班级表(班级代号,班级名,班级人数)表记录学校各班级的的简单信息,包括班级名称和班级人数,班级人数同时将会确定该班级上课的教室规模,班级代号为主码约束,班级名和班级人数完全依赖于该码,不存在传递依赖,该关系满足3范式规范要求。

3、教师表(教师代号,教师性别,教师姓名)教师表将学校所有老师的信息记录,教师代号为为主码,也满足三范式的规范要求。

4、教室表(教室代号,教室规模,教室类别)将记录全校所有教室信息的表,其中实体完整性为教室代号为主码,教室规模为教室容纳人数,教室类别取值有int型数据4种,两个非主属性完全依赖于码且不传递依赖于主码。

5、时间表(时间代号,星期,节次,周次)记录学校一个学期所有上课时间的表,将节假日和双休日可以不再表内,包含周次,星期,节次三个时间属性,时间代号为主码约束,三个属性完全依赖于主码,也不传递依赖于主码,满足关系范式要求。

6、班级选课表(班级代号,课程代号,课时数,周数)班级选课表将记录一个班级一门课程的上课信息,包括课时数,和上课总周数,班级代号和课程代号为主码,同时也是班级表和课程表的外码,一个班的某门课程的上课课时和周数一定的,两个属性完全依赖于主码,同时这个关系也将是编程实现时进行排课所需要的表,将会生成视图和编写触发器对应外码的参照完整性。

7、班级派课表(班级代号,时间代号,课程号,教师代号,教室代号)班级派课表中记录排课后的班级上课表,也是最终得到的班级课表信息,以班级代号和时间代号为主码约束,其他属性有该班级在该时刻上课的课程,上课的老师代号,以及上课的教室代号。

8、教室状态表(教室代号,时间代号,使用状态)教室状态表保存了在排课过程中教室的使用情况,使用状态为1和0,分别表示教室在该时刻的使用状态,为编程实现不会教室在某个时刻不重复排教室。

教室代号和时间代号为主码约束,该关系同样满足三范式规范。

9、授课状态表(教师代号,课程代号)授课状态表将记录老师的教课信息,一个老师可能上几门不同的课程,比如java老师可能也上C语言的课程,加入该表将会更准确记录老师的授课信息,以便排课系统更好的分配。

该表为全码约束,两个属性组合为主键。

3.2 部分表、视图和触发器的创建1、表的创建:Create table subject //课程表创建(Kcdh int parmary key,Kcm char(4) not null,Kclb char(4) not null,Zxs int not null,Zhxs int not null chilk(zhxs in (0,1,2,3)) defult 1,)Create table teacher //教师表的建立(Js~dh int parmary key,Jszy char(8) not null,Jsxb char(2) not null chilk (jsxb in (‘男,女’)),Jsxm char(8) not null)2、班级查询视图建立Create view classtimeAsSelect class.bjxm,班级派课表.jsdh,,subject.kcm,teacher.jsxm,time.jc,zc,xqFrom class,time,teacher, 班级派课表,subjectWhere class.bjdh=班级派课表.bjdh andteacher.js~dh=班级派课表.s~dh andtime.sjdh =班级排派表.sjdh andsubject.kcdh=班级派表.kcdh3、教室课表视图建立:Create view teachertimeAsSelect jsxm,bjxm,kcm 班级派课表.bidh ,xq,zc,jc, 班级派课表.bidh From class ,room,teacher,time, 班级排课表.,subjectWhere class.bjdh=班级派课表.bjdh andteacher.js~dh=班级派课表.s~dh andtime.sjdh =班级派课表.sjdh andsubject.kcdh=班级排课表.kcdh5、部分触发器的建立:Create trigger insert_ST on 班级派课表 for insertAsBegindeclare @banji int @banji_1 intselect @banji=count(*) from 班级派课表,inserted where inserted.bjdh=班级派课表.bjdh and inserted.bjkc=班级派课表.bjkc select @banji_1=kss from 班级课表,inserted where inserted.bjdh=班级派课表.bjdh and inserted.bjkc=班级派课表.bjkcif @banji_1<@banjibeginPrint(‘该班级的该课程已经被排满了,不能再排’);Rollback tranendend四、总结分析该实训过程中综合了该学期以来对数据库设计和T/SQL的学习,通过了解相关设计案例,借助SQL Server 2005 开发工具,于同伴完成了改排课系统的初步简单设计。

相关文档
最新文档