数据库课程设计报告参考示例
数据库设计示例实训报告

一、实训背景随着信息技术的飞速发展,数据库技术在各行各业中的应用越来越广泛。
为了提高我国数据库设计水平,培养具有实际操作能力的数据库设计人才,我国高校纷纷开设数据库设计课程。
本次实训旨在通过实际操作,让学生掌握数据库设计的基本原理、方法和技巧,提高学生的数据库设计能力。
二、实训目标1. 掌握数据库设计的基本原理和流程;2. 学会使用E-R图进行数据库概念结构设计;3. 熟练运用SQL语言进行数据库逻辑结构设计;4. 掌握数据库物理结构设计方法;5. 提高数据库设计实际操作能力。
三、实训内容1. 项目背景本次实训项目为某企业人力资源管理系统。
该系统主要功能包括员工信息管理、薪资管理、考勤管理、绩效管理等。
2. 需求分析通过对企业相关部门的调研,了解企业对人力资源管理系统需求如下:(1)员工信息管理:包括员工基本信息、部门信息、岗位信息等;(2)薪资管理:包括薪资标准、工资发放、工资核算等;(3)考勤管理:包括员工考勤记录、加班记录、请假记录等;(4)绩效管理:包括绩效考核、绩效结果等。
3. 概念结构设计根据需求分析,绘制E-R图如下:(1)实体:员工、部门、岗位、薪资标准、考勤、绩效;(2)属性:员工(员工编号、姓名、性别、出生日期、部门编号、岗位编号等)、部门(部门编号、部门名称等)、岗位(岗位编号、岗位名称等)、薪资标准(薪资标准编号、基本工资、奖金等)、考勤(员工编号、日期、加班时长、请假时长等)、绩效(员工编号、考核周期、考核结果等);(3)关系:员工与部门之间为一对多关系,员工与岗位之间为一对多关系,部门与岗位之间为一对一关系,员工与薪资标准之间为一对多关系,员工与考勤之间为一对多关系,员工与绩效之间为一对多关系。
4. 逻辑结构设计将E-R图转换为关系模型,得到以下关系表:(1)员工表(员工编号、姓名、性别、出生日期、部门编号、岗位编号);(2)部门表(部门编号、部门名称);(3)岗位表(岗位编号、岗位名称);(4)薪资标准表(薪资标准编号、基本工资、奖金);(5)考勤表(员工编号、日期、加班时长、请假时长);(6)绩效表(员工编号、考核周期、考核结果)。
数据库课程设计报告范例

数据库课程设计报告课题名称:图书管理系统专业:信息与计算科学班级:信计071班小组人员:廖格(20072571)陶凌弘(20072575)金胜林(20072576)吴雷(20072579)周志伟(20072580)谢弋平(20072585)章寿涛(20072596)一.背景资料在高校中,学生的数量较多,图书的数量也比较多,每天图书的借阅量比较大,采用手工的处理方式已经不能满足这种需要了,因此需要开发一个能够处理平时借阅处理的信息系统,这个信息系统负责主要处理图书馆日常的借书、还书和查询业务。
二.摘要图书馆作为一个信息资源的集散地,包含很多信息数据的管理。
若图书馆采取手工的方式对图书资料和图书借阅情况进行人工管理的话,由于信息数据的繁多,会使手工处理的工作量非常大,同时也就影响了图书馆整体的管理效率。
因此,人们希望使用一个有效的图书管理系统,用以提高图书馆的日常工作效率。
本设计是建立在vb6.0及SQL Server 2000数据库平台开发基础上的。
在本文中,给出了该系统的整个系统分析、设计以及实现的过程,包括需求分析、功能模块的分析与设计、数据模式的分析与设计,最后是系统在vb6.0中实现。
三.需求分析图书管理系统流程图图书借阅处理过程及功能分析简述1. 图书管理员的处理过程主要包含:查询管理。
2.读者管理实现读者信息的录入和查询,需要登记读者(学生)的学号、姓名、班级、专业、借阅量。
读者的处理过程主要包含:读者信息、查询信息(1)读者信息登记读者借阅信息。
(2)查询信息书籍信息查询是按照书号、书名、作者等查询图书基本信息,并可以查询借阅情况。
3.数据分析数据处理过程中涉及到两个实体:图书和读者;各实体应具有的属性如下:图书(书号、书名、作者、出版社)管理员(ID、密码)读者(学号、密码、姓名、班级、专业)由于同一种图书可以有多册上架,每个读者可以借阅多本书,所以图书和读者之间是多对多的关系;为了表示多对多关系,应将图书借阅定为实体,构造两个一对多关系。
苏州大学数据库课程设计报告

