Việc xây dựng và khai thác một hệ CSDL được tiến hành qua một số bước đó là?Bước 1: Khảo sát Tìm hiểu yêu cầu công tác quản lý, xác định dữ liệu cần lưu trữ, phân tích mối liên hệ giữa c
Trang 2Chương III: HỆ CƠ SỞ DỮ LIỆU QUAN HỆ
Tiết 1
MÔ HÌNH DỮ LIỆU QUAN HỆ
§ 10 CƠ SỞ DỮ LIỆU QUAN HỆ
GV: Phạm Thị Quỳnh Châu Lớp: 12A12
Trang 3Nội dung tiết 1
2 Đặc trưng của mô hình dữ liệu
dữ liệu quan hệ
1 Khái niệm mô hình dữ liệu
Trang 4Việc xây dựng và khai thác một hệ CSDL được tiến hành qua một số bước đó là?
Bước 1: Khảo sát
Tìm hiểu yêu cầu công tác quản lý, xác định dữ liệu cần lưu trữ, phân tích mối liên hệ giữa chúng, phân tích chức năng của hệ thống khai thác thông tin, xác định chức năng của phần cứng, phần mềm có thể khai thác, sử dụng.
Bước 2: Thiết kế
Thiết kế CSDL, lựa chọn hệ QTCSDL để triển khai, Xây dựng hệ thống
chương trình ứng dụng
Bước 3: Kiểm thử
Nhập dữ liệu và chạy thử chương trình
Khi xây dựng một CSDL thường có nhiều người tham gia với mức hiểu biết khác nhau về cơ sở dữ liệu.
§ 10 CƠ SỞ DỮ LIỆU QUAN HỆ
Trang 51 Người xây dụng CSDL thường trao đổi với nhau về những yếu tố nào?
2 Mô hình dữ liệu là gì?
3 Mô hình dữ liệu được phân chia như thế nào?
Bài học hôm nay chúng ta sẽ nghiên cứu về “CSDL
quan hệ, để hiểu rõ hơn về CSDL quan hệ chúng ta
cùng nhau thảo luận các câu hỏi sau:
§ 10 CƠ SỞ DỮ LIỆU QUAN HỆ
Trang 6Thảo luận theo bàn trong thời gian 5p
11/3/14
NHÓM 5
6
Thảo luận
Trang 71 Mô hình dữ liệu quan hệ
Mô hình dữ liệu được phân chia như thế nào?
Theo mức mô tả chi tiết về CSDL,
có thể phân chia các mô hình thành
2 loại.
•Mô hình logic
•Mô hình vật lí
Trang 8- Chủ thể
- Thuộc tính
- Cá thể
Về mặt cấu trúc
1 Mô hình dữ liệu quan hệ
Đặc trưng của mô hình dữ liệu quan hệ
Dư liệu được tổ chức dưới dạng quan hệ (bảng)
Mỗi cột (thuộc tính hoặc trường) thể hiện thông tin về một thuộc tính
Mỗi hàng (bộ - bản ghi) thể hiện thông tin về một đối tượng
Trang 9Về mặt thao tác trên dữ liệu:
Em hãy trình bày 1 số thao tác trên CSDL đã thực
hiện trong chương II?
- Cập nhật dữ liệu: thêm, sửa, xoá bản ghi trong 1 bảng;
Trang 10Về mặt thao tác trên dữ liệu
1 Cập nhật Thêm, xóa, sửa bản ghi,…
Đặc trưng của mô hình dữ liệu quan hệ
2 Thống kê, truy xuất dl:
Tìm kiếm, lọc, thống kê, báo cáo,…
Trang 11Về mặt các ràng buộc dữ liệu:
Em có nhận xét gì về bảng dữ liệu sau đây?
Có 2 bộ giống nhau hoàn toàn nên việc nhập này không được chấp nhận, máy thông báo lỗi:
Em hãy trình bày cách khắc phục?
Đặc trưng của mô hình dữ liệu quan hệ
Trang 133 Đặc trưng của mô hình dữ liệu quan hệ
Về mặt thao tác trên dữ liệu:
Về mặt cấu trúc
Về mặt ràng buộc dữ liệu
Trang 14Ghi nhớ
Trong mô hình dl quan hệ
Về mặt cấu trúc: DL được thể hiện dưới dạng quan hệ (bảng), bao gồm:
• Mỗi cột (thuộc tính, trường) thể hiện thông tin về 1 thuộc tính
• Ví dụ: Bảng gồm 10 trường: STT, HOTEN,GIOITINH, NGAY_SINH, TOAN, VAN, LY, HOA, ANH, SINH
• Mỗi hàng (bộ hay bản ghi) thể hiện thông tin về 1 đối tượng Ví dụ thông tin về 1 thí sinh Trần Thị Tình (2, Trần thị Tình, nữ,
20/11/1993, 9, 8, 7, 6, 5, 4) tương ứng với 10 trường trong bảng.
Về mặt thao tác dữ liệu: Có thể xử lí dữ liệu trong bảng như:
• Cập nhật: Thêm, xóa, sửa bản ghi,…
• Thống kê, truy xuất dl: Tìm kiếm, lọc, thống kê, báo cáo,…
Về mặt ràng buộc dữ liệu: dl trong bảng phải thõa mản 1 số ràng buộc Ví dụ: trong bảng không có 2 bộ nào giống nhau hoàn toàn.
Trang 15Chương III: HỆ CƠ SỞ DỮ LIỆU QUAN HỆ
Tiết 2
CƠ SỞ DỮ LIỆU QUAN HỆ
§ 10 CƠ SỞ DỮ LIỆU QUAN HỆ
GV: Phạm Thị Quỳnh Châu Lớp: 12A12
Trang 16Kiểm tra bài cũ
Câu hỏi: Nêu các đặc điểm của mô hình dữ liệu quan hệ?
Đáp án:
Mô hình dữ liệu quan hệ là mô hình dữ liệu có đặc điểm sau:
Về mặt cấu trúc: Dữ liệu được thể hiện dưới dạng bảng (Mỗi bảng gồm cột và hàng )
Về mặt thao tác trên dữ liệu: có thao tác cập nhật dữ liệu (thêm, xoá, sửa dl trong bảng), các thao tác khai thác dữ liệu khác
Về mặt các ràng buộc: Dữ liệu trong các bảng phải thoả mãn một số ràng buộc nào đó, xác lập mối liên kết giữa các bảng …
Nếu một CSDL được xây dựng dựa trên mô hình dữ liệu quan hệ thì CSDL đó được gọi là CSDL gì?
Trang 17NỘI DUNG TIẾT 2
Trang 182 CƠ SỞ DỮ LIỆU QUAN HỆ
Trang 192 CƠ SỞ DỮ LIỆU QUAN HỆ
1 Khái niệm:
Trang 20a Quan hệ: hay còn gọi là bảng mỗi quan hệ
có một tên phân biệt với tên các quan hệ khác
2 CƠ SỞ DỮ LIỆU QUAN HỆ
2 Các đặc trưng chính của 1 quan hệ trong CSDL quan hệ
Trang 21b Thuộc tính: là các Cột của Bảng, Mỗi thuộc có một tên phân biệt; thứ tự giữa các cột không quan trọng.
2 CƠ SỞ DỮ LIỆU QUAN HỆ
2 Các đặc trưng chính của 1 quan hệ trong CSDL quan hệ
Trang 222 CƠ SỞ DỮ LIỆU QUAN HỆ
2 Các đặc trưng chính của 1 quan hệ trong CSDL quan hệ
Trang 232 CƠ SỞ DỮ LIỆU QUAN HỆ
Các thuật ngữ và tính chất:
Trang 24So_the Ma_Sach Ng_muon Ng_tra
TN-104
12/9/2008 15/9/2008
22/9/2008 20/9/2008
24
d Quan hệ không được có thuộc tính đa trị hay phức hợp
Tại sao nói Bảng trên có thuộc
tính đa trị ?
2 CƠ SỞ DỮ LIỆU QUAN HỆ
2 Các đặc trưng chính của 1 quan hệ trong CSDL quan hệ
Mỗi thuộc tính chỉ cĩ một miền giá trị duy nhất
Trang 25So_the Ma_Sach Ngày
TN-104
12/9/2008 15/9/2008
22/9/2008 20/9/2008
25
Thuộc tính phức hợp là gì?
Tại sao Bảng trên có tính phức hợp?
2 CƠ SỞ DỮ LIỆU QUAN HỆ
2 Các đặc trưng chính của 1 quan hệ trong CSDL quan hệ
d Quan hệ không được có thuộc tính đa trị hay phức hợp
Trang 27Phức hợp
• Nhận xét: Bảng trên có cột Ngày mượn - trả là cột được tạo ra bởi sự
hợp thành bởi 2 cột là Ngày mượn và Ngày trả
Vậy bảng trên không là một quan hệ
, ta nói cột có tính phức hợp
2 CƠ SỞ DỮ LIỆU QUAN HỆ
Trang 28Các đặc trưng chính của một quan hệ trong hệ 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;
- Mỗi thuộc tính có một tên phân
biệt, thứ tự thuộc tính là không quan
- Quan hệ trên có tên là: NGƯỜI MƯỢN
- Có 4 thuộc tính với các tên là: Số thẻ,
Họ tên, Ngày Sinh và Lớp
- Có 6 bộ.
Ghi nhớ
Trang 30Có rất nhiều hệ QTCSDL quan hệ như:
Microsoft Access, Foxpro, Oracle…
Như vậy ở chương 2 ta đã được làm việc với một Hệ QTCSDL quan hệ là
Microsoft Access.
Các CSDL lớp đã được học ở chương 2
Hoc_Tap ta thấy đều là những CSDL quan hệ.
Ghi nhớ
Hệ Quản trị cơ sở dữ liệu quan hệ :
Trang 31Để quản lí việc mượn sách ở thư viện của một trường, thông thường thư viện cần quản lí các thông tin sau:
Thông thường để quản
lý việc mượn sách ở thư viện của trường học, thư viện cần những thông tin
nào???
Ví dụ
Thông tin về Các loại sách
Thông tin về người mượn sách
PhamThiQuynhChau_Tin5VT
Tình hình mượn sách
31
2 CƠ SỞ DỮ LIỆU QUAN HỆ
Trang 32Người mượn sách:
có những thông tin
nào? ? Số thẻ, họ tên, ngày sinh, lớp
Tình hình mượn sách: gồm những thông tin nào? ?
?
Số thẻ, Mã số sách, ngày mượn, ngày trả
Sách gồm những thông
tin nào?
Mã số sách, tên sách, thể loại, tác giả.
32
2 CƠ SỞ DỮ LIỆU QUAN HỆ
Ví dụ
Trang 33Số thẻ Họ tên Ngày sinh Lớp TV-02 Tiểu Mi 5/9/1990 12A1 TV-04 Trần Cường 12/9/1992 12A2 TV-03 Lê Na 24/9/1990 12B1 TV-01 Nguyễn Ánh 5/10/1991 11B1
33
Số thẻ, họ tên, ngày sinh, lớp.
Bảng Người Mượn
Thẻ thư viện gồm
có các thông tin
Thông tin về người mượn sách
Ví dụ
2 CƠ SỞ DỮ LIỆU QUAN HỆ
Trang 34Số thẻ Ms 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-03 TN-102 24/9/2007 5/10/2007 TV-01 TO-013 5/10/2007
Bài 10 : Cơ sở dữ liệu quan hệ
Tình hình mượn sách
34
2 CƠ SỞ DỮ LIỆU QUAN HỆ
Ví dụ
Trang 35Mã số sách Tên sách Thể loại Tác giả TN-102 Truyện Kiều Thơ N.Du
TN-103 Những điều ky diệu
về máy tính Khoa học Hùng Thế TI-01 Dế mèn phiêu lưu kí Văn học Tô
Hoài TO-102 Sáng tạo Toán học KHTN Polya
Thông tin về các loại sách có trong thư viện:
Ms sách, tên sách, thể loại, tác giả
Bảng Sách
Thông tin về sách
Thông tin về Các loại sách
35
Ví dụ
2 CƠ SỞ DỮ LIỆU QUAN HỆ
Trang 36ra nhận xét?
2 CƠ SỞ DỮ LIỆU QUAN HỆ
Ví dụ
Trang 37+ Bảng NGƯỜI MƯỢN liên kết với bảng
MƯỢN SÁCH bởi trường Số thẻ
+ Bảng SÁCH liên kết với bảng MƯỢN SÁCH bởi trường Mã số sách
Vậy sự liên kết giữa các bảng như vậy thể hiện sự liên kết giữa Người mượn sách (học sinh) và sách trong thư viện
Nhờ liên kết này mà ta biết được một học sinh nào đó đang mượn những cuốn sách nào, Cuốn sách nào đó (tên) có những ai mượn …
Ví dụ
Trang 38• Chúng ta đã tìm hiểu CSDL quan hệ về: Khái niệm
Các thuật ngữ trong CSDL quan hệ
Các đặc trưng của một quan hệ trong
Trang 39CÂU 1: Hãy cho biết bảng sau có phải là một quan hệ
không? Tại sao?
Đáp án: Không, vì bảng trên có cột Điểm các môn là cột phức hợp mà quan hệ thì không có thuộc tính phức hợp
Có thể sửa bảng trên như thế nào để nó có thể là một quan hệ?
Đáp án: Mỗi cột thành phần của cột phức hợp sẽ trở thành một cột
của bảng
CỦNG CỐ
Trang 40CÂU 2: Hãy cho biết bảng sau có phải là một quan hệ
không? tại sao?
Đáp án: Không, vì bảng trên xuất hiện ở cột mã môn có dòng có 2 giá trị là Toan và Van ==> đa trị
Có thể sửa bảng trên như thế nào để nó có thể là một quan hệ?
Đáp án: Tách các giá trị ở cột có tính đa trị ra làm các giá trị ở các
hàng khác nhau, những cột có 1 giá trị thì tất cả các hàng mới sẽ
nhận các giá trị đang có tại cột đó (ô đó)
CỦNG CỐ
Trang 41CÂU 3: Hãy cho biết bảng sau có phải là một quan hệ
Trang 43Chương III: HỆ CƠ SỞ DỮ LIỆU QUAN HỆ
Trang 44Các em hãy liên hệ thực tế cho biết thế nào là khóa của một
bảng?
Khóa của 1 bảng là 1 tập hợp
các thuộc tính của bảng và
thỏa mãn 2 tính chất:
1 Không tồn tại 2 bộ trong
bảng có giá trị bằng nhau trên
khóa.
2 Không có tập con nào của
tập thuộc tính thỏa mãn điều
kiện 1
Trang 453 KHÓA VÀ LIÊN KẾT GIỮA CÁC BẢNG
Khoá
Dựa vào các thuộc tính nào để
có thể phân biệt các lần mượn sách ?
TV-02
5/10/2007 24/9/2007
TN-102 TV-02
15/9/2007 12/9/2007
TN-103 TV-04
30/9/2007 5/9/2007
TO-012 TV-02
Ngày trả Ngày m ượ n
Mã s sách ố
Số thẻ
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.
Trang 46Dựa vào thuộc tính nào để có thể phân biết người mượn sách ?
S th ố ẻ H Tên ọ Ngày sinh L p ớ TV-01 Ph m Châu ạ 10/10/1990 12A TV-02 Nguy n Ý ễ 23/02/1991 11B TV-03 Lê Thanh Nhàn 21/12/1990 12B TV-04 Hoàng Qu c ố
C ườ ng 30/01/1992 10C
Bảng Người mượn
Dựa vào thuộc tính Số thẻ để phân biệt người mượn sách.
Trong bảng chứa tập thuộc tính vừa đủ để phân biệt các bộ
3 KHÓA VÀ LIÊN KẾT GIỮA CÁC BẢNG
Khoá
Trang 47Khoá là thuộc tính Số thẻ
B ng ng ả ườ i m ượ n 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
TV-02
5/10/2007 24/9/2007
TN-102 TV-02
15/9/2007 12/9/2007
TN-103 TV-04
30/9/2007 5/9/2007
TO-012 TV-02
Ngày trả Ngày m ượ n
Mã s ố sách
Số thẻ
3 KHÓA VÀ LIÊN KẾT GIỮA CÁC BẢNG
Khoá
Trang 48Hãy nhận xét về vai trò và dữ liệu của thuộc tính Số thẻ ?
B ng ng ả ườ i m ượ n
– Thuộc tính Số thẻ là khoá
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
- Giá trị tại trường khóa chính không giống nhau
Thuộc tính Số thẻ được chọn làm khoá chính
S th ố ẻ H Tên ọ Ngày sinh L p ớ
Trang 49 Xét các Bảng sau:
Ten_Mat_Hang Don_Gia
T_Hoa_Don So_Hoa_Don
Ma_Khach_Hang Ma_Mat_Hang So_Luong
Ngay_Giao
Để biết cụ thể tên khách hàng đã mua mặt hàng gì và mua số lượng bao nhiêu, phải trả bao nhiêu tiền Ta cần có tạo liên kết các Bảng với nhau.
3 KHĨA VÀ LIÊN KẾT GIỮA CÁC BẢNG
Liên kết giữa các bảng
Trang 50Ten_Mat_Hang Don_Gia
T_Hoa_Don So_Hoa_Don
Ma_Khach_Hang Ma_Mat_Hang So_Luong
Trang 51Ten_Mat_Hang Don_Gia
T_Hoa_Don So_Hoa_Don
Ma_Khach_Hang Ma_Mat_Hang So_Luong
Ngay_Giao
Sự liên kết giữa các Bảng tạo thành một cơ sở dữ liệu đơn
giản, được lưu trữ ở bộ nhớ ngoài, phục vụ quản lý cho cơ sở dữ liệu.
3 KHĨA VÀ LIÊN KẾT GIỮA CÁC BẢNG
Liên kết giữa các bảng
Trang 52-NGƯỜI MƯỢN: Bảng tham chiếu
Nhờ mối liên kết theo Số thẻ cho
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? Nêu cách
xác định
Trang 533 KHÓA VÀ LIÊN KẾT GIỮA CÁC BẢNG
Liên kết giữa các bảng
B1 Dựa vào bảng chính là bảng Mượn
sách xác định số thẻ của người mượn có
mã số TO-012 vào ngày 5/9/2007?
- Là TV02
B2 Dựa vào bảng tham chiếu là bảng
Người mượn xem thông tin của người
mượn có số thẻ TV02
Trang 54Ghi nhớ
a Khóa
bảng và thỏa mãn 2 tính chất:
1 Không tồn tại 2 bộ trong bảng có giá trị bằng
nhau trên khóa.
2 Không có tập con nào của tập thuộc tính thỏa
Trang 55Ghi nhớ
b Khóa chính
1 bảng có thể có nhiều khóa Ta chọn (chỉ định) một khóa làm khóa chính.
Các ràng buộc đối với khóa chính:
liệu (không được để trống).
giống nhau.
Trang 56Ghi nhớ
Để lấy được dl của nhiều bảng, ta phải tạo liên kết giữa các bảng.
Để tạo liên kết giữa 2 bảng:
Hai bảng phải có thuộc tính chung (gọi là thuộc tính liên kết);
Sự liên kết giữa các bảng đa số dựa trên thuộc tính khóa;
Khi kết nối từng cặp bảng lại với nhau, ta
có sự liên kết gián tiếp giữa các bảng
trong cùng 1 csdl.
Trang 57Cũng cố
Bài học hôm nay các em cần nắm vững
những nội dung sau đây:
Mô hình quan hệ
CSDL quan hệ: Khái niệm, ví dụ, khóa Và liên kết giữa các bảng
Trang 58Bài tập về nhà
Ôn lại bài học hôm nay
Trả lời các câu hỏi và bài tập trong sgk trang 86
Chuẩn bị trước bài tập và thực hành 10
“ Hệ cơ sở dữ liệu quan hệ”
Trang 59Bài tập để cộng thêm điểm
1 Chủ đề 1: Mỗi nhóm 2 thành viên hoàn tất bài tập sau:
hsbdmoi\baithapthuchanh1.doc
Gửi dánh sách nhóm về email: quynhchau.pt@gmail.com
2 Thời hạn nộp: Trước buổi học sau 1 ngày
3 Cách thức nộp bài:
- Nhóm đặt tên folder theo Tổ_TenThanhVien1_TenThanhVien2
- Nén lại file rar hoặc file zip
Ví dụ BTTH_Tổ1_PhamThiQuynhChau_NguyenThiNhuY.rar
- Bản phân công công việc nhiệm vụ
•Tạo bảng
•Nhập dữ liệu
•Tạo liên kết giữa các bảng
•Đưa kết quả thi thông báo cho thí sinh
•Đưa ra kết quả thi theo trường;
•Đưa ra kết quả thi của toàn tỉnh theo thứ tự giảm dần của điểm thi.
Lưu ý: Nhập dữ liệu là tên thành viên trong tổ
Upload tại trang http://quynhchaupt.wikispaces.com/space/content
4 Hướng dẫn chi tiết
http://quynhchaupt.wikispaces.com/file/view/handout1.doc
sbdmoi\hương dân bai tâp va thuc hanh 10.doc
Trang 60Hỗ trợ học tập
Các em có thể trao đổi và thảo luận tại các trang
1 Mô hình dữ liệu quan hệ
2 Cơ sở dữ liệu quan hệ trên wikispace
Để rõ hơn các yêu cầu các em có thể lên
trang
http://quynhchaupt.wikispaces.com/