Tải bản đầy đủ (.pdf) (116 trang)

Bài giảng cơ sở dữ liệu chương II ths lương thị ngọc khánh

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (878.27 KB, 116 trang )

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


06-12-1988

9.0

240.000

Ti05023

Nguyễn Mỹ Truyền

20-02-1987

8.2

180.000

Ti05027

Phạm Thu Hoa

23-05-1987

8.5

180.000

Ti05006

Phạm Thu Hường


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ư

phép toán tập hợp, phép toán quan hệ.
– Ràng buộc toàn vẹn quan hệ.

01-2014

504009 – Mô hình dữ liệu quan hệ

4


Thuộc tính (attribute, arity)
• Là các đặc trưng của đối tượng
• Được phân biệt bằng tên gọi
• Phải thuộc vào một kiểu dữ liệu nhất định
(số, chuỗi, ngày tháng, lôgic, hình ảnh…).

01-2014

504009 – Mô hình dữ liệu quan hệ

5


Thuộc tính (tt)
• Miền giá trị của thuộc tính.
– Ví dụ điểm thi của sinh viên chỉ là các số
nguyên từ 0 đến 10.
– Ký hiệu là D(Ai).
– Ví dụ: D(Diemtrungbinh) = [0..10]


• 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:

- ý nghĩa của LĐQH

- Ví dụ: với lược đồ quan hệ SV:
SV(maSoSV, hoTenSV, ngaySinh, diemTB,
mucHbg)

ta có tân từ như sau:
- Mỗi sinh viên có một mã số duy nhất, mỗi mã
số xác định tất cả các thuộc tính của sinh viên
đó như họ tên, ngày sinh, mức học bổng…
01-2014

504009 – Mô hình dữ liệu quan hệ

8


Lược đồ quan hệ (Relation) (tt)
• Nhận xét:
– khi nói cho tập thuộc tính U = {A1, A2…, An}
ta coi như cho trước lược đồ quan hệ
(LĐQH) và cùng với nó ta có quan hệ rỗng r =
.
– Khi lược đồ được nạp thêm ít nhất một dòng
thì ta có một quan hệ khác rỗng.

01-2014

504009 – Mô hình dữ liệu quan hệ


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ệ

11


Nhận xét
• Quan hệ r là một bảng hai chiều:
– trên cột thứ i là các giá trị của D(Ai),
– trên mỗi dòng của bảng là bộ n giá trị của các
miền giá trị của các thuộc tính Ai. Một dòng
chứa thông tin về một đối tượng và gọi là một
bộ (phần tử) của quan hệ.

• Trên một LĐQH có thể xây dựng được
nhiều QH khác nhau bằng cách thay đổi
một dòng hoặc một cột
01-2014

504009 – Mô hình dữ liệu quan hệ

12


Nhận xét (tt)
• Với cách nhìn của tập hợp việc thêm vào
một dòng (cột) giống với dòng (cột) đã có
thì QH không thay đổi. Đồng thời thứ tự
của các dòng (cột) không quan trọng.


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


800

50

100

02

Đông

1946

K. toán

700

122

48

03

Long

1954

K. lý

1.500


100

90

04

Kiên

1956

K. hóa

1.900

150

75

05

Đại

1958

K. văn

3.000

60


80

– Quan hệ r ở trên có năm phần tử. Mỗi phần tử
là một bộ 7 giá trị (còn gọi là 7-bộ)

01-2014

504009 – Mô hình dữ liệu quan hệ

14


Siêu khóa của LĐQH
• Siêu khóa của một lược đồ quan hệ R
– là một tập hợp gồm một hay nhiều thuộc tính
của lược đồ R có tính chất xác định duy nhất
một bộ trong mỗi thể hiện của R.
– SK: siêu khóa trên r(R):
ti(SK) ≠ tj(SK), với ti, tj là hai bộ khác nhau
bất kỳ trong r.

01-2014

504009 – Mô hình dữ liệu quan hệ

15


Siêu khóa của LĐQH (tt)

• 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


504009 – Mô hình dữ liệu quan hệ

17


Khóa của LĐQH (tt)
• Khóa dự tuyển (candidate key)
– Các khóa dự tuyển là các khóa tối thiểu khác
mà không phải là khóa chính.

• Khóa ngoài (khóa ngoại) của một lược đồ
quan hệ:
– là một tập hợp gồm một hay nhiều thuộc tính
là khóa của một lược đồ quan hệ khác.
– Ký hiệu gạch chân nét đứt

01-2014

504009 – Mô hình dữ liệu quan hệ

18


Khóa của LĐQH (tt)
• Thuộc tính khóa
– Là thuộc tính có tham gia vào một khóa bất kỳ
(dự tuyển hay khóa chính)

• Ngược lại, thuộc tính không tham gia vào

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



CSDL mẫu (tt)
• CSDL QLHANGHOA
– KHACH(maKH, tenKh, diachiKH, dienThoai,
congNo)
– HANG_HOA(maHH, tenHH, dvTinh)
– DAT_HANG(soDH, maHH, soLuongDat, ngayDH,
maKH)
– HOA_DON(soHD, ngayHD, soDH, trigiaHD,
ngayXuat)
– CTIET_HD(soHD,maHH,giaBan, soLuongBan)
– PHIEU_THU(soPT, ngayPT, maKH, soTien)
01-2014

504009 – Mô hình dữ liệu quan hệ

22


Khái niệm ràng buộc toàn vẹn
• Ràng buộc toàn vẹn
– Là những điều kiện bất biến mà các đối
tượng của CSDL phải thỏa mãn ở bất kỳ thời
điểm nào.
– Là các quy tắc quản lý được áp đặt lên trên
các đối tượng của thế giới thực.

01-2014

504009 – Mô hình dữ liệu quan hệ


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


504009 – Mô hình dữ liệu quan hệ

25


×