資料庫原理及其應用(SQL server2012)習題詳解-習題7
答案連結(點選檢視)
http://note.youdao.com/noteshare?id=5bd9212ed6ec1167823e0b1136f42de6
習題7
習題6
連結:https://blog.csdn.net/qq_40402685/article/details/84952261
習題8
連結:https://blog.csdn.net/qq_40402685/article/details/84404069
注:因匯入圖片需時間較多,特分享此連結。
7-1.名詞解釋:
檢視:是從基本表或其他檢視中匯出的表,它本身不獨立儲存在資料庫中,也就是資料庫中只存放檢視的定義而不存放檢視的資料。
索引:是對資料庫表中一列或多列的值進行排序的一種結構,使用索引可快速訪問資料庫表中的特定資訊。
聚集索引:該索引中鍵值的邏輯順序決定了表中相應行的物理順序。這種索引對查詢非常有效,在每一張基本表中只能有一個聚集索引。
唯一索引:不允許具有索引值相同的行,從而禁止重複的索引或鍵值。並在每次使用 INSERT 或 UPDATE 語句新增資料時進行檢查
7-2.簡述資料庫檢視和基本表的聯絡與區別。
相同:①都是由行列組成的。
②對錶的操作適用於檢視
區別:①檢視是已經編譯好的sql語句,而表不是。
②檢視沒有實際的物理記錄。而表有。
③表是內容,檢視是視窗。
④表只用物理空間而檢視不佔用物理空間,檢視只是邏輯概念的存在,表可以及時四對它進行修改,但檢視只能有建立的語句來修改。
⑤表是內模式,試圖是外模式
⑥檢視是檢視資料表的一種方法,可以查詢資料表中某些欄位構成的資料,只是一些SQL語句的集合。從安全的角,檢視可以不給使用者接觸資料表,從而不知道表結構。
⑦表屬於全域性模式中的表,是實表;檢視屬於區域性模式的表,是虛表。
⑧檢視的建立和刪除隻影響檢視本身,不影響對應的基本表。
7-3.可更新檢視必須滿足哪些條件?
解:最重要的一個條件就是一個可更新檢視只能包含一個表。其他的限制包括不允許使用GROUP BY子句和ORDER BY子句、不支援DISTINCT關鍵字、不能使用聚合函式或子查詢以及不能包含計算列等。諸如此類的限制還有很多。
7-4.假設某“倉庫管理”關係型資料庫有下列五個關係模式:
零件PART(PNO,PNAME,COLOR,WEIGHT)
專案PROJECT(JNO,JNAME,JDATE)
供應商SUPPLIER(SNO,SNAME,SADDR)
供應P_P(JNO,PNO,TOTAL)
採購P_S(PNO,SNO,QUANTITY)
(1) 試將PROJECT、P_P、PART三個基本表的自然聯接定義為一個檢視VIEW1, PART、P_S、SUPPLIER三個基本表的自然聯接定義為一個檢視VIEW2。
(2) 試在上述兩個檢視的基礎上進行資料查詢:
① 檢索上海的供應商所供應的零件的編號和名字。
② 檢索專案J4所用零件的供應商編號和名字。
**
答案詳情見文章頂部
**
7-5. 對於教務管理資料庫中基本表SC,建立檢視如下:
CREATE VIEW S_GRADE(SNO,C_NUM,AVG_GRADE)
AS SELECT SNO,COUNT(CNO),AVG(GRADE)
FROM SC
GROUP BY SNO
試判斷下列查詢和更新是否允許執行。若允許,寫出轉換到基本表SC上
相應操作:
(1) SELECT * FROM S_GRADE
(2) SELECT SNO,C_NUM
FROM S_GRADE
WHERE AVG_GRADE>80;
(3) SELECT SNO,AVG_GRADE
FROM S_GRADE
WHERE C_NUM>(SELECT C_NUM
FROM S_GRADE
SNO=’200912121’);
(4) UPDATE S_GRADE
SET C_NUM=C_NUM+1
WHERE SNO=’ 200915122’
(5) DELETE FROM S_GRADE
WHERE C_NUM>4;
⑷ 不允許。C_NUM是對SC中的學生選修課程的門數進行統計,在未更改SC表時,要在檢視S_GRADE中更改門數,是不可能的。
⑸ 不允許。在檢視S_GRADE中刪除選修課程的門數在4門以上的學生元組,勢必造成SC中這些學生學習元組的刪除,這不一定是使用者的原意,因此使用分組和聚合操作的檢視,不允許使用者執行更新操作。
**
答案詳情見文章頂部
**
7-6.簡述建立索引的必要性和作用。
答:資料庫的索引就類似於書籍的目錄,如果想快速查詢而不是逐頁查詢指定的內容,可以通過目錄中章節的頁號找到其對應的內容。類似地,索引通過記錄表中的關鍵值指向表中的記錄,這樣資料庫引擎就不用掃描整個表而定位到相關的記錄。相反,如果沒有索引,則會導致SQL Server搜尋表中的所有記錄,以獲取匹配結果,這樣就會大大降低查詢的效率。
7-7.聚集索引和非聚集索引有何種異同?
答:聚集索引和非聚集索引的根本區別是表記錄的排列順序和與索引的排列順序是否一致。聚集索引即需要對已有表資料重新進行排序(若表中已有資料),即刪除原始的表資料後再將排序結果按物理順序插回,故聚集索引建立完畢後,建立聚集索引的列中的資料已經全部按序排列。一個表中只能包含一個聚集索引,但該索引可以包含多個列。非聚集索引類似書本索引,索引與資料存放在不同的物理區域,建立非聚集索引時資料本身不進行排序。一個表中可以含多個非聚集索引。
相同之處就是它們都是索引,都可以提高資料的查詢速度。
7-8.用T-SQL語句,按資料庫JXGL中選修課程表SC的成績列降序建立一個普通索引(非唯一、非聚集)。
**
答案詳情見文章頂部
**
相關文章
- 資料庫原理及其應用(SQL server2012)習題詳解-習題8資料庫SQLServer
- 資料庫習題及答案資料庫
- 資料庫習題高階資料庫
- 資料庫大型應用——筆記2 50道mysql練習題資料庫筆記MySql
- SQL Server2012 安裝方法詳解SQLServer
- 資料庫精通練習題答案資料庫
- 複習資料庫原理資料庫
- SQL練習題SQL
- [資料庫]50道經典SQL練習題,使用MySQL5.7解答資料庫MySql
- Sql Server 資料庫學習-常用資料庫 物件SQLServer資料庫物件
- SQL 資料庫學習 Part 2SQL資料庫
- 【資料庫學習】資料庫平臺:mysql,sql server資料庫MySqlServer
- 資料庫系統原理及應用教程複習筆記(第3 版)資料庫筆記
- (7) MySQL資料庫備份詳解MySql資料庫
- 解決pl/sql developer中資料庫插入資料亂碼問題SQLDeveloper資料庫
- 資料庫系統原理-問題集合資料庫
- 資料庫sql的優化問題的面試題資料庫SQL優化面試題
- SQL 資料庫學習路線推薦SQL資料庫
- 資料庫篇-mysql詳解( 一 )之基礎應用資料庫MySql
- 【OCP最新題庫解析(052)--題7】 Examine theses SQL statements and outputSQL
- 教你用一條SQL搞定跨資料庫查詢難題SQL資料庫
- 資料 結構客觀題複習題集
- SQL Server資料庫恢復常見問題SQLServer資料庫
- SQL Server 2016資料庫快照代理過程詳解SQLServer資料庫
- 淺談webscoket原理及其應用Web
- 淺析RunLoop原理及其應用OOP
- 從原理到應用,Elasticsearch詳解Elasticsearch
- 資料結構專題練習資料結構
- 第一章 聯言命題選言命題及其推理-德摩根定律及其練習題
- sql查詢入門練習題SQL
- 牛客SQL練習第21題SQL
- 機器學習策略篇:詳解處理資料不匹配問題(Addressing data mismatch)機器學習
- 清洗資料,我習慣用這 7 步!
- go 連線資料庫 - GORM學習 - sql查詢Go資料庫ORMSQL
- 習題練習題-第二題
- Python 語言及其應用 3.8 練習 (8) (9)Python
- 10.第三章直言命題及其推理(練習題)
- 習題3-7(uva-1368)