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

Bài giảng Cơ sở dữ liệu: Bài 4 - ThS. Vũ Văn Định

28 15 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

Định dạng
Số trang 28
Dung lượng 628,37 KB

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

Nội dung

Chương 4 trang bị cho người học một số kiến thức về đại số quan hệ; phép toán tập hợp; phép toán quan hệ; tập đầy đủ các phép toán của đại số quan hệ; thao tác cập nhật trên quan hệ và một số nội dung khác.

Trang 1

Bài 4 Đại số quan hệ

I Đại số quan hệ

Đại số quan hệ là cơ sở của một ngôn ngữ bậc cao để thao tác trên các quan hệ Đại số quan hệ gồm 8 phép toán cơ bản Bằng các phép toán này, ta có thể trích

dữ liệu từ một hay nhiều quan hệ để tạo ra các quan hệ mới.

Trang 2

II Các phép toán lý thuyết tập hợp

-Gọi r là quan hệ trên tập thuộc tính R={A1, ,An}.

Giả thiết rằng r là tập hữu hạn các bộ.

DOM(Ai) = DOM(Bi) (1in)

nghĩa:

Trang 3

a2 b2 c1

Trang 5

3 Phép trừ

Hiệu của hai quan hệ r và s khả hợp, kí hiệu là r - s

là tập các bộ thuộc r nhưng không thuộc s

Chú ý : phép giao của hai quan hệ có thể biểu diễn qua phéptrừ:

r  s = r- ( r - s )

Trang 6

4 Tích Đề -Các

- Gọi r là quan hệ xác định trên tập thuộc tính { A1, A2, ,An} và s làquan hệ xác định trên tập thuộc tính { B1, B2, ,Bm} Tích Đề - Các

r x s của r và s là tập ( n + m ) - bộ với n thành phần đầu có dạng

một bộ thuộc r và m thành phần sau có dạng của một bộ thuộc s

a2 b2 c2 d e fa2 b2 c2 d1 e1 f1

Trang 7

5 Phép chiếu

Phép chiếu trên một quan hệ thực chất là loại bỏ đimột số thuộc tính và giữ lại những thuộc tính còn lại củaquan hệ đó Dạng tổng quát :  < ds_thuộc tính> (< tên quan hệ >)

  là kí hiệu phép chiếu

< ds_thuộc tính> : danh sách các thuộc tính được lấy ra

 Nếu < ds_thuộc tính > chỉ có những thuộc tính khôngkhoá thì phép chiếu sẽ tự bỏ đi những bộ lặp

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

Nếu <ds1 > < ds2> thì

<ds1>( <ds2>(R)) = <ds1>(R)

Trang 8

Ví dụ :

Cho quan hệ SV ( Mã SV, Họ tên, Ngày sinh, điểm) như sau :

10 004

7 003

9 002

8 001

Điểm

Mã SV

Thì phép chiếu Mã Sv, Điểm (SV) sẽ cho ta một quan hệ mới chỉgồm hai thuộc tính là Mã SV và Điểm

10 21/6/85

Hồng Vân 004

7 25/3/87

Xuân Mai 003

9 13/4/85

Ngọc Bích 002

8 23/4/86

Trần Anh 001

Điểm Ngày sinh

Họ tên

Mã SV

DIEM( Mã SV, Điểm ) :

Trang 9

6 Phép chọn

Phép chọn dùng để trích chọn một tập con trong mộtquan hệ, các bộ được trích chọn phải thoả mãn điều kiện chọn ( Phép chọn trích ra các hàng trong quan hệ)

Dạng tổng quát :  < điều kiện > (< Tên quan hệ >)

  là kí hiệu phép chọn

Kết quả thu được từ phép chọn là một quan hệ có danh sáchthuộc tính được chỉ ra trong Tên quan hệ

Điều kiện : là các biểu thức điều kiện cần thoả mãn Các

biểu thức này được nối với nhau bằng các phép: ( phủ định ),

 (giao),  (hợp)

Phép chọn có tính giao hoán

Trang 10

7 Phép kết nối

Phép kết nối : Dùng để kết hợp hai bộ có liên quan từ hai quan hệ thành một bộ.

Trước hết ta làm quen với khái niệm xếp cạnh nhau:

Cho bộ d =( d1, d2, ,dm)bộ e= (e1, e2, ,

em) Phép xếp cạnh nhau được định nghĩa qua :

d e = ( d1, d2, , dm,e1, e2, ,em).

Trang 11

Gọi là một trong các phép so sánh Phép kết nội

được định nghĩa:

Phép kết nối của quan hệ r đối với thuộc tính A với quan hệ s đối với thuộc tính B được định nghĩa qua.

A  B

Trang 12

 Kết quả của phép kết nối là một quan hệ Q( n+m) thuộc tính, mỗi bộ trong Q thoả mãn điều kiện kết nối.

 Các bộ có giá trị rỗng tại thuộc tính kết nối

thì không xuất hiện trong kết quả của phép kết.

 Bản chất của phép kết nối là phép lấy tích

Đề - Các của hai quan hệ và chọn ra các bộ thoả mãn điều kiện kết.

Trang 13

Ví dụ :

