1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài 5 đại số quan hệ ĐH KHTN

95 960 4

Đ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

Định dạng
Số trang 95
Dung lượng 744,99 KB

Nội dung

Nội dung chi tiết Các thao tác cập nhật trên quan hệ Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 2... Giới thiệu tt Có 2 loại xử lý : - Làm thay đổi dữ liệu cập nhật : thêm mới, xóa và s

Trang 1

Chương 4 Đại số quan hệ

Trang 2

Nội dung chi tiết

 Các thao tác cập nhật trên quan hệ

Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM

2

Trang 3

Giới thiệu

 Xét một số xử lý trên quan hệ KHOA

- Thêm Khoa ‘Hóa học’ vào quan hệ

- Chuyển Khoa CNTT sang phòng B12

- Cho biết tên các khoa đã được thành lập trên 10 năm

Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM

3

Sinh học 11/10/2000

MÃKHOA TÊNKHOA NĂMTL PHÒNG ĐIỆNTHOAI TRƯỞNGKHOA NGÀYNHẬNCHỨC

CNTT Công nghệ thông tin 1995 B11 0838123456 002 20/02/2005

VL Vật lý 1976 B21 0838223223 005 18/09/2003

SH Sinh học 1980 B31 0838454545 004 11/10/2000

B12

HH Hóa học 1980 B41 NULL 007 15/10/2001

Trang 4

Giới thiệu (tt)

 Có 2 loại xử lý :

- Làm thay đổi dữ liệu (cập nhật) : thêm mới, xóa và sửa

- Không làm thay đổi dữ liệu (rút trích) : truy vấn

Ngôn ngữ truy vấn (Query Language – QL) :

- Cho phép người dùng rút trích hay cập nhật dữ liệu được lưu

trong một mô hình dữ liệu

 Ngôn ngữ truy vấn quan hệ :

- Đại số quan hệ (Relational Algebra)

• Biểu diễn câu truy vấn dưới dạng biểu thức, cho phép người dùng biểu diễn các bước thực hiện câu truy vấn

- Phép tính quan hệ (Relational Calculus)

• Biểu diễn kết quả phi thủ tục dựa trên ngôn ngữ logic, cho phép người dùng

diễn đạt cái họ cần hơn là thao tác xử lý nó

- SQL (Structured Query Language)

Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM

4

Trang 5

• (x+y)*z and/or (x+7) / (y-3)

Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM

5

Đại số

Trang 7

Đại số quan hệ (tt)

 Hằng số là thể hiện của quan hệ

 Biểu thức

- Được gọi là câu truy vấn

- Là chuỗi các phép toán đại số quan hệ

- Kết quả trả về là một thể hiện của quan hệ

Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM

7

Trang 8

Nội dung chi tiết

Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM

9

Trang 9

 Kết quả của ∪ , ∩ , và − là một quan hệ có cùng tên

thuộc tính với quan hệ đầu tiên (R)

Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM

10

Trang 10

SINHVIEN TENGV NG_SINH GIOITINH

Trinh 04/05/1986 NuKhang 10/25/1983 NamPhuong 05/03/1958 NuMinh 02/28/1942 NamGIAOVIEN

Chau 12/30/1988 Nu

Bậc n=3 DOM(TENSV) = DOM(TENGV) DOM(NGSINH) = DOM(NG_SINH) DOM(PHAI) = DOM(GIOITINH)

Trang 11

Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM

121

A B

α

R S

αβ

121

β 3

α 2

Trang 12

SINHVIENTENGV NG_SINH GIOITINH

Tung 12/08/1955 NamKhang 10/25/1983 NamNhu 06/20/1951 NuMinh 02/28/1942 NamGIAOVIEN

TENGV NG_SINH GIOITINHTung 12/08/1955 NamKhang 10/25/1983 NamNhu 06/20/1951 NuMinh 02/28/1942 NamGIAOVIEN ∪ SINHVIEN

Hang 07/19/1968 NuHung 09/15/1962 Nam

Trang 13

Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM

121

A B

α

R S

2

Trang 14

Phép giao (tt)

SinhVien

HOTEN DIACHIĐinh Bá Tiến 119 Cống Quỳnh, Tp HCMNguyễn Thanh

Tùng 222 Nguyễn Văn Cừ, Tp HCM

Lê Quỳnh Như 291 Hồ Văn Huê, Tp HCM

Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM

15

GiaoVien

HOTEN DIACHIĐinh Bá Tiến 119 Cống Quỳnh, Tp HCMTrần Thanh Tâm 553 Mai Thị Lựu, Tp HCM

