SQL图书管理系统.doc_第1页
SQL图书管理系统.doc_第2页
SQL图书管理系统.doc_第3页
SQL图书管理系统.doc_第4页
SQL图书管理系统.doc_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

1、系统的功能模块图开始登录身份认证读者管理员借还图书预约图书图书信息查询系统维护预约信息管理借阅信息管理读者信息管理图书信息管理读者信息管理2、系统E-R图3、数据库逻辑结构设计关系模式表(红色表示主码,蓝色表示外码)读者类型表(读者类型,可借阅天数,可借阅数量, 续借次数)读者(姓名,借阅证号,系别,读者类型,密码)管理员(姓名,工号,密码)书籍类型(书籍类型编号,书籍类型)某类书籍(ISBN,书名,作者,出版社编号,价格,出版时间,库存量,在馆数量,书籍类型编号)书籍(图书编号,ISBN,书名,书架编号,书籍状态,损坏程度)(ISBN相当于书籍类型编号) 阅览室(阅览室编号,阅览室名称,阅览室位置)书架(书架编号,阅览室编号)预约(借阅证号,ISBN,预约时间,预约到期时间)借阅表(读者帐号,图书编号,借出日期,实际归还日期,到期时间,超出还书天数,续借次数,罚款金额,实缴金额)出版社(出版社编号,名称,联系人,地址,联系电话)管理员表管理员表(Administrator)名称别名数据类型取值范围默认值说明是否为空工号ANoChar(15)主键不为空姓名ANamevarChar(8)密码APwdChar(6)000000读者身份表读者身份(ReaderType)名称别名数据类型取值范围默认值说明是否为空读者类型ReaderTypeChar(4)“学生”,”老师”主码借书上限MaxBorNumTinyint0-106不为空最大续借次数MaxBorcountTinyInt0-22最长借书时间MaxBorTimeTinyint2单位是月不为空读者信息表读者信息(Reader)名称别名数据类型取值范围默认值说明是否为空借阅证号ReaderAccountChar(8)主码读者类型ReaderTypeChar(4)“学生”,”老师”外码,外键参考读者身份表Readertype不为空读者姓名ReaderNamevarChar(8)读者密码ReaderPwdChar(6)000000读者系别ReaderSdeptvarChar(20)书籍类型表书籍类型(BookType)名称别名数据类型取值范围默认值说明是否为空书籍类型编号BookTypeIdvarChar(10)主键不为空书籍类型BookTypetext出版社表出版社(Press)名称别名数据类型取值范围默认值说明是否为空出版社编号PressNoChar(10)名称PressNameText联系人contactText联系电话TeleChar(12)地址addrtext某类书籍表(BookSeries)某类书籍表(BookSeries)列名数据类型空/非空约束条件表示含义ISBNchar(20)非空主键ISBNBookNametext可以为空无书名Authorvarchar(20)可以为空无作者PressNo varchar(20)可以为空外键,参考出版社表的PressNo字段出版社编号Pricesmallmoney可以为空无价格PublishTimedatetime可以为空无出版日期BookNumint可以为空无库存量BookInint可以为空无在馆数量SeriesIdvarchar(10)可以为空外键,参考书籍类型表SeriesId字段书籍类型编号阅览室表阅览室表(ReadingRoom)名称别名数据类型取值范围默认值说明是否为空阅览室编号RoomNumChar(20)主键不为空阅览室名称RoomNameText阅览室位置RoomLocaltext书架表书架表(Shelf)名称别名数据类型取值范围默认值说明是否为空书架编号ShelfnumChar(20)主键不为空阅览室编号roomnumChar(20)外键,参考阅览室表的RoomNum字段图书信息表图书信息(Book)名称别名数据类型取值范围默认值说明是否为空图书编号BookIdvarChar(20)主键不为空ISBNISBNChar(20)外键,参考某类书籍表书名 BookNametext书架编号ShelfnumvarChar(20)外键,参考书架表损坏程度BookStatevarchar(20)书籍状态BookDamagesmallint读者借阅表读者借阅表(BorrowReturn)名称别名数据类型取值范围默认值说明是否为空借阅证号ReaderAcountChar(15)主键,外码,参考读者表不为空ISBNISBNChar(20)主码,外码,参考某类书籍表不为空续借次数BorCountChar(1)0-2借出日期BorrowTimeDateTime不为空实际归还日期ReturnTimeDateTime不为空到期时间Deadlinedatetime超出还书天数ExceedingDays罚款金额Fine实缴金额PaidAmount预约表预约表(Appointment)名称别名数据类型取值范围默认值说明是否为空借阅证号ReaderAccountChar(15)主键、外键参考读者表ReaderAccount字段ISBNISBNChar(20)主键、外键参考图书表ISBN字段预约时间AppTimeDatetime截止时间ExpirationTimedatetime4、SQL语句建库与建表创建图书管理系统数据库CREATE DATABASE LibarySystemON(NAME=library_Data, FILENAME=d:sqldatalibrary.mdf, SIZE=5MB, MAXSIZE=50MB, FILEGROWTH=10%)LOG ON(NAME=library_Log, FILENAME=d:sqldatalibrary_Log.ldf, SIZE=2MB, MAXSIZE=5MB, FILEGROWTH=1MB)GO创建读者身份表use LibarySystemGOcreate table ReaderType(ReaderType char(4)check (ReaderType in (教师,学生) primary key,MaxBorNum tinyint ,MaxBorTime tinyint ,MaxBorCount tinyint )GO创建读者表use LibarySystemGOcreate table Reader(ReaderAccount char(8) primary key,ReaderName varchar(8) ,ReaderPwd char(6) ,ReaderSdept varchar(20) ,ReaderType char(4)foreign key references ReaderType(ReaderType)GO创建管理员表USE LibarySystemGOCREATE TABLE Administrator( ANo CHAR(8) PRIMARY KEY, AName varCHAR(8), APwd CHAR(6), );GO创建书籍类型表USE LibarySystemGOCREATE TABLE BookType( BookTypeId varCHAR(10) PRIMARY KEY, BookType TEXT);GO创建阅览室表USE LibarySystemGOCREATE Table ReadingRoom( RoomNum CHAR(20), RoomName TEXT, RoomLocal TEXT, PRIMARY KEY (RoomNum);GO创建书架表USE LibrarySystemGOCREATE TABLE Shelf(ShelfNum CHAR(20), RoomNum CHAR(20), PRIMARY KEY (ShelfNum), FOREIGN KEY (RoomNum) REFERENCES ReadingRoom(RoomNum);GO创建出版社表use LibarySystemGOcreate table Press(PressNoChar(10),PressNameText,ContactText,TeleChar(12),Addrtext,primary key(PressNo),)GO创建某类书籍表USE LibarySystemGOCREATE Table BookSeries(ISBN CHAR(20), BookName TEXT, Author VARCHAR(20), PressNo VARCHAR(20), PageNum SMALLINT, Price SMALLint, PublishTime DATETIME, BookNum INT, BookIn INT, SeriesId VARCHAR(10), PRIMARY KEY (ISBN), FOREIGN KEY (SeriesId) REFERENCES BookType(BookTypeId);GO创建图书表USE LibarySystemGOCREATE Table Book(BookId VARCHAR(20), ISBN CHAR(20), BookName TEXT, ShelfNum CHAR(20), BookState VARCHAR(20), BookDamage SMALLINT, PRIMARY KEY (BookId), FOREIGN KEY (ISBN) REFERENCES BookSeries(ISBN), FOREIGN KEY (ShelfNum) REFERENCES Shelf(ShelfNum);GO创建预约表USE LibarySystemGOCREATE Table Appointment(ReaderAccount CHAR(8),ISBN CHAR(20), AppTime DATETIME,ExpirationTime DATETIME, PRIMARY KEY (ReaderAccount,ISBN), FOREIGN KEY (ReaderAccount) REFERENCES Reader(ReaderAccount), FOREIGN KEY (ISBN) REFERENCES BookSeries(ISBN);GO创建借阅表USE LibarySystemCREATE Table BorrowReturn(ReaderAccount CHAR(8),ISBN CHAR(20),BorrowTime DATETIME,Deadline DATETIME,ReturnTime DATETIME,ExceedingDays INT,BorCount INT,Fine SMALLMONEY,PaidAmount SMALLINT, PRIMARY KEY (ReaderAccount,ISBN,BorrowTime), FOREIGN KEY (ISBN) REFERENCES BookSeries(ISBN), FOREIGN KEY (ReaderAccount) REFERENCES Reader(ReaderAccount); GO5、对数据库记录进行操作insert(举一些例子,其他的则用交互式SQL语句添加记录);往ReaderType表中添加记录use LibarySystem;goinsert into ReaderType(ReaderType,MaxBorNum,MaxBorTime,MaxBorCount)values(学生,8,1,1);goinsert intoReaderTypevalues(教师,10,2,2);go;往Reader表中添加记录use LibarySystem;goinsert into Reader(ReaderAccount,ReaderName,ReaderPwd,ReaderSdept,ReaderType)values(19120123,杨扬,888888,计算机科学与技术,学生);goinsert intoReadervalues(20120101,刘一,888888,计算机科学与技术,教师);goinsert intoReadervalues(20120102,刘二,888888,生物科学技术,教师);goinsert intoReadervalues(20120103,刘三,888888,教育科学学院,教师);goupdate;将帐号为20120101的读者系别更新为数学系use LibarySystem;goupdate Readerset ReaderSdept=数学where ReaderAccount=20120101;godelete;删除帐号为20120102的读者use LibarySystem;godelete fromReaderwhere ReaderAccount=20120102;goselect(单表查询);查找帐号为20120103的读者信息use LibarySystem;goselect*from Readerwhere ReaderAccount=20120103;go;查询所有学生的信息use LibarySystem;goselect*from Readerwhere ReaderType=学生;go;查询书架1上的所有图书use LibarySystem;goselect*from Bookwhere ShelfNum=1;go(连接查询);查找读者预约信息select Reader.ReaderAccount,ReaderName,ReaderSdept,ReaderType,ISBN,AppTime,ExpirationTimefrom Reader,Appointmentwhere Reader.ReaderAccount=Appointment.ReaderAccount;;查询读者的借阅信息select Reader.ReaderAccount,ReaderName,ReaderSdept,ReaderType,ISBN,BorrowTime,Deadlinefrom Reader,BorrowReturnwhere Reader.ReaderAccount=BorrowReturn.ReaderAccount;(嵌套查询)

温馨提示

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

评论

0/150

提交评论