1. Trang chủ
  2. » Cao đẳng - Đại học

Bài giảng Hệ quản trị cơ sở dữ liệu

348 8 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Tổng Quan Về HQT CSDL
Người hướng dẫn GVLT: Nguyễn Trường Sơn
Trường học Trường Đại Học
Chuyên ngành Hệ Quản Trị Cơ Sở Dữ Liệu
Thể loại bài giảng
Định dạng
Số trang 348
Dung lượng 12,66 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Yêu cầu về dữ liệu trong CSDL... Yêu cầu về dữ liệu trong CSDL § Schema... Yêu cầu về dữ liệu trong CSDL... Lợi ích của tính độc lập dữ liệu § Độc lập l – Cho phép thêm bớt thuộc tính

Trang 1

LOGO

Trang 2

Nội dung

Trang 4

Yêu cầu về dữ liệu trong CSDL

Trang 5

Yêu cầu về dữ liệu trong CSDL

§  

Schema

Trang 6

Yêu cầu về dữ liệu trong CSDL

Trang 7

Lợi ích của tính độc lập dữ liệu

§   Độc lập l

–   Cho phép thêm bớt thuộc tính, bảng, các mối quan hệ mà không cần phải viết lại chương trình,

§   Độc lập vật lý:

–   Cho phép thay đổi thiết bị lưu trữ, cách thức lưu trữ, các cấu trúc dữ liệu, các tổ chức tập tin khác nhau, các kiểu tổ chức chỉ mục khác nhau,

Schema

Trang 10

PostgreSQL dBASE

Trang 11

Kiến trúc của một HQT CSDL

Ends

Parser Optimizer

Manager Manager

Manager

Engine Control

DATABASES

DBMS

interactions

references

Trang 16

Xử lý truy xuất đồng thời

§   Mục tiêu:

–   Đảm bảo các xử lý có thể được thực hiện đồng thời mà làm không làm cho dữ liệu bị mất tính nhất quán (vi phạm các ràng buộc toàn vẹn)

Manager & Locking Manager)

§   Phương pháp:

–   Sử dụng khái niệm giao tác (transaction) để biểu diễn một đơn vị xử

lý, một giao tác bao gồm các hành động mà được thực hiện tòn bộ hoặc không có hành động nào được thực hiện

–   Bộ lập lịch (scheduler)

–   Sử dụng c lock

à

điểm à Hỗ trợ để lập lịch.

-

-

-

-

T

Trang 17

Điều khiển đồng thời (tt)

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

LỊ C H N G H Ờ LỊ C H U Ầ N T1 T2 T3 -

-

-

-

-

-

Trang 18

Điều khiển đồng thời (tt)

§   Vấn đề d

–   Do

– 

– 

Trang 19

– 

Trang 22

Mô hình phân cấp

DEPT

EMP

Trang 25

Phân loại HQTCSDL

§  

Trang 26

TÓM TẮT CHƯƠNG 1

–   Dữ liệu cần được trình bày ở nhiều

mức khác nhau

–   Các đặc trưng cần phải có của dữ liệu

khi lưu trữ trong CSDL

–   Tính chất độc lập dữ liệu

của HQTCSDL

–   Giao diện lập trình –   Xử lý đồng thời –   An ninh và bảo mật –   Khôi phục sau sự cố –   Xử lý truy vấn

–   Quản lý lưu trữ

–   Theo mô hình dữ liệu –   Theo kiến trúc tính toán –   Theo đặc tính

§   Kiến trúc tổng quan của

HQTCSDL

Trang 27

ĐỌC THÊM

Trang 28

BÀI TẬP

(Có thể tham khảo các sách khác & google) và làm

những nội dung sau:

§   A Trình bày lại nội dung phần 1.10 trong sách

§   B Trả lời các câu hỏi trong phần bài tập Exercises 1.1 đến 1.8 (giải thích ngắn gọn, đầy đủ & súc tích):

Trang 29

BÀI TẬP

(Có thể tham khảo các sách khác & google) và làm

những nội dung sau:

§   A Trình bày lại nội dung phần 1.10 trong sách

§   B Trả lời các câu hỏi trong phần bài tập Exercises 1.1 đến 1.8 (giải thích ngắn gọn, đầy đủ & súc tích):

Trang 30

LOGO

Trang 31

Nội dung trình bày

Trang 33

Giới thiệu – Một số tình huống

Trang 34

Giới thiệu – Một số tình huống

§  

– 

à  

Trang 35

Giới thiệu – Một số tình huống

§  

– 

à  

Trang 36

