I. Mô hình dữ liệu quan hệ
1. Mô hình dữ liệu
2. Mô hình dữ liệu quan hệ là mô hình dữ liệu đ ợc mô tả nh sau:
Cấu trúc: dữ liệu đ ợc thể hiện trong các bảng gồm cột và hàng.
Thao tác trên dữ liệu: cập nhật và khai thác dữ liệu.
Các ràng buộc dữ liệu: dữ liệu trong các bảng phải thoả mãn một
số ràng buộc và mối liên kết giữa các bảng có thể đ ợc xác lập.
Mô hình dữ liệu quan hệ là mô hình dữ liệu phổ biến nhất hiện nay.
là một tập khái niệm dùng để mô tả cấu trúc dữ
liệu, các thao tác dữ liệu, các ràng buộc dữ liệu của một CSDL.
II. Cơ sở dữ liệu quan hệ
1. Khái niệm
Cơ sở dữ liệu quan hệ là CSDL đ ợc xây dựng dựa trên
mô hình dữ liệu quan hệ.
Các thuật ngữ :
Quan hệ để chỉ bảng
Thuộc tính để chỉ cột
Bộ (bản ghi) để chỉ hàng
Hệ QTCSDL quan hệ là hệ QTCSDL dùng để tạo lập, cập
nhật và khai thác CSDL quan hệ.
Mỗi quan hệ có một tên phân biệt với tên các quan hệ khác;
Các đặc tr ng chính của một quan hệ trong hệ CSDL quan hệ:
Các bộ là phân biệt và thứ tự của các bộ không quan trọng;
Mỗi thuộc tính có một tên phân biệt, thứ tự các thuộc tính
không quan trọng;
Quan hệ không có thuộc tính là đa trị hay phức hợp
2. VD về mô hình dữ liệu quan hệ
Số thẻ Mã số
sách
Ngày m ợn Ngày trả
TV-02 TO-012 5/9/2007 30/9/2007
TV-04 TN-103 12/9/2007 15/9/2007
TV-02 TN-102 24/9/2007 5/10/2007
TV-02 TO-012 5/10/2007
Số thẻ Họ tên Ngày sinh Lớp
TV-01 Nguyễn Anh 10/10/1990 12A
TV-02 Trần C ơng 23/02/1991 11B
TV-03 Lê Văn Bình 21/12/1990 12B
TV-04
Nguyễn Thị Dung
30/01/1992 10C
Mã số
sách
Tên sách
Số
trang
Tác giả
TN-102
Dế mèn phiêu l u kí
236
Tô Hoài
TN103
Hai vạn d m d ới đáy biển
120
Giuyn Vécnơ
TI-01
Những điều kì diệu về máy tính 240 Nguyễn Thế Hùng
TO-012
Sáng tạo Toán học 308 Polya
Bảng mợnsách
Bảng ngờimợn
Bảng Sách
Liên kết theo
Số thẻ
Liên
kết
theo
Mã
số
sách
Nhờ liên kết theo Số thẻ có thể biết các thông tin của ng ời m ợn sách.
Nhờ liên kết theo Mã số sách có thể biết các thông tin của cuốn sách.
a. Khoá
Dựa vào thuộc tính Số thẻ để phân biệt ng ời m ợn sách.
Dựa vào thuộc tính
Dựa vào thuộc tính
nào để có thể phân
nào để có thể phân
biệt ng ời m ợn sách ?
biệt ng ời m ợn sách ?
Bảng mợnsách
Dựa vào các thuộc
Dựa vào các thuộc
tính nào để có thể
tính nào để có thể
phân biệt
phân biệt
các lần
các lần
m
m
ợn sách ?
ợn sách ?
Dựa vào các thuộc tính Số thẻ, Mã số sách, Ngày m ợn để phân
biệt các lần m ợn sách.
?
3. Khoá và liên kết giữa các bảng
5/10/2007TO-012TV-02
5/10/200724/9/2007TN-102TV-02
15/9/200712/9/2007TN-103TV-04
30/9/20075/9/2007TO-012TV-02
Ngày trảNgày m ợnMã số sáchSố thẻ
Trong bảng chứa tập thuộc tính vừa đủ để phân biệt các bộ
Số thẻ Họ tên Ngày sinh Lớp
TV-01 Nguyễn Anh 10/10/1990 12A
TV-02 Trần C ơng 23/02/1991 11B
TV-03 Lê Văn Bình 21/12/1990 12B
TV-04 Nguyễn Thị Dung 30/01/1992 10C
Bảng Ng ời m ợn
Ví dụ:
Khoá là thuộc tính Số thẻ
Số thẻ Họ tên Ngày sinh Lớp
TV-01 Nguyễn Anh 10/10/1990 12A
TV-02 Trần C ơng 23/02/1991 11B
TV-03 Lê Văn Bình 21/12/1990 12B
TV-04 Nguyễn Thị Dung 30/01/1992 10C
Bảng ngờimợn
Số thẻ Mã số
sách
Ngày m ợn Ngày trả
TV-02 TO-012 5/9/2007 30/9/2007
TV-04 TN-103 5/9/2007 15/9/2007
TV-02 TN-102 24/9/2007 5/10/2007
TV-02 TO-012 5/10/2007
Bảng mợnsách
Khoá gồm các thuộc tính Số
thẻ, Mã số sách, Ngày m ợn
Số thẻ Họ tên Ngày sinh Lớp
TV-01 Nguyễn Anh 10/10/1990 12A
TV-02 Trần C ơng 23/02/1991 11B
TV-03 Lê Văn Bình 21/12/1990 12B
TV-04 Nguyễn Thị Dung 30/01/1992 10C
Bảng ngờimợn
Thuộc tính Số thẻ là khoá
b. Khoá chính (Primary key)
Hãy nhận xét về vai
trò và dữ liệu của
thuộc tính Số thẻ ?
Khoá chính là một khoá trong bảng đ ợc ng ời dùng chỉ định,
giá trị của mọi bộ tại khoá chính không đ ợc để trống.
Mỗi bảng có ít nhất một khoá.
Nên chọn khoá chính là một khoá có ít tính phụ thuộc nhất.
Dữ liệu không đ ợc để trống
Thuộc tính Số thẻ đ ợc
chọn làm khoá chính.
c. Liªn kÕt
Nhê mèi liªn kÕt theo Sè
thÎ cã thÓ biÕt c¸c th«ng
tin cña Ng êi m în cuèn
s¸ch cã m· sè TO-012
vµo ngµy 5/9/2007.
- Ng êi m în: B¶ng tham chiÕu
VÝ dô:
- M în s¸ch: B¶ng chÝnh
⇒
- Sè thÎ: Thuéc tÝnh liªn kÕt
Th«ng tin cña c¸c b¶ng ® îc kÕt nèi nhê c¸c mèi liªn kÕt dùa
trªn thuéc tÝnh kho¸.
Liên kết
Số thẻ Mã số
sách
Ngày m ợn Ngày trả
TV-02 TO-012 5/9/2007 30/9/2007
TV-04 TN-103 12/9/2007 15/9/2007
TV-02 TN-102 24/9/2007 5/10/2007
TV-02 TO-012 5/10/2007
Số thẻ Họ tên Ngày sinh Lớp
TV-01 Nguyễn Anh 10/10/1990 12A
TV-02 Trần C ơng 23/02/1991 11B
TV-03 Lê Văn Bình 21/12/1990 12B
TV-04 Nguyễn Thị Dung 30/01/1992 10C
Mã số
sách
Tên sách Số trang Tác giả
TN-102 Dế mèn phiêu l u kí 236 Tô Hoài
TN103 Hai vạn dam d ới đáy biển 120 Giuyn Vécnơ
TI-01 Những điều kì diệu về máy tính 240 Nguyễn Thế Hùng
TO-012 Sáng tạo Toán học 308 Polya
Bảng mợnsách
Bảng ngờimợn Bảng Sách
Liên kết theo
Số thẻ
Liên
kết
theo
Mã
số
sách
Nhờ liên kết theo Số thẻ ta có thể biết đ ợc HS nào m ợn sách trong Bảng Mợnsách
Nhờ liên kết theo Mã số sách ta có thể biết Sách nào đ ợc m ợn trong Bảng Mợnsác h
Liên kết đ ợc thực hiện trên các khoá, trong 1 liên kết phải có khoá chính
1. Mô hình dữ liệu quan hệ:
Cấu trúc dữ liệu dạng bảng.
Có các đặc tr ng:
Thao tác trên dữ liệu: cập nhật và khai thác.
Ràng buộc dữ liệu.
2. Cơ sở dữ liệu quan hệ:
Là CSDL đ ợc xây dựng dựa trên mô
hình dữ liệu quan hệ.
Khoá: một tập thuộc tính gồm một hay một số thuộc tính
dùng để phân biệt các bộ trong bảng.
Hệ QTCSDL quan hệ: là hệ QTCSDL dùng để tạo lập, cập
nhật và khai thác CSDL quan hệ.
Khoá chính: là một khoá đ ợc chọn (chỉ định) trong bảng.
Liên kết: để kết nối các thông tin của nhiều bảng dựa trên
thuộc tính khoá.