Sql_server数据库课程设计_图书馆管理系统

合集下载

《数据库》课程设计报告--图书借阅管理系统的设计与实现

《数据库》课程设计报告--图书借阅管理系统的设计与实现

《SQL Server数据库课程设计》题目:图书借阅管理系统的设计与实现院、系:计算机信息与技术系学科专业:软件工程学号: B10060XXX ___学生姓名: XXXX指导教师:XX2012年06月目录引言1第一章需求分析1一、功能需求1二、数据需求2第二章概要设计2一、系统设计目标2二、系统功能设计2三、开发工具的选择3第三章详细设计5一。

实体E—R图5二. 表的设计6三.界面设计7第四章软件实现21一、登录实现21二、图书管理21三、图书借阅21四、图书查询21五、图书增加21第五章软件测试21一、测试方案21二、测试项目21三、测试项目及测试内容21四、测试用例21五、评价22第六章课程设计总结24参考文献25引言随着社会的发展,人们对知识的需求也不断地增长。

在这种形势下,书籍就渐渐地成为人们获取并增长知识的主要途径,而图书馆就自然而然地在人们的生活中占据了一定的位置,如何科学地管理图书馆不但关系到读者求知的方便程度,也关系到图书馆的发展,因此,开发一套完善的图书馆管理系统就势在必行.图书馆在正常运营中总是面对大量的读者信息、书籍信息以及两者相互作用产生的借书信息、还书信息。

本软件针对图书馆的业务范围及工作特点,设计了图书查询、新增图书、图书借阅书以及图书归还等5个子系统,这5个子系统包括了图书馆的主要业务,可以全面实现对图书馆采购、编目、检索、统计和流通等业务的计算机管理,使图书馆管理水平和业务水平跃上一个新的台阶。

应用本系统可以在计算机上灵活、方便地管理图书,从而大大的提高了处理速率,使管理更加现代化。

本系统是根据实际情况和具体内容,按照一定的要求,科学、合理的进行系统分析、设计,具体包括画面设计、数据输入、查询、新增、删除等设计。

从而使本系统完全能满足经济性、灵活性、系统性及可靠性的要求。

本系统的实现的主要功能有:图书馆图书的查询、新书的入库、图书的借阅和归还等等功能,是一个基本可以满足借阅者和图书馆管理人员的需要的数据库。

Sql_server数据库课程设计_图书馆管理系统

Sql_server数据库课程设计_图书馆管理系统

数据库课程设计设计选题:图书管理系统系别信息工程系专业计算机网络技术班级 01姓名马斌龙学号 0137姓名王贤宽学号 0137姓名黄晓辉学号 0140指导老师2011年12月29日一.系统需求分析图书管理工作繁琐,借阅频繁,包含大量的信息数据,因此就需要一个完善的图书管理系统来实现对这些数据的有效管理。

本系统主要任务就是对图书、读者、借阅信息、查询进行统一管理,满足各类用户的需求。

本系统在功能上要实现借阅图书、续借图书、归还图书、催还图书、信息查询等功能。

二.数据库分析图书管理系统就是要求图书管理人员通过该系统对图书、读者、借阅信息等进行统一管理,从而实现功能上的借阅图书、续借图书、归还图书、催还图书以及信息查询。

这就要求管理人员能够对数据库进行熟练操作而简单的表查询、触发器的建立、存储过程的建立以及用户自定义函数的建立等等这些管理数据库的方法都能对图书馆里系统的管理起到事半功倍的效果。

四、前后与后台连接示意图五、图书馆管理系统功能算法实现前台算法实现主界面<!DOCTYPE html PUBLIC "-">图书信息查询</a><br /> <br /><a href=".\">读者信息查询</a><br /><br /><a href=".\">借还信息记录</a></span></body></html>图书信息<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Transitional//EN" ""> <html xmlns="" ><head runat="server"><title>无标题页</title></head><body><form id="form1" runat="server"><div style="text-align: center"><asp:Label ID="Label1" runat="server" Text="书名"></asp:Label><asp:TextBox ID="TextBox1" runat="server"></asp:TextBox><br /><asp:Button ID="Button1" runat="server" OnClick="Button1_Click1" Text="查询" /><br /><asp:GridView ID="GridView1" runat="server" OnSelectedIndexChanged="GridView1_SelectedIndexChanged"></asp:GridView></div></form></body></html>读者信息<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Transitional//EN" ""> <html xmlns="" ><head id="Head1" runat="server"><title>无标题页</title></head><body><form id="form1" runat="server"><div style="text-align: center"><asp:Label ID="Label1" runat="server" Text="姓名"></asp:Label><asp:TextBox ID="TextBox1" runat="server"></asp:TextBox><br /><asp:Button ID="Button1" runat="server" OnClick="Button1_Click1" Text="查询" /><br /><asp:GridView ID="GridView1" runat="server" OnSelectedIndexChanged="GridView1_SelectedIndexChanged"></asp:GridView></div></form></body></html>借还信息表<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Transitional//EN" ""> <html xmlns="" ><head runat="server"><title>无标题页</title></head><body><form id="form1" runat="server"><div></div></form></body></html>添加图书using System;using ;using ;using ;using partial class add : protected void Button1_Click1(object sender, EventArgs e){string s1, s2, s3;s1 = ;s2 = ;s3 = ;string str = "server=WINKS80;database=图书管理系统;integrated security=true";SqlConnection con = new SqlConnection(str);SqlCommand com = new SqlCommand();try{= con;= "insert 图书信息表 values ('" + s1 + "','" + s2 + "','" + s3 + "')";();();();("插入成功");}catch (Exception a1){("插入失败");}finally{();}}删除图书protected void Button3_Click(object sender, EventArgs e){string s4;s4 = ;string str = "server=WINKS80;database=图书管理系统;integrated security=true";SqlConnection con = new SqlConnection(str);SqlCommand com = new SqlCommand();try{= con;= "delete 图书信息表 where bname = '" + s4 + "'"; ();();();("删除成功");}catch (Exception a1){("删除失败");}finally{();}}}添加读者using partial class manger : protected void Button1_Click(object sender, EventArgs e){string s1, s2, s3;s1 = ;s2 = ;s3 = ;string str = "server=WINKS80;database=图书管理系统;integrated security=true";SqlConnection con = new SqlConnection(str);SqlCommand com = new SqlCommand();try{= con;= "insert 读者信息表 values ('" + s1 + "','" + s2 + "','" + s3 + "')";();();();("添加成功");}catch (Exception a1) {("添加失败");}finally{();}}删除读者、using System;using ;using ;using ;using protected void Button2_Click(object sender, EventArgs e){string s4;s4 = ;string str = "server=WINKS80;database=图书管理系统;integrated security=true";SqlConnection con = new SqlConnection(str);SqlCommand com = new SqlCommand();try{= con;= "delete 读者信息表 where rname = '" + s4 + "'"; ();();();("删除成功");}catch (Exception a1) {("删除失败");}finally{();}}}后台算法实现创建数据库 (图书管理系统)create database 图书管理系统创建图书信息表create table 图书信息表( bid char(10) not null primary key, bname nvarchar(15) not null,bkind varchar(8) not null)创建读者信息表create table 读者信息表( rid char(10) not null primary key, rname nvarchar(15) not null,rkind varchar(8) not null)创建借还书信息表create table 借还书信息表( recordid bigint identity(1,1) not null primary key,bid char(10) foreign key references 图书信息表(bid),btimes bigint not null,retime smalldatetime not null,bstat bit not null)六.实训心得通过本次的课程设计,我清楚的感觉SQL的重要性。

数据库课程设计——图书管理系统

数据库课程设计——图书管理系统

借阅管理模块
实现图书的借阅、归还和 续借功能,记录借阅历史 和当前借阅状态。
系统管理模块
实现用户管理、权限管理 、日志管理等功能,保障 系统的安全性和稳定性。
04
系统实现
开发环境搭建
开发工具
Visual Studio Code、MySQL Workbench
运行环境
Windows 10、MySQL 5.7
息。
借阅数据
包括借阅编号、读者 编号、图书编号、借 阅日期、归还日期等
信息。
系统用户数据
包括用户编号、用户 名、密码、角色和权
限等信息。
性能需求
响应时间
01
系统响应时间应小于2秒。
并发用户数
02
系统应支持至少100个并发用户。
数据备份与恢复
03
系统应具备定期自动备份和手动备份功能,同时能够在需要时
数据库课程设计— —图书管理系统
2024-01-09
目录
• 引言 • 系统需求分析 • 系统设计 • 系统实现 • 系统测试与优化 • 课程设计总结与展望
01
引言
课程设计目的
01 掌握数据库设计的基本步骤和方法
通过课程设计,使学生熟悉数据库设计的流程, 包括需求分析、概念设计、逻辑设计、物理设计 等阶段,并掌握各个阶段的主要任务和方法。
模块实现
图书管理模块
实现图书的录入、修改、删除等功能 ,提供对图书信息的全面管理。
借阅管理模块
实现图书的借阅、归还等功能,记录 借阅历史,方便管理员和读者查看。
读者管理模块
实现读者的注册、登录、个人信息管 理等功能,提供对读者信息的全面管 理。
系统管理模块
实现用户权限管理、系统日志查看等 功能,保障系统的安全性和稳定性。

Sql_server数据库课程设计_图书馆管理系统

Sql_server数据库课程设计_图书馆管理系统

数据库课程设计设计选题:图书管理系统系别信息工程系专业计算机网络技术班级 2010022201姓名马斌龙学号 201002220137姓名王贤宽学号 201002220137姓名黄晓辉学号 201002220140指导老师2011年12月29日一.系统需求分析图书管理工作繁琐,借阅频繁,包含大量的信息数据,因此就需要一个完善的图书管理系统来实现对这些数据的有效管理。

