武汉工程职业技术学院
《网络数据库与SQL语言》
课程设计报告
专 业: 计算机网络
班 级: 14级网络①班
姓 名:
组 员:
指导老师:
20##年12月
目 录
1.课程性质 3
2.课程内容 3
3.课程选题以及背景意义 3
4.数据库设计 4
5.系统结构模型 5
6.程序关键代码以及截图 6
7.心得体会 9
8.参考资料 10
课程性质:
1. 数据库技术是计算机软件领域的一个重要分支,是数据处理和信息管理中的核 心技术,也是一门综合性的软件技术,是编译原理、数据结构、操作系统、程序设计等许多软件知识的综合应用,其理论性和实用性都很强,是使用计算机 进行各种信息管理的必备知识。因此,数据库相关课程是计算机及其应用专业 中一门重要的专业基础课程。
2.本课程系统地介绍了数据库的基本理论,并以目前比较流行的关系型数据SQL Server 2008为载体,讲述了关系数据库的概念、管理、设计和开发。
• 系统掌握数据库系统基本概念、理论、主要功能、工作原理和实现技术
• 从实用性的角度出发理解并掌握数据库的安全性、并发控制和恢复技术
• 熟练地编写基本的SQL语句
• 掌握索引、数据完整性、视图、存储过程、触发器等概念及使用方法
• 进行数据库的设计、开发与管理
• 借助VB,VS开发工具,能独立开发某方面的数据库应用系统,为以后在数据库管理,系统平台上利用各种语言开发数据库应用系统奠定基础
课程内容
内容:建立一个可以查询的可视化窗口软件,学生登录软件可以看到各种相关书籍以及可以搜索相关书籍并且可以按照条件查找书籍,每本书都有内容摘要可以让学生简单明了的有选择性的去挑选相关书籍。考虑到实际情况下书籍较多所以建立弹窗,方便学生寻找借书。并且可以查询借书记录,当学生使用完软件后按“退出键“退出本软件。
管理员账号:管理员拥有最大权限可以“新增图书”和“修改书目”以及“删除书目”可以查询所有的图文信息,并且可以查看借书记录。
新用户:没有用户名密码的同学可以注册账号,需要输入“用户名”,“性别”,“密码”和“确认密码”提交后就可以正常使用了
课程选题背景及意义
选题:图书管理系统 意义:当代大学生沉迷于网络,深受网络暴力的危害,逃学,打架,彻夜不归,甚至有人小偷小摸,据网易新闻报道20##-05-09号郴州职业技术学刘凯杀害室友李波有说法称,虚拟世界里的拼杀刺激了刘凯的神经,引燃的杀机最终酿成悲剧。我选择这个主题希望大家可以多看点书不要沉迷于网络,努力学习。
数据库设计
1:建立数据库,数据库名为:MyLibray 建立四张表,表明分别为Books. LibaryAdmin. LiabryEecord. LiabryUser LoginRecord.
*图为Books (ISBN 数据类型:int 其他都为nvarchar(max)类型)
*图为 LibrayAdmin(adminID数据类型:int, adminName数nvarchar(MAX), adminPassword数据类型:nvarchar(50), times数据类型:int)
*图为 Library (ID 数据类型:int, useName数据类型:nvarchar(MAX)
ISBN号数据类型:int, 书名数据类型:nvarchar(MAX), 借书日期数据类型:nvarchar(MAX) )
*图为LibaryUser(userID数据类型:int, userName数据类型:nvarchar(MAX) , userPassword数据类型: nvarchar(MAX), times数据类型:int, sex数据类型: nvarchar(MAX) )
*
图为LoginRecord(ID数据类型;int, useName数据类型:
系统结构设计
系统结构模型需要用到E-R模型
程序关键代码以及截图
else if (rbUser.Checked == true)
using (SqlConnection conn = new SqlConnection(connStr))
{
string sql = "select userPassword,times from LibraryUser where userName = @name";//登入用户名
using (SqlCommand cmd = new SqlCommand(sql, conn))
{
cmd.Parameters.AddWithValue("@name", txtName.Text);
conn.Open();
using (SqlDataReader dr = cmd.ExecuteReader())
if (dr.Read())
{
string pwd = dr["userPassword"].ToString();
int times = Convert.ToInt32(dr["times"]);
dr.Close();//退出
frm.Show();
}
private void btnExit_Click(object sender, EventArgs e)
{
this.Close();
}
private void btnModify_Click(object sender, EventArgs e)
{
frmModifyPwd frm = new frmModifyPwd();
frm.Show();//显示登入成功信息
}
private void AddLoginRecord()
{
string name=txtName.Text;
string connStr = "server=.;database=MyLibrary;Integrated Security=True;";//实例化
SqlConnection conn = new SqlConnection(connStr);
string sql = "insert into LoginRecord(userName) values('" + name + "')";
SqlCommand cmd = new SqlCommand(sql, conn);
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
private void btnAddBook_Click(object sender, EventArgs e)
{
string name = txtBookName.Text;
string author = txtAuthor.Text;
string kind = txtBookKind.Text;
string time = txtTime.Text;
string content = txtContent.Text;
string press = txtPress.Text;
string connStr = "server=.;database=MyLibrary;Integrated Security=True;";//实例化
SqlConnection conn = new SqlConnection(connStr);
string sql = "insert into Books(书名,作者,图书类别,出版日期,内容摘要,出版社) values( '" + name + "','" + author + "','" + kind + "','" + time + "','" + content + "','" + press + "')";
//绑定数据库
SqlCommand cmd = new SqlCommand(sql, conn);
conn.Open();
cmd.ExecuteNonQuery();
MessageBox.Show("添加成功");
conn.Close();
txtBookName.Text = "";
txtAuthor.Text = "";
txtBookKind.Text = "";
txtTime.Text = "";
txtContent.Text = "";
txtPress.Text = "";
}
心得体会
通过对数据库的学习,我也明白了各行各业都离不开数据库,就算是一个小型的超市也离不开 它。可见数据库这门课的广泛性,如果能够认真学好它将来必有成就。我就是抱着这种信念去学习数据库的。第一次接触数据库,第一次接触SQL语言,虽然陌 生,但是可以让我从头开始学,就算没有基础的人也可以学得很好。刚开始练习SQL语言的时候,并不是很难,基本上都是按照老师的步骤来做,还很有成就感。 后来学了单表查询和连接查询后,就慢慢发现越学越困难了,每个题目都要思考很久,并且每个题目基本上不止一个答案,所以必须找出最优的答案。后面的删除、 插入、修改这些题目都变化蛮大的,书本上的例题根本无法满足我们,好在老师给我们提供了大量的课件,通过这些PPT,我们可以巩固课内的知识,还可以学习 内容相关的知识,更好地完成老师布置的作业。
除了老师布置的一些基本作业外,还有一份大作业。就像我们小组的是杂货店的销售管理系统,在完成这一作业的过程中,我们可以通过网络实现一家杂货店。过程 是很复杂的,杂货店需要员工,还有百来种商品,不仅需要大量的数据,还要完成需求说明,数据词典,还有E-R图等,虽然想象起来并不是很难,但是要转化成 文字,转化成人们能够读懂的文字就显得十分困难。特别是一个完整的销售系统,对我们来说都是第一次接触,在做大作业的时候经常是前面改改,后面改改,因为 一些数据不能很好地对应起来,经常会遗忘一些,所以出现了这样的情况。一个完整的数据库系统也就是在这样修修改改的状态下完成的,也给了我很大的反思。第 一、一个数据库的完成一定要考虑各方面的因素,包括现实因素。第二、在完成这类作业时,修修改改是很正常的,不要因此而厌倦。第三、一个完整的数据库一定 不能出现错误,否则会在现实生活中带来不必要的麻烦。
通过本学期数据库的学习及大作业的完成,很有去作项目的冲动,但深知自己的能力水平有限,还需要更多的学习。
参考文献
【1】 郑阿奇《SQL server 2008》清华大学出版社 2011.1