当前位置:文档之家› 数据库课程设计教室管理信息系统

数据库课程设计教室管理信息系统

《数据库原理及应用》课程设计报告题目:教室管理信息系统的数据库设计学号:10901010131姓名:余楠同组人员:王鑫指导教师:李唯唯刘加伶崔贯勋2011年12月目录1.项目背景 (3)1.1选题背景 (3)1.2系统目标和实现技术 (3)2.需求分析 (3)2.1组织结构分析 (3)2.2业务流程分析 (4)2.3数据流程分析 (5)2.4数据字典 (6)3.概念结构设计 (8)3.1教室管理信息系统总E-R图 (9)3.2教室管理信息系统CDM图 (10)4.逻辑结构设计 (11)5.物理结构设计 (11)6.总结 (11)7.参考文献 (12)8.小组组员分工情况说明 (12)附录 (12)1.项目背景1.1选题背景教室管理信息化是学校教务系统应用信息技术及其产品的过程,是信息技术应用于教室管理的过程。

教育信息化的实施,自上而下而言,必须与学校的制度创新、组织创新和管理创新结合;自下而上而言,必须以作为学校主体的工作人员使用信息技术水平的逐步提高为基础。

当今世界,经济信息化,管理业务信息化已经成为一种趋势。

就学校对于教室管理方面,建立教室管理信息系统无疑是学校发展的一种趋势,也使学校管理更方便,快捷。

因此,学校信息化建设工作具有长期性、复杂性和内容的多变性;正因为如此,教室管理信息系统也不是一个简单的、封闭的、静止的系统,而是一个复杂的、开放的、在应用的深度和广度上,随着时间的推移会逐步变化和发展的系统。

就目前我校对教室管理情况而言,教室信息庞大复杂,管理过程杂乱,故建立此系统,以便及对教室信息的查询等。

1.2系统目标和实现技术实现教室信息的存储,学校任课教师信息的存储,学校课程的开设信息的存储以及院系设置的情况。

在对这些数据进行存储后,要对所处学期的院系课程开设情况进行学校教室的安排,并对这些安排好的数据进行存储,实现数据库的更新,之后,用户就可以对学校教室的使用信息进行查询,也可以对教室所上课程的相关信息进行查询。

如果想修改数据或是进行教室使用信息的修改,只能由系统的管理员进行更改和储存。

本次课程设计要实现教室查询、教师查询、课程查询、教室借用查询和自习教室方面的查询等功能,功能目标图:实验软件平台:Windows XP, Powerduilder9.5,Visio数据库开发工具:Microsoft SQL Sever 20002.需求分析2.1组织结构分析与教室管理相关的学校的组织机构有:学生、教师和教室。

学校的所有日常工作都是围绕着这三大部分进行的。

一个学校下设若干学院,如数学与统计学院、经济与贸易学院、计算机科学与工程学院、汽车学院等;一个学院下设若干专业,如数学与统计学院下设有专业:信息与计算科学、统计学和数学与应用数学;一个专业有若干班级,如数学与统计学院的2009级信息与计算科学专业下设两个班级:信息1班、信息2班;一个班级有若干同学。

一个学校下设若干学院,如数学与统计学院、经济与贸易学院、计算机科学与工程学院、汽车学院等;一个学院下设若干专业,如数学与统计学院下设有专业:信息与计算科学、统计学和数学与应用数学;一个专业有若干教师。

一个学校下设若干学院,如数学与统计学院、经济与贸易学院、计算机科学与工程学院、汽车学院等;一个学院下设若干专业,如数学与统计学院下设有专业:信息与计算科学、统计学和数学与应用数学;一个专业开设有若干课程,如数学与统计学院信息与计算科学专业开设有数据库系统概论、数学规划等课程。

一个学校有若干教学楼,如第一教学楼,第二教学楼等;一个教学楼有若干楼层,如第一教学楼有一层、二层、三层、四层、五层、六层、七层;一个楼层有若干教室,如第一教学楼第一层有1-101,1-102,1-103,1-104教室。

一个教师可以开设若干门课程,一门课程可以由多个老师来教授。

一个教室在不同的时段可以上不同的课程。

2.2业务流程分析查询,预订教室:学生或老师将要所查询的教室号码报给负责老师,负责老师根据已有的上课安排课程表查询相应教室,如果在所查时间段空置,则可安排教室,并把教室安排情况通知对应学生和老师,如果教室不是闲置的,则预定教室并把预订相应时间段的空教室通知给对应学生和老师(显然也是自习教室安排业务流程图)。

