1. Trang chủ
  2. » Trung học cơ sở - phổ thông

BẢNG ĐIỂM HỌC PHẦN SQL – LỚP CT15

40 7 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

Nếu mỗi giá trị chỉ mục ứng với trên 20% số lượng bộ trong bảng, thực hiện truy vấn bình thường bằng cách duyệt qua các dòng trong bảng sẽ hiệu quả hơn.. – Cố gắng dùng các chỉ mục vớ[r]

(1)

Trường Đại học Khoa học Tự nhiên Khoa Công nghệ Thông tin

Bộ môn Hệ thống Thông tin

Chương 3: Cơ thiết kế sở dữ liệu

Phạm Nguyên Thảo

(2)

2

Nội dung

Khái niệm phụ thuộc hàm Khái niệm dạng chuẩn

Chuẩn bị cài đặt CSDL

(3)

3 Khái niệm phụ thuộc hàm

Phụ thuộc hàm (PTH) – functional dependency thể phụ thuộc tập thuộc tính (Y) tập thuộc tính khác(X)

– Định nghĩa dựa ngữ nghĩa, qui tắc tìm hiểu từ mơi trường ứng dụng

(4)

4

Khái niệm PTH (tt)

Cho quan hệ Q(X, Y, Z), với X, Y, Z tập thuộc tính, X  , Y  

– Một thể TQ Q thỏa PTH XY nếu:

q,q’TQ, q.X = q’.X =>q.Y = q’.Y – TQ vi phạm PTH XY nếu:

q,q’ TQ: q.X = q’.X q.Y  q’.Y

– PTH XY gọi định nghĩa Q TQ thể Q, TQ thỏa PTH

(5)

5

PTH – ví dụ

Xét lịch xếp lớp sở giảng dạy một ngày, ta có phụ thuộc hàm sau:

– (1) GV, Giờ  Lớp

( biết giảng viên dạy, ta biết lớp mà giảng viên dạy vào đó)

– (2) Giờ, Lớp  Phòng

(Cho học lớp học cụ thể, ta biết lớp học phòng vào đó)

Nếu biết giảng viên dạy, ta biết Phòng mà giảng viên dạy vào

(6)

6

Hệ tiên đề Amstrong để suy dẫn PTH Luật phản xạ:

Y X, XY Luật cộng:

Nếu X Y Z W X,W Y,Z Luật bắc cầu:

(7)

7

Một số luật dẫn thông dụng khác

Từ luật dẫn tiên đề Amstrong ta có thể suy luật dẫn khác, số sau thường sử dụng:

– Luật bắc cầu giả:

Nếu X Y Y,W  Z X,W  Z – Luật hội:

Nếu X Y X Z X Y,Z – Luật phân rã:

Nếu X Y Z Y X Z

(8)

8

Khái niệm khóa dựa PTH

Cho quan hệ Q F tập PTH định nghĩa Q

K Q+ khóa Q nếu:

i f: K Q+  F+ (K xác định tất thuộc

tính cịn lại Q+)

ii. K’ K | K’ Q+

(9)

9

Nội dung

Khái niệm phụ thuộc hàm

Khái niệm dạng chuẩn Chuẩn bị cài đặt CSDL

(10)

10

Tình trạng trùng lắp thơng tin

Phụ thuộc hàm loại ràng buộc toàn vẹn Khi thêm, xóa, cập nhật liệu phải đảm bảo

không vi phạm PTH

– Các PTH mà vế trái khóa: kiểm tra hiệu chế khóa HQT

(11)

11

Tình trạng trùng lắp thơng tin (tt) Ví dụ:

MON_KT(N,G,P,M,GV); F2 = {N,G,PM; M GV} Với thể hiện:

Nhận xét trùng lắp thơng tin bất tiện thêm/ xóa/ sửa liệu?

N G P M GV

2 8:00 – 10:00 101 Giải thuật X 10:00 – 12:00 101 CSDL Y 8:00 – 10:00 103 Giải thuật X

(12)

12

Tình trạng trùng lắp thơng tin (tt)

