Bài 10. Cơ sở dữ liệu quan hệ
Chia sẻ bởi Phạm Vân Thái |
Ngày 09/05/2019 |
43
Chia sẻ tài liệu: Bài 10. Cơ sở dữ liệu quan hệ thuộc Tin học 12
Nội dung tài liệu:
Chương 3 – Bài 10:
CƠ SỞ DỮ LiỆU QUAN HỆ
Nhóm 5
BÀI 10: CƠ SỞ DỮ LIỆU QUAN HỆ
2
1. Mô hình dữ liệu quan hệ:
Trong lĩnh vực CSDL, người ta dùng mô hình dữ liệu để mô tả dữ liệu ở mức cao, tổng quát, vì vậy mô hình dữ liệu được dùng để thiết kế CSDL.
Vậy khi thiết kế CSDL cần quan tâm những yếu tố nào?
Cấu trúc dữ liệu
Các thao tác, phép toán trên dữ liệu
Ràng buộc dữ liệu
BÀI 10: CƠ SỞ DỮ LIỆU QUAN HỆ
3
1. Mô hình dữ liệu quan hệ:
Mô hình dữ liệu là gì?
Mô hình dữ liệu 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, phép toán trên dữ liệu và các ràng buộc dữ liệu trên một CSDL.
VD: Mô hình dữ liệu quan hệ, mô hình dữ liệu hướng đối tượng, mô hình dữ liệu phân cấp,…
Khái niệm mô hình dữ liệu
BÀI 10: CƠ SỞ DỮ LIỆU QUAN HỆ
4
1. Mô hình dữ liệu quan hệ:
b. Mô hình dữ liệu quan hệ
Mô hình dữ liệu quan hệ (gọi tắt là mô hình quan hệ) được E.F.Codd đề xuất năm 1970. Trong 30 năm trở lại đây, các hệ CSDL xây dựng theo mô hình quan hệ được dùng rất phổ biến. Trong mô hình quan hệ:
Về mặt cấu trúc:
Dữ liệu được thể hiện trong các bảng;
Mỗi bảng có nhiều cột, dòng => thể hiện thông tin về 1 chủ thể;
Mỗi cột biểu thị thuộc tính của chủ thể;
Mỗi dòng biểu thị cho một cá thể trong chủ thể.
Về mặt thao tác trên dữ liệu:
Cập nhật dữ liệu: thêm, sửa, xóa 1 bảng ghi;
Khai thác dữ liệu: tìm kiếm thông qua truy vấn, sắp xếp,…
Về mặt các ràng buộc dữ liệu:
Dữ liệu trong các bảng phải thỏa mãn một số ràng buộc ví dụ như: không có hai bộ nào trong một bảng giống nhau hoàn toàn
BÀI 10: CƠ SỞ DỮ LIỆU QUAN HỆ
5
1. Mô hình dữ liệu quan hệ:
a. Mô hình dữ liệu là gì?
b. Mô hình dữ liệu quan hệ
2. CSDL quan hệ:
CSDL quan hệ là CSDL được xây dựng dựa trên mô hình dữ liệu quan hệ.
Hệ QT CSDL quan hệ là hệ QT CSDL dùng để tạo lập, cập nhật và khai thác CSDL quan hệ.
Trong CSDL quan hệ, thuật ngữ:
Quan hệ dùng để chỉ bảng;
Thuộc tính dùng để chỉ cột (trường);
Bộ dùng để chỉ dòng (bản ghi);
Miền giá trị dùng để chỉ kiểu dữ liệu.
BÀI 10: CƠ SỞ DỮ LIỆU QUAN HỆ
6
Ví dụ:
Bảng HOC_SINH
Bộ
Miền giá trị: text
BÀI 10: CƠ SỞ DỮ LIỆU QUAN HỆ
Mỗi quan hệ có tên phân biệt với các quan hệ khác
Các đặc trưng của một quan hệ:
Trong Access,
có thể tạo được 2 bảng: MON_HOC(Ma_mon_hoc,Ten_mon_hoc) và
MON_HOC(Ma_mon_hoc,So_tiet)
trong cùng CSDL HOC_TAP???
BÀI 10: CƠ SỞ DỮ LIỆU QUAN HỆ
8
Các bộ là phân biệt và thứ tự các bộ không quan trọng
BÀI 10: CƠ SỞ DỮ LIỆU QUAN HỆ
9
Trong thực tế…
Trong Acsess,
có thể tạo được bảng:
MON_HOC(Ma_mon_hoc,Ten_mon_hoc,
Ma_mon_hoc,Ten_mon_hoc)
trong CSDL HOC_TAP???
Mỗi thuộc tính có tên phân biệt và thứ tự các thuộc tính
không quan trọng.
BÀI 10: CƠ SỞ DỮ LIỆU QUAN HỆ
10
Quan hệ không có thuộc tính đa trị hay phức hợp
Đa trị
Phức hợp
BÀI 10: CƠ SỞ DỮ LIỆU QUAN HỆ
11
Các đặc trưng của quan hệ:
Mỗi quan hệ có tên phân biệt;
Mỗi bộ là phân biệt và thứ tự các bộ không quan trọng;
Mỗi thuộc tính có tên phân biệt và thứ tự các thuộc tính không quan trọng;
Quan hệ không có thuộc tính đa trị hay phức hợp.
BÀI 10: CƠ SỞ DỮ LIỆU QUAN HỆ
12
Bảng Mượn sách
Bảng Người mượn
Bảng Sách
BÀI 10: CƠ SỞ DỮ LIỆU QUAN HỆ
13
2. CSDL quan hệ:
c. Ví dụ về CSDL quan hệ
Để quản lí kết quả học tập của học sinh, thông thường phòng học vụ cần quản lý các thông tin sau:
Thông tin về
Học sinh
Thông tin về
Môn học
Thông tin về
Bảng điểm
Mã học sinh, họ đệm, tên
Mã môn học, tên môn học
BÀI 10: CƠ SỞ DỮ LIỆU QUAN HỆ
14
2. CSDL quan hệ:
c. Ví dụ về CSDL quan hệ
Học sinh: có những thông tin nào?
Môn học: gồm những thông tin nào?
Bảng điểm: gồm những thông tin nào?
ID, mã học sinh, mã môn học, ngày kiểm tra, điểm số
BÀI 10: CƠ SỞ DỮ LIỆU QUAN HỆ
15
Bảng BANG_DIEM
Bảng HOC_SINH
Bảng MON_HOC
BÀI 10: CƠ SỞ DỮ LIỆU QUAN HỆ
16
Sự xuất hiện lại của thuộc tính Ma_hoc_sinh và Ma_mon_hoc ở bảng BANG_DIEM trong bảng HOC_SINH và MON_HOC thể hiện một sự liên hết giữa học sinh và môn học dự thi. Nhờ liên kết này mà ta biết được nhiều thông tin, chẳng hạn những học sinh thi một môn học nào đó, môn đó do một học sinh nào đó dự thi
BÀI 10: CƠ SỞ DỮ LIỆU QUAN HỆ
17
2. CSDL quan hệ:
d. Khóa và liên kết giữa các bảng
BÀI 10: CƠ SỞ DỮ LIỆU QUAN HỆ
18
d. Khóa và liên kết giữa các bảng
* KHÓA
Khóa của một bảng là một tập thuộc tính gồm một hay một số thuộc tính của bảng
Không có hai bộ khác nhau trong bảng có giá trị bằng nhau trên khóa.
Không có tập con thực sự nào của tập thuộc tính này có tính chất trên.
Hãy cho biết, khóa của một bảng là gì?
Hãy trình bày tính chất khóa của một bảng.
BÀI 10: CƠ SỞ DỮ LIỆU QUAN HỆ
19
Ví dụ
Thuộc tính ‘Số thẻ’ là một khóa
Địa chỉ người gửi: khóa
BÀI 10: CƠ SỞ DỮ LIỆU QUAN HỆ
20
Địa chỉ người nhận: khóa
Nếu không ghi một trong hai địa chỉ thì điều gì sẽ xảy ra?
* Vậy địa chỉ người nhận phải bắt buộc ghi khóa chính
Khóa chính
BÀI 10: CƠ SỞ DỮ LIỆU QUAN HỆ
21
* KHÓA CHÍNH
Một bảng có thể có nhiều khóa.
Trong các khóa của một bảng, ta chọn (chỉ định) một khóa làm khóa chính.
Khi nhập dữ liệu cho một bảng, dữ liệu tại các cột khóa chính không được để trống
Mỗi bảng có ít nhất một khóa.
Việc xác định khóa phụ thuộc vào quan hệ logic của các dữ liệu chứ không phụ thuộc vào giá trị dữ liệu.
Nên chọn khóa chính là khóa có ít thuộc tính nhất.
BÀI 10: CƠ SỞ DỮ LIỆU QUAN HỆ
22
d. Khóa và liên kết giữa các bảng
* LIÊN KẾT
Việc xác định khóa của một bảng là để thiết lập sự liên kết giữa các bảng.
23
BÀI THUYẾT TRÌNH ĐẾN ĐÂY LÀ KẾT THÚC
CẢM ƠN THẦY VÀ CÁC BẠN ĐÃ LẮNG NGHE
CƠ SỞ DỮ LiỆU QUAN HỆ
Nhóm 5
BÀI 10: CƠ SỞ DỮ LIỆU QUAN HỆ
2
1. Mô hình dữ liệu quan hệ:
Trong lĩnh vực CSDL, người ta dùng mô hình dữ liệu để mô tả dữ liệu ở mức cao, tổng quát, vì vậy mô hình dữ liệu được dùng để thiết kế CSDL.
Vậy khi thiết kế CSDL cần quan tâm những yếu tố nào?
Cấu trúc dữ liệu
Các thao tác, phép toán trên dữ liệu
Ràng buộc dữ liệu
BÀI 10: CƠ SỞ DỮ LIỆU QUAN HỆ
3
1. Mô hình dữ liệu quan hệ:
Mô hình dữ liệu là gì?
Mô hình dữ liệu 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, phép toán trên dữ liệu và các ràng buộc dữ liệu trên một CSDL.
VD: Mô hình dữ liệu quan hệ, mô hình dữ liệu hướng đối tượng, mô hình dữ liệu phân cấp,…
Khái niệm mô hình dữ liệu
BÀI 10: CƠ SỞ DỮ LIỆU QUAN HỆ
4
1. Mô hình dữ liệu quan hệ:
b. Mô hình dữ liệu quan hệ
Mô hình dữ liệu quan hệ (gọi tắt là mô hình quan hệ) được E.F.Codd đề xuất năm 1970. Trong 30 năm trở lại đây, các hệ CSDL xây dựng theo mô hình quan hệ được dùng rất phổ biến. Trong mô hình quan hệ:
Về mặt cấu trúc:
Dữ liệu được thể hiện trong các bảng;
Mỗi bảng có nhiều cột, dòng => thể hiện thông tin về 1 chủ thể;
Mỗi cột biểu thị thuộc tính của chủ thể;
Mỗi dòng biểu thị cho một cá thể trong chủ thể.
Về mặt thao tác trên dữ liệu:
Cập nhật dữ liệu: thêm, sửa, xóa 1 bảng ghi;
Khai thác dữ liệu: tìm kiếm thông qua truy vấn, sắp xếp,…
Về mặt các ràng buộc dữ liệu:
Dữ liệu trong các bảng phải thỏa mãn một số ràng buộc ví dụ như: không có hai bộ nào trong một bảng giống nhau hoàn toàn
BÀI 10: CƠ SỞ DỮ LIỆU QUAN HỆ
5
1. Mô hình dữ liệu quan hệ:
a. Mô hình dữ liệu là gì?
b. Mô hình dữ liệu quan hệ
2. CSDL quan hệ:
CSDL quan hệ là CSDL được xây dựng dựa trên mô hình dữ liệu quan hệ.
Hệ QT CSDL quan hệ là hệ QT CSDL dùng để tạo lập, cập nhật và khai thác CSDL quan hệ.
Trong CSDL quan hệ, thuật ngữ:
Quan hệ dùng để chỉ bảng;
Thuộc tính dùng để chỉ cột (trường);
Bộ dùng để chỉ dòng (bản ghi);
Miền giá trị dùng để chỉ kiểu dữ liệu.
BÀI 10: CƠ SỞ DỮ LIỆU QUAN HỆ
6
Ví dụ:
Bảng HOC_SINH
Bộ
Miền giá trị: text
BÀI 10: CƠ SỞ DỮ LIỆU QUAN HỆ
Mỗi quan hệ có tên phân biệt với các quan hệ khác
Các đặc trưng của một quan hệ:
Trong Access,
có thể tạo được 2 bảng: MON_HOC(Ma_mon_hoc,Ten_mon_hoc) và
MON_HOC(Ma_mon_hoc,So_tiet)
trong cùng CSDL HOC_TAP???
BÀI 10: CƠ SỞ DỮ LIỆU QUAN HỆ
8
Các bộ là phân biệt và thứ tự các bộ không quan trọng
BÀI 10: CƠ SỞ DỮ LIỆU QUAN HỆ
9
Trong thực tế…
Trong Acsess,
có thể tạo được bảng:
MON_HOC(Ma_mon_hoc,Ten_mon_hoc,
Ma_mon_hoc,Ten_mon_hoc)
trong CSDL HOC_TAP???
Mỗi thuộc tính có tên phân biệt và thứ tự các thuộc tính
không quan trọng.
BÀI 10: CƠ SỞ DỮ LIỆU QUAN HỆ
10
Quan hệ không có thuộc tính đa trị hay phức hợp
Đa trị
Phức hợp
BÀI 10: CƠ SỞ DỮ LIỆU QUAN HỆ
11
Các đặc trưng của quan hệ:
Mỗi quan hệ có tên phân biệt;
Mỗi bộ là phân biệt và thứ tự các bộ không quan trọng;
Mỗi thuộc tính có tên phân biệt và thứ tự các thuộc tính không quan trọng;
Quan hệ không có thuộc tính đa trị hay phức hợp.
BÀI 10: CƠ SỞ DỮ LIỆU QUAN HỆ
12
Bảng Mượn sách
Bảng Người mượn
Bảng Sách
BÀI 10: CƠ SỞ DỮ LIỆU QUAN HỆ
13
2. CSDL quan hệ:
c. Ví dụ về CSDL quan hệ
Để quản lí kết quả học tập của học sinh, thông thường phòng học vụ cần quản lý các thông tin sau:
Thông tin về
Học sinh
Thông tin về
Môn học
Thông tin về
Bảng điểm
Mã học sinh, họ đệm, tên
Mã môn học, tên môn học
BÀI 10: CƠ SỞ DỮ LIỆU QUAN HỆ
14
2. CSDL quan hệ:
c. Ví dụ về CSDL quan hệ
Học sinh: có những thông tin nào?
Môn học: gồm những thông tin nào?
Bảng điểm: gồm những thông tin nào?
ID, mã học sinh, mã môn học, ngày kiểm tra, điểm số
BÀI 10: CƠ SỞ DỮ LIỆU QUAN HỆ
15
Bảng BANG_DIEM
Bảng HOC_SINH
Bảng MON_HOC
BÀI 10: CƠ SỞ DỮ LIỆU QUAN HỆ
16
Sự xuất hiện lại của thuộc tính Ma_hoc_sinh và Ma_mon_hoc ở bảng BANG_DIEM trong bảng HOC_SINH và MON_HOC thể hiện một sự liên hết giữa học sinh và môn học dự thi. Nhờ liên kết này mà ta biết được nhiều thông tin, chẳng hạn những học sinh thi một môn học nào đó, môn đó do một học sinh nào đó dự thi
BÀI 10: CƠ SỞ DỮ LIỆU QUAN HỆ
17
2. CSDL quan hệ:
d. Khóa và liên kết giữa các bảng
BÀI 10: CƠ SỞ DỮ LIỆU QUAN HỆ
18
d. Khóa và liên kết giữa các bảng
* KHÓA
Khóa của một bảng là một tập thuộc tính gồm một hay một số thuộc tính của bảng
Không có hai bộ khác nhau trong bảng có giá trị bằng nhau trên khóa.
Không có tập con thực sự nào của tập thuộc tính này có tính chất trên.
Hãy cho biết, khóa của một bảng là gì?
Hãy trình bày tính chất khóa của một bảng.
BÀI 10: CƠ SỞ DỮ LIỆU QUAN HỆ
19
Ví dụ
Thuộc tính ‘Số thẻ’ là một khóa
Địa chỉ người gửi: khóa
BÀI 10: CƠ SỞ DỮ LIỆU QUAN HỆ
20
Địa chỉ người nhận: khóa
Nếu không ghi một trong hai địa chỉ thì điều gì sẽ xảy ra?
* Vậy địa chỉ người nhận phải bắt buộc ghi khóa chính
Khóa chính
BÀI 10: CƠ SỞ DỮ LIỆU QUAN HỆ
21
* KHÓA CHÍNH
Một bảng có thể có nhiều khóa.
Trong các khóa của một bảng, ta chọn (chỉ định) một khóa làm khóa chính.
Khi nhập dữ liệu cho một bảng, dữ liệu tại các cột khóa chính không được để trống
Mỗi bảng có ít nhất một khóa.
Việc xác định khóa phụ thuộc vào quan hệ logic của các dữ liệu chứ không phụ thuộc vào giá trị dữ liệu.
Nên chọn khóa chính là khóa có ít thuộc tính nhất.
BÀI 10: CƠ SỞ DỮ LIỆU QUAN HỆ
22
d. Khóa và liên kết giữa các bảng
* LIÊN KẾT
Việc xác định khóa của một bảng là để thiết lập sự liên kết giữa các bảng.
23
BÀI THUYẾT TRÌNH ĐẾN ĐÂY LÀ KẾT THÚC
CẢM ƠN THẦY VÀ CÁC BẠN ĐÃ LẮNG NGHE
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...
Người chia sẻ: Phạm Vân Thái
Dung lượng: |
Lượt tài: 2
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)