西工大數據庫復習參考_第1頁
西工大數據庫復習參考_第2頁
西工大數據庫復習參考_第3頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

數據是描述事物的符號記錄。數據的形式本身并不能完全表達其內容,需要經過語義解釋。信息是關于現實世界事物存在方式或運動狀態的反映。

數據是信息的符號表示或稱為載體;信息則是數據的內涵,是對數據語義的解釋;

數據表示了信息,而信息只有通過數據形式才能被計算機理解和接受。

數據庫:

指長期存儲在計算機內的、有組織的、可共享的數據集合。

數據庫管理系統:

是位于用戶與操作系統之間的一層數據管理軟件。

數據庫系統:它是包含數據庫的具體應用系統,由支持該應用系統的某一具體的數據庫、數據庫管理系統和應用程序三部分組成。

事務:是通過訪問數據庫完成用戶特定任務的程序片段,是對數據庫一系列訪問組成的邏輯單位。

數據邏輯獨立性:當數據的總體邏輯結構改變時,通過對映像的相應改變可以保持數據的局部邏輯結構不變,應用程序是依據數據的局部邏輯結構編寫的,所以應用程序不必修改。

數據物理獨立性:當數據的存儲結構改變時,通過對映像的改變可以保持數據的邏輯結構可以不變,從而應用程序也不必改變。

關系模式規范化:通過模式分解把屬于低級范式的關系模式轉換為幾個屬于高級范式的關系模式的集合的過程。

死鎖:當兩個或多個事務相互等待對方所擁有的鎖被釋放時,所產生的僵持局面。

數據模型:在數據庫中用數據模型這個工具來抽象、表示和處理現實世界的數據和信息。通俗地講數據模型就是現實世界的模擬。

SQL:Structured

Query

Language,一種對關系數據庫中的數據進行定義和操作的句法,為大多數關系數據庫管理系統所支持的工業標準。結構化查詢語言,是標準的數據庫語言。

視圖:是命名的、從基本表導出的虛表,它是物理上并不存在,存在的只是它的定義。

串行調度:每個事務的操作連續執行,各事務之間的操作沒有任何重疊的調度。

Cluster

index:

聚簇索引也叫簇類索引,是一種對磁盤上實際數據重新組織以按指定的一個或多個列的值排序。

1.

數據庫設計的步驟:

需求分析,概念結構設計,邏輯結構設計,物理結構設計,數據庫實施,數據庫運行和維護。

2.

可串行化調度:多個事務的并發執行是正確的,當且僅當其結果與按某一次序串行執行它們的結果相同,我們稱這種調度策略為可串行化的調度。

3.

數據庫封鎖類型:

共享鎖:如果事務在數據項上加一個共享鎖,那么該事務只能讀而不能更新數據項。

互斥鎖:如果事務在數據項上加一個互斥鎖,那么該事務既可讀也可更新數據項。

4.

查詢優化的一般步驟:

對于給定的查詢選擇代價最小的操作序列,使查詢過程既省時間,又具有較高的效率

將查詢轉換成為某種內部表示,通常是語法樹

根據一定的等價變換規則將語法數轉換成標準形式

選擇最低層的操作算法

生成查詢計劃

5.

事務遵守兩段鎖協議和事務調度可串行化的關系:

如果事務中所有的加鎖操作都在事務的第一個解鎖操作之前進行,那么這個事務是遵循兩段鎖協議的。

或者:具體如下:

1)數據在對一個數據項進行操作之前,必須先獲得對該數據項的鎖。根據訪問類型,鎖可以是讀或寫鎖。

2)一旦事務釋放了一個鎖,它就不能再獲得任何新鎖。

根據該協議,每個事務可以被分為兩個階段:第一階段是增長階段,在這個階段,事務獲得它所需要的所有鎖(不一定是同時),但不釋放其中任何一個;第二階段是收縮階段,在這個階段,事務釋放它所擁有的鎖,但不能在請求任何新鎖。

兩段鎖協議和事務可串行化調度的關系:如果一個調度中的每個事務都遵循兩段鎖協議,那么該調度必然是沖突可串行化的。

事務遵守兩段鎖協議是可串行化調度的充分條件,而不是必要條件。

6.

什么是死鎖?如何用有向圖的方法檢測死鎖?

當兩個或多個事務相互等待對方所擁有的鎖被釋放時,所產生的僵持局面。

通常可以用等待圖方法來進行死鎖檢測。WFG是有向圖G=(N,E),生成規則如下:1.為每個事務創建一個結點。2.

如果事務Ti等待對一個當前被事務Tj加鎖的數據項進行加鎖,則創建一條有向邊Ti->Tj。當且僅當WFG中包含一個循環時存在死鎖。

7.

數據庫更新策略,并說明是否需要undo和redo過程,各種策略的優缺點

數據庫的兩種更新策略決定了是否需要Undo過程:

