大学自动排课算法设计与实现(数据库设计)

大学自动排课算法设计与实现(数据库设计)
大学自动排课算法设计与实现(数据库设计)

大学自动排课算法设计与实现数据库设计说明书

目录

1. 文档介绍 (1)

1.1文档目的 (1)

1.2文档范围 (1)

1.3读者对象 (1)

1.4参考文献 (1)

1.5术语与缩写解释 (2)

2. 数据库环境说明 (3)

3. 数据库的命名规则 (3)

4. 逻辑设计 (3)

5. 物理设计 (7)

5.1表汇总 (8)

5.2表A (9)

5.3表B (9)

5.4表C (10)

5.5表D (10)

5.6表E (10)

5.7表F (11)

5.8表G (11)

5.9表H (11)

5.10表I (12)

8. 安全性设计 (12)

8.1防止用户直接操作数据库的方法 (12)

8.2用户帐号密码的加密方法 (12)

8.3角色与权限 (13)

9. 优化 (13)

10. 数据库管理与维护说明 (13)

1. 文档介绍

1.1 文档目的

此份文档的目的就是指对于一个给定的应用环境,构造优化的数据库逻辑模式和物理结构,并据此建立数据库应用系统,使之能够有效的存储和管理数据,满足各中用户的应用需求。

1.2 文档范围

A.待开发的软件系统为:大学自动排课算法设计与实现。

B.该软件可以帮助学校负责排课的相关人士完成排课任务。

C.开发本软件主要是为了帮助学校负责排课的相关人士解决“教师”、“教

室”、“时间”等资源搜索的问题。通过计算机运算速度快的特点,在大数据量的情

况下寻找资源的最优或近似最优的组合,以减少人的工作量。但特殊情况还需人为

进行调节,不属于本系统所能处理的范围。

1.3 读者对象

该文档主要面向系统分析员、数据库设计人员,应用开发人员,数据库管理员,用户代表。

1.4 参考文献

数据库系统概论(第四版)

作者:王珊、萨师煊

出版社:高等教育出版社

出版日期:2008年12月

1.5 术语与缩写解释

2. 数据库环境说明

运行环境的限制: 必须装有Java运行平台的操作系统。数据库则使用的是access数据库

3. 数据库的命名规则

数据库对象包括表、视图(查询)、存储过程(参数查询)、函数、约束。对象名字由前缀和实际名字组成,长度不超过30。前缀:使用小写字母。

实际名字尽量描述实体的内容,由单词或单词组合,每个单词的首字母大写,其他字母小写,不以数字和_开头。合法的对象名字类似如下:

字段命名规则

数字、字符、日期/时间、杂项,字段有表的简称(或全称)、下划线、实际名称加后缀组成。后缀:表示该字段的属性。

4. 逻辑设计

图1教师实体及其属性

图2课程实体及其属性

3)教室实体属性图如图3所示

图3 教室实体及其属性4)班级实体属性图如图4所示

图4 班级实体及其属性

图5学生课表实体及其属性6)教室课表实体属性图如图6所示

图6教室课表实体及其属性

7)教师课表实体属性图如图7所示

图7 教师课表实体及其属性8)大学自动排课实体属性图如图8所示

图8 大学自动排课实体属性图

5. 物理设计

表1 用户信息表

表2 教师信息表

表3 课程信息表

表4 教室信息表

表5 班级信息表

5.1 表汇总

5.2 表A

5.3 表B

5.4 表C

5.5 表D

5.6 表E

5.7 表F

5.8 表G

5.9 表H

5.10 表I

8. 安全性设计

用户只有在登陆成功的前提下才能查询,学生和老师只有只读权限,不允许修改,管理员只有在登陆成功的前提下才能进行操作。

8.1 防止用户直接操作数据库的方法

本系统设有登陆模块,在登录模块中,用户输入账号和密码便可登录系统。密码输入错误,则重新登录。本系统只有管理员具有修改的权限,教师和学生只有阅读的权限。

8.2 用户帐号密码的加密方法

8.3 角色与权限

9. 优化

10. 数据库管理与维护说明

数据库运行后,由于运行环境的不断变化,数据库运行过程中物理存储也会不断地变化,对数据库设计进行评价,调整,修改等维护工作是一个长期的任务也是设计工作的继续和提高。对数据库经常性维护的工作主要是由DBA完成,它包括,数据库的转储和恢复,数据库的安全性,完整性控制,数据库性能的监督,分析和改造,数据库的重组织和重构造

数据库设计方法及

数据库设计方法及命名规范

- - 2 数据库设计方法、规范与技巧 (5) 一、数据库设计过程 (5) 1. 需求分析阶段 (6) 2. 概念结构设计阶段 (9) 2.1 第零步——初始化工程 (10) 2.2 第一步——定义实体 (10) 2.3 第二步——定义联系 (11) 2.4 第三步——定义码 (11) 2.5 第四步——定义属性 (12) 2.6 第五步——定义其他对象和规则 (12) 3. 逻辑结构设计阶段 (13) 4. 数据库物理设计阶段 (15) 5. 数据库实施阶段 (15) 6. 数据库运行和维护阶段 (16) 7.建模工具的使用 (16) 二、数据库设计技巧 (18) 1. 设计数据库之前(需求分析阶段) (18) 2. 表和字段的设计(数据库逻辑设计) (19) 1) 标准化和规范化 (19) 2) 数据驱动 (20)

