课程设计报告
( 2011-- 2012年度第2学期)
名称:数据库原理课程设计院系:信息工程系
班级:软件09k2
学号:0919********
学生姓名:闫雪峰
指导教师:乔玲玲
设计周数: 1
成绩:
日期:2012年6 月1日
《数据库原理》课程设计
任务书
一、目的与要求
1.这门课是为计算机科学与技术专业的学生在学习数据库原理后,为培养更好的解决
问题和实际动手能力而设置的实践环节。通过这个环节,使学生拥有能够应用数据
库原理对数据库系统进行设计的能力。为后继课程和毕业设计打下良好基础。
2.通过该实验,培养学生在建立数据库系统过程中使用关系数据理论的能力。
3.通过一个学生并不陌生的完整系统的设计,可以培养学生对需求分析、方案设计、
系统编码、界面设计和软件调试等各方面的能力。是一门综合考查学生数据库原理、面向对象设计方法、软件工程和信息系统分析与设计等涉及多课程的综合实验。二、主要内容
信息管理系统的设计与实现是针对一个实际中小型系统(见题目附录)进行的数据库设计,它需要管理的内容有实体以及实体之间的联系。
1. 首先要求完成需求的理解和实体的设计:
a)设计实体的属性和码,以及该实体的实体完整性、用户自定义的完整性。
b)设计实体的之间的联系,包括联系的类型和联系的属性,即设计实体参照完
整性。最后画出完整的E-R图。
2.根据设计好的E-R图及关系数据库理论知识设计数据库模式:
2.1 将E-R图转换为关系模式。
2.2 设计关系模式间的参照完整性。
2.3 用SQL语言实现数据库模式的设计。
3.实现信息管理系统所需的各种操作:
3.1 用SQL语言实现信息的录入、删除和修改。
3.2 以视图的形式完成各类查询,包括单表、多表、单条件、多条件等。
4.权限的设计:
4.1 授权操作;
4.2 收回权限的操作。
5.界面的设计、加密的设计。
三、进度计划
序号设计(实验)内容完成时间备注
1 根据任务书完成信息模型的设计,并将该信息
模型在选用的DBMS中实现,并录入数据
1天
2 根据任务书完成各种数据操作,并以视图的形
式保留SQL语句。并开始界面的设计与编码
1天
3 使用可视化开发工具开发学生工作管理系统
(C/S或者B/S模式)
1天
4 界面设计,权限设计和调试1天
5 系统的完善与验收1天
四、设计(实验)成果要求
1.在DBMS(如SQL Server,DB2等)上完成完整的数据库的设计;
2.使用可视化开发平台完成该系统,并要可以求正确的运行;
3.完成实验报告。
五、考核方式
1.在微机上检查数据库设计的模式的设计、完整性的设计等;
2.在微机上检查系统的运行结果,并请学生解释所使用的技术;
3.实验报告的检查。
六、题目附录
1.书籍管理系统
小朋友有很多图书,有画画类、汽车类、贴纸类、故事类、儿歌类等,通过该系统我们可以方便查询,例如:输入某个故事的名字,可以查询该故事在哪本书中,哪一页。
2.图书馆管理系统
分析图书馆中所需要保存的各类信息,参照现有图书馆系统设计。
3.毕业设计管理系统
每个毕业生有一个毕业设计题目,还有各自的指导老师,完成题目需要使用某种计算机语言,某种数据库。该系统可以根据学生信息(比如学生学号)查询到该学生的毕业设计题目及指导老师等信息,根据指导老师的信息也可以查询到该教师所指导的学生的信息及相应题目。
学生姓名:闫雪峰
指导教师:乔玲玲
年月日
一、课程设计(综合实验)的目的与要求
1.这门课是为计算机科学与技术专业的学生在学习数据库原理后,为培养更好的解决问
题和实际动手能力而设置的实践环节。通过这个环节,使学生拥有能够应用数据库原理对数据库系统进行设计的能力。为后继课程和毕业设计打下良好基础。
2.通过该实验,培养学生在建立数据库系统过程中使用关系数据理论的能力。
3.通过一个学生并不陌生的完整系统的设计,可以培养学生对需求分析、方案设计、系
统编码、界面设计和软件调试等各方面的能力。是一门综合考查学生数据库原理、面向对象设计方法、软件工程和信息系统分析与设计等涉及多课程的综合实验。
二、设计(实验)正文
用户实体E-R图:
2. 数据库关系模式设计:主要说明设计的表及其字段内容描述,并详细说明完整性设计。(1)book_class(class_id,class_name),其主关键字为class_id;
(2)book(book_id,book_name,book_store,book_information,book_class,love),其中主关键字为book_id,book_class为外键参照book_class表的class_id;
(3)book_list(list_id,list_name,list_page_number,list_book_id)其中主关键字为list_id,list_book_id为外键参照book表的book_id;
(4) story(id,name,comments,love,list,times,page,of_book)其中主关键字为
id,of_book为外键参照book表的book_id,list为外键参照book_list表的list_id.
3. 写出实现各个数据库操作的sql语言。
建立各个表
2.查询图书
关键程序:
//返回图书类别自动完成组件
include_once('global.php');
$arr = array();
$i = 0;
$result = $mysqli->query("select book_name from book where book_name like '".$_GET[bookName]."%'");
while($row = $result->fetch_row()){
$arr[$i++] = $row[0];
}
echo json_encode($arr);
if($result != null){
$result->free();
}
?>
3.添加操作
关键代码:
include_once('global.php');
$result = $mysqli->query("insert into book_class (class_name) values('".$_GET[BookClassName]."')");
$arr[result] = $result;
echo json_encode($arr);
?>
关键程序:
//插入书籍代码
include_once("global.php");
$arr = array();
$result = $mysqli->query("select book_id from book where book.book_name='".$_GET[bookClassOfBook]."'");
if($row = $result->fetch_row()){
$class = $row[0];
$resultInsert = $mysqli->query("insert into book_list (list_name,list_page_number,list_book_id)
values('".$_GET[bookListName]."','".$_GET[bookListPage]."',".$class.")");
$arr[result] = $resultInsert;
}else{
$arr[result] = false;
}
echo json_encode($arr);
?>
关键代码:
//插入书籍代码
include_once("global.php");
$arr = array();
$result = $mysqli->query("select class_id from book_class where book_class.class_name='".$_GET[bookClass]."'");
if($row = $result->fetch_row()){
$class = $row[0];
$resultInsert = $mysqli->query("insert into book (book_name,book_store,book_information,book_class)
values('".$_GET[bookName]."','".$_GET[bookStore]."','".$_GET[bookComment]."',".$class.")");
$arr[result] = $resultInsert;
}else{
$arr[result] = false;
}
echo json_encode($arr);
?>
添加故事关键代码:
//插入故事
include_once("global.php");
$arr = array();
$book_id = null;
$list_id = null;
$result = $mysqli->query("select book_id from book where book_name='".$_GET[storyOfBook]."'");
if($row = $result->fetch_row()){
$book_id = $row[0];
}else{
$arr[result] = false;
}
$result = $mysqli->query("select list_id from book_list where list_name='".$_GET[storyOfList]."'");
if($row = $result->fetch_row()){
$list_id = $row[0];
}else{
$arr[result] = false;
}
$result = $mysqli->query("insert into story (name,times,page,of_book,list,comments) value('".$_GET[storyName]."','".$_GET[storyIime]."',".$_GET[storyPage].",".$book_id.",".$list_i d.",'".$_GET[storyComment]."')");
if($result == false){
$arr[result] = false;
}else{
$arr[result] = true;
}
echo json_encode($arr);
$mysqli->close();
?>
4. 删除操作
关键程序:
include_once("global.php");
$arr = array(result=>false);
$name = trim($_GET[bookName]);
$result = $mysqli->query("call delete_book('".$name."')");//删除图书此处调用存储过程
if($result == true){
$arr[result]=true;
}
echo json_encode($arr);
$mysqli->close();
?>
4. 可视化界面的功能介绍
主界面:
记录生活点滴主界面:
添加类别子界面:
添加目录子界面:
添加图书子界面:
寻回遗失记忆主界面:
查找图书主界面:
查找图书子界面:
帮助信息主界面:
QQ连天主界面
通过本次设计实验,进一步深入理解数据库设计的整个过程,该儿童图书管
理系统的需求分析、数据库概念结构设计有关内容等。
1.前台程序设计技术html5 css3 javascript/jQuery等。
2.后台掌握php+mysql 。
3.美工采用photoshop 。
4.界面设计理念Metro界面。
这次的设计完成的是儿童图书管理系统的查询功能,添加,删除,修改功能,所有功能设计采
1.全新界面设计理念
2.美学艺术
3.全新交互设计理念,
界面美观,使用简单,遵循Don`t let me think理念。
综合练习了Mysql的使用和数据库得管理技术。综合熟悉并练习了SQL语言在编程中的使用。综合训练编程能力。认识系统,取的系统需求分析,更重要的是在编程方面提高了实现目标代码得能力及调试代码的能力。
附录(设计流程图、程序、表格、数据等)
源程序如下:
Index.html代码如下:
寻回遗失记忆
当前共有:本图书 书柜1/栏
图书的名字:*
存放的位置:
所属的类别:
内容简介:
一千零一夜
存储位置:书柜类别:
简介:书柜书柜书柜书柜书柜书柜书柜书柜书柜书柜书柜书柜书柜书柜书柜书柜书柜书柜书柜书柜书柜书柜书柜书
1/5
记录生活点滴
类别名称:*
图书的名字:*
存放的位置:
所属的类别:
内容简介:
目录名称:*
所在页码:* 所在图书: