版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
《数据库理与应》实验指导与报告2010/2011
学年
第2学期班
姓学级:
名:号:09媒(1)班指导教师目实验八数据设计.........................................................................................................................1一、概设.........................................................................................................................11.1目的和义..............................................................................................................11.2内容和求..............................................................................................................1二、需分.........................................................................................................................22.1背景...........................................................................................................................22.2概要分..................................................................................................................22.3开发技..................................................................................................................22.4系统主功能..........................................................................................................3三、E-R图..............................................................................................................................43.1概设.3.2图.........................................................................................................................4四、逻结.........................................................................................................................64.1逻辑转..................................................................................................................64.2细化表构..............................................................................................................6五、数库实施.5.1创建表.......................................................................................................................95.2创建必视图5.3创建必触发器.....................................................................................................115.4创建必存储过程.................................................................................................13六、总参考文献实验八数据库设计一、要设计1.1目的和意义随着无纸化办公的普遍实现息的自动处理以及网络式的信息交互方式已经被人们广泛应用计算机来管理学生的信息是现在各个高校都在积极进行的工作之一也是高校教学管理工作的重要内容之一网上选课与传统的选课方式相比更加节约资源,增加了学生选课自主权。学生选课系统作为一种现代化的教学技术越来越受到人们的重视是一个学校不可或缺的部分,学生选课系统就是为了管理好选课信息而设计的。学生选课系统的将使选课管理工作规范化、系统化、程序化,避免选课管理的随意性,提高信息处理的速度和准确性,能够准确、及时效的查询和修改学生选课情况。与传统的选课方式相比上选课系统利用局域网为学生选课带来了极大的便捷学生在公共机房,或者宿舍的个人电脑上便可以通过校园网络来选课。在选课期间内学生能够使用选课系统灵活的修改自己的选课情况大大提高了学校选课工作的效率务处的教师则可以通过选课系统的管理员子系统来管理学生的选课情况使得学生选课工作达到系统化和自动化大大提高了学校的工作效率,为广大师生及相关人员节省了极多的时间。数据库对于一个应用系统的意义是相当重要的,一个设计良好的数据库系统一方面,能够给开发者带来便捷,更轻松的进行系统设计与编码;另一方面,对于系统的后期维护也非常重要,一个良好的数据库系统能够保证系统的可扩充性,以及系统的移植性等问题。1.2内容和要求本实验将设计出一个高校网上选课数据库系统,其要求简要如下:(1)系统用户由三类组成:教师、学生和管理员。1(2)管理员负责的主要功能:用户管理(老师、学生及管理员的增、删、改课程管理(添加、删除和修改选课管理(实现选课功能开放和禁止、老师成绩输入开放和禁止(3)学生通过登录,可以查询课程的基本信息、实现选课、退课和成绩查询;
老师通过登录,可以查看选课学生的基本信息,可以输入成绩。二、求分析2.1背景全校性选修课开设的目的在于扩大学生的知识面加强学生素质教育培养复合型高级人才具有不可替代的重要性随着教育改革的不断深入和素质教育的加强,学分制的实施,选修课在一个学生的培养计划中占的比重将越来越大。网上选课系统的出现使同学们能够更加自主捷准确的进行选课是,由于一般高校中的学生都比较多因此带来了诸多如信息管理等问题鉴于需要将学生信息选课信息等信息数字化以便于管理维护我们便想到了利用数据库能够比较良好地解决此类问题,由此下面我将设计出一个高校选课系统以供参考。2.2概要分析根据1.2节中所描述的系统分析要求,我们的高校选课系统将包含学生、教师、管理员等实体,学生可以在规定的时间内选课、退选和成绩查询等操作;教师可以查看学生的相关信息,录入学生成绩等操作;管理员可以添加管理员理教师、学生等信息。2.3开发技术开发工:MicrosoftSQLServer2000开发语:SQL开发技数据库开发技术2面向对需求者SQL2000是Microsoft公司推出的SQLServer数据库管理系统版本继承了SQLServer7.0版本的优点,同时又比它增加了许多更先进的功能。具有使用方便可伸缩性好与相关软件集成程度高等优点越从运行Microsoft98的膝上型电脑到运行MicrosoftWindows的大型多处理器的服务器等多种平台使用。本实验中最终将使用SQLServer2000数据库管理系统将我们设计的数据库实现。2.4系统主要功能实验选课系统分为教师生及系统管理员三类用户生的功能包括选课、退选、查询选课信息等,教师的功能包括学生成绩录入,查询实验信息等。管理员的功能包括新建教师、学生账户,添加课程信息,其系统功能模块如图:选课退选学生查询课信查询绩信查询程信高校课系
教师管理图2-1系功能模块3
查询生选信息录入生成用户理课程理选课理三、E-R图本章节主要包含概念设计、图,以及如何将E-R图转换为实际的物理模型等内容。3.1概念设计在我们的数据库系统中共有6个实体:学生、教师、管理员、专业、院系、课程。
学生的属性:学号、姓名、性别、生日、密码教师的属性:工号、姓名、性别、生日、密码、职称管理员的属性:工号、姓名、性别、生日、密码、权限标志专业的属性:专业号码、专业名、辅导员、联系方式、专业介绍院系的属性:系号码、系名称、系主任、联系方式、系介绍课程的属性:课程号码、学时、学分、课程介绍控制设置属性:选课控制、成绩录入控制3.2E-R图各个实体的E-R图如下所示:学生学号
姓名
性别
生日
密码图学教师工号
姓名
性别
生日
密码
职称图教管理员工号
姓名
性别
生日
密码图3管员4专业专业号码
专业名
辅导员
联系方式
专业介绍图专系系号码
系名
系主任
联系方式
系介绍图5系课程课程号
课程名
学时
学分
课程介绍图课然后,将以上实体之间联系表示出来,画出数据库系统的图如图7所示:专业号码
系号码
系名
系主任
联系方式
系介绍专业名辅导员
专业
M
属于
系联系方式
专业介绍
属于
工号属于学号
M
工号
姓名
性别
M
姓名姓名性别
学生
M
管理
密码
管理员
生日
管理
M
教师M
性别密码密码
M
成绩
讲授
生日生日
管理
职称选课
N
M课程
课程号
课程名
学时
学分
课程介绍图数库统图5四、辑结构4.1逻辑转换根据3.2节中的E-R图可以将系统中的概念模型转换为具体的表(即关系)结构,共分为7个关系,详细信息如下所示:学生(学号、专业号码、姓名、性别、生日、密码)教师(教师工号、系号码、姓名、性别、生日、密码、职称)管理员(管理员工号、姓名、性别、生日、密码、权限标志)专业(专业号码、系号码、专业名、辅导员、联系方式、专业介绍)院系(系号码、系名称、系主任、联系方式、系介绍)课程(课程号码、学时、学分、课程介绍)选信(
学号、课程号码教师工号、绩)4.2细化表结构为方便,根据上述文字描述,用英文简写为表和列取名,确定列的数据类型及必要的约束规则,给出如下所示数据库表的基本结构及说明:(1)学生信息表列名StudentNumMajorNum
说明学号专业号码
数据类型char(10)char(10)
约束主码notnull,引用tb_major的外码StudentNameStudentSex
姓名性别
varchar(10)char(2)
Notnullnotnull“男”或“女”StudentBirthdayStudentPassword(2)教师信息表列名TeacherNum
生日密码说明教师工号
datetimevarchar(20)数据类型char(10)
notnullnotnull,约束主码6DeptNum
院系号码char(10)notnull,用tb_dept的外码TeacherNameTeacherSex
姓名性别
varchar(10)char(2)
notnullnotnull“男”或“女”TeacherBirthdayTeacherTitle
生日职称
datetimevarchar(20)
notnull(3)
管理员信息表列名ManagerNumManagerNameManagerSex
说明管理员工号姓名性别
数据类型char(10)varchar(10)char(2)
约束主码notnullnotnull“男”ManagerBirthday(4)专业信息表
生日
或“女”datetimenotnull列名MajorNumDeptNum
说明专业号码系号码
数据类型char(10)char(10)
约束主码notnull,引用tb_dept的外码MajorNameMajorAssistantMajorTel(5)院系信息表列名DeptNumDeptNameDeptChairmanDeptTelDeptDesc
专业名辅导员联系方式说明系号码系名称系主任联系方式系介绍
varchar(20)varchar(10)varchar(15)数据类型char(10)varchar(20)varchar(10)varchar(15)text
notnulnotnullnotnull约束主码notnullnotnullnotnullnotnull7(6)课程信息表列名CourseNumCourseNameCourseCreditCourseClassCourseDesc(7)选课信息表列名StuCourseIDStudentNum
说明课程号码课程名学分学时课程介绍说明选课编号学号
数据类型char(10)varchar(20)floatsmallinttext数据类型intchar(10)
约束主码notnullnotnullnotnullnotnull约束主码,自动递增notnull,引用CourseNumTeacherNumGrade
tb_student的外码课程号码char(10)notnull,用tb_course的外码教师工号char(10)notnull,用tb_student的外码成绩smallint(8)控制设置表列名IfTakeCourse
说明选课控制
数据类型char(1)
约束notnull,取“”IfInputGrade
或“1”成绩录入控制char(1)notnull,取“0”或“1”备注:选课和成绩录入功能的开放和禁止,为禁止,1为开放。五、据库实施本章节主要包含创建表添加数据和创建必要的视图触发器和存储过程等8内容。5.1创建表考虑到各个表之间的约束条件以及外键索引等要求,在创建表的时候应当按照一定的次序进行创建,否则会出现错误,还有一种方法是先创建各个基本表,然后在对特定的表添加列和外码约束,在本报告册中将采取第一种方法。(1)院系信息表CREATETABLEtb_dept(DeptNumchar(10)NOTNULLPRIMARYKEY,DeptNamevarchar(20)NOTNULL,DeptChairmanvarchar(10)NOTNULL,DeptTelvarchar(15)NOTNULL,DeptDesctextNOTNULL,)(2)tb_major业信息表CREATETABLEtb_major(MajorNumchar(10)NOTNULLPRIMARYKEY,DeptNumchar(10)NOTNULL,MajorNamevarchar(20)NOTNULL,MajorAssistantvarchar(10)NOTNULL,MajorTelvarchar(15)NOTNULL,FOREIGNKEY(DeptNum)REFERENCEStb_dept(DeptNum))(3)生信息表CREATETABLEtb_student(StudentNumchar(10)NOTNULLPRIMARYKEY,MajorNumchar(10)NOTNULL,StudentNamevarchar(10)NULL,StudentSexchar(2)NOTNULL,StudentBirthdaydatetimeNOTNULL,StudentPasswordvarchar(20)NOTNULL,FOREIGNKEY(MajorNum)REFERENCEStb_major(MajorNum))(4)tb_teacher师信息表CREATETABLEtb_teacher(TeacherNumchar(10)NOTNULLPRIMARYKEY,DeptNumchar(10)NOTNULL,TeacherNamevarchar(10)NOTNULL,TeacherSexchar(2)NOTNULL,9TeacherBirthdaydatetimeNOTNULL,TeacherTitlevarchar(20)NULL,FOREIGNKEY(DeptNum)REFERENCEStb_dept(DeptNum))(5)理员信息表CREATETABLEtb_manager(ManagerNumchar(10)NOTNULLPRIMARYKEY,ManagerNamevarchar(10)NOTNULL,ManagerSexchar(2)NOTNULL,ManagerBirthdatedatetimeNOTNULL,ManagerRightsintNOTNULL)(6)tb_course课程信息表CREATETABLEtb_course(CourseNumvarchar(10)NOTNULLKEY,CourseNamevarchar(20)NOTNULL,CourseCreditfloatNOTNULL,CourseClasssmallintNOTNULL,CourseDesctextNOTNULL,)(7)tb_stucourse学生选课信息表CREATETABLEtb_stucourse(StudentNumchar(10)NOTNULL,CourseNumchar(10)NOTNULL,TeacherNumchar(10)NOTNULL,GradesmallintNULL,FOREIGNKEY(StudentNum)REFERENCEStb_student(StudentNum),FOREIGNKEY(CourseNum)REFERENCEStb_Course(CourseNum),FOREIGNKEY(TeacherNum)REFERENCEStb_teacher(TeacherNum),)(8)tb_control控制设置表CREATETABLEtb_control(IfTakeCoursechar(1)NOTNULLcheck(IfTakeCoursein'0','1')),IfInputGradechar(1)NOTNULLcheck(IfInputGradein'0','1')),)5.2创建必要视图(1)
建立学生成绩视图
vi_grade
,从学生、老师、选课表中选Grade不为空的记录,其关键代码如下所示:CREATEVIEWvi_grade10ASSELECTtb_stucourse.StudentNum,StudentName,CourseName,CourseCredit,TeacherName,GradeFROMtb_stucourse,tb_student,tb_course,tb_teacherwheretb_stucourse.StudentNum=tb_student.StudentNumandtb_stucourse.TeacherNum=tb_teacher.TeacherNumtb_stucourse.CourseNum=tb_course.CourseNumGradeisnotnull(2)
建立专业学生信息视图vi_major,从学生、专业表中选择学生中的专业号码与专业表中专业号码相等的记录,其关键代码如下所示:CREATEVIEWvi_majorASSELECTtb_major.MajorName,StudentNum,StudentName,StudentSex,StudentBirthdayFROMtb_major,tb_studentWHEREtb_major.MajorNum=tb_student.MajorNum5.3创建必要触发(1)
建立学生添加院系触发器,当该表中已存在所对应院系号码的院系时,系统给与错误提示并回滚,其关键代码如下所示:CREATETRIGGERtri_adddeptONtb_deptFORINSERT,UPDATEASIF(SELECTCOUNT(*)FROMtb_dept,insertedWHEREtb_dept.DeptNum=inserted.DeptNum)>0BEGINPRINT'院系号码产生冲突,请对后重试'ROLLBACKEND(2)
建立学生添加专业触发器,当专业信息中的院系号不对或者该表中已存在所对应专业号码的专业时系统给与错误提示并回滚其关键代码如下所示:CREATETRIGGERtri_addmajorONtb_majorFORINSERT,UPDATEASIF(SELECTCOUNT(*)FROMtb_dept,insertedWHEREtb_dept.DeptNum=inserted.DeptNum)=0BEGINPRINT'未找到该专业的院系信,请添加相应院系后重试'11ROLLBACKENDELSEIF(SELECTCOUNT(*)FROMtb_major,insertedWHEREtb_major.MajorNum=inserted.MajorNum)>0BEGINPRINT'院系号码产生冲突,请对后重试'ROLLBACKEND(3)
建立添加学生触发器tri_addstudent,当学生信息中的专业号不对或者系统中已存在所对应学号的学生时系统给与错误提示并回滚其关键代码如下所示:CREATETRIGGERtri_addstudentONtb_studentFORINSERT,UPDATEASIF(SELECTCOUNT(*)FROMtb_major,insertedWHEREtb_major.MajorNum=inserted.MajorNum)=0BEGINPRINT'未找到该学生的专业信,请添加相应专业后重试'ROLLBACKENDELSEIF(SELECTCOUNT(*)FROMtb_student,insertedWHEREtb_student.StudentNum=inserted.StudentNum)>0BEGINPRINT'学号产生冲突,请核对重试'ROLLBACKEND(4)
建立学生选课触发器程选课人数超过40个或者对应学生选课门数超过5门或者当前时间不是选课时间段时,系统给与错误提示并回滚,其关键代码如下所示:CREATETRIGGERtri_takecourseONtb_stucourseFORINSERT,UPDATEASIF(SELECTCOUNT(*)FROMtb_stucourse,insertedWHEREtb_stucourse.CourseNum=inserted.CourseNum)>40BEGINPRINT'所对应课程选课人数不超40个!ROLLBACKENDELSEIF12(SELECTCOUNT(*)FROMtb_student,insertedWHEREtb_student.StudentNum=inserted.StudentNum)>5BEGINPRINT'对应学生的选课不能超5门'ROLLBACKENDELSEIF(SELECTIfTakeCourseFROMtb_control)='0'BEGINPRINT'当前不是选课时间段'ROLLBACKEND5.4创建必要存储程(1)
建立学生选课存储过程tri_takecourse,其作用为查询所有学生的选课记录,其关键代码如下所示:CREATEPROCproc_getcourse@StudentNumchar(10)OUT,@StudentNamechar(10)OUT,@CourseNamevarchar(20)OUT,@CourseCreditfloatOUT,@TeacherNamechar(10)OUTASSELECT@StudentNum=tb_student.StudentNum,@StudentName=tb_student.StudentName,@CourseName=tb_course.CourseName,@CourseCredit=tb_course.CourseCredit,@TeacherName=tb_teacher.TeacherNameFROMtb_stucourse,tb_course,tb_student,tb_teacherWHEREtb_stucourse.StudentNum=tb_student.StudentNumtb_stucourse.CourseNum=tb_course.CourseNumtb_stucourse.TeacherNum=tb_teacher.TeacherNum(2)
建立查询教师课程存储过程proc_teachercourse,其作用为查询指定教师所有课程的选课记录,其关键代码如下所示:CREATEPROCproc_teachercourse@TeacherNumchar(10),@StudentNumchar(10)OUT,@StudentNamechar(10)OUT,@CourseNamevarchar(20)OUT,@CourseCreditfloatOUT,@TeacherNamechar(10)OUT13AS(3)
SELECT@StudentNum=tb_student.StudentNum,@StudentName=tb_student.StudentName,@CourseName=tb_course.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年建筑施工安全监督合同
- 非专利技术转让合同模板
- 办公室租赁经营合同
- 2024年度企业租赁经营合同
- 2024货物赊欠买卖合同范文
- 2024年度军事训练装载机租赁合同
- 出口合作:肉禽类协议
- 导演与摄影师工作合同模板
- 成都市室内装修工程施工协议示范
- 2024山林流转合同范文
- 公司组织结构图Word模板
- 云上智农APP推广使用课件-参考
- 机器人-abb操作手册简易
- 菜品出品质量管理规定(3篇)
- 医疗质量管理与持续改进记录表
- 最新《辅酶q10》课件
- 西方医学史概要课件
- 2022年消防安全知识考试题库及答案
- 石化项目设备及管道防腐保温施工方案
- Unit 1 Food comments 课件-高中英语外研版(2019)必修第二册
- 国开成本会计第13章综合练习试题及答案
评论
0/150
提交评论