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 này bao gồm: Các khái n
Trang 2Giớ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 này 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ệ.
Trang 4Quan 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), có tên và kiểu dữ liệu
Tập hợp các bộ (tuple), có thể thay đổi theo thời gian
Trang 5Thuật ngữ tương đương :
• Quan hệ, bộ, thuộc tính (Relation, tuple, attribute)
• Bảng, dòng, cột (Table, row, column)
Trang 6Thuộc tính
Một thuộc tính bao gồm :
Tên thuộc tính
Tên phân biệt
Giúp diễn giải ý nghĩa thuộc tính (thuộc tính của thực thể, hay mối kết hợp)
Kiểu dữ liệu thuộc tính
Số nguyên, số thực, văn bản, logic,…
Miền giá trị xác định
Có thể bị áp đặt bởi qui tắc nghiệp vụ, hay ràng buộc dữ liệu
Có thể NULL
Trang 7Bộ và quan hệ
Mỗi bộ (dòng) là một tổ hợp các giá trị tương ứng với các
thuộc tính của quan hệ
mô tả về một thực thể , hay một mối kết hợp có trong thế giới thực
Một tập các bộ xác định tại một thời điểm, gọi là một
thể hiện của lược đồ quan hệ (hay quan hệ)
Trang 8Lược đồ Quan hệ Lược đồ quan hệ - relation schema
Mô tả cấu trúc của quan hệ
Các thuộc tính và Mối liên hệ giữa các thuộc tính
Mỗi lược đồ quan hệ luôn kèm một tân từ để diễn tả ý nghĩa của
nó
Vd, tân từ: Mỗi Sinh viên thuộc một khoa, học một môn học thì
có kết quả thi môn học đó.
Trang 9(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
Trang 10Siêu khóa : {Mamon}, {Mamon, Tenmon}, {Mamon, Sotiet},
{Mamon, Tenmon, Sotiet}
Khóa (khóa dự tuyển, khóa chính) : {Mamon}
Trang 11Khóa _ ví dụ 2
Ketqua(MaSV, MaMH, Makhoa, Diemthi)
rKQ MASV MAMH MAKHOA DIEMTHI
99001 CSDL CNTT 3.0
99002 CSDL CNTT 8.0
99001 THVP CNTT 6.0
99005 THVP AV 5.0
Siêu khóa: {MaSV, MaMH}, {MaSV,MaMH,MaKhoa},…
Khóa (khóa dự tuyển, khóa chính , khóa phức): {MaSV, MaMH}
Trang 12Khóa _ ví dụ 3
Sinhvien(MaSV, Hoten, Phai, soCMND)
12
Siêu khóa : {MaSV} , {MaSV, Hoten}, … ,
{soCMND} , {soCMND, Hoten},…
Khóa (khóa dự tuyển): {MaSV} , {soCMND}
Khóa chính : {MaSV}
Trang 13Đại số quan hệ
Khái niệm
Các phép toán đại số quan hệ
Ví dụ
Trang 15Phép tích tích Descartes Descartes
Cho quan hệ r trên lược đồ R(A1, A2, ,Am) và s trên
lược đồ S(B1,B2,…,Bn)
Nếu R và S có các thuộc tính trùng tên, thì phải đổi tên.
Phép tích Descartes của r và s là 1 quan hệ trên lược đồ
T(A1, A2, , Am, B1, B2, ….,Bn)
r x s = { t | tr r và ts s
với t[A1, A2, , Am] = tr
và t[B1, B2, ….,Bn] = ts }
Trang 1699002 FOX 2.0 CSDL COSO DULIEU
99003 MANG 8.0 CSDL COSO DULIEU
Trang 17Phép tích tích Descartes Descartes
ứ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ệ ?
(r x s) ( r.MaMH = s.MaMH)
Trang 18Ràng buộc toàn vẹn
Ràng buộc tòan vẹn là gì
Các loại ràng buộc toàn vẹn
Biểu diễn ràng buộc toàn vẹn
Trang 19Khái niệm
Ràng buộc toàn vẹn (integrity constraint) là qui tắc mà tất cả các dữ liệu trong CSDL phải thỏa mãn
Nguồn gốc : xuất phát từ các qui tắc nghiệp vụ trong thế giới thực
và những đặc tính của mô hình quan hệ
đảm bảo dữ liệu phản ánh đúng thế giới thực, đảm bảo những đặc trưng của mô hình quan hệ
Các dạng :
Ràng buộc toàn vẹn thực thể (ràng buộc khóa chính)_ Entity
integrity
Ràng buộc toàn vẹn tham chiếu (ràng buộc phụ thuộc tồn tại /
ràng buộc khóa ngọai)_ Referential integrity
Ràng buộc toàn vẹn miền giá trị _ Domain integrity
Ràng buộc toàn vẹn do người dùng định nghĩa _ User-defined
Trang 21Ràng buộc toàn vẹn thực thể
Ràng buộc khóa chính
Thể hiện: giá trị của khóa chính là duy nhất và NOT NULL
Mục tiêu: mỗi dòng sẽ được nhận diện duy nhất
VD: cho Sinhvien(MaSV, Hoten, Phai, Ngaysinh)
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ô tả R1 ”Mỗi sinh viên có một Mã sinh viên duy nhất” như sau
Trang 22Rà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:
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.
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
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ệ
Trang 23Ràng buộc tòan vẹn tham chiếu
VD: cho lược đồ CSDL , bao gồm
Khoa(Makhoa, Tenkhoa)
Tân từ : Mỗi khoa có một mã khoa duy nhất, một tên khoa
Sinhvien(MaSV, Hoten, Phai, Ngaysinh, Makhoa)
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
Mô tả R2 “Mỗi sinh viên thuộc một khoa” như sau
Bối cảnh: Khoa, Sinhvien
Biểu diễn : rSV SINHVIEN , rKhoa KHOA
rSV[MAKHOA] rKHOA[MAKHOA]
Bảng tầm ảnh hưởng :
Trang 24-Ràng buộc toàn vẹn miền giá trị
Thể hiện : giá trị của một thuộc tính phải nằm trong một miền giátrị xác định
Mục tiêu : tuân thủ các qui tắc nghiệp vụ trong thế giới thực
VD: Hocbong(MaSV, Namhoc, Xeploai, Sotien)
Tân từ : Hàng năm, nếu đạt kết quả học tập lọai khá trở lên thì sinhviên được học bổng Học bổng có 2 mức: loại khá được 500 , loạigiỏi được 700
Mô tả R3 “học bổng có 2 mức: loại khá được 500 , loại giỏi được 700
Trang 25Ràng buộc do user định nghĩa
Bao gồm các ràng buộc không thuộc các loại trên , như :
ràng buộc liên bộ / liên thuộc tính trong một quan hệ;
ràng buộc liên thuộc tính giữa các quan hệ;
ràng buộc do thuộc tính tính toán,…
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
Trang 26Ràng buộc do user định nghĩa
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
Trang 27Ràng buộc do user định nghĩa
VD3 : R6 “ Mỗi lớp học chỉ có tối đa 100 sinh viên”
Sinhvien(MaSV, Hoten, Phai, Malop)
Lop(Malop, Tenlop, Siso)