ImageVerifierCode 换一换
格式:DOC , 页数:20 ,大小:313KB ,
资源ID:3868384      下载积分:10 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/3868384.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(自动排课系统——数据库大作业说课材料.doc)为本站上传会员【w****g】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

自动排课系统——数据库大作业说课材料.doc

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

2、2.2 一门课可使用多个教室,一个教室可被多门课占用。 2.3 实体之间的一对多联系:教学,隶属,从属,属于,开设 2.3.1 一个学院有多个教师,一个教师只隶属于一个学院。 2.3.2 一个学院有多个班级,一个班级只隶属于一个学院。 2.3.3 一个学院可开设多门课程,一门课程只能被一个学院开设。 2.3.4 一个班级有多名学生,一个学生只隶属于一个班级。 2.3.5 一个老师可教多门课程,一门课程只能被一个老师教。 实体之间的关系转换为其他三个表:教学(一对多),教学计划(多对多),选课(多对多)。 注:各个基本表中关键字已在关系模式中说明。 3 经过分析,得到自动排课系统

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 学生查询所选某门课程的成

4、绩。 输入:学生学号,课程编号 输出:课程名称,成绩 3.4.2 教师查询选修所教课程的学生的信息。 输入:教师编号 输出:学生姓名,学生学号,学生性别,籍贯 3.4.3 学生查询选修课程授课教师的信息。 输入:学生学号 输出:课程编号,教师姓名,教师编号,授课效果,从教时间 3.4.4 学生查询所有选修课程的平均分。 输入:学生学号 输出:选课科目数,平均分 3.4.5 教室查询占用教室课程的信息。 输入:教室编号 输出:教室编号,课程名称,课程编号,教师名称,教师编号, 3.5 数据插入 3.5.1 教室数据插入。 3.5.2 学院数据插入。 3.5.3 教学数据插入。

5、3.5.4 学生数据插入。 3.6 数据修改 3.6.1 教学计划数据修改:修改教学计划时,输入课程编号及所需修改的属性值,完成对教学计划表的修改。 3.6.2 教师数据修改:修改教师数据时,输入教师编号及所需修改的属性值,完成对教师表的修改。 3.6.3 班级数据修改:修改班级数据时,输入班级编号及所需修改的属性值,完成对班级表的修改。 3.7 数据统计与查询 3.7.1 学生及其选课的所有信息 3.7.2 教师教授课程情况的所有信息 3.7.3 教室安排情况的所有信息 3.7.4 学院_班级_学生间联系的所有信息 二. 概念设计 经需求分析,抽象出以下E-R模型。

6、图1 课程实体 课程 课程名称 课时数 学分 课程编号 课程容量 课程类型 1. 课程实体(图1) 2. 学生实体(图2) 学生 出生日期 籍贯 学生性别 学生年龄 学生学号 学生姓名 图2 学生实体 3. 教师实体(图3) 教师 教师年龄 教师性别 教师编号 教师姓名 图3教师实体 4. 教室实体(图4) 教室 教室编号 是否可用 教室容量 教室 教室编号 是否可用 教室容量 图4 教室实体 5. 学院实体(图5) 图5 学院实体 6. 班级实体(图6) 图6 班级实体

7、7. 全局E-R图(图7) 图7全局E-R图 三. 逻辑设计 系统中的实体有:课程、教师、教室、学生、学院、班级 将实体类型转换为关系模式如下: 课程(课程名称,课程编号,课程类型,课程容量,学分,课时数,所属学院编号) 教师(教师姓名,教师编号,教师年龄,教师性别,隶属学院编号) 教室(教室编号,教室容量,是否可用) 学生(学生姓名,学生学号,学生年龄,出生日期,学生性别,籍贯,所在班级编号) 学院(学院名称,学院编号,联系电话,通讯地址) 班级(班级编号,人数,所属年级,班导师,所在学院编号) 系统中的联系有:教学计划(多对多)、教授(一对多)、选修(

8、多对多) 将联系类型转换为关系模式如下: 教学计划(课程编号,教室编号,起始周数,周数,起始节数,节数,星期),主键为(课程编号,教室编号) 教学(课程编号,教师编号,从教时间,授课效果),主键为(课程编号,教师编号) 选课(课程编号,学生学号,是否重修,成绩),主键为(课程编号,学生学号) 注:有下划线的是主键,有波浪线的是外键。 四. 物理设计 根据以上关系模式构建数据表如下: 表1 课程表(course)结构 表2 教师表(teacher)结构 表3 教室表(room)结构 表4 学生表(student)结构 表5 学

9、院表(school)结构 表6 班级表(class)结构 表7 教学计划表(eduplan)结构 表8 教学表(education)结构 表9 选课表(sc)结构 五. 系统实现 自动排课系统的系统实现Transact-SQL语句如下: 1.建立数据库 create database Auto_Arrangement on primary (name=Auto_Arrangement_data,filename='e:\\Auto_Arrangement\\Auto_Arrangement_data.mdf',size=10M

10、B,filegrowth=2MB,maxsize=500MB), (name=Auto_Arrangement_data1,filename='e:\\Auto_Arrangement\\Auto_Arrangement_data1.ndf',size=5MB,filegrowth=1MB,maxsize=500MB) log on (name=Auto_Arrangement_log,filename='e:\\Auto_Arrangement\\Auto_Arrangement_log.ldf',size=1MB,filegrowth=10%) 2.基本表的创建 use Au

11、to_Arrangement 2.1.教室表的创建 create table room( RoomNumber char(10) primary key, RoomVolume smallint not null, Available char(4), check(RoomVolume>=0), check(Available='YES'or Available='NO')) 2.2.学院表的创建 create table school( SchoolName char(30) not null, SchoolNumber char(10) primary

12、key, Address char(50), Tel char(20)) 2.3.课程表的创建 create table course( CourseName char(10) not null, CourseNumber char(10) primary key, CourseType char(10), CourseVolume smallint not null, Credit smallint not null, Period smallint not null, SchoolNumber char(10), foreign key (SchoolNumb

13、er) references school(SchoolNumber)) 2.4.教师表的创建 create table teacher( TeacherName char(10), TeacherNumber char(10) primary key, TeacherAge char(4), TeacherSex char(6), SchoolNumber char(10), check(TeacherAge>=0), check(TeacherSex='Male'or TeacherSex='Female'), foreign key (SchoolNumber)

14、 references school(SchoolNumber)) 2.5.课程表的创建 create table class( ClassNumber char(10) primary key, ClassVolume smallint, CGrade smallint not null, Tutor char(10), SchoolNumber char(10), check(ClassVolume>=0), foreign key (SchoolNumber) references school(SchoolNumber)) 2.6.学生表的创建 cre

15、ate table student( StudentName char(10) not null, StudentNumber char(10) primary key, StudentSex char(6), StudentAge smallint, Origo char(10), Birthday datetime, ClassNumber char(10), check(StudentSex='Male'or StudentSex='Female'), check(StudentAge>=0), foreign key (ClassNumber) references

16、 class(ClassNumber)) 2.7.教学计划表的创建 create table eduplan( CourseNumber char(10), RoomNumber char(10), StartWeek smallint, Weeks smallint, StartLesson smallint, Lessons smallint, EduDay smallint, check(StartWeek between 1 and 20), check(Weeks>=0), check(StartLesson between 1 and 11), ch

17、eck(Lessons>=0), check(EduDay between 1 and 7), primary key (CourseNumber,RoomNumber), foreign key (CourseNumber) references course(CourseNumber), foreign key (RoomNumber) references room(RoomNumber)) 2.8.教学表的创建 create table education( CourseNumber char(10), TeacherNumber char(10), Teach

18、Time smallint, Effect smallint, check(TeachTime between 1 and 100), check(Effect between 1 and 100), primary key (CourseNumber,TeacherNumber), foreign key (CourseNumber) references course(CourseNumber), foreign key (TeacherNumber) references teacher(TeacherNumber)) 2.9.选课表的创建 create table

19、 sc( CourseNumber char(10), StudentNumber char(10), Revamp char(4), Grade smallint, check(Revamp='YES'or Revamp='NO'), check(Grade between 1 and 100), primary key (CourseNumber,StudentNumber), foreign key (CourseNumber) references course(CourseNumber), foreign key (StudentNumber) references

20、 student(StudentNumber)) 3.默认值的创建 3.1.创建默认值’NO’,并为选课表中是否重修绑定 create default de_Revamp as'NO' exec sp_bindefault 'de_Revamp','sc.Revamp' 3.2.创建默认值’YES’,并为教室表中是否可用绑定 create default de_Available as'YES' exec sp_bindefault 'de_Available','room.Available' 4.触发器的创建 4.1.对教学计划表创建触发器,

21、当插入课程人数多于教室容量的数据时,回滚操作 create trigger TR_eduplan1 on eduplan for insert as if( select count(*) from course c inner join inserted i on c.CourseNumber=i.CourseNumber inner join room r on i.RoomNumber=r.RoomNumber where datediff(d,CourseVolume,RoomVolume)<0 )<>0 begin prin

22、t'课程人数大于教室容量,无法安排课程,操作无法完成' rollback end 4.2.对教学计划表创建触发器,当插入课程占用不可被占用的教室的数据时,回滚操作 create trigger TR_eduplan2 on eduplan for insert as if( select count(*) from inserted i inner join room r on i.RoomNumber=r.RoomNumber where available='NO' )<>0 begin print'插入课程占用不可被占用的教室,无法安排课程