《数据库课程设计》实验报告专业计算机科学与技术年级 15 级姓名学号指导老师使用日期苏州大学计算机科学与技术学院统一印制二零一七年三月一:概述项目背景:数据库课程设计系统名称:教务管理系统开发环境:SQL Server 2016 二:需求分析1.系统概述根据要求设计一个数据库教务管理系统2.教务系统的ER图3.数据库表(1)Student表(2)Teacher表(3)Class表(4)College表(5)Secretary表(6)Major表(7)Course表表(8)Teaching(9)TPlan表(10)CourseClass表(11)TempScore表(12)FinalScore表(13)RebuildScore表(14)CourseSelect表(15)ChangeLog表三:程序代码1.SQL建表代码use EduMS/*教师表*/create table Teacher(teacher_id varchar(20)primary key,teacher_name varchar(20),teacher_sex varchar(10)check(teacher_sex in('男','女')), teacher_usename varchar(20),--用户名teacher_password varchar(20)--密码)/*秘书表*/create table Secretary(secretary_id varchar(20)primary key,secretary_name varchar(20),secretary_sex varchar(10)check(secretary_sex in('男','女')),secretary_usename varchar(20),secretary_password varchar(20))/*学院表*/create table College(college_id varchar(20)primary key,college_name varchar(20),secretary_id varchar(20)not null,--教务秘书编号major_num int,--专业数目foreign key(secretary_id)referencesSecretary(secretary_id))/*专业表*/create table Major(major_id varchar(20)primary key,major_name varchar(20),class_count int check(class_count >= 0),--班级数college_id varchar(20)not null,foreign key(college_id)references College(college_id) )/*班级表*/create table Class(class_id varchar(20)primary key,class_name varchar(20),class_stuCount int check(class_stuCount >= 0),--班级人数major_id varchar(20)not null,grade varchar(10),--年级foreign key(major_id)references Major(major_id))/*学生表*/create table Student(stu_id varchar(20)primary key,stu_name varchar(20),stu_sex varchar(10)check(stu_sex in('男','女')),class_id varchar(20)not null,stu_identity varchar(20)not null,--身份证号stu_intake date,--入学时间stu_birth date,--出生日期major_id varchar(20)not null,college_id varchar(20)not null,foreign key(class_id)references Class(class_id),foreign key(major_id)references Major(major_id),foreign key(college_id)references College(college_id) )/*课程表*/create table Course(course_id varchar(20)primary key,course_name varchar(20),course_credit int,--学分course_hour int--学时)/*班级课程表*/create table CourseClass(course_id varchar(20)not null,class_id varchar(20)not null,teacher_id varchar(20)not null,class_time varchar(20),--上课时间class_place varchar(20),--上课地点class_week varchar(10)check(class_week in('单周','双周','单双周')),--上课周数major_id varchar(20)not null,primary key(course_id,class_id),foreign key(course_id)references Course(course_id),foreign key(class_id)references Class(class_id),foreign key(teacher_id)references Teacher(teacher_id), foreign key(major_id)references Major(major_id))/*教学计划表*/create table TPlan(major_id varchar(20)not null,course_id varchar(20)not null,grade varchar(10),--年级term int check(term > 0),--学期college_id varchar(20)not null,max_size int,primary key(major_id,course_id),foreign key(major_id)references Major(major_id),foreign key(course_id)references Course(course_id),foreign key(college_id)references College(college_id) )/*选课表*/create table CourseSelect(stu_id varchar(20)not null,course_id varchar(20)not null,term int,--学期stu_full bit,--该课程是否人数已满textbook bit,--是否预定教材primary key(stu_id,course_id),foreign key(stu_id)references Student(stu_id),foreign key(course_id)references Course(course_id))/*教学表*/create table Teaching(teacher_id varchar(20)not null,teacher_name varchar(20),class_id varchar(20)not null,course_id varchar(20)not null,term int,major_id varchar(20),primary key(teacher_id,class_id,course_id),foreign key(teacher_id)references Teacher(teacher_id), foreign key(class_id)references Class(class_id),foreign key(course_id)references Course(course_id),foreign key(major_id)references Major(major_id))/*临时成绩表*/create table TempScore(stu_id varchar(20)not null,course_id varchar(20)not null,class_id varchar(20)not null,term int,rebuild_flag bit,score_ordtime int check(score_ordtime >= 0),--平时成绩score_mid int check(score_mid >=0),--期中成绩score_termial int check(score_termial >= 0),--期末成绩score_expe int check(score_expe >= 0),--实验成绩score_final int check(score_final >= 0),--最终总评成绩course_credit int check(course_credit >= 0),--所得学分GPA float,primary key(stu_id,course_id),foreign key(stu_id)references Student(stu_id),foreign key(course_id)references Course(course_id),foreign key(class_id)references Class(class_id))/*重修成绩表*/create table RebuildScore(stu_id varchar(20)not null,course_id varchar(20)not null,class_id varchar(20)not null,term int,rebuild_id int,--第几次重修score_ordtime int check(score_ordtime >= 0),--平时成绩score_mid int check(score_mid >=0),--期中成绩score_termial int check(score_termial >= 0),--期末成绩score_expe int check(score_expe >= 0),--实验成绩score_final int check(score_final >= 0),--最终总评成绩course_credit int check(course_credit >= 0),--所得学分GPA float,primary key(stu_id,course_id,rebuild_id),foreign key(stu_id)references Student(stu_id),foreign key(course_id)references Course(course_id), foreign key(class_id)references Class(class_id))/*成绩表*/create table FinalScore(stu_id varchar(20)not null,course_id varchar(20)not null,class_id varchar(20)not null,term int,score_ordtime int check(score_ordtime >= 0),score_mid int check(score_mid >=0),score_termial int check(score_termial >= 0),score_expe int check(score_expe >= 0),score_final int check(score_final >= 0),course_credit int check(course_credit >= 0),GPA float,primary key(stu_id,course_id),foreign key(stu_id)references Student(stu_id),foreign key(course_id)references Course(course_id), foreign key(class_id)references Class(class_id))/*成绩变动记录表*/create table ChangeLog(stu_id varchar(20)not null,course_id varchar(20)not null,update_time date,--改动时间score_pri_ordtime int check(score_pri_ordtime >= 0),score_pri_mid int check(score_pri_mid >=0),score_pri_termial int check(score_pri_termial >= 0),score_pri_expe int check(score_pri_expe >= 0),score_pri_final int check(score_pri_final >= 0),-pri_course_credit int check(pri_course_credit >= 0),pri_GPA float,score_cur_ordtime int check(score_cur_ordtime >= 0),score_cur_mid int check(score_cur_mid >=0),score_cur_termial int check(score_cur_termial >= 0),score_cur_expe int check(score_cur_expe >= 0),score_cur_final int check(score_cur_final >= 0),cur_course_credit int check(cur_course_credit >= 0),cur_GPA float,primary key(stu_id,course_id),foreign key(stu_id)references Student(stu_id),foreign key(course_id)references Course(course_id),)2.触发器代码/*对FinalScore进行插入、删除、修改操作时把数据备份到Changelog 中*/gocreate trigger InsertScoreon FinalScorefor insertasdeclare @stu_id varchar(20), @course_id varchar(20),@class_id varchar(20),@term int, @score_ordtime int, @score_mid int,@score_termial int,@score_expe int, @score_final int, @course_credit int, @GPA floatselect @stu_id =stu_id, @course_id =course_id,@class_id = class_id,@term = term, @score_ordtime = score_ordtime,@score_mid = score_mid, @score_termial=score_termial,@score_expe = score_expe, @score_final = score_final, @course_credit = course_credit, @GPA = GPA from insertedinsert intoChangeLog(stu_id,course_id,score_cur_ordtime,score_cur_m id,score_cur_termial,score_cur_expe,score_cur_final,cur_ course_credit,cur_GPA,update_time)values(@stu_id,@course_id,@score_ordtime,@score_mid,@sco re_termial,@score_expe,@scre_final,@course_credit,@GPA,GETDATE())gogocreate trigger UpdateScoreon FinalScorefor updateasdeclare @stu_id varchar(20), @course_id varchar(20),@class_id varchar(20),@term int, @score_ordtime int,@score_mid int, @score_termial int,@score_expe int,@score_final int, @course_credit int, @GPA floatselect @stu_id =stu_id, @course_id =course_id,@class_id = class_id,@term = term, @score_ordtime = score_ordtime,@score_mid = score_mid, @score_termial=score_termial,@score_expe = score_expe, @score_final = score_final, @course_credit = course_credit, @GPA = GPA from insertedif(not exists(select stu_id from FinalScore where stu_id = @stu_id))begininsert intoChangeLog(stu_id,course_id,score_cur_ordtime,score_cur_mid,score_cur_termial,score_cur_expe,score_cur_final,cur_course_credit,cur_GPA,update_time)values(@stu_id,@course_id,@score_ordtime,@score_mid,@score_termial,@score_expe,@score_final,@course_credit,@GPA,GETDATE())endelsebeginupdate ChangeLogset score_cur_ordtime = @score_ordtime,score_cur_mid =@score_mid,score_cur_termial= @score_termial, score_cur_expe =@score_expe,score_cur_final = @score_final,cur_course_credit = @course_credit, cur_GPA =@GPA, update_time =GETDATE()where stu_id = @stu_id and course_id = @course_id endselect @stu_id =stu_id, @course_id =course_id,@class_id = class_id,@term = term, @score_ordtime = score_ordtime,@score_mid = score_mid, @score_termial=score_termial,@score_expe = score_expe, @score_final = score_final, @course_credit = course_credit, @GPA = GPA from deletedupdate ChangeLogset score_pri_ordtime =@score_ordtime,score_pri_mid =@score_mid, score_cur_termial = @score_termial,score_pri_expe= @score_expe, score_pri_final =@score_final,pri_course_credit = @course_credit,pri_GPA = @GPAwhere stu_id = @stu_id and course_id = @course_idgocreate trigger DeleteScoreon FinalScorefor deleteasdeclare @stu_id varchar(20), @course_id varchar(20),@class_id varchar(20),@term int, @score_ordtime int,@score_mid int, @score_termial int,@score_expe int,@score_final int, @course_credit int, @GPA floatselect @stu_id =stu_id, @course_id =course_id,@class_id = class_id,@term = term, @score_ordtime = score_ordtime,@score_mid = score_mid, @score_termial=score_termial,@score_expe = score_expe, @score_final = score_final, @course_credit = course_credit, @GPA = GPA from insertedif(not exists(select stu_id from FinalScore where stu_id = @stu_id))begininsert intoChangeLog(stu_id,course_id,score_cur_ordtime,score_cur_mid,score_cur_termial,score_cur_expe,score_cur_final,cur_course_credit,cur_GPA,update_time) values(@stu_id,@course_id,null,null,null,null,null,null, null,GETDATE())endelsebeginupdate ChangeLogset score_cur_ordtime =null,score_cur_mid =null, score_cur_termial =null, score_cur_expe =null,score_cur_final =null, cur_course_credit =null,cur_GPA =null, update_time =GETDATE()where stu_id = @stu_id and course_id = @course_idendselect @stu_id =stu_id, @course_id =course_id,@class_id = class_id,@term = term, @score_ordtime = score_ordtime,@score_mid = score_mid, @score_termial=score_termial,@score_expe = score_expe, @score_final =score_final, @course_credit = course_credit, @GPA = GPA from deletedupdate ChangeLogset score_pri_ordtime = @score_ordtime, score_pri_mid = @score_mid, score_cur_termial =@score_termial,score_pri_expe= @score_expe,score_pri_final = @score_final, pri_course_credit =@course_credit, pri_GPA = @GPAwhere stu_id = @stu_id and course_id = @course_idgo/*当更新重修成绩时,自动比较之前的成绩,把最高的分数替换到FinalScore表中*/gocreate trigger InsertRebuildScoreon RebuildScorefor insertasdeclare @stu_id varchar(20), @course_id varchar(20),@class_id varchar(20),@term int, @rebuild_id int,@score_ordtime int, @score_mid int, @score_termialint,@score_expe int, @score_final int, @course_credit int, @GPA floatdeclare @score intselect @stu_id =stu_id, @course_id =course_id,@class_id = class_id,@term = term, @rebuild_id = rebuild_id,@score_ordtime = score_ordtime, @score_mid = score_mid,@score_termial =score_termial,@score_expe = score_expe,@score_final = score_final,@course_credit = course_credit,@GPA = GPAfrom insertedselect @score = score_finalfrom FinalScorewhere stu_id = @stu_id and course_id = @course_idif(@score < @score_final)beginupdate FinalScoreset term =@term,score_ordtime =@score_ordtime,score_mid = @score_mid, score_termial =@score_termial,score_expe = @score_expe,score_final = @score_final, course_credit =@course_credit, GPA = @GPAwhere stu_id = @stu_id and course_id = @course_id endgogocreate trigger UpdateRebuildScoreon RebuildScorefor updateasdeclare @stu_id varchar(20), @course_id varchar(20),@class_id varchar(20),@term int, @rebuild_id int, @score_ordtime int,@score_mid int,@score_termial int,@score_expe int, @score_final int, @course_credit int,@GPA floatdeclare @score intselect @stu_id =stu_id, @course_id =course_id,@class_id = class_id,@term = term, @rebuild_id = rebuild_id,@score_ordtime = score_ordtime, @score_mid = score_mid,@score_termial =score_termial,@score_expe = score_expe,@score_final = score_final,@course_credit = course_credit,@GPA = GPAfrom insertedselect @score = score_finalfrom FinalScorewhere stu_id = @stu_id and course_id = @course_idif(@score < @score_final)beginupdate FinalScoreset term = @term, score_ordtime = @score_ordtime, score_mid = @score_mid, score_termial =@score_termial,score_expe = @score_expe,score_final = @score_final, course_credit = @course_credit, GPA = @GPAwhere stu_id = @stu_id and course_id = @course_id endgo3.角色权限分配代码create role U_JWMSgrant select,insert,update,delete on Class to U_JWMS;grant select,insert,update,delete on College to U_JWMS; grant select,insert,update,delete on Course to U_JWMS;grant select,insert,update,delete on CourseClass to U_JWMS; grant select,insert,update,delete on CourseSelect to U_JWMS; grant select,insert,update,delete on FinalScore to U_JWMS; grant select,insert,update,delete on Major to U_JWMS;grant select,insert,update,delete on RebuildScore to U_JWMS; grant select,insert,update,delete on Secretary to U_JWMS; grant select,insert,update,delete on Student to U_JWMS; grant select,insert,update,delete on Teacher to U_JWMS; grant select,insert,update,delete on Teaching to U_JWMS; grant select,insert,update,delete on TempScore to U_JWMS; grant select,insert,update,delete on TPlan to U_JWMS;gocreate role U_Webgrant select on Class to U_Web;grant select on College to U_Web;grant select on Course to U_Web;grant select on CourseClass to U_Web;grant select,update,delete,insert on CourseSelect to U_Web; grant select on FinalScore to U_Web;grant select on Major to U_Web;grant select on RebuildScore to U_Web;grant select on Secretary to U_Web;grant select on Student to U_Web;grant select on Teacher to U_Web;grant select on Teaching to U_Web;grant select,update,insert,delete on TempScore to U_Web; grant select on TPlan to U_Web;go4.计算GPA函数/*计算绩点函数*/gocreate function CalJD(@score int)returns floatasbegindeclare @JD floatif(@score >= 60)beginset@JD =(@score - 50)/ 10endelsebeginset @JD = 0endreturn @JDendgo/*计算GPA函数*/gocreate function CalGPA(@stu_id varchar(20))returns float asbegindeclare @sum_JD float, @sum_credit int, @GPA floatselect @sum_JD =sum(dbo.CalJD(score_final))from FinalScorewhere stu_id = @stu_idselect @sum_credit =sum(course_credit)from FinalScorewhere stu_id = @stu_idset @GPA = @sum_JD / @sum_creditreturn @GPAendgo5.存储过程代码(获取最高分数,由于之前重修成绩输入时触发自动比较更新,所以最高的成绩已经存储在FinalScore表中)gocreate proc GetAllScore@stu_id varchar(20)asbeginselect stu_name,course_name,score_finalfrom Student,Course,FinalScorewhere FinalScore.stu_id = Student.stu_id andCourse.course_id = FinalScore.course_id endgo。
30_数据库课程设计实例