本系统主要任务就是对图书、读者、借阅信息、查询进行统一管理,满足各类用户的需求。

本系统在功能上要实现借阅图书、续借图书、归还图书、催还图书、信息查询等功能。

二.数据库分析图书管理系统就是要求图书管理人员通过该系统对图书、读者、借阅信息等进行统一管理,从而实现功能上的借阅图书、续借图书、归还图书、催还图书以及信息查询。

这就要求管理人员能够对数据库进行熟练操作而简单的表查询、触发器的建立、存储过程的建立以及用户自定义函数的建立等等这些管理数据库的方法都能对图书馆里系统的管理起到事半功倍的效果。

五、图书馆管理系统功能算法实现5.1 前台算法实现5.1.1 主界面<!DOCTYPE html PUBLIC"-//W3C//DTD XHTML 1.0 Transitional//EN" "/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="/1999/xhtml" ><head><title>欢迎使用图书管理系统</title></head><body style="text-align: center"><span style="font-size: 24pt"><br /><br /><br /><a href=".\book.aspx">图书信息查询</a><br /><br /><a href=".\reader.aspx">读者信息查询</a><br /><br /><a href=".\record.aspx">借还信息记录</a></span></body></html>5.1.2 图书信息<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="/1999/xhtml" ><head runat="server"><title>无标题页</title></head><body><form id="form1" runat="server"><div style="text-align: center"><asp:Label ID="Label1" runat="server" Text="书名"></asp:Label><asp:TextBox ID="TextBox1"runat="server"></asp:TextBox><br /><asp:Button ID="Button1" runat="server"OnClick="Button1_Click1" Text="查询" /><br /><asp:GridView ID="GridView1" runat="server" OnSelectedIndexChanged="GridView1_SelectedIndexChanged"></asp:GridView></div></form></body></html>5.1.3 读者信息<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="/1999/xhtml" ><head id="Head1" runat="server"><title>无标题页</title></head><body><form id="form1" runat="server"><div style="text-align: center"><asp:Label ID="Label1" runat="server" Text="姓名"></asp:Label><asp:TextBox ID="TextBox1"runat="server"></asp:TextBox><br /><asp:Button ID="Button1" runat="server"OnClick="Button1_Click1" Text="查询" /><br /><asp:GridView ID="GridView1" runat="server" OnSelectedIndexChanged="GridView1_SelectedIndexChanged"></asp:GridView></div></form></body></html>5.1.4 借还信息表<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="/1999/xhtml" ><head runat="server"><title>无标题页</title></head><body><form id="form1" runat="server"><div></div></form></body></html>5.1.5添加图书using System;using System.Data;using System.Data.SqlClient;using System.Configuration;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;public partial class add : System.Web.UI.Page{protected void Button1_Click1(object sender, EventArgs e) {string s1, s2, s3;s1 = TextBox1.Text;s2 = TextBox2.Text;s3 = TextBox3.Text;string str = "server=WINKS80;database=图书管理系统;integrated security=true";SqlConnection con = new SqlConnection(str);SqlCommand com = new SqlCommand();try{com.Connection = con;mandText = "insert 图书信息表 values ('" + s1 + "','" + s2 + "','" + s3 + "')";con.Open();com.ExecuteNonQuery();con.Close();Response.Write("插入成功");}catch (Exception a1){Response.Write("插入失败");}finally{con.Close();}}5.1.6 删除图书protected void Button3_Click(object sender, EventArgs e){string s4;s4 = TextBox4.Text;string str = "server=WINKS80;database=图书管理系统;integrated security=true";SqlConnection con = new SqlConnection(str);SqlCommand com = new SqlCommand();try{com.Connection = con;mandText = "delete 图书信息表where bname = '" + s4 + "'";con.Open();com.ExecuteNonQuery();con.Close();Response.Write("删除成功");}catch (Exception a1){Response.Write("删除失败");}finally{con.Close();}}}5.1.7添加读者using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;public partial class manger : System.Web.UI.Page{protected void Button1_Click(object sender, EventArgs e) {string s1, s2, s3;s1 = TextBox1.Text;s2 = TextBox2.Text;s3 = TextBox3.Text;string str = "server=WINKS80;database=图书管理系统;integrated security=true";SqlConnection con = new SqlConnection(str);SqlCommand com = new SqlCommand();try{com.Connection = con;mandText = "insert 读者信息表 values ('" + s1 + "','" + s2 + "','" + s3 + "')";con.Open();com.ExecuteNonQuery();con.Close();Response.Write("添加成功");}catch (Exception a1){Response.Write("添加失败");}finally{con.Close();}}5.1.7删除读者、using System;using System.Data;using System.Data.SqlClient;using System.Configuration;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;protected void Button2_Click(object sender, EventArgs e){string s4;s4 = TextBox4.Text;string str = "server=WINKS80;database=图书管理系统;integrated security=true";SqlConnection con = new SqlConnection(str);SqlCommand com = new SqlCommand();try{com.Connection = con;mandText = "delete 读者信息表where rname = '" + s4 + "'";con.Open();com.ExecuteNonQuery();con.Close();Response.Write("删除成功");}catch (Exception a1){Response.Write("删除失败");}finally{con.Close();}}}5.2后台算法实现5.2.1 创建数据库(图书管理系统)create database 图书管理系统5.2.2 创建图书信息表create table 图书信息表( bid char(10) not null primary key,bname nvarchar(15) not null,bkind varchar(8) not null)5.2.3 创建读者信息表create table 读者信息表( rid char(10) not null primary key,rname nvarchar(15) not null,rkind varchar(8) not null)5.2.4 创建借还书信息表create table 借还书信息表( recordid bigint identity(1,1) not null primary key,bid char(10) foreign key references 图书信息表(bid),btimes bigint not null,retime smalldatetime not null,bstat bit not null)六.实训心得通过本次的课程设计,我清楚的感觉SQL的重要性。

SQLServer课程设计——图书馆管理系统

SQLServer课程设计——图书馆管理系统

一、题目描述本数据库的名字叫做图书馆管理系统数据库,主要是用来存储和修改图书馆中包括图书、图书类型、借阅者重要资料。

二、需求分析随着图书馆规模的不断扩大,图书数量也相应的增加,有关图书的各种信息量也成倍增加,面对着庞大的信息量,传统的人工方式管理会导致图书馆管理上的混乱,人力与物力过多浪费,图书馆管理费用的增加,从而使图书馆的负担过重,影响整个图书馆的运作和控制管理,因此,必须制定一套合理、有效,规范和实用的图书管理系统,对图书资料进行集中统一的管理。

另一方面,IT产业和Internet获得了飞速发展,计算机应用已渗透到了各个领域,引起信息管理的革命,实现了信息的自动化处理,提高了处理的及时性和正确性。

提高图书管理工作效率,作到信息的规范管理,科学统计和快速查询,让图书馆更好的为学校,社会服务。

三、数据库中各表结构的清单3.1数据库中各表主要有:3.1.1图书表:3.1.2图书类别表:3.1.3借阅表:3.1.4借阅卡表:3.2数据间的联系:1.图书表<--图书类型表2.借阅者表<-->借阅者身份表3.图书表---借阅者表3.3数据操作:添加、删减元组、修改相应属性的数据。

