数据库SQL实训设计报告图书管理系统

合集下载

【VIP专享】SQL课程设计报告(图书借阅管理系统)

【VIP专享】SQL课程设计报告(图书借阅管理系统)
4
三、数据库概念结构设计
本图书馆管理系统根据实际需求创建如下五个数据表�bookinf�图书信息 表��bookclass�图书类别表��student�学生信息表��bookborrow�学生借 阅图书信息表��bookreturn�学生还书信息表�。这些数据表可以单独存储学生、 图书的信息�再结合它们之间的相互关系�相互操作即实现了普通图书馆的三大 基本功能�即学生借阅图书、学生续借图书、学生归还图书。
学生借阅图书表 bookborrow„„„„„„„„„„„„„„„„„„„ 6 学生归还图书表 bookreturn„„„„„„„„„„„„„„„„„„„ 6
五、数据库物理实现 1、学生借阅图书时各种异常情况下操作的结果„„„„„„„„„„„ 7 2、学生正常借阅图书时操作„„„„„„„„„„„„„„„„„„„ 7 3、学生续借图书„„„„„„„„„„„„„„„„„„„„„„„„ 9 4、学生还书„„„„„„„„„„„„„„„„„„„„„„„„„„„ 10 5、查询一段时间之内各类未归还图书的在借次数„„„„„„„„„„„ 12
将 E-R 图转化为关系模式�
(1)bookinfo � book_id,book_name,book_author,book_press,pressdate,price,book total,bookremain�
(2)student � student_id,name,sex,age,department,major,class,birth_date,tel ephone,E-mail�
(3)bookclass �book_id,bookclass_id,bookcategory�
(4)bookborrow �book_id,student_id,borrownum,borrowdate,rreturndate, newdate ,reborrowdate�

SQL数据库课程设计--学校图书借阅管理系统

SQL数据库课程设计--学校图书借阅管理系统

SQL数据库课程设计--学校图书借阅管理系统SQL数据库课程设计报告设计题目:学校图书借阅管理系统目录1. 问题描述2. 需求分析2.1 需求调查2.2 系统功能结构2.3 数据流图4. 概念结构设计3.1 局部E-R图3.2 全局E-R图3.3 数据字典4. 逻辑结果设计4.1 逻辑设计的任务和目标4.2 将E-R图装换为关系模式5. 物理结构设计5.1 建立数据表5.2 建立视图5.3建立触发器5.4 存储过程6. 结论与心得《数据库系统原理》课程设计报告1. 问题的描述随着社会的信息量的与日俱增,职场竞争的日趋激烈,越来越多的人更关注知识的积累、能力的培养。

作为信息存储的主要媒体之一图书、数量、规模比以往任何时候都大的多,不论个人还是图书管理部门都需要使用方便而有效的方法来管理自己书籍。

在计算机日益普及的今天,对于个人而言采用一套行之有效的图示管理系统来管理自己的书籍,会方便许多.对于图书馆部门而言,以前单一的手工检索已不能满足人们的要求,为了让便于图书资料的管理要有图书馆软件。

对于日益扩大的图书馆,查找特定的书目总使借阅者或工作人员劳神费力,有事还没有结果。

因为往往是投入了大量的人力和财力却得不到有效的管理效率。

因此我没呢采用数据库技术生成图书馆借阅挂历系统将会极大的方便借阅者并简化图书馆管理人员和工作人员的劳动,使工作人员从繁忙、复杂的工作进入到一个简单,搞笑的工作中。

在此以高校学校图书借阅管理系统的开发过程为背景,全文围绕如何:实现图书信息、类别、出版社等信息的管理;实现读者信息、借阅证信息的管理;实现图书的借阅、续借、归还管理;实现超期罚款管理、收款管理;创建触发器,分别实现借书和还书时自动更新图书信息的在册数量;创建视图查询各种图书的书号、书名、总数和在册数;创建存储过程查询指定读者借阅图书的情况;建立数据库相关表之间的参照完整性约束。

来进行系统设计,完善高校图书馆图书借阅系统。

数据库实验报告图书管理系统

数据库实验报告图书管理系统

图书馆管理系统的设计一、实验背景:在数据库应用系统的编程中,管理人员需要经常从数据库中查询数据。

复杂组合查询,特别是多种数据类型的复杂条件动态组合查询是一个设计难度大,但很能方便用户的功能模块,在系统开发时要尽量满足用户的需要,就必须考虑多类型-多条件综合模糊查询功能,提高应用系统的智能性。

消费者在选择市场产品时往往面临数据量大、删选难、数据不全面等问题,多类型-多条件综合模糊查询正式基于此设计的。

二、实验内容:以SQL SERVER2008为后台数据库,以Visual Basic为前台开发工具,完成一个以人事管理系统为实例或结合相关专业方向的查询界面友好的多类型-多条件综合模糊查询应用模块的设计与开发,以满足用户复杂查询的需求,具体内容包括:1)数据库概念结构和逻辑结构的设计;2)通过SQL语句创建数据库;3)设计通用模块;4)设计窗体,达到界面简洁,友好的要求;5)编写代码,使程序能正确执行;6)调试美化,提高查询效率。

三、需求分析图书馆是这样的部门,馆中收藏大量图书供读者借阅,其中图书可分成不同的类别,如自然科学类、社会科学类等;借阅者可分为老师和学生。

不同的借阅者最多可借书的数量和期限不同,如教师最多可借10本,期限为3个月,学生最多可借2本,期限为1个月,无论是老师还是学生,借阅超期都要进行罚款处理。

以上就是图书管理系统所要完成的主要功能。

四、概念结构设计经分析,本系统涉及到的实体只有读者和图书,二者之间存在借阅和罚款的联系,据此可画出此系统的E-R图。

N图书馆管理系统的E-R图其中读者与其属性关系,图书与其属性关系如下图读者实体与其属性图书实体与其属性五、数据库表格(1)图书表的结构(2)读者表的结构(3)借阅表的结构(4)罚款表的结构(5)密码表的结构六、用VB开发应用程序1配置数据源利用ODBC数据源管理器配置一个连接到“图书馆”数据库的数据源,名为“图书管理”。