Giới thiệu – Một số tình huống

§  

– 

à  

1.  Đọc số dư của tài khoản A vào X

2.  Cập nhật số dư mới của tài khoản A bằng X – Số tiền

Trang 37

Giới thiệu – Một số tình huống

§  

– 

à  

Trang 39

Nội dung trình bày

Trang 41

Tính chất ACID của giao tác

Trang 42

Ví dụ về tính chất ACID

Atomicity: Hoặc cả 2 bước trên đều thực

hiện hoặc không bước nào được thực hiện Nếu có sự cố bước 2 thì HQT CSDL có cơ chế khôi phục lại dữ liệu như lúc ban đầu.

Trang 43

Ví dụ về tính chất ACID

Atomicity

Consistency

Trang 44

Ví dụ về tính chất ACID

Isolation:

Trang 45

Đơn vị dữ liệu

gọi là đơn vị dữ liệu

Trang 46

Các thao tác của giao tác

Trang 47

Ví dụ về biểu diễn giao tác

Trang 48

Giao tác: Ví dụ (tt)

Trang 49

Các trạng thái của giao tác

Trang 50

Khai báo giao tác trong T-SQL

Trang 51

Nội dung trình bày

Trang 52

Các cách thực hiện của các giao tác

Trang 56

Lịch xử lý đồng thời

§  

T1

T2

T4

T3

T5

Lịch xử lý đồng thời

S

Trang 57

Lịch đồng thời

Ví dụ:

§   S3 là một lịch xử lý đồng thời vì các giao tác giao thoa với nhau

§   Lịch xử lý đồng thời S3 gây ra sự mất nhất quán dữ liệu

Trang 58

Lịch khả tuần tự

§  

T1

T2

T4

T3

T5

Trang 62

Biểu diễn lịch thao tác

Trang 63

Lịch khả tuần tự

§  

§  

§  

Trang 66

Conflict Serializability (tt)

§   Tóm lại, h

§  

Trang 67

Conflict Serializability (tt)

§  

S6 có khả năng chuyển đổi thành S6’ bằng cách hoán vị các cặp hành động không

xung đột hay không ?

Trang 69

Conflict Serializability (tt)

§  

§  

Trang 70

Conflict Serializability (tt)

Trang 71

Kiểm tra Conflict Serializability

Trang 72

Kiểm tra Conflict Serializability

§  

– 

– 

Trang 73

Kiểm tra Conflict Serializability

Trang 74

Kiểm tra Conflict Serializability

Trang 75

Kiểm tra Conflict Serializability

T

Trang 76

Kiểm tra Conflict Serializability

T T

Trang 81

Bài tập 4

§   Cho lịch S:

§   Vẽ P(S)

§   S có conflict-serializable không ?

Trang 84

S hay S’ được thực hiện thì kết quả đọc A của Tf luôn giống nhau à

T T

Trang 85

View-Serializability (tt)

§   Khả tuần tự View (View-serializability):

–   Một lịch S được gọi là khả tuần tự view nếu tồn tại một lịch tuần tự S’ được tạo từ các giao tác của S sao cho S và S’ đọc và ghi những giá trị giống nhau

–   Lịch S được gọi là khả tuần tự view khi và chỉ khi nó tương đương view

Trang 89

Kiểm tra View Serializability

Trang 90

Kiểm tra View-Serializability (tt)

Trang 91

Kiểm tra View-Serializability (tt)

Trang 92

Kiểm tra View-Serializability (tt)

Trang 93

Ví dụ

T 2

T 1

Write(A) S

Write(A)

T 3 Read(A)

Write(A)

T 2

T 1

Write(A) S’

Trang 96

Ví dụ (tt)

T 2

T 1

Write(A) S’

Trang 97

Ví dụ (tt)

T 2

T 1

Write(A) S’

Trang 98

Ví dụ (tt)

T 2

T 1

Write(A) S’

Trang 99

Ví dụ (tt)

T 2

T 1

Write(A) S’

Trang 100

Ví dụ (tt)

T 2

T 1

Write(A) S’

Trang 103

Bài tập

T 2

T 1

Write(A) S

Read(A)

T 3 Read(B)

Trang 105

TÀI LIỆU THAM KHẢO

Trang 106

TÀI LI ỆU THAM KHẢO

§   http://infolab.stanford.edu/~ullman/dscb/vs-­‐old.pdf

§   http://pages.cs.wisc.edu/~dbbook/openAccess/thirdEdition/ slides/slides3ed-­‐english/Ch17_CC-­‐95.pdf

