CƠ SỞ DỮ LIỆU
GV: ThS. Lương Thị Ngọc Khánh
Email:
Web: it.tdt.edu.vn/~ltnkhanh
Chương II
MÔ HÌNH DỮ LIỆU QUAN HỆ
• Các khái niệm
• Các ràng buộc mô hình quan hệ
và lược đồ CSDL quan hệ
• Ngôn ngữ thao tác dữ liệu
SQL/DML cơ bản
Các định nghĩa - Mở đầu
maSoSV
hoTenSV
ngaySinh
diemTB
mucHBg
Ti05020
Lê Ngọc Phúc
23-06-1987
7.8
120.000
– maSoSV, hoTenSV, ngaySinh, mucHBg được gọi là các
thuộc tính,
– {9.0, 8.2, 8.5, 7.8…} chính là miền giá trị của thuộc tính
diemTB.
– Một dòng trong bảng:
Ti05020 Lê Ngọc Phúc
06-12-1988 9.0
240.000
đgl một bộ. Bảng có tên là HOCBONG đgl một quan hệ.
01-2014
504009 – Mô hình dữ liệu quan hệ
3
Các định nghĩa (tt)
• Mô hình CSDL quan hệ gọi tắt là mô hình
quan hệ (E.F Codd đề xuất 1971), 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 như quan hệ, bộ,
thuộc tính, khóa chính, khóa ngoại,…
– Một tập hợp các phép toán trên dữ liệu như
• Thường dùng các chữ cái hoa A, B, C để
biểu diễn các thuộc tính, hoặc A1, …, An
để biểu diễn một số lượng lớn các thuộc
tính.
01-2014
504009 – Mô hình dữ liệu quan hệ
6
Lược đồ quan hệ (Relation)
• Là tập tất cả các thuộc tính cần quản lý
của một đối tượng cùng với những mối
liên hệ giữa chúng.
• ký hiệu R(U), hoặc R(A1,…,An).
• Ví dụ:
SV(maSoSV, hoTenSV, ngaySinh, diemTB,
mucHbg)
01-2014
504009 – Mô hình dữ liệu quan hệ
7
Lược đồ quan hệ (Relation) (tt)
- Tân từ của LĐQH:
9
Lược đồ CSDL
• Lược đồ CSDL:
– Nhiều LĐQH cùng nằm trong một hệ thống
quản lý cùng với mối quan hệ giữa chúng với
nhau.
• Ví dụ lược đồ CSDL quản lý điểm :
SV(maSV, hotenSV, ngaySinh, maLop, tinh,
hocBong)
Lop(maLop, tenLop, siSo, maKhoa)
Khoa(maKhoa, tenKhoa, soCB)
MonHoc(maMH, tenMH, soTiet)
KetQua(maSV, maMH, diemThi)
01-2014
504009 – Mô hình dữ liệu quan hệ
10
Quan hệ (relation)
• Là sự thể hiện của LĐQH ở một thời điểm.
• Cụ thể, một quan hệ r trên LĐQH R là một
tập con của tích Descartes (Đề các) của
các miền giá trị D(Ai) với i = 1…n.
r D(A1) x D(A2) x … x D(An)
01-2014
504009 – Mô hình dữ liệu quan hệ
13
Bộ (Tupple)
ma
hoten
nsinh
donvi
luong
phucap
thuong
01
Minh
1965
K.CNTT
100
90
04
Kiên
1956
K. hóa
1.900
150
75
05
Đại
1958
K. văn
3.000
60
• Nhận xét:
– Cho R (U), nếu SK là siêu khóa của R thì SK
U
– Dễ thấy một quan hệ có ít nhất một siêu khóa,
đó là tập U gồm tất cả các thuộc tính của
quan hệ.
– Mọi tập con của U chứa một siêu khóa cũng
là siêu khóa.
01-2014
504009 – Mô hình dữ liệu quan hệ
16
Khóa của LĐQH
• Khóa của lược đồ quan hệ là một siêu
khóa của lược đồ này sao cho mọi tập con
thực sự của nó không là siêu khóa.
khóa là siêu khóa tối thiểu (tối tiểu)
• Ví dụ:
– Lược đồ quan hệ SV, thuộc tính maSV là
khóa.
• Khóa chính (primary key)
– Khóa chính là một khóa tối thiểu được người
phân tích chọn để cài đặt. (ký hiệu gạch chân)
01-2014
một khóa nào gọi là thuộc tính không
khóa.
01-2014
504009 – Mô hình dữ liệu quan hệ
19
Ràng buộc toàn vẹn
CSDL mẫu
• CSDL HSSINHVIEN
– SINH_VIEN(maSV, hotenSV, nam, ngSinh,
maKhoa)
- KHOA(maKhoa, tenKhoa, soCB)
– MON_HOC(maMH,
tenMH,
soTietLT,
soTietTH)
– KET_QUA(maSV, maMH, lanThi, diem)
01-2014
504009 – Mô hình dữ liệu quan hệ
21
23
Ví dụ
• Ví dụ:
Trong CSDL HSSINHVIEN ta có một số RBTV như sau:
• C1: Mỗi sinh viên có một mã số riêng biệt, không
trùng với bất kỳ sinh viên nào khác.
• C2: Mỗi sinh viên chỉ được thi tối đa hai lần cho
một môn học.
• C3: Mỗi sinh viên phải thuộc về một khoa nào đó.
01-2014
504009 – Mô hình dữ liệu quan hệ
24
Khái niệm ràng buộc toàn vẹn
• Công việc kiểm tra RBTV có thể được tiến
hành vào một trong các thời điểm sau:
– ngay khi thực hiện một thao tác câp nhật
CSDL (thêm, sửa, xóa…).
– định kỳ hay đột xuất.
01-2014