2设计各个窗体1)设计MDI主窗体从主窗体中可以打开各个功能的窗口,其中图书馆管理系统的主窗体如下图2)设计登陆窗体(1)设计界面如下图(2)编写程序Private Sub Command1_Click()Dim str As StringDim micount As Integerstr = "select 密码from 密码表的结构where 用户名='" & Text1.Text & " ' "Adodc1.RecordSource = strAdodc1.RefreshIf Adodc1.Recordset.EOF = True ThenMsgBox "用户名错误,请重新输入", vbExclamation, "警告"Text1.Text = ""Text1.SetFocusElseIf Adodc1.Recordset.Fields("密码") = Text2.Text ThenMDIForm1.ShowUnload MeElseMsgBox "密码错误,请重新输入", vbExclamation, "警告"Text2.Text = ""Text2.SetFocusEnd IfEnd Ifmicount = micount + 1If micount >= 3 Then Unload MeEnd SubPrivate Sub cmdcancel_Click()Unload MeEnd Sub3)设计读者管理窗体(1)设计界面(2)编写程序Private Sub cmdadd_Click()Adodc1.Recordset.AddNewcmdadd.Enabled = Falsecmddel.Enabled = Falsecmdok.Enabled = Falsecmdcnacel.Enabled = TrueEnd SubPrivate Sub cmdcancel_Click()Adodc1.Refreshcmdadd.Enabled = Truecmddel.Enabled = Truecmdok.Enabled = Falsecmdcancel.Enabled = FalseEnd SubPrivate Sub cmddel_Click()X = MsgBox("确实要删除当前记录吗?", vbYesNo + vbQuestion) If X = vbYes ThenAdodc1.Recordset.DeleteAdodc1.Recordset.MoveNextIf Adodc1.Recordset.EOF = True ThenAdodc1.Recordset.MoveLastEnd IfElseAdodc1.RefreshEnd IfEnd SubPrivate Sub cmdfirst_Click()Adodc1.Recordset.MoveFirstcmdfirst.Enabled = Falsecmdpre.Enabled = Falsecmdnext.Enabled = Truecmdlast.Enabled = TrueEnd SubPrivate Sub cmdlast_Click()Adodc1.Recordset.MoveLastcmdfirst.Enabled = Truecmdpre.Enabled = Truecmdnext.Enabled = Falsecmdlast.Enabled = FalseEnd SubPrivate Sub cmdnext_Click()Adodc1.Recordset.MoveNextcmdfirst.Enabled = Truecmdpre.Enabled = TrueIf Adodc1.Recordset.EOF = True ThenAdodc1.Recordset.MoveLastcmdlast.Enabled = Falsecmdnext.Enabled = FalseEnd IfEnd SubPrivate Sub cmdok_Click()Adodc1.Recordset.Updatecmdadd.Enabled = Truecmddel.Enabled = Truecmdok.Enabled = Falsecmdcancel.Enabled = FalseEnd SubPrivate Sub cmdpre_Click()Adodc1.Recordset.MovePreviouscmdnext.Enabled = Truecmdlast.Enabled = TrueIf Adodc1.Recordset.BOF = True ThenAdodc1.Recordset.MoveFirstcmdfirst.Enabled = Falsecmdpre.Enabled = FalseEnd IfEnd SubPrivate Sub Form_Load()cmdfirst.Enabled = Falsecmdpre.Enabled = Falsecmdnext.Enabled = Truecmdlast.Enabled = Truecmdadd.Enabled = Truecmddel.Enabled = Truecmdok.Enabled = Falsecmdcancel.Enabled = FalseEnd Sub4)设计读者查询窗体(3)编写程序Private Sub Command1_Click()Dim str As Stringstr = "select *from 读者表where 读者表." & combol.Text & "like '" & Text1.Text & "%'"Adodc1.RecordSource = strAdodc1.RefreshEnd SubPrivate Sub Command2_Click()Unload MeEnd SubPrivate Sub Form_Load()combo1.Text = " "Text1.Text = ""combo1.AddItem "性别"combo1.AddItem "读者姓名"combo1.AddItem "是否有超期"End Sub5)设计图书管理窗体、图书查询窗体6)设计借阅管理窗体(1)设计界面(2)编写程序Private Sub cmdexit_Click()Unload MeEnd SubPrivate Sub cmdlend_Click()Dim st1 As StringDim st2 As StringDim st3 As StringDim i As Integerst2 = "select 读者类别,是否有超期from 读者表的结构where 借书证号='" & Trim(Text1) & " ' "Adodc2.RecordSource = st2Adodc2.Refresh'有借书证号If Adodc2.Recordset.BOF = False Then'读者是教师If Adodc2.Recordset.Fields(" 读者类别") = " t " And Adodc2.Recordset.Fields("是否有超期") = "n" Then'是否超过最多的十本st1 = "select *from 借阅表where 借书证号='" & Trim(Text) & "'"Adodc1.RecordSource = st1Adodc1.RefreshIf Adodc1.Recordset.RecordCount >= 10 Then MsgBox "教师借书数量达到最多,不能再借!"ElseAdodc1.Recordset.AddNewAdodc1.Recordset.Fields("借书证号") = Text1Adodc1.Recordset.Fields("条形码号") = Text2Adodc1.Recordset.Fields("借出日期") = str(Date)Adodc1.Recordset.Fields("归还日期") = NullAdodc1.Recordset.Update'在图书表中写入"借阅状态"和"借阅次数"信息st3 = "select * from 图书表where 条形码号='" & Trim(Text2) & "'"Adodc3.RecordSource = st3Adodc3.RefreshAdodc3.Recordset.Fields("借阅状态") = "借出"Adodc3.Recordset.Fields("借阅次数") = Adodc3.Recordset.Fields("借阅次数") + 1Adodc3.Recordset.UpdateEnd If'读者是学生ElseIf Adodc2.Recordset.Fields("读者类别") = "s" And Adodc2.Recordset.Fields("是否有超期") = "n" Then'是否超过最多的三本str1 = "select * from 借阅表where 借书证号='" & Trim(Text1) & " ' "Adodc1.RecordSource = st1Adodc1.RefreshIf Adodc1.Recordset.RecordCount >= 3 ThenMsgBox "学生借书量达到最多,不能再借!"ElseAdodc1.Recordset.AddNewAdodc1.Recordset.Fields("借书证号") = Text1Adodc1.Recordset.Fields("条形码号") = Text2Adodc1.Recordset.Fields("借出日期") = str(Date)Adodc1.Recordset.Fields("归还日期") = NullAdodc1.Recordset.Update'在图书表中写入“借阅状态”和“借阅次数”信息st3 = "select * from 图书表where 条形码号=' " & Trim(Text2) & "'"Adodc3.RecordSource = st3Adodc3.RefreshAdodc3.Recordset.Fields("借阅状态") = "借出"Adodc3.Recordset.Fields("借阅次数") = Adodc3.Recordset.Fields("借阅次数") + 1Adodc3.Recordset.UpdateEnd IfElse: If Adodc2.Recordset.Fields("是否有超期") = "y" Then MsgBox "该读者有超期书,不能再借书"End IfEndEnd SubPrivate Sub cmdreturn_Click()Dim sst As StringDim sstt As StringDim sst3 As Stringsst = "select * from 借阅表where 条形码号='" & Text2 & "'"Adodc1.RecordSource = sstAdodc1.Refreshsstt = "select*from读书表where借书证号='" & Adodc1.Recordset.Fields("借书证号") & "'"Adodc2.RecordSource = ssttAdodc2.Refresh'先还书,再罚款Adodc1.Recordset.Fields("归还日期") = DateAdodc1.Recordset.UpdateMsgBox "还书成功"'在图书表中写入该书的“在库”信息sst3 = "select * from 图书馆where 条形码号='" & Text2 & "'"Adodc3.RecordSource = sst3Adodc3.RefreshAdodc3.Recordset.Fields("借阅状态") = "在库"Adodc3.Recordset.UpdateIf Adodc2.Recordset.Fields("读者类别") = "t" ThenIf Date - Adodcl.Recordset.Fields("借出日期") > 90 ThenMsgBox "有超期罚款"fm_punish.ShowEnd IfElseIf Adodc2.Recordset.Fields("读者类别") = "s" ThenIf Date - Adodcl.Recordset.Fields("借出日期") > 30 ThenMsgBox "有超期罚款"fm_punish.ShowEnd IfEnd IfEnd SubEnd Sub7)设计罚款管理窗口(1)设计窗体(3)编写程序Private Sub cmdexit_Click()Unload MeEnd SubPrivate Sub cmdpunish_Click()Dim pcount As IntegerDim i As IntegerDim sum As Singlesum = 0If Adodc3.Recordset.BOF = False Thenpcount = Adodc3.Recordset.RecordCountEnd IfFor i = 1 To pcountsum = sum + Adodc3.Recordset.Fields("超期天数") * 0.1'向罚款表中添加记录Adodc1.Recordset.AddNewAdodc1.Recordset.Fields("借书证号") = Adodc3.Recordset.Fields("借书证号")Adodc1.Recordset.Fields("条形码号") = Adodc3.Recordset.Fields("条形码号")Adodc1.Recordset.Fields("处罚日期") = DateAdodc1.Recordset.Fields("超期天数") = Adodc3.Recordset.Fields("超期天数")Adodc1.Recordset.Fields("罚款金额") = Adodc3.Recordset.Fields("超期天数") * 0.1Adodc1.Recordset.UpdateAdodc3.Recordset.MoveNextNext iText2 = sum & "元"End SubPrivate Sub cmdquery_Click()Dim str3 As Stringstr3 = "select 读者表.借书证号,条形码号,读者姓名,借出日期,(month(getdate())-month(借出日期)-3)*30+day(getdate()-day(借出日期)) as 超期天数"str3 = str3 & " from 读者表inner join 借阅表on 读者表.借书证号=借阅表.借书证号"str3 = str3 + " where 借阅表.借书证号='" & Text1 & " 'and 读者表.读者类别='t'and month (归还日期) - month(借出日期)>3"str3 = str3 + "or 读者类别= 's'and month (归还日期)-month(借出日期) > 1"Adodc3.RecordSource = str3Adodc3.RefreshText2.Text = " "End Sub七、实验心得与体会通过此次数据库的课程设计,真正达到了学与用的结合,增强了对数据库方面应用的理解,对自己今后参与开发数据库系统积累了不少经验,在实验过程中,从建立数据开始,对数据库设计理念及思想上有更高的认识,从需求分析,到概念设计和逻辑设计的过度,懂得了不少有关数据库开发过程中的知识,在实验中建表,及其关系模式,关系代数的建立及理解,增强了自己在数据库中应用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. 图书信息的管理,包括分类,图书编号,书名,出版社,作者,单价及数量,此项可查阅图书信息。

