Chương 2 Mô hình cơ sở dữ liệu quan hệ - Pdf 13

Chương 2
Mô hình cơ sở dữ liệu quan hệ
(The Relational Database Model)
 Giới thiệu
Mô hình Cơ sở dữ liệu Quan hệ (gọi tắt là Mô hình Quan hệ) do E.F Codd đề xuất năm 1971
Mô hình Quan hệ thể hiện dữ liệu dưới góc độ logic
Mô hình Quan hệ bao gồm:
• Các khái niệm nhằm mô tả dữ liệu dưới dạng dòng và cột như quan hệ, bộ, thuộc tính, khóa
chính, khoá ngoại,
• Các phép toán thao tác với dữ liệu_ Đại số quan hệ
• Ràng buộc toàn vẹn quan hệ
Các Hệ quản trị CSDL quan hệ (RDBMS) được xây dựng dựa trên lý thuyết mô hình quan hệ.
• Các khái niệm
• Quan hệ / bảng
• Thuộc tính
• Bộ
• Lược đồ quan hệ
• Khóa
 Quan hệ
• Dữ liệu lưu trữ trong CSDL Quan hệ được tổ chức thành các Quan hệ (relation)
• Quan hệ (relation) thể hiện ra như là bảng (table)
• Một quan hệ có :
 Một tên
 Tập hợp các thuộc tính (attribute)
 Tập hợp các bộ (tuple)
 Quan hệ và bảng
Thuật ngữ tương đương :
Quan hệ, bộ, thuộc tính (Relation, tuple, attribute)
Bảng, dòng, cột (Table, row, column)
1
 Thuộc tính

 Khóa
(Key hay candidate key)
• Gọi S là một tập các thuộc tính của lược đồ quan hệ R
 S được gọi là một siêu khóa (superkey) của lược đồ quan hệ R, nếu với hai bộ bất kỳ
trong R thì giá trị của các thuộc tính trong S là khác nhau
 Siêu khoá có ít thuộc tính nhất được gọi là khóa (key) hay khóa dự tuyển (candidate
key)
 Một lược đồ quan hệ có thể có nhiều khóa (khóa dự tuyển)
 Một khóa được chọn để cài đặt gọi là khóa chính (primary key)
 Không chứa giá trị NULL
 Khóa ngoại (foreign key) là thuộc tính của LĐQH này nhưng lại là khóa chính của
LĐQH khác
 Khóa phức (composite key) là khóa có nhiều hơn một thuộc tính
• Thuộc tính khóa và thuộc tính không khóa
 Khóa _ ví dụ 1
Monhoc(Mamon, Tenmon, Sotiet)
rMonhoc
Mamon Tenmon Sotiet
THVP Tin hoc văn phòng 30
LTC Lập trình C 60
CSDL1 Co so du lieu 45
CSDL2 Co so du lieu 45
 Siêu khóa : {Mamon}, {Mamon, Tenmon}, {Mamon, Sotiet}, {Mamon, Tenmon, Sotiet}
 Khóa (khóa dự tuyển, khóa chính) : {Mamon}
 Khóa _ ví dụ 2
 Ketqua( MaSV, MaMH, Makhoa, Diemthi)
rKQ
MASV MAMH MAKHOA DIEMTHI
99001 CSDL CNTT 3.0
99002 CSDL CNTT 8.0

• Phép tích Descartes (Cartesian product)
 3 phép toán suy dẫn*
• Phép kết (Join)
• Phép giao (Intersection)
• Phép chia (Division)
(*Có thể được biểu diễn dưới dạng các phép toán cơ bản)
 Ký hiệu
 Quan hệ r là một thể hiện của lược đồ quan hệ R(A1, A2, …, Am)
 Điều kiện F là 1 biểu thức luận lý có giá trị true/false. F bao gồm:
• Các toán hạng là hằng hoặc tên thuộc tính
• Các phép toán so sánh =, ≠, <, ≤, >, ≥
• Các phép toán luận lý not(¬), and (∧), or (∨)

 Phép chọn (selection)
Phép chọn trên quan hệ r(R) theo điều kiện F, ký hiệu là r(F) hay r:F , cho kết quả là 1 quan hệ bao gồm
các bộ của r thỏa mãn điều kiện F
r(F) = r:F = { t |t ∈r và F(t) = true }
 Phép chọn (selection) – ví dụ 1
