Giáo án Tin học Lớp 12 - Bài 10: Cơ sở dữ liệu quan hệ (Tiết 3) - Nguyễn Thị Nhung

 

I Mục đích yêu cầu

- Biết được cách xác định khoá chính, biết sự phân biệt sự khác nhau giữa khoá và khoá chính, sự liên kết giữa các bảng.

II Chuẩn bị của giáo viên và học sinh

 - Giáo viên chuẩn bị bảng phụ

III Nội dung

1. ổn định lớp(1’)

- Lớp trởng báo cáo sĩ số

 Vắng: học sinh(có phép: ., không phép .)

 2. Kiểm tra bài cũ(15’)

Câu hỏi: Em hãy định nghĩa khoá? Em hãy xác định khoá của các bảng sau và giải thích vì sao lại lựa chọn như vậy?

Bảng mợn sách

 

 

doc9 trang | Chia sẻ: lethuong715 | Lượt xem: 638 | Lượt tải: 0download
Bạn đang xem nội dung tài liệu Giáo án Tin học Lớp 12 - Bài 10: Cơ sở dữ liệu quan hệ (Tiết 3) - Nguyễn Thị Nhung, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
$ 10 : Cơ sở dữ liệu quan hệ(tiết 3)
Ngày soạn ngày tháng năm 
Ngày giảng, ngày tháng năm
Người soạn: Nguyễn Thị NhungA
Người hướng dẫn: Ngô Thị Tú Quyên
I Mục đích yêu cầu
- Biết được cách xác định khoá chính, biết sự phân biệt sự khác nhau giữa khoá và khoá chính, sự liên kết giữa các bảng.
II Chuẩn bị của giáo viên và học sinh
 - Giáo viên chuẩn bị bảng phụ
III Nội dung
ổn định lớp(1’)
Lớp trưởng báo cáo sĩ số
 Vắng: học sinh(có phép:., không phép..)
 2. Kiểm tra bài cũ(15’)
Câu hỏi: Em hãy định nghĩa khoá? Em hãy xác định khoá của các bảng sau và giải thích vì sao lại lựa chọn như vậy?
Bảng mượn sách
Bảng người mượn
Bảng sách
 Trả lời:
Trong các thuộc tính của bảng, ta quan tâm đến tập thuộc tính (có thể chỉ gồm một thuộc tính) vừa đủ để phân biệt được các bộ, nghĩa là không thể bỏ bớt được thuộc tính nào. Tập các thuộc tính như vậy được gọi là khoá của một bảng.(3đ)
Xác định khoá của các bảng
 Bảng sách có 2 khoá 
Khoá 1: gồm 1 thuộc tính là ‘ma so sach’
Khoá 2: gồm 1 thuộc tính là ‘ten sach’
Vì ‘ma so sach’ là thuộc tính đủ để phân biệt các bộ trong bảng. Tương tự như vậy ‘ten sach’ là thuộc tính đủ để phân biệt các bộ trong bảng(1đ)
 Bảng người mượn có 2 khoá 
khoá 1: gồm có 1 thuộc tính là ‘stt’
khoá 2 : gồm có 1 thuộc tính là ‘sothe’
 Vì ‘stt’ là thuộc tính có thể đủ để phân biệt các bộ, trong bảng. Tương tự như vậy thuộc tính ‘sothe’ cũng đủ để phân biệt các bộ trong bảng. (2đ)
Bảng mượn sách có 1 khoá gồm 3 thuộc tính là ‘sothe, ma so sach, ngay muon’. Vì theo quy định một ngày mỗi học sinh không được mượn một cuốn sách nhiều lần, nên phải gồm ba thuộc tính trên mới phân biệt được các bộ trong bảng.(2đ).
3. Nội dung bài mới
Nội dung
Hoạt động của giáo viên và học sinh
TG
* Khoá chính
- Trong 1 bảng có thể có nhiều khoá.Trong các khoá của một bảng người ta thường chọn 1 khoá làm khoá chính. Dữ liệu của cột khoá chính khi nhập không được bỏ trống
* Mục đích của xác định khoá chính là:
Để đảm bảo sự nhất quán dữ liệu, tránh trường hợp thông tin về một cá thể xuất hiện hơn một lần sau những lần nhập dữ liệu
* Chú ý:
 - Mỗi bảng có ít nhất một khoá. Việc xác định khoá phụ thuộc vào quan hệ lôgic của các dữ liệu chứ không phụ thuộc vào giá trị các dữ liệu.
Nên chọn khoá chính là khoá có it thuộc tính nhất
- 
- Cách tạo khoá chính gồm có 2 bước:
 + Chọn trường làm khoá chính
 + Nháy nút hoặc chọn lệnh
 Edit-> Primary Key
