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