收藏 分销(赏)

SQL图书管理系统样本.doc

上传人:二*** 文档编号:4776866 上传时间:2024-10-12 格式:DOC 页数:20 大小:231.53KB 下载积分:5 金币
下载 相关 举报
SQL图书管理系统样本.doc_第1页
第1页 / 共20页
本文档共20页,全文阅读请下载到手机保存,查看更方便
资源描述
1、系统功能模块图 开始 登录 身份认证 读者 管理员 借还图书 预约图书 图书信息查询 系统维护 预约信息管理 借阅信息管理 读者信息管理 图书信息管理 读者信息管理 2、系统E-R图 3、数据库逻辑构造设计 关系模式表(红色表达主码,蓝色表达外码) 读者类型表(读者类型,可借阅天数,可借阅数量,续借次数) 读者(姓名,借阅证号,系别,读者类型,密码) 管理员(姓名,工号,密码) 书籍类型(书籍类型编号,书籍类型) 某类书籍(ISBN,书名,作者,出版社编号,价格,出版时间,库存量,在馆数量,书籍类型编号) 书籍(图书编号,ISBN,书名,书架编号,书籍状态,损坏限度)(ISBN相称于书籍类型编号) 阅览室(阅览室编号,阅览室名称,阅览室位置) 书架(书架编号,阅览室编号) 预约(借阅证号,ISBN,预约时间,预约到期时间) 借阅表(读者帐号,图书编号,借出日期,实际归还日期,到期时间,超过还书天数,续借次数,罚款金额,实缴金额) 出版社(出版社编号,名称,联系人,地址,联系电话) 管理员表 管理员表(Administrator) 名称 别名 数据类型 取值范畴 默认值 阐明 与否为空 工号 ANo Char(15) 主键 不为空 姓名 AName varChar(8) 密码 APwd Char(6) 000000 读者身份表 读者身份(ReaderType) 名称 别名 数据类型 取值范畴 默认值 阐明 与否为空 读者类型 ReaderType Char(4) “学生”,”教师” 主码 借书上限 MaxBorNum Tinyint 0-10 6 不为空 最大续借次数 MaxBorcount TinyInt 0-2 2 最长借书时间 MaxBorTime Tinyint 2 单位是月 不为空 读者信息表 读者信息(Reader) 名称 别名 数据类型 取值范畴 默认值 阐明 与否为空 借阅证号 ReaderAccount Char(8) 主码 读者类型 ReaderType Char(4) “学生” ,”教师” 外码,外键参照读者身份表Readertype 不为空 读者姓名 ReaderName varChar(8) 读者密码 ReaderPwd Char(6) 000000 读者系别 ReaderSdept varChar(20) 书籍类型表 书籍类型(BookType) 名称 别名 数据类型 取值范畴 默认值 阐明 与否为空 书籍类型编号 BookTypeId varChar(10) 主键 不为空 书籍类型 BookType text 出版社表 出版社(Press) 名称 别名 数据类型 取值范畴 默认值 阐明 与否为空 出版社编号 PressNo Char(10) 名称 PressName Text 联系人 contact Text 联系电话 Tele Char(12) 地址 addr text 某类书籍表(BookSeries) 某类书籍表(BookSeries) 列名 数据类型 空/非空 约束条件 表达含义 ISBN char(20) 非空 主键 ISBN BookName text 可觉得空 无 书名 Author varchar(20) 可觉得空 无 作者 PressNo varchar(20) 可觉得空 外键,参照出版社表PressNo字段 出版社编号 Price smallmoney 可觉得空 无 价格 PublishTime datetime 可觉得空 无 出版日期 BookNum int 可觉得空 无 库存量 BookIn int 可觉得空 无 在馆数量 SeriesId varchar(10) 可觉得空 外键,参照书籍类型表SeriesId字段 书籍类型编号 阅览室表 阅览室表(ReadingRoom) 名称 别名 数据类型 取值范畴 默认值 阐明 与否为空 阅览室编号 RoomNum Char(20) 主键 不为空 阅览室名称 RoomName Text 阅览室位置 RoomLocal text 书架表 书架表(Shelf) 名称 别名 数据类型 取值范畴 默认值 阐明 与否为空 书架编号 Shelfnum Char(20) 主键 不为空 阅览室编号 roomnum Char(20) 外键,参照阅览室表RoomNum字段 图书信息表 图书信息(Book) 名称 别名 数据类型 取值范畴 默认值 阐明 与否为空 图书编号 BookId varChar(20) 主键 不为空 ISBN ISBN Char(20) 外键,参照某类书籍表 书名 BookName text 书架编号 Shelfnum varChar(20) 外键,参照书架表 损坏限度 BookState varchar(20) 书籍状态 BookDamage smallint 读者借阅表 读者借阅表(BorrowReturn) 名称 别名 数据类型 取值范畴 默认值 阐明 与否为空 借阅证号 ReaderAcount Char(15) 主键,外码,参照读者表 不为空 ISBN ISBN Char(20) 主码,外码,参照某类书籍表 不为空 续借次数 BorCount Char(1) 0-2 借出日期 BorrowTime DateTime 不为空 实际归还日期 ReturnTime DateTime 不为空 到期时间 Deadline datetime 超过还书天数 ExceedingDays 罚款金额 Fine 实缴金额 PaidAmount 预约表 预约表(Appointment) 名称 别名 数据类型 取值范畴 默认值 阐明 与否为空 借阅证号 ReaderAccount Char(15) 主键、外键参照读者表ReaderAccount字段 ISBN ISBN Char(20) 主键、外键参照图书表ISBN字段 预约时间 AppTime Datetime 截止时间 ExpirationTime datetime 4、SQL语句建库与建表 创立图书管理系统数据库 CREATE DATABASE LibarySystem ON (NAME='library_Data', FILENAME='d:\sql\data\library.mdf', SIZE=5MB, MAXSIZE=50MB, FILEGROWTH=10%) LOG ON (NAME='library_Log', FILENAME='d:\sql\data\library_Log.ldf', SIZE=2MB, MAXSIZE=5MB, FILEGROWTH=1MB) GO 创立读者身份表 use LibarySystem GO create table ReaderType (ReaderType char(4) check (ReaderType in ('教师','学生')) primary key, MaxBorNum tinyint , MaxBorTime tinyint , MaxBorCount tinyint ) GO 创立读者表 use LibarySystem GO create 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 LibarySystem GO CREATE TABLE Administrator( ANo CHAR(8) PRIMARY KEY, AName varCHAR(8), APwd CHAR(6), ); GO 创立书籍类型表 USE LibarySystem GO CREATE TABLE BookType( BookTypeId varCHAR(10) PRIMARY KEY, BookType TEXT); GO 创立阅览室表 USE LibarySystem GO CREATE Table ReadingRoom( RoomNum CHAR(20), RoomName TEXT, RoomLocal TEXT, PRIMARY KEY (RoomNum)); GO 创立书架表 USE LibrarySystem GO CREATE TABLE Shelf( ShelfNum CHAR(20), RoomNum CHAR(20), PRIMARY KEY (ShelfNum), FOREIGN KEY (RoomNum) REFERENCES ReadingRoom(RoomNum)); GO 创立出版社表 use LibarySystem GO create table Press (PressNo Char(10), PressName Text, Contact Text, Tele Char(12), Addr text, primary key(PressNo), ) GO 创立某类书籍表 USE LibarySystem GO CREATE 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 LibarySystem GO CREATE 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 LibarySystem GO CREATE 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 LibarySystem CREATE 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)); GO 5、对数据库记录进行操作 insert(举某些例子,其她则用交互式SQL语句添加记录) ;往ReaderType表中添加记录 use LibarySystem; go insert into ReaderType(ReaderType,MaxBorNum,MaxBorTime,MaxBorCount) values('学生',8,1,1); go insert into ReaderType values('教师',10,2,2); go ;往Reader表中添加记录 use LibarySystem; go insert into Reader(ReaderAccount,ReaderName,ReaderPwd,ReaderSdept,ReaderType) values('1913','杨扬','888888','计算机科学与技术','学生'); go insert into Reader values('','刘一','888888','计算机科学与技术','教师'); go insert into Reader values('','刘二','888888','生物科学技术','教师'); go insert into Reader values('','刘三','888888','教诲科学学院','教师'); go update ;将帐号为读者系别更新为数学系 use LibarySystem; go update Reader set ReaderSdept='数学' where ReaderAccount=''; go delete ;删除帐号为’’读者 use LibarySystem; go delete from Reader where ReaderAccount=''; go select (单表查询) ;查找帐号为‘‘读者信息 use LibarySystem; go select* from Reader where ReaderAccount=''; go ;查询所有学生信息 use LibarySystem; go select* from Reader where ReaderType='学生'; go ;查询书架1上所有图书 use LibarySystem; go select* from Book where ShelfNum='1'; go (连接查询) ;查找读者预约信息 select Reader.ReaderAccount,ReaderName,ReaderSdept,ReaderType,ISBN,AppTime,ExpirationTime from Reader,Appointment where Reader.ReaderAccount=Appointment.ReaderAccount; ;查询读者借阅信息 select Reader.ReaderAccount,ReaderName,ReaderSdept,ReaderType,ISBN,BorrowTime,Deadline from Reader,BorrowReturn where Reader.ReaderAccount=BorrowReturn.ReaderAccount; (嵌套查询) ;查找1号阅览室所有书架上书籍 select BookId,ISBN,BookName from Book where ShelfNum IN (select ShelfNum from Shelf where RoomNum='1'); ;查询书名为数据库书籍详细信息 select * from BookSeries where ISBN IN (select ISBN FROM Book where BookName like '%数据库%' ); ;依照输入学号,列出该同窗当前所借图书详细信息 select * from BookSeries where ISBN in (select ISBN from BorrowReturn where ReaderAccount='1913'); (集合查询) ;查询计算机专业教师信息 select * from Reader where ReaderType='教师' intersect select * from Reader where ReaderSdept='计算机科学与技术'; ;查阅读者身份为教师或系别为计算机系读者 select * from Reader where ReaderType='教师' union select * from Reader where ReaderSdept='计算机科学与技术'; ;查询在馆数量不不大于2或价格低于30书籍信息 select * from BookSeries where BookIn>=2 union select * from BookSeries where price<=30;
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服