Nội dung: Hoạt động giáo viên Hoạt động học sinh Phần ghi bảng GV: Sau khi thiết kế bảng xong không nên nhập ngay dữ liệu mà nên thiết lập mối quan hệ rồi nhập liệu sau GV: Chính qu
Trang 1Giáo trình tin học 12 -
Tiết 13 §2 Cấu trúc bảng - (Tiết 4/4 tiết)
a) Mục đích, yêu cầu:
Về kiến thức: : Hiểu được tại sao phải thiết lập
quan hệ giữa các bảng Thiết lập mối quan hệ giữa các bảng, hiệu chỉnh dây quan hệ, xóa dây quan hệ
Về kỹ năng: Thiết lập mối quan hệ giữa các bảng,
hiệu chỉnh dây quan hệ, xóa dây quan hệ
b) Chuẩn bị đồ dùng dạy học: Sách GK tin 12, Sách GV
tin 12, đĩa chứa các
chương trình minh họa (quản lý học sinh:gv biên soạn) HS
có sách bài tập gv soạn
c) Phương pháp giảng dạy: Thuyết trình, hỏi đáp, đặt vấn
đề, so sánh
d) Các bước lên lớp:
1 Ổn định tổ chức: Điểm danh
2 Kiểm tra bài cũ: Kiểm tra tình hình làm bt ở nhà,
kiểm tra usb của nhóm
Trang 23 Nội dung:
Hoạt động
giáo viên
Hoạt động học sinh Phần ghi bảng
GV: Sau khi
thiết kế bảng
xong không
nên nhập
ngay dữ liệu
mà nên thiết
lập mối
quan hệ rồi
nhập liệu
sau
GV: Chính
quan hệ này
sẽ giúp dữ
liệu đảm bảo
được tính
vẹn toàn dữ
GV: Giữa hai bảng
BANG_DIEM em hãy cho biết 2 tables này có thể quan hệ với nhau trên trường nào?
HS: MAHS
7.Quan hệ giữa các bảng: a) Khái niệm:
Trong Access, một CSDL gọi là có hiệu quả, các bảng của nó phải thiết lập mối quan hệ với nhau
b) Cách tạo mối quan hệ:
Sau khi có ít nhất từ 2 bảng trở lên, ta mới tạo được mối quan hệ
Ví dụ: Có 3 table DSHS,
BANG_DIEM, MON_HOC
hs đã thiết kế trong tiết thực
hành trước (H16)
Hãy tạo mối quan hệ giữa 3
Trang 3liệu, giúp
người lập
trình lập
bảng tổng
hợp từ nhiều
bảng.(Minh
họa bằng
Access-
bằng phản ví
dụ: tạo ds
tổng hợp từ
nhiều bảng
không tạo
mốiquan hệ)
Relationship
:mối quan
hệ
H16
Qui tắc tạo quan hệ:
Trong cửa sổ Relationships, ta trỏ chuột vào trường khóa chính của bảng này (bảng chính) kéo sang trường liên kết của bảng kia (bảng
tables này:
Vào cửa sổ CSDL
B1:Chọn
Tools/Relationships
B2:Kích phải chuột vào cửa
sổ Relationships/chọn Show Table kích đúp vào các bảng muốn lập mối quan hệ, các bảng này sẽ được đưa
vào cửa sổ quan hệ.(H17) B3: Trỏ chuột vào MAHS của bảng DSHS (là trường khóa chính), kéo rê sang
MAHS (không phải trường khóa chính) của bảng BANG_DIEM (H18) B4: Xuất hiện cửa sổ như hình (H19)
Cửa sổ này để thiết lập tính
Trang 4Có khi nào
bảng không?
Minh họa
quan hệ) và thả chuột
Chọn tính chất:
Referential Integrity
để đảm bảo tính toàn
vẹn dữ liệu giữa hai bảng trên trường quan hệ:MAHS
Nghĩa là:
Nếu nhập MAHS ở
đầu bảng quan hệ :
BANG_DIEM với giá trị không trùng khớp với MAHS đầu
bảng chính đã nhập,
Access từ chối không cho nhập
chất của mối quan hệ Kích
Referential Integrity để
bảo đảm tính toàn vẹn dữ liệu, khi nhập MAHS ở
BANG_DIEM Tương tự đối với trường
trường MA_MON_HOC của bảng MON_HOC, đến trường liên kết MA_MON_HOC của BANG_DIEM (xem kết
quả ở H20)
B5: Cuối cùng kích vào nút
Close đóng cửa sổ này lại, chọn Yes để đồng ý lưu quan hệ vừa lập
Trang 5H17
H18
bằng
access), khi
hai trường
khác kiểu dữ
liệu và chiều
dài
DùngCT QUANLYHOCSINH
để minh họa tính vẹn toàn dữ liệu
Lưu ý: Trường tham gia lập
quan hệ phải cùng kiểu dữ liệu (Data type), và cùng chiều dài (Field size)
- Kích phải chuột vào cửa sổ Relationships
- Chọn Show Table
Trỏ chuột vào MAHS của bảng
DSHS, kéo rê sang MAHS của bảng BANG_DIEM
và thả
Bảng
chính,
nằm ở
đầu
xuất
phát
Bảng quan hệ nằm ở đầu đến
Trang 6H19
H20 Mối quan hệ giữa các Tables
Hoạt động giáo
viên
Hoạt động học sinh
Phần ghi bảng
GV: Có bao giờ c)Hiệu chỉnh mối liên
Chọn tính chất này để
đảm bảo tính toàn vẹn
dữ liệu giữa hai bảng
trên trường quan
hệ:MAHS
Nếu nhập MAHS ở đầu
bảng quan hệ :
BANG_DIEM với giá trị
không trùng khớp với
MAHS đã nhập đầu
bảng chính : DSHS,
Access từ chối không
cho nhập
Kiểu quan hệ:
1nhiều
Trang 7Access không cho
phép hiệu chỉnh
mối quan hệ
không?
Đ/án:Có, lúc bảng
nằm trong mối
quan hệ mà đang
trong chế độ đang
làm việc (đang
open)
GV: Có bao giờ
Access không cho
phép xóa mối quan
hệ không?
Đ/án:Có, vì lúc này
kết:
Relationships, kích đúp vào dây quan hệ, xuất hiện cửa sổ Edit Relationships để hiệu chỉnh
d) Xóa dây mối liên kết:
- Vào cửa sổ Relationships, kích chuột phải vào dây quan hệ muốn xóa, chọn lệnh Delelte
Lưu ý: Muốn hiệu
chỉnh hoặc xóa dây
quan hệ ta phải đóng cửa sổ của các bảng có
liên quan Tra cứu các
lỗi thường gặp khi tạo
Trang 8bảng đang ở chế độ làm việc
dây quan hệ ( trang 77)
4) Câu hỏi về nhà :
A) Câu hỏi trắc nghiệm:
Câu 1: Có cần thiết phải lập mối quan hệ giữa các bảng
trong CSDL hay không
a Nhất thiết phải lập mối quan hệ giữa các bảng trong
CSDL
b Không nhất thiết phải lập mối quan hệ giữa các bảng
trong CSDL
Câu 2: Nhờ có mối quan hệ giữa các bảng tính chất nào
sau đây được đảm bảo
a Tính độc lập dữ liệu c Tính toàn vẹn dữ liệu giữa các
bảng
b Tính dư thừa dữ liệu d Cả ba tính chất trên
Trang 9Câu 3:Tại sao khi lập mối quan hệ giữa hai trường của hai
bảng nhưng Access lại không chấp nhận
a Vì bảng chưa nhập dữ liệu
b Vì một hai bảng này đang sử dụng (mở cửa sổ table)
c Vì hai trường tham gia vào dây quan hệ khác kiểu dữ liệu(data type) và khác chiều dài (field size)
d Các câu b và c đều đúng
Câu 4: Hai trường (Field) tham gia vào dây quan hệ, có cần
thiết tên của hai trường này phải:
a Gống nhau b Không cần phải giống nhau
Câu 5: Ký hiệu số 1 trên đầu dây quan hệ nhằm cho biết
a Trường đó có khóa chính
b Trường đó không có khóa chính
Câu 6: Ký hiệu vô cùng ( 00 ) trên đầu dây quan hệ nhằm
cho biết
a Trường đó có khóa chính
b Trường đó không có khóa chính
Trang 10Câu 7: Với mối quan hệ đã thiết lập, bảng nào là bảng
chính (Primary table)
a Bảng nằm ở đầu đích khi kéo tạo dây quan hệ
b Bảng nằm ở đầu nguồn khi kéo tạo dây quan hệ
c Cả hai bảng đều là bảng chính
d Không có bảng nào là bảng chính
Câu 8: Với mối quan hệ đã thiết lập, bảng nào là bảng quan
hệ (Related table)
a Bảng nằm ở đầu đích khi kéo tạo dây quan hệ
b Bảng nằm ở đầu nguồn khi kéo tạo dây quan hệ
c Cả hai bảng đều là bảng quan hệ
d Không có bảng nào là bảng quan hệ
Câu 9: Khi nhập dữ liệu phải nhập dữ liệu cho bảng nào
trước
a Bảng chính trước
b Bảng quan hệ trước
c Bảng nào trước cũng được
d Các câu trên đều sai
Trang 11Câu 10: Nên lập mối quan hệ trước hay sau khi nhập dữ
liệu cho bảng
a Trước b Sau
B) Bài tập về nhà:
Câu 1:Tạo mối quan hệ cho ba bảng :
TEN,GIOITINH,NGAYSINH,DIACHI,TO)
MON_HOC (MA_MON_HOC , TEN_MON_HOC)
NGAYKIEMTRA, DIEM_SO)
Ba bảng này đã thiết kế ở bài tập thực hành số 01 Cuối cùng lưu giữ mối quan hệ này lại
Hướng dẫn: Xác dịnh bảng nào có thể lập được mối quan
hệ, kiểm tra xem trường muốn quan hệ có cùng kiểu dữ liệu (Data type) và cùng chiều dài (Field size) không?
Câu 2: Nhập dữ liệu cho ba bảng theo gợi ý dưới đây:
Table : DSHS
Trang 12Table: MON_HOC
Table: BANG_DIEM
H dẫn:
- Nhập dữ liệu cho bảng nào trước? nhập dữ liệu cho bảng chính trước (primary Table), bảng quan hệ (Related table) nhập sau
III) Dặn dò: Về nhà xem lại cách thiết lập các dạng thức
nhập ngày ngắn dạng Việt Nam trong Windows.Từ đó mới nhập được dữ liệu ngày tháng trong Access dạng Việt Nam
Trang 13Hướng dẫn: Ngày tháng dạng Việt Nam : ngày/tháng/năm
(thông thường chọn dạng : dd/MM/yy hay dd/MM/yyyy) Start/Settings/Control Panel/Kích đúp Regional and
language options/ customize/chọn phiếu lệnh Date/ trong mục Short date style (kiểu ngày ngắn), nhập dd/MM/yyyy/apply/Ok