SinhVien ∩ GiaoVien

HOTEN DIACHIĐinh Bá Tiến 119 Cống Quỳnh, Tp HCM

Trang 15

Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM

121

Trang 16

Phép trừ (tt)

SinhVien

HOTEN DIACHIĐinh Bá Tiến 119 Cống Quỳnh, Tp HCMNguyễn Thanh

Tùng 222 Nguyễn Văn Cừ, Tp HCM

Lê Quỳnh Như 291 Hồ Văn Huê, Tp HCM

Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM

17

GiaoVien

HOTEN DIACHIĐinh Bá Tiến 119 Cống Quỳnh, Tp HCMTrần Thanh Tâm 553 Mai Thị Lựu, Tp HCM

SinhVien – GiaoVien

HOTEN DIACHINguyễn Thanh

Tùng 222 Nguyễn Văn Cừ, Tp HCM

Lê Quỳnh Như 291 Hồ Văn Huê, Tp HCM

Trang 17

Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM

Trang 19

Nội dung chi tiết

Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM

20

Trang 20

Phép chọn

 Được dùng để lấy ra các bộ của quan hệ R

 Các bộ được chọn phải thỏa mãn điều kiện chọn P

• Các mệnh đề được nối lại nhờ các phép ∧ , ∨ , ¬

Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM

21

σ P (R)

Trang 21

Phép chọn (tt)

 Kết quả trả về là một quan hệ

- Có cùng danh sách thuộc tính với R

- Có số bộ luôn ít hơn hoặc bằng số bộ của R

C

1512

β 23

D

77310

αβββ

αβ

Trang 23

Nội dung chi tiết

Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM

24

Trang 24

C111

β 40 2

π A,C (R)

A

αβ

C11

β 2

πA,C (R)

Trang 25

Phép chiếu (tt)

 Phép chiếu không có tính giao hoán

Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM

26

π A1, A2, …, An( π A1, A2, …,

Am(R)) = π A1, A2, …, An (R) , với n

≤ m

π X,Y (R) = π X ( π Y (R))

Trang 26

Phép chọn vs Phép chiếu

Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM

27

A1, A2, A3 …, An

i

A1, A2, A3 …, An

Trang 27

 Cho biết họ tên và mức lương của các giáo viên nữ

Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM

28

Ví dụ 1

π HOTEN, LUONG ( σ PHAI=‘Nữ’

(GIAOVIEN))

Trang 28

 Cho biết mã số các giáo viên thuộc bộ môn HTTT hoặc có tham gia đề tài mã 001

Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM

29

Ví dụ 2

π MAGV ( σ MABM=‘HTTT’ (GIAOVIEN)) ∪ π MAGV ( σ MAĐT=‘001’ (THAMGIADT))

Trang 29

 Cho biết mã số các trưởng khoa có chủ nhiệm đề tài

Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM

30

Ví dụ 3

π TRUONGKHOA(KHOA)) ∩ π GVCNĐT (ĐETAI))

Trang 30

 Cho biết tên các công việc bắt đầu trong khoảng từ 01/01/2007 đến 01/08/2007

Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM

31

Ví dụ 4

σ (NGAYBĐ>=‘1/1/2007’ ∧ NGAYBĐ<=‘1/8/2007’)

(CONGVIEC)

Trang 31

Phép chiếu tổng quát

 Mở rộng phép chiếu bằng cách cho phép sử dụng các phép toán số học trong danh sách thuộc tính

Trang 33

Chuỗi các phép toán

 Kết hợp các phép toán đại số quan hệ

- Lồng các biểu thức lại với nhau

Trang 35

ρ X, C, D (R) : Đổi tên thuộc tính B thành X

Đổi tên quan hệ R thành S và thuộc tính B thành X

ρ S(X,C,D)(R)

Trang 36

Ví dụ 5

Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM

37

Tìm mã giáo viên có chủ nhiệm đề tài thuộc chủ đề QLGD

hoặc là trưởng khoa

Trang 37

(GIAOVIEN) KQ ← π MAGV, HOTEN

Trang 38

(GIAOVIEN) KQ ← π MAGV, HOTEN

Trang 39

Nội dung chi tiết

Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM

40

Trang 41

++

+

-

-R × S

ρ (X,C,D) (S)

X

X

ρ Q (S)

Trang 42

+

-

Trang 43

004003002MAGV

Hệ thống thông tin

TENBM MABM TRUONGBM NGAYNHANCHUC

