• 916.57 KB
  • 2022-05-17 13:01:36 发布

课程设计报告高校考勤管理系统数据库设计

  • 34页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
数据库原理课程设计报告高校考勤管理系统数据库设计学院:专业名称:班级:小组:学号:姓名:分数:第一部分:小组成员介绍1.1负责人1.2小组成员34 1.3小组成员及分工明细学号姓名分工拟定题目,整理报告,在SQLServer2008用具体语句实现数据库系统等。分析并书写实体之间的联系,E-R图设计与画图等。分析需求分析较多内容,E-R图设计,编写数据信息等。需求分析,E-R图设计并对其关系的转换。说明:1.4进度安排5月18日:题目拟定。5月21日:资料收集与分析,并对需求进行了大概地讨论,初步实施计划方案。5月22日:项目设计开始实施,第一步书写需求分析。5月25日:需求分析初步拼接拟定完成。5月25日:确定当前系统需求分析。5月26日:拟定实体,分析实体之间的联系,并完成;然后进行了E-R图的试画(同样是小组各个成员都画,画好后进行讨论,然后再次拟定E-R图)。6月04日:我们更近的一步,我们把实体之间的联系转化成了关系模式;然后完成了SQLServer语句的建库和表的作业,最后进行了数据的插入。6月09号:经过老师的评价进行全面整改。6月10号:最后总结。1.5实施方案具体实施方案,以及一些细节问题我们小组在数据库实验课上集中讨论,其余较小问题我们会通过网络,在线讨论。我们争取在不浪费集中大量时间的复习学习时间的情况下,尽全力做好该高校考勤数据库管理系统。34 第二部分:需求分析2.1项目背景本系统主要以“高校教职工及学生的考勤管理情况”为背景。本系统主要设计到高校五大用户:学生、任课教师、辅导员、院系领导、教务管理员,合理的记录学生和教职工的考勤记录。目前高校学生上课考勤情况主要以任课教师上课点名为依据,进行记录学生的出勤情况,对于时间较长的请假,需要递交请假申请并通过辅导员老师的批准方可生效。而我们设计此系统的目的旨在解决目前高校中对此情况存在的一些问题:1.学生请假不方便2.学生请假对任课教师不透明3.学生对整个学期的出勤情况没有整体统计信息4.辅导员对各班各学生的出勤情况不易查看5.院系领导、学校领导不易掌握学生的出勤情况6.学校教职工请假及调课等不易办理一个能运用于实际操作的考勤管理系统不仅在一定程度上解决了这些弊端,而且也能方便学校对教职工和学生考勤的具体情况的掌握,以方便学校的管理。系统的主要目的就是要帮助学校的教导处提高工作效率,实现学生和学校教职工考勤信息管理系统的系统化、规范化和自动化。2.2角色职责描述用户通过用户名(可为学生姓名或者教师姓名)和密码(可为学生学号和编号)登陆,来进行用户自己的需求操作。各类用户的职责的详细描述如下:角色职责和权限学生添加、删除、修改、查询学生基本信息(包括学生学号、姓名、性别、所在班级,院系,年级等信息)、查询本人考勤情况、在线请假任课教师添加、删除、修改、查看教师基本信息(包括教师工号、姓名、性别、联系电话等信息),调课等辅导员包括以上、管理学生基本信息、学生考勤情况,审批学生请假院系领导包括以上、审批教职工请假、调课等教务管理员进行系统维护,信息录入,管理学生和教职工信息(拥有最高权限)下面是一个学生用户登陆流程图(其他用户类似):34 2.3产品功能需求该考勤管理系统是对学校的考勤实现信息化,用户的具体属性包括用户帐号,用户密码,所有用户可以通过本人账号和密码登陆该系统。考勤管理中主要涉及的对象主要有5个,如下:学生用户、任课教师用户、辅导员用户、院系领导用户、系统管理员。管理员可以查询、添加、修改、删除学生及教师的基本信息;学生可以查询自己的出勤信息,还可以查询请假老师调课信息;教师可以查看自己考勤情况,可以浏览、查询、添加、删除、修改学生考勤的基本信息等处理功能,还可以提交请假后调课信息。具体如下:1·学生用户需求描述A)在线请假:在学生请假的全过程中,学生可以随时查看那请假的详细进展情况。B)查看出勤信息:学生可以随时查看在校期间所有课程的出勤信息。精确到目标课程的学生请假、旷课、迟到、早退的次数。上课时间、地点、任课老师姓名等。C)管理本人基本信息:学生所属院系、年级、专业、班级学号、姓名、性别、个人用户的帐号密码、以及本人的课表安排。D)在规定时间学生可以修改等更新个人基本信息。2·任课老师用户需求描述34 A)管理学生上课出勤:教师能够把学生的考勤情况输入到相应的数据库,也可对其进行添加、修改、删除。自动列出还没有在网上公布的学生上课出勤信息,当有学生请假是自动提示并统计学生请假的人数以及每周的出勤结果。B)查看学生的出勤信息:查看所教班级学生整个学期出勤统计信息以及详细信息。C)任课老师的上课信息:可以查看本人所任课的班级上课时间、地点、无课课表(没有任何老师上课的时间方便该老师有突发状况可以申请调所上课的时间地点),本人的基本信息、修改用户密码。D)发布请假调课信息:任课教师可以在线请假,得到批准后需要调课可共享模块通告调课信息,方便同学查询。3·辅导员用户需求描述A)审批学生请假:辅导员可定时登陆该系统,查看并在线审批学生的请假信息。B)管理学生出勤:管理学生出勤情况,并对缺勤比较严重的学生予以警告或施以相应惩罚,并及时统计学生出勤率,以便院系领导的审核。C)管理学生基本信息:查看各班学生基本信息是否有误,及时提醒或修正学生基本信息。4·院系领导用户需求A)审批本院系请假:当有任课教师(主要)或者学生申请在线请假时,系统提示院系领导有待审批的请假信息。对任课教师的请假信息进行审批、回复。B)查看学生出勤率:可以查看本院系所有学生在本学期所有修习课程的出勤信息以及详细信息(比如请假时间、原因)。C)管理教师考勤:包括出勤管理、请假管理,对教师日常主要考勤情况的记录管理。D)查看任课教师的信息:查看本系所有年级的学生的基本信息、修改用户密码。5·系统管理员的用户需求A)系统更新及维护:拥有本系统的最高权限,负责所有数据的动态同步更新以及备份、系统维护。B)负责信息录入及删除:针对全校各个院系、年级、专业、班级的动态更新(每一届的新添加的班级以及删除毕业的班级以及修改班级的信息)C)安排系统中排课:针对每个学期每个院系、年级、专业、班级的课程安排和任课老师D)管理所有用户:系统的请假信息、考勤信息,包括出勤管理,请假管理。他们可以实现对学生日常主要考勤情况的记录管理。管理用户对象1.2.3.4.5的基本信息2.4系统功能模块根据系统用户的需求,将本系统按功能划分成四大功能模块:请假系统、考勤系统、教师调课安排,后台管理模块。详述如下:34 1.请假系统模块:本模块的功能是在线请假的实现及管理,主要涉及四大类用户:学生、辅导员老师用户,任课教师和院系领导,学生和教师可通过此功能模块进行在线请假及查看请假记录信息;辅导员和院系领导在线审批学生请假及查看请假记录信息。2.考勤系统模块:本模块的功能是学生考勤信息统计的实现、查看及管理,涉及五大类用户中的所有用户。学生在线查看自己所有学年的出勤信息;任课老师在线管理学生出勤信息查看自己的请假记录,还可通知调课信息;辅导员、院系领导、学校领导查看不同的范围的学生出勤信息。3.调课系统模块:本模块功能是当教师因事需请假时,要通知每位同学补课信息,涉及两大用户使用。教师或通知补课消息,学生查看补课消息。4.后台管理模块:本模块的功能实现整个系统数据的同步更新及维护,只涉及系统管理员用户。系统管理员动态的管理学生信息、课表安排、学年安排等信息,是整个系统实现的基础。系统功能结构图如下系统功能结构图34 2.5数据字典数据词典,既用于描述数据流和数据存储的详细逻辑内容,也可用于描述外部项和处理逻辑的某些数据特性。下面是对该系统的详细描述:1.请假系统:学生和教师用户通过此功能进行在线请假及查看请假记录信息;辅导员和院系领导分别在线审批学生和老师请假及查看请假记录信息;请假系统数据流图2.考勤系统:学生考勤信息统计的实现、查看及管理,涉及三大类用户中的所有用户。学生在线查看自己所有学年的出勤信息;任课老师在线管理学生出勤信息;辅导员、院系领导、学校领导查看不同的范围的学生出勤信息考勤系统数据流图3.调课系统:调课系统主要满足两大用户需要,即学生查看调课内容,教师发布调课内容。院系领导和院系领导可查看调课信息。调课系统数据流图4.后台管理:实现整个系统数据的同步更新及维护,只涉及系统管理员用户。系统管理员动态的管理学生信息、课表安排、学年安排等信息,是整个系统实现的基础。34 考勤系统流程图第三部分:概念设计3.1实体之间的联系该高校考勤数据库管理系统主要用于记录学生考勤信息,也有部分扩展功能,可用于学生查询自己的考勤信息,教师发布调课信息,学生查询调课信息,34 辅导员与学生的线上交流等。其主要涉及到的实体大概包括:院系、院系领导、辅导员、教师、学生、课程、学生考勤信息、教师考勤信息、调课信息等。以下是这些实体之间的具体联系:1.一个院系里有多个院系领导,一个院系领导只属于一个院系2.一个院系领导管理多个辅导员,一个辅导员被多个院系领导管理3.一个院系领导可以审批多个教师请假,一个教师也可以向多个院系领导请假。4.一个辅导员可以管理多个学生,一个学生只能被一个辅导员管理。5.一个任课教师可以记录多个学生考勤信息,一个学生的考勤信息可被多个任课老师记录6.一个任课教师发布多条调课信息,一条调课信息只能被一个任课教师发布7.一个任课教师教授一门课程,一门课程可以被多个教师教授8.一个辅导员可以审批多个学生请假,一个学生只能向一个辅导员请假。3.2E-R图数据库E-R图第四部分:逻辑设计4.1关系模型的设计依据整个系统的实体可用以下联系描述(其中红色字体是主键,绿色字体为外键):1.院系(院系编号,院系名称)2.院系领导(领导编号,职称,姓名,性别,院系编号,联系方式)3.辅导员(辅导员编号,姓名,性别,联系方式,院系编号)4.任课教师(教师编号,教师姓名,性别,联系方式)5.学生(学号,姓名,性别,院系编号,辅导员编号,专业,班级,联系方式)6.课程(课程编号,课程名称,教师编号,上课时间,上课地点)34 7.教师请假信息(教师请假编号,教师编号,批假领导编号,请假时间,开始时间,截止时间)8.学生考勤信息(学号,教师编号,考勤类型,记录时间)9.学生请假信息(学生请假编号,学号,辅导员编号,请假理由,请假时间,开始时间,截止时间)10.调课信息(教师编号,批假领导编号,课程编号,补课时间,补课地点)4.2实体间联系转化的关系模式院系表字段名字段类型字段长度是主/外键约束条件院系编号char10主非空,格式为:00x院系名称char20非空院系领导表字段名字段类型字段长度是主/外键约束条件领导编号char10主非空,格式为:L00x职称char10非空姓名char10非空性别char2CHECK约束“男”或“女”院系编号char10外参照院系表联系方式char15非空,唯一辅导员表字段名字段类型字段长度是主/外键约束条件辅导员编号char10主非空,格式为:F000x姓名char10非空性别char2CHECK约束“男”或“女”院系编号char10外参照院系表联系方式char15非空,唯一任课教师表字段名字段类型字段长度是主/外键约束条件教师编号char10主非空,格式为:J000x教师姓名char10非空性别char2CHECK约束“男”或“女”联系方式char15非空,唯一课程表字段名字段类型字段长度是主/外键约束条件课程编号char10主非空,格式为:K000x34 课程名称char20非空教师编号char10外参照任课教师表上课时间char50非空上课地点char30非空学生表字段名字段类型字段长度是主/外键约束条件学号char10主非空,格式为x姓名char10非空性别char2CHECK约束“男”或“女”院系编号char10外参照院系表,格式为00x辅导员编号char10外参照辅导员表专业char30非空班级char5非空联系方式char15非空学生考勤信息表字段名字段类型字段长度是主/外键约束条件学号char10主外参照学生表记录教师编号char10外参照任课教师表考勤类型char10非空记录时间datetime非空学生请假信息表字段名字段类型字段长度是主/外键约束条件学生请假编号char10主唯一,格式:XQJ0000x学号char10外参照学生表批假导员编号char10外参照辅导员表请假理由text非空请假时间datetime非空开始时间datetime非空截止时间datetime非空教师请假信息表字段名字段类型字段长度是主/外键约束条件教师请假编号char10主格式:JQJ000x教师编号char10外参照任课教师表批假领导编号char10外参照院系领导表请假时间datetime非空开始时间datetime非空截止时间datetime非空调课信息表34 字段名字段类型字段长度是主/外键约束条件教师请假编号char10主外参照教师请假信息表课程编号char10外参照课程表补课时间datetime非空补课地点char80非空4.2在SQLserver2008中的实现一)建数据库CREATEDATABASEUniversity_Checking_in二)建表USEUniversity_Checking_inGOCREATETABLEDepartment(D_Nochar(10)NOTNULLCONSTRAINTPK_DpmtPRIMARYKEY,D_Namechar(20)NOTNULL);USEUniversity_Checking_inGOCREATETABLELeader(L_Nochar(10)NOTNULL,L_Namechar(10)NOTNULL,L_Sexchar(2)CONSTRAINTCK_L_SexCHECK(L_SexIN("男","女")),L_Positionchar(10)NOTNULL,L_Telchar(15)NOTNULLCONSTRAINTUQ_Ld_TelUNIQUE,D_Nochar(10)NOTNULL,CONSTRAINTPK_LeaderPRIMARYKEY(L_No),CONSTRAINTFK_Ld_DpmtFOREIGNKEY(D_No)REFERENCESDepartment(D_No)ONUPDATECASCADEONDELETECASCADE);34 USEUniversity_Checking_inGOCREATETABLECounsellor(C_Nochar(10)NOTNULL,C_Namechar(10)NOTNULL,C_Sexchar(2)CONSTRAINTCK_C_SexCHECK(C_SexIN("男","女")),C_Telchar(15)NOTNULLCONSTRAINTUQ_Csl_TelUNIQUE,D_Nochar(10)NOTNULL,CONSTRAINTPK_CslPRIMARYKEY(C_No),CONSTRAINTFK_Csl_DpmtFOREIGNKEY(D_No)REFERENCESDepartment(D_No)ONUPDATECASCADEONDELETECASCADE);USEUniversity_Checking_inGOCREATETABLETeacher(T_Nochar(10)NOTNULL,T_Namechar(10)NOTNULL,T_Sexchar(2)CONSTRAINTCK_T_SexCHECK(T_SexIN("男","女")),T_Telchar(15)NOTNULLCONSTRAINTUQ_TchUNIQUE,34 CONSTRAINTPK_TeacherPRIMARYKEY(T_No));USEUniversity_Checking_inGOCREATETABLECourse(C_Nochar(10)NOTNULLCONSTRAINTPK_CoursePRIMARYKEY,C_Namechar(20)NOTNULL,T_NOchar(10)NOTNULL,TakeTimechar(100)NOTNULL,TakePlacechar(100)NOTNULL,CONSTRAINTFK_Cs_TchFOREIGNKEY(T_No)REFERENCESTeacher(T_No));USEUniversity_Checking_inGOCREATETABLEStudent(S_NOchar(10)NOTNULLCONSTRAINTPK_StudentPRIMARYKEY,S_Namechar(10)NOTNULL,S_Sexchar(2)CONSTRAINTCK_S_SexCHECK(S_SexIN("男","女")),D_Nochar(10)NOTNULL,C_Nochar(10),S_Majorchar(30)NOTNULL,S_Classchar(5),S_Telchar(15)NOTNULLCONSTRAINTUQ_StuUNIQUE,CONSTRAINTFK_Stu_CslFOREIGNKEY(C_No)REFERENCESCounsellor(C_No)ONUPDATECASCADEONDELETESETNULL,CONSTRAINTFK_Stu_DpmtFOREIGNKEY(D_No)REFERENCESDepartment(D_No));34 USEUniversity_Checking_inGOCREATETABLEStu_Checking_In(S_Nochar(10)NOTNULL,T_NOchar(10)NOTNULL,CI_Typechar(10)NOTNULL,RecordTimedatetimeNOTNULL,CONSTRAINTPK_StuCheckInPRIMARYKEY(S_No,T_No),CONSTRAINTFK_StuCheIn_StuFOREIGNKEY(S_No)REFERENCESStudent(S_No)ONDELETECASCADEONUPDATECASCADE,CONSTRAINTFK_StuCheIn_TchFOREIGNKEY(T_No)REFERENCESTeacher(T_No)ONDELETECASCADEONUPDATECASCADE);USEUniversity_Checking_in34 GOCREATETABLEStu_Take_Off(STO_Nochar(10)CONSTRAINTPK_StuTakeOffPRIMARYKEY,S_Nochar(10)NOTNULL,C_Nochar(10)NOTNULL,TakeOffReasontextNOTNULL,TakeOffTimedatetimeNOTNULL,StartTimedatetimeNOTNULL,EndTimedatetimeNOTNULL,CONSTRAINTFK_StuTakeOff_StuFOREIGNKEY(S_No)REFERENCESStudent(S_No)ONDELETECASCADEONUPDATECASCADE,CONSTRAINTFK_STakeOff_CslFOREIGNKEY(C_No)REFERENCESCounsellor(C_No));USEUniversity_Checking_inGOCREATETABLETch_Take_Off(TTO_Nochar(10)CONSTRAINTPK_TchTakeOffPRIMARYKEY,T_Nochar(10)NOTNULL,L_Nochar(10)NOTNULL,TakeOffTimedatetimeNOTNULL,StartTimedatetimeNOTNULL,EndTimedatetimeNOTNULL,CONSTRAINTFK_TchTakeOff_TchFOREIGNKEY(T_No)REFERENCESTeacher(T_No)ONDELETECASCADEONUPDATECASCADE,CONSTRAINTFK_TchTakeOff_LdFOREIGNKEY(L_No)REFERENCESLeader(L_No)ONDELETECASCADEONUPDATECASCADE);34 USEUniversity_Checking_inGOCREATETABLEChange_Course(TTO_Nochar(10)NOTNULLCONSTRAINTPK_Chg_CoursePRIMARYKEY,C_Nochar(10)NOTNULL,SupplementTimedatetimeNOTNULL,SupplementPlacechar(80)NOTNULL,CONSTRAINTFK_Change_TTOffFOREIGNKEY(TTO_No)REFERENCESTch_Take_Off(TTO_No)ONDELETECASCADEONUPDATECASCADE,CONSTRAINTFK_Change_CourseFOREIGNKEY(C_No)REFERENCESCourse(C_No)ONDELETECASCADEONUPDATECASCADE);三)插入数据USEUniversity_Checking_inGOINSERTINTODepartment(D_No,D_Name)VALUES("001","文学院"),("002","数学院"),("003","外语学院"),("004","物理与电子学院"),34 ("005","化工学院"),("006","生命科学学院"),("007","医学院"),("008","信息工程学院");SELECT*FROMDepartmentUSEUniversity_Checking_inGOINSERTINTOLeader(L_No,L_Name,L_Sex,L_Position,L_Tel,D_No)VALUES("L001","张兴","男","院长","","001"),("L002","范新华","女","院长","","003"),("L003","马里奥","男","副院长","","003"),("L004","陈晓峰","男","院长","","006"),("L005","皇甫尚军","男","主任","","006"),("L006","韩瑞明","男","副院长","","007"),("L007","王敏","女","主任","","007"),("L008","李在新","男","院长","","008"),("L009","张晓","女","副院长","","008"),("L010","常明","男","主任","","008");SELECT*FROMLeader34 USEUniversity_Checking_inGOINSERTINTOCounsellor(C_No,C_Name,C_Sex,C_Tel,D_No)VALUES("F0001","陈锋","男","","001"),("F0002","马丽","女","","001"),("F0003","常明","男","","002"),("F0004","何南","男","","003"),("F0005","卓越","男","","004"),("F0006","金凤","女","","004"),("F0007","马飞","男","","005"),("F0008","钱佳颖","女","","007"),("F0009","胡闯","男","","008"),("F0010","周斌","男","","008"),("F0011","陆萍","女","","008"),("F0012","王凯","男","","003"),("F0013","王志文","男","","006");SELECT*FROMCounsellor34 USEUniversity_Checking_inGOINSERTINTOTeacher(T_No,T_Name,T_Sex,T_Tel)VALUES("J0001","刘洋","男",""),("J0002","刘颖","女",""),("J0003","常明礼","男",""),("J0004","何书桓","男",""),("J0005","马志伟","女",""),("J0006","吴昕","女",""),("J0007","袁斌","男",""),("J0008","会喜梅","女",""),("J0009","卢娟","女",""),("J0010","王楠","女","");SELECT*FROMTeacher34 USEUniversity_Checking_inGOINSERTINTOCourse(C_No,C_Name,T_NO,TakeTime,TakePlace)VALUES("K0001","大学语文","J0001","周一~2节,周二~4节,周五~8节","周一综合楼,周二综合楼,周三综合楼"),("K0002","高等数学","J0002","周一~2节,周三~4节,周五~2节","周一综合楼,周二综合楼,周三综合楼"),("K0003","高等数学","J0003","周一~6节,周三~4节,周五~4节","周一综合楼,周二综合楼,周三综合楼"),("K0004","英语视听说","J0004","周一~8节","周一综合楼"),("K0005","英语读写译","J0005","周二~4节","周二综合楼"),("K0006","医学病理","J0006","周二~2节,周二~4节,周五~2节","周二综合楼,周三综合楼"),("K0007","计算机科学导论","J0007","周三~9节","周三综合楼"),("K0008","计算机科学导论","J0008","周二~9节","周二综合楼"),("K0009","软件工程","J0009","周一~2节,周二~4节","周一综合楼,周二综合楼"),("K0010","Java基础设计语言","J0010","周二~10节,周四~2节","周二计算机大楼,周四计算机大楼"),("K0011","Java基础设计语言","J0010","周二~4节,周五~4节","周二计算机大楼,周五计算机大楼"),("K0012","数据库系统概论","J0009","周二~8节,周三~8节,周四~4节","周二综合楼,周三计算机大楼,周四综合楼");SELECT*FROMCourse34 USEUniversity_Checking_inGOINSERTINTOStudent(S_NO,S_Name,S_Sex,D_No,C_No,S_Major,S_Class,S_Tel)VALUES("","林海龙","男","001","F0001","中国语言学","01",""),("","卓依婷","女","001","F0002","新闻学","01",""),("","崔体亭","男","001","F0001","汉语言文字学","02",""),("","杨明","男","002","F0003","数学与应用数学","03",""),("","段雪莹","女","003","F0012","英语","01",""),("","苗依依","女","003","F0004","俄语","02",""),("","姜康","男","003","F0004","日语","03",""),("","车晓","女","004","F0006","物理学","02",""),("","蒋丽丽","女","005","F0007","冶金工程","01",""),("","杨凯","女","006","F0013","生物工程","02",""),("","韩熙","女","007","F0008","临床医学","03",""),("","曹数","女","007","F0008","口腔医学","01",""),("","王兵","男","008","F0009","通信工程","03",""),("","刘宁","男","008","F0010","计算机科学与技术","02",""),("","李欣","女","008","F0011","软件工程","01","");SELECT*FROMStudent34 USEUniversity_Checking_inGOINSERTINTOStu_Checking_In(S_No,T_NO,CI_Type,RecordTime)VALUES("","J0001","迟到","2016-05-0608:20:00"),("","J0006","早退","2016-05-0709:50:00"),("","J0005","迟到","2016-05-1510:20:00"),("","J0003","迟到","2016-05-1715:30:00"),("","J0008","旷课","2016-05-1708:10:00");SELECT*FROMStu_Checking_In34 USEUniversity_Checking_inGOINSERTINTOStu_Take_Off(STO_No,S_No,C_No,TakeOffReason,TakeOffTime,StartTime,EndTime)VALUES("XQJ00001","","F0001","回家帮忙","2015-11-0608:20:00","2015-11-0608:20:00","2015-11-0918:00:00"),("XQJ00002","","F0001","生病住院","2016-04-1409:50:00","2016-04-1312:20:00","2016-04-2318:00:00"),("XQJ00003","","F0004","肚子不舒服","2015-10-2510:20:00","2015-10-2508:20:00","2015-10-0708:00:00"),("XQJ00004","","F0006","回家结婚","2016-04-2813:30:00","2016-04-3008:00:00","2016-05-0418:00:00"),("XQJ00005","","F0002","参加比赛","2016-05-1408:00:00","2016-05-1408:00:00","2016-05-1718:00:00"),("XQJ00006","","F0004","参加比赛","2016-04-2508:20:00","2016-04-2508:00:00","2016-04-2618:00:00"),("XQJ00007","","F0006","外援考察","2016-04-0313:00:00","2016-04-0314:20:00","2016-04-0818:00:00"),("XQJ00008","","F0007","回家订婚","2016-04-2910:00:00","2016-04-2908:00:00","2016-05-0318:00:00");SELECT*FROMStu_Take_OffUSEUniversity_Checking_in34 GOINSERTINTOTch_Take_Off(TTO_No,T_No,L_No,TakeOffTime,StartTime,EndTime)VALUES("JQJ0001","J0001","L001","2015-11-0608:20:00","2015-11-0608:20:00","2015-11-0918:00:00"),("JQJ0002","J0001","L001","2016-04-1409:50:00","2016-04-1312:20:00","2016-04-2318:00:00"),("JQJ0003","J0006","L006","2015-10-2510:20:00","2015-10-2508:20:00","2015-10-0708:00:00"),("JQJ0004","J0006","L007","2016-04-2813:30:00","2016-04-3008:00:00","2016-05-0418:00:00"),("JQJ0005","J0006","L006","2016-05-1408:00:00","2016-05-1408:00:00","2016-05-1718:00:00"),("JQJ0006","J0008","L008","2016-04-2508:20:00","2016-04-2508:00:00","2016-04-2618:00:00"),("JQJ0007","J0009","L009","2016-04-0313:00:00","2016-04-0314:20:00","2016-04-0818:00:00"),("JQJ0008","J0010","L010","2016-04-2910:00:00","2016-04-2908:00:00","2016-05-0318:00:00");SELECT*FROMTch_Take_OffUSEUniversity_Checking_inGOINSERTINTOChange_Course(TTO_No,C_No,SupplementTime,SupplementPlace)VALUES("JQJ0001","K0001","2015-11-1008:00:00","综合楼"),("JQJ0003","K0006","2015-10-1010:00:00","综合楼"),("JQJ0006","K0008","2016-04-2810:00:00","综合楼"),("JQJ0007","K0009","2016-04-0908:00:00","综合楼"),("JQJ0008","K0010","2016-05-0319:30:00","计算机大楼"),("JQJ0002","K0001","2016-04-2319:30:00","综合楼"),("JQJ0004","K0006","2016-05-0515:00:00","综合楼"),("JQJ0005","K0006","2016-05-1814:30:00","综合楼");SELECT*FROMChange_Course34 四)建角色和用户1.首先创建角色USEUniversity_Checking_inGOCREATEROLESystemManager--创建系统管理员角色CREATEROLELeader--创建领导角色CREATEROLECounsellor--创建辅导员角色CREATEROLETeacher--创建任课教师角色CREATEROLEStudent--创建学生角色2.给各个角色授权USEUniversity_Checking_inGO--向系统管理员角色赋予权限GRANTINSERT,SELECT,UPDATE,DELETEONDepartmentTOSystemManager;GRANTINSERT,SELECT,UPDATE,DELETEONLeaderTOSystemManager;GRANTINSERT,SELECT,UPDATE,DELETEONCounsellorTOSystemManager;GRANTINSERT,SELECT,UPDATE,DELETEONTeacherTOSystemManager;34 GRANTINSERT,SELECT,UPDATE,DELETEONStudentTOSystemManager;GRANTINSERT,SELECT,UPDATE,DELETEONCourseTOSystemManager;GRANTINSERT,SELECT,UPDATE,DELETEONTch_Take_OffTOSystemManager;GRANTINSERT,SELECT,UPDATE,DELETEONStu_Take_OffTOSystemManager;GRANTINSERT,SELECT,UPDATE,DELETEONStu_Checking_InTOSystemManager;GRANTINSERT,SELECT,UPDATE,DELETEONChange_CourseTOSystemManager;USEUniversity_Checking_inGO--给院系领导(Leader)角色赋予权限GRANTINSERT,SELECT,UPDATE,DELETEONLeaderTOLeader;GRANTINSERT,SELECT,UPDATE,DELETEONCounsellorTOLeader;GRANTINSERT,SELECT,UPDATE,DELETEONTeacherTOLeader;GRANTINSERT,SELECT,UPDATE,DELETEONTch_Take_OffTOLeader;USEUniversity_Checking_inGO--给辅导员(Counsellor)角色设置权限GRANTINSERT,SELECT,UPDATE,DELETEONCounsellorTOCounsellor;GRANTINSERT,SELECT,UPDATE,DELETEONStudentTOCounsellor;GRANTINSERT,SELECT,UPDATE,DELETEONStu_Take_OffTOCounsellor;GRANTINSERT,SELECT,UPDATE,DELETEONStu_Take_OffTOCounsellor;34 USEUniversity_Checking_inGO--给教师(Teacher)角色设置权限GRANTINSERT,SELECT,UPDATE,DELETEONTeacherTOTeacher;GRANTINSERT,SELECT,UPDATE,DELETEONStudentTOTeacher;GRANTINSERT,SELECT,UPDATE,DELETEONStu_Checking_InTOTeacher;GRANTINSERT,SELECT,UPDATE,DELETEONChange_CourseTOTeacher;GRANTINSERT,SELECTONTch_Take_OffTOTeacher;GRANTSELECTONCourseTOTeacher;USEUniversity_Checking_inGO--给学生(Student)角色设置权限GRANTINSERT,SELECT,UPDATE,DELETEONStudentTOStudent;GRANTSELECTONStu_Checking_InTOStudent;GRANTSELECTONStu_Take_OffTOStudent;GRANTSELECTONChange_CourseTOStudent;GRANTSELECTONTch_Take_OffTOStudent;GRANTSELECTONTeacherTOStudent;GRANTSELECTONCounsellorTOStudent;GRANTSELECTONCourseTOStudent;34 1.创建用户并给各用户授权由于用户太多,过于复杂,所以在此只建立个别用户,其他用户,同一等级,需求和权限大致相同。下面我们以之前建立的一个编号为008的信息工程学院为例,具体如下:--创建用户:--登录名:姓名--密码:本人编号/学号--创建系统管理员用户CREATELOGINLog001withpassword="",DEFAULT_DATABASE=University_Checking_in;CREATELOGINLog002withpassword="",DEFAULT_DATABASE=University_Checking_in;CREATELOGINLog003withpassword="",DEFAULT_DATABASE=University_Checking_in;--创建院系领导(Leader)用户CREATELOGIN李在新withpassword="L008",DEFAULT_DATABASE=University_Checking_in;CREATELOGIN张晓withpassword="L009",DEFAULT_DATABASE=University_Checking_in;CREATELOGIN陈明withpassword="L010",DEFAULT_DATABASE=University_Checking_in;--创建辅导员(Councellor)用户CREATELOGIN胡闯withpassword="F0009",DEFAULT_DATABASE=University_Checking_in;CREATELOGIN周斌withpassword="F0010",DEFAULT_DATABASE=University_Checking_in;CREATELOGIN陆萍withpassword="F0011",DEFAULT_DATABASE=University_Checking_in;--创建任课教师(Teacher)用户CREATELOGIN袁斌withpassword="J0007",DEFAULT_DATABASE=University_Checking_in;CREATELOGIN会喜梅withpassword="J0008",DEFAULT_DATABASE=University_Checking_in;CREATELOGIN卢娟withpassword="J0009",DEFAULT_DATABASE=University_Checking_in;CREATELOGIN王楠withpassword="J0010",DEFAULT_DATABASE=University_Checking_in;--创建学生(Student)用户CREATELOGIN王兵withpassword="",DEFAULT_DATABASE=University_Checking_in;CREATELOGIN刘宁withpassword="",DEFAULT_DATABASE=University_Checking_in;CREATELOGIN李欣withpassword="",DEFAULT_DATABASE=University_Checking_in;34 1.给用户授权USEUniversity_Checking_inGOCREATEUSERManager1FORLOGINLog001;CREATEUSERManager2FORLOGINLog002;CREATEUSERManager3FORLOGINLog003;CREATEUSER李在新FORLOGIN李在新;CREATEUSER张晓FORLOGIN张晓;CREATEUSER陈明FORLOGIN陈明;CREATEUSER胡闯FORLOGIN胡闯;CREATEUSER周斌FORLOGIN周斌;CREATEUSER陆萍FORLOGIN陆萍;CREATEUSER袁斌FORLOGIN袁斌;CREATEUSER会喜梅FORLOGIN会喜梅;CREATEUSER卢娟FORLOGIN卢娟;CREATEUSER王楠FORLOGIN王楠;CREATEUSER王兵FORLOGIN王兵;CREATEUSER刘宁FORLOGIN刘宁;CREATEUSER李欣FORLOGIN李欣;34 将每个用户定义为对应数据库角色的成员EXECsp_addrolemember"SystemManager","Manager1";EXECsp_addrolemember"SystemManager","Manager2";EXECsp_addrolemember"SystemManager","Manager3";EXECsp_addrolemember"Leader","李在新";EXECsp_addrolemember"Leader","张晓";EXECsp_addrolemember"Leader","陈明";EXECsp_addrolemember"Counsellor","胡闯";EXECsp_addrolemember"Counsellor","周斌";EXECsp_addrolemember"Counsellor","陆萍";EXECsp_addrolemember"Teacher","袁斌";EXECsp_addrolemember"Teacher","会喜梅";EXECsp_addrolemember"Teacher","卢娟";EXECsp_addrolemember"Teacher","王楠";EXECsp_addrolemember"Student","王兵";EXECsp_addrolemember"Student","刘宁";EXECsp_addrolemember"Student","李欣";34 第五部分:总结学号姓名总结评分开发此系统的过程中,通过团队合作和一些参考文献帮助下才完成,发现自己还有诸多的不足之处。要编一个功能完善的系统,绝不是一件简单的事情,这需要长期的实践经验积累。由于自身的局限,经验不足,第一次开发这样的系统,我们做的有诸多不足之处,但是能做到这样我已经觉得很不错了,毕竟我们组员都是第一次做这样的系统,至少我们付出了努力。一分耕耘一分收获,我们此次能认识到自己的不足,相信在今后的学习中,我们一定会更上一层楼,越做越好。通过这次数据库设计,我认识到自己在数据库这门课的学习过程中还有许多的不足之处。我这次积极参与了数据库实验的整个过程,从34 需求分析到概念结构的设计,从讨论逻辑结构的讨论,到物理结构的合理化,最后的数据库实施以及E-R图的画制,从中学到了很多,因此也有很多的感悟。大多数情况下我只是会做这个东西,并不能表达出来!对于有些概念性的问题意识很模糊,只能写出来,却不能完整地说出其中的意义,这直接影响了我这次实验成绩的好坏。对于以后的我们也很不利。我觉得实际操作或许还不是太成熟,但是在实践的同时不能忽略课本上的理论知识,应当让它们齐头并进,我也会多回归课本,打好理论基础,争取能够“说得出,做得到”在这个高校考勤管理系统数据库的整体设计中,每个环节的设计,先拿出一个大概,然后对其完补充完善,比如在设计需求分析的时候,针对每一个用户的每一个需求都要详细的罗列出来在设计E-R图的时候,明确了哪些是实体以及实体之间的联系和每个实体所具有的属性之后。将实体之间的关系转换为关系模式的时候要明确哪些可以合并,哪些既可以合并又可以不合并,总共设计了十张表。在SQLServer中进行代码实现,之后就熟练得掌握了创建用户以及为用户授权的操作。总的来说,通过一个数据库系统的设计实验,我除了将以前的知识巩固了,更明白了团队的重要性。通过此系统的设计我真切了解到团队合作的重要性,首先了解和分析用户的需求,再通过概念结构设计对需求进行综合归纳,找出实体和实体之间的联系并画出ER图,根据ER图设计和逻辑转换后设计数据库所需要的表,表依照实体完整性,参照完整性,用户自定义完整性的规则,之后创建用户以及为用户授权的操作,所以,在这个数据库设计实验当中不仅学习和巩固了我的学业知识,也学习到了团队合作的真实价值和意义。总体效果评价:自从老师发下来模板之后,我才看懂要做什么,该怎么做,后来自己想定了一个题目“高校考勤数据库管理系统”(本系统)后,模仿着老师的模板,边请教同学,边求助百度或课本,慢慢的试着做了下来,虽然我们这一个小组做的有点简单,但是由于都是新手,我们确实付出了很多努力,皇天不负有心人,结果感觉还不错,希望老师能看到我们的努力。虽然此系统一定程度上方便了教师考勤,也给同学们请假提供了方便,但是仍然存在一些问题。在应用上,例如:在现实生活中不是每位同学都能很方便的使用到电脑,对那些计算机使用较少的专业学生依然请假存在困难,不透明性依然存在,有些同学以各种理由来请假,然而辅导员只是从书面上了解情况,如若同意会对一些同学正好提供了旷课机会,这与本质要求是矛盾的。辅34 导员和领导要及时登录应用系统,产看请假申请情况等。在系统上,本系统主要侧重于学生的考勤记录和管理。这些弊端都是存在的。在以后的学习中我们会更加努力的学习数据库的设计和应用,扩展我们的知识能够更具体的来完成本系统。但有一些弊端不是知识可以解决的,例如请假者所写的请假原因与自身是否相符,这需要更多监督系统来实现,也需要学校的管理制度等。34