数据库实训报告书
数据库实训课程报告
题目名称:教学反馈系统
专业:软件工程(外包方向)
班级:计144-2 学号: 201458504250
姓名:鲍玉博
指导教师:张玉
成绩:
2016 年 6 月 25 日
计算机与控制工程学院
目录
1 案例描述 .................................................................................................................................
2 数据库设计 .............................................................................................................................
3 数据库创建 .............................................................................................................................
4 总结 .........................................................................................................................................
1 案例描述
1.1设计目的
本次课程设计的主要目的是使学生了解并掌握数据库设计步骤及方法、创建数据库及表、数据的增删改查和一些约束的添加,让同学掌握数据库的使用和创建过程。
1.2项目背景
中国经济数年来持续高增长带来了专业性职业人才的需求激增,职业教育作用日益显现,优秀企业也孕育而生。他们的作用不仅仅为社会培养了专业人才,在产业经营领域,他们也扮演了重要的角色。改革开放以来,随着中国经济社会的发展,职业教育越来越受到国家的高度重视和社会的广泛关注。随着经济社会的发展,中国的职业教育取得了长足的发展,在职业教育理念的实践群体中,若想更好地成为佼佼者,无疑是在在规模化发展中保障教学质量是其中一个比较重要的方面。
1.3案例需求
教学质量是学校生存与发展的生命线,不断提高课堂教学水平是学校和每一位教师的共同心愿。及时了解课堂教学的主体—学生对教学情况的评价及建议,有利于教师发现自己教学中的优点以及不足,从而进一步改进教学方法,提高教学水平。为了更好的提高教学水平,建立学校与学员的更好勾通,院领导研究决定研发本系统,并提供考核内容管理、反馈项目管理、反馈表管理、数据统计分析等主要功能,本阶段案例主要以反馈活动管理为主要分析目标.
1.3.1反馈活动管理
对学院内部反馈活动进行管理和维护,包括对反馈活动的添加、修改、删除、查看、批量删除、发布、批量发布和关闭某个班的反馈活动等。反馈活动的详细信息包括:反馈活动编号、反馈活动名称、活动日期、被评价人类型、被评价人姓名、被评定项、参与班级。
2 数据库设计
2.1概念设计
将需求分析得到的用户需求抽象为信息结构及概念模型的过程就是概念设计。通过E-R图(实体-联系图)来实现,E-R图提供了表示实体类型、属性和联系的方法,用来描述现实世界的概念模型。
E-R图设计:
2.2逻辑设计
逻辑设计就是把一种计划、规划、设想通过视觉的形式通过概念、判断、推理、论证来理解和区分客观世界的思维传达出来的活动过程。逻辑设计比物理设计更理论化和抽象化,关注对象之间的逻辑关系,提供了更多系统和子系统的详细描述。
班级信息:(班级编号、班级名称、开班时间、状态)
用户信息:(用户编号、用户名称)
反馈活动信息:(信息编号、活动名称、活动时间、被评价人编号、反馈模板编号、状态)
反馈活动与班级关联(编号、活动编号、班级编号)
反馈结果(编号、反馈活动与班级关联ID号、提交的成绩、按回答评定时的用户答案)
2.3物理设计
数据库物理设计是后半段。将一个给定逻辑结构实施到具体的环境中时,逻辑数据模型要选取一个具体的工作环境,这个工作环境提供了数据存储结构与存取方法,这个过程就是数据库的物理设计。
3 数据库创建
3.1创建数据库数据表
a) 创建数据库feedback
create database feedback
b) 创建数据表
①班级信息表
create table classinfo
(
classid int primary key not null,
classname varchar(30)not null,
startdate datetime not null,
status int not null
)
②用户信息表
create table userinfo
(
userid int primary key not null,
username varchar(20)not null
)
③反馈活动信息表
create table activeinfo
(
activeid int primary key not null,
activename varchar(50)not null,
activedate datetime not null,
userid int not null,
templateid int not null,
status int not null
)
④反馈活动与班级关联表
create table activeandclass
(
acid int primary key not null,
activeid int not null,
classid int not null
)
⑤反馈结果表
create table result
(
resultid int primary key not null,
acid int not null,
userresult int not null,
answer varchar(500)
)
c) 添加约束
根据ER图及表结构规范说明,使用T-SQL向各表添加约束,具体要求如下:
?所有名称不允许为空,并且唯一
?根据ER图,创建外键
①班级信息表
1)--为班级信息表中的classname列添加唯一约束
alter table classinfo add constraint un_cl unique(classname) 2)--添加默认日期约束
alter table classinfo
add constraint mr_sd
default(getdate())for startdate
3)--添加默认状态约束
alter table classinfo
add constraint mr_st
default(0)for status
②用户信息表
1)--为用户信息表中的username列添加唯一约束
alter table userinfo add constraint un_name unique(username);
③反馈活动信息表
1)--为反馈活动信息表中的acticename列添加唯一约束
alter table activeinfo add constraint un_ac_name
unique(activename);
2)--添加默认状态约束
alter table activeinfo add constraint mr_ac_st
default(0)for status
3)--添加默认日期约束
alter table activeinfo add constraint mr_ac_sd
default(getdate())for activedate
4)--为反馈活动信息表中的userid添加主外键约束
alter table activeinfo
add foreign key(userid)references userinfo(userid);
④反馈活动与班级关联表
1)--为反馈活动信息表中的activeid列添加主外键约束
alter table activeandclass
add foreign key(activeid)references activeinfo(activeid);
2)--为反馈活动信息表中的classid列添加主外键约束
alter table activeandclass
add foreign key(classid)references classinfo(classid);
3)--为用户信息表中的acid与classid添加唯一约束
alter table activeandclass
add constraint un_ac_ac unique(acid,classid);
⑤反馈结果表
1)--为反馈结果表中的acid列添加主外键约束
alter table result
add foreign key(acid)references activeandclass(acid);
2)--添加默认成绩为约束
alter table result add constraint mr_re_ur
default(0)for userresult
3)--添加默认回复答案为空约束
alter table result add constraint mr_re_an
default(null)for answer
3.2班级信息表的增/删/改
a)向班级信息表中插入2条数据
insert into classinfo --向班级信息表中插入数据
select 1,'144-2','',''union
select 2,'144-1','',''
b)删除班级信息表中的“144-1”班级
delete from classinfo where classname ='144-1'
c)修改班级信息表中的数据,将“144-2”改为“154-2”
update classinfo set classname='154-2'where classname='144-2' 3考核模板的综合查询
4总结