- - 3 3) 考虑各种变化 (21) 4) 对地址和电话采用多个字段 (22) 5) 使用角色实体定义属于某类别的列 (22) 6) 选择数字类型和文本类型尽量充足 (23) 7) 增加删除标记字段 (24) 3. 选择键和索引(数据库逻辑设计) (24) 4. 数据完整性设计(数据库逻辑设计) (27) 1) 完整性实现机制: (27) 2) 用约束而非商务规则强制数据完整性 (27) 3) 强制指示完整性 (28) 4) 使用查找控制数据完整性 (28) 5) 采用视图 (28) 5. 其他设计技巧 (29) 1) 避免使用触发器 (29) 2) 使用常用英语(或者其他任何语言)而不 要使用编码 (29) 3) 保存常用信息 (29) 4) 包含版本机制 (30) 5) 编制文档 (30) 6) 测试、测试、反复测试 (31) 7) 检查设计 (31) 三、数据库命名规范 (31) 1. 实体(表)的命名 (31) 2. 属性(列)的命名 (34)

自动排课系统的设计与实现[1]

目录 摘要............................................................................................................................. I 第1章绪论 (1) 1.1系统开发背景 (1) 1.2国内外的研究现状 (1) 1.3系统解决的主要问题 (3) 1.4本文的主要工作 (3) 1.5本文的组织结构 (3) 第2章需求分析 (5) 2.1系统概述 (5) 2.1.1总体业务描述 (5) 2.1.2系统的目标和解决的问题 (5) 2.1.3系统的开发模式 (7) 2.2系统需求问题描述 (9) 2.2.1功能性需求 (9) 2.3.2系统非功能性需求 (12) 第3章系统构架设计 (14) 3.1构架的目标和约束 (14) 3.2构架设计 (15) 3.2.1系统总体架构 (15) 3.2.2系统功能构架 (16) 3.2.3系统技术构架 (17) 3.2.4系统安全构架 (18) 第4章系统详细设计 (20) 4.1 系统建模 (20) 4.2 系统数据库设计 (24) 4.2.1生成数据库表 (24) 4.2.2数据分析 (32) 4.2.3数据库管理技术 (34) 第5章计算机排课系统的实现 (35) 5.1系统总体实现 (35) 5.1.1数据录入模块的设计与实现 (38) 5.1.2报表模块的设计与实现 (43) 5.1.3用户管理模块的设计与实现 (45) 5.2教学计划的关键实现 (48) 5.2.1算法描述 (49) 5.2.2教学计划算法过程 (49) 5.3排课算法的关键实现 (51) 第6章总结与展望 (66) i

教学管理系统数据库报告

教学管理系统数据 库报告

《数据库原理及应用》 课程设计报告 教学管理体统数据库系统设计 班级 学号 姓名 指导教师 日期

一.需求分析 1.基本情况说明 设计一个简单的教学管理系统,要求存储学生基本情况、课程基本情况,教师授课情况与学生成绩记录等,提供成绩录入、信息查询等功能以满足日常教学管理需要。 对学生的成绩的管理、查询学生的各科成绩的学生成绩管理系统。该系统能够帮助我们更方便的管理学生的成绩,替代了以前的手工操作管理学生的成绩,节约我们珍贵的时间。而且老师和学生能够以不同个的身份登录,获得不同的操作权限,有效的提高教学管理系统的工作效率。 2.数据库系统应具备的具体功能 系统分为以下四个部分:学生管理子系统、教师管理子系统、教务管理子系统需求。 1、学生管理子系统需求: 交费功能:每年按规定的时间缴纳学费。 查询功能:查询考试成绩及班级排名;查询课程信息; 查询教学培养计划;查询任课老师的信息; 查询上课地点及上课时间。 变更信息:对教师基本信息的添加,删除,修改。 2、教师管理子系统需求: 查询功能:查询教学培养计划;查询课程表;查询学生 的总体成绩;查询学生所用的教材;查询教

师的基本信息。 变更信息:对教师基本信息的添加,删除,修改。 3、教务管理子系统需求: 学籍处理:新生入学档案的录入;毕业学生档案的处 理;学生档案的处理包括插入,删除以及修 改;学生基本信息的查询。 统计功能:统计每个教师在某个时间段内的教学工作 量;统计每个教室的利用情况等。 制定教学计划:根据专业教学秘书提供和教师的任课 信息表制定教学计划;把教学计划输 入课程管理数据库和教师任课数据库排课:根据教学计划为每个专业排课,每个专业的学生 能够查询自己的课程,教务处能够根据教学计 划修改课程表,将课程表分发给老师,学生, 教室管理员和院系。 数据字典 数据项

排课系统设计

