資料庫原理及其應用(SQL server2012)習題詳解
習題7
檢視:是從基本表或其他檢視中匯出的表,它本身不獨立儲存在資料庫中,也就是資料庫中只存放檢視的定義而不存放檢視的資料。
索引:是對資料庫表中一列或多列的值進行排序的一種結構,使用索引可快速訪問資料庫表中的特定資訊。
聚集索引:該索引中鍵值的邏輯順序決定了表中相應行的物理順序。這種索引對查詢非常有效,在每一張基本表中只能有一個聚集索引。
唯一索引:不允許具有索引值相同的行,從而禁止重複的索引或鍵值。並在每次使用 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)習題詳解
習題7 檢視:是從基本表或其他檢視中匯出的表,它本身不獨立儲存在資料庫中,也就是資料庫中只存放檢視的定義而不存放檢視的資料。 索引:是對資料庫表中一列或多列的值進行排序的一種結構,使用索引可快速訪問資料庫表中的特定資訊。 聚集索引:該索引中鍵值的邏輯順序決
MySQL索引原理及BTree(B-/+Tree)結構詳解
目錄 摘要 資料結構及演算法基礎 索引的本質 B-Tree和B+Tree B-Tree B+Tree 帶有順序訪問指標的B+Tree 為什麼使用B-Tree(B+Tree) 主存存取原理 磁碟存取原理 區域性性原理與磁碟預讀 B
Savitzky-Golay 濾波器及其應用(光譜分析領域)
Savitzky-Golay濾波器(通常簡稱為S-G濾波器)最初由Savitzky和Golay於1964年提出,發表於Analytical Chemistry 雜誌。之後被廣泛地運用於資料流平滑除噪,是一種在時域內基於局域多項式最小二乘法擬合的濾波方法。這種濾波器最大的特點
Nginx配置文件(nginx.conf)配置詳解
最好 緩沖區 網絡io dev mp3 forward val eight 超時 Nginx的配置文件nginx.conf配置詳解如下: user nginx nginx ; Nginx用戶及組:用戶 組。window下不指定 worker_process
Java集合框架中的快速失敗(fail—fast)機制詳解
block rac sms 編程 參數 failsafe next ID ted 先說結論:在用for遍歷一個集合對象時,如果遍歷過程中對集合對象的內容進行了修改(增加、刪除),則會拋出ConcurrentModificationException。在單線程下用叠代器遍歷
LVS 負載均衡群集詳解、地址轉換模式(LVS-NAT)案例詳解
8.4 功能 block x86_64 ati local linu 它的 har 前言 · Linux Virtual Server (LVS)是針對 Linux 內核開發的一個負載均衡項目,是由我國章文嵩博士在 98 年 5月創建。· LVS 實際上相當於基於 IP
Jmater (十七) 命令列(非GUI)模式詳解(二) 執行代理設定
閒話少述,接 上文繼續。。。 5、設定代理 jmeter -n -t Jmeter分散式測試示例.jmx -H 20.9.215.90 -P 9999 -1 report\01-result.csv -j report\01-log.log 注意:-H 20.9.215.9
Jmater (十八) 命令列(非GUI)模式詳解(三) 測試圖形化 HTML報表(dashboard)生成
閒話少述,接上文繼續。。。 5、生成測試報表 生成測試報表前,需要先生成效能測試結果 jtl 或 csv 檔案,用於測試結果的生成。 jmeter -n -t JMeter分散式測試示例.jmx -r -l report\01-result.csv -j report\01-lo
分享《深度學習與計算機視覺演算法原理框架應用》《大資料架構詳解從資料獲取到深度學習》PDF資料集
下載:https://pan.baidu.com/s/12-s95JrHek82tLRk3UQO_w 更多資料分享:http://blog.51cto.com/3215120 《深度學習與計算機視覺 演算法原理、框架應用》PDF,帶書籤,347頁。《大資料架構詳解:從資料獲取到深度學習》PDF,帶書籤,3
分享《深度學習與計算機視覺算法原理框架應用》《大數據架構詳解從數據獲取到深度學習》PDF數據集
書簽 部分 https log pdf 深入 -s 更多 實用 下載:https://pan.baidu.com/s/12-s95JrHek82tLRk3UQO_w 更多資料分享:http://blog.51cto.com/3215120 《深度學習與計算機視覺 算法原理
【Java入門提高篇】Day34 Java容器類詳解(十五)WeakHashMap詳解
public class WeakHashMapTest { public static void main(String[] args){ testWeakHashMap(); } private static void testWeakHashMap
希爾排序(java實現)演算法詳解
希爾排序也是一種插入排序演算法,也叫作縮小增量排序,是直接插入排序的一種更高效的改進演算法。 希爾排序因其設計者希爾(Donald Shell)的名字而得名,該演算法在 1959 年被公佈。一些老版本的教科書和參考手冊把該演算法命名為 Shell-Metzner,包含了 Marlene Metzner No
PTA7-37 整數分解為若干項之和(20 分)超級詳解
將一個正整數N分解成幾個正整數相加,可以有多種分解方法,例如7=6+1,7=5+2,7=5+1+1,…。程式設計求出正整數N的所有整數分解式子。輸入格式:每個輸入包含一個測試用例,即正整數N (0<N≤30)。輸出格式:按遞增順序輸出N的所有整數分解式子。遞增順序是指:
Android enum(列舉型別)使用詳解
原始的介面定義常量: public interface IConstants { String MON = "Mon"; String TUE = "Tue"; String WED = "Wed"; String THU = "Thu";
Java還要再學一遍基礎(十一)WeakHashMap詳解
WeakHashMap概述 WeakHashMap是以弱鍵實現的基於雜湊表的儲存對映資料的Map。當JVM對於這些弱鍵所指向的物件進行了清理回收之後,WeakHashMap會自動有效的將被回收了的對映從map中移除。 引用的相關知識 Java中的引用一共分
程序間通訊(IPC機制)精煉詳解
一、前期基礎知識儲備IPC定義:IPC是intent-Process Communication的縮寫,含義為程序間通訊或者跨程序通訊,是指兩個程序之間進行資料交換的過程。IPC不是Android所獨有的,任何一個作業系統都需要有相應的IPC機制,比如Windows上可以通過
unity開發Android遊戲環境配置、除錯(真機)全過程詳解
一、下載安裝unity 1.搜尋進入unity——Download 2.點選選擇Choose your Unity + download
Nginx配置檔案(nginx.conf)配置詳解
歡迎掃碼加入Java高知群交流 Nginx的配置檔案nginx.conf配置詳解如下: user nginx nginx ; Nginx使用者及組:使用者 組。window下不指定 worker_processes 8; 工作程序:數目。根據硬體調整,通常等於CPU數
延遲渲染(Deferred Shading)技術詳解
一、Deferred shading技術簡介 Deferred shading是這樣一種技術:將光照/渲染計算推遲到第二步進行計算。我們這樣做的目的是為了避免多次(超過1次)渲染同一個畫素。 其基本思想如下: 1、在第一步中,我們渲染場景,但是與通常情況下應用反射模型計算片
1005 繼續(3n+1)猜想 (25)(25 分)通俗詳解
1001回顧: 1001 害死人不償命的(3n+1)猜想 (15)(15 分) 卡拉茲(Callatz)猜想: 對任何一個自然數n,如果它是偶數,那麼把它砍掉一半;如果它是奇數,那麼把(3n+1)砍掉一半。這樣一直反覆砍下去,最後一定在某一步得到n=1。卡拉茲在19