计算机工程学院编
•ppt课件
•1
数据库设计实例一
某学院有基本实体集:系、教师、学生和课程。 它们各有属性: 系:系编号、系名,位置 课程:课程号,课程名称,开课学期 学生:学生学号,学生姓名、性别、地址 教师:员工号,教师姓名,办公室
•ppt课件
•2
• 你怎么称呼老师?
• 如果老师最后没有总结一节课的重点的难点,你 是否会认为老师的教学方法需要改进?
工程总额、工号#、用户编号#)
项目经理(工号、姓名、性别、出生年月、电话 ) 用户(用户编号、用户单位、地址、电话、联系人) 项目文档(文档编号、项目合同号#、文档形式、归档时间、内容概述) 项目材料(材料编号、材料名、材料报价、数量)
使用(材料编号、项目合同号、使用日期、使用数量)
•ppt课件
•26
•ppt课件
•23
数据库设计实例七
工程项目管理
有实体: 工程项目(项目合同号、项目名称、使用工时、报交日期、付款规定、
工程总额)
项目经理(工号、姓名、性别、出生年月、电话 ) 用户(用户编号、用户单位、地址、电话、联系人) 项目文档(文档编号、文档形式、归档时间、内容概述) 项目材料(材料编号、材料名、材料报价、数量)
•27
实体间联系:
销售部有一个销售经理,领导多位销售人员。 每个销售员可以联系多个客户。
不同的销售人员可以拜访同一个客户。 一份合同可以由多个销售员签订,一份合同只能有一个签约客 户。 一个产品有一个开发负责人,一个开发负责人负责多个产品。 一对一:合同与客户,
一对多:销售经理与销售人员,合同与产品,合同与销售人员 开发负责人和产品 多对多:销售人员与客户、合同与产品,
数据库课程设计报告-撰写模板参考

课程设计报告设计名称:数据库原理课程设计姓名:学号:专业班级:计算机科学与技术2013-1 系(院):信息工程学院设计时间:2015~2016学年第一学期设计地点:软件室第18、19实验室一、课程设计目的数据库原理课程设计是为数据库原理课程而独立开设的实践性课程,对于巩固数据库知识,加强学生的实际动手能力和提高学生综合素质十分必要。
通过本实验达到以下目的:(1)培养学生具有C/S和B/S/模式的数据库应用软件系统的设计和开发能力。
(2)熟练掌握一种数据库管理系统(如ORACLE)的使用。
(3)熟练掌握一种数据库应用软件开发工具(如JAVA 、ASP、)的使用。
(4)通过设计实际的数据库系统应用课题,进一步熟悉数据库管理系统的操作技术,提高动手能力,提高分析问题和解决问题的能力。
二、课程设计任务与要求1、任务:图书管理系统问题描述:1)学校图书室有各种图书一万多册。
2)每种图书都有书名、书号(ISBN)、一名或多名作者(译者)、出版社等。
3)借书证记录有借阅者的借书证编号,读者姓名,读者性别,读者种类,登记时期等。
4)凭借书证借书,学生每次最多能借5本书,借书期限最长为30天,老师每次做多能借10本,借书期限最长为60天。
2、设计要求:1)实现新进图书的数据录入和下架图书的数据删除。
2)实现借阅者图书证信息的录入和删除。
3)实现对所有购进图书的分类查询和分类统计。
4)能够按书名、作者等分类查询现有图书的数量。
5)能够记录借阅者的个人资料和所借图书的书名、书号、借书时间等6)能够进行借书还书处理。
7)能够进行借书逾期罚款处理。
8)能够进行用户管理。
9)设计一完整的数据库。
要求掌握数据库的设计的每个步骤;掌握数据设计各阶段的输入、输出、设计环境、目标和方法;熟练的使用SQL语言实现数据库以及数据库重要对象的建立、应用和维护。
三、课程设计说明书1、需求分析(1)数据需求图书馆管理信息系统需要完成功能主要有:①读者基本信息的输入,包括借书证编号、读者姓名、读者性别等。
数据库课程设计-参考实例

