加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

数据库原理与应用实验报告

(2009-10-30 18:54:24)
标签:

数据库

book

if

关系模型

db

sql

校园

分类: 学习

实验目的
掌握数据库设计的主要原则
掌握数据库开发的主要方法

 

实验内容和步骤

该图书借阅系统实现了人员、图书基本信息的管理,图书的借阅与归还管理。

系统主要包括两个部分,即前台与后台,前台实现用户(学生)对图书的借阅与归还,同时学生可以查看搜索图书以及查看自己的借书情况 ,包括借阅时间归还时间及是否应经归还等等;后台实现了人员、图书基本信息的管理,包括用户(学生,经管理员)的增加、删除以及修改,图书的新增,删除,修改,分类以及是否可借等等信息。

(一)登陆界面如图所示

 

所示的登陆界面包括帐号,用户名,密码及角色,登录中有java验证及其他验证,要求必须填写且填写的内容必须符合数据库的内容,特别是角色方面,当用户是管理员时才能进入到管理员界面即后台管理,使用户时进入前台借阅系统,主要代码是:

 

1.登陆页面java验证

<script language="javascript">      (java验证)

function check_form(){

if(document.form1.User_ID.value==""){

alert("请输入账号!!!");

document.form1.User_ID.focus();

document.form1.User_ID.select();

return false;}

if(document.form1.pwd.value==""){

alert("请输入密码!!!");

document.form1.pwd.focus();

document.form1.pwd.select();      

return false;}}</script>

2.身份验证

<%

dim action

action=trim(request.QueryString("action"))

if action="chkuser" then

dim pwd,user_id

user_id=request.Form("user_id")

pwd=request.Form("pwd")

if user_id="" then

response.Write("<script>alert('账号不能为空!');history.back()</script>")

response.End()

elseif pwd="" then

response.Write("<script>alert('密码不能为空!');history.back()</script>")

response.End()

end if

set rs=server.CreateObject("adodb.recordset")

sql="select * from B_user where user_id='"&user_id&"' and pwd='"&pwd&"'"

rs.open sql,db,2

if rs.bof then

 response.Write("<script>alert('密码或用户名错误');history.back(-1)</script>")

 response.End()

 else

session("user_id")=rs("user_id")

session("pwd")=rs("pwd")   

 

    if rs("role")="学生"and request.form("role")="学生" then

         response.redirect"student.asp"

         end if

    if rs("role")="管理员"and request.form("role")="管理员" then

         response.redirect"guanli.html"

    end if

     response.End()

    end if

    end if

    %>

3.  首页“图书类别“页面 包括图书的编号,名称,作者,简介,以及是否可借

 

4. 首页“图书预览“等的页面

 

(二)学生进入前台借阅系统:

该系统包括图书借阅、图书归还、图书预览等的功能

1.  学生登录后页面                         2. 借阅图书     

 

借阅图书的主要sql语句

sqlstr1="select * from Borrow order by book_id desc"

       set rs=db.execute(sqlstr1)

       sqlstr2="insert into Borrow(user_id,book_id,start_date,return_date) values('" & user_id &"','" & book_id &"','"&start_date&"',0)"

       db.execute(sqlstr2)

       sqlstr3="update B_book set book_state=2 WHERE book_id='"& book_id &"' "

       db.execute(sqlstr3)

图书借阅后的管理员预览页面信息前:

 

借阅前 B_book表  (1代表能借,2代表不能借)                borrow表

 

借阅后 B_book表                       borrow表

 

3.归还图书

归还图书的主要sql语句

sqlstr1="select * from Borrow "  set rs=db.execute(sqlstr1)

    sqlstr2="update Borrow set return_date='"&return_date&"' where book_id='"&book_id&"'"  set rs= db.execute(sqlstr2)

sqlstr3="update B_book set book_state=1 WHERE book_id='"&book_id&"'"

    set rs=db.execute(sqlstr3)

 

归还图书后的图书预览页面

 

归还后 B_book表                       borrow表

 