数据库图书管理系统实训报告

数据库图书管理系统实训报告

《数据库原理》集中实训报告系统名称:专业:班级:学号:姓名:指导教师:2014年6月17日目录1、前言 (1)1.1 课题简介 (1)1、开发系统的名称: (1)2、实训目的: (1)3、实训意义: (1)4、实训内容: (1)5、实训预期实现效果: (1)1.2 方案及其论证 (1)2、需求分析 (2)2.1可行性分析 (2)2.2系统功能分析 (2)1、系统功能结构图 (2)2、系统功能分析 (3)3、概念模型设计 (3)E-R图 (3)4、逻辑模型设计 (4)关系模型 (4)5、详细设计 (5)5.1建立数据库代码 (5)5.2建立前台界面以及其代码 (7)6、总结 (17)7、参考文献 (17)1、前言1.1 课题简介1、开发系统的名称:图书管理系统2、实训目的:通过本次实训,应熟悉并掌握数据库系统开发的基本方法,对理论教学中所讲的知识和基本概念有更进一步的理解,培养和提高实践操作能力,为今后从事计算机数据库系统的研究、开发、应用提供必要的准备。

3、实训意义:利用这次的实训,提高学生对理论知识的理解能力和实践技能。

熟练掌握SQL语句的使用,掌握分析和设计数据库的方法,会结合高级程序设计语言完成数据库系统的实现过程,培养学生的自学能力和创新能力。