#include<stdio.h>#include<string.h>#include<conio.h>#include<stdlib.h>#include<ctype.h>#define STACK_INIT_SIZE 10#define OK 1#define TRUE 1#define FALSE 0#define ERROR 0struct student /*定义学生类型,用于存放借出的书籍*/{int carnum;char lendbook[10];}student[1000];struct employ /*定义职工类型*/{int employnum;char employname[15];int employage;char employsex[2];char employleve[10];long int employtage;}employ[50];struct book /*定义书的类型*/{int booknum;char bookname[10];char bookcreat[10];int turefalse; /*用于借书和还书模块判断一本书是否借出的条件*/}book[1000];struct car /*借书卡的数据类型*/{int carnum;char studentname[10];int studentclass;}car[100];huanbook() /*还书函数*/{FILE *fp,*fp2; /*定义两个文件指针,fp2用于修改数据时设立临时文件用,防止数据遭破坏*/int i,n;int carnum;char lendbook[10];printf("请你输入你的卡号\n");scanf("%d",&carnum);fp=fopen("car.txt","r"); /*读取卡号记录*/for(i=0;fread(&car[i],sizeof(struct car),1,fp)!=0;i++) /*for循环判断卡号是否存在*/{if(car[i].carnum==carnum) /*卡号存在,进入下一循环*/{n=i;fclose(fp);printf("请输入你要还的书的名字\n");scanf("%s",lendbook);fp=fopen("record.txt","r");for(i=0;fread(&student[i],sizeof(struct student),1,fp)!=0;i++) /*判断是否借阅了输入的书*/{if(strcmp(student[i].lendbook,lendbook)==0) /*借阅了该书,进入下一循环,否则出错显示*/{fclose(fp);fp=fopen("record.txt","r");fp2=fopen("bookl.txt","w");for(i=0;fread(&student[i],sizeof(struct student),1,fp)!=0;i++){if(strcmp(student[i].lendbook,lendbook)==0){continue; /*删除还掉的书的借书记录*/}fwrite(&student[i],sizeof(struct student),1,fp2); /*写入原来没还的书的记录*/}fclose(fp);fclose(fp2);fp=fopen("record.txt","w");fp2=fopen("bookl.txt","r");for(i=0;fread(&student[i],sizeof(struct student),1,fp2)!=0;i++){fwrite(&student[i],sizeof(struct student),1,fp); /*将借书记录信息写回*/}fclose(fp);fclose(fp2);fopen("bookl.txt","w"); /*清临时文件的记录*/fclose(fp2);fp=fopen("book.txt","r");fp2=fopen("bookl.txt","w");for(i=0;fread(&book[i],sizeof(struct book),1,fp)!=0;i++) /*将书的记录写入临时文件,防止因为修改信息破坏以前的记录*/{if(i==n){book[i].turefalse=1;fwrite(&book[i],sizeof(struct book),1,fp2); /*将还的书的原来状态设为无人借阅的*/continue;}fwrite(&book[i],sizeof(struct book),1,fp2);}fclose(fp);fclose(fp2);fp=fopen("book.txt","w");fp2=fopen("bookl.txt","r");for(i=0;fread(&book[i],sizeof(struct book),1,fp2)!=0;i++){fwrite(&book[i],sizeof(struct book),1,fp); /*将临时文件写回*/}fclose(fp);fclose(fp2);fopen("bookl.txt","w"); /*清临时文件*/fclose(fp2);printf("还书完毕,按任意键返回\n");getch();return 1;}}printf("你没有借这样的书,任意键返回\n"); /*出错提示*/fclose(fp);getch();return 0;}}printf("系统没这样的卡,和管理员联系,按任意键返回\n"); /*出错提示*/fclose(fp);getch();}findbook(){FILE *fp;char bookname[10];int ture,i;fp=fopen("book.txt","r");printf("请输入你要查找的书名\n");scanf("%s",bookname);for(i=0;fread(&book[i],sizeof(struct book),1,fp)!=0;i++){if(strcmp(bookname,book[i].bookname)==0){if(book[i].turefalse==1){printf("这本书的详细资料是:%d %s %s 此书现在无人借阅\n按任意键返回\n",book[i].booknum,book[i].bookname,book[i].bookcreat);}else {printf("这本书已经有人借出\n");fclose(fp);return 0;}fclose(fp);return FALSE;}}printf("没有你要查询的书籍\n");fclose(fp);return FALSE;}findbook1(){FILE *fp;char bookcreat[10];int ture,i;fp=fopen("book.txt","r");printf("请输入你要查找的作者名\n");scanf("%s",bookcreat);for(i=0;fread(&book[i],sizeof(struct book),1,fp)!=0;i++){if(strcmp(bookcreat,book[i].bookcreat)==0){if(book[i].turefalse==1){printf("这本书的详细资料是:%d %s %s 此书现在无人借阅\n按任意键返回\n",book[i].booknum,book[i].bookname,book[i].bookcreat);}else {printf("这本书已经有人借出\n");fclose(fp);return 0;}fclose(fp);return FALSE;}}printf("没有你要查询的书籍\n");fclose(fp);return FALSE;}lendcount(){FILE *fp;int i,n=0;fp=fopen("record.txt","r");for(i=0;fread(&student[i],sizeof(struct student),1,fp)!=0;i++){printf("卡号:%d 借出的书籍:%s \n",student[i].carnum,student[i].lendbook);n=n+1;}fclose(fp);printf("目前共有%d本书借出\n",n);printf("按任意键\n");getch();return n;}chabook(){char ch5;do{printf("---------------欢迎进入图书查询系统!--------------\n");printf(" 1:<按书名查找>\n");printf(" 2:<按作者查找>\n");printf(" 0:<返回>\n");printf("请输入0--2,其他输入非法!\n");scanf("%s",&ch5);switch(ch5){case '1':findbook();getch();break;case '2':findbook1();getch();break;case '0':break;default:printf("无此操作\n");getch();break;}}while(ch5!='0');return FALSE;}lendbook(){FILE *fp,*fp2;int i,n;int carnum;printf("请你输入你的卡号\n");scanf("%d",&carnum);fp=fopen("car.txt","r");for(i=0;fread(&car[i],sizeof(struct car),1,fp)!=0;i++){if(car[i].carnum==carnum){n=i;fclose(fp);printf("请输入你要借阅的书的名字\n");scanf("%s",student[n].lendbook);fp=fopen("book.txt","r");for(i=0;fread(&book[i],sizeof(struct book),1,fp)!=0;i++){if(strcmp(book[i].bookname,student[n].lendbook)==0){if(book[i].turefalse==0) {printf("对不起,此书有人借出,请借其他书\n");fclose(fp);getch();return;}elsefclose(fp);fp=fopen("record.txt","a+");student[n].carnum=carnum;fwrite(&student[n],sizeof(struct student),1,fp);fclose(fp);fp=fopen("book.txt","r");fp2=fopen("bookl.txt","w");for(i=0;fread(&book[i],sizeof(struct book),1,fp)!=0;i++){if(strcmp(book[i].bookname,student[n].lendbook)==0){book[i].turefalse=0;fwrite(&book[i],sizeof(struct book),1,fp2);continue;}fwrite(&book[i],sizeof(struct book),1,fp2);fclose(fp);fclose(fp2);fp=fopen("book.txt","w");fp2=fopen("bookl.txt","r");for(i=0;fread(&book[i],sizeof(struct book),1,fp2)!=0;i++){fwrite(&book[i],sizeof(struct book),1,fp);}fclose(fp);fclose(fp2);fopen("bookl.txt","w");fclose(fp2);printf("借书完毕,按任意键返回\n");getch();return;}}printf("不存在这样的书,任意键返回\n");fclose(fp);getch();return;}}printf("你的卡号不存在,请申请新卡,按任意键返回\n");fclose(fp);getch();}carcount(){FILE *fp;int i,n=0;fp=fopen("car.txt","r");for(i=0;fread(&car[i],sizeof(struct car),1,fp)!=0;i++){printf("第%d张卡<卡号:%d 姓名:%s 班级:%d>\n",i+1,car[i].carnum,car[i].studentname,car[i].studentclass);n=n+1;}fclose(fp);printf("目前共有%d本书\n",n);printf("按任意键\n");}delcar(){FILE *fp,*fp2;int i;int carnum;char choice;fp=fopen("car.txt","r");fp2=fopen("bookl.txt","w");printf("请输入你要删除的卡号\n");printf("如果你输入的卡号存在,系统自动删除该信息!如果不存在,系统不做任何改动\n");scanf("%d",&carnum);for(i=0;fread(&car[i],sizeof(struct car),1,fp)!=0;i++){if(car[i].carnum!=carnum){fwrite(&car[i],sizeof(struct car),1,fp2);}}fclose(fp);fclose(fp2);printf("是否真的要删除该卡?删除后该书籍的所有信息将无法恢复《Y/N》\n"); scanf("%s",&choice);if(choice=='y'||choice=='Y'){fp=fopen("car.txt","w");fp2=fopen("bookl.txt","r");for(i=0;fread(&car[i],sizeof(struct car),1,fp2)!=0;i++){fwrite(&car[i],sizeof(struct car),1,fp);}fclose(fp);fclose(fp2);fp2=fopen("bookl.txt","w");fclose(fp2);printf("按任意键返回\n");getch();return;}else{printf("按任意键返回\n");getch();return;}}addcar(){FILE *fp;int i=0;fp=fopen("car.txt","a+");printf("请你输入卡号\n");scanf("%d",&car[i].carnum);printf("请你输入学生姓名\n");scanf("%s",car[i].studentname);printf("请你输入班级\n");scanf("%d",&car[i].studentclass);fwrite(&car[i],sizeof(struct car),1,fp);fclose(fp);printf("输入完毕,任意键返回\n");getch();}changemploy(){FILE *fp,*fp2;char employname[10],choice;int i;fp=fopen("employ.txt","r");fp2=fopen("bookl.txt","w");printf("请你输入要修改的职工的名字\n");scanf("%s",employname);for(i=0;fread(&employ[i],sizeof(struct employ),1,fp)!=0;i++){if(strcmp(employ[i].employname,employname)==0){printf("你所要修改的职工的资料如下,请选择你要修改的内容\n");printf("<职工号:%d职工名:%s 年龄:%d 性别:%s 学历:%s 工资:%d>\n",employ[i].employnum,employ[i].employname,employ[i].employag e,employ[i].employsex,employ[i].employleve,employ[i].employtage);printf("2:修改职工名\n");printf("3:修改职工年龄\n");printf("4:修改职工工资\n");printf("5:修改职工学历\n");printf("请输入1-5:");scanf("%s",&choice);switch(choice){case '1':{printf("请输入新的职工号\n");scanf("%d",&employ[i].employnum);fwrite(&employ[i],sizeof(struct employ),1,fp2);}break;case '2':{printf("请输入新的职工姓名\n");scanf("%s",employ[i].employname);fwrite(&employ[i],sizeof(struct employ),1,fp2);}break;case '3':{printf("请输入新的年龄\n");scanf("%d",&employ[i].employage);fwrite(&employ[i],sizeof(struct employ),1,fp2);}break;case '4':{printf("请输入新的职工工资\n");scanf("%d",&employ[i].employtage);fwrite(&employ[i],sizeof(struct employ),1,fp2);}break;case '5':{printf("请输入新的职工学历\n");scanf("%s",employ[i].employleve);fwrite(&employ[i],sizeof(struct employ),1,fp2);}default:printf("没有这样的操作");break;}continue;}fwrite(&employ[i],sizeof(struct employ),1,fp2); }fclose(fp);fclose(fp2);fp=fopen("employ.txt","w");fp2=fopen("bookl.txt","r");for(i=0;fread(&employ[i],sizeof(struct employ),1,fp2)!=0;i++){fwrite(&employ[i],sizeof(struct employ),1,fp);}fclose(fp);fclose(fp2);fp2=fopen("bookl.txt","w");fclose(fp2);printf("按任意键返回\n");getchar();return;}delemploy(){FILE *fp,*fp2;int i;char employname[10],choice;fp=fopen("employ.txt","r");fp2=fopen("bookl.txt","w");printf("请输入你要删除的职工名\n");printf("如果你输入的职工存在,系统自动删除该信息!如果不存在,系统不做任何改动\n");scanf("%s",employname);for(i=0;fread(&employ[i],sizeof(struct employ),1,fp)!=0;i++){if(strcmp(employname,employ[i].employname)!=0){fwrite(&employ[i],sizeof(struct employ),1,fp2);}}fclose(fp);fclose(fp2);printf("是否真的要删除该职工信息?删除后的所有信息将无法恢复《Y/N》\n"); scanf("%s",&choice);if(choice=='y'||choice=='Y'){fp=fopen("employ.txt","w");fp2=fopen("bookl.txt","r");for(i=0;fread(&employ[i],sizeof(struct employ),1,fp2)!=0;i++){fwrite(&employ[i],sizeof(struct employ),1,fp);}fclose(fp);fclose(fp2);fp2=fopen("bookl.txt","w");fclose(fp2);printf("按任意键返回\n");getch();return TRUE;}else{printf("按任意键返回\n");getch();return FALSE;}}employcount(){FILE *fp;int i,n=0;fp=fopen("employ.txt","r");for(i=0;fread(&employ[i],sizeof(struct employ),1,fp)!=0;i++){printf("第%d职工的信息如下:\n<职工号:%d 职工名:%s 年龄:%d 性别:%s 学历:%s 工资:%d>\n",n+1,employ[i].employnum,employ[i].employname,employ[i].emplo yage,employ[i].employsex,employ[i].employleve,employ[i].employtage);n++;}fclose(fp);printf("目前共有%d个职工\n",n);printf("按任意键返回\n");}addemploy(){FILE *fp;char choice='y';int i=1;fp=fopen("employ.txt","a+");while(choice=='y'||choice=='Y'){printf("请你输入职工号码\n");scanf("%d",&employ[i].employnum);printf("请你输入职工名\n");scanf("%s",employ[i].employname);printf("请输入职工年龄\n");scanf("%d",&employ[i].employage);printf("请你输入性别\n");scanf("%s",employ[i].employsex);printf("请你输入职工的学历水平\n");scanf("%s",employ[i].employleve);printf("请输入职工的工资\n");scanf("%d",&employ[i].employtage);fwrite(&employ[i],sizeof(struct employ),1,fp);printf("是否要输入下个职工信息?\n");scanf("%s",&choice);}printf("按任意键返回\n");fclose(fp);}addbook(){FILE *fp;int i=0;char choice='y';fp=fopen("book.txt","a+");while(choice=='y'||choice=='Y'){printf("请你输入第%d本书的序号\n",i+1);scanf("%d",&book[i].booknum);printf("请你输入书名\n");scanf("%s",book[i].bookname);printf("请你输入书的作者\n");scanf("%s",book[i].bookcreat);printf("请设为1或0,1代表书还没人借,0表示书已经借出,设其他值,程序运行时无法得出正常结果\n");printf("请你设定书的状态\n");scanf("%d",&book[i].turefalse);fwrite(&book[i],sizeof(struct book),1,fp);printf("是否要输入下本书\n");scanf("%s",&choice);}fclose(fp);}bookcount(){FILE *fp;int i,n=0;fp=fopen("book.txt","r");for(i=0;fread(&book[i],sizeof(struct book),1,fp)!=0;i++){if(book[i].booknum!=0&&strlen(book[i].bookname)!=0&&strlen(book[i].bookcre at)!=0){printf("第%d本书<序号:%d 书名:%s 作者:%s 状态:%d>\n",i+1,book[i].booknum,book[i].bookname,book[i].bookcreat,book[i].t urefalse);n=n+1;}}fclose(fp);printf("目前共有%d本书\n",n);printf("按任意键\n");}delbook(){FILE *fp,*fp2;int i;char bookname[10],choice;fp=fopen("book.txt","r");fp2=fopen("bookl.txt","w");printf("请输入你要删除的书名\n");printf("如果你输入的书名存在,系统自动删除该信息!如果不存在,系统不做任何改动\n");scanf("%s",bookname);for(i=0;fread(&book[i],sizeof(struct book),1,fp)!=0;i++){if(strcmp(bookname,book[i].bookname)!=0){fwrite(&book[i],sizeof(struct book),1,fp2);}}fclose(fp);fclose(fp2);printf("是否真的要删除该书籍?删除后该书籍的所有信息将无法恢复《Y/N》\n"); scanf("%s",&choice);if(choice=='y'||choice=='Y'){fp=fopen("book.txt","w");fp2=fopen("bookl.txt","r");for(i=0;fread(&book[i],sizeof(struct book),1,fp2)!=0;i++){fwrite(&book[i],sizeof(struct book),1,fp);}fclose(fp);fclose(fp2);fp2=fopen("bookl.txt","w");fclose(fp2);printf("按任意键返回\n");getch();return;}else{printf("按任意键返回\n");getch();return;}}changebook(){FILE *fp,*fp2;char bookname[10],choice;int i;fp=fopen("book.txt","r");fp2=fopen("bookl.txt","w");printf("请你输入要修改的书籍的书字\n");scanf("%s",bookname);for(i=0;fread(&book[i],sizeof(struct book),1,fp)!=0;i++){if(strcmp(book[i].bookname,bookname)==0){printf("你所要修改的书的资料如下,请选择你要修改的内容\n");printf("序号:〈%d〉书名:〈%s〉作者:〈%s〉\n",book[i].booknum,book[i].bookname,book[i].bookcreat);printf("1:修改书的序号\n");printf("2:修改书名\n");printf("3:修改作者\n");printf("请输入1-3:");scanf("%s",&choice);switch(choice){case '1':{printf("请输入新的序号\n");scanf("%d",&book[i].booknum);fwrite(&book[i],sizeof(struct book),1,fp2);}break;case '2':{printf("请输入新的书名\n");scanf("%s",book[i].bookname);fwrite(&book[i],sizeof(struct book),1,fp2);}break;case '3':{printf("请输入新的作者\n");scanf("%s",book[i].bookcreat);fwrite(&book[i],sizeof(struct book),1,fp2);}break;defaut:printf("没有这样的操作");break;}continue;}fwrite(&book[i],sizeof(struct book),1,fp2);}fclose(fp);fclose(fp2);fp=fopen("book.txt","w");fp2=fopen("bookl.txt","r");for(i=0;fread(&book[i],sizeof(struct book),1,fp2)!=0;i++){fwrite(&book[i],sizeof(struct book),1,fp);}fclose(fp2);fp2=fopen("bookl.txt","w");fclose(fp2);printf("按任意键返回\n");getchar();return;}main(){char ch1,ch2,ch3,ch4,ch5;do{printf("\t\t请你选择操作类型:\n");printf(" 1:<查阅图书>\n");printf(" 2:<借阅图书>\n");printf(" 3:<管理系统>\n");printf(" 4:<还书>\n");printf(" 0:<退出>\n");printf("请输入0--4\n");scanf("%s",&ch1);switch(ch1){case '1':chabook();break;case '2':lendbook();;break;case '3':{do{printf("---------------欢迎进入管理系统!--------------\n");printf(" 1:<增加图书>\n");printf(" 2:<删除图书>\n");printf(" 3:<修改图书资料>\n");printf(" 4:<书籍统计>\n");printf(" 5:<职工管理系统>\n");printf(" 6:<学生管理系统>\n");printf(" 0:<返回>\n");printf("请输入0--6,其他输入非法!\n");scanf("%s",&ch2);switch(ch2){case '1':addbook();break;case '2':delbook();break;case '3':changebook();break;case '4':bookcount();getch();break;case '5':{do{printf("---------------欢迎进入职工管理系统!--------------\n");printf(" 1:<增加员工>\n");printf(" 2:<删除员工>\n");printf(" 3:<修改员工资料>\n");printf(" 4:<员工统计>\n");printf(" 0:<返回>\n");printf("请输入0--4,其他输入非法!\n");scanf("%s",&ch3);switch(ch3){case '1':addemploy();getch();break;case '2':delemploy();break;case '3':changemploy();break;case '4':employcount();getch();break;case '0':break;default:printf("无此操作\n");getch();break;}}while(ch3!='0');}break;case '6':{do{printf("---------------欢迎进入学生管理系统!--------------\n");printf(" 1:<申请新卡>\n");printf(" 2:<删除卡号>\n");printf(" 3:<借书统计>\n");printf(" 4:<卡号统计>\n");printf(" 0:<返回>\n");printf("请输入0--4,其他输入非法!\n");scanf("%s",&ch4);switch(ch4){case '1':addcar();break;case '2':delcar();break;case '3':lendcount();break;case '4':carcount();break;case '0':break;default:printf("无此操作\n");getch();break;}}while(ch4!='0');}break;case '0':break;default:printf("无此操作\n");getch();break;}}while(ch2!='0');}break;case '4':huanbook();break;case '0':break;default:printf("无此操作\n");getch();break;}}while(ch1!='0');}五.各部分功能介绍图书馆借阅系统实现的功能主要有:1. 图书信息的管理,包括分类,图书编号,书名,出版社,作者,单价及数量,此项可查阅图书信息。

