【正文】
名from 教師表 a join 借還記錄表 c on = join 圖書(shū)表 b on =where =39。J00139。go9. 查詢某本書(shū)的流轉(zhuǎn)記錄語(yǔ)句:select * from 借還記錄表select ,姓名,部門(mén)名,書(shū)名,借出日期,歸還日期from 教師表 a,圖書(shū)表 b,借還記錄表 cwhere = and = and =39。978780222976139。4) 寫(xiě)出創(chuàng)建以下視圖的SQL語(yǔ)句1. 借出圖書(shū)視圖語(yǔ)句:select * from 借還記錄表select * from 圖書(shū)表 Create view 借出圖書(shū)視圖Asselect * from 圖書(shū)表 where 狀態(tài)=39。借出39。go2. 借閱逾期視圖語(yǔ)句:select * from 圖書(shū)表select * from 借還記錄表select * from 類型表Create View 借閱逾期視圖AsSELECT , , , FROM 圖書(shū)表 a JOIN 借還記錄表 b ON = JOIN 類型表 C ON =c. 類型名WHERE =39。借出39。 and datediff(day, ,getdate())select * from 借閱逾期視圖GO3. 圖書(shū)分類統(tǒng)計(jì)冊(cè)數(shù)視圖語(yǔ)句:select * from 圖書(shū)表Create View 圖書(shū)統(tǒng)計(jì)視圖AsSELECT 類型名,count(*) 各類圖書(shū)冊(cè)數(shù), sum(單價(jià)) 各類圖書(shū)總價(jià)FROM 圖書(shū)表GROUP By 類型名select * from 圖書(shū)統(tǒng)計(jì)視圖第四部分 作業(yè)3——存儲(chǔ)過(guò)程與觸發(fā)器設(shè)計(jì)(滿分8分)任務(wù):1) 為BookStore數(shù)據(jù)庫(kù)增加一個(gè)用戶oper1,該用戶可以進(jìn)行系統(tǒng)所需的應(yīng)用操作,權(quán)限盡可能精簡(jiǎn)。請(qǐng)描述該用戶的權(quán)限。2) 設(shè)計(jì)存儲(chǔ)過(guò)程a) 數(shù)據(jù)初始化過(guò)程sp_Init。包含的操作有:所有的用于測(cè)試圖書(shū)信息、教師信息、歷史記錄清空,輸入圖書(shū)分類、輸入管理員信息、輸入借書(shū)規(guī)定。b) 某教師在某時(shí)間借了某本書(shū),由某管理員辦理。c) 某教師在某時(shí)間還了某本書(shū),由某管理員辦理d) 查看某人的全部借還書(shū)記錄e) 查看某本書(shū)的歷史流轉(zhuǎn)記錄f) 某管理員在某時(shí)間給全部借閱過(guò)期者發(fā)催還郵件。 g) 對(duì)書(shū)名進(jìn)行模糊搜索(搜索條件可以是多個(gè)模糊列值的組合,例如:搜索書(shū)名包含“網(wǎng)絡(luò)”兩個(gè)字,并且是近3年出版的圖書(shū))3) 設(shè)計(jì)觸發(fā)器a) 拒絕超級(jí)用戶sa對(duì)所有的數(shù)據(jù)的修改,凡是SA進(jìn)行的修改全部回退。b) Oper1用戶對(duì)圖書(shū)狀態(tài)進(jìn)行修改時(shí),在歷史記錄表中追加相應(yīng)的數(shù)據(jù)。1) 為BookStore數(shù)據(jù)庫(kù)增加一個(gè)用戶oper1,該用戶可以進(jìn)行系統(tǒng)所需的應(yīng)用操作,權(quán)限盡可能精簡(jiǎn)。請(qǐng)描述該用戶的權(quán)限。use bookstoregoexec sp_addlogin oper1, 39。12345639。,39。bookstore39。sl, 39。12345639。,39。bookstore39。:依次為用戶名,密碼,默認(rèn)數(shù)據(jù)庫(kù)goEXEC sp_addrolemember 39。db_datareader39。, 39。 oper139?!跈?quán)oper1用戶對(duì)所有表具有查詢權(quán)GRANT UPDATE ON 圖書(shū)表 TO oper1 允許用戶oper1對(duì)數(shù)據(jù)表直接更新go2) 設(shè)計(jì)存儲(chǔ)過(guò)程a) 略b) create proc proc_lendbook@jsID char(4),@time datetime,@shuISBN char(20),@gly nchar(20)asselect ,借出日期,from 教師表 a join 借還記錄表 c on =join 管理員表 b on =join 圖書(shū)表 d on =where = @jsID and =@time and =@shuISBN and =@glygo EXEC proc_lendbook 39。J00139。, 39。201232039。, 39。978780222976139。,39。WG00139。c) 略d) 略e) 略f) 略g) 對(duì)書(shū)名進(jìn)行模糊搜索(搜索條件可以是多個(gè)模糊列值的組合,例如:搜索書(shū)名包含“網(wǎng)絡(luò)”兩個(gè)字,并且是近3年出版的圖書(shū))Create proc getbook@tsname nchar(20),@nx tinyintAsSelect * from 圖書(shū)表Where 圖書(shū)名 LIKE Coalesce(39。%39。,@tsname,39。%39。) and datediff(year,出版時(shí)間,getdate())@nxGoExec getbook 39。網(wǎng)絡(luò)39。,3略