《数据库原理与应用》课程设计图书管理系统数据库设计学号姓名(2008/2009学年第一学期第17 周)2008年12月目录1.概述 (1)1.1.项目背景 (1)1.2.系统说明 (1)2.需求分析 (2)2.1.需求分析 (2)2.2.数据需求 (2)2.3.事物需求 (2)2.4.数据字典 (2)3.方案图表设计 (2)3.1.关系模式 (3)3.2.E-R图 (4)3.2.1.类别实体E-R图: (4)3.2.2.读者信息实体E-R图: (4)3.2.3.信息实体E-R图: (5)3.2.4.记录信息实体E-R图: (5)3.2.5.记录信息实体E-R图:...................................................................... 错误!未定义书签。
3.2.6.罚款信息实体E-R图:...................................................................... 错误!未定义书签。
3.2.7.信息实体E-R总图:.......................................................................... 错误!未定义书签。
3.3.数据流程图 (6)3.4.关系图: (7)4.数据库源代码 (7)4.1.数据库建立 (7)4.1.1.创建数据库 (7)4.1.2.书本类别表建立 (7)4.1.3.创建书库表 (8)4.1.4.借书证表建立 (8)4.1.5.借书记录表建立 (8)4.1.6.还书记录表建立 ................................................................................. 错误!未定义书签。
4.1.7.罚款单表建立 ..................................................................................... 错误!未定义书签。
数据库课程设计报告模板(实例)

