2021计算机三级数据库大题总结
第一道大題——ER圖和關系模式
相關參考資料:
(一)什么是ER圖?
用于需求分析階段,例題題目:
ER圖
關系模式
第二道大題——SQL語句填空
1)使用FOR或AFTER選頂定義的觸發器為后觸發器,即只有在引發觸發器執行的語句中的操作都已成功執行,并且所有的約束檢查也成功完成后,才執行觸發器。
2)使用INSTEAD OF選頂定義的觸發器為前觸發器。這種模式的觸發器中,指定執行觸發器而不是執行引發觸發器執行的SQL語句,從而替代引發語句的操作。
在觸發器語句中可以使用兩個特殊的臨時工作表:INSERTED表和DELETED表。這兩個表是在用戶自行數據的更改操作時,SQL Server自動創建和管理的。
其中INSERTED表是用于存儲INSERT和UPDATE語句所影響的行的副本。而DELETED表用于存儲DELETE和UPDATED語句所影響的行的副本。
建立觸發器語法是:
CreateTRIGGER trigger_name
ON { table | view }
{
{ { FOR |AFTER | INSTEAD OF } { [ Insert ] [ , ] [ Update ] }
AS
[{ IF Update (column )
[{ AND | or } Update ( column )]
[…n ]
| IF ( COLUMNS_UpdateD ( ) { bitwise_operator } updated_bitmask)
{ comparison_operator } column_bitmask […n ]
}]
sql_statement […n ]
}
}
第三道大題——案例分析
【解題思路】
本題考查的是分區表的相關知識和數據庫運行環境和參數調整知識。
(1)分區表是將表中的數據按照水平方式分成不同的子集,這些數據子集存儲在數據庫的一個或多個文件組中。合理使用分區會在很大程度上提高數據庫的性能。是否創建分區表主要取決于表當前的數據量大小以及將來數據量大小,同時還取決于對表中數據進行的操作特點。通常,如果某個大型表同時滿足下列條件,則比較適合于進行分區:①該表包含(或將包含)以多種不同形式使用的大量數據,②數據是分段的,比如數據以年份分隔。然而,數據量大并不是創建分區表的唯一條件**,如果表中大量的數據都是經常使用的數據,而且他們的操作方式基本是一樣的,則最好不要使用分區表**。而對數據的操作只涉及一部分數據而不是所有數據時,可以考慮建立分區表。
(2)對于CPU、內存、磁盤等硬件設備在空閑時使用率超過90%,說明硬件資源匱乏。如果在高峰時使用率小于90%說明硬件資源充足。
對于分區表來說,如果對某表中當前分段數據,經常進行的操作是添加、修改、刪除、查詢,而對于其他的數據,則幾乎不操作,或者操作僅限于查詢,那么就可以對表進行分區。使用RAID時,可以將基本表和建立在表上的索引分別放在不同的磁盤上,這樣訪問基本表時,存放數據和存放索引的磁盤驅動器并行工作,可以得到較快的文件讀寫速度;類似的,日志文件與數據對象(表、索引等)也可分別存放在不同磁盤上以改善系統的I/O性能。**RAID1相對于RAID0來說提高了讀速度,加強了系統的可靠性,但是寫效率沒有提高。**在RAID中,如果不考慮價格因素,其實RAID10最適合,它是一個RAID0與RAID1的組合體,它繼承了RAID0的快速和RAID1的安全,同時讀寫速度均提高。但題目中主要考查讀能力,因此RAID1比RAID0更適合些。
答案:
[1]對登錄日志表中在登錄時間列上以月為單位創建右側分區函數,將登錄日志表分成12個分區,每個分區對應一年中一個月的值。因為操作僅限于查詢,建立分區表可以有效的提高查詢效率。
[2]釆用方案2。對于CPU、內存、磁盤等硬件設備在空閑時使用率超過90%,說明硬件資源匱乏。如果在高峰時使用率小于90%說明硬件資源充足。本題中,內存和磁盤的使用率都高于90%,而CPU的使用率不高于50%,說明**內存、硬盤的資源匱乏,需要調整,而CPU的資源充足不需要調整。**因此在硬件調整時,應提高內存的容量和硬盤的訪問效率。RAID1相對于RAID0來說提高了讀速度,加強了系統的可靠性,但是寫效率沒有提高。
總結
以上是生活随笔為你收集整理的2021计算机三级数据库大题总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 前端学习(2306):react之组件使
- 下一篇: 前端学习(2140):webpack的安