4、实训内容:①需求分析:可行性分析、系统功能设计②概念模型设计③逻辑结构设计:关系模式、规范处理、视图设计④详细设计:建立前台界面⑤调试并运行5、实训预期实现效果:通过此次实训,学生能够熟练的建立数据库,并在VS开发环境下编写管理系统。

编写成功的图书管理系统,能进行图书的查询、借阅、归还等简单的基本操作。

1.2 方案及其论证语言: SQL+VB运行环境:Microsoft Visual Stdio 20102、需求分析2.1可行性分析目前,我们已经大概学习了SQL server,对网络技术也有一定的了解,而且图书管理系统已经得到了大量的运用,有许多可供参考的成功系统。

《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。

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

SQL课程设计 图书管理系统

SQL课程设计 图书管理系统

目录项目概述 ......................................... 错误!未定义书签。

一、图书管理系统数据库设计........................ 错误!未定义书签。

1、项目背景介绍.................................... 错误!未定义书签。

1.1 数据需求分析................................ 错误!未定义书签。

1.2 概念结构设计................................ 错误!未定义书签。

1.3 逻辑结构设计................................ 错误!未定义书签。

1.4 数据库物理设计.............................. 错误!未定义书签。

二、图书管理系统系统数据库实施步骤................ 错误!未定义书签。

1、项目实践........................................ 错误!未定义书签。

1.1 数据库的创建................................ 错误!未定义书签。

1.2 表对象的创建................................ 错误!未定义书签。

1.3 索引对象的创建 (9)1.4 视图对象的创建 (9)1.5 登录用户的创建 (10)1.6 数据库用户的创建 (10)三、图书管理系统系统数据库管理 (11)1、案例实践 (11)1.1 案例试验数据 (11)1.2 表数据的编辑 (12)1.3 表数据的简单查询 (12)1.4 表数据的联接查询 (13)四、项目总结 (14)五、参考文献 (14)一、图书管理系统数据库设计1、项目背景介绍:图书馆是高等院校的重要组成部门,是教师和学生获取知识的重要场所。

由于图书馆主要从事大量的图书资料的储存和流通,所以一直以来,计算机在图书馆的图书管理中得到了广泛的应用。

课程设计实验报告--图书管理系统

课程设计实验报告--图书管理系统

课程设计实验报告--图书管理系统课程名称:数据库课程设计系(院):数学与计算机学院班级: 2011级计算机科学与技术指导教师:欧方平摘要随着人类社会的发展,人类对知识的需求也不断地增长。

在这种形势下,书籍就渐渐地成为人们获取并增长知识的主要途径,而图书馆就自然而然地在人们的生活中占据了一定的位置。

随着现代科学技术的进步,人类社会正逐渐走向信息化,图书馆拥有丰富的文献信息资源,是社会系统的重要组成部分,在信息社会中作用愈来愈重要。

因此结合开入式图书馆的要求,对Access数据库、SQL语言原理应用程序设计,数据库技术进行了较深入的学习和应用,主要完成对图书管理系统的需求分析、功能模块划分、数据库模式分析,并由此设计了数据库结构和应用程序。

系统运行结果证明,本文所设计的图书管理系统可以满足借阅者、系统管理员、图书管理员和读者三方面的需要。

为了联系实际,考虑各层次学校的情况,软件本身要求易学,界面友好,容易掌握,可以较简单方便的管理各种图书信息;硬件的配置要求不能太高,这样可以很好的适应当前的学校图书馆。

系统的总体特点应该是方便、简单、实用。

关键词:SQL语言;管理;图书管理系统;分析;设计目录第一章绪论 (8)一、课题背景 (8)二、图书馆信息化管理 (9)第二章图书管理系统需求分析 (9)一、引言 (9)1、编写目的 (9)2、项目背景 (9)二、任务概述 (10)1、目标 (10)2、用户特点 (10)3、需求概述 (10)4、功能层次图 (12)三、数据描述 (12)1、数据 (12)2、动态数据 (13)3、数据库描述 (13)4、数据流图与数据字典 (13)四、功能需求 (16)1、功能划分 (16)2、功能描述 (16)五、性能需求 (17)1、数据精确度 (17)2、系统响应时间 (17)3、适应性 (18)六、运行需求 (18)1、用户界面 (18)2、硬件接口 (18)3、软件接口 (18)4、故障处理 (18)第三章图书馆管理系统数据库分析 (19)一、数据库 (19)二、用户数据 (19)三、源数据 (20)四、索引 (20)五、数据 (20)1、创建数据库 (20)2、数据库创建语句 (21)3、图书馆管理系统E-R (27)4、图书馆管理系统数据表清单 (28)第四章图书管理系统的功能实现 (31)一、登陆界面编码设计 (31)二、读者管理界面编码设计 (32) (33)三、图书管理界面编码设计 (33)四、借阅信息管理界面编码设计 (34)第五章结论与体会 (35)参考文献 (35)第一章绪论一、课题背景随着现代科学技术的进步,人类社会正逐渐走向信息化,图书馆拥有丰富的文献信息资源,是社会系统的重要组成部分,在信息社会中作用愈来愈重要。

图书管理系统的SQL实验报告

图书管理系统的SQL实验报告

图书管理系统的SQL实验报告数据库原理实验报告------------图书馆管理系统学号:0940407206姓名:#3#一,E—R图设计我设计的图书馆管理系统的全局E—R图如下:二,表结构的设计关系模式如下:adiministrator(gzzh,xm,mm)book(sh,sm,zz,cbrq,jg,bz,cbsm)reader(dzzh,xm,dzlx,yjsl)borrowing(dzzh,sh,jyrq)press(cbsm,tel,code,address)management(gzzh,sh)其中,adiministrator为管理员表,gzzh表示工作证号,xm表示管理员姓名,mm表示管理员的登录密码。

book表示图书表,sh表示书号,sm表示书名,zz 表示书的作者,cbrq表示出版日期,jg表示此图书的价格,bz为备注。