23、操作无法完成' rollback end 5.数据的输入 5.1.教室表数据 insert into room (RoomNumber,RoomVolume) values('23102',280) insert into room (RoomNumber,RoomVolume) values('23104',280) insert into room (RoomNumber,RoomVolume) values('23106',280) insert into room values('23108',280,'NO') insert into room (R

24、oomNumber,RoomVolume) values('23110',100) insert into room (RoomNumber,RoomVolume) values('23112',100) insert into room (RoomNumber,RoomVolume) values('23114',280) insert into room (RoomNumber,RoomVolume) values('23202',280) insert into room (RoomNumber,RoomVolume) values('23204',280) insert in

25、to room (RoomNumber,RoomVolume) values('23206',280) insert into room values('23208',280,'NO') insert into room (RoomNumber,RoomVolume) values('23210',280) insert into room (RoomNumber,RoomVolume) values('23212',280) insert into room (RoomNumber,RoomVolume) values('23214',280) 5.2.学院表数据 ins

26、ert into school values('自动化','001','天津市南开区号','22345612') insert into school (SchoolName,SchoolNumber) values('精密仪器','002') insert into school (SchoolName,SchoolNumber) values('机械','003') insert into school (SchoolName,SchoolNumber) values('建筑','004') insert into school (SchoolName,SchoolNumber)

27、values('建工','005') insert into school (SchoolName,SchoolNumber) values('信息','006') insert into school (SchoolName,SchoolNumber) values('化工','007') insert into school (SchoolName,SchoolNumber) values('计算机','008') insert into school (SchoolName,SchoolNumber) values('理学院','009') insert into school

28、 (SchoolName,SchoolNumber) values('文法','010') 5.3.课程表数据 insert into course values('复变','0001','必修',280,2,32,'009') insert into course values('模电','0002','必修',100,4,64,'001') insert into course values('信号','0003','必修',100,3,48,'001') insert into course values('电拖','0004','必修',100,3,48,'001')

29、 insert into course values('概率','0005','选修',280,3,32,'009') insert into course values('英语','0006','必修',80,1,16,'010') insert into course values('口语','0007','必修',40,1,16,'010') insert into course values('数据库','0008','选修',280,3,32,'008') insert into course values('电路','0009','必修',100,4,48,'001')

30、 insert into course values('大物','0010','必修',100,4,64,'009') insert into course values('马原','0011','必修',280,4,64,'010') 5.4.班级表数据 insert into class values('zdh01',30,2012,'许','001') insert into class (ClassNumber,ClassVolume,CGrade,SchoolNumber) values('zdh02',30,2012,'001') insert into clas

31、s (ClassNumber,ClassVolume,CGrade,SchoolNumber) values('zdh03',30,2012,'001') insert into class (ClassNumber,ClassVolume,CGrade,SchoolNumber) values('zdh04',30,2012,'001') insert into class (ClassNumber,ClassVolume,CGrade,SchoolNumber) values('zdh05',30,2012,'001') insert into class (ClassNumber,

32、ClassVolume,CGrade,SchoolNumber) values('zdh06',30,2012,'001') insert into class (ClassNumber,ClassVolume,CGrade,SchoolNumber) values('jsj01',30,2012,'008') insert into class (ClassNumber,ClassVolume,CGrade,SchoolNumber) values('jsj02',30,2012,'008') insert into class (ClassNumber,ClassVolume,CGr

33、ade,SchoolNumber) values('jsj03',30,2012,'008') insert into class (ClassNumber,ClassVolume,CGrade,SchoolNumber) values('jsj04',30,2012,'008') 5.5.教师表数据 insert into teacher values('韩','001','35','Male','009') insert into teacher values('周','002','40','Female','001') insert into teacher value

34、s('石','003','45','Male','001') insert into teacher values('费','004','43','Male','001') insert into teacher values('胡','005','37','Male','009') insert into teacher values('田','006','43','Female','010') insert into teacher values('姚','007','45','Male','010') insert into teacher values('喻','008','

35、36','Female','008') insert into teacher values('刘','009','30','Female','001') insert into teacher values('李','010','31','Male','009') 5.6.学生表数据 insert into student values('白某','1201','Male','20','河北','1993.01.16','zdh01') insert into student values('贾某','1202','Male','21','天津','1992.02.16',

36、'zdh01') insert into student values('王某','1203','Male','20','天津','1993.08.06','zdh02') insert into student values('龚某','1204','Female','18','云南','1995.11.11','zdh02') insert into student values('邢某','1205','Male','20','吉林','1993.09.20','zdh03') insert into student values('戴某','1206','Male','20',

37、'辽宁','1993.12.16','zdh03') insert into student values('刘某','1207','Female','20','天津','1993.01.16','zdh04') insert into student values('陈某','1208','Female','20','辽宁','1993.08.17','zdh04') insert into student values('韩某','1209','Male','20','安徽','1993.10.19','zdh05') insert into student values('袁某'

38、'1210','Female','20','浙江','1993.11.23','zdh05') 5.7.教学计划表数据 insert into eduplan values('0001','23102',4,16,1,2,1) insert into eduplan values('0002','23104',4,18,3,2,1) insert into eduplan values('0002','23206',4,18,3,2,3) insert into eduplan values('0003','23112',4,16,3,2,2) insert into e

