数据库实训报告书.docx
《数据库实训报告书.docx》由会员分享,可在线阅读,更多相关《数据库实训报告书.docx(10页珍藏版)》请在冰豆网上搜索。
数据库实训报告书
数据库实训课程报告
题目名称:
教学反馈系统
专业:
软件工程(外包方向)
班级:
计144-2
学号:
201458504250
姓名:
鲍玉博
指导教师:
张玉
成绩:
2016年6月25日
计算机与控制工程学院
1案例描述
1.1设计目的
本次课程设计的主要目的是使学生了解并掌握数据库设计步骤及方法、创建数据库及表、数据的增删改查和一些约束的添加,让同学掌握数据库的使用和创建过程。
1.2项目背景
中国经济数年来持续高增长带来了专业性职业人才的需求激增,职业教育作用日益显现,优秀企业也孕育而生。
他们的作用不仅仅为社会培养了专业人才,在产业经营领域,他们也扮演了重要的角色。
改革开放以来,随着中国经济社会的发展,职业教育越来越受到国家的高度重视和社会的广泛关注。
随着经济社会的发展,中国的职业教育取得了长足的发展,在职业教育理念的实践群体中,若想更好地成为佼佼者,无疑是在在规模化发展中保障教学质量是其中一个比较重要的方面。
1.3案例需求
教学质量是学校生存与发展的生命线,不断提高课堂教学水平是学校和每一位教师的共同心愿。
及时了解课堂教学的主体—学生对教学情况的评价及建议,有利于教师发现自己教学中的优点以及不足,从而进一步改进教学方法,提高教学水平。
为了更好的提高教学水平,建立学校与学员的更好勾通,院领导研究决定研发本系统,并提供考核内容管理、反馈项目管理、反馈表管理、数据统计分析等主要功能,本阶段案例主要以反馈活动管理为主要分析目标.
1.3.1反馈活动管理
对学院内部反馈活动进行管理和维护,包括对反馈活动的添加、修改、删除、查看、批量删除、发布、批量发布和关闭某个班的反馈活动等。
反馈活动的详细信息包括:
反馈活动编号、反馈活动名称、活动日期、被评价人类型、被评价人姓名、被评定项、参与班级。
2数据库设计
2.1概念设计
将需求分析得到的用户需求抽象为信息结构及概念模型的过程就是概念设计。
通过E-R图(实体-联系图)来实现,E-R图提供了表示实体类型、属性和联系的方法,用来描述现实世界的概念模型。
E-R图设计:
2.2逻辑设计
逻辑设计就是把一种计划、规划、设想通过视觉的形式通过概念、判断、推理、论证来理解和区分客观世界的思维传达出来的活动过程。
逻辑设计比物理设计更理论化和抽象化,关注对象之间的逻辑关系,提供了更多系统和子系统的详细描述。
班级信息:
(班级编号、班级名称、开班时间、状态)
用户信息:
(用户编号、用户名称)
反馈活动信息:
(信息编号、活动名称、活动时间、被评价人编号、反馈模板编号、状态)
反馈活动与班级关联(编号、活动编号、班级编号)
反馈结果(编号、反馈活动与班级关联ID号、提交的成绩、按回答评定时的用户答案)
2.3物理设计
数据库物理设计是后半段。
将一个给定逻辑结构实施到具体的环境中时,逻辑数据模型要选取一个具体的工作环境,这个工作环境提供了数据存储结构与存取方法,这个过程就是数据库的物理设计。
表名
classinfo(班级信息表)
列名
描述
数据类型
空/非空
约束条件
classid
编号
int
非空
主键,标识列
classname
班级名称
Varchar(30)
非空
唯一
startdate
开班时间
datetime
非空
默认系统日期
status
状态
int
非空
0-正常(默认)
1-删除
2-结业
ctypeid
班级类型编号
int
非空
外键
表1班级信息表
表名
userinfo(用户信息表)
列名
描述
数据类型
空/非空
约束条件
userid
用户编号
int
非空
主键,标识列
username
用户名称
Varchar(20)
非空
唯一
表2用户信息表
表名
activeinfo(反馈活动信息表)
列名
描述
数据类型
空/非空
约束条件
activeid
编号
int
非空
主键,标识列
activename
活动名称
Varchar(50)
非空
唯一
activedate
活动时间
datetime
非空
默认系统日期
userid
被评价人编号
int
非空
外键
templateid
反馈模板编号
int
非空
外键
status
状态
int
非空
0-正常(未发布,默认);1-删除;2-已发布
表3反馈活动信息表
表名
activeandclass(反馈活动与班级关联表)
列名
描述
数据类型
空/非空
约束条件
acid
编号
int
非空
主键,标识列
activeid
活动编号
int
非空
外键
与班级编号一起,唯一
classid
班级编号
int
非空
外键
与活动编号一起,唯一
表4反馈活动与班级关联表
表名
result(反馈结果表)
列名
描述
数据类型
空/非空
约束条件
resultid
编号
int
非空
主键,标识列
acid
反馈活动与班级关联ID号
int
非空
外键
userresult
提交的成绩
int
非空
默认0
answer
按回答评定时的用户答案
Varchar(500)
默认null
表5反馈结果表
3数据库创建
3.1创建数据库数据表
a)创建数据库feedback
createdatabasefeedback
b)创建数据表
①班级信息表
createtableclassinfo
(
classidintprimarykeynotnull,
classnamevarchar(30)notnull,
startdatedatetimenotnull,
statusintnotnull
)
②用户信息表
createtableuserinfo
(
useridintprimarykeynotnull,
usernamevarchar(20)notnull
)
③反馈活动信息表
createtableactiveinfo
(
activeidintprimarykeynotnull,
activenamevarchar(50)notnull,
activedatedatetimenotnull,
useridintnotnull,
templateidintnotnull,
statusintnotnull
)
④反馈活动与班级关联表
createtableactiveandclass
(
acidintprimarykeynotnull,
activeidintnotnull,
classidintnotnull
)
⑤反馈结果表
createtableresult
(
resultidintprimarykeynotnull,
acidintnotnull,
userresultintnotnull,
answervarchar(500)
)
c)添加约束
根据ER图及表结构规范说明,使用T-SQL向各表添加约束,具体要求如下:
✓所有名称不允许为空,并且唯一
✓根据ER图,创建外键
1班级信息表
1)--为班级信息表中的classname列添加唯一约束
altertableclassinfoaddconstraintun_clunique(classname)
2)--添加默认日期约束
altertableclassinfo
addconstraintmr_sd
default(getdate())forstartdate
3)--添加默认状态约束
altertableclassinfo
addconstraintmr_st
default(0)forstatus
2用户信息表
1)--为用户信息表中的username列添加唯一约束
altertableuserinfoaddconstraintun_nameunique(username);
3反馈活动信息表
1)--为反馈活动信息表中的acticename列添加唯一约束
altertableactiveinfoaddconstraintun_ac_name
unique(activename);
2)--添加默认状态约束
altertableactiveinfoaddconstraintmr_ac_st
default(0)forstatus
3)--添加默认日期约束
altertableactiveinfoaddconstraintmr_ac_sd
default(getdate())foractivedate
4)--为反馈活动信息表中的userid添加主外键约束
altertableactiveinfo
addforeignkey(userid)referencesuserinfo(userid);
④反馈活动与班级关联表
1)--为反馈活动信息表中的activeid列添加主外键约束
altertableactiveandclass
addforeignkey(activeid)referencesactiveinfo(activeid);
2)--为反馈活动信息表中的classid列添加主外键约束
altertableactiveandclass
addforeignkey(classid)referencesclassinfo(classid);
3)--为用户信息表中的acid与classid添加唯一约束
altertableactiveandclass
addconstraintun_ac_acunique(acid,classid);
⑤反馈结果表
1)--为反馈结果表中的acid列添加主外键约束
altertableresult
addforeignkey(acid)referencesactiveandclass(acid);
2)--添加默认成绩为约束
altertableresultaddconstraintmr_re_ur
default(0)foruserresult
3)--添加默认回复答案为空约束
altertableresultaddconstraintmr_re_an
default(null)foranswer
3.2班级信息表的增/删/改
a)向班级信息表中插入2条数据
insertintoclassinfo--向班级信息表中插入数据
select1,'144-2','',''union
select2,'144-1','',''
b)删除班级信息表中的“144-1”班级
deletefromclassinfow