4
 Phép chiếu (Projection)
 Cho quan hệ r trên R(A1, A2, ,Am) và tập con các thuộc tính X={Aj1, Aj2, …, Ajn} với j1,
j2, , jn là các số nguyên phân biệt nằm trong khoảng từ 1 đến m
 Phép chiếu r trên tập thuộc tính X cho kết quả là 1 quan hệ
• r[X] = r.X = {t | ∃ u∈ r sao cho t = u[X]}
 Phép chiếu loại bỏ những bộ trùng nhau
 Phép chiếu (Projection) – ví dụ 1
 Phép hợp (union)
 Phép hợp của 2 quan hệ r và s
• r + s = r ∪ s = { t | t ∈ r ∨ t ∈ s}
trong đó: r và s là hai quan hệ khả hợp

s
}
 Ứng dụng :
• Phép tích Descartes là một phép tính vô nghĩa nếu đứng riêng. Tuy nhiên, nếu kết hợp
sau phép toán này một phép chọn phù hợp , kết quả sẽ có nghĩa : kết hợp các bộ có liên
quan từ hai quan hệ.
• Vd : Hiển thị bảng điểm của các sinh viên. Bao gồm MaSV, MaMH, Diem, TenMH
=> Viết biểu thức đại số quan hệ ?
q ← (r x s)
q ( r.MaMH = s.MaMH)
6
 Phép kết (join)
 Thay thế phép (r x s) (F)
với F là biểu thức điều kiện có dạng r.A
θ
θ
s.B
s.B
 Bao gồm :
• Theta join (
θ
θ
-join
-join)
• Equijoin
• Natural join
• Outer join
 Phép kết θ - Theta join
 Cho r và s là hai quan hệ tương ứng trên các lược đồ R(A1, A2, ,Am) và S(B1,B2,…,Bn)
 Gọi Q(A1, A2, , Am, B1, B2, ….,Bn)

chung
 Bài tập
 Customer( Cuscode, cusName, cusPhone, City)
 Branch ( BraCode, BraName, BraPhone, City)
VD 1 : Hiển thị danh sách các khách hàng và các chi nhánh ở cùng một thành phố. Thông tin yêu cầu :
CusCode, CusName, BraCode, BraName, City.
VD 2 : Hiển thị danh sách các khách hàng ở những thành phố chưa có chi nhánh .
 Phép kết ngoài - Outer join
 Bao gồm : Left/Right Outer Join, Full Outer Join
 Phép kết Left Outer Join giữa r và s, cho phép các bộ của r không kết được với các bộ của s
cũng được xuất hiện trong quan hệ kết quả
• Những giá trị tương ứng với các bộ trong quan hệ bị thiếu sẽ được gán trị Null
• Ưu điểm : giữ được thông tin mà lẽ ra bị mất trong phép kết
• Ký hiệu :
• vd2
8
 Phép chia - Division
 Cho quan hệ r định nghĩa trên R với tập thuộc tính A
 Cho quan hệ s định nghĩa trên S với tập thuộc tính B , với B ⊆ A
 Gọi C = A - B , là tập thuộc tính chỉ có trong tập thuộc tính A của R
 Phép chia r ÷ s cho kết quả là một quan hệ với tập thuộc tính C và bao gồm các bộ <a> sao
cho đối với mọi bộ <b> của s , thì tồn tại bộ <a,b> thuộc r
9
 Ví dụ : cho lược đồ CSDL
SV( MaSV, HoSV, TenSV, Phai)
Monhoc( MaMon, TenMon, SoTC )
KetQua( MaSV, MaMon, Diem)
Hiển thị danh sách các Sinh viên (MaSV) đã có kết quả học tập của tất cả các môn học ?
 KetQua[MaSV, MaMon]  Monhoc[MaMon]
 Ràng buộc toàn vẹn

Biểu diễn : ∀rSV ∈ SINHVIEN,
∀t
1
,t
2
∈ rSV
t1.MASV ≠ t2.MASV
Bảng tầm ảnh hưởng
R1 Theâm Söûa Xoùa
rSV + + (MASV) -
 Ràng buộc tòan vẹn tham chiếu
 Ràng buộc khóa ngoại