reader表示读者表,dzzh表示读者证号,xm表示读者姓名,dzlx为读者类型,yjsl表示读者的已借数量。

press表为出版社表,cbsm表示出版社名,tel表示出版社电话,code 表示出版社所在地的邮政编码,address表示出版社的地址。

administratorbookreaderborrowingmanagementpress三,SQL语句查询举例如下1.王一同学的所借书的编号。

select sm as ‘书号’from borrowing, readerwhere xm=’王一’ and borrowin g.dzzh=reader.dzzh 查询结果:书号----NO102NO1032. 求总藏书量,藏书总金额,最高价、最低价。

select count(sh) as‘总藏书量’,sum(jg) as‘藏书总金额’max(jg) as‘最高价’,min(jg) as‘最低价’from book查询结果:总藏书量藏书总金额最高价最低价-----------------------------------4 105 32 183. 目前实际已借出多少册书?select sum(yjsh) as '借出数量'from reader查询结果:借出数量-------43. 列出藏书在8本以上的书(书名、作者、出版日期)。

数据库实验报告-图书管理系统

数据库实验报告-图书管理系统

《数据库应用系统》实验报告院系:班级:学号:姓名:一、功能需求说明和分析本实验要求实现一个图书管理系统,系统功能需求说明如下:系统设置:参数、读者类型、图书类型、出版社、预约天数、管理员权限等的设置;系统管理:书籍资料、读者资料的管理和数据导入;基本操作:书籍借阅、续借、归还,新增书籍、读者,读者挂失、注销、退卡,书籍注销,丢失罚款;系统查询:书籍资料、借阅、归还等的查询,读者资料、超期未还、书籍注销的查询;统计分析:书籍、读者资料分类统计,书籍、读者借阅排行榜;罚款租金:可以进行罚款或租金的操作,并进行统计汇总;系统维护:备份、还原数据库,管理员登录密码修改。

针对上述需求说明,对该系统的需求进行进一步的分析如下:管理员权限:1.图书的录入,查询,修改和注销;2.读者信息的添加,修改,查询和注销;3.个人账号登录,查看个人信息,修改密码,退出登录;4.管理和授予读者借书权限;5.正常还书和违规还书。

读者权限:1.图书检索;2.登录,查看个人信息,查看借阅记录,退出登录;3.借书,还书;4.续借已借书籍,预约书籍;5.挂失和退卡注销。

书籍检索:1.读者可检索到自己想要的书籍的基本信息2.可以按照书籍排行榜查看书籍相关书籍二、需求分析数据流图(DFD)表达了数据和处理过程的关系,根据需求分析得到数据流图如下图所示。

数据字典(DD)是系统中各类数据描述的集合,是进行详细的数据收集和数据分析所获得的主要成果。

因此,图书馆信息管理系统数据流程图中,数据信息和处理过程需要通过数据字典才能描述清楚。

在我们定义的图书馆信息管理系统数据字典中,主要对数据流程图中的数据结构、数据存储和处理过程进行说明。

1、数据结构反应了数据之间的组合关系,主要数据结构定义如下:1)数据结构名称:管理员信息含义说明:管理员信息反应了管理员的一些相关信息组成:编号+姓名+登录密码2)数据结构名称:读者信息含义说明:读者信息反应了读者的一些相关信息组成:卡号+姓名+性别+类别+单位3)数据结构名称:图书信息含义说明:图书信息反应了图书的一些相关信息组成:书号+书名+作者+分类+出版社+状态+入库日期+数量4)数据结构名称:借阅记录含义说明:借阅记录反应了每一本书的被借阅历史和每一位读者的借阅历史组成:书号+卡号+借出日期+归还日期2、数据存储是数据结构停留或者保存的地方,主要数据存储定义如下:1)数据存储名称:管理员信息表输入:管理员的工作编号输出:管理员的基本信息数据结构:编号+姓名+登录密码说明:编号是唯一的,且不能为空,作为主码2)数据存储名称:读者信息表输入:读者的借书卡卡号输出:读者的基本信息以及借阅记录数据结构:卡号+姓名+性别+类别+单位说明:卡号是唯一的,且不能为空,作为主码3)数据存储名称:图书信息表输入:图书的书号输出:该图书的状态(已借出/馆内阅读/在架上)和被借阅历史数据结构:书号+书名+作者+分类+出版社+状态+入库日期+数量说明:书号是唯一的,且不能为空,作为主码4)数据存储名称:借阅记录表输入:书籍的书号,或者读者的借书卡卡号输出:相应的借阅记录数据结构:书号+卡号+借出日期+归还日期说明:书号-卡号作为主码;在读者-书籍关系中,卡号为主码,书号为外码;在书籍读者关系中,书号为主码,卡号为外码3、处理过程的具体处理逻辑一般用判定表或者判定树来描述,在数据字典中只需要描述处理过程的说明性信心。

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

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

数据库课程设计图书管理系统报告数据库课程设计图书管理系统报告「篇一」一、课程设计目的掌握虚拟仪器的概念和系统组成,虚拟仪器系统的基本设计思想;认识虚拟仪器的软件开发工具LabVIEW及图形化编程语言;掌握虚拟仪器软件的设计方法,能够运用LabVIEW进行数据操作、结构控制、文件读写、信号处理、数学分析、波形分析等。

二、第一阶段设计1、第一题第一题要求建立一个二维数组,由于没有指定数组的具体数值,所以设计为让用户自行输入数组的元素,并生成一个新的'数组,再进行后续的操作。

数组长度是使用数组大小函数来获得,经过数组大小函数后,通过索引数组来的到二维数组的行数与列数,想乘后的到数组的长度,查找元素和替换元素则是直接用已有的函数即可实现。

2、第二题任意创建一个二维数组常量,并定义数组元素后用第一题的方法得到数组的长度,把数组和数组长度输入到重排数组维数函数中,即可得到重新排列后的一维数组。

而后让用户自己设计把最后多少个元素放置到数组前面,经过一维数组循环移位后即可实现功能。

