Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Karpova_bazy_dannyh

.pdf
Скачиваний:
56
Добавлен:
08.05.2015
Размер:
38 Мб
Скачать
☆

233

, , . -

, , , ,

.

, -

, .

- (-). , -

. , :

. , -

, ,

, -

. -

, .

, -

. ,

.

, -

.

:

.

.

, -

, , -

,

1, 2, , 2, a 1.

, ,

(), , ,

(), -

.

.

() ,

-

.

,

, -

. ,

. -

. -

. 11.6. , , -

234

 

 

 

 

 

 

11.

 

 

 

T1,

2

.

 

 

 

 

 

 

 

 

,

 

 

,

-

 

 

 

 

 

 

 

,

-

(«

 

»)

 

 

.

 

 

 

.

 

 

 

 

 

 

,

 

 

 

 

 

 

 

 

,

 

 

 

 

 

 

 

.

 

 

 

 

 

 

2

 

.

 

-

 

 

 

 

 

.

 

 

 

A

 

1

-

1

-

1

-

B

10.01.

 

 

 

 

 

 

 

 

Update T1

 

 

 

 

 

 

 

 

10.03.

 

A

 

 

 

 

10.02.

 

 

 

 

 

 

 

 

 

Select T2

 

 

 

 

 

B

Update T1

 

 

 

 

 

A

 

10.04.

 

 

 

 

 

 

 

 

 

10.05.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Select T2

 

Update T1

 

 

 

 

 

 

 

 

10.06.

 

 

 

 

 

 

 

 

Update T2

 

 

 

 

 

 

 

 

10.07.

 

 

 

 

 

 

10.07.

 

 

 

 

 

 

 

 

 

Commit

 

 

 

 

 

 

 

 

 

 

B

 

 

B

 

10.08.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Commit

 

. 11.6.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-

 

 

 

 

,

 

.

 

 

 

 

 

 

 

 

 

 

-

.

 

 

 

 

 

 

 

 

:

 

 

 

,

 

 

,

 

,

-

.

 

 

 

 

 

 

 

 

 

 

 

-

.

 

 

 

.

 

 

 

 

.

 

 

235

W-W 2 , - 1,

R-W 2 , - 1,

W-R 2 , 1.

.

, ,

.

, , -

. -

, , .

11.7. -

, ,

.

. - , .

, .

, -

.

-

.

 

.

(

-

):

 

 

 

 

,

,

,

S (Shared).

 

 

-

 

.

,

 

,

 

 

 

 

,

,

 

 

,

,

,

X (exclusive).

 

 

 

 

 

 

,

.

,

,

-

,

 

.

 

 

 

,

-

 

 

,

-

236

11.

, , -

. -

. 11.7.

.11.7.

 

 

 

 

 

 

 

 

,

 

 

. 11.7

 

,

 

 

-

,

 

 

 

 

 

.

. 11. 8

 

 

 

 

 

 

1

2,

 

 

.

,

 

,

 

 

 

2

-

 

1,

 

 

 

 

 

 

-

1.

2

 

 

 

 

1,

 

 

 

.

 

 

 

 

 

 

 

A

1

-

1

-

1

-

 

B

10.01.

 

 

 

 

 

 

 

 

 

 

-

 

-

 

 

 

 

Update T1

 

A

 

A

 

 

10.02.

 

 

 

 

 

 

 

 

 

10.03.

 

 

 

 

 

 

 

 

 

 

 

 

-

 

B

Update T1

 

Select F2

 

 

 

 

 

 

 

 

 

 

 

A

 

 

10.04.

 

10.05.

 

 

 

B

 

 

Select T2

 

 

 

 

 

 

 

 

 

Update T1

 

 

 

-

 

 

 

 

 

 

 

 

 

 

10.05.

 

10.06.

 

 

 

A

 

 

 

 

 

 

 

 

 

 

 

Commit

 

Update F2

 

 

 

 

 

 

 

 

10.07.

 

 

 

-

 

 

 

 

Commit

 

 

 

A

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-

 

 

 

 

 

 

 

 

A

 

 

 

 

. 11.8.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

237

,

 

 

 

 

 

 

.

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

-

 

(

 

 

 

)

.

 

 

,

 

.

 

 

 

 

1,

 

 

 

 

2

,

-

 

 

2,

 

 

 

1.

-

,

 

,

 

 

 

 

 

 

 

 

 

 

 

,

 

 

 

 

 

 

 

-

2,

 

 

 

 

 

 

-

 

 

1 (

.

. 11.9).

 

 

 

A

1

 

 

2

B

 

10.01.

 

 

 

-

 

 

 

 

 

 

 

-

10.02.

 

Update T1

 

A

 

Update T2

 

 

 

 

 

 

B

 

10.03.

 

 

 

 

 

 

 

 

 

 

 

 

 

10.04.

 

Update T2

 

 

 

 

 

 

 

 

 

 

 

 

Update T1

 

 

 

. 11.9.

 

 

 

 

 

 

 

 

 

 