• Thể hiện: gía trị của khóa ngoại có thể NULL, hoặc phải là một trong những giá trị
của khóa chính của một bảng khác
• Mục tiêu : duy trì tính nhất quán (consistency) giữa các bộ của 2 quan hệ.
• Được thể hiện thông qua 3 quy tắc sau:
10
o Không thể thêm các bản ghi vào bảng quan hệ nếu không có bản ghi tương ứng trong
bảng chính.
o Không thể thay đổi giá trị trong bảng chính nếu làm cho các bản ghi tương ứng trong
bảng quan hệ bị mất tham chiếu
o Không thể xóa các bản ghi trong bảng chính nếu nó được tham chiếu bởi 1 số bản ghi
trong bảng quan hệ
 VD: cho lược đồ CSDL , bao gồm
Sinhvien(MaSV, Hoten, Phai, soCMND)
Tân từ : Mỗi sinh viên có một Mã sinh viên duy nhất, xác định một họ tên, phái và ngày sinh. Mỗi sinh viên
thuộc một khoa
KetQua(MaSV, MaMH, Makhoa, Diemthi)
Tân từ : Mỗi sinh viên, học môn học nào thì sẽ dự thi và có điểm thi của môn học đó
Mô tả R2 “Mỗi sinh viên học mônhọc sẽ thi và có điểm ”

 VD1: cho lược đồ quan hệ
Hoadon(MaHD, MaKH, Điachi, Ngaylap, NgayXuat )
Tân từ : Mỗi hóa đơn có một mã Hóa đơn duy nhất, bán cho một khách hàng có Mã KH, có địa chỉ. Ngày
lập HD phải trước hoặc trùng ngày xuất hàng
Bối cảnh : Hoadon
Biểu diễn:
R
4 :
∀ t ∈ rHoaDon
t.NGAYLAP <= t.NGAYXUAT
Bảng tầm ảnh hưởng :
R
4
Theâm Söûa Xoùa
rHoaDon + + -
 VD2: R5 “Ngày đặt hàng phải trước ngày giao hàng”
Hoadon(MaHD, MaKH, Điachi, NgayLap, NgayGiao, SoDH )
Dathang(SoDH, MaKH, NgayDH)
Bối cảnh: Hoadon, Dathang
Biểu diễn:
R5: ∀ t1 ∈ rDatHang, t2 ∈ rHoaDon
Nếu t1.SODH = t2.SODH
Thì t1.NGAYDH <= t2.NGAYGIAO
Bảng tầm ảnh hưởng :
R
5

Theâm Söûa Xoùa
rDatHang
+ + -

Nghề nghiệp (NNGHIEP).
 GIAOVIEN(MAGV, HOTEN, NTNS, DC)
Mô tả : Mỗi một giáo viên có một mã số (MAGV) duy nhất để phân biệt với các giáo viên khác, có họ
tên (HOTEN), ngày tháng năm sinh (NTNS), địa chỉ (DC).
 LOPHOC(MALOP, TENLOP, MAKH, MAGV, SISODK, LTRG,PHHOC)
Mô tả: Mỗi một lớp học có một mã số (MALH) duy nhất để phân biệt với các lớp học khác, có tên lớp
(TENLOP). Mỗi một lớp học thuộc về một khoá học duy nhất (MAKH) và do một giáo viên (MAGV)
duy nhất phụ trách, và có một lớp trưởng (LTRG). Vào đầu khoá học người ta dự định một sĩ số dự
kiến (SISODK) cho mỗi lớp, và một phòng học (PHHOC) sử dụng trong suốt khoá học.
 BIENLAI(MAKH, MALH, MAHV, SOBL, DIEM, KQUA, XEPLOAI, TIENNOP)
Mô tả : Mỗi học viên ghi danh vào một lớp (MALH) trong khoá (MAKH), sẽ có một số biên lai duy
nhất (SOBL) trong khoá đó , trong đó có ghi nhận số tiền học viên thực nộp (TIENNOP). Nếu học
viên được miễn học phí thì TIENNOP= 0 hoặc Null. Cuối mỗi khoá học, mỗi học viên sẽ có một kết
quả đánh giá, bao gồm: điểm kiểm tra (DIEM), xếp loại (XEPLOAI) và kết quả đậu rớt (KQUA).
Điểm kiểm tra được tính trên thang 10, xếp loại có 4 mức: Giỏi, Khá, TB, Yếu.
YÊU CẦU : Xác định khóa chính, khóa ngoại và các ràng buộc tòan vẹn theo tân từ?
13
14


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status