§   http://djitz.com/neu-­‐mscs/how-­‐to-­‐check-­‐for-­‐view-­‐serializable-­‐ and-­‐con¦lict-­‐serializable/

§   http://inst.eecs.berkeley.edu/~cs186/fa05/lecs/18cc-­‐6up.pdf

§   http://folk.uio.no/inf212/handouts/uke19_2.pdf

Trang 107

LOGO

Trang 108

Nội dung trình bày

Trang 109

Nội dung trình bày

Trang 113

Vấn đề đọc dữ liệu rác

– 

Trang 115

Các kỹ thuật điều khiển đồng thời

§  

Kỹ thuật khoá

Kỹ thuật nhãn thời gian

Kỹ thuật xác nhận hợp lệ

Trang 116

Nội dung trình bày

Trang 117

Kỹ thuật khoá đơn giản

Trang 118

Kỹ thuật khóa đơn giản

Trang 119

Kỹ thuật khóa đơn giản (tt)

Trang 120

Kỹ thuật khóa đơn giản (tt)

§  

– 

– 

S

Trang 121

Kỹ thuật khóa đơn giản (tt)

§  

Cho biết lịch nào hợp lệ? Giao tác nào là đúng đắn ?

Trang 122

Kỹ thuật khóa đơn giản (tt)

§  

Cho biết lịch nào hợp lệ? Giao tác nào là đúng đắn ?

Trang 123

Kỹ thuật khóa đơn giản (tt)

Trang 124

Kỹ thuật khóa đơn giản (tt)

18

S

Trang 125

Kỹ thuật khóa đơn giản (tt)

Trang 126

Kỹ thuật khóa đơn giản (tt)

Trang 127

Nghi thức khoá 2 giai đoạn

Trang 128

Tại sao lại cần nghi thức khoá 2 giai đoạn ?

§  

Trang 129

Kỹ thuật khóa đơn giản (tt)

Write(A) Unlock(A)

Giao tác nào thoả nghi thức

2 giai đoạn ?

Lock(B) Read(B) B=B-­‐50 Write(B) Unlock(B) Lock(A) Read(A) A:=A+50 Write(A) Unlock(A)

Lock(A) Read(A) Unlock(A) Lock(B) Read(B) Unlock(B)

Trang 130

Kỹ thuật khóa đơn giản (tt)

Unlock(B)

Lock(A)

Read(A) A:=A+50 Write(A)

Trang 131

Kỹ thuật khóa đơn giản (tt)

25

T2

T1

Read(A,s) s:=s*2

Write(B,t); Unlock(B) Read(B,t); t:=t+100

t:=t+100; Write(A,t) Lock(A); Read(A,t)

Lock(B); Unlock(A)

Lock(B) ; Ulock(A)

Read(B,t); t:=t*2 Write(B,t); Unlock(B)

s:=s*2; Write(A,s) Lock(A); Read(A,s)

Lock(B) Không phát khóa

được, phải chờ đến lúc này

Trang 132

Kỹ thuật khóa đơn giản (tt)

Trang 133

Kỹ thuật khoá đơn giản (tt)

Trang 134

Nội dung trình bày

Trang 135

Kỹ thuật khóa đọc ghi

Trang 136

Kỹ thuật khóa đọc ghi (tt)

Trang 137

Kỹ thuật khóa đọc ghi (tt)

Trang 138

Kỹ thuật khóa đọc ghi (tt)

Trang 139

Kỹ thuật khóa đọc ghi (tt)

Trang 140

Kỹ thuật khóa đọc ghi (tt)

Trang 141

35

Ví dụ

Trang 142

36

Ví dụ

Trang 143

37

Ví dụ

Trang 144

38

Ví dụ

Trang 145

Kỹ thuật khóa đọc ghi (tt)

§  

39

T T

S

Trang 146

Kỹ thuật khóa đọc ghi (tt)

Trang 147

Kỹ thuật khóa đọc ghi (tt)

§  

T T

S

Trang 148

Nội dung trình bày

Trang 150

44

Kỹ thuật khóa đa hạt (tt)

Trang 151

Bộ (Tuple)

Khối (Block) Khối (Block)

Bộ (Tuple) Bộ (Tuple) Bộ (Tuple) Bộ (Tuple)

Bộ (Tuple)

Bộ (Tuple) Bộ (Tuple)

Trang 153

47

Kỹ thuật khóa đa hạt (tt)

Trang 154

48

Kỹ thuật khóa đa hạt (tt)

Trang 161

Kỹ thuật khóa đa hạt (tt)

Trang 162