Sql_server数据库课程设计_图书馆管理系统

Sql_server数据库课程设计_图书馆管理系统

数据库课程设计设计选题:图书管理系统系别信息工程系专业计算机网络技术班级2010022201姓名马斌龙学号201002220137姓名王贤宽学号201002220137姓名黄晓辉学号201002220140页脚内容I指导老师2011年12月29日一.系统需求分析图书管理工作繁琐,借阅频繁,包含大量的信息数据,因此就需要一个完善的图书管理系统来实现对这些数据的有效管理。

本系统主要任务就是对图书、读者、借阅信息、查询进行统一管理,满足各类用户的需求。

本系统在功能上要实现借阅图书、续借图书、归还图书、催还图书、信息查询等功能。

二.数据库分析图书管理系统就是要求图书管理人员通过该系统对图书、读者、借阅信息等进行统一管理,从而实现功能上的借阅图书、续借图书、归还图书、催还图书以及信息查询。

这就要求管理人员能够对数据库进行熟练操作而简单的表查询、触发器的建立、存储过程的建立以及用户自定义函数的建立等等这些管理数据库的方法页脚内容II都能对图书馆里系统的管理起到事半功倍的效果。

页脚内容III四、前后与后台连接示意图页脚内容2五、图书馆管理系统功能算法实现5.1 前台算法实现5.1.1 主界面<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns ="/1999/xhtml" > <head ><title >欢迎使用图书管理系统</title ></head><body style ="text-align: center"><span style="font-size: 24pt"><br /><br /><br /><a href=".\book.aspx">图书信息查询</a><br /><br /><a href=".\reader.aspx">读者信息查询</a><br /><br /><a href=".\record.aspx">借还信息记录</a></span></body></html>5.1.2 图书信息<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="/1999/xhtml" ><head runat="server"><title>无标题页</title>页脚内容3</head><body><form id="form1" runat="server"><div style="text-align: center"><asp:Label ID="Label1" runat="server" Text="书名"></asp:Label><asp:TextBox ID="TextBox1" runat="server"></asp:TextBox><br /><asp:Button ID="Button1" runat="server" OnClick="Button1_Click1" Text="查询" /><br /><asp:GridView ID="GridView1" runat="server" OnSelectedIndexChanged="GridView1_SelectedIndexChanged"></asp:GridView></div></form></body></html>5.1.3 读者信息页脚内容4<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="/1999/xhtml" ><head id="Head1" runat="server"><title>无标题页</title></head><body><form id="form1" runat="server"><div style="text-align: center"><asp:Label ID="Label1" runat="server" Text="姓名"></asp:Label><asp:TextBox ID="TextBox1" runat="server"></asp:TextBox><br /><asp:Button ID="Button1" runat="server" OnClick="Button1_Click1" Text="查询" /><br /><asp:GridView ID="GridView1" runat="server" OnSelectedIndexChanged="GridView1_SelectedIndexChanged"></asp:GridView>页脚内容5</div></form></body></html>5.1.4 借还信息表<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="/1999/xhtml" ><head runat="server"><title>无标题页</title></head><body><form id="form1" runat="server"><div></div></form></body>页脚内容6</html>5.1.5添加图书using System;using System.Data;using System.Data.SqlClient;using System.Configuration;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;public partial class add : System.Web.UI.Page{protected void Button1_Click1(object sender, EventArgs e){string s1, s2, s3;页脚内容7s1 = TextBox1.Text;s2 = TextBox2.Text;s3 = TextBox3.Text;string str = "server=WINKS80;database=图书管理系统;integrated security=true";SqlConnection con = new SqlConnection(str);SqlCommand com = new SqlCommand();try{com.Connection = con;mandText = "insert 图书信息表values ('" + s1 + "','" + s2 + "','" + s3 + "')";con.Open();com.ExecuteNonQuery();con.Close();Response.Write("插入成功");}catch (Exception a1)页脚内容8{Response.Write("插入失败");}finally{con.Close();}}5.1.6 删除图书protected void Button3_Click(object sender, EventArgs e){string s4;s4 = TextBox4.Text;string str = "server=WINKS80;database=图书管理系统;integrated security=true";SqlConnection con = new SqlConnection(str);SqlCommand com = new SqlCommand();页脚内容9try{com.Connection = con;mandText = "delete 图书信息表where bname = '" + s4 + "'";con.Open();com.ExecuteNonQuery();con.Close();Response.Write("删除成功");}catch (Exception a1){Response.Write("删除失败");}finally{con.Close();}页脚内容10}}5.1.7添加读者using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;public partial class manger : System.Web.UI.Page{protected void Button1_Click(object sender, EventArgs e){string s1, s2, s3;s1 = TextBox1.Text;s2 = TextBox2.Text;s3 = TextBox3.Text;string str = "server=WINKS80;database=图书管理系统;integrated security=true";页脚内容11SqlConnection con = new SqlConnection(str);SqlCommand com = new SqlCommand();try{com.Connection = con;mandText = "insert 读者信息表values ('" + s1 + "','" + s2 + "','" + s3 + "')";con.Open();com.ExecuteNonQuery();con.Close();Response.Write("添加成功");}catch (Exception a1){Response.Write("添加失败");}finally页脚内容12{con.Close();}}5.1.7删除读者、using System;using System.Data;using System.Data.SqlClient;using System.Configuration;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;protected void Button2_Click(object sender, EventArgs e){页脚内容13string s4;s4 = TextBox4.Text;string str = "server=WINKS80;database=图书管理系统;integrated security=true";SqlConnection con = new SqlConnection(str);SqlCommand com = new SqlCommand();try{com.Connection = con;mandText = "delete 读者信息表where rname = '" + s4 + "'";con.Open();com.ExecuteNonQuery();con.Close();Response.Write("删除成功");}catch (Exception a1){页脚内容14Response.Write("删除失败");}finally{con.Close();}}}5.2后台算法实现5.2.1 创建数据库(图书管理系统)create database 图书管理系统5.2.2 创建图书信息表create table 图书信息表( bid char(10) not null primary key,bname nvarchar(15) not null,bkind varchar(8) not null)页脚内容155.2.3 创建读者信息表create table 读者信息表( rid char(10) not null primary key,rname nvarchar(15) not null,rkind varchar(8) not null)5.2.4 创建借还书信息表create table 借还书信息表( recordid bigint identity(1,1) not null primary key,bid char(10) foreign key references 图书信息表(bid),btimes bigint not null,retime smalldatetime not null,bstat bit not null)六.实训心得通过本次的课程设计,我清楚的感觉SQL的重要性。

