排课系统数据库设计

合集下载

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

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

数据库原理课程设计(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分别代表取值为普通教室、多媒体教室、半多媒体教室、实验机房,也可以由具体其它教师类别进行扩充。

(完整word版)教务管理系统数据库设计

(完整word版)教务管理系统数据库设计

目录第一章:项目计划 (2)1.1 项目背景 : (2)1.2 系统开发目的: (2)1.3 定义: (2)第二章:详尽剖析 (2)、系统功能 (2)、系统构造 (3)、数据流图 (3)、户种类与职能 (4)、系统环境需求 (5)第三章:系统观点设计 (5)第四章:逻辑设计 (6)4.1 系统关系模型 (6)4.2 系统数据库表构造 (6)第五章:源码 (9)第六章:小结 (14)第一章:项目计划1.1 项目背景 :教务系统管理平台充足利用互联网络B/S 管理系统模式,以网络为平台,为各个学校教务系统的管理供给一个平台,帮助学校管理教务系统,用一个账号解决学校教务教课管理,而且学校能够自由选择学校需要的教务管理系统,灵巧地定制切合学校自己实质状况的教务系统 .1.2 系统开发目的:提升学生,老师管理和操作事务的运作效率。

1.3 定义:学生选课和老师评分一定在管理员的设置条件下进行。

第二章:详尽剖析、系统功能设置学期时间:管理员登录系统后设置学期的时间,只有当时间为某个状态时,其余角色比如老师,才能做某些事情。

学期时间只好由角色管理员操作:包含对学期时间表的增添,删除,对某个学期时间状态的改变。

学生选课:当管理员设置为学期开始时,学生能够选课,学生选课受学分影响,只好选择总学分为多少的课程。

老师评分:当管理员设置为学期评分时,老师才能够评分。

个人信息管理:对自己个人信息进行增添和改正。

成绩查问:学生能够对自己成绩进行查问。

个人课表查问:准时间的不一样,每个角色都有自己不一样的课表。

、系统构造功能描绘:学生选课和老师评分一定在管理员设置学期的条件下进行。

、数据流图顶层图0层图、户种类与职能(1)管理员:对学期设置的管理每个阶段有不一样的功能。

(2)老师:对选修了自己课程的学生评分。

(3)学生:选修科目。

、系统环境需求系统模式本系统采纳 B/S 模式作为开发模式硬件环境服务器端:高性能的计算机一台,一般的双绞线作为连结。

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

3高校教务管理系统数据库设计

3高校教务管理系统数据库设计

高校教务管理系统数据库设计1.1 数据库数据库是实现有组织地,动态地存储大量关联数据,方便多用户访问的计算机软硬件组成的系统;它与文件系统的重要区别是数据的充分共享,交叉访问,与应用程序的高度独立性。

由于本软件的整体结构比较简单,所涉及数据相对来说也较少,组成文件的最小单位是记录。

1.2设备奔腾1g、内存128兆以上的计算机,局域网络环境。

1.3需求注释对于本软件,它的功能需求、性能需求、接口需求,从稳定性、可行性上都是可以的。

1.4功能树2 概念设计2.1 实体及其属性2.1.1 学生实体E-R图2.1.2 课程实体E-R图2.1.3 教师信息E-R图2.1.4综合ER图3 逻辑设计3.1 规范化得到最终的关系模式学生信息基本表(学号,姓名,性别,学院名称,班号,联系电话,入校日期,家庭住址),主码为学号,符合三范式。

课程信息表(课程编号,课程类型,分数)主码为课程编号,符合三范式。

教师信息表(教师编号,姓名,所在科室,联系电话)主码为教师编号,符合三范式。

考试信息表(学号,课程编号)主码为学号,课程编号,符合BCNF。

讲授信息表(教师编号,课程编号)主码为教师编号,课程编号,符合BCNF。

3.2 学生基本信息表3.3 课程信息表3.4 教师信息表3.5 考试信息表3.6 讲授信息表4 物理结构设计4.1物理设计阶段的目标与任务数据库的物理设计就是为逻辑数据模型选取一个最合适应用要求的物理结构的过程,在这个阶段中要完成两大任务:(1)确定数据库的物理结构,在关系数据库中主要是存取方法和存储结构;(2)对物理结构进行评价,评价的重点是时间和空间效率。

4.2 建立数据表4.2.1 学生信息基本表的建立:CREATE TABLE Student( Sno CHAR ( 8 ) PRIMARY KEY ,Uname CHAR ( 8 ) UNIQUE,Sex CHAR ( 2 ),Sdept(8 ),Classno ( 8 ),Connect tel ( 11 ),Enter date (8 ),Family add (50 ));4.2.2 课程信息表的建立:CREATE TABLE Course( Course code CHAR (20 ) PRIMARY KEY ,Course type CHAR ( 8 ) ,Course grade CHAR ( 8)) ;4.2.3 教师信息表的建立:CREATE TABLE Teacher( Tno CHAR ( 8 ) PRIMARY KEY ,Tname CHAR ( 8 ) UNIQUE,Tdepartment(8 ),Tmoible( 11 ),);4.2.4考试信息表的建立:CREATE TABLE Exam( Sno CHAR ( 8 ) ,Course code CHAR (20 ) ,PRIMARY KEY ( Sno , Course code ) ,FOREIGN KEY ( Sno ) REFERENCES Student ( Sno ) ,FOREIGN KEY (Course code) REFERENCES Course (Course code));4.2.5讲授信息表的建立:CREATE TABLE Teaching( Tno CHAR ( 8 ) ,Course code CHAR (20 ) ,PRIMARY KEY (Tno , Course code ) ,FOREIGN KEY (Tno ) REFERENCES Teacher (Tno ) ,FOREIGN KEY (Course code) REFERENCES Course (Course code) );5 其他数据库对象的设计5.1 索引CREATE UNIQUE INDEX Stusno ON Student(Sno)CREATE UNIQUE INDEX Couno ON Course(Cno)CREATE UNIQUE INDEX Teano ON Teacher(Tno)5.2 视图CREATE VIEW IS_StudentASSELECT Sno,Sname,SdeptFROM StudentWhere Sdept=’IS’;2.2CREATE VIEW BTEACHERASSELECT Tname,TdepartmentFROM Teacher;5.3 触发器CREATE Trigger Delete _CourseBEFORE UPDATE ON CourseFOR EACH ROWAS BEGINIF(new.grade<60)THEN new.grade=nopass;END IF;END;5.4 存储过程CREATE procedure createetablesASCREATE table user 1(Uid int,Uname char(20)INSERTINTO use 1(Uid,Uname)V ALUES ('1','小明');)6 备份及恢复策略针对不同的故障,制定恢复策略数据库系统可能发生各种各样的故障,大致可以分为以下几类:1)事务内部故障2)系统故障3)介质故障4)计算机病毒要保证数据一致性是对数据库的最基本的要求。

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

