Chương 2: Mô hình quan hệ - Cô Nguyễn Thị Thu Hiếu
Gửi bởi: Nguyễn Thị Thu Hiếu 10 tháng 9 2020 lúc 10:04:25 | Được cập nhật: 15 giờ trước (17:49:10) Kiểu file: PDF | Lượt xem: 332 | Lượt Download: 2 | File size: 1.15333 Mb
Nội dung tài liệu
Tải xuống
Link tài liệu:
Các tài liệu liên quan
Có thể bạn quan tâm
Thông tin tài liệu
Môn học
Cơ sở dữ liệu
GV: Nguyễn Thị Thu Hiếu
LOGO
Chương 2:
Mô hình CSDL quan hệ
Khái niệm lý thuyết tập hợp của
quan hệ
Biểu diễn mô hình ER trong mô
hình quan hệ
Đại số quan hệ
Chương 2:
Mô hình CSDL quan hệ
Khái niệm lý thuyết tập hợp
của quan hệ
Biểu diễn mô hình ER trong mô
hình quan hệ
Đại số quan hệ
Chương 2:
Mô hình CSDL quan hệ
Mô hình CSDL quan hệ bao gồm:
Một hệ thống các ký hiệu để mô tả dữ liệu dưới dạng
dòng và cột
Một tập hợp các phép toán thao tác trên dữ liệu
Ưu điểm:
Đơn giản: biểu diễn một dạng duy nhất (quan hệ) mà
tự nhiên và dễ hiểu
Chặt chẽ: khái niệm được hình thức hóa cao
Tính trừu tượng cao: mức quan niệm độc lập với mức
vật lý
Cung cấp ngôn ngữ truy nhập dữ liệu mức cao
nhưng đơn giản, dễ sử dụng (SQL,…)
Khái niệm lý thuyết tập hợp
của quan hệ
Thuộc tính (attribute) là một tính chất
riêng biệt của một đối tượng cần lưu trữ
trong CSDL để phục vụ cho việc khai thác
dữ liệu về đối tượng.
Miền (domain) là một tập các giá trị cho
phép của một thuộc tính, tương tự kiểu dữ
liệu, ký hiệu là D
Thuộc tính Tên: D(tên) = {Hoa, Lan, Huệ}
Thuộc tính Tuổi: D(tuổi) = N
Khái niệm lý thuyết tập hợp
của quan hệ
Quan hệ là một tập con của tích Đề-các
của một hoặc nhiều miền.
Tích Đề-các: Gọi D1, D2,…,Dn là các miền.
Tích đề-các của n miền này ký hiệu là D1x
D2x…x Dn là tập tất cả n bộ (v1, v2,…, vn)
sao cho vi thuộc Di với i=1…n
n=2, D1={0,1}, D2={a,b,c}
D1x D2={(0,a),(0,b),(0,c),(1,a),(1,b),(1,c)}
{(0,a),(0,b),(1,a),(1,b)} là một quan hệ r1, đó là
tập con của tích đề-các D1x D2. Tập rỗng
cũng là một quan hệ.
Khái niệm lý thuyết tập hợp
của quan hệ
Bộ giá trị (tuple) là tập hợp mỗi giá trị
liên quan đến tất cả các thuộc tính của 1
lược đồ quan hệ hay là một phần tử của
một quan hệ
(0,a) là một bộ của quan hệ r1
Bậc (ngôi) của quan hệ là số các miền
trong quan hệ đó
Ví dụ
Miền Tên, Giới tính có các giá trị như sau:
Tên = {Hoa, Hà, Huệ}
Giới tính = {Nam, Nữ}
Tên x Giới tính = { Hoa, Nam
Hoa, Nữ
Hà, Nam
Hà, Nữ
Huệ, Nam
Huệ, Nữ }
Ví dụ
VD một quan hệ
Họ tên
Giới tính
Hoa
Nữ
Hà
Nam
Huệ
Nữ
Một quan hệ được thể hiện dưới dạng một bảng
Mỗi hàng là một bộ (bản ghi)
Mỗi cột là một thành phần (thuộc tính, trường)
Cột được đặt tên gọi là thuộc tính
Giá trị trong cột là giá trị của thuộc tính
Không quan tâm đến thứ tự các thuộc tính trong quan
hệ đó
Khái niệm lý thuyết tập hợp
của quan hệ
Lược đồ quan hệ (relation scheme) gồm
2 yếu tố cấu thành:
Tên quan hệ và Tập các tên thuộc tính của
quan hệ
Tập hợp các ràng buộc để mọi quan hệ trên
LĐQH đó vẫn thỏa mãn
VD: {Tên, Giới tính}, nếu quan hệ đặt tên
SV thì
Có thể viết LĐQH là SV(Tên, Giới tính)
Miền giá trị của Giới tính chỉ là {Nam, Nữ}
Khái niệm lý thuyết tập hợp
của quan hệ
Lược đồ CSDL quan hệ là tập các lược
đồ quan hệ dùng để biểu diễn thông tin
CSDL quan hệ là tập các quan hệ (bảng)
Phân biệt lược đồ quan hệ và quan hệ???
Khái niệm lý thuyết tập hợp
của quan hệ
Lược đồ CSDL quan hệ là tập các lược đồ quan
hệ dùng để biểu diễn thông tin
CSDL quan hệ là tập các quan hệ (bảng)
Phân biệt lược đồ quan hệ và quan hệ
Phân biệt quan hệ và bảng
Giá trị trong mỗi cột là nguyên tố (đơn trị)
Giá trị trong cùng một cột phải thuộc cùng một miền
giá trị
Mỗi dòng là duy nhất (Tính chất tập hợp của quan hệ)
Thứ tự của các cột là không quan trọng. Số lượng
các cột là tương đối ổn định
Thứ tự của các dòng là không quan trọng. Số lượng
các dòng có thể thay đổi
Khóa của quan hệ
Khóa (định danh) của tập thực thể
Là một hoặc một tập các thuộc tính xác định
duy nhất một thực thể trong một tập thực thể
Khóa của quan hệ: Tập các thuộc tính X
của một quan hệ R là một khóa nếu:
Không tồn tại 2 bộ khác nhau nhưng tất cả
các phần tử của X đều giống nhau, và
Không có tập con thực sự nào của X có tính
chất 1
Khóa của quan hệ
Khóa dự tuyển (Candidate key) là khóa của
quan hệ. Một quan hệ có thể có nhiều bộ khóa.
Khóa chính (Primary key) là khóa dự tuyển được
chọn làm khóa của quan hệ. Khóa chính không
thể rỗng (NULL)
Siêu khóa - Super key (Khóa bao hàm –
Composite key) là tập các thuộc tính thỏa mãn
tính chất 1 của khóa của quan hệ
Khóa ngoại (Foreign key – Khóa liên kết): một
hoặc một tập thuộc tính trong quan hệ R1 nhưng
là khóa chính của quan hệ R2
Chương 2:
Mô hình CSDL quan hệ
Khái niệm lý thuyết tập hợp của
quan hệ
Biểu diễn mô hình ER trong mô
hình quan hệ
Đại số quan hệ
Biểu diễn mô hình ER trong
mô hình quan hệ
Mỗi tập thực thể trong mô hình ER được
chuyển thành một lược đồ quan hệ.
Mỗi thuộc tính trong mô hình ER được
chuyển thành thuộc tính trong lược đồ
quan hệ tương ứng.
Mỗi thuộc tính khóa trong mô hình ER
được chuyển thành khóa chính trong lược
đồ quan hệ tương ứng.
Mỗi mối quan hệ trong ER được chuyển
thành khóa ngoại theo quy tắc sau
Biểu diễn mô hình ER trong
mô hình quan hệ (tt)
Mỗi mối quan hệ trong ER được chuyển
thành khóa ngoại theo quy tắc sau:
Mối quan hệ 1-1: Chuyển khóa chính từ quan
hệ 1 sang quan hệ 2 hoặc ngược lại.
Mối quan hệ 1-n: Chuyển khóa chính từ bên
một sang bên nhiều.
Mối quan hệ n-n: Tạo một quan hệ mới có
khóa chính là sự kết hợp các khóa chính của
hai quan hệ có tính kết nối n-n
Bài toán
Trường CĐN Cơ điện Hà Nội cần thiết kế CSDL để quản lý
sinh viên, giáo viên; theo dõi việc học và dạy ở trường.
Mỗi SV có một họ tên, ngày sinh, giới tính và duy nhất một
mã SV.
Có rất nhiều môn học. Mỗi môn học có tên môn, số đơn vị
học trình và có duy nhất một mã môn. Tên của các môn
học không được phép trùng nhau.
Một SV có thể đăng ký nhiều môn học và một môn học có
thể được đăng ký bởi nhiều SV.
Học xong một môn SV sẽ có điểm (hệ số 10) của môn đó.
Mỗi môn học chỉ được dạy bởi một giáo viên.
Mỗi giáo viên có thể dạy nhiều môn học.
Mỗi giáo viên được quản lý bởi mã duy nhất, họ tên, giới
tính. Các giáo viên có các sở thích, số điện thoại khác
nhau.
Mô hình ER
Lược đồ CSDL
SinhVien(#MaSV,TenSV,GioiTinh,NgaySinh)
GiaoVien(#MaGV,TenGV,GioiTinh,
DienThoai,SoThich)
MonHoc(#MaMH,TenMH,DVHT,@MaGV)
KetQua(#@MaSV,#@MaMH,Diem)
Mô hình dữ liệu
Chương 2:
Mô hình CSDL quan hệ
Khái niệm lý thuyết tập hợp của
quan hệ
Biểu diễn mô hình ER trong mô
hình quan hệ
Đại số quan hệ
ĐẠI SỐ QUAN HỆ
Là một mô hình toán học dựa trên lý thuyết tập hợp
Đối tượng xử lý là các quan hệ trong cơ sở dữ liệu
quan hệ
Cho phép sử dụng các phép toán rút trích dữ liệu
từ các quan hệ
Tối ưu hóa quá trình rút trích dữ liệu
Gồm có:
Các phép toán đại số quan hệ
Biểu thức đại số quan hệ
Các phép toán ĐSQH, biểu thức ĐSQH
Có năm phép toán cơ bản:
Chọn ( ) Chọn ra các dòng (bộ) trong quan hệ thỏa điều kiện
chọn.
Chiếu ( ) Chọn ra một số cột.
Tích Descartes ( ) Kết hai quan hệ lại với nhau.
Trừ (
) Chứa các bộ của quan hệ 1 nhưng không nằm trong quan
hệ 2.
Hội ( ) Chứa các bộ của quan hệ 1 và các bộ của quan hệ 2.
Các phép toán khác:
Giao ( ), kết (
), chia ( / hay ), đổi tên (
): là các phép
toán không cơ bản (được suy từ 5 phép toán trên, trừ phép đổi tên).
Biểu thức đại số quan hệ:
Là một biểu thức gồm các phép toán ĐSQH.
Biểu thức ĐSQH được xem như một quan hệ (không có tên)
Kết quả thực hiện các phép toán trên cũng là các quan hệ, do đó có
thể kết hợp giữa các phép toán này để tạo nên các quan hệ mới!
ĐSQH - Phép chọn
Câu hỏi 1: Cho biết các nhân viên nam ?
Biểu diễn cách 1 :
Câu hỏi 1:
Cú pháp :
(Quan hệ)
(Điều kiện 1 điều kiện 2 ….)
(NhanVien)
Phai=‘Nam’
Ngoài ra, có thể biểu diễn cách 2:
Cú pháp :
(Quan hệ: điều kiện chọn)
Câu hỏi 1:
(NhanVien: Phai=‘Nam’)
Kết quả phép chọn
NHANVIEN
NHANVIEN
MANV
HOTEN
NTNS
PHAI
NV001
Nguyễn Tấn Đạt
10/12/1970
Nam
MANV
NV002
Trần Đông Anh
01/08/1981
Nữ
NV003
Lý Phước Mẫn
02/04/1969
Nam
HOTEN
NTNS
PHAI
NV001
Nguyễn Tấn Đạt
10/12/1970
Nam
NV003
Lý Phước Mẫn
02/04/1969
Nam
ĐSQH - Phép chọn
Câu hỏi 2: Cho biết các nhân viên nam sinh sau năm 1975 ?
Biểu diễn cách 1 :
Câu hỏi 2:
(NhanVien)
(Phai=‘Nam’ Year(NTNS)>1975)
Biểu diễn cách 2:
Câu hỏi 2: (NhanVien: Phai=‘Nam’ Year(NTNS)>1975)
Kết quả phép chọn
NHANVIEN
MANV
HOTEN
NTNS
PHAI
NV001
Nguyễn Tấn Đạt
10/12/1970
Nam
NV002
Trần Đông Anh
01/08/1981
Nữ
NV003
Lý Phước Mẫn
02/04/1969
Nam
NHANVIEN
MANV
HOTEN
NTNS
(không có bộ nào thỏa)
PHAI
ĐSQH - Phép chiếu
Câu hỏi 3: Cho biết họ tên nhân viên và giới tính ?
Biểu diễn cách 1 :
Câu hỏi 3 :
Cú pháp :
(Quan hệ)
Cột1, cột2, cột 3, ….
(NhanVien)
HOTEN, PHAI
Ngoài ra, có thể biểu diễn cách 2:
Quan hệ [cột1,cột2,cột3,…]
Cú pháp :
Câu hỏi 3:
NhanVien [HoTen, Phai]
NHANVIEN
NHANVIEN
MANV
HOTEN
NTNS
PHAI
NV001
Nguyễn Tấn Đạt
10/12/1970
Nam
NV002
Trần Đông Anh
01/08/1981
Nữ
NV003
Lý Phước Mẫn
02/04/1969
Nam
Kết quả
phép chiếu
HOTEN
PHAI
Nguyễn Tấn Đạt
Nam
Trần Đông Anh
Nữ
Lý Phước Mẫn
Nam
ĐSQH - Phép chiếu
Câu hỏi 4: Cho biết họ tên và ngày tháng năm sinh của các nhân viên nam?
Biểu diễn cách 1:
Bước 1:
Q
Bước 2:
(NhanVien)
(Phai=‘Nam’)
(Q)
Kết quả phép chọn
(còn gọi là biểu thức
ĐSQH) được đổi tên
thành quan hệ Q
HOTEN, NTNS
Biểu diễn cách 2:
(NhanVien: Phai=‘Nam’) [HoTen, NTNS]
Câu hỏi 4:
NHANVIEN
MANV
HOTEN
NTNS
PHAI
NV001
Nguyễn Tấn Đạt
10/12/1970
Nam
NV002
Trần Đông Anh
01/08/1981
Nữ
NV003
Lý Phước Mẫn
02/04/1969
Nam
Kết quả
phép chiếu
NHANVIEN
HOTEN
NTNS
Nguyễn Tấn Đạt
10/12/1970
Lý Phước Mẫn
02/04/1969
ĐSQH - Phép tích Descartes
Câu hỏi 5: Tính tích Descartes giữa 2 quan hệ nhân viên và phòng ban
Cú pháp :
Quan-hệ-1
Câu hỏi 5 được viết lại:
NHANVIEN
Quan-hệ-2
HOTEN
…Quan-hệ-k
PHONGBAN
NHANVIEN
MANV
PHONGBAN
NTNS
PHAI PHONG
NV001
Nguyễn Tấn Ðạt
10/12/1970
Nam
NC
NV002
Trần Ðông Anh
01/08/1981
Nữ
DH
NV003
Lý Phước Mẫn
02/04/1969
Nam
NC
MAPH
TENPH
TRPH
NC
Nghiên cứu
NV001
DH
Điều hành
NV002
NHANVIEN X PHONGBAN
PHONG
MAPH
Nam
NC
NC
Nghiên cứu
NV001
10/12/1970
Nam
NC
DH
Điều hành
NV002
Trần Đông Anh
01/08/1981
Nữ
DH
NC
Nghiên cứu
NV001
NV002
Trần Đông Anh
01/08/1981
Nữ
DH
DH
Điều hành
NV002
NV003
Lý Phước Mẫn
02/04/1969
Nam
NC
NC
Nghiên cứu
NV001
NV003
Lý Phước Mẫn
02/04/1969
Nam
NC
DH
Điều hành
NV002
MANV
HOTEN
NTNS
NV001
Nguyễn Tấn Đạt
10/12/1970
NV001
Nguyễn Tấn Đạt
NV002
PHAI
TENPH
TRPH
ĐSQH - Phép kết
(Theta-Join)
Câu hỏi 6: Cho biết mã nhân viên, họ tên và tên phòng mà n/v trực thuộc.
- Đặt vấn đề: trở lại ví dụ 5, ta thấy nếu thực hiện phép tích Decartes
NHANVIEN X PHONGBAN thì mỗi nhân viên đều thuộc 2 phòng (vì có
tổng cộng là 2 phòng ban, nếu có 3, 4,…phòng ban thì số dòng cho một
nhân viên trong NHANVIEN X PHONGBAN sẽ là 3, 4,..dòng.
- Thực tế mỗi nhân viên chỉ thuộc duy nhất 1 phòng ban do ràng buộc
khóa ngoại (PHONG), do đó để lấy được giá trị MAPH đúng của mỗi
nhân viên phải có điều kiện chọn:
NHANVIEN.PHONG = PHONGBAN.MAPH
biểu diễn phép chọn theo cách 2
((NHANVIEN X PHONGBAN) : NHANVIEN.PHONG=PHONGBAN.MAPH)
PHONG
MAPH
Nam
NC
NC
Nghiên cứu
NV001
10/12/1970
Nam
NC
DH
Điều hành
NV002
Trần Đông Anh
01/08/1981
Nữ
DH
NC
Nghiên cứu
NV001
NV002
Trần Đông Anh
01/08/1981
Nữ
DH
DH
Điều hành
NV002
NV003
Lý Phước Mẫn
02/04/1969
Nam
NC
NC
Nghiên cứu
NV001
NV003
Lý Phước Mẫn
02/04/1969
Nam
NC
DH
Điều hành
NV002
MANV
HOTEN
NTNS
NV001
Nguyễn Tấn Đạt
10/12/1970
NV001
Nguyễn Tấn Đạt
NV002
PHAI
TENPH
TRPH
ĐSQH - Phép kết
Cách 1:
(Theta-Join)
(NHANVIEN
X PHONGBAN)
NHANVIEN.PHONG=PHONGBAN.MAPH
Cách 2:
(NHANVIEN
PHONGBAN): (NHANVIEN.PHONG=PHONGBAN.MAPH)
* Phép
kết được định nghĩa là phép tích Decartes và có điều kiện
chọn liên quan đến các thuộc tính giữa 2 quan hệ, cú pháp :
Quan-hệ-1
Quan-hệ-2
Điều kiện kết
(Phép kết với đk tổng quát được gọi là -kết, có thể là , =, >, <, >=, <=. Nếu đk kết là phép so sánh = thì gọi là kết bằng)
Câu hỏi 6 viết lại cách 1:
MANV,HOTEN,TENPH (NHANVIEN PHONG=MAPH PHONGBAN)
Câu hỏi 6 viết lại cách 2:
(NHANVIEN PHONG=MAPH PHONGBAN) [MANV,HOTEN,TENPH]
1. ĐSQH - kết bằng, kết tự nhiên
Kết bằng:
NHANVIEN PHONG=MAPH PHONGBAN
( Kết bằng ) equi-join
Kết tự nhiên:
Nếu PHONG trong NHANVIEN được đổi thành MAPH thì ta bỏ đi 1 cột
MAPH thay vì phải để MAPH=MAPH, lúc này gọi là phép kết tự nhiên
(natural-join)
NHANVIEN
MAPH
PHONGBAN
( Kết tự nhiên )
natural-join
Hoặc viết cách khác: NHANVIEN * PHONGBAN
ĐSQH - Phép kết
Câu hỏi 7: Tìm họ tên các trưởng phòng của từng phòng ?
HOTEN, TENPH (PHONGBAN TRPH=MANV NHANVIEN)
Câu hỏi 8: Cho lược đồ CSDL như sau:
TAIXE (MaTX, HoTen, NgaySinh, GioiTinh, DiaChi)
CHUYENDI (SoCD, MaXe, MaTX, NgayDi, NgayVe, ChieuDai, SoNguoi)
Cho biết họ tên tài xế, ngày đi, ngày về của những chuyến đi có chiều dài
>=300km, chở từ12 người trở lên trong mỗi chuyến?
Cách 1:
Q
(CHUYENDI)
(ChieuDai>=300 SoNguoi>=12)
Kết quả: HoTen, NgayDi, NgayVe (Q
MATX
TAIXE)
Cách 2: ((CHUYENDI : ChieuDai>=300 SoNguoi>=12)
TAIXE) [HoTen, NgayDi, NgayVe]
MATX
ĐSQH - Phép kết ngoài
(outer join)
Mở rộng phép kết để tránh mất thông tin
Thực hiện phép kết và sau đó thêm vào
kết quả của phép kết các bộ của quan hệ
mà không phù hợp với các bộ trong quan
hệ kia.
Có 3 loại:
Left outer join
Right outer join
Full outer join
R
R
R
S
S
S
Ví dụ: In ra danh sách tất cả tài xế và số
chuyến đi, mã xe mà tài xế đó lái (nếu
có)
ĐSQH–left outer join
TAIXE
matx
(lấy hết tất cả bộ của
CHUYENDI quan hệ bên trái)
TAIXE
{
Maxe
Hoten
Hoten
SoCD
TX01
Huynh Trong Tao
CD01
TX01
8659
TX01
Huynh Trong Tao
TX01
Huynh Trong Tao
CD03
TX01
8659
TX02
Nguyen Sang
TX02
Nguyen Sang
CD02
TX02
7715
TX03
Le Phuoc Long
TX03
Le Phuoc Long
CD04
TX03
4573
TX04
Nguyen Anh Tuan
TX04
Nguyen Anh Tuan
Null
Null
Null
Bộ của quan hệ TAIXE được thêm
Vào dù không phù hợp với kết quả
của quan hệ CHUYENDI
Matx
MaTX
Matx
CHUYENDI
SoCD
MaTX
MaXe
CD01
TX01
8659
CD02
TX02
7715
CD03
TX01
8659
CD04
TX03
4573
Tương tự right outer join và full outer join (lấy cả 2)
ĐSQH - Phép trừ, phép hội, phép giao
tập hợp
Tất cả các phép toán này đều cần hai quan hệ đầu
vào tương thích khả hợp, nghĩa là chúng phải
thoả:
Cùng số thuộc tính. Ví dụ: R và S đều có 2 thuộc tính.
Các thuộc tính `tương ứng ’ có cùng kiểu.
R
HONV
S
TENNV
HONV
TENNV
Vuong
Quyen
Le
Nhan
Nguyen
Tung
Vuong
Quyen
Bui
Vu
Phép trừ: R
Phép hội: R
S
S
Phép giao: R
S
NHANVIEN (MaNV, HoTen, Phai, Luong,NTNS, Ma_NQL, MaPH)
PHANCONG (MaNV, MaDA, ThoiGian)
ĐSQH - Phép trừ, phép hội, phép giao
tập hợp
Phép trừ: Q = R
S
= { t/ tR tS}
Phép hội: Q = R
S
= { t/ tR tS}
Phép giao: Q = R
S
R
R
HONV
S
= R – (R – S) = { t/tR tS}
S
TENNV
HONV
TENNV
Vuong
Quyen
Le
Nhan
Nguyen
Tung
Vuong
Quyen
Bui
Vu
Kết quả phép trừ Q ={Nguyen Tung}
Kết quả phép hội Q ={Vuong Quyen, Nguyen Tung, Le Nhan, Bui Vu}
Kết quả phép giao Q ={Vuong Quyen}
Lưu ý : Phép hội và phép giao có tính chất giao hoán
ĐSQH - Phép trừ, phép hội, phép giao
tập hợp
Câu hỏi 9: Cho biết nhân viên không làm việc ? (Phép trừ)
Cách 1:
Cách 2:
MANV(NHANVIEN) – MANV(PHANCONG)
(NHANVIEN[MANV]) – (PHANCONG[MANV])
Câu hỏi 10: Cho biết nhân viên được phân công tham gia đề án có mã số
‘TH01’ hoặc đề án có mã số ‘TH02’? (Phép hội)
((PHANCONG:
MADA=‘TH01’)[MANV])
MADA=‘TH02’)[MANV])
((PHANCONG :
Câu hỏi 11: Cho biết nhân viên được phân công tham gia cả 2 đề án
‘TH01’ và đề án ‘TH02’? (Phép giao)
((PHANCONG
: MADA=‘TH01’)[MANV])
MADA=‘TH02’)[MANV])
((PHANCONG :
ĐSQH - Phép chia tập hợp
(/ hay )
Phép chia (R S) cần hai quan hệ đầu vào R, S
thoả:
Tập thuộc tính của R là tập cha của tập thuộc tính S.
Ví dụ: R có m thuộc tính, S có n thuộc tính : n m
Định nghĩa:
R và S là hai quan hệ, R+ và S+ lần lượt là tập
thuộc tính của R và S. Điều kiện S+ là tập
con không bằng của R+. Q là kết quả phép
chia giữa R và S, Q+ = R+ - S+ T
( R)
Q R S {t / s S , (t , s) R}
1
R S
T2 R S (( S T1 ) R)
T T1 T2
ĐSQH - Phép chia tập hợp
(/ hay )
R=PHANCONG
S=DEAN
MANV
MADA
MADA
001
TH001
TH001
001
TH002
TH002
002
TH001
DT001
002
TH002
002
DT001
003
TH001
Hoặc viết Q= PHANCONG
Kết quả Q
Q= PHANCONG/DEAN
MANV
002
Cho biết nhân viên làm việc cho
tất cả các đề án ? (được phân
công tham gia tất cả các đề án)
DEAN
ĐSQH - Phép chia tập hợp
(/ hay )
R=KETQUATHI
Mahv Mamh
Diem
S=MONHOC
Mahv
Mamh
Tenmh
HV01
HV03
HV01
CSDL
7.0
CSDL
Co so du lieu
HV02
CSDL
8.5
CTRR
Cau truc roi rac
HV01
CTRR
8.5
THDC
Tin hoc dai cuong
HV03
CTRR
9.0
HV01
THDC
7.0
HV02
THDC
5.0
HV03
THDC
7.5
HV03
CSDL
6.0
Q=KETQUA/MONHOC
KETQUA KETQUATHI[ Mahv, Mamh]
MONHOC MONHOC[ Mamh]
* Viết cách khác
KETQUATHI[Mahv,Mamh] /MONHOC[Mamh]
ĐSQH – Hàm tính toán trên 1 nhóm và tính toán
trên nhiều nhóm
(gom nhóm – group by)
Các hàm tính toán gồm 5 hàm:
avg(giá-trị), min(giá-trị), max(giá-trị),
sum(giá-trị), count(giá-trị).
Phép toán gom nhóm: (Group by)
G1 ,G2 ,...,Gn
F1 ( A1 ), F2 ( A2 ),...,Fn ( An ) ( E )
E là biểu thức đại số quan hệ
Gi là thuộc tính gom nhóm (nếu không có Gi nào=> không
chia nhóm (1 nhóm), ngược lại (nhiều nhóm) => hàm F sẽ
tính toán trên từng nhóm nhỏ được chia bởi tập thuộc tính
này)
Fi là hàm tính toán
Ai là tên thuộc tính
ĐSQH – Hàm tính toán trên 1 nhóm và tính toán
trên nhiều nhóm
(gom nhóm – group by)
Điểm thi cao nhất, thấp nhất, trung
bình của môn CSDL ?
max( Diem), min( Diem), agv( Diem) Mamh 'CSDL' ( KETQUATHI)
Điểm thi cao nhất, thấp nhất, trung
bình của từng môn ?
Mamh
max( Diem), min( Diem), avg( Diem) ( KETQUATHI )
LOGO