一、需求分析 需求分析是数据库设计的必要和首要设计阶段,将会影响以后数据库设计的延续和质量,需求分析方法也很多,最重要是形成有实用价值的实际性的数据字典和数据流图。在该排课系统的需求分析阶段,主要是通过询问和自己所掌握的关于该系统的数据联系方式和工作方式,形成了关于该系统的数据字典和数据流图。 1.1需求表述 1.1.1 基本功能描述 排课系统的数据库设计主要完成工作有: 1、数据库管理员对数据的录入和相关完整性条件约束的建立, 2、数据库相关的触发器与存储过程对数据库中数据的联系的 管理; 3、执行程序能够高效率地完成数据处理和调用; 4、能够通过DBMS建立一系列视图来更方便的操作数据库。1.1.2 开发技术描述 开发工具:Microsoft SQL Server 2005 SQL Server 2005 是microsoft 公司推出的数据库管理系统,该版本继承了SQL Server 2000 版本的优点,同时又比它增加了许多更先进的功能。具有使用方便可伸缩性好与相关软件集成程度高等优点,可跨越从运行Microsoft Windows 2000 电脑到运行Microsoft Windows XP 的大型多处理器的服务器等多种平台使用。本实验中最终将使用Microsoft SQL Server 2005数据库管理系统将我们设计的数据库实现。 1.2分析形成初步数据字典 数据字典(Data Dictionary,DD)是数据库设计需求分析阶段后通过科学的处理方法得到的该系统中各类数据描述的集合,也是进行详细数据收集和数据分析所获得的主要成果,它在数据库设计中占有恨重要的地位。 数据字典通常包括数据项、数据结构、数据流、数据存储和处理过程5个部

基于遗传算法的自动排课系统毕业设计

摘要 随着科学技术和社会信息技术的不断提高,计算机科学的日渐成熟,其强大的功能已为人们深刻认识,它在人类社会的各个领域发挥着越来越重要的作用,给人们的生活带来了极大的便利,成为推动社会发展的首要技术动力。排课是学校教学管理中十分重要、又相当复杂的工作之一。解决好教学工作中的排课问题对整个教学计划的进行,有着十分重要的意义。首先对排课的已有算法作了相关的调查研究,决定采用遗传算法。通过设计实现基于遗传算法的自动排课系统,研究了遗传算法在排课系统中的应用。 关键词:遗传算法、自动排课、Java。

Abstract Along with science technical and community information technical increases continuously, calculator science is gradually mature, its mighty function has behaved deep cognition, and it has entered the human social each realm erupts to flick the more and more important function, bringing our life biggest of convenience. Curriculum arrangement is an important and complicated working in school,so solving the problem is of great importance for teaching programming.Investigated and studied the algorithm existed, determine that adoptgenetic algorithm. ThroughDesign Implementation theAuto CourseArrangementManagement System Base onGenetic Algorithm, researched the application of genetic algorithmin theCourseArrangementManagement System. Keywords: Genetic Algorithm Auto Course Arrangement ManagementJava.

数据库系统设计实验报告

数据库系统设计实验报告 ――教务管理系统 学院:计算机科学与技术 专业:软件工程 班级: 学号: 姓名: 指导老师:

一、概述 项目背景:数据库课程设计 系统名称:教务管理系统 开发环境:SQL Server 2008 二、需求分析 1、系统的概述 ?一个学校由很多个学院组成,每个学院有多个专业,每个专业有1个或 者多个班级。一个学生只属于1个班级,学生有姓名、学号、性别、身 份证号、入学时间等属性。 ?每个专业的每个年级都有对应的教学计划。教学计划指定了这个专业这 个年级的某门课程在那个学期上,学分、学时是多少。每个学院都设置 有1个教务秘书,这些信息都由教务秘书进行输入。每个院系的课程都 有自己的唯一编码,比如计算机系上的C语言,和电子系上的C语言, 虽然都是同一门课,但是编码是不同的。但是同一个院系中的相同的课 程,课程代码是唯一的。比如计算机学院的07计算机软件专业和计算机 学院的07计算机科学专业都有C语言课程,这两门课程的课程代码是相 同的。 ?教务秘书在每个学期的中间时刻,为下一个学期进行排课,排课的内容 根据教学计划,比如08计算机软件专业的学生,在2009-2010年第2 学期上的课程,可以通过教学计划得知要上什么课程,然后对这些课程 安排上课教师(比如陈越)、上课时间(比如星期2,第1-2节)和地点 (理工楼234),有的课程是单周上,有的双周,也有是每周都上的。 ?在每个学期期末,学生登录到网站上选择下一个学期需要上的课,选择 的时刻,可以选择是否需要教材,如果某门课程的人数选满了,则不能 给任何学生选择了。 ?学生根据选择的课程进行上课,参加考试。每个老师可以用自己的用户 名和密码登陆网站,选择这个学期自己所教的课程(一个老师可以上多 个班级的课程),输入这个班级的成绩,成绩分为期末考试成绩、期中考 试成绩、平时成绩、实验成绩以及总评成绩。这些成绩都需要进行存储。 ?为了保证安全性,老师输入的成绩并不是直接放到最终的成绩表中,而 是放在一个临时的表中,只有当教务秘书审核过后,才导入到最终的成 绩表中。

