数据库设计实例―教学管理系统_第1页
数据库设计实例―教学管理系统_第2页
数据库设计实例―教学管理系统_第3页
数据库设计实例―教学管理系统_第4页
数据库设计实例―教学管理系统_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数据库课程设计报告教学管理系统数据库设计 课程设计题目 教学管理系统 学 院 软件学院 班 级 软件技术四班 年 级 2013级 姓 名 彭超 李新 徐彤 ( 2014 年 11月) 用5行左右的文字对系统进行简要介绍对教学管理信息统一规范整理,实现各种信息的自动管理。为便于信息的查询,找出各种信息的关联性,根据各种需求设计出合理的报表。减轻教学日常信息管理的负担,方便学生、教师查询信息和学校对所有信息的管理。以简单便捷的操作获取详尽的信息。一、数据需求分析某学校设计学生教学管理系统。学生实体包括学号、姓名、性别、生日、民族、籍贯、简历、登记照,每名学生选择一个主修专业,专业包括专业编号、名称

2、和类别,一个专业属于一个学院,一个学院可以有若干个专业。学院信息要存储学院号、学院名、院长。教学管理还要管理课程表和学生成绩。课程表包括课程号、课程名、学分,每门课程由一个学院开设。学生选修的每门课程获得一个成绩。另外,为了管理教师教学安排,教师包括编号、姓名、年龄、职称,一个教师只能属于一个学院,一名教师可以上若干门课程,一门课程可以有多名老师来上,每个教师所上的每门课都有一个课堂号和课时数。本系统数据字典如下: 数据项表编号标识符类型长度同义名1CourseNovarchar10课程号2ClassNameVarchar20课程名3Creditint4学分4CPeriodint4学时5Dep

3、tNovarchar10学院号6DeptNameVarchar20院名7PresidentVarchar256院长8StudentNovarchar10学号9StudentNamevarchar20姓名10Gendervarchar4性别11Agedatetime8年龄12Nationvarchar8民族13PlaceVarchar256籍贯14SynopsisVarchar256简历15PhotoVarchar256登记照16MajorVarchar8主修专业17TeacherNoVarchar10教师号18TeacherNameVarchar20教师姓名19TeacherGenderVar

4、char4教师性别20TeacherAgedatetime8教师出生日期21ProTitleVarchar20职称22Specializedvarchar20专业级教学课程23TeacherCpllagevarchar8所属学院24ExamScorefloat8考试成绩25SumScorefloat8总成绩数据流 数据流表编号名称来源去向组成1身份信息学生/教师/管理员教学系统用户名+密码2身份验证信息教学系统学生/教师/管理员验证结果3学生/教师/管理员查询/修改请求学生/教师/管理员教学系统待查询对象识别符4查询/修改结果教学系统学生/教师/管理员被查询/修改对象具体信息二、概念结构设计1

5、 首先确定系统中的实体 从以上数据需求可以看出,系统共包括5个实体:学生、专业、学院、教师、课程。2 再确定系统中实体间的关系 根据数据需求描述推出:专业与学生是1对多关系;学生与课程是多对多关系;课程与老师是多对多关系;课程与学院是多对1关系;学院与专业是1对多关系;学院与教师是1对多关系。3 转化成E-R图图1 实体-属性图图2 教学管理ER图三、逻辑结构设计 在转换为关系模型时,一对多的联系都在相应的多方实体的关系中增加一个外键。本系统由ER模型转换的关系模型是:学生(学号,姓名,性别,生日,民族,籍贯,专业号,简历,登记照)专业(专业号,专业,专业类别,学院号)学院(学院号,学院,院长

6、)课程(课程号,课程名,学分,学院号)成绩(学号,课程号,成绩)教师(编号,姓名,年龄,职称)四、物理结构设计(不写)五、数据库实施基于Access的 数据库结构设计如下。指定数据库文件的名称,并为设计好的关系模型设计表结构。数据库文件保存在“E:教学管理”文件夹中,数据库文件名:教学管理.MDB。表包括:学院、专业、学生、课程、成绩单。对应表结构如表1-2至表1-6所示。表1-1 学院字段名类型宽度小数主键/索引参照表约束Null值学院号文本型2(主)学院文本型16院长文本型8表1-2 专业 字段名类型宽度小数主键/索引参照表约束Null值专业号文本型4(主)专业文本型16专业类别文本型8学