r ( A B C ) s( C D E ) r  s = ( A B C C D E)

a1 1 1 1 d1 e1 a1 1 1 1 d1 e1a2 2 1 2 d2 e2 a2 2 1 1 d1 e1a1 2 2 3 d3 e3 a2 2 1 2 d2 e2

a1 2 2 1 d1 e1a1 2 2 2 d2 e2

B≥ C

Trang 14

 Nếu điều kiện kết nối chứa phép so sánh (=) bằng thì

hai quan hệ và một trong hai thuộc tính đó bị loại bỏ, thì phép kết nối được gọi là kết nối tự nhiên Kí hiệu là " * ".

r(ABC) * s(CDE) = { t[ABCDE]/ t[ABC]  r và t[CDE ] s}

VD : với hai quan hệ r và s nêu trên thì :

r(ABC) * s(CDE) = ( A B C D E)

a1 1 1 d1 e1 a2 2 1 d1 e1 a1 2 2 d2 e2

Trang 15

8 Phép chia

n > m, s   ). Phép chia r s là tập tất cả các ( n-m

Ví dụ :

r ( A B C D ) s ( C D) r s = ( A B)

a b c d c d a b

a b e f e f e d

b c e f

e d c d

e d e f

c a d e

Trang 16

Cơ sở dữ liệu minh hoạ

Cho một cơ sở dữ liệu Thực tập gồm 3 quan hệ sau đây:

SV( SV#, HT, NS, QUE, HL)DT(DT#, TDT, CN, KP)

SD(SV#, DT#, NTT, KM, KQ)

-Quan hệ SV chứa thông tin về các sinh viên trong một lớpcủa một trường đại học Trong đó:

SV# : mã số sinh viên

HT : Họ và tên sinh viên

NS : Năm sinh của sinh viênQUE: quê quán

HL : Học lực thể hiện qua điểm trung bình

Trang 17

- Quan hệ DT chứa thông tin về đề tài nhà trường quản lý Trong đó :

DT# : mã số đề tàiTDT : tên đề tài

CN : họ và tên chủ nhiệm đề tài

KP : Kinh phí cấp cho đề tài ( triệu đồng)

- Quan hệ SD chứa thông tin về tình hình thực tập của cácsinh viên theo các đề tài Trong đó :

NTT : nơi thực tập

KM : khoảng cách từ nơi thực tập đến trường

KQ : kết quả thực tập theo đề tài đã chọn

* Giả thiết là mỗi sinh viên có thể tham gia nhiều đề tài, mỗi đềtài sinh viên đó thực tập tại một địa điểm

Trang 20

3 Cho thông tin về các đề tài có sinh viên thực tập.

4 Cho biết mã của các đề tài không có sinh viên nào tham gia

5 Cho danh sách các tỉnh có sinh viên đến thực tập

6 Cho thông tin về việc thực tập tại Hải Phòng của sinh viên

7 Cho biết mã của những đề tài có kinh phí lớn hơn 1 triệu và

nhỏ hơn 2 triệu

8 Cho biết mã của sinh viên dưới 20 tuổi, thực tập khá ( có

điểm kết quả thực tập >=6.5)

Trang 21

III Các phép toán quan hệ bổ sung

Các hàm kết tập: Có nhiều truy vấn mà đại số quan hệ không thể thực hiện được

như: đưa ra tổng lương, tìm lương lớn nhất ,v.v

Trang 22

Các phép gộp nhóm: Nhóm các bộ trong

một quan hệ theo một giá trị của một số các thuộc tính và sau đó áp dụng các hàm kết tập trên từng nhóm một cách độc lập

sau:

< các tt cơ sở để gộp nhóm> < ds các hàm kết tập > (r)

Trong đó : - là kí hiệu của phép gộp nhóm

- < các tt cơ sở để gộp nhóm >: là danh sách các thuộc tính của quan hệ.

- < ds hàm kết tập >: là danh sách các cặp (

<hàm>< thuộc tính>

Trang 23

Kết quả của phép gộp nhóm là một

quan hệ Ngoài các thuộc tính cơ sở để gộp nhóm, quan hệ kết quả còn có các thuộc tính tương ứng với các phần tử

Trang 24

Ví dụ : Giả sử có quan hệ NHAN_VIEN

MA_NV HO_TEN NG_SINH MA_P LUONG

Trang 25

MA_PHONG COUNT MA_NV, AVERAGE LUONG (NHAN_VIEN)

Trang 26

MA_NV HO_TEN NG_SINH GIOI_TINH MA_P LUONG

PHONG

Trang 28

Yêu cầu :

1 Tìm tên dự án có mã là D20

2.Cho biết tên các thành phố có dự án thực hiện

3 Cho biết tên phòng thực hiện dự án có mã là D20

4 Cho biết tên và lương của những nhân viên thực hiện dự án D8 vàlàm việc trên 20 giờ

5 Cho biết họ tên và lương của những nhân viên thuộc phòng "

Nghiên cứu & PT"

6 Đếm số nhân viên trong công ty và tính mức lương trung bình củacác nhân viên

7 Đếm số dự án mà công ty đã thực hiện

Ngày đăng: 21/05/2021, 12:18

TỪ KHÓA LIÊN QUAN

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