数据库详细设计说明书_第1页
数据库详细设计说明书_第2页
数据库详细设计说明书_第3页
数据库详细设计说明书_第4页
数据库详细设计说明书_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精选优质文档-倾情为你奉上1.1 目的本文为图书馆管理课程设计SQL Server功能规范说明书。本说明书将:l 描述数据库设计的目的l 说明数据库设计中的主要组成部分l 说明数据库设计中各功能的实现1.2 内容本文档主要内容包括对数据库设计结构的总体描述,对数据库中各种对象的描述(包括对象的名称、对象的属性、对象和其他对象直接的关系)。本文档中包含对以下数据库内容的描述:l 数据表l 视图l 存储过程l 触发器l 约束在数据库主要对象之外,本文还将描述数据库安全性设置、数据库属性设置和数据库备份策略,为数据库管理员维护数据库安全稳定地运行提供参考。1.3 与其他项目的关联本项目的数据库设计与

2、本项目(Web部分和Windows部分)功能密切相关。本案例项目的数据库将按照项目程序部分的功能需求而设计,数据库设计将配合设计案例的程序部分,以实现一个功能完备的真实环境内的应用。表1.4 表设计概述根据设计的系统功能,数据库将以图书信息为中心存储相关数据,配合 SQL Server 数据库系统中提供的数据管理,实现图书的借阅、归还、续借及系统设置等业务功能。数据库设计将以存储读者信息的读者表为基础,连接多张相关表以实现对以下关系的支持:l 顾客浏览记录l 顾客订购记录l 顾客退订记录l 顾客付款记录l 顾客对花卉的评价l 顾客对花卉的建议及留言。图 011.5 顾客用户信息表(Reader

3、Info)概述顾客用户信息表用于记录顾客基本信息,并作为基础表与其他表连接。表定义读者用户信息表定义如Error! Reference source not found.所示。表 01字段类型可否为空备注Usernamenvarchar(10)否IDint否Passwdchar(8)否Namenvarchar(10)可Sexchar(2)否Ageint可StuNumNumeric可PlaceStrandnvarchar(50)可PlaceClassnvarchar可ValidCardnvarchar(50)否BookCardnvarchar(10)可CreateTimedatetime可Exp

4、iredTimedatetime可主键用户信息表的主键是用户信息表编号字段,类型为整型,设置自动增量。约束无索引主键用户信息ID具有自动创建的聚集索引。1.6 管理员用户信息表(UserInfo)概述管理员用户信息表用于记录系统管理员的各项资料。表中都记录了管理员的账号和密码,是各用户的详细记录。表定义管理员用户信息表定义如Error! Reference source not found.所示。表 02字段类型可否为空备注IDNumeric不否Usernamenvarchar(10)不否Passwdchar(8)不否Typenvarchar(14)不否主键管理员用户信息表的主键是管理员用户I

5、D号,类型为整型,设置自动增量。约束无其他约束。索引主键字段管理员编号具有自动创建的聚集索引。用户类别表(ReaderType)读者类别表用于记录顾客信息,包括名字、地址等。表定义读者类别表定义如Error! Reference source not found.所示。表 03字段类型可否为空备注IDint否Namenvarchar(10)否ReaderIDint 否Canborrowint 可主键读者类别表的主键是读者表ID字段,类型为整型,设置自动增量。约束无其他约束。索引主键字段薪资编号具有自动创建的聚集索引。花束信息表(BookInfo)图书信息表用于记录花束信息(花束名称、花束等),

6、通过字段花束类别号与花束类别表关联。表定义图书信息表定义如Error! Reference source not found.所示。表 04名称类型可否为空备注IDnvarchar(20) 否Namenvarchar(50)否Typeidint 可Statebinary 可Creattimedatetime否Pricemoney可Pressnvarchar(50) 否IsCancellationbinary可IDCancellationint可Notenvarchar(50)可Authornvarchar(10)可Pageint可主键花束信息表的主键是花束编号字段,类型为整型。约束花束信息表中

7、的图书编号不可相同;花束信息表中的状态类型字段只能取“被借”、“续借”、“以还”。索引主键字段考勤编号具有自动创建的聚集索引。花束类别表(BookType) 花束类别表用于记录图书的类别。图书类别表中的基本信息包括:花束的类别、花束的花语,花束的价格。表定义图书类别表定义如Error! Reference source not found.所示。表 05字段类型可否为空备注Typeidint否Typenamenvarchar(50)否主键花束类别表的主键是Typeid字段,类型为整型,设置自动增量。约束订购开始时间应小于付款结束时间;索引主键字段请假申请编号具有自动创建的聚集索引。1.7 花卉