* Liên kết
- Thực chất của sự liên kết giữa các bảng được xác lập dựa trên thuộc tính khoá.
- Sự liên kết giữa các bảng tạo thành một CSDL quan hệ đơn giản, được lưu trữ ở bộ nhớ ngoài phục vụ cho việc quản lý dữ liệu dễ dàng và chính xác thuận tiện.
GV: các em hãy quan sát 3 bảng trên có bảng người mượn và bảng sách có 2 khoá, bảng còn lại là đều có 1 khoá. Như vậy trong 1 bảng có thể có nhiều khoá, người ta thường chọn một khoá làm khoá chính, nhưng nếu bảng mà chỉ có 1 khoá thì khoá đó chính là khoá chính. Tại sao chúng ta phải chọn khoá chính, nếu không chọn khoá chính cho bảng thì có hiện tượng gì xảy ra?VD như khi các em gửi thư các em ghi đầy đủ địa chỉ của người gửi, và người nhận, nếu ta coi địa chỉ của người gửi và người nhận là các khoá, song nếu ta không ghi 1 trong 2 địa chỉ của người nhận hoặc người gửi thì điều gì sẽ xảy ra?
HS: Chúng ta có thể không ghi địa chỉ của người gửi, nhưng bắt buộc chúng ta cần phải ghi địa chỉ của người nhận.
GV: Đúng vậy trong trường hợp này địa chỉ của người nhận chính là khoá chính. Trong một hệ QTCSDL quan hệ, khi nhập dữ liệu cho một bảng, dữ liệu tại các cột khoá chính không được để trống. Vậy mục đích của xác định khoá chính là gì?
HS: Đảm bảo sự nhất quán dữ liệu, tránh trường hợp thông tin về một cá thể xuất hiện nhiều hơn một lần sau những cập nhật dữ liệu.
- GV: Trong mô hình quan hệ, ràng buộc như vậy về dữ liệu còn được gọi là ràng buộc toàn vẹn thực thể ( hay gọi ngắn gọn là ràng buộc khoá).
-HS: Lắng nghe
GV: Trong các bảng mà cô đưa ra cho các em ở trên có bảng nào không có khoá không?
HS: Không có bảng nào là không có khoá
GV: Việc xác định khoá ta căn cứ vào yếu tố gì? Có phải là căn cứ vào giá trị của các dữ liệu không?
HS: Việc xác định khoá ta căn cứ vào tập các thuộc tính vừa đủ để phân biệt các bộ trong bảng, chứ không phải căn cứ vào giá trị của các dữ liệu trong bảng( Tức là ta không quan tâm đến việc là dữ liệu của thuộc tính mà ta chọn làm khoá là thuộc kiểu dữ liệu nào).
GV: Các em hãy quan sát lên bảng người mượn. Nếu ta giả sử trong một lớp không có 2 học sinh nào có họ tên trùng nhau mà ngày sinh cũng trùng nhau, thì ta có thể chọn cá thuộc tính ‘ngay sinh, ho ten, lop’ làm khoá. Nhưng khi chọn khoá chính thì ta không nên chọn khoá gồm các thuộc tính’ngay sinh, ho ten, lop’ làm khoá chính, mà ta nên chọn khoá gồm có 1 thuộc tính là SBD làm khoá chính vì cột khoá chính dữ liệu không được để trống nên khi nhập dữ liệu rất khó cho việc đảm bảo sự nhất quán dữ liệu, vì vậy mà ta nên chọn khoá chính là khoá gồm có ít thuộc tính.
GV: Yêu cầu học sinh nhắc lại cách tạo khoá chính đã được học ở chương 2
HS: Gồm có 2 bước:
 + Chọn trường làm khoá chính
 + Nháy nút hoặc chọn lệnh
 Edit-> Primary Key
GV: Chúng ta thấy rằng các bảng trên không có bảng nào chứa đầy đủ thông tin về tên sách, mã sách, tên người mượn, ngày mượn, nhà xuất bảnVậy theo các em để biết đầy đủ thông tin như vậy thì ta cần làm gì?
HS: Ta cần liên kết các bảng lại với nhau
GV: Yêu cầu học sinh nhắc lại cách tạo liên kết giữa các bảng đã được học ở chương 2?
HS: Nhắc lại gồm có 8 bước($ 7 chương II- liên kết giữa các bảng).
GV: Chúng ta đã biết cách tạo liên kết giữa các bảng ở chương II. Khi liên kết được giữa các bảng thì các bảng cần phải có thuộc tính chung hay không?
HS: Giữa các bảng cần phải có thuộc tính chung?
GV: Thuộc tính chung của các bảng có 
phải là các thuộc tính khóa của bảng không?
HS: Các thuộc tính chung của các bảng là các thuộc tính khoá của các bảng.
GV: => Như vậy thực chất của sự liên kết giữa các bảng được xác lập dựa trên thuộc tính khoá. 
GV: Dựa vào 3 bảng đã có ở trên cùng học sinh liên kết giữa các bảng lại với nhau, và giải thích rõ cho học sinh mục đích của sự liên kết đó?
HS: Quan sát và lắng nghe giáo viên tạo sự liên kết giữa các bảng.
GV: Sau khi liên kết giữa các bảng chúng ta có được sơ đồ liên kết như sau
15’
12’
IV.Củng cố(1’)
Trong một bảng có nhiều khoá, ta thường chọn một khoá làm khoá chính, cột khoá chính không được bỏ trống khi nhập dữ liệu.Nên chọn khoá chính là khoá gồm ít thuộc tính nhất. Việc xác định khoá 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ị các dữ liệu.
Thực chất của việc xác định thuộc tính khoá là để tạo sự liên kết giữa các bảng trong một CSDL quan hệ. Việc tạo liên kết giữa chúng như vậy tạo thành CSDL đơn giản hơn, phục vụ cho việc quản lý dữ liệu, thuận tiện và chính xác.
V. Bài tập về nhà(1’)
- Học thuộc bài cũ, làm các bài tập 3.14, 3.15, 3.16 trong sách bài tập và làm bài 1,2,3 bài thực hành 10.
Nhận xét của giáo viên hướng dẫn

File đính kèm:

  • docB10Co so du lieu quan he12.doc