查询老师安排:学生或老师将要所查询的教师姓名报给负责老师,负责老师根据上课安排课程表把所要查询的教师和相应的教室、课程安排通知给查询的学生或老师。

查询课程安排:学生或老师把所要查询的课程名报给负责老师,负责老师根据上课安排课程表查询课程安排并把相应的课程、教室和教师安排通知给所要查询的学生或教师。

借用教室安排:学生或老师将所要借用的教室号码报给负责老师,负责老师根据上课安排课程表把借用情况安排报给所查询的学生或老师,并把借用通知通知给原来的准备在这个教室里上课的学生和老师。

2.3数据流程分析2.2.1查询、预定教室数据流程图2.2.2查询教师安排数据流程图2.2.3查询课程安排数据流程图2.2.4借用教室数据流程图2.4数据字典教室管理信息系统各实体及联系的数据字典:3概念结构设计概念设计是根据需求分析阶段所收集到的用户需求,设计数据库的概念数据模型,它是从用户角度看到的数据库。

采用两种建模工具完成数据库的概念结构设计如下:3.1教室管理信息系统总 E-R图由此得到的教室管理信息系统的关系模型如下1.教学楼(教学楼号,教学楼名称)2.教室(教室编号,教学楼号,楼层)3.院系(院系号,院系名称)4.课程(课程号,课程名称,学分,课程类型,开课院系号)5.教师(教师编号,教师姓名,性别,所属院系,职称, 身份证号)6.学生(学号,姓名,院系号,身份证号)7.教师开课(教室号,上课时间,上课时间段,教师号,课程号,)8.教室借用(教室编号,使用人编号,使用日期,借用时间段,用途)3.2教室管理信息系统CDM图4.逻辑结构设计逻辑结构设计是根据概念结构设计得到的数据库概念模型,利用CASE工具(PD等)设计数据库的逻辑模型,具体地说就是根据E-R图利用关系模式的转换规则得到具体的关系模式或利用PD创建的CDM转换为相应的PDM。

在此给出由以上CDM图所转换的相应的PDM图。

根据以上CDM图所转换的PDM图:5.物理结构设计由PDM图可直接生成数据库过程中的SQL脚本,为书写美观,如下只保留原始脚本中的头文件和生成基本表的脚本,详细内容可参见附录。

/*==============================================================*//* DBMS name: Microsoft SQL Server 2000 *//* Created on: 2011-12-29 15:52:47 *//*==============================================================*/6.总结课程设计确实是一个让自己综合水平提高的一个好途径,自己刚上课的时候好多东西其实都还不清楚,都是似懂非懂的,期末考试也不很理想,但经过了课程设计,不敢说我全部弄清楚了,但至少我比以前理解的深和多了。

通过课程设计我学习到了很多在理论学习中不能学习到的东西,动手学到的东西才真的是刻骨铭心和记忆深刻的。

在今后的学习中,不管是什么科目的学习,都要注重自己的动手能力,加强团队合作。