排课系统数据库表详细设计
学生信息表(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)

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

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

学校教务管理系统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数据库管理系统。

数据库课程设计(完整版)

数据库课程设计(完整版)

数据库物理设计
为逻辑数据模型选取一个最适合应用要求的物理结构。
数据库实施
运用数据库管理系统提供的数据语言及其宿主语言,建 立数据库,编制与调试应用程序,组织数据入库并进行 试运行。
数据库运行和维护
对数据库系统进行评价、调整与修改。
课程设计要求
学生应独立完成课程设计的 全部内容,包括需求分析、 概念设计、逻辑设计、物理
物理设计 根据在线购物系统的特点和数据 量,进行数据库的物理存储、备 份恢复、性能优化等方面的设计 。
概念设计
采用E-R图等方法进行概念设计 ,抽象出商品、订单、用户等实 体,以及它们之间的联系和属性 。
逻辑设计
将概念模型转化为数据库逻辑模 型,设计商品表、订单表、用户 表等,定义字段、索引、约束等 。
物理设计
根据学生成绩管理系统的特点和数据量,进行数 据库的物理存储、备份恢复、性能优化等方面的 设计。同时,考虑数据的安全性和完整性,采取 相应的措施进行保护。
感谢您的观看
THANKS
构建概念模型
用图形化方式表示系统的主要实体、关系和业务 流程。
概念模型构建
识别实体和属性
找出系统中的主要实体(如用户、订单、产 品等)及其属性(如用户名、订单日期、产 品名称等)。
定义关系
确定实体之间的关系(如一对一、一对多、多对多 等)以及关系的属性(如关联类型、关联规则等) 。
构建概念模型图
使用实体-关系图(E-R图)或统一建模语言 (UML)等工具绘制概念模型。
为后续设计提供基础。
识别数据需求和数据处理
02
了解各类数据的属性、关系及处理需求,为数据库设计提供依
据。
为系统设计和开发提供指导
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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

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

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

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

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

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

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

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

开发技术描述开发工具: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)注:在该数据流程图中简要将系统的数据流向标示,在排课处理中综合所有的相关数据,最后得到一个班级一门课程在一个时间点的上课地点和任课老师。

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

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

基本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图的各实体和属性联系转化为一个个的关系模式,并对各关系模式分析各规范要求。

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

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

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

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

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

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

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

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

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

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

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

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

部分表、视图和触发器的创建1、表的创建:Create table subject sdh,,,,,zc,xqFrom class,time,teacher, 班级派课表,subjectWhere =班级派课表.bjdh and~dh=班级派课表.s~dh and=班级排派表.sjdh and=班级派表.kcdh3、教室课表视图建立:Create view teachertimeAsSelect jsxm,bjxm,kcm 班级派课表.bidh ,xq,zc,jc, 班级派课表.bidhFrom class ,room,teacher,time, 班级排课表.,subjectWhere =班级派课表.bjdh and~dh=班级派课表.s~dh and=班级派课表.sjdh and=班级排课表.kcdh5、部分触发器的建立:Create trigger insert_ST on 班级派课表 for insertAsBegindeclare @banji int @banji_1 intselect @banji=count(*) from 班级派课表,inserted where =班级派课表.bjdh and =班级派课表.bjkcselect @banji_1=kss from 班级课表,inserted where =班级派课表.bjdh and =班级派课表.bjkcif @banji_1<@banjibeginPrint(‘该班级的该课程已经被排满了,不能再排’);Rollback tranendend四、总结分析该实训过程中综合了该学期以来对数据库设计和T/SQL的学习,通过了解相关设计案例,借助SQL Server 2005 开发工具,于同伴完成了改排课系统的初步简单设计。

相关文档
最新文档