8、库存表(BookStock)概述花卉库存表用于花卉总库存的记录。库存表中的基本信息包括:花卉ID。通过字段,图书ID与花卉信息表关联。表定义图书库存表定义如Error! Reference source not found.所示。表 06字段类型可否为空备注IDint否BookIDnvarchar(20)否索引主键字段加班申请编号具有自动创建的聚集索引。表定义借书表定义如Error! Reference source not found.所示。表 07字段类型可否为空备注IDNumeric 否BookIDnvarchar(20)否CardIDNumeric 可BorrowTimedatetim

9、e 否ReturnTimedatetime 否IsReturnnvarchar(10)否索引主键字段业绩评定编号具有自动创建的聚集索引。1.8 评价表(Evaluate)概述评价表用于保存顾客对花卉看法的记录。评价表中的基本信息包括:评价ID、花卉ID、评价等。表定义评价表定义如Error! Reference source not found.所示。表 08字段类型可否为空备注IDint否BookIDint否ReaderIDnvarchar(20)否Evaluatenvarchar(50)主键评价表的主键是评价编号字段,类型为整型,设置自动增量。约束无其他约束。索引主键字段评价编号具有自动创

10、建的聚集索引。1.9 花卉证表(BookCard)概述花卉证表用于记录图书证ID信息。花卉证表的基本信息包括:花卉证表编号、顾客编号等。表定义图书证表定义如Error! Reference source not found.所示。表 09字段类型可否为空备注IDNumeric 否ReaderIDint 否Borrowedint否主键图书证表的主键是图书证ID编号字段,类型是整型,设置自动增量。约束无。索引主键字段图书证表编号具有自动创建的聚集索引。1.10 留言表(Message)概述留言表用于记录顾客对花卉相关的留言。留言表包含的主要内容有:留言表编号、顾客编号。表定义留言表定义如Error

11、! Reference source not found.所示。表 010名称类型可否为空说明备注IDint 否业绩评定子项目编号ReaderIDnvarchar(20) 否业绩评定编号detailsnvarchar否项目内容主键留言表编号。约束无其他约束。索引主键字段留言表编号具有自动创建的聚集索引。1.11 系统设置表(SystemSet) 概述系统设置表用于系统各详细设置信息。系统设置表包含的主要内容有:用户权限设置、赔偿价格参照、公告、证件相关各信息和备份恢复等。表定义系统设置表定义如Error! Reference source not found.所示。表 011名称类型可否为空说

12、明备注IDint 否UserPermissionSetnvarchar(10) 否Overdatepointmoney否lostPricemoney可RenewTimedatetime可BackupSetdatetimeAnnouncenvarchar(50)CardReCostmoneyCardfillpricemoneyCardReTimedatetimeModifyPersonnvarchar(10)Modifytimedatetime主键系统设置表编号。约束无其他约束。索引主键字段系统设置表编号具有自动创建的聚集索引。1.12 各表SQL代码示例管理员用户信息表(UserInfo)cr