对于本次实验的缺点,因为毕竟时间有限和本人对知识的掌握还有待提高,致使设计体系有点简单,有很多7.参考文献(1) 数据库系统概论(第三版)高等教育出版社主编:萨师煊王珊(2) 软件分析建模与PowerDesigner实现清华大学出版社主编:白尚旺党伟超(3) PowerDesigner系统分析与建模(第2版)清华大学出版社主编:赵韶平8.小组组员分工情况说明余楠:完成E-R图,CDM图设计以及生成PDM图和相应的SQL脚本王鑫:完成业务流程图,数据流程图的设计和数据字典的编写,参考文献的整理收集并各自完成实验报告中相应的内容,最后的实验报告的编排整理由组内另一位同学完成!!附录:由PDM图生成的SQL脚本/*==============================================================*//* DBMS name: Microsoft SQL Server 2000 *//* Created on: 2011-12-29 15:52:47 *//*==============================================================*/alter table Association_3drop constraint FK_ASSOCIAT_ASSOCIATI_课程goalter table Association_3drop constraint FK_ASSOCIAT_ASSOCIATI_教室goalter table 上课drop constraint FK_上课_上课_教师godrop constraint FK_上课_上课2_课程goalter table 上课drop constraint FK_上课_上课3_教室goalter table 学生drop constraint FK_学生_RELATIONS_院系goalter table 学生drop constraint FK_学生_属于_院系goalter table 教室drop constraint FK_教室_位置于_教学楼goalter table 教室借用drop constraint FK_教室借用_教室借用_学生goalter table 教室借用drop constraint FK_教室借用_教室借用2_教室goalter table 教师drop constraint FK_教师_隶属于_院系goif exists (select 1from sysindexeswhere id = object_id('Association_3') and name = 'Association_3_FK'and indid > 0and indid < 255)drop index Association_3.Association_3_FKgoif exists (select 1from sysindexeswhere id = object_id('Association_3') and name = 'Association_4_FK'and indid > 0drop index Association_3.Association_4_FK goif exists (select 1from sysindexeswhere id = object_id('上课') and name = '上课2_FK'and indid > 0and indid < 255)drop index 上课.上课2_FKgoif exists (select 1from sysindexeswhere id = object_id('上课') and name = '上课3_FK'and indid > 0and indid < 255)drop index 上课.上课3_FKgoif exists (select 1from sysindexeswhere id = object_id('上课') and name = '上课_FK'and indid > 0and indid < 255)drop index 上课.上课_FKgoif exists (select 1from sysindexeswhere id = object_id('学生') and name = 'Relationship_2_FK' and indid > 0and indid < 255)drop index 学生.Relationship_2_FKgoif exists (select 1from sysindexeswhere id = object_id('学生') and name = '属于_FK'and indid > 0and indid < 255)goif exists (select 1from sysindexeswhere id = object_id('教室')and name = '位置于_FK'and indid > 0and indid < 255)drop index 教室.位置于_FKgoif exists (select 1from sysindexeswhere id = object_id('教室借用') and name = '教室借用2_FK'and indid > 0and indid < 255)drop index 教室借用.教室借用2_FKgoif exists (select 1from sysindexeswhere id = object_id('教室借用') and name = '教室借用_FK'and indid > 0and indid < 255)drop index 教室借用.教室借用_FKgoif exists (select 1from sysindexeswhere id = object_id('教师')and name = '隶属于_FK'and indid > 0and indid < 255)drop index 教师.隶属于_FKgoif exists (select 1from sysobjectswhere id = object_id('Association_3') and type = 'U')drop table Association_3gofrom sysobjectswhere id = object_id('上课')and type = 'U')drop table 上课goif exists (select 1from sysobjectswhere id = object_id('学生')and type = 'U')drop table 学生goif exists (select 1from sysobjectswhere id = object_id('教学楼') and type = 'U')drop table 教学楼goif exists (select 1from sysobjectswhere id = object_id('教室')and type = 'U')drop table 教室goif exists (select 1from sysobjectswhere id = object_id('教室借用') and type = 'U')drop table 教室借用goif exists (select 1from sysobjectswhere id = object_id('教师')and type = 'U')drop table 教师goif exists (select 1from sysobjectswhere id = object_id('课程')and type = 'U')goif exists (select 1from sysobjectswhere id = object_id('院系')and type = 'U')drop table 院系go/*==============================================================*/ /* Table: Association_3 */ /*==============================================================*/ create table Association_3 (课程号 char(10) not null,教室编号 char(10) not null,constraint PK_ASSOCIATION_3 primary key (课程号, 教室编号))go/*==============================================================*/ /* Index: Association_3_FK */ /*==============================================================*/ create index Association_3_FK on Association_3 (课程号 ASC)go/*==============================================================*/ /* Index: Association_4_FK */ /*==============================================================*/ create index Association_4_FK on Association_3 (教室编号 ASC)go/*==============================================================*/ /* Table: 上课 */ /*==============================================================*/ create table 上课 (教师_教师编号 char(20) not null,课程_课程号 char(10) not null,教室_教室编号 char(10) not null,教室编号 char(10) not null,上课时间 datetime not null,上课时间段 datetime not null,课程号 char(10) null,constraint PK_上课 primary key (教师_教师编号, 课程_课程号, 教室_教室编号) )go/*==============================================================*//* Index: 上课_FK *//*==============================================================*/create index 上课_FK on 上课 (教师_教师编号 ASC)go/*==============================================================*//* Index: 上课2_FK *//*==============================================================*/create index 上课2_FK on 上课 (课程_课程号 ASC)go/*==============================================================*//* Index: 上课3_FK *//*==============================================================*/create index 上课3_FK on 上课 (教室_教室编号 ASC)go/*==============================================================*//* Table: 学生 *//*==============================================================*/create table 学生 (学号 char(20) not null,院系_院系号 char(10) null,院系_院系号2 char(10) null,姓名 char(10) null,身份证号 char(20) null,院系号 char(10) null,constraint PK_学生 primary key nonclustered (学号))go/*==============================================================*//* Index: Relationship_2_FK */create index Relationship_2_FK on 学生 (院系_院系号2 ASC)go/*==============================================================*//* Index: 属于_FK */ /*==============================================================*/ create index 属于_FK on 学生 (院系_院系号 ASC)go/*==============================================================*//* Table: 教学楼 */ /*==============================================================*/ create table 教学楼 (教学楼号 char(10) not null,教学楼名称 char(10) null,constraint PK_教学楼 primary key nonclustered (教学楼号))go/*==============================================================*//* Table: 教室 */ /*==============================================================*/ create table 教室 (教室编号 char(10) not null,教学楼_教学楼号 char(10) null,教学楼号 char(10) null,楼层 char(10) null,constraint PK_教室 primary key nonclustered (教室编号))go/*==============================================================*//* Index: 位置于_FK */ /*==============================================================*/ create index 位置于_FK on 教室 (教学楼_教学楼号 ASC)go/*==============================================================*//* Table: 教室借用 */create table 教室借用 (学号 char(20) not null,教室_教室编号 char(10) not null,教室编号 char(10) not null,使用人编号 char(20) not null,使用日期 datetime not null,使用时间段 datetime not null,用途 char(10) null,constraint PK_教室借用 primary key (学号, 教室_教室编号))go/*==============================================================*//* Index: 教室借用_FK */ /*==============================================================*/ create index 教室借用_FK on 教室借用 (学号 ASC)go/*==============================================================*//* Index: 教室借用2_FK */ /*==============================================================*/ create index 教室借用2_FK on 教室借用 (教室_教室编号 ASC)go/*==============================================================*//* Table: 教师 *//*==============================================================*/ create table 教师 (教师编号 char(20) not null,院系号 char(10) null,教师姓名 char(10) null,性别 char(10) null,所属院系 char(10) null,职称 char(10) null,身份证号 char(20) null,constraint PK_教师 primary key nonclustered (教师编号))go/*==============================================================*//* Index: 隶属于_FK */create index 隶属于_FK on 教师 (院系号 ASC)go/*==============================================================*/ /* Table: 课程 */ /*==============================================================*/ create table 课程 (课程号 char(10) not null,课程名称 char(10) null,学分 char(10) null,课程类型 char(10) null,开课院系 char(10) null,constraint PK_课程 primary key nonclustered (课程号))go/*==============================================================*/ /* Table: 院系 */ /*==============================================================*/ create table 院系 (院系号 char(10) not null,院系名称 char(10) null,constraint PK_院系 primary key nonclustered (院系号))goalter table Association_3add constraint FK_ASSOCIAT_ASSOCIATI_课程 foreign key (课程号)references 课程 (课程号)goalter table Association_3add constraint FK_ASSOCIAT_ASSOCIATI_教室 foreign key (教室编号) references 教室 (教室编号)goalter table 上课add constraint FK_上课_上课_教师 foreign key (教师_教师编号)references 教师 (教师编号)goalter table 上课add constraint FK_上课_上课2_课程 foreign key (课程_课程号)references 课程 (课程号)goalter table 上课add constraint FK_上课_上课3_教室 foreign key (教室_教室编号)references 教室 (教室编号)goalter table 学生add constraint FK_学生_RELATIONS_院系 foreign key (院系_院系号2)references 院系 (院系号)goalter table 学生add constraint FK_学生_属于_院系 foreign key (院系_院系号)references 院系 (院系号)goalter table 教室add constraint FK_教室_位置于_教学楼 foreign key (教学楼_教学楼号)references 教学楼 (教学楼号)goalter table 教室借用add constraint FK_教室借用_教室借用_学生 foreign key (学号)references 学生 (学号)goalter table 教室借用add constraint FK_教室借用_教室借用2_教室 foreign key (教室_教室编号) references 教室 (教室编号)goalter table 教师add constraint FK_教师_隶属于_院系 foreign key (院系号)references 院系 (院系号)go。

相关主题