Nội dung trình bày

Trang 163

Giới thiệu

§   Ý tưởng:

– 

gán nhãn thời gian (timestamping)

– 

Trang 164

Giới thiệu

§  

– 

Trang 165

59

Nhãn thời gian toàn phần

nhận lại thời điểm phát sinh của T

lại TS(T) của giao tác T đã thao tác read/write thành công sau cùng lên X

§   Khi đến lượt giao tác T thao tác trên dữ liệu X, so sánh TS(T)

Trang 166

Nhãn thời gian toàn phần

Trang 167

Read(B) A=A*2

Write(A)

B=B+20 Write(B)

Read(B)

Trang 168

Nhãn thời gian toàn phần

Trang 169

Nội dung trình bày

Trang 170

Nhãn thời gian riêng phần

Trang 171

Nhãn thời gian riêng phần

Trang 172

Nhãn thời gian riêng phần

(

l  

Trang 173

Nhãn thời gian riêng phần

l  

Trang 174

Nhãn thời gian riêng phần

§  

l  

l  

à  

Trang 175

Nhãn thời gian riêng phần

Trang 176

Nhãn thời gian riêng phần

§  

l  

l  

à

Trang 177

Nhãn thời gian riêng phần

Trang 178

Nhãn thời gian riêng phần

Trang 179

Nhãn thời gian riêng phần (tt)

Trang 180

Write(B) Read(C) TS(T 1 )=100 WT(A)=0 WT(B)=0 RT(C)=0 WT(C)=0

Trang 181

Read(C)

Trang 183

T TS=175

T TS=255

Read(A)

Trang 184

Nội dung trình bày

Trang 185

Nhãn thời gian nhiều phiên bản

Trang 186

Nhãn thời gian nhiều phiên bản (tt)

Trang 187

Nhãn thời gian nhiều phiên bản (tt)

Trang 188

Ví dụ

82

RT=150 WT=0

RT=0 WT=200

T 1

Read(A)

T 2 TS=200

A 0 RT=0

Read(A)

Write(A) Write(A)

Read(A)

T 3 TS=175

T 4 TS=255

Read(A)

RT=0 WT=150

RT=200 WT=150

RT=200 WT=150

A 1 A 2

RT=255 WT=200

Trang 189

RT=100 WT=0

A 1

RT=0 WT=200

B 0 RT=0 WT=0

B 1

RT=0 WT=200

RT=100 WT=0

A 1

RT=0 WT=100

A 2

RT=0 WT=200

Trang 190

Nhãn thời gian nhiều phiên bản (tt)

Trang 191

Tài liệu tham khảo

§  

– 

Trang 192

LOGO

Trang 194

Timestamp vs Locking

§  

§  

Trang 196

Strict Timestamp Based Concurrency Control

§  

– 

§  

Trang 201

Timestamp-based approach

§  

– 

Trang 204

LOGO

Trang 205

Nội dung trình bày

Trang 208

Sự cố do nhập liệu sai ( Erroneous Data Entry )

Trang 209

Sự cố trên thiết bị lưu trữ ( Media Failures )

Trang 210

Sự cố giao tác ( Transaction Failures )

Trang 212

Mục tiêu của khôi phục sự cố

Log Data

Trang 213

Các thao tác đọc ghi dữ liệu trong DBMS

Trang 214

Nội dung trình bày

Trang 216

Nhật ký giao tác (tt)

§  

Trang 218

Điểm kiểm tra (Check point)

Trang 219

Điểm kiểm tra đơn giản

Trang 220

Điểm kiểm tra đơn giản (tt)

Trang 221

Điểm kiểm tra linh động

Trang 222

Điểm kiểm tra linh động (tt)

Trang 223

Nội dung trình bày

Trang 230

Undo-Logging & Checkpoint

Trang 231

Undo-Logging & Checkpoint (tt)

Trang 232

Undo-Logging & Checkpoint (tt)

§  

– 

– 

Trang 233

Undo-Logging & Checkpoint (tt)

Trang 234

Undo-Logging & Checkpoint (tt)

Trang 235

Undo-Logging & Checkpoint (tt)

Trang 236

Undo-Logging & Checkpoint (tt)

Trang 237

Undo-Logging & Checkpoint (tt)

Trang 238

Nội dung trình bày

Trang 241

Ví dụ

Read(A,t) t:=t*2

Write(A,t)

Read(B,t) t:=t*2

Write(B,t)

Output(A) Output(B)

Trang 243

lại

Trang 244

Ví dụ

Read(A,t)

t:=t*2 Write(A,t)

Read(B,t)

t:=t*2 Write(B,t)

Trang 245

Redo-Logging & Checkpoint

§  

– 

Trang 246

Redo-Logging & Checkpoint (tt)

Trang 247

Redo-Logging & Checkpoint (tt)

Trang 248

Redo-Logging & Checkpoint (tt)

– –

Trang 249

Redo-Logging & Checkpoint (tt)

Trang 250

Redo-Logging & Checkpoint (tt)

Trang 251

Nhận xét

Trang 252

Nội dung trình bày

Trang 254

Ví dụ

Trang 256

lại

Trang 257

Ví dụ

<commit T> đã được ghi xuống đĩa, thực hiện lại T, A=16 và B=16

T chưa kết thúc, khôi phục A=8

Trang 258

Undo/Redo-Logging & Checkpoint

Trang 259

Undo/Redo-Logging & Checkpoint (tt)

Trang 260

Undo/Redo-Logging & Checkpoint (tt)

Trang 261

Undo/Redo-Logging & Checkpoint (tt)

Trang 262

Undo/Redo-Logging & Checkpoint (tt)

Trang 263

Nội dung trình bày

Trang 266

Cơ chế phân quyền

Trang 267

Cơ chế phân quyền (tt)

§  

Các đối tượng Dữ liệu Các đối tượng Người dùng

group

group role

role

Trang 268

Cơ chế phân quyền (tt)

§  

Các đối tượng Dữ liệu Các đối tượng Người dùng

group

group role

role

Trang 269

Cơ chế phân quyền (tt)

Trang 270

Cơ chế phân quyền (tt)

Trang 274

Tài liệu tham khảo

§  

– 

Trang 275

Backup & Recovery in SQL Server

Trang 276

LOGO

Trang 277

LOGO

VẤN

Trang 278

Nội dung chi tiết

Trang 281

Giới thiệu (tt)

§  

Trang 282

Nội dung chi tiết

Trang 283

Phân tích cú pháp và ngữ nghĩa

Trang 285

SELECT FROM WHERE

Trang 286

Ví dụ 1 (tt)

Trang 288

Ví dụ 2 (tt)

Trang 289

Phân tích cú pháp và ngữ nghĩa

Kiểm tra ngữ nghĩa giữa

Trang 290

Nội dung chi tiết

Trang 291

Biến đổi sang ĐSQH

Dạng biểu diễn trong :

Chính là Biểu thức Đại số

Quan hệ

Biểu diễn dưới dạng Cây :

Cây Đại số Quan hệ

(logical query plan)

Trang 292

§  

– – 

– – 

– 

Trang 293

Biến đổi sang ĐSQH (tt)

Trang 294

Xét ví dụ 2

π σ

Trang 295

Biến đổi sang ĐSQH (tt)

§  

– 

– 

σ

Trang 296

Xét ví dụ 1 (Lồng phân cấp)

π

πσ

Trang 297

Biến đổi sang ĐSQH (tt)

§  

– 

•  σ C

Trang 298

Xét ví dụ 1 (Lồng phân cấp)

π

πσ

Trang 299

Xét ví dụ 1 (tt)

π σ

π σ

à

Trang 300

Xét ví dụ 1 (tt)

π σ

Trang 302

Ví dụ 3 (tt)

π σ

σc.custID=a.cusID

Ph

Trang 303

Ví dụ 3 (tt)

π σ

σc.custID=a.cusID

Trang 304

S

X

?

Trang 307

Nội dung chi tiết

Trang 308

Tối ưu hóa cây truy vấn

Trang 309

Tối ưu hóa cây truy vấn (tt)

Trang 313

Áp dụng quy tắc (tt)

§  

Trang 326

Nội dung chi tiết

Trang 327

Ước lượng kích thước cây truy vấn

Trang 328

Ước lượng kích thước

Trang 330

Ước lượng kích thước (tt)

Trang 332

Ước lượng kích thước (tt)

Trang 335

Ước lượng kích thước (tt)

§  

– 

– 

1 2

Trang 336

Ước lượng kích thước (tt)

Trang 337

Ước lượng kích thước (tt)

Trang 338

Ước lượng kích thước (tt)

§  

– 

Trang 339

Chi phí ở nút lá không có ý nghĩa

1150

1100

Trang 340

Nội dung chi tiết

Trang 341

Tối ưu hóa cây truy vấn

Trang 345

Phát sinh mã (tt)

§  

– 

– 

Trang 348

Tài liệu tham khảo

§  

– 

Ngày đăng: 26/12/2021, 17:21

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w