3、第三题首先是创建了个数组输入控件,让用户自己输入一维数组的元素,利用一维数组排序函数即可实现升序排列,然后把升序排列的结果利用反转一维数组函数进行反转,即可得到降序排列的数组。

4、第四题首先建立了一个二维的数组常量,定义数组的元素后显示出来。

利用数组的最大值最小值函数得到数组的最大值最小值以及位置,由于位置是以数组形式表示的,则用数组索引把行数列数提取出来并显示。

但这个方法的问题在于,数组的最大值最小值函数并不能把数组中所有的最值的位置都输出出来,它只输出第一个找到的最值的位置。

5、第五题建立一个簇然后在簇里添加题目要求的内容后,把顺序设置好,接着按顺序把相应的输入控件捆绑到簇中。

6、第六题首先求阶乘要分为3种情况,一是等于零,而是大于零,还有就是小于零。

让用户输入n的值后,马上进行判断,如果等于零,则直接输出1,如果小于零则输出0(表示出错),如果大于零则进入循环进行运算。

图书管理系统的SQL实验报告

图书管理系统的SQL实验报告

数据库原理实验报告------------图书馆管理系统学号:0940407206姓名:#3#一,E—R图设计我设计的图书馆管理系统的全局E—R图如下:二,表结构的设计关系模式如下:adiministrator(gzzh,xm,mm)book(sh,sm,zz,cbrq,jg,bz,cbsm)reader(dzzh,xm,dzlx,yjsl)borrowing(dzzh,sh,jyrq)press(cbsm,tel,code,address)management(gzzh,sh)其中,adiministrator为管理员表,gzzh表示工作证号,xm表示管理员姓名,mm表示管理员的登录密码。

book表示图书表,sh表示书号,sm表示书名,zz 表示书的作者,cbrq表示出版日期,jg表示此图书的价格,bz为备注。

reader表示读者表,dzzh表示读者证号,xm表示读者姓名,dzlx为读者类型,yjsl表示读者的已借数量。

press表为出版社表,cbsm表示出版社名,tel表示出版社电话,code 表示出版社所在地的邮政编码,address表示出版社的地址。

administratorbookreaderborrowingmanagementpress三,SQL语句查询举例如下1.王一同学的所借书的编号。

select sm as ‘书号’from borrowing, readerwhere xm=’王一’ and borrowing.dzzh=reader.dzzh 查询结果:书号----NO102NO1032. 求总藏书量,藏书总金额,最高价、最低价。

select count(sh) as‘总藏书量’,sum(jg) as‘藏书总金额’max(jg) as‘最高价’,min(jg) as‘最低价’from book查询结果:总藏书量藏书总金额最高价最低价-----------------------------------4 105 32 183. 目前实际已借出多少册书?select sum(yjsh) as '借出数量'from reader查询结果:借出数量-------43. 列出藏书在8本以上的书(书名、作者、出版日期)。

数据库课程设计之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)五、图书馆管理系统数据库、数据表源代码........... 错误!未定义书签。

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

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

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

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

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

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

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

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

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

SQL-数据库---图书管理系统

SQL-数据库---图书管理系统

SQL-数据库---图书管理系统D第一章:实验指导书《数据库原理及应用》课程设计指导书一、课设目的通过设计一个管理信息系统,考察学生运用所学知识的能力,针对相关的课程:计算机语言、数据库原理等的检验;还有助于提高学生的实践能力、综合应用能力,为毕业设计打下良好的基础。

二、课设要求1、题目要求本次课程设计的题目是《图书借阅管理系统的设计与实现》。

2、设计结果要求(1)每人在指定时间内独立完成课程设计题目,最后一次上机开始检查个人程序,被检查人要能详细解释自己程序功能的实现方法;(2)统一提交课程设计报告,按照需求分析、概要设计、详细设计、软件实现、软件测试、课程设计总结的框架撰写课程设计报告;报告附录:源程序清单(可节选主要代码);(3)完整的数据库文件、代码、课程设计报告电子版压缩打包,并以学号姓名命名(如:B100601101班若愚.rar),数据库文件、源码和课程设计报告电子版收齐后以班为单位刻盘;(4)课程设计报告打印版、光盘以班为单位在最后一天上机时提交;光盘每个班交一张.4、环境(1) 机房在规定的时间内,必须在指定的机房进行课程设计,其余时间自由上机设计。

(2) 硬件要求提供具有网络功能的PC机。