1.前言 (2)1.1选题的理由和实际意义 (2)1.2国外关于该课题的研究现状及趋势 (4)2需求分析 (5)2.1 用户对系统要求 (5)2.2功能介绍 (6)3 系统设计 (8)3.1定义 (8)3.2系统模块图 (8)3.4 数据表的设计 (9)3.5 用例列举 (13)3.5.1建立数据表 (13)3.5.2建立视图 (17)3.5.3建立索引 (18)3.5.4约束条件的增加、删除、修改 (18)3.5.5查询语句 (19)3.5.6建立存储过程,触发器 (21)4 总结 (22)1.前言(本部分要有因果关系,前后通顺)1.1选题的理由和实际意义随着IT事业的发展,如今,我们已经全面跨入信息时代。
计算机被广泛的应用于各个行业,人工战略已经转化为信息战略,如何在短时间获取大量信息并整合信息,成为立足于时代的关键。
为了适应考生人数的急剧增长,当今社会各大高校都在进行扩招政策,学生数量的急剧增加带来信息量的成倍增长,由于信息管理的不善与疏忽,各大高校大小事故时有发生。
进行正确的信息管理,对于信息及时处理和反应,能够最大程度的减少学校以及在校学生的损失,减小潜在危机。
学生宿舍是学生生活的基本单位,是同学休息与学习的地方,为了保障同学入住学生宿舍的安全性,信息的处理和管理极为重要。
据了解,本校的宿舍信息管理仍然使用传统的手工方式,主要方式是基于文本、表格等纸介质的手工处理,用人工手抄对男女生信宿信息进行处理登记。
数据信息处理工作量大,容易出错且不易修改;由于数据繁多,容易丢失,逐条查找记录的方式不易操作,浪费了大量的时间,效率极低。
学校的宿舍管理缺乏系统,规的信息管理手段。
建立学生宿舍管理系统,使宿舍管理工作系统化,规化,便捷化,程序化,避免宿舍管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改宿舍情况。
随着高校规模的扩大,在校学生的基本情况随之层次化、多样化、复杂化,相应的,学生管理工作面临严峻的挑战。
数据库课程设计报告范例(仅供参考)