排课系统数据库设计

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 2005 SQL Server 2005 就是microsoft 公司推出的数据库管理系统,该版本继承了SQL Server 2000 版本的优点,同时又比它增加了许多更先进的功能。具有使用方便可伸缩性好与相关软件集成程度高等优点,可跨越从运行Microsoft Windows 2000 电脑到运行Microsoft Windows XP 的大型多处理器的服务器等多种平台使用。本实验中最终将使用Microsoft SQL Server 2005数据库管理系统将我们设计的数据库实现。 1.2 分析形成初步数据字典 数据字典(Data Dictionary,DD)就是数据库设计需求分析阶段后通过科学的处理方法得到的该系统中各类数据描述的集合,也就是进行详细数据收集与数据分析所获得的主要成果,它在数据库设计中占有恨重要的地位。 数据字典通常包括数据项、数据结构、数据流、数据存储与处理过程5个部分。其中数据项就是数据的最小组成单位,若干个数据项可以组成一个数据结构,以下将把分析收集的数据及其结构列出:

排课系统几种常见算法

谁说当前国内自动化的排课软件模式无一成功? 今天看了一篇关于排课系统的文章,文章讲述了我国国内的排课系统没有一个是成功的,在高度智能化的今天,如果还有谁说有什么事计算机做不到的,那他绝对是农村来的,哦不,搞不好是火星来的,因为你像我们校管家的排课系统,很多农村都已经开始用这款软件自动化办公了。 然而当我以为这件事是计算机无法完成的时候,作者又跑出了一个让我都没有想到的问题,也许是外行看热闹,我只是觉得以计算机的处理性能,是不可能完不成的,却高估了编程者的水平,要想智能排课就需要编程呀,要编排课的程序就需要了解排课的意义和流程,最后还有最最核心的东西,那就是算法,算法的不同,会直接导致排课的结果不同,好的算法可以让你省时省力,而差的算法让你抓狂不已。 目前,已知的排课系统的算法有哪些呢?主要有四种 第一种,一算法,这是美国一所大学的教授提出来的,它是一种迭代的启发式概率性的算法。这种算发好处也很多,但是因为算法本身比较复杂,变量过多时,会严重影响排课速度,甚至可能导致崩溃。 第二种。贪心算法,这种算法是具有侧重的,不会从全局考虑均衡优化,所以总的来说还是有一定缺陷。 第三种,动态规则法,这是一种用来解决多阶段决策的一种最优方式。动态规划法与贪心法类似,都是将问题实例归纳为更小的、相似的子问题,并通过求解子问题产生一个全局最优解。 第四种,回溯算法,回溯法在用来求问题的所有解时,要回溯到根,且根的所有子都已被搜索过才结束;而在用来求问题的任一解时,只要搜索到问题的一个解就可结束,所以这种方法也过于耗时。 以上的每个算法,各有优缺,为了取长补短,高效的利用起这些算法,校管家的排课系统在通过无数的实验和总结之后,终于找到了一个均衡,使得排课的智能化成为了一种现实,而且,其独创的自动与手动混合模式,更是为该软件平添了许多赞。

数据库设计的基本步骤

数据库设计的基本步骤 一、数据库设计的生存期 按照规范设计的方法,考虑到数据库及其应用系统开发的全过程,将数据库 设计分为六个阶段。如下图。 ① 需求分析 需求收集和分析, 需求。 ② 概念结构设计 对需求进行综合、归纳与抽象,形成一个独立于具体 DBMS 的概念模型(用 E-R 图表示)。 ③ 逻辑结构设计 将概念结构转换为某个DBMS 所支持的数据模型(例如关系模型),并对其 进行优化。 ④ 物理结构设计 为逻辑数据模型选取一个最适合应用环境的物理结构 (包括存储结构和存取 方法)。 ⑤ 数据库实施 需求A 祈断段 T 1 概念设计阶段 i 逻辑 q 丰计阶段 1 物理. 1 殳计阶段 j 数据E L 支实施阶段 数据库运荷? 维护阶段 得到用数据字典描述的数据需求,用数据流图描述的处理

运用DBMS 提供的数据语言(例如 SQL )及其宿主语言(例如C),根据逻辑设计和物理设计的结果建立数据库,编制与调试应用程序,组织数据入库,并进行试运行。 ⑥数据库运行和维护 数据库应用系统经过试运行后即可投入正式运行。在数据库系统运行过程中必须不断地对其进行评价、调整与修改。 说明:设计一个完善的数据库应用系统是不可能一蹴而就的,它往往是上述 六个阶段的不断反复。 二、数据库设计阶段的内容 设计步骤既是数据库设计的过程,也包括了数据库应用系统的设计过程。下面针对各阶段的设计内容给出各阶段的设计描述。如下图。 阶段 濮块结构) 三、数据库设计阶段的模式 数据库结构设计的不同阶段形成数据库的各级模式,如下图 需求数据字睦、全系统中数据项、 分析數据證、数据存储的描述 数1E流图和判定我(利宦 闕)、数据字典中处理过程的 描述 设计 概念模型〔E?兄图) 模块设计 IPO表 编写模武装入 数JE 实施数揭库试 运行阶段 Create … L o豆恋■?. 程序编码 编译联结 测试 Tlain () * ■ A if???then ■■ i HUl 数据宇典 系窥说朋书包括: ①新系统要求、 方案和概图 ②反映新系统信息 流的数据流图 方法选择物理 存取路径建立设计