7、院号文本型2学院表1-3 学生字段名类型宽度小数主键/索引参照表约束Null值学号文本型8(主)姓名文本型8性别文本型2男 or 女生日日期型民族文本型6籍贯文本型20专业号文本型6专业简历备注型登记照OLE对象表1-4 课程字段名类型宽度小数主键/索引参照表约束Null值课程号文本型8(主)课程名文本型24学分字节型学院号字符型2学院表1-5 成绩单字段名类型宽度小数主键/索引参照表约束Null值学号文本型8学生课程号文本型6课程成绩单精度41=0 and = 0), DeptNo varchar(10) NOT NULL, PRIMARY KEY(StudentNo), FOREIGN K

8、EY(DeptNo) REFERENCES Dept(DeptNo) ON DELETE NO ACTION ON UPDATE CASCADE);GOCREATE TABLE Teacher(TeacherNo varchar(10) NOT NULLCHECK(TeacherNo LIKE0-90-90-90-90-90-90-90-90-90-9), TeacherName varchar(20) NOT NULL, Gender varchar(4) NOT NULL CHECK(Gender = 男 OR Gender = 女), Birthday datetime NOT NULL

9、, ProTitle varchar(20) NOT NULL, Specialized varchar(20) NOT NULL, DeptNo varchar(10) NOT NULL, PRIMARY KEY(TeacherNo), FOREIGN KEY(DeptNo) REFERENCES Dept(DeptNo) ON DELETE NO ACTION ON UPDATE CASCADE);GOCREATE TABLE Course(CourseNo varchar(10) NOT NULLCHECK(CourseNo LIKE0-90-90-90-90-90-90-90-90-9

10、0-9), CourseName varchar(20) NOT NULL, TeacherNo varchar(10) NOT NULL, CPeriod int NOT NULL, Credit int NOT NULL, BeginDate datetime NOT NULL, CAddress varchar(20) NOT NULL, ExamDate datetime NOT NULL, PRIMARY KEY(CourseNo), FOREIGN KEY(TeacherNo) REFERENCES Teacher(TeacherNo) ON DELETE NO ACTION ON

11、 UPDATE CASCADE);GOCREATE TABLE Score(StudentNo varchar(10) NOT NULL REFERENCES Student(StudentNo), CourseNo varchar(10) NOT NULL REFERENCES Course(CourseNo), OrdScore float(8) NOT NULL CHECK(OrdScore=0 AND OrdScore=0 AND ExamScore=100), SumScore AS (OrdScore*0.3+ExamScore*0.7), PRIMARY KEY(StudentN

12、o,CourseNo);GO附录B/-/所属类:TSDatabase/功能:取得应用程序与数据库系统的连接publicclassTSDatabase/AttributesDefinitionprivateSqlConnection_Con=null;privateString_ConStr=null;privatebool_IsConnected=false;/privateUser_CurrentUser=null;privateString_ErrorMsg=; /MethodsDefinition/TSDatabaseconstructor/publicTSDatabase() /Con

13、necttoTeachingSystemDatabase/DefaultconnectiondefiniteasApp.config/publicboolConnect()/GetconnectionstringfromApp.config_ConStr=ConfigurationManager.ConnectionStringsTSConnection.ConnectionString;/Currentconnectionisnulltryif(_Con=null)_Con=newSqlConnection(_ConStr);_IsConnected=true;_ErrorMsg=;retu

14、rntrue;catch(System.Exceptionex)_ErrorMsg=ex.ToString();_Con=null;_ConStr=null;_IsConnected=false;returnfalse;/DisconnecttoTeachingSystemDatabase/publicboolDisconnect()tryif(_Con!=null)if(_Con.State!=ConnectionState.Closed)_Con.Close();_Con.Dispose();_Con=null;_ConStr=null;_ErrorMsg=;returntrue;catc

15、h(System.Exceptionex)_Con=null;_ConStr=null;_IsConnected=false;_ErrorMsg=ex.ToString();returnfalse;/-/所属类:User/功能:完成各查询功能的函数,即包含不同类型用户的操作publicclassUser/AttributesDefinitionbool_IsLogin=false;String_UserName=;/SavecurrentusernumberinsteadUserType_UserType=0;staticString_ErrorMsg=;/MethodsDefinitionp

16、ublicUser(StringUserName,UserTypeUT)this._UserName=UserName;this._UserType=UT;/UsersvirtualfunctionsfordifferenttypeofusertooverridepublicvirtualDataTableSelect(StringQueryString,QueryTypeQT,TSDatabaseTSDB)returnnull;publicvirtualboolUpdate(StringQueryString,QueryTypeQT,TSDatabaseTSDB)returnfalse;pu

17、blicvirtualboolInsert(StringQueryString,QueryTypeQT,TSDatabaseTSDB)returnfalse;publicvirtualboolDelete(StringQueryString,QueryTypeQT,TSDatabaseTSDB)returnfalse; #regionGetandsetusersattributes.#endregion/Accordingtotheuser,querytypeandofferedstringstobuildaquerystring/Allstringsneededtobuildquerystr

18、ing/publicstaticStringGetQueryString(UserCurrentUser,QueryTypeQT,StringStrings)StringQueryString=;tryswitch(QT).caseQueryType.StudentSelect:switch(CurrentUser.UserType)caseUserType.Student:QueryString=SELECT*FROMStudentWHEREStudentNo=+CurrentUser.UserName+;break;caseUserType.Teacher:QueryString=SELE

19、CTStudent.StudentNoASStudentNo,+StudentNameASStudentName,+Student.GenderASGender,+EntryScoreASEntryScore,+DeptNameASDepartment,+Student.InfoASInfomation+FROMStudent,Dept,Course,Score+WHERECourse.TeacherNo=+CurrentUser.UserName+ANDCourse.CourseNo=Score.CourseNo+ANDScore.StudentNo=Student.StudentNo+AN

20、DStudent.DeptNo=Dept.DeptNo;break;./-/所属类:Student,Teacher,Administrator/功能:均继承User类,具体实现SELECT,UPDATE,INSERT,DELETE函数内容/(以下用Student类中的重写SELECT作为例子)/SelectoperationforStudent/Permissibleoperations(QueryType):Alltypeofselect/Transact-SQLstatement/Selectquerytype/Teachingsystemdatabase/SelectedDataTabl

21、epublicoverrideDataTableSelect(StringQueryString,QueryTypeQT,TSDatabaseTSDB)SqlConnectioncon=null;DataTableDT=newDataTable();this.ErrorMessage=;/Ifitsofflineif(!TSDB.IsConnected)/Iffailtoconnectif(!TSDB.Connect()this.ErrorMessage+=TSDB.ErrorMessage;returnnull;trycon=TSDB.Connection;/Ifconnectioniscl

22、osed,openfirstif(con.State=ConnectionState.Closed)con.Open();/Differentquerytypeswitch(QT)caseQueryType.StudentSelect:caseQueryType.CourseSelect:caseQueryType.TeacherSelect:caseQueryType.ScoreSelect:caseQueryType.DeptSelect:SqlDataAdapterSDA=newSqlDataAdapter();SqlCommandSC=newSqlCommand(QueryString

23、,con);SC.CommandType=CommandType.Text;SDA.SelectCommand=SC;SDA.Fill(DT);break;default:this.ErrorMessage=this.ErrorMessage+nPermissionDeny:+QT.ToString();DT=null;break;catch(System.Exceptionex)this.ErrorMessage=this.ErrorMessage+n+ex.ToString();DT=null;finally/Closeconnectiontodatabaseif(con.State!=C

24、onnectionState.Closed)con.Close();returnDT;/-/所属类:TeachingSystem/功能:整个教学系统主要界面操作函数/说明:以显示系统界面ShowTS与加载数据库数据表到列表显示函数LoadDataGrid为例/Showcomponentsfordifferenttypeofuserandsetthisvisible/publicvoidShowTS()switch(CurrentUser.UserType)caseUserType.Student:thisthis.Page_SAbout);thisthis.Page_Teacher);this

25、this.Page_Course);thisthis.Page_Score);this.button_TLoad.Enabled=true;this.button_TAdd.Enabled=false;this.button_TRemove.Enabled=false;this.button_TEdit.Enabled=false;this.button_CLoad.Enabled=true;this.button_CAdd.Enabled=false;this.button_CRemove.Enabled=false;this.button_CEdit.Enabled=false;this.button_SCLoad.Enabled=true;this.button_SCAdd.Enabled=false;this.butto

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论