《SQL-Server-数据库设计》课程设计报告(图书馆管理系统)

《SQL-Server-数据库设计》课程设计报告(图书馆管理系统)

《SQL-Server-数据库设计》课程设计报告(图书馆管理系统)目录一、系统需求分析:3系统目标3系统的功能需求4系统功能描述4二、本项目的系统设计4系统的功能分析4系统的功能模块设计5三、数据库设计5数据库需求分析:5图书馆管理流程图6图书馆管理系统实体E-R图7数据库的完整性要求7四、数据库的物理结构设计:8图书信息表8借阅表8读者信息表8读者类别表9管理员信息表9五、数据库安全设计9六、数据库的实现10创建图书信息表10创建借阅表10读者信息表11(读者类别表11管理员信息表11七、系统功能实施需要的语句12读者类别表12读者信息表13管理员信息表15借阅表16图书信息表18视图19存储过程20触发器21一、系统需求分析:A.系统目标:本系统将实现用计算机管理图书馆的功能。

具体完成图书信息管理、读者信息管理、管理员信息管理及图书借阅管理等功能。

B.系统的功能需求:本系统用户分为读者用户和管理员用户两类,管理员用户负责系统的维护,包括对图书信息、读者信息、借阅信息的录入、修改、查询、删除等。

读者用户只具有查询书籍和自己信息的权限。

管理员对读者信息进行增加、删除、查询及修改等操作。

读者只能对读者信息进行查询操作。

C.管理员信息管理。

D.图书借阅管理。

(二)图书馆管理流程图(三)图书馆管理系统实体E-R图(四)数据库的完整性要求通过各种约束,默认值,规则和触发器实现数据的完整性。

由于学生管理系统的重要性和各个数据之间的复杂相关性,保证数据的完整性很重要,不能随便删除、修改数据。

1、通过check约束保证成绩输入的正确性。

2、通过各种外键保证数据的完整性,不能随便删除数据。

外键在建表时列出(见后)。

3、通过主键保证实体的完整性。

外键在建表时列出(见后)。

4、创建触发器,保证在添加借阅信息时,自动将该借阅的书籍在馆状态改为否。

创建触发器,保证在添加借阅信息时,自动将该读者的已借数目累计加1。

也可以通过其他方法保证数据的完整性。

数据库课程设计--图书馆管理系统

数据库课程设计--图书馆管理系统

数据库课程设计--图书馆管理系统数据库系统概论课程设计设计题目:图书管理系统学院:计算机信息与科学学院专业:计算机科学与技术学号:20110514323姓名:刘静指导教师:潘林森目录1.引言 .................................. 错误!未定义书签。

2. 需求分析阶段......................... 错误!未定义书签。

2.1任务概述(目标)………………………………………..错误!未定义书签。

2.2数据需求:..................................3 概念设计阶段.......................... 错误!未定义书签。

3.1 任务与目标……………………………………….错误!未定义书签。

3.2 各阶段的结果…………………………………………3.3各E-R图中联系的属性4.逻辑设计阶段 (12)4.1逻辑设计的任务和目标 (12)4.2数据组织 (12)4.2.1将E-R图转换为关系模型 (12)4.2.2模型优化 ............................................. 错误!未定义书签。

4.3具体的基本E-R图向关系模型转化5.物理设计阶段 (15)5.1物理设计阶段的目标与任务 (15)5.2数据存储方面 (15)5.3系统功能模块 (16)5.3.1 读者基本信息的查询和更新模块 (16)5.3.2 图书基本信息的查询和更新模块 (16)6.数据库实施阶段 (17)6.1建立数据库、数据表、视图、索引 (17)6.1.1 建立数据库 (17)6.1.2 建立数据表 (17)6.1.3 建立视图 (21)6.1.4 建立索引 (23)6.1.5 建立触发器 (23)6.2数据入库............................................................. 错误!未定义书签。

数据库课程设计--图书馆管理系统

数据库课程设计--图书馆管理系统

目录1 前言 (1)2 需求分析 (1)2.1 课程设计目的 (1)2.2 课程设计任务 (1)2.3 设计环境 (2)2.4 开发语言 (2)3 分析和设计 (2)3.1 系统E-R模型 (5)3.2 表空间及表的设计 (6)3.3 视图设计 (14)3.4 存储过程、函数、包的设计 (15)3.5 触发器设计 (22)3.6 角色、用户、权限设计 (24)3.7 备份方案设计 (25)4 课程设计总结 (27)参考文献 (28)致谢 (28)1 前言一个简单的图书管理系统包括图书馆内书籍的信息、学校在校师生的信息以及师生的借阅信息。

此系统功能面向图书馆管理员,可以完成书籍和读者的增加、删除和修改,制定借阅规则,以及对读者借阅、续借、归还、预约的确认。

2 需求分析2.1 课程设计目的通过专业课程设计Ⅱ,即大型数据库系统课程设计,有助于培养学生综合运用数据库相关知识解决实际问题的能力。

本设计要求对实际问题进行需求分析,提炼实际问题中的数据,建立关系模型,并在大型数据库中得以实现。

同时要求对数据库的运营、管理及使用上进行必要的规划和实现。

2.2 课程设计任务(1)图书信息:包括图书编号、图书名称、所属类别等;(2)读者信息:包括读者编码、姓名、性别、专业等;(3)借还书信息:包括图书当前状态、被借还次数、借阅时间等。

基本要求:(1)根据需求,补充必要的数据库实体,建立ER模型,通过ER图表示。

(2)在Oracle中创建该系统的数据库,并在数据库中实现各表,写入一定的数据。

(3)从实际查询应用出发,为一些主要的应用模块设计至少3个参数化视图。

(4)从数据检验的角度出发,为相关的表建立至少1个触发器。

(5)从数据更新或修改的角度出发,设计至少1个存储过程。

(6)从安全的角度出发,规划系统的角色、用户、权限,并通过相关的SQL实现。

(7)预计每个表的大致容量和增长速度,指定备份的方案,写出相关的备份命令。

15 课程设计-ASP.NETSQLServer 2008实现图书馆管理系统

15  课程设计-ASP.NETSQLServer 2008实现图书馆管理系统

总体设计
构建开发环境; 网站功能结构; 业务流程图。
构建开发环境
图书馆管理系统的开发环境具体要求如下: 开发平台:Microsoft Visual Studio 2010。 开发语言:+C#+HTML+JavaScript。 数据库:SQL Server 2008。 开发平台:Windows XP(SP2)/Windows Server 2003(SP2) /Windows 7。 系统框架:Microsoft .NET Framework 4.0。 IIS服务器:IIS 7.x版本。 浏览器:IE 8.0以上版本、Firefox等。 分辨率:最佳效果1024×768像素。
网站功能结构
图书馆管理系统
系统设置
读者管理
图书管理
图书借还
系统查询
排行榜
图 书 馆 信 息
管 理 员 设 置
书 架 管 理
读 者 类 型 管 理
读 者 档 案 管 理
图 书 类 型 管 理
图 书 档 案 管 理
图 书 借 阅
图书 归 还
图 书 档 案 查 询
图 书 借 阅 查 询
图 书 借 阅 排 行 榜
读 者 借 阅 排 行 榜
更 改 口 令
退 出 系 统
业务流程图
读者
图书借阅
图书归还
管理员
图书馆信息管理 图书信息管理 读者信息管理 排行信息管理 更改口令
数据库设计
图书馆管理系统站采用SQL Server 2008数据库,该数据库作 为目前常用的数据库,在安全性、准确性和运行速度方面有绝对的 优势,并且处理数据量大、效率高,而且可与SQL Server 2000、 SQL Server 2005数据库无缝连接。根据设计好的E-R图在数据库 中创建数据表,下面给出比较重要的数据表结构。tb_admin(管理 员信息表)

Sql-server数据库课程设计-图书馆管理系统

Sql-server数据库课程设计-图书馆管理系统

数据库系统概论课程设计图书馆数据库管理系统目录序言 (1)一、图书馆管理系统E-R图 (2)二、图书馆管理系统功能实现示意图 (3)三、图书馆管理系统功能图例 (4)3.1 读者借阅图书 (4)3.2 读者归还图书 (4)3.3 读者续借图书 (5)3.4 读者查询借阅图书情况 (5)3.5 读者检索图书信息 (6)四、图书馆管理系统附加功能 (7)4.1 往学生表中插入列"系部",其值等于学号中代表系部的位的值,再插入列"专业号",其值等于学号中代表专业的位的值 (7)4.2 查询每个学生对书本的借阅数量 (9)4.3 查询各个专业的学生借阅书本的数量 (11)五、图书馆管理系统数据库、数据表源代码 (12)5.1 图书馆管理系统"数据库"源代码 (12)5.2 图书馆管理系统"数据表"源代码 (12)六、图书馆管理系统存储过程源代码 (15)6.1 读者借阅图书存储过程 (15)6.2 读者还书存储过程 (17)6.3 读者续借图书存储过程 (18)6.4 读者查询借阅图书情况存储过程 (19)6.5 读者检索的图书信息存储过程 (22)七、图书馆管理系统触发器源代码 (23)7.1 借书要求(书本没有库存,则无法进行借书操作) (23)7.2 借书要求(读者最多借阅量) (24)7.3 续借次数要求 (25)7.4 读者还书信息插入RDeleted表 (26)序言本图书馆管理系统谨根据实际需求所创建,创建有如下八个数据表:Book(图书信息表),Dept(学生系部信息表),Major(学生专业信息表),Student(学生信息表),StudentBook(学生借阅图书信息表),Teacher(教师信息表),TeacherBook(教师借阅图书信息表),RDeleted(读者还书信息表)等。

这些数据表结合图书馆数据库中的五个存储过程,即实现了普通图书馆的大部分功能。

sqlsever数据库课程设计

sqlsever数据库课程设计

sql sever数据库课程设计内容如下:一、课程目标知识目标:1. 熟练掌握SQL Server数据库的基本概念和原理;2. 学会使用SQL语句进行数据库的增删改查操作;3. 掌握数据库表的设计与关系维护;4. 了解数据库的安全性和事务处理。

技能目标:1. 能够独立安装和配置SQL Server数据库环境;2. 能够运用SQL语句完成常见的数据操作;3. 能够设计简单的数据库表,并进行关系维护;4. 能够对数据库进行简单的安全性和事务处理。

情感态度价值观目标:1. 培养学生对数据库技术的兴趣,提高其学习积极性;2. 培养学生良好的团队协作精神,提高沟通能力;3. 培养学生严谨、细心的学习态度,注重实际操作能力的培养;4. 增强学生的信息安全意识,注重数据保护。

课程性质:本课程为实践性较强的课程,注重学生动手能力的培养。

学生特点:学生具备一定的计算机操作基础,对数据库技术有一定了解,但实践经验不足。

教学要求:结合学生特点,注重理论与实践相结合,强化实践操作,使学生在掌握基本知识的基础上,提高实际操作能力。

在教学过程中,关注学生的情感态度价值观的培养,激发学生的学习兴趣,提高其综合素质。

通过本课程的学习,使学生具备一定的数据库设计与操作能力,为后续相关课程的学习打下坚实基础。

二、教学内容1. SQL Server数据库概述:介绍SQL Server的发展历程、特点和应用场景,使学生了解数据库的基本概念和SQL Server的优势。

- 教材章节:第一章 SQL Server概述2. SQL Server安装与配置:指导学生独立安装和配置SQL Server数据库环境,熟悉SQL Server Management Studio(SSMS)操作界面。

- 教材章节:第二章 SQL Server安装与配置3. SQL语句基础:讲解SQL语句的基本语法,包括SELECT、INSERT、UPDATE和DELETE等操作,使学生掌握数据库的增删改查操作。

sqlserver数据库课程设计

sqlserver数据库课程设计

sqlserver数据库课程设计SQL Server数据库课程设计1. 课程介绍- 本课程旨在教授SQL Server数据库的基本概念、原理和应用技巧,培养学生在数据库设计、开发和管理方面的能力。

- 学生将学习如何使用SQL Server创建和管理数据库、设计和优化查询、处理事务和实施数据安全等。

2. 课程目标- 理解SQL Server数据库的基本原理和架构。

- 掌握SQL Server的安装、配置和管理技术。

- 学会使用SQL语言进行数据库查询、更新和维护。

- 熟悉数据库设计和规范化的原则。

- 理解数据库事务的概念和处理方法。

- 掌握SQL Server的性能优化和调优技术。

- 熟悉SQL Server的高可用性和灾备方案。

3. 课程内容- SQL Server数据库基础知识- 数据库管理系统和关系数据库的概念- SQL Server的发展历程和特点- SQL Server的版本和组件- SQL Server的安装和配置- 硬件和软件需求- 安装SQL Server的步骤和注意事项 - 配置SQL Server的参数和选项- SQL语言基础- SQL语言的基本概念和语法- 数据库的创建、修改和删除操作- 表的创建、修改和删除操作- 数据的插入、更新和删除操作- 数据库设计和规范化- 数据库设计的基本原则- 实体-关系模型和关系代数- 数据库规范化的过程和规则- 数据库设计的实例和案例分析- 数据库查询和优化- SQL语言中的查询语句和子查询- 数据库索引和查询优化技术- 查询计划和执行计划的分析- 查询性能调优的方法和技巧- 数据库事务和并发控制- 事务的概念和特性- 并发控制的基本原理- 锁和事务隔离级别的理解和应用- 事务处理的实例和案例分析- 数据库安全和权限管理- 数据库安全的基本概念和原则- 用户和角色的创建和管理- 权限和访问控制的设置和管理- 数据库备份和恢复的策略和方法- SQL Server的高可用性和灾备方案- 数据库的备份和恢复技术- 高可用性和灾备方案的设计和实施- 数据库故障和恢复的案例分析和实践4. 课程安排- 每周3学时的理论课和2学时的实践课。

sqlserver数据库课程设计

sqlserver数据库课程设计

sqlserver数据库课程设计一、课程目标知识目标:1. 学生能够掌握SQL Server数据库的基本概念、组成结构及工作原理;2. 学生能够理解并运用SQL语句进行数据库的创建、查询、更新、删除等操作;3. 学生能够了解数据库的安全性和完整性,并能够实施简单的数据库维护操作;4. 学生掌握数据库设计的基本原则和方法,能够根据实际需求设计简单的数据库系统。

技能目标:1. 学生能够独立安装、配置SQL Server数据库环境;2. 学生能够运用SQL语句完成数据库的基本操作,并能够编写简单的存储过程和触发器;3. 学生能够使用SQL Server Management Studio进行数据库管理和维护;4. 学生能够运用所学知识解决实际生活中的数据库问题,具备一定的数据库应用开发能力。

情感态度价值观目标:1. 学生培养对数据库技术的兴趣和热情,增强学习动力;2. 学生养成严谨、细致的学习态度,注重实践操作能力的培养;3. 学生树立团队合作意识,学会与他人共同解决问题,培养良好的沟通与协作能力;4. 学生认识到数据库技术在现代社会中的重要作用,增强信息安全意识,遵循道德规范,为我国信息化建设做出贡献。

本课程针对高年级学生,结合SQL Server数据库的学科特点,注重理论与实践相结合,培养学生的实际操作能力和解决问题的能力。

课程目标具体、可衡量,旨在帮助学生掌握数据库基础知识,提高实际应用能力,同时培养良好的情感态度价值观。

后续教学设计和评估将围绕这些具体的学习成果展开。

二、教学内容1. SQL Server数据库概述- 数据库基本概念- SQL Server的发展历程与特点- SQL Server的安装与配置2. SQL语句基础- 数据类型与变量- 数据库对象的创建与管理- 数据查询、更新、删除操作3. 高级SQL语句- 索引与视图- 存储过程与触发器- 事务与锁定4. 数据库设计- 数据库设计原则与方法- 实体关系模型- 关系数据库设计5. 数据库安全性、完整性与维护- 数据库安全性控制- 数据库完整性约束- 数据库备份、恢复与优化6. SQL Server Management Studio使用- SSMS的基本操作与界面- 数据库对象的创建与管理- 查询编辑器与结果查看7. 实践案例与拓展- 结合实际应用场景,设计并实现简单数据库系统- 数据库性能优化- 数据库新技术与发展趋势教学内容根据课程目标进行选择和组织,确保科学性和系统性。

Sql_server数据库课程设计_图书馆管理系统

Sql_server数据库课程设计_图书馆管理系统

数据库课程设计设计选题:图书管理系统系别信息工程系专业计算机网络技术班级01姓名马斌龙学号0137姓名王贤宽学号0137姓名黄晓辉学号0140指导老师2011年12月29日一.系统需求分析图书管理工作繁琐,借阅频繁,包含大量的信息数据,因此就需要一个完善的图书管理系统来实现对这些数据的有效管理。

本系统主要任务就是对图书、读者、借阅信息、查询进行统一管理,满足各类用户的需求。

本系统在功能上要实现借阅图书、续借图书、归还图书、催还图书、信息查询等功能。

二.数据库分析图书管理系统就是要求图书管理人员通过该系统对图书、读者、借阅信息等进行统一管理,从而实现功能上的借阅图书、续借图书、归还图书、催还图书以及信息查询。

这就要求管理人员能够对数据库进行熟练操作而简单的表查询、触发器的建立、存储过程的建立以及用户自定义函数的建立等等这些管理数据库的方法都能对图书馆里系统的管理起到事半功倍的效果。

五、图书馆管理系统功能算法实现前台算法实现主界面<!DOCTYPE html PUBLIC "-">图书信息查询</a><br /><br /><a href=".\">读者信息查询</a><br /><br /><a href=".\">借还信息记录</a></span></body></html>图书信息<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Transitional//EN" ""><html xmlns="" ><head runat="server"><title>无标题页</title></head><body><form id="form1" runat="server"><div style="text-align: center"><asp:Label ID="Label1" runat="server" Text="书名"></asp:Label><asp:TextBox ID="TextBox1" runat="server"></asp:TextBox><br /><asp:Button ID="Button1" runat="server" OnClick="Button1_Click1" Text="查询" /><br /><asp:GridView ID="GridView1" runat="server" OnSelectedIndexChanged="GridView1_SelectedIndexChanged"></asp:GridView></div></form></body></html>读者信息<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Transitional//EN" ""><html xmlns="" ><head id="Head1" runat="server"><title>无标题页</title></head><body><form id="form1" runat="server"><div style="text-align: center"><asp:Label ID="Label1" runat="server" Text="姓名"></asp:Label><asp:TextBox ID="TextBox1" runat="server"></asp:TextBox><br /><asp:Button ID="Button1" runat="server" OnClick="Button1_Click1" Text="查询" /><br /><asp:GridView ID="GridView1" runat="server" OnSelectedIndexChanged="GridView1_SelectedIndexChanged"></asp:GridView></div></form></body></html>借还信息表<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Transitional//EN" ""><html xmlns="" ><head runat="server"><title>无标题页</title></head><body><form id="form1" runat="server"><div></div></form></body></html>添加图书using System;using ;using ;using ;using partial class add : protected void Button1_Click1(object sender, EventArgs e){string s1, s2, s3;s1 = ;s2 = ;s3 = ;string str = "server=WINKS80;database=图书管理系统;integrated security=true";SqlConnection con = new SqlConnection(str);SqlCommand com = new SqlCommand();try{= con;= "insert 图书信息表values ('" + s1 + "','" + s2 + "','" + s3 + "')";();();();("插入成功");}catch (Exception a1){("插入失败");}finally{();}}删除图书protected void Button3_Click(object sender, EventArgs e){string s4;s4 = ;string str = "server=WINKS80;database=图书管理系统;integrated security=true";SqlConnection con = new SqlConnection(str);SqlCommand com = new SqlCommand();try{= con;= "delete 图书信息表where bname = '" + s4 + "'";();();();("删除成功");}catch (Exception a1){("删除失败");}finally{();}}}添加读者using partial class manger : protected void Button1_Click(object sender, EventArgs e){string s1, s2, s3;s1 = ;s2 = ;s3 = ;string str = "server=WINKS80;database=图书管理系统;integrated security=true";SqlConnection con = new SqlConnection(str);SqlCommand com = new SqlCommand();try{= con;= "insert 读者信息表values ('" + s1 + "','" + s2 + "','" + s3 + "')";();();();("添加成功");}catch (Exception a1){("添加失败");}finally{();}}删除读者、using System;using ;using ;using ;using protected void Button2_Click(object sender, EventArgs e) {string s4;s4 = ;string str = "server=WINKS80;database=图书管理系统;integrated security=true";SqlConnection con = new SqlConnection(str);SqlCommand com = new SqlCommand();try{= con;= "delete 读者信息表where rname = '" + s4 + "'";();();();("删除成功");}catch (Exception a1){("删除失败");}finally{();}}}后台算法实现创建数据库(图书管理系统)create database 图书管理系统创建图书信息表create table 图书信息表( bid char(10) not null primary key,bname nvarchar(15) not null,bkind varchar(8) not null)创建读者信息表create table 读者信息表( rid char(10) not null primary key,rname nvarchar(15) not null,rkind varchar(8) not null)创建借还书信息表create table 借还书信息表( recordid bigint identity(1,1) not null primary key,bid char(10) foreign key references 图书信息表(bid),btimes bigint not null,retime smalldatetime not null,bstat bit not null)六.实训心得通过本次的课程设计,我清楚的感觉SQL的重要性。

图书管理系统的SQL_Server数据库设计

图书管理系统的SQL_Server数据库设计

图书管理系统的SQL_Server数据库设计第一篇:图书管理系统的SQL_Server数据库设计图书管理的SQL Server数据库设计1、摘要:一个简单的图书管理系统包括图书馆内书籍的信息、学校在校学生的信息以及学生的借阅信息。

此系统功能分为面向学生和面向管理员两部分,其中学生可以进行借阅、续借、归还和查询书籍等操作,管理员可以完成书籍和学生的增加,删除和修改以及对学生,借阅、续借、归还的确认。

2、需求分析针对一般图书管理信息系统的需求,通过对图书管理工作过程的内容和数据流程分析,设计如下面所示的数据项:Ø 读者信息属性:读者学号,读者姓名,读者性别,联系电话,所在系,生效日期,失效日期,违章状况,累计借书,备注主键:读者学号Ø 书籍信息属性:ISBN,书名,作者,出版社,出版日期,简介,备注主键:ISBNØ 管理员信息属性:工作号,姓名,性别,电话,家庭住址,备注主键:工作号2.1 数据流程通过对系统的调查和可行性分析,画出系统的数据流程图:2.1.1 读者学生对图书管理系统的要求有:Ø 能按各种方式(比如书名、编号、作者)查询图书馆的藏书情况。

Ø 能够方便地借阅图书、续借图书、归还图书Ø 能够查询自己的基本资料、图书情况Ø 能够熟悉图书管理系统的使用。

读者进入系统工作的流程图为:注册查询修改信息借阅续借图书归还注销2.1.2 图书管理员他们对图书管理系统的要求有:1.能方便的对图书进行录入登记,注销陈旧的书籍。

2.能够方便地对新生进行登记,或注销已经毕业的学生信息(基本信息,借阅信息)。

3.能够随时发布一些诸如各学院学生借阅图书超期情况、馆内藏书情况、借情况等信息,以便各学院能够随时获知本院学生的一些借书信息。

图书管理员工作的流程图为:注册录入图书录入新生注销图书注销学生注销修改个人信息超期处理3、概念模型设计数据库需要表述的信息有以下几种:(1)读者信息(2)书籍信息(3)管理员信息(4)读者与书籍之间的关系(借阅关系E-R图)(5)管理员与书籍之间的关系(管理员_书籍E-R图)(6)管理员与学生之间的关系(管理员_学生 E-R图)3.1管理员与读者之间的关系 3.3管理员与书刊之间的关系3.3读者与书籍之间的关系(借阅三元关系)4、逻辑设计从理论‘E/R模型’到理论‘关系模型’的整理转换,通过E/R模型到关系模型的转化,可以得到如下关系模式:借阅关系属性:工作号,读者学号,ISBN,是否续借,借书日期,还书日期,备注。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

序言 (1)一、图书馆管理系统E-R 图 (2)二、图书馆管理系统功能实现示意图 (3)三、图书馆管理系统功能图例 (4)3.1 读者借阅图书 (4)3.2 读者归还图书 (4)3.3 读者续借图书 (5)3.4 读者查询借阅图书情况 (5)3.5 读者检索图书信息 (6)四、图书馆管理系统附加功能 (7)4.1 往学生表中插入列"系部",其值等于学号中代表系部的位的值,再插入列"专业号",其值等于学号中代表专业的位的值 . 74.2 查询每个学生对书本的借阅数量 (9)4.3 查询各个专业的学生借阅书本的数量 (11)五、图书馆管理系统数据库、数据表源代码......... 错误!未定义书签。

5.1 图书馆管理系统"数据库"源代码 ................ 错误!未定义书签。

5.2 图书馆管理系统"数据表"源代码 ................ 错误!未定义书签。

六、图书馆管理系统存储过程源代码..................... 错误!未定义书签。

6.1 读者借阅图书存储过程................................ 错误!未定义书签。

6.2 读者还书存储过程........................................ 错误!未定义书签。

6.3读者续借图书存储过程................................. 错误!未定义书签。

6.4 读者查询借阅图书情况存储过程................ 错误!未定义书签。

6.5 读者检索的图书信息存储过程.................... 错误!未定义书签。

七、图书馆管理系统触发器源代码......................... 错误!未定义书签。

7.1 借书要求(书本没有库存,则无法进行借书操作)错误!未定义书签。

7.2 借书要求(读者最多借阅量).................... 错误!未定义书签。

7.3 续借次数要求................................................ 错误!未定义书签。

7.4 读者还书信息插入RDeleted表................... 错误!未定义书签。

序言本图书馆管理系统谨根据实际需求所创建,创建有如下八个数据表:Book(图书信息表),Dept(学生系部信息表),Major(学生专业信息表),Student(学生信息表),StudentBook(学生借阅图书信息表),Teacher(教师信息表),TeacherBook(教师借阅图书信息表),RDeleted(读者还书信息表)等。

这些数据表结合图书馆数据库中的五个存储过程,即实现了普通图书馆的大部分功能。

如读者借阅图书功能(Execute RBorrowBook '读者号','图书分类号'),读者归还图书功能(Execute RReturnBook '读者号','图书分类号'),读者续借图书功能(Execute RRenewBook '读者号','图书分类号'),读者查询图书借阅情况功能(Execute RQueryBook '读者号'),读者检索的图书信息功能(Execute RIndexBook '关键字')等。

具体的功能表现皆在“第二章:图书馆管理系统功能”中有详细的图例说明。

本图书馆管理系统谨根据实际需要,创建了七个触发器,就此,创作者对这些触发器做如下说明:1、tri_Book 功能表现:只有在图书馆内相关书籍尚有库存的情况下,读者才可以进行借阅操作2、tri_SborrowNum 功能表现:控制学生的图书借阅量在5本以内(包括5本)3、tri_SrenewBook 功能表现:控制学生续借图书次数在3次以内(包括3次)4、tri_SreturnBook 功能表现:将学生的还书信息插入RDeleted表5、tri_TborrowNum 功能表现:控制教师的图书借阅量在10本以内(包括10本)6、tri_TrenewBook 功能表现:控制学生续借图书次数在4次以内(包括4次)7、tri_TreturnBook 功能表现:将教师的还书信息插入RDeleted表本图书馆管理系统设计思路较为肤浅,但在一定程度上实现了图书馆数据库管理系统的实用功能。

初次设计数据库,其中肯定会有不足之处,还望读者谅解!本课程设计附有“图书馆数据库管理系统的所有源代码”,您可以根据需要在“第四章节”至“第七章节”中进行查看,或查看与本课程设计处于同一目录下的 *.sql 源代码文件!一、图书馆管理系统E-R 图教师借阅图书期限较长,并且允许借阅的书本量较大。

因此,将教师借阅关系与学生借阅关系分开较为适宜。

二、图书馆管理系统功能实现示意图由于教师与学生的借阅图书、归还图书等等过程大致相同,在此,仅借学生有关表对象信息来对各存储过程作简要说明:tri_Book图书库tri_SreturnBook三、图书馆管理系统功能图例3.1 读者借阅图书Execute RBorrowBook '读者号','图书分类号'--------------读者借阅图书实例use LibrarySystemgoexec RBorrowBook T006324,'D630.3 L836'--其中T006324以T为标识,代表教师编号exec RBorrowBook S070407101,'D630.3 L836'---其中S070407101以S为标识,代表学生学号go -----结果如下:3.2 读者归还图书Execute RReturnBook '读者号','图书分类号'----------------读者归还图书实例use LibrarySystemgoexec RReturnBook T006324,'D630.3 L836'exec RReturnBook S070407101,'D630.3 L836'go -----结果如下:3.3 读者续借图书Execute RRenewBook '读者号','图书分类号' --------------读者续借图书实例use LibrarySystemgo-------读者借阅图书exec RBorrowBook T006324,'D630.3 L836' exec RBorrowBook S070407101,'D630.3 L836' gowaitfor delay '0:0:5'--------读者续借图书exec RRenewBook T006324,'D630.3 L836' exec RRenewBook S070407101,'D630.3 L836' go-----结果如下:3.4 读者查询借阅图书情况Execute RQueryBook '读者号'------------读者查询图书借阅情况实例use LibrarySystemgoexec RQueryBook T006432exec RQueryBook S070407101go-----结果如下:3.5 读者检索图书信息Execute RIndexBook '关键词' ------------读者检索图书信息实例use LibrarySystemgoexec RIndexBook 数据库go-------结果如下:四、图书馆管理系统附加功能4.1 往学生表中插入一列"系部",其值等于学号中代表系部的位的值,再插入一列"专业号",其值等于学号中代表专业的位的值---------------往学生表S中插入一列"系部",其值等于学号中代表系部的位的值use LibrarySystemgoalter table Studentadd SdeptNo char(2)godeclare @sno char(10),@total int,@i intselect @total=count(*),@i=1from Studentwhile(@i<=@total)begin------------查询数据表第@i 行数据的SQL语句select top 1 @sno=Sno from Student where Sno not in(select top(@i-1) Sno from Student)update Studentset SDeptNo=substring(@sno,4,2)where Sno=@snoset @i=@i+1endselect*from Studentgo-----------结果如下:-------------往学生表S中插入一列"专业号",其值等于学号中代表专业的位的值use LibrarySystemgoalter table Studentadd SMajorNo varchar(50)godeclare @sno char(10),@total int,@i intselect @total=count(*),@i=1from Studentwhile(@i<=@total)begin------------查询数据表第@i 行数据的SQL语句select top 1 @sno=Sno from Student where Sno not in(select top(@i-1) Sno from Student)update Studentset SMajorNo=substring(@sno,4,4)where Sno=@snoset @i=@i+1endgo-----------结果如下:4.2 查询每个学生对书本的借阅数量--查询每个学生对书本的借阅数量use LibrarySystemgoselect Student.Sno 学号,Sname 姓名,Book.ClassifyNo 图书分类号,Bname 书名from StudentBook,Student,Bookwhere Student.Sno=StudentBook.Sno andStudentBook.ClassifyNo=Book.ClassifyNoorder by Student.Snocompute count(Student.Sno)by Student.Snogo-----------结果如下:4.3 查询各个专业的学生借阅书本的数量use LibrarySystemgodeclare @tempDept table(专业编号char(4)primary key,专业varchar(30)not null,学生借阅书本数量int default 0)Insert into @tempDept(专业编号,专业) select Mno,Mname from Majordeclare @i int,@total int,@no char(10)select @total=count(*),@i=1 from StudentBookwhile(@i<@total) beginselect top1 @no=Sno from StudentBook where Sno not in(select top(@i-1) Sno from StudentBook)update @tempDeptset学生借阅书本数量=学生借阅书本数量+1where专业编号=substring(@no,4,4)set @i=@i+1endselect*from @tempDeptselect @total as学生借阅书本总量go -----------结果如下:。

相关文档
最新文档