数据库课程设计报告教务管理系统

理工学院 课程设计报告 课程名称数据库课程设计 设计题目教务管理系统 专业计算机科学与技术 班级 学号 姓名 完成日期 2013年12月30 日

课程设计任务书 设计题目:教务管理系统 设计内容与要求: 类似于我校教务管理系统,有四类用户: 教务员可以输入学生、教师、班级、课程信息,一个班级只属于一个专业,一个学生只属于一个班级。教务员负责输入每个专业、每个班级需要学习哪些课程,指定课程的任课教师。 教师可以查看学习该课程的学生名单。课程结束后,教师可以录入课程成绩。一个教师可以教授多个班的多门课程,每门课由多位老师讲授。 课程分两类,必修课和选修课。系统要记录每个学生学习各门必修课的成绩,还要记录学生选修了哪些选修课以及课程成绩。学生可以查看自己各门课程的成绩。学生还可以进行评教,给老师打分。 系统管理员可以输入教室信息,并结合班级、课程、教室信息实现自动排课。 指导教师: 2013年 12 月 20 日 课程设计评语 成绩: 指导教师:_______________ 年月日

目录 1 概述................................................... .2 1.1 课程设计目标 ...................................... .2 1.2 课程设计的背景和意义............................... .2 1.1.2 课程设计的背景 (2) 2 需求分析............................................... .3 2.1 系统需求 .......................................... .3 2.2 可行性分析 ........................................ .3 2.3 用户要求 .......................................... .3 2.3.1 信息需求 ..................................... .3 2.3.2 处理需求 ..................................... .4 2.3.3. 课程设计的意义 (4) 3概念结构设计............................................ .6 3.1设计分析........................................... .6 3.2概念模型设计....................................... .6 3.2.1 局部概念结构设计 (6) 3.2.2 全局概念结构模型(E-R图) (7) 4 逻辑结构设计........................................... .8 5 物理结构设计 (10) 5.1数据表的设计 (10) 5.2数据库完整性设计 (12) 5.2.1 数据库实体完整性设计 (12) 5.2.2 数据库参照完整性设计 (12) 5.2.3 数据库用户定义完整性设计 (13) 5.3数据库安全性设计 (13) 6 应用程序设计 (14) 6.1系统功能模块图 (14) 6.2系统界面 (15) 7 设计总结 (28) 8 体会与收获 (29) 参考文献 (30)

排课系统详细设计

详细设计说明书 目录 1引言 (1) 1.1编写目的 (1) 1.2定义 (2) 1.2.1专业术语 (2) 1.2.2缩写 (2) 1.3参考资料 (3) 2.总体设计 (3) 2.1 任务目标 (3) 3.程序描述 (4) 3.1系统接受信息模块 (4) 1.ClassInfoExam过程 (4) 2.IErrorHandle过程 (5) 3.2系统输出信息模块 (5) 1.CDataRecPrc过程 (5) 2.ClassOutpt过程 (5) 3.3数据库设计 (6) 1引言 1.1编写目的 在前一阶段(概要设计说明书)中,已解决了实现该系统需求的程序模块设计问题,包括如何把该系统划分成若干个模块、决定各个模

块之间的接口、模块之间传递的信息,以及数据结构、模块结构的设计等。在以下的详细设计报告中将对在本阶段中对系统所做的所有详细设计进行说明。 本文档为排课系统设计、实现、测试、以及验收提供重要的依据,也为评价系统功能和性能提供依据,本文档可供用户、项目管理人员、系统分析员、程序设计人员、以及系统测试人员阅读和参考。 项目名称:排课系统 任务提出者:各大高校 开发者:江西农业大学软件学院 用户:学校教务处,学生,老师 1.2定义 1.2.1专业术语 SQL SERVER: 系统服务器所使用的数据库管理系统(DBMS)。 SQL: 一种用于访问查询数据库的语言 事务流:数据进入模块后可能有多种路径进行处理。 主键:数据库表中的关键域。值互不相同。 外部主键:数据库表中与其他表的主键关联的域。 ROLLBACK: 数据库的错误恢复机制。 1.2.2缩写 系统:若未特别指出,统指本机票预定系统。 SQL: Structured Query Language(结构化查询语言)。 ATM: Asynchronous Transfer Mode (异步传输模式)

大学自动排课算法设计与实现

大学自动排课算法设计与实现数据库设计说明书

