IT004, Chương 3: Đại số quan hệ

0.0(0)
Studied by 0 people
call kaiCall Kai
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/31

encourage image

There's no tags or description

Looks like no tags are added yet.

32 Terms

1
New cards

Đại số quan hệ là gì?

Mô hình toán học dựa trên lý thuyết tập hợp; đối tượng xử lý là quan hệ; dùng để rút trích dữ liệu và tối ưu hóa quá trình rút trích.

2
New cards

Biểu thức đại số quan hệ là gì? Vì sao lồng ghép được?

Biểu thức gồm các phép toán trên quan hệ; kết quả luôn là một quan hệ nên có thể kết hợp các phép toán để tạo quan hệ mới.

3
New cards

5 phép toán cơ bản của ĐSQH?

Chọn (σ), chiếu (π), tích Descartes (×), trừ (−), hợp (∪).

4
New cards

Các phép «không cơ bản»?

Giao (∩), kết (⋈), chia (÷), đổi tên (←): suy ra từ 5 phép cơ bản (trừ phép đổi tên).

5
New cards

Phép chọn σ làm gì? Cú pháp?

Chọn các dòng (bộ) thỏa điều kiện: σ<đk>(R). Điều kiện nối bằng ¬, ∧, ∨.

6
New cards

Tính chất của phép chọn?

Có tính giao hoán: σ<đk1>(σ<đk2>(R)) = σ<đk2>(σ<đk1>(R)).

7
New cards

Phép chiếu π làm gì? Cú pháp?

Chọn ra một số cột: π(R) hoặc R[cột1, cột2,…]; kết quả theo thứ tự trong danh sách.

8
New cards

Tính chất của phép chiếu?

Không giao hoán; nếu chỉ chiếu thuộc tính không khóa thì loại bộ lặp.

9
New cards

Thứ tự nên dùng khi lọc dòng và cột?

Chọn (σ) trước, chiếu (π) sau: chiếu mất thuộc tính thì không chọn theo thuộc tính đó được.

10
New cards

Tích Descartes R × S là gì?

Tập các bộ ghép mỗi bộ của R với mỗi bộ của S: n + m thuộc tính, |R|×|S| bộ.

11
New cards

Phép kết (⋈) là gì?

Tích Descartes + điều kiện kết: R ⋈ S = σ<đk>(R × S); ghép các cặp bộ thỏa điều kiện kết.

12
New cards

Kết theta (θ-join) là gì?

Kết với điều kiện so sánh tổng quát, θ ∈ {«≠, =, >, <, ≥, ≤»}.

VD: NHANVIEN ⋈ PHONG=MAPH PHONGBAN.

13
New cards

Kết bằng (equi-join) là gì?

Kết theta với θ là phép =; nếu hai cột trùng nghĩa thì có thể bỏ bớt một cột.

14
New cards

Kết tự nhiên (natural join) là gì?

Kết bằng trên các thuộc tính cùng tên và loại cột trùng; viết R ⋈ S hoặc R * S.

15
New cards

Kết ngoài (outer join) là gì?

Mở rộng phép kết để không mất thông tin: giữ bộ không phù hợp và điền null.

16
New cards

Ba loại kết ngoài?

Left: giữ bộ bên trái

Right: giữ bộ bên phải

Full: giữ cả hai.

17
New cards

Khi nào dùng kết ngoài trái? Ví dụ?

Khi cần liệt kê «tất cả» bộ bên trái kể cả chưa có bộ phù hợp.

VD TAIXE ⟕ CHUYENDI giữ TX04 (SoCD, MaXe = null).

18
New cards

Điều kiện tương thích khả hợp?

Hai lược đồ cùng bậc (n = m) và DOM(Ai) = DOM(Bi) cho mọi cặp thuộc tính tương ứng; cần cho hợp, trừ, giao.

19
New cards

Phép trừ R − S?

{ t | t ∈ R ∧ t ∉ S }; không giao hoán. Dùng cho yêu cầu "không / chưa".

20
New cards

Phép hợp R ∪ S?

{ t | t ∈ R ∨ t ∈ S }; giao hoán. Dùng cho yêu cầu "hoặc" giữa hai tập.

21
New cards

Phép giao R ∩ S?

{ t | t ∈ R ∧ t ∈ S } = R − (R − S); giao hoán. Dùng cho yêu cầu "cả hai".

22
New cards

Vì sao σ MADA='A' ∧ MADA='B' không tìm được nhân viên tham gia cả hai đề án?

Một bộ chỉ có một MADA nên điều kiện luôn sai → rỗng. Phải dùng phép giao hai tập MANV.

23
New cards

Phép chia R ÷ S cần điều kiện gì?

Thuộc tính của S là tập con không bằng (khác rỗng) của thuộc tính R; kết quả có thuộc tính Q+ = R+ − S+.

24
New cards

Định nghĩa phép chia?

Q = R ÷ S = { t | ∀ s ∈ S, (t, s) ∈ R }: các t ghép với mọi bộ của S đều có trong R.

25
New cards

Các bước tính phép chia?

T1 ← π(R+−S+)(R

T2 ← π(R+−S+)((S × T1) − R)

T ← T1 − T2

26
New cards

Phép chia dùng cho yêu cầu nào? Ví dụ?

Yêu cầu "tất cả".

VD: PHANCONG ÷ DEAN[MADA] → nhân viên làm tất cả đề án (002).

27
New cards

Trước khi chia cần chuẩn bị gì?

Chiếu bỏ thuộc tính thừa để thuộc tính S là tập con của R: KETQUATHI[Mahv, Mamh] ÷ MONHOC[Mamh].

28
New cards

Các hàm tính toán trong ĐSQH?

avg, min, max, sum, count.

29
New cards

Phép gom nhóm có dạng nào?

G1,…,Gn «ℑ» F1(A1),…,Fn(An) (E)

Gi là thuộc tính gom nhóm

Fi là hàm, Ai là thuộc tính

E là biểu thức ĐSQH.

30
New cards

Gom nhóm không có Gi hoặc có Gi khác nhau thế nào?

Không có Gi: cả quan hệ là một nhóm.

Có Gi: hàm tính trên từng nhóm nhỏ.

VD: Mamh ℑ max(Diem), min(Diem), avg(Diem) (KETQUATHI).

31
New cards

Bảng «"dịch"» từ khóa đề → phép toán?

"thỏa" → σ

"cho biết cột" → π

nhiều bảng → ⋈

"hoặc" → ∪

"cả hai" → ∩

"không/chưa" → −

"tất cả" → ÷

"tổng, trung bình, đếm" → gom nhóm

32
New cards

Hai cách biểu diễn phép chọn/chiếu?

Cách 1: σ<đk>(R), π(R)

Cách 2: (R : điều kiện) và R[cột1, cột2]

kết quả trung gian có thể đổi tên (Q ← …).