4. 搜索图书

 

搜索结果

 

(三)管理员进入后台界面:

包括成员管理、图书管理、借阅管理

1. 管理员登录

 

2. 登录后页面:

 

3. 修改用户信息

修改用户的主要sql语句

StrSql="Update B_user Set user_id='" & varid & "',user_name='" & varName & "',pwd='" & varpwd & "' Where user_id=" & varid    db.Execute(strSql)

 

管理员修改前                              管理员修改后

 

4. 删除后用户信息:                         删除用户后B-user

 

删除用户的主要sql语句

strSql="Delete From B_user Where user_id=" & varLink_id    db.Execute(strSql) 

管理员在图书管理页面插入图书信息:

 

5.插入新书后:

 

插入图书前的b_book表:                      插入图书后的b_book表:

 

为插入新书主要sql语句

StrSql="Insert Into B_book(book_id,book_name,book_author,book_conten,book_sort,book_state) Values('" & Book_ID & "','" & Book_name & "','" & Book_Author & "','" & Book_conten & "','" & type1 & "',1)"   db.Execute(strSql)

6. 修改图书信息:                        修改后   删除前

 

修改图书的主要sql语句:

StrSql="Update B_book Set book_id='" & varid & "',book_name='" & varName & "',book_author='" & varauthor & "',book_conten='" & varconten & "',book_sort='" & varsort & "',book_state='" & varstate & "'Where book_id=" & varid    db.Execute(strSql) 

7. 删除后

 

删除新书的主要sql语句:

strSql="Delete From B_book Where book_id=" & varLink_id

db.Execute(strSql)  

(四)数据库链接:conn.asp   (用法:<!--#Include File="conn.Asp"-->)

<%

dim db

set db=server.CreateObject("ADODB.Connection")    

    db.open"Dbq="&server.MapPath("message.mdb")&";Driver={SQL Server};SERVER=(local);UID=sa;PWD=sa;DATABASE=message"

%>

 

(分页显示)

<!--#Include File="conn.asp"-->

(五)Dreamweaver中的图书管理系统站点

 

五、实验总结与分析:

图书管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。
    我们利用asp+sql server2000完成了此次实验 ,在作此次试验之前对开发数据库的基本概念了解较少,对数据库的结构、开发数据库应用程序的步骤、开发体系及方法也没有清晰地了解和认识,做了此次试验后有了一定了解。数据库应用系统开发的目标是建立一个满足用户长期需求的产品。开发的主要过程为:理解用户的需求,然后,把它们转变为有效的数据库设计。把设计转变为实际的数据库,并且这些数据库带有功能完备、高效能的应用。

 1数据库由DBMS(数据库管理系统)处理,DBMS则由开发人员和用户通过应用程序直接或间接地使用
2(DBMS)数据库管理系统(DBMS)是指数据库系统中管理数据的软件系统。DBMS是数据库系统的核心组成部分。对数据库的一切操作,包括定义、更新及各种控制,都是通过DBMS进行的。DBMS总是基于某种数据模型,可以把DBMS看成是某种数据模型在计算机系统上的具体实现。根据数据模型的不同,DBMS可以分成层次型、网状型、关系型、面向对象型等。

3关系模型关系模型主要是用二维表格结构表达实体集,用外键表示实体间联系。关系模型是由若干个关系模式组成的集合。关系模式相当于前面提到的记录类型,它的实例称为关系,每个关系实际上是一张二维表格。关系模型和层次、网状模型的最大判别是用关键码而不是用指针导航数据,表格简单用户易懂,编程时并不涉及存储结构,访问技术等细节。关系模型是数学化模型。SQL语言是关系数据库的标准化语言,已得到了广泛的应用。 运行子系统处理用设计子系统开发的应用组件。它所包含的运行处理器用来处理窗体和数据库的数据交互,以及回答查询和打印报表等。

0

阅读 收藏 喜欢 打印举报/Report
前一篇:追溯上一问题
后一篇:DOS概念
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有