目录 1. 文档介绍................................................. 错误!未定义书签。 文档目的...................................................错误!未定义书签。 文档范围...................................................错误!未定义书签。 读者对象...................................................错误!未定义书签。 参考文献...................................................错误!未定义书签。 术语与缩写解释.............................................错误!未定义书签。 2. 数据库环境说明 ........................................... 错误!未定义书签。 3. 数据库的命名规则 ......................................... 错误!未定义书签。 4. 逻辑设计................................................. 错误!未定义书签。 5. 物理设计................................................. 错误!未定义书签。 表汇总.....................................................错误!未定义书签。 表A .......................................................错误!未定义书签。 表B ......................................................错误!未定义书签。 表C ......................................................错误!未定义书签。 表D ......................................................错误!未定义书签。 表E ......................................................错误!未定义书签。 表F ......................................................错误!未定义书签。 表G ......................................................错误!未定义书签。 表H ......................................................错误!未定义书签。 表I ......................................................错误!未定义书签。 8. 安全性设计............................................... 错误!未定义书签。 防止用户直接操作数据库的方法...............................错误!未定义书签。 用户帐号密码的加密方法.....................................错误!未定义书签。 角色与权限.................................................错误!未定义书签。 9. 优化..................................................... 错误!未定义书签。 10. 数据库管理与维护说明 .................................... 错误!未定义书签。

排课系统大数据库资料报告材料

数据库课程设计 题目某中学排课管理系统 专业班级 姓名 学号 完成日期 2014-11-24

目录 一、需求分析 (3) 1.1数据字典 (3) 1.2全系统的数据项 (4) 1.3数据流图 (4) 二、概念结构设计 (5) 2.1E-R图 (5) 2.2系统说明书 (7) 三、逻辑结构设计 (16) 3.1关系模型 (16) 3.2参照完整性约束条件 (16) 3.3系统结构图 (17) 四、数据库实施 (17) 4.1关系模式 (17) 4.2程序编码(C#语言) (22) 五、课程设计的感想和心得体会 (27)

一、需求分析 学生隶属班级,班级按照课程表上课,课程由老师教授,这些都要有管理人员来管理。总结出如下需求信息: 1)一个班级有多个学生; 2)一个学生有多门课,一门课对应多个学生; 3)一个教师可以教授多门课,一门课可以由多个教师来教授; 4)一个班级对应一班级课程表,一个教师也对应一教师课程表; 5)一个教师可以教授多个班级; 经过对上述系统功能的分析和需求总结,设计总结如下: 1.1数据字典 2)班级信息表

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图

大学自动排课算法设计与实现(数据库设计)

大学自动排课算法设计与实现数据库设计说明书 学院电子与计算机科学技术学院 专业软件工程 题目大学自动排课算法设计与实现小组成员林琳、罗文凤、顾晓、史东海

目录 1.文档介绍 (1) 1.1文档目的 (1) 1.2文档范围 (1) 1.3读者对象 (1) 1.4参考文献 (1) 1.5术语与缩写解释 (2) 2.数据库环境说明 (3) 3.数据库的命名规则 (3) 4.逻辑设计 (3) 5.物理设计 (7) 5.1表汇总 (8) 5.2表 A (9) 5.3表 B (9) 5.4表 C (10) 5.5表 D (10) 5.6表 E (10) 5.7表 F (11) 5.8表 G (11) 5.9表 H (11) 5.10表 I (12) 8.安全性设计 (12) 8.1防止用户直接操作数据库的方法 (12) 8.2用户帐号密码的加密方法 (12) 8.3角色与权限 (13) 9.优化 (13) 10.数据库管理与维护说明 (13)

1.文档介绍 1.1文档目的 此份文档的目的就是指对于一个给定的应用环境,构造优化的数据库逻辑模式和物理结 构, 并据此建立数据库应用系统,使之能够有效的存储和管理数据,满足各中用户的应用需 求。 1.2文档范围 A.待开发的软件系统为:大学自动排课算法设计与实现。 B.该软件可以帮助学校负责排课的相关人士完成排课任务。 C.开发本软件主要是为了帮助学校负责排课的相关人士解决“教师”、“教室”、“时间” 等资源搜索的问题。通过计算机运算速度快的特点,在大数据量的情况下寻找资源的最优 或近似最优的组合,以减少人的工作量。但特殊情况还需人为进行调节,不属于本系统 所能处理的范围。 1.3读者对象 该文档主要面向系统分析员、数据库设计人员,应用开发人员,数据库管理员,用户代 表。 1.4参考文献 数据库系统概论(第四版) 作者:王珊、萨师煊 出版社:高等教育出版社 出版日期: 2008 年 12 月

数据库设计方法、规范与技巧