HTTT 002 20/09/2004Công nghệ tri thức CNTT

Mạng máy tính MMT 001 15/05/2005

…002

002

Trang 44

HOTENTrần Trà DươngGV

Trương Nam Sơn

002 001

Trang 45

Ví dụ 6 (tt)

 B1: Tích Cartesian BOMON và GIAOVIEN

 B2: Chọn ra những bộ thỏa TRUONGBM = MAGV

Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM

46

BM_GV ← (GIAOVIEN × BOMON)

KQ ← σ TRUONGBM=MAGV(BM_GV)

Trang 46

Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM

Trang 47

Ví dụ 7

 Cho biết mức lương cao nhất của các giảng viên

Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM

48

HOTEN LUONG …Nguyễn Hoài An 2000 …Trần Trà Hương 2500 …Nguyễn Ngọc Anh 2200 …

Trang 48

Ví dụ 7 (tt)

 B1: Chọn ra những lương không phải là lớn nhất

 B2: Lấy tập hợp lương trừ đi lương trong R3

Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM

49

R1 ← ( π LUONG (GIAOVIEN))

R2 ← σ GIAOVIEN.LUONG < R1.LUONG(GIAOVIEN ×

R1) R3 ← π R2.LUONG (R2)

KQ ← π LUONG (GIAOVIEN) − R3

Trang 49

Ví dụ 8

 Cho biết họ tên các giáo viên cùng bộ môn với giáo viên ‘Trần Trà Hương’

- Quan hệ: GIAOVIEN

- Thuộc tính: HOTEN, MABM

- Điều kiện: HOTEN = ‘Trần Trà Hương’

Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM

50

Giáo viên “Trần Trà Hương”

ở bộ môn nào? Những giáo viên nào thuộc về bộ môn đó?

HOTENMABM

MMTHTTTHTTTVS

Nguyễn Hoài An

Nguyễn Ngọc AnhTrương Nam SơnTrần Trà Hương

… …

HOTENMABM

MMTHTTTHTTTVS

Nguyễn Hoài An

Nguyễn Ngọc AnhTrương Nam SơnTrần Trà Hương

… …

Trang 50

Ví dụ 8 (tt)

 B1: Tìm bộ môn mà giáo viên ‘Trần Trà Hương’ thuộc về

 B2: Lấy ra họ tên các giáo viên cùng bộ môn

Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM

Trang 51

Nội dung chi tiết

- Kết tự nhiên (Natural join)

- Kết có điều kiện tổng quát (Theta join)

- Kết bằng (Equi join)

Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM

53

Trang 52

Phép kết

 Được dùng để tổ hợp 2 bộ có liên quan từ 2 quan

hệ thành 1 bộ

 Ký hiệu R S

- R(A1, A2, …, An) và S(B1, B2, …, Bm)

 Kết quả của phép kết là một quan hệ Q

- Có n + m thuộc tính Q(A1, A2, …, An, B1, B2, …, Bm)

- Mỗi bộ của Q là tổ hợp của 2 bộ trong R và S, thỏa mãn một số điều kiện kết nào đó

Trang 53

Phép kết (tt)

 Phân loại

- Kết theta (theta join) là phép kết có điều kiện

• Ký hiệu R C S

• C gọi là điều kiện kết trên thuộc tính

- Kết bằng (equi join) khi C là điều kiện so sánh bằng

- Kết tự nhiên (natural join)

• Ký hiệu R S hay R ∗ S

• R+ ∩ S+ ≠ ∅

• Kết quả của phép kết bằng bỏ bớt đi 1 cột giống nhau

Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM

55

Trang 54

6

12

A B1

R

4

25

C36

7 8 9

R B<D S

Trang 55

6

12

A B1

R

4

25

C36

7 8 9

R C=D S

A B

1 2

C3

4 5 6

D3

E1

6 2

C D3

S

6

12

A B1

R

4

25

C36

4 5 6

S.C3

D1

6 2

S.C D3

S

6

12

ρ (S.C,D) S

Trang 56

6

12

A B1

R

4

25

C36

7 8 9

A B

1 2

C3

4 5 6

S.C3

D1

6 2

A B

1 2

C3

4 5 6

D12

Trang 58

GIAOVIEN(MAGV, HOTEN, LUONG, PHAI, NGAYSINH,…)

R1(LG) ← π LUONG ( σ HOTEN=‘Nguyễn Hoài An’

(GIAOVIEN))

KQ ← GIAOVIEN LUONG>LG R1