.

 

-

 

 

 

 

 

.

 

-

 

 

 

 

 

.

.

-

 

 

.

 

 

 

 

 

 

 

 

 

 

 

(

 

)

 

 

 

 

.

7

 

 

 

.

 

.

.

 

-

 

,

 

 

 

 

.

-

 

 

 

 

,

 

 

.

 

 

.

 

 

 

. 11.10.

 

 

 

 

 

T1, T2 ,

12,

-

,

, .

 

 

 

 

 

 

 

 

,

 

 

 

,

 

. 11.1.

 

 

 

 

 

 

 

238

11.

 

11 .1.

 

 

 

 

 

 

 

 

 

 

0

 

T1

Select A

 

 

 

 

1

 

2

Select

2

 

1

Select

 

 

 

 

3

 

4

Select D

 

 

 

 

4

 

5

Select A

 

 

 

 

5

 

2

Select E

 

 

 

 

6

 

2

Update E

 

 

 

 

7

 

3

Select F

 

 

 

 

8

 

2

Select F

 

 

 

 

9

 

3

Update

 

 

 

 

10

 

1

Commit

 

 

 

 

11

 

6

Select A

 

 

 

 

12

 

T 6

Commit

 

 

 

 

13

 

6

Select

 

 

 

 

14

 

6

Update

 

 

 

 

15

 

7

Select G

 

 

 

 

16

 

8

Select H

17

 

9

Select G

 

 

 

 

18

 

9

Update G

 

 

 

 

239

19

8

Select E

 

 

 

29

7

Commit

 

 

 

21

9

Select H

 

 

 

22

3

Select G

 

 

 

23

1

Select A

 

 

 

24

9

Update H

 

 

 

25

6

Commit

 

 

 

26

11

Select

 

 

 

27

12

Select D

 

 

 

28

T16

Select

 

 

 

29

2

Update F

 

 

 

30

11

Update

 

 

 

31

12

Select A

32

10

Update A

 

 

 

33

12

Update D

 

 

 

34

2

Select

 

 

 

35

-

-

 

 

 

 

 

 

, S

(

-

)

, X

(

)

.

 

 

 

,

9,

8 2

-

.

 

 

 

 

-

 

.

3

 

 

-

.

 

 

 

 

 

-

,

,

 

,

 

 

 

 

 

.

 

 

 

 

,

 

 

 

.

 

 

 

-

 

,

 

 

,

-

 

,

.

 

 

 

 

 

-

 

,

 

 

 

.

,

,

-

 

,

 

 

 

.

 

.

.

 

 

-

 

 

.

 

 

 

 

 

,

 

 

-

 

,

 

,

,

-

240

 

11.

 

 

.

,

 

-

,

 

 

.

 

-

 

,

 

.

 

,

,

 

 

,

.

 

()

.

 

,

,

,

 

-

,

,

-

,

 

-

. (

 

 

,

,

-

 

,

 

 

).

-

,

 

 

 

 

 

 

,

 

 

 

-

(

 

 

 

).

 

 

,

 

,

 

 

.

 

 

,

 

.

,

 

 

 

 

 

.

, -

, --

, .

.

, -

, .

2PL(two phase lock) 2 (two phase commit).

:

,

() .

SQL , -

. : LOCK TABLE _ IN {SHARED | EXCUSIVE} M0DE.

, - , -

. .

,

,

-

 

.

-

 

 

.

241

, -

.

,

,

, . -

,

,

. .

.

, -

.

4 . -

,

SERIALIZABLE.

.

-

REPEATABLE READ. -

,

,

.

, .

, , -

, -. -

, , -

, .

,

READ C0MMITED.

,

. -

, , -

.

, . -

-

 

 

 

.

,

,

 

-

 

,

.

READ

UNCOMMITED. - . .

SQL2 -

. :

242

11.

SET TRANSACTION ISOLATION LEVEL [{SERIALISABLE|

REPEATABLE READ |

READ COMMITED |

READ Uncommitted}] [{READ WRITE |

READ ONLY}]

,

.

SERIALISABLE. READ Uncommitted, - ,

READ WRITE. . 11.11 , , -

.

 

-

 

-

-

 

 

 

-

-

-

-

 

 

 

 

 

 

 

SERIALISABLE

-

 

-

-

-

 

 

 

 

 

 

 

 

 

 

 

REPEATABLE

-

 

-

-

 

-

READ

 

 

 

 

 

 

 

 

 

 

 

 

READ

-

 

-

-

 

-

COMMITED

 

 

 

 

 

 

 

 

 

 

 

READ

-

 

-

-

 

-

UNCOMMITED

 

 

 

 

 

 

 

 

 

 

 

 

 

.11.11.

,

.

,

 

 

 

-

,

 

.

 

 

,

 

(

,

-

 

 

),

 

 

 

,

,

,

-

.

,

 

 

-

,

,

 

(

-

).

 

 

 

 

 

 

,

 

 

 

-

 

 

.

 

-

 

 

 

 

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]