39、duplan values('0004','23214',4,18,1,2,2) insert into eduplan values('0005','23212',4,16,9,3,3) insert into eduplan values('0006','23106',4,16,3,2,3) insert into eduplan values('0007','23110',4,16,5,2,2) insert into eduplan values('0008','23202',4,14,9,3,2) insert into eduplan values('0009','232

40、04',4,12,7,2,3) insert into eduplan values('0009','23206',4,12,3,2,5) 5.8.教学表数据 insert into education values('0001','001',4,80) insert into education values('0002','002',20,95) insert into education values('0003','003',10,70) insert into education values('0004','004',18,75) insert into educa

41、tion values('0005','005',22,83) insert into education values('0006','006',8,78) insert into education values('0007','007',18,90) insert into education values('0008','008',6,88) insert into education values('0009','009',14,90) insert into education values('0010','010',6,82) 5.9.选课表数据 insert i

42、nto sc values('0001','1201','YES',70) insert into sc (CourseNumber,StudentNumber,Grade) values('0002','1201',93) insert into sc (CourseNumber,StudentNumber,Grade) values('0003','1201',67) insert into sc (CourseNumber,StudentNumber,Grade) values('0008','1202',90) insert into sc values('0004','120

43、2','YES',67) insert into sc (CourseNumber,StudentNumber,Grade) values('0006','1202',73) insert into sc (CourseNumber,StudentNumber,Grade) values('0003','1203',98) insert into sc (CourseNumber,StudentNumber,Grade) values('0007','1203',84) insert into sc (CourseNumber,StudentNumber,Grade) values('

44、0005','1204',78) insert into sc (CourseNumber,StudentNumber,Grade) values('0006','1204',62) insert into sc (CourseNumber,StudentNumber,Grade) values('0010','1205',90) insert into sc (CourseNumber,StudentNumber,Grade) values('0009','1206',92) insert into sc (CourseNumber,StudentNumber,Grade) valu

45、es('0007','1207',88) insert into sc (CourseNumber,StudentNumber,Grade) values('0009','1208',79) insert into sc (CourseNumber,StudentNumber,Grade) values('0005','1209',73) 6.索引的创建 6.1.课程表(course)按课程编号(CourseNumber)升序排列 create index IN_course on course(CourseNumber) 6.2.学生表(student)按学生

46、学号(StudentNumber)升序排列 create index IN_student on student(StudentNumber) 6.3.教师表(teacher)按教师编号(TeacherNumber)升序排列 create index IN_teacher on teacher(TeacherNumber) 6.4.教室表(room)按教室容量(RoomVolume)降序排列 create index IN_room on room(RoomVolume desc) 6.5.学院表(school)按学院编号(SchoolNumber)升序排列

47、 create index IN_school on school(SchoolNumber) 6.6.班级表(class)按班级编号(ClassNumber)升序排列 create index IN_class on class(ClassNumber) 6.7.教学计划表(eduplan)按课程编号(CourseNumber),星期(EduDay)升序排列,组合索引,唯一索引 create unique index IN_eduplan on eduplan(CourseNumber,EduDay) 6.8.教学表(education)按课程编号(Cou

48、rseNumber)升序排列,唯一索引 create unique index IN_education on education(CourseNumber) 7.视图的创建 7.1.学生选课视图 create view V_elective as select s.StudentNumber,s.StudentName,c.CourseNumber,c.CourseName,t.TeacherNumber,t.TeacherName,sc.Revamp,sc.Grade from student s inner join sc on s.StudentNumber=

49、sc.StudentNumber inner join course c on sc.CourseNumber=c.CourseNumber inner join education e on e.CourseNumber=c.CourseNumber inner join teacher t on e.TeacherNumber=t.TeacherNumber 7.2.教师授课视图 create view V_teach as select t.TeacherName,c.Co

50、urseName,eduplan.RoomNumber from teacher as t inner join education as e on t.TeacherNumber=e. TeacherNumber inner join eduplan on e.CourseNumber=eduplan.CourseNumber inner join course as c on eduplan.CourseNumber=c.CourseNumber 7.3.教室安排视图 create view V_

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服