Các bất tiện gây trùng lắp thông tin:

– Bất tiện thêm/cập nhật : để đảm bảo liệu

nhất quán, phải kiểm tra cập nhật hàng loạt thông tin trùng lắp

(13)

13

Khái niệm dạng chuẩn

Dạng chuẩn tiêu chuẩn đưa để đánh giá chất lượng lược đồ CSDL Mục tiêu nâng cấp dạng chuẩn

(14)

14

Định nghĩa dạng chuẩn

Dạng chuẩn 1:

– Một quan hệ dạng chuẩn khơng có trường lặp trường kép, gọi cấu trúc phẳng

– Ví dụ:

LỊCH_COI_THI (GV_CT, N,G,P,M,GV)

F = {f1: GV_CTN,G,P: giảng viên coi thi coi vào ngày(N), (G)

phòng(P) f2: M  GV : mơn thi (M) có giảng

viên (GV) phụ trách

(15)

15

Định nghĩa dạng chuẩn (tt) Dạng chuẩn 2:

– Một quan hệ Q dạng chuẩn tất thuộc tính khơng khóa phụ thuộc đầy đủ vào khóa, tức là:

(f: XY) F, khơng tồn X’ X cho (X’Y) F+

– Ví dụ:

MON_KT(N,G,P,M,GV);

(16)

16

Định nghĩa dạng chuẩn (tt) Dạng chuẩn 3:

– Q DC3 với phụ thuộc hàm XA không hiển nhiên định nghĩa Q (A thuộc tính đơn, X tập thuộc tính), hai điều kiện sau thỏa:

i Hoặc X chứa khóa Q

ii Hoặc A thuộc tính khóa Q

– Ví dụ:

(17)

17

Định nghĩa dạng chuẩn (tt)

Dạng chuẩn BCK (Boyce_Codd_Kent)

– Q DC BCK nếu: với PTH không hiển nhiên X  A định nghĩa Q B  Q+, ta

ln có (XB) PTH thuộc F+ Hay nói cách khác, X chứa khóa Q

– Ví dụ:

LICH_KT_1(M,P) ; F1 = {M P} LICH_KT_2(M,N,G); F2 = 

(18)

18

Tính lồng dạng chuẩn

DC

DC

DC

(19)

19

Dạng chuẩn lược đồ CSDL Định nghĩa:

Cho lược đồ CSDL C = {<Qi, Fi>}, i = n

(20)

20

Nâng cấp lược đồ - Thuật tốn phân rã

Mục tiêu: Đưa lược đồ dạng chuẩn cao Thuật tốn:

Với quan hệ Q lược đồ đạt dạng chuẩn thấp:

– Chọn PTH XY gây dạng chuẩn thấp cho quan hệ Q

– Phân rã Q thành Q1(XY) Q2(Q+ - Y)

(21)

21

Nâng cấp lược đồ - Thuật tốn phân rã (tt) Ví dụ:

LỊCH_COI_THI (GV_CT, N,G,P,M,GV)

F = {f1: GV_CTN,G,P: giảng viên coi thi coi vào

ngày(N), (G) phòng(P)

f2: M  GV : mơn thi (M) có giảng viên (GV) phụ trách

f3: N,G,P  M : ngày, vào giờ,

phịng, có môn thi }

(22)

22

Dạng chuẩn – nhận xét

– Dạng chuẩn cao giảm trùng lắp thông tin Lược đồ dạng chuẩn BCK khơng cịn trùng lắp thơng tin

– Tuy nhiên, dạng chuẩn cao gây khó khăn truy vấn (các quan hệ bị tách nhỏ nên phải thực nhiều phép kết hơn)

– Đôi dạng chuẩn cao gây khó khăn kiểm

tra số PTH (trong ví dụ DC BCK, để kiểm tra PTH N,G,PM, ta phải kết LICH_KT_1

(23)

23

Nội dung

Khái niệm phụ thuộc hàm

Khái niệm dạng chuẩn

Chuẩn bị cài đặt CSDL

(24)

24

Các vấn đề

Cân nhắc thông tin khối lượng liệu và tần suất khai thác:

– Quyết định gộp – tách bảng (Thông thường quan hệ nên đạt DC trở lên, nhiên

chấp nhận dạng chuẩn thấp để truy vấn thuận lợi hơn)

– Lựa chọn khố cho bảng (trường hợp bảng có nhiều khóa, chọn khố làm khố chính, khóa cịn lại dùng ràng buộc unique để cài đặt)

(25)

25

Lựa chọn mục (index)

Khơng có mục, HQT thực truy vấn bằng cách duyệt qua dịng bảng Cài đặt mục cho bảng giúp truy vấn

thông tin nhanh (tìm kiếm B-Tree) Khóa ràng buộc unique : hiển

nhiên mục bảng

(26)

26

Lựa chọn mục (tt)

Nghĩ đến việc cài đặt mục cho trường hợp sau:

– Trường hợp 1: Có nhu cầu truy vấn thường xuyên bảng Q theo số (tập)thuộc tính

Ví dụ: GiaoDich(MãGD, …,NgàyGD)

Có nhu cầu truy xuất thường xuyên giao dịch ngày khoảng thời gian

(27)

27

Lựa chọn mục (tt)

– Trường hợp 2: tập thuộc tính tham gia vào phép kết câu truy vấn xảy thường xuyên

Ví dụ:

HocSinh(STT, Lop, HoTen,…)

KetQua(STTHS, Lop, Mon, Diem)

Thường xuyên có nhu cầu truy vấn: cho biết kết học tập học sinh

select hs.STT, hs.Lop, hs.HoTen, kq.Mon, kq.Diem from HocSinh hs join KetQua kq on hs.STT = kq.STT and hs.Lop = kq.Lop

(28)

28

Lựa chọn mục (tt)

– Trường hợp (tt)

Tổng quát: mơ hình quan hệ, xác định đường truy xuất thường xuyên:

 Từ Q1(có giá trị cụ thể A a) có nhu cầu truy xuất thường xuyên Q2 tương ứng (tìm kiếm Q2 với A = a) : khai báo mục (A) cho Q2

Truy xuất thường xuyên có ngữ nghĩa tương tự phép kết Lưu ý: mục (AB) khác với hai mục (A) (B)

1 Q

2(ABY)

(29)

29

Các loại mục

Có hai loại mục:

– Clustered index

(30)

30

Clustered index

Các xếp vật lý theo mục (thật sự nằm nút cây)

(31)

31

Nonclustered index:

Chỉ mục logic, liệu thật không xếp vật lý theo mục

(32)

32

Nonclustered index (tt):

(33)

33

Nonclustered index (tt)

(34)

34

Lựa chọn mục (tt)

Một số cân nhắc chọn mục:

– Sử dụng nhiều mục tăng tốc độ truy vấn, làm giảm hiệu thao tác thêm/xố/ cập nhật liệu

– Khơng nên tạo mục bảng nhỏ (vài trăm dòng)

(35)

35

Một số cân nhắc chọn mục (tt)

– Các giá trị mục phải phân bố bảng

– Cố gắng dùng mục với số thuộc tính

(chiếm khơng gian cần chi phí trì mục với số thuộc tính lớn)

– Clustered index phải nhỏ (số thuộc tính ít, kích

(36)

36

Nội dung

Khái niệm phụ thuộc hàm

Khái niệm dạng chuẩn

Chuẩn bị cài đặt CSDL

(37)

37

Một số qui định

Một bảng có tối đa 249 nonclustered index (bao gồm index ngầm định khai báo khố mục)

Kích thước tối đa mục (tổng kích thước thuộc tính tham gia vào mục) khơng q 900 bytes

(38)

38

Cú pháp khai báo mục

Create [ Unique ][ Cluster| Nonclustered] Index index_name

(39)

39

Cài đặt mục – Ví dụ

Create nonclustered index idx_STTHS_Lop

(40)

40

Ngày đăng: 04/04/2021, 07:04

Xem thêm:

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w