13、eate table UserInfo( ID Numeric identity(1001,1) not null, Username nvarchar(10) not null, Passwd char(8) not null, Type nvarchar(14) check(Type =花卉管理员 or Type =系统管理员) not null, constraint pk_UserInfo_id primary key(ID) 用户用户信息表(ReaderInfo)(普通用户)create table ReaderInfo( Username nvarchar(10) not null

14、, ID int not null, Passwd char(8) not null, Name nvarchar(10) not null, Sex char(2) check(Sex =男 or Sex =女)not null, Age int , StuNum Numeric , PlaceStrand nvarchar(50), PlaceClass nvarchar(50), ValidCard nvarchar(50), BookCard nvarchar(10), CreateTime datetime not null, ExpiredTime datetime not nul

15、l, constraint pk_ReaderInfo_id primary key (ID)顾客类别表(ReaderType)Create table ReaderType(ID int ,Name nvarchar(10),ReaderID int not null,Canborrow int,constraint pk_ReaderType_id primary key (ID)alter table ReaderType add constraint fk_ReaderType_ReaderInfo foreign key (ReaderID) references ReaderInf

16、o (ID);*花卉信息表(BookInfo)create table BookInfo( ID nvarchar(20) not null, Name nvarchar(50) , Typeid int, State binary , Creattime datetime , Price money , Press nvarchar(50) , IsCancellation binary , IDCancellation int , Note nvarchar(50) , Author nvarchar(10) , Page int , constraint pk_BookInfo_id p

17、rimary key (ID)alter table BookInfo add constraint fk_BookInfo_BookType foreign key (Typeid) references BookType (Typeid);花卉类别表(BookType)create table BookType( Typeid int , Typename nvarchar(50), constraint pk_BookType_id primary key(Typeid)花卉库存表(BookStock)Create table BookStock( ID int , BookID nva

18、rchar(20) not null,constraint pk_BookStock_id primary key (ID) alter table BookStock add constraint fk_BookStock_BookInfo foreign key (BookID) references BookInfo (ID);花卉订购表(BookBorrow)create table BookBorrow( ID Numeric, BookID nvarchar(20), CardID Numeric, BorrowTime datetime, ReturnTime datetime,

19、 IsReturn nvarchar(10),constraint pk_BookBorrow_id primary key (ID)alter table BookBorrow add constraint fk_BookBorrow_BookInfo foreign key (BookID) references BookInfo (ID);花卉订购表LendRoom( ID int , Name nvarchar(10), LendRoomBookID nvarchar(20) ,constraint pk_LendRoom_id primary key (ID)alter table

20、LendRoom add constraint fk_LendRoom_LendRoomBook foreign key (BookID) references BookInfo (BookID);花卉支付籍表LendRoomBookCreate table LendRoomBook( ID nvarchar(20) not null, BookID int not null, BookCount int , BookState binary ,constraint pk_LendRoomBook_id primary key (ID)alter table LendRoomBook add

21、constraint fk_LendRoomBook_BookInfo foreign key (BookID) references BookInfo (ID);用户验证表BookCardCreate table BookCard( ID Numeric , ReaderID int not null, Borrowed int ,constraint pk_BookCard_id primary key (ID)alter table BookCard add constraint fk_BookCard_ReaderInfo foreign key (ReaderID) referenc

22、es ReaderInfo (ID);留言表Messagecreate table Msssage( ID int , ReaderID nvarchar(20) not null, details nvarchar(50) not null, constraint pk_Msssage_id primary key (ID)alter table Msssage add constraint fk_Msssage_ReaderInfo foreign key (ReaderID) references ReaderInfo (ID);系统设置表SystemSetCreate table Sy

23、stemSet(ID intUserPermissionSet nvarchar(10)Overdatepoint moneylostPrice moneyRenewTime datetimeBackupSet datetimeAnnounce nvarchar(50)CardReCost moneyCardfillprice moneyCardReTime datetimeModifyPerson nvarchar(10)Modifytime datetime constraint pk_SystemSet_id primary key (ID) 视图1.13 系统设置表(SystemSet

24、) 概述l 此视图通过左外连接员工和部门表得到了员工的详细信息,其中包括员工的基本信息、员工的部门信息和员工经理信息。l Web用户具有查看的权限。基表l BookInfol LendRoomBook视图包含字段l dbo.BookInfo.IDl dbo.BookInfo.Namel dbo.LendRoomBook.Timesl dbo.BookInfo.Typeidl dbo.BookInfo.Pricel dbo.BookInfo.Pressl dbo.BookInfo.Notel dbo.BookInfo.Authorl dbo.BookInfo.Statel dbo.BookInf

25、o.Pagel dbo.BookInfo.Creattime代码示例:SELECT dbo.BookInfo.ID, dbo.BookInfo.Name, dbo.LendRoomBook.Times, dbo.BookInfo.Typeid, dbo.BookInfo.Price, dbo.BookInfo.Press, dbo.BookInfo.Note, dbo.BookInfo.Author, dbo.BookInfo.State, dbo.BookInfo.Page, dbo.BookInfo.CreattimeFROM dbo.BookInfo INNER JOIN dbo.Len

26、dRoomBook ON dbo.BookInfo.ID = dbo.LendRoomBook.BookID存储过程1.14 数据库备份概述l 系统备份到D盘USE LMS_xiliGO/* Object: StoredProcedure dbo.backup00 Script Date: 06/17/2011 08:53:13 */SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOALTER proc dbo.backup00as BACKUP DATABASE LMS_xili TO DISK = d:dbBackTest.bak1.15 数据库还原

27、l 系统从D盘备份中还原数据库USE LMS_xiliGO/* Object: StoredProcedure dbo.restore00 Script Date: 06/17/2011 08:53:22 */SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOALTER proc dbo.restore00as restore DATABASE LMS_xili from DISK = d:dbBackTest.bak1.16 清空表l 清空bookborrowreturn这张表USE LMS_xiliGO/* Object: StoredProcedu

28、re dbo.sp_clearBookBorrowReturn Script Date: 06/17/2011 08:53:29 */SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOALTER proc dbo.sp_clearBookBorrowReturnastruncate table BookBorrowReturn1.17 清空表l 清空BookInfo这张表USE LMS_xiliGO/* Object: StoredProcedure dbo.sp_clearBookInfo Script Date: 06/17/2011 08:53:3

29、5 */SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOALTER proc dbo.sp_clearBookInfoastruncate table BookInfo1.18 清空表l 清空LendRoomBook这张表USE LMS_xiliGO/* Object: StoredProcedure dbo.sp_clearLend Script Date: 06/17/2011 08:53:44 */SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOALTER proc dbo.sp_clearLendast

30、runcate table LendRoomBook1.19 清空表l 清空ReaderInfo这张表USE LMS_xiliGO/* Object: StoredProcedure dbo.sp_clearReaderInfo Script Date: 06/17/2011 08:53:50 */SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOALTER proc dbo.sp_clearReaderInfoastruncate table ReaderInfo触发器1.20 向公告表中插入数据则自动修改其字段状态概述 当向announce表中插入数

31、据时,修改其另一字段状态为1触发器影响范围公告表USE LMS_xiliGO/* Object: Trigger dbo.an_update Script Date: 06/17/2011 08:54:41 */SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOALTER trigger dbo.an_update on dbo.Announcefor insert as declare id intbeginselect id = id from inserted;update announce set pustate = 0 where id = i

32、d - 1 ;end1.21 花卉表中插入数据则更新新品花卉的状态概述 当向借书表中插入数据时,则表示书本被借,这时修改被借书书架上书籍的状态从0到1触发器影响范围BookBorrowReturn/LendroombookUSE LMS_xiliGO/* Object: Trigger dbo.aaa Script Date: 06/17/2011 08:55:14 */SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOALTER trigger dbo.aaa on dbo.BookBorrowReturnfor insertASdeclare boo

33、kid numeric(18, 0) beginselect bookid = bookid from inserted;update Lendroombook set LendRoomBook.BookState = 1 where LendRoomBook.BookID =(select BookID from inserted);END1.22 花卉表中插入数据则更新花卉的状态概述 当向还书表中插入数据时,则表示书本已归还,这时修改被还书书架上书籍的状态从1到0触发器影响范围BookBorrowReturn/lendroombookUSE LMS_xiliGO/* Object: Tri

34、gger dbo.lrstate Script Date: 06/17/2011 08:55:22 */SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOALTER trigger dbo.lrstate on dbo.BookBorrowReturnfor updateas declare bookid numeric(18, 0) beginselect bookid = bookid from inserted;update lendroombook set lendroombook.bookstate = 0where lendroombook.

35、bookid=(select bookid from BookBorrowReturn where BookBorrowReturn.state = 0 and BookBorrowReturn.bookid=bookid) ;End1.23 花卉订购表中插入数据则更新订购花卉的状态概述 当向还书表中插入数据时,则表示书本已归还,这时修改被还书书架上书籍的状态从1到0触发器影响范围BookBorrowReturn/lendroombook USE LMS_xiliGO/* Object: Trigger dbo.lrstate1 Script Date: 06/17/2011 08:55:28

36、 */SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOALTER trigger dbo.lrstate1 on dbo.BookBorrowReturnfor updateas declare bookid numeric(18, 0) beginselect bookid = bookid from deleted;update lendroombook set lendroombook.bookstate = 0where lendroombook.bookid = bookid ;End1.24 用户表中插入数据则表的状态概述 当向还书表中插入

37、数据时,则表示书本已归还,这时修改借书证被借触发器影响范围BookBorrowReturn/bookcardUSE LMS_xiliGO/* Object: Trigger dbo.xxx1 Script Date: 06/17/2011 08:55:34 */SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOALTER trigger dbo.xxx1 on dbo.BookBorrowReturn for insertas declare cardid numeric(18, 0)beginselect cardid = cardid from inserted;update bookcard set bookcard.borrowed = bookcard.borrowed + 1 where id = cardid;end1.25 花卉表中插入数据则更新花卉表中花卉状态概述 当向借书表中插入数据时,则表示书本已借出,这时修改书籍信息中书籍的状态为1表示被借触发器影响范围LendRoom

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论