1)

Immediate

Updates

Modified

pages

can

be

flushed

to

the

stable

database

before

a

transaction

reaches

its

commit

point.

Undo

actions

are

needed

in

the

event

of

a

system

failure.

2)

Deferred

Updates

Transaction

updates

are

applied

to

the

database

after

the

transaction

has

reached

its

commit

point.

There

is

no

need

for

undo

actions

in

the

event

of

a

system

failure.

1)

Force

Propagation

All

modified

pages

are

propagated

during

the

commit

processing

of

the

modifying

transaction.

Since

a

transaction

is

not

committed

until

all

its

modified

pages

are

written

back

to

the

stable

database.

There

is

no

need

for

redo

actions

in

the

event

of

a

system

failure.

2)

No-Force

Propagation

Pages

modified

by

committed

transaction

might

not

have

been

propagated

to

the

stable

database.There

is

a

need

for

redo

actions

in

the

event

of

a

system

failure.

8.

簡述數據庫概念設計中的深坑陷阱,給出可能產生的原因和解決方法,并舉例說明。

當一個模型暗示某些實體類型之間存在聯系,而這些實體的實例的出現之間卻不存在相應的通路。在關聯實體的通路上存在一個或多個多樣性最小為零的聯系時,可能會產生深坑陷阱。解決方法:建立實體間的直接聯系。

9.

簡述數據庫概念設計的扇形陷阱,給出產生原因和解決方法。

當一個模型暗示某些實體類型之間存在聯系,而這些實體的實例的出現之間卻不存在相應的通路。在關聯實體的通路上存在一個或多個多樣性最小為零的聯系時,可能會產生深坑陷阱。解決方法:調整實體間的聯系次序。

10.

日志從緩沖區到二級存儲設備要遵循的兩個規則?

1)UNDO規則(Undo

Rule

)或叫WAL

(Write-Ahead

Logging)

principle

事務對數據的更新要在相關日志信息寫入文件之后寫入文件。

這樣,Log保證記錄了未提交事務的Undo信息

2)REDO規則(Redo

Rule

在事務提交時,只有當事務相關的Log信息寫入了文件之后,事務提交才算完成。

這樣,Log保證記錄了提交事務的Redo信息

這兩條保證了在系統崩潰時,對于提交事務和未提交事務都能得到相應恢復。

11.

簡述可串行化調度和正確調度。

答:事務集合并發執行,調度是可串行化的當且僅當它能夠產生和某一串行調度相同的結果??纱谢恼{度稱為正確調度。

12.

在開發具有多個用戶視圖的數據庫應用程序時,在設計過程中對于多個用戶視圖的處理通常有3種方法?簡述這3中方法,并說明在什么情況下該使用哪種方法。

答:三種方法分別為:集中式方法;視圖集成方法和兩種方法的結合。

當各用戶視圖的需求存在明顯重疊,并且數據庫應用不是非常復雜時,適合采用集中式方法;當各用戶視圖之間存在明顯區別,而整個數據庫應用程序相當復雜時,適合采用視圖集成方法。

1.

List

all

employees

whose

salary

more

than

$10000

σsalary>10000(Staff)

List

all

students

in

information

system

department

σsDept=‘IS’(Student)

List

all

male

students

whose

age

no

less

than

20

σsAge≥20

sSex=‘M’(Student)

2.

List

all

students

with

name

and

department

attributes

ΠsName,sDept(Student)

3.

List

the

course

numbers

which

elected

by

student

whose

number

is

‘070001’

cNo(

sNo=‘070001’

(SC))

Course

4.

List

the

students

who

have

elected

course

‘001’

or

‘002’

ΠsNo(cNo=‘001’

cNo=‘002’(SC))

Student

(ΠsNo(cNo=‘001’(SC)

)∪

ΠsNo(cNo=‘002’(SC)))

Student

5.

List

the

students

who

have

elected

course

‘001’

and

‘002’

(ΠsNo,cNo(SC)÷

cNo=‘001’

cNo=‘002’(C))

Student(ΠsNo(

cNo=‘001’

(SC))

∩ΠsNo(

cNo=‘002’

(SC)))

Student

6.

List

the

students

who

have

elected

course

‘001’

but

have

not

elected

course

‘002’

(ΠsNo(cNo=‘001’(SC))

-

ΠsNo(cNo=‘002’(SC)))

Student

7.

List

the

students

who

have

not

elected

course

‘001’

(ΠsNo(Student)

-

ΠsNo(cNo=‘001’(SC)))

Student

8.

List

the

student

who

have

only

elected

course

‘001’

(ΠsNo(SC)

-

ΠsNo(cNo≠‘001’(SC)))

Student

(ΠsNo(

cNo=‘001’(

SC))

-

ΠsNo(SC

-

cNo=‘001’(SC)))

Student

9.

Produce

a

statu

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論