数据库设计方法、规范与技巧 一、数据库设计过程 数据库技术是信息资源管理最有效的手段。数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,有效存储数据,满足用户信息要求和处理要求。 数据库设计中需求分析阶段综合各个用户的应用需求(现实世界的需求),在概念设计阶段形成独立于机器特点、独立于各个DBMS产品的概念模式(信息世界模型),用E-R图来描述。在逻辑设计阶段将E-R图转换成具体的数据库产品支持的数据模型如关系模型,形成数据库逻辑模式。然后根据用户处理的要求,安全性的考虑,在基本表的基础上再建立必要的视图(VIEW)形成数据的外模式。在物理设计阶段根据DBMS特点和处理的需要,进行物理存储安排,设计索引,形成数据库内模式。 1. 需求分析阶段 需求收集和分析,结果得到数据字典描述的数据需求(和数据流图描述的处理需求)。 需求分析的重点是调查、收集与分析用户在数据管理中的信息要求、处理要求、安全性与完整性要求。 需求分析的方法:调查组织机构情况、调查各部门的业务活动情况、协助用户明确对新系统的各种要求、确定新系统的边界。 常用的调查方法有:跟班作业、开调查会、请专人介绍、询问、设计调查表请用户填写、查阅记录。 分析和表达用户需求的方法主要包括自顶向下和自底向上两类方法。自顶向下的结构化分析方法(Structured Analysis,简称SA方法)从最上层的系统组织机构入手,采用逐层分解的方式分析系统,并把每一层用数据流图和数据字典描述。 数据流图表达了数据和处理过程的关系。系统中的数据则借助数据字典(Data Dictionary,简称DD)来描述。 数据字典是各类数据描述的集合,它是关于数据库中数据的描述,即元数据,而不是数据本身。数据字典通常包括数据项、数据结构、数据流、数据存储和处理过程五个部分(至少应该包含每个字段的数据类型和在每个表内的主外键)。 数据项描述={数据项名,数据项含义说明,别名,数据类型,长度, 取值范围,取值含义,与其他数据项的逻辑关系} 数据结构描述={数据结构名,含义说明,组成:{数据项或数据结构}} 数据流描述={数据流名,说明,数据流来源,数据流去向, 组成:{数据结构},平均流量,高峰期流量} 数据存储描述={数据存储名,说明,编号,流入的数据流,流出的数据流, 组成:{数据结构},数据量,存取方式} 处理过程描述={处理过程名,说明,输入:{数据流},输出:{数据流}, 处理:{简要说明}} 2. 概念结构设计阶段 通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型,可以用E-R图表示。概念模型用于信息世界的建模。概念模型不依赖于某一个DBMS支持的数据模型。概念模型可以转换为计算机上某一DBMS支持的特定数据模型。 概念模型特点: (1) 具有较强的语义表达能力,能够方便、直接地表达应用中的各种语义知识。 (2) 应该简单、清晰、易于用户理解,是用户与数据库设计人员之间进行交流的语言。 概念模型设计的一种常用方法为IDEF1X方法,它就是把实体-联系方法应用到语义数据模型中的一种语义模型化技术,用于建立系统信息模型。 使用IDEF1X方法创建E-R模型的步骤如下所示: 2.1 第零步——初始化工程

自动排课系统——数据库大作业

自动排课系统 一.系统需求 1该“自动排课系统”只是对数据库应用技术的一个样本数据库的实例,重在对数据库一些方法的 熟悉与掌握,其中包括从数据库的概念模型到 ER图的绘制,再到数据库模式的建立(即为数 据库及其基本表的建立),而后数据的录入(在 此从略),最后完成一些简单的关系运算表达式 的表达和相关的Select 查询语句的使用。 2系统结构简述: 2.1本系统包括六个实体:课程,学生,教室,教 师,学院,班级 2.2实体之间的多对多联系:教学计划,选课 2.2.1一个学生可选多门课,一门课可被多个学 生选修。 2.2.2一门课可使用多个教室,一个教室可被多 门课占用。 2.3实体之间的一对多联系:教学,隶属,从属, 属于,开设 2.3.1一个学院有多个教师,一个教师只隶属于 一个学院。 2.3.2一个学院有多个班级,一个班级只隶属于 一个学院。

2.3.3一个学院可开设多门课程,一门课程只能 被一个学院开设。 2.3.4一个班级有多名学生,一个学生只隶属于 一个班级。 2.3.5一个老师可教多门课程,一门课程只能被 一个老师教。 实体之间的关系转换为其他三个表:教学(一对多),教学计划(多对多),选课(多对多)。 注:各个基本表中关键字已在关系模式中说明。3经过分析,得到自动排课系统的如下功能: 3.1部分属性插入时添加默认值。 3.1.1为选课表中属性是否重修创建并绑定默 认值’NO’。 3.1.2为教师表中属性是否可用创建并绑定默 认值’YES’。 3.2对教学计划表插入数据时检查数据是否合理。 3.2.1当插入课程人数多于教室容量的数据时,无法插入数据。 3.2.2当插入课程占用不可被占用的教室的数据时,无法插入数据。 3.3部分表添加唯一约束,使插入数据的数据值受到限制。 3.3.1教学计划表中,每一门课程在一天只能安排一次。 3.3.2教学表中,一门课程只能被一个老师教。 3.4数据检索 3.4.1学生查询所选某门课程的成绩。 3.4.2输入:学生学号,课程编号 3.4.3输出:课程名称,成绩 3.4.4教师查询选修所教课程的学生的信息。 3.4.5输入:教师编号 3.4.6输出:学生姓名,学生学号,学生性别,籍贯 3.4.7学生查询选修课程授课教师的信息。

适合中小学的简单排课算法

