日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > windows >内容正文

windows

一个简单图书管理系统TSGL的应用数据库

發(fā)布時間:2025/3/15 windows 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 一个简单图书管理系统TSGL的应用数据库 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

簡單圖書管理系統(tǒng)的應(yīng)用數(shù)據(jù)庫

一.摘要

這個項目是學(xué)校結(jié)課要求的項目,所以采用的是SQL sever2008來完成的,并不是mysql來完成的,SQL sever2008與mysql就基礎(chǔ)知識沒有什么大的區(qū)別,兩者的DDL,DQL,DML,DCL語言大致相同。

二.需求分析

三.具體實現(xiàn)

/* 建表 (1)對表1、表2、表3分別設(shè)置主外鍵 (2)對表1中的sex列設(shè)置默認值為“男”。 提示:sex CHAR(2) check(sex in('男','女')) default '男' (3)要求表3中的borrowtime列取值范圍在2010-01-01日到2010-12-31日之間 提示:borrowtime date check(borrowtime between '2010-01-01' and '2010-12-31') */ CREATE TABLE reader (readerno varchar(10) PRIMARY KEY,readername varchar(10),sex char(2),tel varchar(11)); CREATE TABLE book (bookno varchar(12) PRIMARY KEY,bookname varchar(20),publisher varchar(20),author varchar(10),price numeric(7,4)); CREATE TABLE borrow (bookno varchar(12),borrowtime datetime,returntime datetime,readerno varchar(10),isreturn char(2),PRIMARY KEY (bookno,readerno),FOREIGN KEY (bookno) REFERENCES book(bookno),FOREIGN KEY (readerno)REFERENCES reader(readerno)); /*插入記錄*/ insert into reader values('302009301','張小蘭','女','13511112222'); insert into reader values('302009302','李光鐸','男','13522223333'); insert into reader values('302009303','劉杰','男','13533334444'); insert into reader values('302009304','柯勇','男','13644445555'); insert into reader values('302009305','劉方','男','13655556666'); insert into reader values('302009306','張思','男','13966667777'); insert into reader values('302009308','陳麗紅','女','13400002233'); insert into reader values('302009310','胡興','女','13211112222');insert into book values('102009123101','數(shù)據(jù)庫開發(fā)','冶金工業(yè)出版社','余芳',38); insert into book values('102009123102','ASP.NET','清華大學(xué)出版社','鄭齊心',65); insert into book values('102009123103','網(wǎng)頁設(shè)計與制作','鐵道工業(yè)出版社','劉云峰',35); insert into book values('102009123104','C語言程序設(shè)計','清華大學(xué)出版社','譚浩強',31); insert into book values('102009123105','JAVA程序設(shè)計','治金工業(yè)出版社','劉華',34.5); insert into book values('102009123106','C#程序設(shè)計','清華大學(xué)出版社','張文軍',32.8); insert into book values('102009123107','計算機網(wǎng)絡(luò)','鐵道工業(yè)出版社','李拓',32); insert into book values('102009123109','數(shù)據(jù)庫系統(tǒng)概論','高等教育出版社','王珊',39.6);insert into borrow values('102009123101','2010-05-01','2010-6-10','302009301','否'); insert into borrow values('102009123103','2010-03-06','2010-4-6','302009306','否'); insert into borrow values('102009123105','2010-04-02','2010-5-25','302009301','否'); insert into borrow values('102009123101','2010-07-03','2010-8-3','302009302','否'); insert into borrow values('102009123105','2010-09-01','2010-10-1','302009303','否'); insert into borrow values('102009123106','2010-10-01','2010-11-1','302009301','否'); insert into borrow values('102009123101','2010-01-02','2010-2-8','302009303','否');select * from reader select * from book select * from borrow/*3.用T-SQL實現(xiàn)TSGL數(shù)據(jù)庫的完整性功能*/ alter table reader add constraint p1 primary key(readerno) alter table book add constraint p2 primary key(bookno) alter table borrow add constraint p3 primary key(bookno,readerno) alter table borrow add constraint f1 foreign key(bookno) references book(bookno) alter table borrow add constraint f2 foreign key(readerno) references reader(readerno)create default d1 as '男' Sp_bindefault 'd1','reader.sex' /*或在定義表reader時:sex CHAR(2) check(sex in('男','女')) default '男'*/alter table borrow Add constraint c1 check(borrowtime between '2010-01-01' and '2010-12-31') /*或在定義表borrow時:borrowtime date check(borrowtime between '2010-01-01' and '2010-12-31')*//*4.用T-SQL完成如下問題功能*/ /*(1)查詢“柯勇”讀者的讀者號,姓名和電話*/ select readerno,readername,tel from reader where readername='柯勇' /*(2)查詢統(tǒng)計讀者號為”302009301”號的讀者借閱書本的數(shù)目*/ select count(*) from borrow where readerno='302009301' /*(3)創(chuàng)建一個視圖tuv1,要求顯示讀者的讀者號,借閱的圖書名和圖書價格*/ create view tuv1 as select readerno,bookname,price from book,borrow where book.bookno=borrow.booknoselect * from tuv1/*(4)創(chuàng)建一個存儲過程tupro,要求用戶指定一個圖書號,就能顯示該圖書被借的次數(shù)。*/ create proc tupro(@bookno varchar(12))AsSelect count(*) from borrow where bookno=@booknotupro '102009123101' tupro '102009123105' tupro '102009123103'/*(5)為數(shù)據(jù)表表3創(chuàng)建一個INSERT和UPDATE觸發(fā)器。當(dāng)試圖插入和修改數(shù)據(jù)表3中的記錄時,檢查修改后記錄中的rederno(讀者號)是否在數(shù)據(jù)表1存在,同時bookno是否在數(shù)據(jù)表2中存在,若不是同時存在,則撤消INSERT或UPDATE操作,并返回一條錯誤消息。。*/ create trigger aaOn borrowFor insert,updateAsDeclare @rederno varchar(10),@bookno varchar(12)Begin transactionSet @rederno=(select readerno from inserted)Set @bookno=(select bookno from inserted) If @rederno not in(select readerno from reader) BeginRollback transactionPrint '修改或插入失敗!'endElseBeginCommit transactionPrint '修改或插入成功!'End/*測試觸發(fā)器*/ update borrow set readerno='302009316' where readerno='302009306' update borrow set readerno='302009302' where readerno='302009306' insert into borrow values('102009123107','2010-4-2','2010-4-9','302009305','否'); insert into borrow values('102009123107','2010-4-2','2010-4-9','302009309','否');/*(6)在beifen磁盤設(shè)備上對TSGL數(shù)據(jù)庫作全庫備份后,現(xiàn)在對TSGL數(shù)據(jù)庫做刪除操作,然后再從備份文件中恢復(fù)。*/ Exec sp_addumpdevice 'disk','mybackup','D:\bak\tsglbak.bak' Backup database TSGL to mybackup Drop database TSGL Use master Restore database TSGL from mybackup with file=1

總結(jié)

以上是生活随笔為你收集整理的一个简单图书管理系统TSGL的应用数据库的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。