数据库课程设计报告 -------校园医务室服务系统学院:软件学院专业:软件工程专业班级:XX级X班姓名:XXX学号:XXXXXXXXXXX任课教师:实验教师:目录一、系统开发平台 (2)二、数据库规划 (2)任务陈述 (2)任务目标 (2)三、系统定义 (3)系统边界 (3)用户视图 (4)四、需求分析 (5)用户需求说明 (5)数据需求 (5)事务需求 (6)系统需求说明 (7)五、数据库逻辑设计 (8)ER图 (8)数据字典 (9)关系表 (11)六、数据库物理设计 (12)索引 (12)视图 (13)安全机制 (13)其他 ..................................... 错误!未定义书签。
七、应用程序设计 (14)功能模块 (14)界面设计 (15)事务设计 (22)八、测试和运行 (22)九、总结 (22)附. 参考文献 (22)一、系统开发平台题目:校园医务室服务系统数据库:Microsoft Sql Server 2000开发工具: Eclips NetBeans操作系统:Microsoft Window XP Home Edition二、数据库规划任务陈述校园医务室服务系统的目的是为了通过收集和存储指定对象的信息数据,及控制相关人员对以上数据的操作,辅助校医务室工作人员完成对基本医疗信息的管理工作,并在必要的时候向更高管理层提供所需要的财务等信息。
另外该系统还具有对医疗保险和过敏药物两种特定信息的管理功能。
任务目标控制(添加,更新,删除)有关学生信息控制(添加,更新,删除)有关医生信息控制(添加,更新,删除)有关药物信息控制(添加,更新,删除)有关库存信息添加,查询有关医疗记录信息添加,查询有关过敏药物信息添加,查询有关处方信息查询,统计有关学生信息查询,统计有关医生信息查询,统计有关药物信息查询,统计有关药房信息对药房库存信息提供报表对有关医疗记录信息提供报表对有关过敏药物信息提供报表对校医务室财务信息提供报表自动计算相关费用,核对药物信息三、系统定义系统边界用户视图四、需求分析用户需求说明4.1.1 数据需求(1)学生用户视图:基本信息:学号,姓名,性别,年龄,班级,学院,专业,联系电话。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
宿舍 离返校 n 1 宿舍电话 宿舍号 返回时间 离校时间 学生 学号 姓名 性别 院系
5、夜归管理子系统分E-R图
宿舍 夜归 年 1 宿舍电话 宿舍号 夜归原因 夜归时间 学生 学号 姓名 性别 院系
三、逻辑结构及物理结构设计 1、上一步概念结构设计得到的E-R图
2、将E-R图转换为关系模式 关系模式
2、学生住宿信息管理子系统分E-R图
宿舍 住宿 n 1 宿舍电话 宿舍号 入住时间 学生 学号 姓名 性别 院系
2、报修子系统分E-R图
宿舍 财产 报修 m n 财产号 财产名 宿舍电话 宿舍号 宿舍号 报修原因 报修时间
3、收取快件子系统分E-R图
快件 学生 接收 1 n 学号 姓名 性别 院系 姓名 宿舍号 数量 到达时间 接收时间
报修信息
邮件快递表 快件信息
快件信息 确认信息
夜归登记表 夜归信息
夜归信息
离返校登记表 离返校信息 离返校信息
组成
报修信息 已修信息
快件信息 确认信息
夜归信息
离返校信 息
5.处理过程 处理过程名 登记报修 查询报修 登记已修信息 收取快件 登记快件信息 登记夜归 查询夜归 登记离返校信息 查询离返校信息 (管理员) 查询离返校信息 (学生)
属性名
存储代码
姓名
Sname
宿舍号
Dno
到达时间 Marrive
接收时间 Mreceive
邮件数量 Mnumber
类型 char char date
date
tinyint
报修数据字典:
属性名
存储代码
宿舍号
Dno
物品号
Pno
提交日期 Rsubmit
解决日期 Rsolve
报修原因 Rreason
类型 char Int date date char
对课程设计 工作过程的 简短介绍和 自我评价
月日
学生签名:
2010年
(以下由评定小组教师填写)
质量评价指标(在相应栏目打√)
评价项 目
优秀
评价质量 良好 一般 及格
不及 格
工作量和态
度
实验、计算 可靠性 文字和图表 质量 总体评价
评定成绩 (百分制) 评定小组成
员签名 月 日
摘要(略)
2010年
目录(略)
(三) 数据流图
1、报修分数据流图
2、快件分数据流图 3、离返校分数据流图
4、夜归分数据流图
5、总数据流图
(四) 数据字典
1.数据项
住宿学生数据字典:
属性名
存储代码 类型
学号
Sno
char
姓名
Sname
char
性别
Ssex
char
专业
Sdept
char
宿舍号
Dno
char
入住时间 Scheckin
5) 报修的基本信息: 宿舍楼中经常出现财产的损坏,比如灯泡坏了,厕所的马桶出故 障了等,这时,同学们需要将财产损坏情况报告给宿舍楼管理 员,以便学校派人进行维修。这时,需要记录报修的宿舍号和损 坏的财产编号,同时记录报修的时间和损坏的原因。当损坏的财 产维修完毕后,应记录解决时间,表示该报修成功解决。
住宿学生(学号,姓名,性别,专业,宿舍号,入住时间) 宿舍(宿舍号,宿舍电话) 宿舍财产(物品号,物品名) 邮件快递(姓名,宿舍号,到达时间,接收时间,邮件数量) 报修(宿舍号,物品号,提交日期,解决日期,报修原因) 夜归(学号,宿舍号,晚归时间,晚归原因) 离校(学号,宿舍号,离校时间,返回时间) (下划线标注的属性为主码)
(二) 系统功能的设计和划分
根据如上得到的用户需求,我们将本系统按照所完成的功能分成以下几 部分:用户管理部分,管理员管理部分。各部分完成的功能如下: 1、用户管理部分
(1) 处理用户注册 (2) 处理用户登录 (3) 用户可以查询学生信息。 (4) 用户可以查询快件信息。 (5) 用户可以提交与查询报修信息。 (6) 用户可以插入与删除用户自己的离返校信息。 (7) 用户可以修改用户自己密码。 2、管理员管理部分 (1) 处理管理员登录 (2) 管理员可以查询学生信息。 (3) 管理员可以发布与更新快件信息。 (4) 管理员可以插入、修改与查询报修信息。 (5) 管理员可以插入与查询学生夜归信息。 (6) 管理员可以查询在校与离校学生信息。 (7) 管理员可以修改管理员密码。
date
宿舍数据字典:
属性名
存储代码 类型
宿舍号
Dno
char
长度 20 20 4 40 6
8
长度 6
备注 住宿学生学号 住宿学生姓名
学生专业 住宿学生宿舍 号 新生搬入时间
备注
宿舍电话 Dphone
char
宿舍财产数据字典:
属性名
存储代码
物品号
Pno
物品名
Pname
类型 Int char
邮件快递数据字典:
输入数据流 报修信息 报修信息 已修信息 快件信息 快件信息 夜归信息 夜归信息 离返校信息 离返校信息
输出数据流 报修信息 报修信息 已修信息 快件信息 快件信息 夜归信息 夜归信息 离返校信息 离返校信息
离返校信息 离返校信息
二、概念结构设计 根据上一步需求分析,设计系统的E-R图 1、设计完成的总E-R图为:
6) 夜归的基本信息: 宿舍楼在指定的时间关门(比如晚上12点),若有同学晚于关门 时间会宿舍,需通知宿舍楼管理员,同时应登记晚归学生姓名, 宿舍号,时间和晚归原因,以利于学校的管理和查证。
7) 离校的基本信息: 每当放寒假或暑假时,同学们大部分都会回家;每当“五·一”或“十 ·一”放假时,同学们也有很多不会留在宿舍。这时,为加强学校 对同学假期安全的管理,离校的同学应登记离校时间,待返校后 记录返校时间,以便学校查证和管理。
晚归时间 晚归原因
Btime Breasonr
类型 char char
timestamp Char
长度 20 6
14 10
备注 晚归学生姓名 晚归学生宿舍 号 学生晚归时间 学生晚归原因
离校数据字典:
属性名
存储代码
学号
Sno
宿舍号
Dno
离校时间 返回时间
Ltime Lreturn
类型 char char
3) 宿舍财产的基本信息: 每个宿舍的财产属于学校,比如电灯,床铺,柜子,桌椅等,为 了对不同的财产进行区分,可以为每种财产分配不同的财产号。 这样有利于财产的报修和管理。
4) 快件收发的基本信息: 每栋宿舍楼都有邮件收发的管理,当本楼的同学有信件时,相应 的会有信件的到达时间,接受信件的同学姓名和他所在的宿舍 号。有时,同一个学生有多封信件需要接收,需要表示一个同学 有多少封信件。当信件接收后,应有一个接收信件的时间,表示 信件已成功到达指定的同学手中。
组成 用户ID,用户密码,用户类型(普通用户,管理
住宿学生 信息
宿舍信息
宿舍财产 信息
邮件快递 信息
员) 学号,姓名,性别,专业,宿舍号,入住时间
宿舍号,宿舍电话 物品号,物品名
姓名,宿舍号,到达时间,接收时间,邮件数量
报修信息 夜归信息 离校信息
宿舍号,物品号,提交日期,解决日期,报修原因 学号,宿舍号,晚归时间,晚归原因 学号,宿舍号,离校时间,返回时间
3.数据流 数据流名 登记报修信息 查询报修信息
登记已修信息 登记快件信息 收取快件 登记确认信息 登记夜归信息 查询夜归信息 登记离返校信 息 查询离返校信 息 查询离返校信 息
数据流来源 数据流去向
组成
学生
学生报修登记表 报修信息
学生报修信息 管理员 表
报修信息
管理员
学生报修登记表 已修信息
管理员
安全性要求: 系统应设置访问用户的标识以鉴别是否是合法用户,并要求合法用 户设置其密码,保证用户身份不被盗用; 系统应对不同的数据设置不同的访问级别,限制访问用户可查询和 处理数据的类别和内容; 系统应对不同用户设置不同的权限,区分不同的用户,如区分普通 用户(学生),管理员。
完整性要求: 各种信息记录的完整性,信息记录内容不能为空; 各种数据间相互的联系的正确性; 相同的数据在不同记录中的一致性。
课程设计报告
学院、系: 专业名称: 课程设计科
目: 题目: 学号、姓
名: 指导教师: 完成时间:
数据库系统概论
(小组所有成员的学号、姓 名)
2010年10月--12月
说明:一组只写一份设计报告,交电子版给指导教师,不需要打印
每个人写一份《课程设计成绩评定表》,打印,验
收时上交
课程设计成绩评定表
题目: 学号、姓名:
1) 学生的基本信息: 入校时,每位同学都有唯一的学号,并被分配到指定的宿舍楼和指
定的宿舍,也会有一个宿舍号,其入校时间就是他的入住时间。另外, 为了管理上的方便,同一院系的学生的宿舍一般在一起,相应地会有其 所在的院系名称。
2) 宿舍的基本信息: 每间宿舍都有唯一的宿舍号,入校时,宿舍会装公用电话机,相 应地就有宿舍电话号码。
一、学生宿舍管理系统需求分析
(一)调查用户需求
本系统的最终用户为宿舍楼管理员,本宿舍楼的学生。根据我们日 常生活中的经验,结合对自己学校宿舍楼管理老师的咨询和对同宿舍楼 同学的调查,得出用户的下列实际要求:
1、 宿舍楼的基本情况 学生住在宿舍楼中,每栋宿舍楼都会有若干名老师负责本宿舍楼的日常 管理。
邮件快递表
快件信息
邮件快递表 学生
快件信息
学生
邮件快递表
确认信息
管理员
夜归登记表