1、模型及数据库表 (1)时间模型 假设每天可以使用的授课时间为8个时间单位,则一个星期可以使用的总授课时间为40=8×5(一周上课时间为5天)。整个有效的周期时间域可以定义为集合Ω={1,2,3,4,…40},班级、教师被占用的时间是Ω的一个子集。 (2)信息对象的逻辑关系 信息对象的逻辑关系体现在以下几个数据库表中: 表1:课程—课时表 表2:班级—课程表 表3:教师—班级—课程表 表4:教师—班级—时间分配表 结构:教师工号、班级编号、时间分配(Ω的一个子集) 表5:排课总表 结构:教师工号、班级编号、课程编号、时间分配(Ω的一个子集) 2、算法 (1)排课算法 排课算法的目的和关键是通过表1、表2、表3建立表4,然后由表4生成表5(这一步相对简单)。 根据表3我们可以得到一个教师—班级需求矩阵,矩阵的元素T ij表示教师j为班级i上的总课时量。 表4等价于这样一个矩阵,矩阵中的元素S ij表示教师j为班级i上课的时间集合,且S ij是Ω的一个子集,S ij中的元素个数等于T ij。 原则即,S ij每一行(同一个班级的课)尽量互斥,S ij每一列(同一个教师的课)尽量互斥。 步骤1:先排S ij的第一行,S11为从集合中任意取出的T11个时间单元,S12位从Ω-S11剩余的集合中任意取出的T12个时间单元,以此类推。 步骤二:排完S ij的第一行后,对S ij进行如下图初始化,目的是使每一行列的元素互斥。然后在这基础上调整。调整步骤看原文吧… (2)调整算法 附: 原文地址:https://www.360docs.net/doc/a89903962.html,/view/4f789e0b6c85ec3a87c2c54a.html 表4等价于S ij,表示时间集合 已知表,由表1、2、3可计算出T ij,表示课时量

数据库课后题答案 第7章 数据库设计

第7章数据库设计 1.试述数据库设计过程。 答:这里只概要列出数据库设计过程的六个阶段:( l )需求分析;( 2 )概念结构设计;( 3 )逻辑结构设计;( 4 )数据库物理设计;( 5 )数据库实施;( 6 )数据库运行和维护。这是一个完整的实际数据库及其应用系统的设计过程。不仅包括设计数据库本身,还包括数据库的实施、运行和维护。设计一个完善的数据库应用系统往往是上述六个阶段的不断反复。 2 .试述数据库设计过程各个阶段上的设计描述。 答:各阶段的设计要点如下:( l )需求分析:准确了解与分析用户需求(包括数据与处理)。( 2 )概念结构设计:通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS 的概念模型。( 3 )逻辑结构设计:将概念结构转换为某个DBMS 所支持的数据模型,并对其进行优化。( 4 )数据库物理设计:为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法)。( 5 )数据库实施:设计人员运用DBMS 提供的数据语言、工具及宿主语言,根据逻辑设计和物理设计的结果建立数据库,编制与调试应用程序,组织数据入库,并进行试运行。( 6 )数据库运行和维护:在数据库系统运行过程中对其进行评价、调整与修改。 3 .试述数据库设计过程中结构设计部分形成的数据库模式。 答:数据库结构设计的不同阶段形成数据库的各级模式,即:( l )在概念设计阶段形成独立于机器特点,独立于各个DBMS 产品的概念模式,在本篇中就是 E 一R 图;( 2 )在逻辑设计阶段将 E 一R 图转换成具体的数据库产品支持的数据模型,如关系模型,形成数据库逻辑模式,然后在基本表的基础上再建立必要的视图( Vi 娜),形成数据的外模式;( 3 )在物理设计阶段,根据DBMS 特点和处理的需要,进行物理存储安排,建立索引,形成数据库内模式。 4 .试述数据库设计的特点。 答:数据库设计既是一项涉及多学科的综合性技术又是一项庞大的工程项目。其主要特点有:( l )数据库建设是硬件、软件和干件(技术与管理的界面)的结合。( 2 )从软件设计的技术角度看,数据库设计应该和应用系统设计相结合,也就是说,整个设计过程中要把结构(数据)设计和行为(处理)设计密切结合起来。 5 .需求分析阶段的设计目标是什么?调查的内容是什么? 答:需求分析阶段的设计目标是通过详细调查现实世界要处理的对象(组织、部门、企业等),充分了解原系统(手工系统或计算机系统)工作概况,明确用户的各种需求,然后在此基础上确定新系统的功能。调查的内容是“数据’夕和“处理”,即获得用户对数据库的如下要求:( l )信息要求,指用户需要从数据库中获得信息的内容与性质,由信息要求可以导出数据要求,即在数据库中需要存储哪些数据;( 2 )处理要求,指用户要完成什么处理功能,对处理的响应时间有什么要求,处理方式是批处理还是联机处理;( 3 )安全性与完整性要求。 6 .数据字典的内容和作用是什么? 答:数据字典是系统中各类数据描述的集合。数据字典的内容通常包括:( l )数据项;( 2 )数据结构;( 3 )数据流;( 4 )数据存储;( 5 )处理过程五个部分。其中数据项是数

相关文档
最新文档