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: 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, phép toán trên 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ệ (bảng) 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ộ(hàng) 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ột) 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ượn sách Bảng người mượ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. CSDL trên có phù hợp với các đặc trưng của 1 hệ CSDL hay không? 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 biệt người mượn sách ? sách ? Bảng mượn sách Dựa vào các Dựa vào các thuộc tính nào để thuộc tính nào để có thể phân biệt có thể phân biệt các lần các lần mượn mượn sách ? 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ười mượ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ượn sá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ười mượ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ượn sách Bảng người mượ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ượn sá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ượn sách 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á. . 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-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