毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 课程设计 >> 正文

.NET+SQL Server2000图书管理系统 第2页

更新时间:2007-12-11:  来源:毕业论文

.NET+SQL Server2000图书管理系统 第2页

四.数据库设计

4.1数据库的需求分析:

本系统使用SQL SERVER2000作为应用程序的数据库。考虑到系统的实际需求,系统至少需要四张数据库表,具体如下:

1.图书信息数据表(BOOKINFO):用于图书馆的所有已录入的书目信息,这是本系统最为关键的数据部分,包括图书号、图书名、图书作者、出版时间、索取号、价格和图书条码。

2.

名字:密码

别名:

描述:用户和管理员进入管理系统的条件.

定义:1{数字或字符}8.

位置: 管理员信息

      用户信息

 

名字:管理员号

别名:

描述:管理员在图书馆中的惟一的标识.

定义:1{数字}5.

位置: 管理员信息

 

名字:借阅号

别名:

描述:用户在图书馆中借还书的惟一的标识.

定义:1{数字}8.

位置: 借阅信息

 

名字:用户号

别名:

描述: 此用户在图书馆中的惟一的标识.

定义:1{数字}8.

位置: 用户信息

     借阅信息

 

名字:图书号

别名:

描述: 此书在图书馆中的惟一的标识.

定义:1{数字}8.

位置: 图书信息

     借阅信息

 

用户信息表(USER):用户ID、用户名、密码、地址、E-MAIL、电话。

3.借阅信息表(LENDINFO):ID、用户ID、图书ID、借阅时间、归还时间、归还与否。

4.管理员信息表(MANGER):管理员ID、密码。

 

数字字典

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

名字:图书信息

别名:

描述:描述图书馆所有已录入的书目信息及该书的库存情况.

定义:图书号+图书名+图书作者+出版时间+索取号+价格+图书条码。

位置:事务

 

名字:管理员信息

别名:

描述:描述管理员身份和密码.

定义:管理员ID+密码。

位置:事务

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

4.2概念设计

 

 

 

 

 

 

4.3逻辑设计

 

 

 

 

 

 

 

 


BOOKINFO

 


USERS

 

MANGER

 

 

 

 

 

 

 

 

 

 

 

 

 

 

LENDINFO

 

4.4物理设计

 对数据库建立索引,索引语句在SQL语句中。

Create unique index book_id ON bookinfo(bookid)

Create unique index user_id ON user(userid)

Create unique index lend_id ON lendinfo(lendid)

4.5 SQL语句的实现

创建数据库名为library

 

CREATE DATABASE LIBRARY

创建员工基本信息                                                                                                    

 

CREATE TABLE BookInfo

   (  bookid int(4)  NOT NULL UNIQUE ,

      bookname varchar(100) ,

      pubname varchar(100) ,

      bookauthor varchar(50) ,

      series varchar(50) ,

      ISBN varchar(50) ,

      SearchNO varchar(50) ,

      PubDate smalldatetime(4) ,

      Price float(8) ,

      Barcode varchar(50)

);

 

CREATE TABLE LendInfo

(

      LendID int(4) NOT NULL UNIQUE ,

      BookID int(4) NOT NULL UNIQUE ,

      UserID varchar(50) NOT NULL UNIQUE ,

      LendDate smalldatetime(4) ,

      ReturnDate smalldatetime(4) ,

      IsBack int(4)

);

 

CREATE TABLE manage

(

      manageid int(4) NOT NULL UNIQUE,

      Pass char(10) 

) ;

 

 

CREATE TABLE users

(

      userid int(4) NOT NULL UNIQUE ,

      username char(10) ,

      pass char(10) ,

      email char(50) ,

      phone char(10) ,

      address varchar(50) ,

      BookNum int(4) 

);

 

 

4.6 创建视图

创建关于书名的视图,因为查询时需要绑定。

Create view book_name

As

Select bookid,pubname,bookauthor,bookname,searchNO

FROM BOOKINFO

WHERE bookname=’ASP程序设计

 

创建关于用户名的视图,因为查询时需要绑定。

Create view user_name

As

Select userid,username,phone,address,email

FROM users

WHERE username=’1’

 

 

4.7 创建存储过程

 

创建建表的存储过程

USE LIBRARY

GO

CREATE  PROCEDURE  createtables

AS

 CREATE TABLE BookInfo

     (  bookid int(4)  NOT NULL UNIQUE ,

      bookname varchar(100) ,

      pubname varchar(100) ,

      bookauthor varchar(50) ,

      series varchar(50) ,

      ISBN varchar(50) ,

      SearchNO varchar(50) ,

      PubDate smalldatetime(4) ,

      Price float(8) ,

      Barcode varchar(50)

);

 

CREATE TABLE LendInfo

(

      LendID int(4) NOT NULL UNIQUE ,

      BookID int(4) NOT NULL UNIQUE ,

      UserID varchar(50) NOT NULL UNIQUE ,

      LendDate smalldatetime(4) ,

      ReturnDate smalldatetime(4) ,

      IsBack int(4)

);

 

CREATE TABLE manage

(

      manageid int(4) NOT NULL UNIQUE,

      Pass char(10) 

) ;

 

 

CREATE TABLE users

(

      userid int(4) NOT NULL UNIQUE ,

      username char(10) ,

      pass char(10) ,

      email char(50) ,

      phone char(10) ,

      address varchar(50) ,

      BookNum int(4) 

);

 

GO

 

 

4.8 创建触发器

创建关于书号和用户号的触发器,分别在BOOKINFO .USERS中修改bookiduserid时,在LENDINFO中也会有相应的修改。

CREATE TRIGGER BookidChange

ON BOOKINFO

AFTER UPDATE

AS

IF UPDATE(bookid)

  BEGIN

     DECLARE @book_id as int

     DECLARE @old_book_id as int

     SELECT @ book_id=bookid inserted

     SELECT @ old_book_id =bookid deleted

Update LENDINFO

SET LENDINFO.bookid=@ book_id

WHERE LENDINFO. bookid =@ old_book_id

END

 

CREATE TRIGGER UserIdChanges

ON USERS

AFTER UPDATE

AS

IF UPDATE(userid)

  BEGIN

     DECLARE @user_id as int

     DECLARE @old_user_id as int

     SELECT @ user_id =userid inserted

     SELECT @ old_user_id = userid deleted

Update LENDINFO

SET LENDINFO. userid =@ user_id

WHERE LENDINFO. userid =@ old_user_id

END

 

五、 使用ER/STUDIO完成数据库设计

 

 

上一页  [1] [2] [3] [4] [5] 下一页

.NET+SQL Server2000图书管理系统 第2页下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优文论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。