SQL图书管理系统复习课程Word下载.docx
- 文档编号:990495
- 上传时间:2023-04-29
- 格式:DOCX
- 页数:22
- 大小:127.61KB
SQL图书管理系统复习课程Word下载.docx
《SQL图书管理系统复习课程Word下载.docx》由会员分享,可在线阅读,更多相关《SQL图书管理系统复习课程Word下载.docx(22页珍藏版)》请在冰点文库上搜索。
读者身份表
读者身份(ReaderType)
读者类型
ReaderType
Char(4)
“学生”,”老师”
主码
借书上限
MaxBorNum
Tinyint
0-10
6
最大续借次数
MaxBorcount
TinyInt
0-2
2
最长借书时间
MaxBorTime
单位是月
读者信息表
读者信息(Reader)
借阅证号
ReaderAccount
Char(8)
“学生”
”老师”
外码,外键参考读者身份表Readertype
读者姓名
ReaderName
读者密码
ReaderPwd
读者系别
ReaderSdept
varChar(20)
书籍类型表
书籍类型(BookType)
书籍类型编号
BookTypeId
varChar(10)
书籍类型
BookType
text
出版社表
出版社(Press)
出版社编号
PressNo
Char(10)
PressName
Text
联系人
contact
联系电话
Tele
Char(12)
地址
addr
某类书籍表(BookSeries)
列名
空/非空
约束条件
表示含义
ISBN
char(20)
非空
BookName
可以为空
无
书名
Author
varchar(20)
作者
PressNo
外键,参考出版社表的PressNo字段
Price
smallmoney
价格
PublishTime
datetime
出版日期
BookNum
int
库存量
BookIn
在馆数量
SeriesId
varchar(10)
外键,参考书籍类型表SeriesId字段
阅览室表
阅览室表(ReadingRoom)
阅览室编号
RoomNum
Char(20)
阅览室名称
RoomName
阅览室位置
RoomLocal
书架表
书架表(Shelf)
书架编号
Shelfnum
roomnum
外键,参考阅览室表的RoomNum字段
图书信息表
图书信息(Book)
图书编号
BookId
外键,参考某类书籍表
书名
外键,参考书架表
损坏程度
BookState
书籍状态
BookDamage
smallint
读者借阅表
读者借阅表(BorrowReturn)
ReaderAcount
主键,外码,参考读者表
主码,外码,参考某类书籍表
续借次数
BorCount
Char
(1)
借出日期
BorrowTime
DateTime
实际归还日期
ReturnTime
到期时间
Deadline
超出还书天数
ExceedingDays
罚款金额
Fine
实缴金额
PaidAmount
预约表
预约表(Appointment)
主键、外键参考读者表ReaderAccount字段
主键、外键参考图书表ISBN字段
预约时间
AppTime
Datetime
截止时间
ExpirationTime
4、SQL语句建库与建表
创建图书管理系统数据库
CREATEDATABASELibarySystem
ON
(NAME='
library_Data'
FILENAME='
d:
\sql\data\library.mdf'
SIZE=5MB,
MAXSIZE=50MB,
FILEGROWTH=10%)
LOGON
library_Log'
\sql\data\library_Log.ldf'
SIZE=2MB,
MAXSIZE=5MB,
FILEGROWTH=1MB)
GO
创建读者身份表
useLibarySystem
createtableReaderType
(ReaderTypechar(4)
check(ReaderTypein('
教师'
'
学生'
))primarykey,
MaxBorNumtinyint,
MaxBorTimetinyint,
MaxBorCounttinyint
)
创建读者表
createtableReader
(ReaderAccountchar(8)primarykey,
ReaderNamevarchar(8),
ReaderPwdchar(6),
ReaderSdeptvarchar(20),
ReaderTypechar(4)
foreignkeyreferencesReaderType(ReaderType)
创建管理员表
USELibarySystem
CREATETABLEAdministrator(
ANoCHAR(8)PRIMARYKEY,
ANamevarCHAR(8),
APwdCHAR(6),
);
创建书籍类型表
CREATETABLEBookType(
BookTypeIdvarCHAR(10)PRIMARYKEY,
BookTypeTEXT);
创建阅览室表
CREATETableReadingRoom(
RoomNumCHAR(20),
RoomNameTEXT,
RoomLocalTEXT,
PRIMARYKEY(RoomNum));
创建书架表
USELibrarySystem
CREATETABLEShelf(
ShelfNumCHAR(20),
PRIMARYKEY(ShelfNum),
FOREIGNKEY(RoomNum)REFERENCESReadingRoom(RoomNum));
创建出版社表
createtablePress
(PressNoChar(10),
PressNameText,
ContactText,
TeleChar(12),
Addrtext,
primarykey(PressNo),
创建某类书籍表
CREATETableBookSeries(
ISBNCHAR(20),
BookNameTEXT,
AuthorVARCHAR(20),
PressNoVARCHAR(20),
PageNumSMALLINT,
PriceSMALLint,
PublishTimeDATETIME,
BookNumINT,
BookInINT,
SeriesIdVARCHAR(10),
PRIMARYKEY(ISBN),
FOREIGNKEY(SeriesId)REFERENCES
BookType(BookTypeId));
创建图书表
CREATETableBook(
BookIdVARCHAR(20),
ISBNCHAR(20),
ShelfNumCHAR(20),
BookStateVARCHAR(20),
BookDamageSMALLINT,
PRIMARYKEY(BookId),
FOREIGNKEY(ISBN)REFERENCESBookSeries(ISBN),
FOREIGNKEY(ShelfNum)REFERENCESShelf(ShelfNum));
创建预约表
CREATETableAppointment(
ReaderAccountCHAR(8),
AppTimeDATETIME,
ExpirationTimeDATETIME,
PRIMARYKEY(ReaderAccount,ISBN),
FOREIGNKEY(ReaderAccount)REFERENCESReader(ReaderAccount),
FOREIGNKEY(ISBN)REFERENCESBookSeries(ISBN));
创建借阅表
CREATETableBorrowReturn(
BorrowTimeDATETIME,
DeadlineDATETIME,
ReturnTimeDATETIME,
ExceedingDaysINT,
BorCountINT,
FineSMALLMONEY,
PaidAmountSMALLINT,
PRIMARYKEY(ReaderAccount,ISBN,BorrowTime),
FOREIGNKEY(ReaderAccount)REFERENCESReader(ReaderAccount));
5、对数据库记录进行操作
insert(举一些例子,其他的则用交互式SQL语句添加记录)
;
往ReaderType表中添加记录
useLibarySystem;
go
insertinto
ReaderType(ReaderType,MaxBorNum,MaxBorTime,MaxBorCount)
values('
8,1,1);
insertinto
10,2,2);
;
往Reader表中添加记录
Reader(ReaderAccount,ReaderName,ReaderPwd,ReaderSdept,ReaderType)
19120123'
杨扬'
888888'
计算机科学与技术'
);
Reader
20120101'
刘一'
20120102'
刘二'
生物科学技术'
20120103'
刘三'
教育科学学院'
update
将帐号为20120101的读者系别更新为数学系
updateReader
setReaderSdept='
数学'
whereReaderAccount='
delete
删除帐号为’20120102’的读者
deletefrom
select
(单表查询)
查找帐号为‘20120103‘的读者信息
select*
fromReader
查询所有学生的信息
whereReaderType='
查询书架1上的所有图书
fromBook
whereShelfNum='
1'
(连接查询)
查找读者预约信息
selectReader.ReaderAccount,ReaderName,ReaderSdept,ReaderType,ISBN,AppTime,ExpirationTime
fromReader,Appointment
whereReader.ReaderAccount=Appointment.ReaderAccount;
查询读者的借阅信息
selectReader.ReaderAccount,ReaderName,ReaderSdept,ReaderType,ISBN,BorrowTime,Deadline
fromReader,BorrowReturn
whereReader.ReaderAccount=BorrowReturn.ReaderAccount;
(嵌套查询)
查找1号阅览室的所有书架上的书籍
selectBookId,ISBN,BookName
whereShelfNumIN
(selectShelfNum
fromShelf
whereRoomNum='
查询书名为数据库的书籍详细信息
select*
fromBookSeries
whereISBNIN
(selectISBN
FROMBook
whereBookNamelike'
%数据库%'
根据输入的学号,列出该同学当前所借图书的详细信息
whereISBNin
fromBorrowReturn
(集合查询)
查询计算机专业的教师信息
intersect
whereReaderSdept='
查阅读者身份为教师或系别为计算机系的读者
union
查询在馆数量大于2或价格低于30的书籍信息
whereBookIn>
=2
whereprice<
=30;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SQL 图书 管理 系统 复习 课程