(3) 软件操作系统:Windows xp;语言:任选一种面向对象的程序设计语言(如: C#.net, ,VB, VC等);工具::文字处理—WORD, 表格处理—EXCEL, 图形处理--Microsoft Visio 等,数据库:SQL Server 2005。

三、参考资料为了让同学们能顺利地开展课程设计, 对所做的系统有更多的了解与掌握, 下面给出有关的参考文献, 以供同学们选择。

[1] 杨学全主编, SQL Server实例教程(第二版)[M]. 北京: 电子工业出版社. 2007年9月[2] 于国防,李剑.C#语言Windows程序设计[M].北京:清华大学出版社.2010年9月[3] 史济民, 顾春华, 李昌武, 苑荣编著. 软件工程——原理、方法与应用[M]. 北京: 高等教育出版社. 2004年1月.[4] 张海藩编著. 软件工程导论[M]. 北京: 清华大学出版社. 2005年10月.[5] 张奇, 李律松, 卫建伟等编著. Visual C#数据库项目案例导航[M]. 北京: 清华大学出版社. 2005年6月.[6] 邹建峰等,C#企业级开发案例精解[M],北京:人民邮电出版社.2006年1月.[7] Kouresh Ardestani著,张哲峰译.高效掌握. [M]北京:清华大学出版社.2003年3月.第二章:需求分析一实验目的(1)培养综合应用Microsoft Visual Studio 2010和SQL进行应用程序设计和解决实际问题的能力;(2)加深对Microsoft Visual Studio 2010和SQL编程环境和编程方法的理解;(3)发挥各人的想像能力和分析能力,拓展思维空间;(4)掌握应用程序设计的基本方法;(5)巩固已经学到的编程技术,学会在编程中学习编程。

SQL课程设计报告(图书借阅管理系统)

SQL课程设计报告(图书借阅管理系统)

求需据数、1
析分求需、二
。面界作操的 化性人现实而从�息信示提种各出给并�性整完据数护维�虑考面全也束约制限 种各于对且而�作操的书还、借续、书借现实松轻�件事书还�件事阅借的生发 次每录记录记的统系能仅不)nruterkoob(表息信书图还归生学和 �worrobkoob� 表息信书图阅借生学的成形终最�计设种各的能功和表上以过通 。数次借在的书图还归未类各内之间时段一阅查松轻可即�数 行果结询查的内之点间时个两在间时书借计统�询查接连内行进表 worrobkoob 、 表 息信 书图 、表 别类 书图 对 �点 间时 个两 入输 �时 数次 借在 的书 图还 归 未 类各内之间时段一询查。息信书图、生学的还归为示显接直能就表 worrobkoob �话的样这�除删中表 worrobkoob 从接直都录记书借应相的学同书还�书图还 归未理管于过莫分部的要重最理管书图对 。作操询查多很化简以可想思计设的样 这�储存开分息信书图还归生学和息信书图阅借生学将�询查据数�4� 。作操除删该滚回并�错报将 revreS LQS �功成作操法无则 � �录记书借的中 worrobkoob 除删有没还 �书还未还生学即� 下 况情的录记应相在存还中表 worrobkoob 在�息信的书本者或生学个这除删想要 �后书本某了出借功成生学某若�是用作的除删联级闭关。值新为改修动自号编 书图和号学生学�改修一一列应对的表 worrobkoob 对再要需不�变改息信的应 相表息信生学和表息信书图在�是用作的新更联级置设。除删联级闭关�新更联 级开打置设并�围范值取的列两这中表 worrobkoob 了定限而从。性整完据数施 实来束约键外义定别分列两号编书图和号学生学的表 worrobkoob 为以所。号书 图的在存中表息信书图是须必也号编书图 �号生学的过册注经已中表息信生学是 须必号学生学的中表 worrobkoob 为因�性整完据数施实束约键外用使.b 。 ”0“值认默用使�值的列 该定指有没�时书借生学在�束约认默个一了义定列数次借续的表 worrobkoob 为 � 加 自 的 数 次 借 续 现 实 了 为 � 性 整 完 据 数 施 实 束 约 认 默 用 使 .a �性整完据数)3(

图书管理系统的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,是否续借,借书日期,还书日期,备注。

sql数据库实验报告

sql数据库实验报告

sql数据库实验报告SQL数据库实验报告一、引言SQL(Structured Query Language)是一种用于管理关系型数据库的编程语言。

在本次实验中,我们使用SQL语言进行了数据库的设计、创建和操作,以及对数据库的查询和更新等操作。

本报告将详细介绍实验的目的、设计思路、实验过程和实验结果等内容。

二、实验目的本次实验的主要目的是熟悉SQL语言的使用,掌握数据库的设计和操作技巧。

通过实际操作,加深对数据库原理和相关知识的理解,并能够灵活运用SQL语言进行数据库的管理和操作。

三、实验设计本次实验的数据库设计基于一个图书馆管理系统。

我们需要设计多个表格,包括图书、读者、借阅记录等,并建立相应的关系。

为了实现这一目标,我们采用了以下步骤:1. 创建数据库:首先,我们使用SQL语句创建一个新的数据库,命名为"Library"。

2. 创建表格:接下来,我们根据需求创建了多个表格,包括"Books"、"Readers"和"BorrowRecords"等。

每个表格都有相应的字段,用于存储相关数据。

3. 设计关系:在创建表格的过程中,我们需要考虑不同表格之间的关系。

例如,图书表格和读者表格之间可以建立借阅关系,通过读者ID和图书ID进行关联。

4. 插入数据:创建表格后,我们使用SQL语句向表格中插入测试数据。

这些数据包括图书的名称、作者、出版日期等信息,以及读者的姓名、年龄、性别等信息。

5. 查询和更新:最后,我们使用SQL语句进行数据库的查询和更新操作。

通过编写合适的查询语句,我们可以实现对图书、读者和借阅记录等数据的检索和修改。

四、实验过程在实验过程中,我们按照上述设计思路一步步进行操作。

首先,我们使用SQL 语句创建了一个名为"Library"的数据库。

接着,我们创建了三个表格,分别是"Books"、"Readers"和"BorrowRecords"。

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

数据库S Q L实训设计报告图书管理系统Document serial number【KKGB-LBS98YT-BS8CB-BSUT-BST108】南京广播电视大学课程实训报告课程:数据库概念模型E-R图姓名:吴峻峰学号:年级: 2013春专业:计算机信息管理学生类别:成人指导教师:周泽如教学单位:江宁电大2013年12月7日引言现今随着IT行业地飞速发展,我们的生活渐渐变得越来越轻便。

为了方便图书管理工作流程,可以更清楚、方便地完成管理图书的,并能很好地管理图书资料。

将把每个同学的信息输入系统里,系统就会自动保存,不需要用笔记进行分析,然后进行总结,只需要作一些小的操作便可以让系统自行帮我们进行统计分析并总结,大大节省了工作人员的工作量。

为了本软件能顺利地开发出来,在这里主要使用SQL Server数据库作为后台数据库、ADO数据访问技术开发一个客户机/服务器应用系统。

通过该应用系统实现对图书管理员信息,学生信息,图书信息和图书借阅信息等的添加、修改和删除,并保证使数据达到3NF,有效减少数据的冗余和插入删除异常。

通过对整个系统的开发,提高VB 、T-SQL 编程语言各个知识点的综合应用能力、Visual Basic + SQLServer 语言编程和调试能力,为学习软件专业课程创建较扎实的理论基础和实践基础。

一、 需求分析图书管理系统是为了适应新形式下学校图书管理工作而开发的一套管理系统。

要求能够实现学校图书管理系统的自动导入,按照系统分析自动进行读书,根据比例要求自动生成图书传阅信息、能够查询、修改各种信息,对借阅、赔偿进行统计,生成报表,基本满足学生工作人员的需要。

二、 软件开发工具与环境概述开发工具: 前端环境:Microsoft Visual Basic后台数据库:Microsoft SQL Server 2000运行环境: 硬件环境: CPU :800MHz 以上内存:128M 或更高 硬盘:20G操作系统: Windows 98/2000/XP/2003三、 系统设计系统功能设计1.系统总体数据流程图2.系统的主要功能(1)图书管理模块:用来实现图书的登记、借阅、赔偿。

(2)图书资料模块:用来实现图书的查询输出。

(3)图书管理员模块:用来实现管理人员的值班浏览。

(4)投诉管理模块:用来实现对管理人员的投诉管理。

数据库设计1.系统的概念结构设计读者借阅信息 调动系统借阅图书登录借阅分析2.系统的逻辑结构设计用户信息表(用户名,密码,用户身份)图书管理员信息表(工作人员编号,姓名,性别,值班时间)学生信息表(学生学号,班级编号,学生姓名,性别,系别)图书信息表(图书编号,类别编号,类别名称,图书名称,作者姓名,出版社名称,图书简介,定价,能否借出,封面)图书借阅信息表(图书名称,借书证号,学号,工作人员编号,借出数量,剩余数量)图书赔偿信息表(借书证号,图书编号,工作人员编号,借书日期,应还日期,赔偿原因,赔偿金额,解决方案)投诉管理信息表(借书证号,工作人员编号,投诉日期,投诉内容)3.系统的物理结构设计系统关系图用户信息表结构学生信息表列名数据类型可否为空学生学号char(12)NOT NULL班级编号char(10)NOT NULL借书证号char(10)NOT NULL学生姓名 char(20) NOT NULL性别 char(5) NOT NULL系别 char(20) NOT NULL列名数据类型可否为空工作人员编号char(12)NOT NULL姓名char(20)NOT NULL列名数据类型可否为空用户名varchar(50)NOT NULL密码varchar(50)NOT NULL用户身份char(10)NULL性别char(5)NOT NULL值班时间 datetime NOT NULL列名数据类型可否为空图书名称char(20)NOT NULL学生学号char(12)NOT NULL借书证号char(10)NOT NULL 工作人员编号 char(12) NOT NULL 借出数量char(10)NOT NULL剩余数量char(10)NOT NULL列名数据类型可否为空图书编号char(20)NOT NULL类别编号char(20)NOT NULL类别名称 varchar(20)NOT NULL图书名称 varchar(20) NOT NULL作者姓名 char(20) NULL出版社名称 varchar(50) NULL图书简介 text NULL能否借出 char(5) NOT NULL封面image NULL列名数据类型可否为空借书证号char(10)NOT NULL图书编号char(20)NOT NULL 工作人员编号char(12)NOT NULL借书日期datetime NOT NULL应还日期datetime NOT NULL赔偿原因text NOT NULL赔偿金额money NOT NULL解决方案text NULL列名数据类型可否为空借书证号char(10)NOT NULL投诉日期datetime NOT NULL投诉内容 text NOT NULL 工作人员编号 char(12) NOT NULL图书管理员信息表数据如下:图书借阅信息表数据如下:4.系统的实现界面设计系统的登录界面系统功能(主菜单)A.系统管理(修改用户;用户管理;重新登录;退出系统)B.图书管理员信息管理(添加工作人员信息;修改工作人员信息;删除工作人员信息)C.学生信息管理(添加学生信息;修改学生信息;删除学生信息)D.图书信息管理(添加图书信息;修改图书信息;删除图书信息)E. 图书借阅信息管理(添加图书借阅信息;修改图书借阅信息;删除图书借阅信息)F. 图书赔偿信息管理(添加图书赔偿信息;修改图书赔偿信息;删除图书赔偿信息)G. 投诉管理信息管理(添加投诉管理信息;修改投诉管理信息;删除投诉管理信息)H.查询信息(图书管理员信息;查看学生信息;查看图书信息等)I.帮助(About)SQL语句实现功能代码:(学生信息表)全部信息select*from学生信息表go查询学生信息表中的学生姓名为“李白”的全部信息select*from学生信息表where学生姓名='张柏芝'go在图书信息表中图书名称为SQL的图书信息select*from图书信息表where图书名称='SQL'GO查询学生学号为“080001”所借图书的日期select学生信息表.学生学号,学生姓名,图书赔偿信息表.借书证号,借书日期from学生信息表,图书赔偿信息表where图书赔偿信息表.借书证号=学生信息表.借书证号and学生信息表.学生学号='080001'查查询学生姓名为"谢娜"的学生借阅的书是否过期并算出超期天数select学生信息表.学生学号,学生姓名,图书赔偿信息表.借书证号,(datediff(day,借书日期,还书日期)-30)as超期天数from学生信息表,图书赔偿信息表where图书赔偿信息表.借书证号=学生信息表.借书证号and学生信息表.学生姓名='谢娜'统计各系别超过2人的信息select系别,count(系别)as人数from学生信息表group by系别having count(系别)>2信息修改:>增添Insert 学生信息表(学生学号,班级编号,借书证号,学生姓名,性别,系别)values ('080002', '3483','RH0003','小雪', '女',’软件’)go>修改update 学生信息表set学生学号='080003'where学生学号='080001'go>删除Delete 学生信息表Where 学生学号 ='093678'Go四、结束语实训对于我们来说是一个很好的锻炼机会,因为它不仅让我们体会到了作一个完整的数据库过程,还是对我们对这门学科综合能力的检测。

在制作过程中很辛苦,但是在最后作品出来以后我们体会到了成功的快乐。

在制作过程中遇到困难是难免的,而解决问题的关键是自己应该对所学知识熟练的掌握。

所以我们会更加努力学习,争取以后能做出更好的作品。

附:参考文献[1]李鸿吉,Visual 中文版编程方法详解. 科学出版社[2]王寅永,李降宇,李广歌. SQLServer深入详解.电子工业出版社[3]周仁云. SQL Server2005案例教程.对外经济贸易大学出版社[4]许冰.Visual basic编程资源大全2004.中国青年出版社南京广播电视大学课程实训指导过程记录及成绩评定表。

相关文档
最新文档