KQ(MAGV, HOTEN, LUONG, PHAI, NGAYSINH,…, LG))

Trang 59

Ví dụ 11

 Với mỗi giáo viên, hãy cho biết thông tin của bộ môn

mà họ đang làm việc

- Quan hệ: GIAOVIEN , BOMON

Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM

Trang 60

Ví dụ 12

 Với mỗi đề tài, cho biết thông tin giáo viên chủ nhiệm đề tài đó

- Quan hệ: ĐETAI , GIAOVIEN

Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM

62

ĐETAI(MAĐT, TENĐT, KINHPHI, …, GVCNĐT) GIAOVIEN(MAGV, HOTEN, LUONG, PHAI, …)

KQ ← ĐETAI GVCNĐT = MAGV GIAOVIEN

KQ(MAĐT, TENĐT, KINHPHI, …, GVCNĐT, MAGV, HOTEN, …)

Trang 61

Ví dụ 13

 Với mỗi khoa cho biết thông tin trưởng khoa

Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM

63

Trang 62

Ví dụ 14

 Cho biết lương cao nhất trong bộ môn ‘HTTT’

Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM

64

Trang 63

Ví dụ 15

 Với mỗi khoa cho biết thông tin trưởng khoa

 Cho biết giáo viên làm việc cùng bộ môn với giáo viên 002

Cho biết các giáo viên của bộ môn ‘Vi sinh’ có

tham gia đề tài 006

Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM

65

Trang 64

Ví dụ 15

Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM

66

Trang 67

Nội dung chi tiết

Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM

69

Trang 68

- Có t là một bộ của T nếu với mọi bộ tS ∈ S, tồn tại bộ

tR ∈ R thỏa 2 điều kiện

R(Z)

Trang 69

111

11

R ÷ S

A B C

α a γ

γ a γ

Trang 70

KQ ← Q1 − Q3

Trang 71

111

11

Q1

Trang 72

b

11

Trang 73

111

11

Trang 75

Ví dụ 17

 Cho biết mã giáo viên tham gia tất cả các đề tài

Cho biết mã giáo viên (T) tham gia tất cả công việc

(S) thuộc đề tài 001

Xác định:

S: CONGVIEC (madt,stt)(detai=001) R: THAMGIADT(magv, madt, stt)

 Cho biết tên đề tài có tất cả giảng viên bộ môn ‘Hệ thống thông tin’ tham gia

Trang 77

Nội dung chi tiết

- Phép kết ngoài (Outer join)

Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM

79

Trang 79

3

241

1

22

SUM(B) = 10 AVG(A) = 1.5 MIN(A) = 1 MAX(B) = 4 COUNT(A) = 4

Trang 80

- A1, A2, …, An là các thuộc tính tính toán trong hàm F

Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM

82

G1, G2, …, Gn ℑ F1(A1), F2(A2), …, Fn(An)(E)

Trang 81

22

C773

10 A ℑ SUM(C)(R)

SUM_C14310

A

αβγ

Trang 82

Ví dụ 19

 Cho biết số lượng giáo viên viên và tổng lương của họ

Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM

84

Trang 84

Ví dụ 21

 Cho biết tên khoa có đông giáo viên nhất

Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM

86

Trang 85

Ví dụ 22

 Cho biết họ tên giáo viên chủ nhiệm nhiều đề tài nhất

Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM

87

Trang 88

Nội dung chi tiết

 Các thao tác cập nhật trên quan hệ

Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM

93

Trang 90

- Phân công giáo viên có mã 001 tham gia công việc 4

của đề tài số 001 với mức phụ cấp 2

Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM

95

Rnew ← Rold ∪ E

THAMGIAĐT ← THAMGIAĐT ∪ (‘001’, ‘001’, 4, 2)

Trang 91

- Xóa phân công tham gia đề tài cho giáo viên 001

Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM

96

Rnew ← Rold − E

THAMGIAĐT ← THAMGIAĐT − σ MAGV=‘001’(THAMGIAĐT)

Trang 92

Ví dụ 25

 Xóa các đề tài thuộc chủ đề ‘NCPT’

Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM

97

Trang 94

NHANVIEN(MANV, HOTEN, PHAI, LUONG,

PHONGBAN(MAPB, TENPHG, TR_PHG , NG_NC) DEAN(MADA, TENDA, MAPB )

CONGVIEC( MADA , STT, TENCV, TG) PHANCONG( MANV, MADA, STT )

Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM

99

Trang 95

Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM

100

Ngày đăng: 10/02/2017, 07:30

TỪ KHÓA LIÊN QUAN

w