(NB) Giáo trình Hệ quản trị cơ sở dữ liệu MS ACCESS với mục tiêu chính là Trình bày các khái niệm cơ bản của hệ quản trị cơ sở dữ liệu Microsoft Access; Tạo lập được bảng dữ liệu, xây dựng được quan hệ giữa các bảng; Sử dụng, quản lý, bảo trì và khai thác số liệu trên các bảng; Thực hiện được truy vấn dữ liệu; Thiết kế đựợc các đối tượng Table, Query, Form
Trang 1ỦY BAN NHÂN DÂN TỈNH BR – VTTRƯỜNG CAO ĐẲNG NGHỀ
GIÁO TRÌNH
HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MS ACCESS
Ban hành kèm theo Quyết định số: /QĐ-CĐN… ngày…….tháng….năm
………… của Hiệu trưởng trường Cao đẳng nghề tỉnh BR - VT
Bà Rịa – Vũng Tàu, năm 2015
Trang 3LỜI GIỚI THIỆU
Trong thời đại thông tin bùng nổ ngày nay, việc ứng dụng khoa học kỹ thuật vàoquá trình sản xuất và quản lý không còn là mới lạ đối với các doanh nghiệp Đặc biệttrong quá trình quản lý hiện nay, hầu hết các doanh nghiệp đều sử dụng hệ thống côngnghệ thông tin phát triển với sự trợ giúp đắc lực từ các phần mềm quản lý, kế toán…
nó giúp các doanh nghiệp có một công cụ quản lý tốt hơn, xử lý nhanh các chứng từ,nhanh chóng đưa ra được các quyết định đúng đắn kịp thời cho sự phát triển của doanhnghiệp Tuy nhiên, chọn một công cụ lập trình thích hợp để tạo một ứng dụng lại làmột vấn đề không đơn giản Thật vậy, chúng ta có vô số các chọn lựa: có thể dùngngôn ngữ C#, Java, PHP, Ruby… kết hợp với hệ quản trị SQL, MySQL, Oracle,Lisp…Nhưng điều cần tránh là “Không nên sử dụng xe tải chỉ chở vài tạ gạo, thậm chíchỉ 1 bao gạo 50 kg” nghĩa là với những ứng dụng vừa và nhỏ nên một sử dụng phầnmềm đơn giản đủ đáp ứng
Trong các phần mềm phổ biến trên thị trường hiện nay, Microsoft Office vớiMicrosoft Access là hệ quản trị cơ sở dữ liệu thông dụng, dễ học, dễ dùng, có thể tiếpcận một cách trực quan và nhanh chóng nhất, và hầu hết các doanh nghiệp đều có bộcông cụ dành cho văn phòng này Điểm nổi bật là nó tuy đơn giản nhưng có thể đạtđược các chức năng của phần mềm chuyên nghiệp khác như: báo cáo thống kê, biểumẫu, tìm kiếm
Sau một thời gian tìm hiểu, làm việc và được tham gia giảng dạy môn MicrosoftAccess Tôi quyết định biên soạn cuốn giáo trình này nhằm phục vụ công tác giảngdạy cũng như học tập của sinh viên chuyên ngành công nghệ thông tin Nội dung giáotrình tập trung vào những kiến thức căn bản nhất của Microsoft Access Một số vấn đềnâng cao trong Microsoft Access như Macro, lập trình VBA… cũng được đề cập tronggiáo trình này Nội dung giáo trình gồm các nội dung: Tổng quan về Microsoft Access,làm việc với bảng biểu (Table), thực hiện truy vấn (Query), thiết kế Biểu mẫu (Form),tạo lập báo cáo (Report)
Mặc dù bản thân đã tham khảo các tài liệu và ý kiến tham gia của các đồng nghiệp,song cuốn giáo trình vẫn không tránh khỏi những thiếu sót Mong các bạn đóng góp ýkiến
Tôi xin cảm ơn các thầy cô khoa CNTT – Trường Cao đẳng nghề đã cho tôi các ýkiến đóng góp quý báu để tôi hoàn thiện giáo trình này
TÁC GIẢ
Trang 4MỤC LỤC
BÀI 1: TỔNG QUAN VỀ MICROSOFT ACCESS 11
1 Giới thiệu về Microsoft Access 11
2 Khởi động và thoát khỏi Access 11
2.1 Khởi động 11
2.2 Thoát khỏi MS Access 2010 12
3 Các đối tượng trong Microsoft Access 12
4 Các thao tác cơ bản trên cửa sổ CSDL 13
BÀI 2 : LÀM VIỆC VỚI BẢNG BIỂU (TABLE) 15
1 Tạo bảng mới 15
2 Những qui định về trường và kiểu dữ liệu 16
3 Các thuộc tính của trường (Field Properties) 18
4 Cài đặt khóa chính và lưu bảng 27
4.1 Cài đặt khóa chính 27
4.2 Lưu bảng 27
5 Nhập dữ liệu cho bảng 28
6 Sắp xếp dữ liệu và lọc dữ liệu 30
6.1 Sắp xếp dữ liệu 30
6.2 Lọc dữ liệu 31
7 Thiết lập mối quan hệ giữa các bảng 35
7.1 Tại sao phải tạo mối quan hệ giữa các bảng 35
7.2 Các loại quan hệ giữa các bảng 35
7.3 Thiết lập mối quan hệ giữa các bảng 37
BÀI 3: LÀM VIỆC VỚI TRUY VẤN (QUERY) 47
1 Giới thiệu về truy vấn 47
1.1 Khái niệm truy vấn 47
1.2 Các loại truy vấn 47
1.3 Tạo truy vấn 48
2 Truy vấn chọn (Select Query) 49
2.1 Các toán tử và hàm dùng trong truy vấn 49
2.2 Các ví dụ 51
2.3 Truy vấn tính tổng (Total Query) 57
2.3.1 Các bước thực hiện truy vấn tính tổng 57
2.3.2 Các phép toán thường dùng trong truy vấn tính tổng 58
2.3.3 Các ví dụ: 58
3 Truy vấn nâng cao 64
3.1 Truy vấn tham số (Parameter Query) 64
3.2 Truy vấn chéo (Crosstab Query) 69
4 Truy vấn hành động 74
4.1 Truy vấn tạo bảng mới (Make Table Query) 74
4.2 Truy vấn thêm dữ liệu (Append Query) 77
4.3 Truy vấn cập nhật (Update Query) 81
4.4 Truy vấn xóa dữ liệu (Delete Query) 82
Trang 5BÀI 4 BIỂU MẪU (FORM) 91
1 Giới thiệu biểu mẫu 91
1.1 Khái niệm biểu mẫu 91
1.2 Các dạng biểu mẫu 91
1.3 Các phương pháp tạo biểu mẫu 93
2 Tạo biểu mẫu sử dụng công cụ Wizard 93
3 Tạo biểu mẫu sử dụng công cụ Design View 94
3.1 Tạo các đối tượng có liên kết 95
3.2 Chọn các đối tượng trong biểu mẫu 95
3.3 Di chuyển, sao chép, xóa đối tượng 96
3.4 Định dạng các đối tượng 96
3.5 Tạo dáng cho các đối tượng 96
4 Chèn các đối tượng vào biểu mẫu 97
4.1 Nhãn (Label) 97
4.2 Hộp văn bản (Text box) 97
4.3 Option Button, Check Box, Toggle Button 98
4.4 Nhóm chọn lựa (Option Group) 99
4.5 Combo box và List box 100
4.6 Nút lệnh (Command button) 103
5 Thay đổi thuộc tính của biểu mẫu 105
5.1 Mở hộp thoại thuộc tính biểu mẫu 106
5.2 Bảng các thuộc tính của biểu mẫu 106
5.3 Ví dụ 107
6 Tạo biểu mẫu chính – phụ (Main form – sub form) 109
6.1 Cách tạo biểu mẫu chính/ phụ 109
6.2 Ví dụ: 110
6.3 Liên kết biểu mẫu chính và biểu mẫu phụ 110
BÀI 5 BÁO CÁO (REPORT) 121
1 Giới thiệu báo cáo 121
1.1 Khái niệm báo cáo 121
1.2 Các loại báo cáo 121
1.3 Các thành phần trong một báo cáo 121
1.4 Các phương pháp tạo báo cáo 122
2 Tạo báo cáo tự động (Auto report) 122
3 Tạo báo cáo sử dụng Report Wizard 123
4 Thiết kế báo cáo ở chế độ Design View 125
4.1 Các công cụ thường dùng khi thiết kế báo cáo 126
4.2 Tổng hợp dữ liệu trên báo cáo 127
4.2.1 Tổng hợp dữ liệu trên mỗi nhóm 127
4.2.2 Tổng hợp dữ liệu trên toàn báo cáo 127
4.2.3 So sánh dữ liệu tổng hợp trên các phần của báo cáo 127
5 Báo cáo chính – phụ 127
Trang 6DANH MỤC HÌ
Hình 1.1: Giao diện sau khi khởi động Access 12
Hình 1.2: Giao diện lưu một CSDL mới 12Y Hình 2.1: Màn hình thiết kế bảng 15
Hình 2.2: Màn hình thiết kế bảng 16
Hình 2.3: Dữ liệu được chọn cho trường MaKH trong bảng DMKhoa 25
Hình 2.4: Các thuộc tính qui định cho trường lấy dữ liệu từ một danh sách định sẵn 26
Hình 2.5: Các thuộc tính qui định cho trường lấy dữ liệu từ một trường trong bảng 26
Hình 2.6: Cảnh báo bảng không có khóa chính 27
Hình 2.7: Cửa sổ Save As để nhập tên bảng 28
Hình 2.8: Màn hình nhập liệu cho bảng 28
Hình 2.9: Nhập liệu cho trường kiểu OLE Object 30
Hình 2.10: Sắp xếp dữ liệu trên nhiều trường 31
Hình 2.11 Thực đơn RecordsFilter 31
Hình 2.12: Chọn điều kiện lọc “Hà nội tại tab “Lookup for” 32
Hình 2.13 Chọn điều kiện lọc “Sài gòn” tại tab “Or” 32
Hình 2.14 Kết quả lọc các mẫu tin có nơi sinh là “hà nội” hoặc “sài gòn” 32
Hình 2.15 Bôi đen “Chính” tại trường HoTenSV 33
Hình 2.16 Kết quả lọc các sinh viên tên là “Chính” 33
Hình 2.17 Đặt con trỏ chèn tại cell “Sài gòn” của cột NoiSinh 33
Hình 2.18 Kết quả lọc các sinh viên có nơi sinh khác “Sài gòn” 34
Hình 2.19 Bảng điều kiện lọc dữ liệu 34
Hình 2.20 Kết quả lọc các mẫu tin 35
Hình 2.21 Mở cửa sổ relationships 37
Hình 2.22 Cửa sổ Show Table 37
Hình 2.23 Cửa sổ Edit Relationships 38
Hình 2.24 Cửa sổ Join Properties 3 Hình 3.1.Cửa sổ New Query 47
Hình 3.5 Cửa sổ “Expression Builder” 50
Hình 3.6 Vùng lưới QBE thiết kế truy vấn chọn 1 50
Hình 3.7 Vùng lưới QBE thiết kế truy vấn chọn 2 51
Hình 3.8 Vùng lưới QBE thiết kế truy vấn chọn 3 51
Hình 3.9 Vùng lưới QBE thiết kế truy vấn chọn 4a 52
Hình 3.10 Vùng lưới QBE thiết kế truy vấn chọn 4b (cách 1) 52
Hình 3.11 Vùng lưới QBE thiết kế truy vấn chọn 4b (cách 2) 53
Hình 3.12 Vùng lưới QBE thiết kế truy vấn chọn 5a 53
Hình 3.13 Vùng lưới QBE thiết kế truy vấn chọn 5b 54
Hình 3.14 Vùng lưới QBE thiết kế truy vấn chọn 6 54
Hình 3.15 Vùng lưới QBE thiết kế truy vấn chọn 7 55
Hình 3.16 Cửa sổ thiết kế truy vấn tính tổng 57
Hình 3.17 Vùng lưới QBE thiết kế truy vấn tính tổng 1 58
Hình 3.18 Vùng lưới QBE thiết kế truy vấn tính tổng 2 59
Hình 3.19 Vùng lưới QBE thiết kế truy vấn tính tổng 3a 59
Hình 3.20 Vùng lưới QBE thiết kế truy vấn tính tổng 3a (Cách 2) 60
Hình 3.21 Vùng lưới QBE có dấu check tại trường có phép toán Where 60
Hình 3.22 Cửa sổ thông báo lỗi tại trường có phép toán Where 60
Trang 7Hình 3.23 Vùng lưới QBE thiết kế truy vấn tính tổng 3b 61
Hình 3.24 Vùng lưới QBE thiết kế truy vấn tính tổng 4 62
Hình 3.25 Kết quả chạy truy vấn tính tổng 4 62
Hình 3.26 Vùng lưới QBE thiết kế truy vấn tính tổng 5 63
Hình 3.27 Kết quả chạy truy vấn tính tổng 5 63
Hình 3.28 Hộp thoại “Enter Parameter Value” 64
Hình 3.29.Cửa sổ New Query 64
Hình 3.30.Cửa sổ Show Table 64
Hình 3.31 Vùng lưới QBE thiết kế và cửa sổ Query Parameters 66
Hình 3.32 Cửa sổ yêu cầu nhập tham số truy vấn tham số 1 66
Hình 3.33 Vùng lưới QBE thiết kế truy vấn tham số 2 67
Hình 3.34 Cửa sổ Query Parameters thiết kế truy vấn tham số 2 67
Hình 3.35 Cửa sổ yêu cầu nhập tham số truy vấn tham số 2 67
Hình 3.36 Vùng lưới QBE thiết kế truy vấn tham số 3 68
Hình 3.37 Bảng kết quả của thí dụ trên 68
Hình 3.38 Bảng SinhVien trong CSDL QuanLySinhVien.mdb 69
Hình 3.39 Cửa sổ thiết kế truy vấn chéo 70
Hình 3.40 Vùng lưới QBE thiết kế truy vấn chéo 1 72
Hình 3.41 Yêu cầu kết quả truy vấn chéo 2 72
Hình 3.42 Vùng lưới QBE thiết kế truy vấn chéo 2 73
Hình 3.43 Cửa sổ Make Table 74
Hình 3 44 Cửa sổ Make Table cho truy vấn tạo bảng mới 74
Hình 3.45 Vùng lưới QBE thiết kế truy vấn tạo bảng mới 75
Hình 3.46 Hộp thoại thông báo số mẫu tin trong bảng mới 75
Hình 3.47 Cửa sổ Tables khi có bảng mới tạo 75
Hình 3.48 Thông báo xóa bảng cũ của Access 76
Hình 3 49 Hộp thoại Append 76
Hình 3 50 Vùng lưới QBE truy vấn nối dữ liệu 77
Hình 3.51 Vùng lưới QBE truy vấn thêm dữ liệu 1 78
Hình 3.52 Access thông báo số mẫu tin nối vào bảng nhận 78
Hình 3.53 Access thông báo lỗi khi chạy truy vấn thêm dữ liệu lần 2 78
Hình 3.54 Vùng lưới QBE truy vấn thêm dữ liệu 2 79
Hình 3.55 Bảng MonHoc sau khi thêm mẫu tin 79
Hình 3.56 Vùng lưới QBE truy vấn cập nhật 80
Hình 3.57 Access thông báo số mẫu tin được cập nhật 81
Hình 3.58 Vùng lưới QBE truy vấn xóa 81
Hình 3.59 Access thông báo số mẫu tin bị xóa 82
Hình 3.60 Bảng SinhVien đã bị xóa mẫu tin “A01”8 Hình 4.1 Biểu mẫu dạng cột 91
Hình 4.2 Biểu mẫu dạng canh đều 91
Hình 4.3 Biểu mẫu dạng danh sách 91
Hình 4.4 Biểu mẫu dạng bảng 92
Hình 4.5 Biểu mẫu dạng chính phụ 92
Hình 4.13: Cửa sổ chọn Field List cho textbox 97
Hình 4.14: Tạo Option Button, Check Box, Toggle Button 98
Hình 4.15: Tạo đối tượng Option Group 98
Hình 4.16: Cửa sổ Combo box Wizard 99
Trang 8Hình 4.17: Cửa sổ chọn bảng nguồn trong Combo box Wizard 99
Hình 4.18: Cửa sổ chọn tên cột trong Combo box Wizard 100
Hình 4.19: Cửa sổ sắp xếp trong Combo box Wizard 100
Hình 4.20: Cửa sổ điều chỉnh độ rộng cột trong Combo box Wizard 100
Hình 4.21: Cửa sổ đặt tên cho List box 101
Hình 4.22: Cửa sổ chọn số cột, độ rộng cột trong Combo box Wizard 101
Hình 4.23 Cửa sổ Command Button Wizard 102
Hình 4.24: Cửa sổ chọn chữ hoặc hình trên Commad button 103
Hình 4.25: Cửa sổ đặt tên cho Command button 104
Hình 4 26: Các thuộc tính Form 104
Hình 4.27: Mở hộp thoại thuộc tính Form 105
Hình 4.28: Cửa sổ thuộc tính Form 105
Hình 4.29: Hình minh họa ví dụ 6 107
Hình 4.30: Hình tạo trường ràng buộc 2 biểu mẫu 108
Hình 4.31: Biểu mẫu chính –phụ 10 Hình 5.1 Cửa sổ New Report 121
Hình 5.2 Cửa sổ chọn trường hiển thị trong report wizard 122
Hình 5.3 Chọn các trường gom nhóm trong report wizard 122
Hình 5.4 Chọn các trường sắp xếp trong report wizard 123
Hình 5.5 Chọn phép toán tính tổng trong report wizard 123
Hình 5.6.Chọn dạng thể hiện trong report wizard 123
Hình 5.7 Chọn màu nền trong report wizard 124
Hình 5.8 Cửa sổ đặt tiêu đề cho báo cáo 124
Hình 5.9 Cửa sổ thiết kế báo cáo 124
Hình 5.10 Hộp thoại Properties của Textbox 125
Trang 9CHƯƠNG TRÌNH MÔ ĐUN HỆ QUẢN TRỊ CSDL MS ACCESS
Mã số của mô đun: MH14
Thời gian của mô đun: 75 giờ; ( Lý thuyết: 26 giờ; Thực hành: 49 giờ)
VỊ TRÍ, TÍNH CHẤT
- Vị trí: Mô đun được bố trí sau khi sinh viên học xong các môn học chung, các môn cơ
sở chuyên ngành đào tạo chuyên môn nghề bắt buộc
- Tính chất: Là mô đun cơ sở nghề bắt buộc
MỤC TIÊU CỦA MÔ ĐUN
- Trình bày các khái niệm cơ bản của hệ quản trị cơ sở dữ liệu Microsoft Access;
- Tạo lập được bảng dữ liệu, xây dựng được quan hệ giữa các bảng;
- Sử dụng, quản lý, bảo trì và khai thác số liệu trên các bảng;
- Thực hiện được truy vấn dữ liệu;
- Thiết kế đựợc các đối tượng Table, Query, Form
- Ứng dụng được Microsoft Access trong một bài toán thực tế.
- Bố trí làm việc khoa học đảm bảo an toàn cho người và phương tiện học tập
NỘI DUNG CỦA MÔ ĐUN
1 Nội dung tổng quát và phân phối thời gian :
Tên các bài trong mô đun
Thời gianTổng
số thuyếtLý Thựchành KiểmTra*
Trang 10TỔNG QUAN VỀ MICROSOFT ACCESS
- Phát biểu được các khái niệm cơ bản về hệ quản trị CSDL;
- Phân tích được khả năng ứng dụng của phần mềm MS Access;
- Thực hiện các thao tác cơ bản trên cửa sổ database
- Thực hiện các thao tác an toàn với máy tính
Nội dung
1 Giới thiệu về Microsoft Access
Microsoft Access là một trong những phần mềm thuộc gói phần mềm văn phòngphổ biến là Microsoft Office của tập đoàn Microsoft Đây là hệ quản trị cơ sở dữ liệu(CSDL) dành cho người dùng phổ thông để xây dựng các ứng dụng quản lý vừa vànhỏ như quản lý bán hàng, quản lý nhân viên của công ty…
Các đặc điểm của Microsoft Access:
Là hệ quản trị CSDL chạy trong môi trường Windows, có các thànhphần cần thiết như: thiết kế biểu mẫu (form), báo cáo (report), công cụ hỗ trợ Wizard,môi trường lập trình với ngôn ngữ Visual Basic for Application(VBA)…
Mang các tính năng độc đáo như: tự động kiểm tra khóa, kiểm tra cácràng buộc toàn vẹn, tự động cập nhật hay xóa dữ liệu khi có thay đổi ở các kết nối
Hỗ trợ kỹ thuật truy vấn nhanh Rushmode và công nghệ nhúng dữ liệuOLE
Tất cả toàn bộ đối tượng của một CSDL Access đều được chứa trongmột tập tin duy nhất có phần mở rộng là mdb
2 Khởi động và thoát khỏi Access
2.1 Khởi động
Cách 1: Kích đôi (Double click) lên biểu tượng chương trình Microsoft Access
trên Desktop
Cách 2: Vào Start Programs Microsoft Office Microsoft Access
Cách 3: Vào Start Run Gõ vào msaccess.exe nhấn OK.
Sau khi khởi động sẽ xuất hiện hộp thoại sau:
Trang 11Hình 1.1: Giao diện sau khi khởi động AccessKhác với các chương trình ứng dụng của Microsoft Office khác như Word hayExcel, Access yêu cầu người dùng phải đặt tên cho tập tin CSDL trước
Hình 1.2: Giao diện lưu một CSDL mới
Mở một CSDL đã có sẵn: Chọn menu FileOpen (hoặc kích chuột vào nútOpen trên thanh công cụ, hoặc nhấn Ctrl+O) Sau khi lựa chọn tập tin cần mở, clicknút Open
2.2 Thoát khỏi MS Access 2010
Cách 1: Chọn File/ Exit
Cách 2: Nhấn tổ hợp phím ALT + F4
Cách 3: Click vào nút Close ở góc trên bên phải cửa sổ
3 Các đối tượng trong Microsoft Access
Một CSDL Access gồm các đối tượng cơ bản sau đây:
3.1 Bảng (table): Một cơ sở dữ liệu gồm một hoặc nhiều bảng, việc tạo ra
các bảng nhằm mục đích tổ chức, lưu trữ dữ liệu, vì nó là thành phần cơ bản nhất
Trang 12Bảng chứa cấu trúc cơ sở dữ liệu theo mô hình quan hệ Đây là một đối tượng phảitạo ra trước tiên.
3.2 Truy vấn (Query): Là công cụ truy xuất dữ liệu trong một hoặc nhiều
bảng theo một yêu cầu nào đó Truy vấn được sử dụng để trả lời các câu hỏi vềthông tin trên một bảng hoặc dữ liệu từ mối liên kết các bảng (Select Query).Ngoài ra, truy vấn còn là công cụ cho phép sửa đổi số liệu (Update Query), nốithêm mẫu tin vào bảng (Append Query), xóa các mẫu tin trong bảng (DeleteQuery), hoặc tạo ra bảng mới (Make Table Query) Truy vấn còn được sử dụng đểtổng hợp dữ liệu (Crosstab Query), và nhiều công dụng khác nữa Đa phần các hệquản trị CSDL khác thường dùng ngôn ngữ truy vấn có cấu trúc SQL (StructuredQuery Language) Với Access, ngoài việc hỗ trợ truy vấn bằng ngôn ngữ có cấutrúc như các hệ quản trị cơ sở dữ liệu khác, nó còn thực hiện tạo truy vấn thôngqua công cụ QBE (Query By Example) rất trực quan làm cho công việc truy vấntrở nên hơn giản hơn nhiều
3.3 Biểu mẫu (Form): Dùng vào mục đích tạo ra các biểu mẫu nhập số liệu,
cho phép người sử dụng cập nhật, sửa đổi hoặc xóa dữ liệu các mẫu tin trên biểumẫu Ngoài ra, nó cũng cho phép sử dụng tạo ra các màn hình giao diện hỏi đápgiữa người sử dụng và hệ thống quản lý đang thực thi, là cầu nối trực quan nhấtcủa người sử dụng với cơ sở dữ liệu Thiết kế tốt một biểu mẫu sẽ giúp người sửdụng có kiến thực tin học hạn chế vẫn có thể dễ dàng thao tác chương trình
3.4 Báo cáo (Report): Là kết xuất sau cùng của quá trình xử lý dữ liệu Báo
cáo được tạo ra để xem trên màn hình hoặc in ra máy in, có nội dung lấy từ bảnghoặc là dữ liệu kết quả của Query Báo cáo có nhiều hình thức trình bày phongphú, đẹp mắt, không những gồm chữ, số mà có thể có hình ảnh, đồ thị…
3.5 Tập lệnh (Macro): Là một tập các thao tác được sắp xếp theo một thứ tự
nào đó nhằm mục đích tự động hóa các công việc thường làm Khi chạy mộtmacro, Access tự động thực hiện hàng loạt các thao tác đã được ghi lại trongmacro
3.6 Tập chương trình (Module): Một dạng tự động hóa cao cấp và chuyên
sâu hơn macro Đó là các hàm và thủ tục riêng của người sử dụng được soạn thảobằng ngôn ngữ VBA(Visual Basic for Application)
4 Các thao tác cơ bản trên cửa sổ CSDL
4.1 Thực hiện một đối tượng trong CSDL
Chọn tên đối tượng cần thực hiện
Chọn nút Open (đối với Bảng, Truy vấn, Biểu mẫu, Trang) hoặc Preview (đốivới Báo biểu) hoặc Run (đối với Macro và Module)
4.2 Sửa một đối tượng có sẵn trong CSDL
Trang 13Chọn tên đối tượng cần sửa đổi/ Chọn nút Design
4.3 Đổi tên một đối tượng trong CSDL
Chọn đối tượng cần đổi tên
Nhấn nút phải chuột tại đối tượng cần đổi tên, xuất hiện Pop up Menu, chọnmục Rename (hoặc chọn Edit/ Rename) Sửa lại tên đối tượng
4.4 Xóa một đối tượng
Chọn đối tượng cần xóa, nhấn nút Delete trên bàn phím
4.5 Sao chép đối tượng
Chọn các đối tượng cần sao chép
Nhấn và giữ tay trên phím Ctrl đồng thời bấm chuột vào đối tượng và rê chuộtđến vị trí mới rồi thả (hoặc nhấn tổ hợp phím Ctrl + C sau đó nhấn tổ hợp phímCtrl + V)
4.6 Di chuyển đối tượng
Chọn các đối tượng cần di chuyển
Bấm chuột vào đối tượng và rê chuột đến vị trí mới rồi thả (hoặc nhấn tổ hợp phímCtrl + X sau đó nhấn tổ hợp phím Ctrl + V)
Câu hỏi, bài tập
Bài 1: Khởi động Microsoft Access 2010, tạo một CSDL mới có tên là QLSV.mdb
lưu vào ổ đĩa D/ E
Bài 2: Thoát khỏi chương trình Microsoft Access 2010, đổi tên CSDL QLSV.mdb
thành QuanLySinhVien.mdb
Bài 3: Khởi động lại Microsoft Access 2010, sau đó mở tập tin đã tạo
QuanLySinhVien.mdb
Yêu cầu kiểm tra đánh giá kết quả học tập
- Phát biểu được các khái niệm cơ bản về hệ quản trị CSDL;
- Phân tích được khả năng ứng dụng của phần mềm MS Access;
- Thực hiện các thao tác cơ bản trên cửa sổ database
Trang 14BÀI 2 : LÀM VIỆC VỚI BẢNG BIỂU (TABLE)
Giới thiệu
Với một bài toán quản lý đặt ra, sau khi đã qua giai đoạn phân tích và thiết kế
hệ thống dữ liệu thì đến giai đoạn cài đặt hệ thống, đầu tiên người lập trình phải tạo racác bảng dữ liệu Bảng là nơi chứa dữ liệu về một đối tượng thông tin nào đó như SinhViên, Hàng hóa… Bảng theo mô hình quan hệ là một bảng hai chiều, gồm có nhiều cột
và nhiều dòng, một cột là một vùng thuộc tính của bảng gọi là các trường (field), dòngđầu tiên là dòng tiêu đề, các dòng kế tiếp là các mẫu tin hay gọi là bản ghi (record).Trong bảng có ít nhất một khóa chính (Primary key) và có thể có thêm các khóangoại (foreign key)
Mục tiêu
Phát biểu được khái niệm bảng dữ liệu;
Tạo lập được cấu trúc bảng;
Thiết lập được các trường, thuộc tính;
Thao tác được với dữ liệu trong Datasheet view
Thực hiện các thao tác an toàn với máy tính
Design View: Tạo
bảng bằng cửa sổ thiết kế chi
tiết, đây là hình thức thiết kế
chuyên sâu nhất Trong
khuôn khổ giáo trình, sẽ giới
thiệu tạo bảng theo chế độ
Design View
Hình 2.1: Màn hình thiết kế bảng
Table Wizard: Tạo bảng với sự hỗ trợ từng bước của Access, chọn các cấu trúcbảng có sẵn theo sự gợi ý của Access nhưng thường không có cấu trúc phù hợp vớicấu trúc bảng mà người dùng mong muốn tạo
Trang 15 Import Table: Nhập bảng từ một CSDL khác, tức là sao chép một hay nhiềubảng từ một CSDL có sẵn vào CSDL hiện hành.
Link Table: Tạo shortcut liên kết đến các bảng của một CSDL khác, công việcnày giống như Import Table nhưng chỉ liên kết bảng chứ không sao chép bảng vàoCSDL
Trong hộp thoại “New Table”, chọn “Design View” rồi click “OK”
Màn hình thiết kế bảng có dạng như sau:
Hình 2.2: Màn hình thiết kế bảngTrong đó:
- Field Name (tên trường): Do người dùng tùy ý đặt nhưng phải tuân theo những
qui định của Access (xem mục tiếp theo)
- Data Type (kiểu dữ liệu): Lựa chọn một kiểu dữ liệu phù hợp nhất cho trường,
danh sách các kiểu dữ liệu xem mục tiếp theo
- Description (chú thích): Không bắt buộc nhập, dùng để giải thích rõ hơn về ý
nghĩa và công dụng cho tên trường
2 Những qui định về trường và kiểu dữ liệu
Qui định về tên trường (Field Name):
- Chiều dài tối đa là 64 ký tự, kể cả khoảng trắng.
- Phải bắt đầu bằng kí tự chữ hoặc số, không được bắt đầu bằng khoảng trắng
(space)
- Không được chứa dấu nháy (‘), dấu chấm câu (.), dấu chấm thang (!), dấu móc
vuông ([ ]) để đặt tên
Trang 16- Tên trường là duy nhất trong một CSDL.
Lưu ý: Mặc dù tên trường có thể chứa khoảng trắng ở giữa và có thể gõ bằng tiếngviệt có dấu, nhưng chúng ta không nên làm thế vì sẽ gặp khó khăn trong các câu lệnhSQL và trong đoạn mã khi lập trình ở Module sau này Tốt nhất nên đặt tên trườngngắn gọn, không dấu, không khoảng trắng, viết hoa chữ cái đầu từ để dễ đọc
Ví dụ: Các tên trường hợp lệ: MaSoSV, Họ và tên, So_Luong_Mua
Các tên trường không hợp lệ: Ten[KH], BanHet!, H.Ten
Qui định về kiểu dữ liệu (Data Type):
Khi thiết kế một trường, chúng ta phải chọn cho nó một kiểu dữ liệu thật phù hợp
để Access lưu trữ chúng tối ưu, tiết kiệm bộ nhớ và đạt được tốc độ truy xuất dữ liệunhanh nhất
MS Access cung cấp một số kiểu dữ liệu cơ bản sau:
Memo Văn bản nhiều dòng, trang Tối đa 65535 kí tự
Date/ Time Ngày giờ
Auto number
ACCESS tự động tăng lên mộtkhi một bản ghi được tạo, khôngnhập hoặc sửa đổi được
4 byte
Yes/ No Luận lý (Boolen), gồm 2 giá trị
đúng (True), hay sai (False) 1 bitOLE Object Đối tượng kết nhúng (hình ảnh,
Lookup Wizard
Trường nhận giá trị dongười dùng chọn từ 1bảng khác hoặc 1 danhsách giá trị định trướcHyperlink Liên kết địa chỉ một trang web
(địa chỉ URL)Bảng 2.1 Kiểu dữ liệu cơ bản của Access
Trang 173 Các thuộc tính của trường (Field Properties)
Sau khi nhập tên trường và xác định kiểu dữ liệu cho nó, chúng ta còn phải thiếtlập các thuộc tính của trường nhằm làm tăng tính chặt chẽ của dữ liệu nhập Ứng vớimỗi kiểu dữ liệu Access sẽ có các thuộc tính khác nhau nằm trong 2 thẻ General vàLookup
3.1 Thẻ General: Gồm có các thuộc tính sau:
- Kiểu Text: Kích thước của trường là độ dài tối đa của chuỗi, tức là số lượng ký
tự tối đa mà trường có thể chứa, mặc định là 50
- Kiểu Number: Có thể chọn một trong các loại sau:
Integer : -32768 32767
Long Integer : -3147483648 3147483647
Single : -3,4 x 1038 3,4 x 1038 (Tối đa 7 số lẻ)
Double : -1.797 x 10308 1.797 x 10308 (Tối đa 15 số lẻ)
- Quy định số chữ số thập phân (Chỉ sử dụng trong kiểu Single và Double), tối đa
là 15 chữ số
- Đối với kiểu Currency mặc định Decimal Places là 2.
- Kiểu chuỗi: Gồm 3 phần
<Phần 1>;<Phần 2>;<Phần 3>
Trong đó:
<Phần 1>: Chuỗi định dạng tương ứng trong trường hợp có chứa văn bản
<Phần 2>: Chuỗi định dạng tương ứng trong trường hợp không chứa văn bản
<Phần 3>: Chuỗi định dạng tương ứng trong trường hợp Null
Các ký tự dùng để định dạng chuỗi:
> Đổi tất cả ký tự nhập vào thành in hoa
< Đổi tất cả ký tự nhập vào thành in thường
Trang 18“Chuỗi ký tự” Chuỗi ký tự giữa hai dấu nháy
Currency Định dạng kiểu tiền tệ 1234.5 $1.234.50
Bảng 2.3 Định dạng kiểu Number do Access cung cấpĐịnh dạng do người sử dụng:
<Phần 1>;<Phần 2>;<Phần 3>;<Phần 4>
<Phần 1>: Chuỗi định dạng tương ứng trong trường hợp số dương
<Phần 2>: Chuỗi định dạng tương ứng trong trường hợp số âm
<Phần 3>: Chuỗi định dạng tương ứng trong trường hợp số bằng Zero
<Phần 4>: Chuỗi định dạng tương ứng trong trường hợp null
Các ký tự định dạng
(Period) Dấu chấm thập phân
, (Comma) Dấu phân cách ngàn
Trang 19% Phần trăm
Bảng 2.4 Định dạng kiểu Number do người dùng
Ví dụ:
Định dang Hiển thị
0;(0);;”Null” Số dương hiển thị bình thường
Số âm được bao giữa hai dấu ngoặc
Số zero bị bỏ trốngNull hiển thị Null+0.0;-0.0;0.0 Hiển thị dấu + phía trước nếu số dương
Hiển thị dấu – phía trước nếu số âmHiển thị 0.0 nếu âm hoặc Null
- Kiểu Date/ Time
Các kiểu định dạng do Access cung cấp
General Date Định dạng đầy đủ 02/03/08 5:10:30 PMLong Date Định dạng ngày dài Friday, March 02, 2008Medium Date Định dạng ngày bình
thường
02-Mar-2008
Short Date Định dạng ngày ngắn 02/03/08
Long Time Định dạng giờ dài 6:20:00 PM
Medium Time Định dạng giơ bình
Trang 20WW Tuần trong năm (1-54)
Bảng 2.7 Các định dạng kiểu Yes/NoĐịnh dạng do người sử dụng gồm 3 phần:
<Phần 1>;<Phần 2>;<Phần 3>
Trong đó:
<Phần 1>: Bỏ trống
<Phần 2>: Trường hợp giá trị trường đúng
<Phần 3>: Trường hợp giá trị trường sai
Trang 21- Input Mask (Mặc nạ nhập liệu) :
Thuộc tính này dùng để quy định khuôn mẫu nhập dữ liệu cho một trường
Các ký tự định dạng trong Input Mask
0 Chữ số từ 0 9, bắt buộc nhập, không nhập dấu [+] hoặc [-]
9 Chữ số từ 0 9 và khoảng trắng, không bắt buộc nhập, không
nhập dấu [+] hoặc [-]
# Chữ số từ 0 9 và khoảng trắng, không bắt buộc nhập, cho nhập
dấu [+] hoặc [-]
L Chữ cái từ AZ, bắt buộc nhập
? Chữ cái từ AZ, bắt buộc nhập
a Chữ cái hoặc chữ số, không bắt buộc nhập
A Chữ cái hoặc chữ số, bắt buộc nhập
& Bất kỳ một ký tự nào hoặc khoảng trắng, bắt buộc nhập
C Bất kỳ một ký tự nào hoặc khoảng trắng, không bắt buộc nhập
< Các ký tự bên phải được đổi thành chữ thường
> Các ký tự bên phải được đổi thành chữ hoa
! Dữ liệu được ghi từ phải sang trái
Bảng 2.8 Các ký tự định dạng trong Input Mask
- Validation Rule và Validation Text
Quy định quy tắc hợp lệ dữ liệu (Validation Rule) để giới hạn giá trị nhập vào chomột trường Khi giới hạn này bị vi phạm sẽ có câu thông báo ở Validation Text
Trang 22Các phép toán có thể dùng trong Validation Rule
Toán tử sosánh
>,<,>=,<=,=,<>
Toán tửlogic
Or, And, Not Hoặc, và, phủ định
Toán tử vềchuỗi
Bảng 2.9 Các phép toán dùng trong Validation Rule
Chú ý: Nếu hằng trong biểu thức là kiểu ngày thì nên đặt giữa 2 dấu #
= “Nam” or = “Nữ” Chỉ nhập “Nam” hoặc “Nữ”
- Required
Có thể quy định thuộc tính này để bắt buộc hay không bắt buộc nhập dữ liệu chotrường
Trang 23Bảng 2.11 Bảng thuộc tính AllowZero Length
Thuộc tính này chỉ đối với dữ liệu kiểu Autonumber, quy định cách thức mà trường
tự động điền số khi thêm bản ghi mới vào
Bảng 2.13 Bảng thuộc tính New Value
a Thẻ Lookup:
Là cách thức để lấy dữ liệu từ một trường trong bảng khác hoặc chọn dữ liệu từmột danh sách định sẵn trước Cách này ngoài giúp giảm thời gian trong việc nhập dữliệu còn làm việc nhập liệu được chính xác hơn
Trường hợp chọn dữ liệu từ một danh sách định trước:
- Mở bảng ở chế độ thiết kế (Design View) Chọn trường cần tạo Lookup
- Chọn thẻ “Lookup”:
Tại Display Control: Chọn giá trị “List box” hoặc “Combo box”
Trang 24Tại Row Source Type: Chọn “Value List”
Tại Row Source: Nhập danh sách giá trị lựa chọn phân cách bằng dấu “;”
Tại List Rows: Số lượng bản ghi tối đa hiển thị trong danh sách
Tại List Width: Độ rộng của Combo box (tính bằng inch)
Ví dụ: Trong CSDL QuanLySinhVien.mdb, trường MaKH trong bảng DMKhoa có
giá trị nhập lấy từ danh sách {“TH”; “NN”; “CK”; “DP”; “HH”; “DT”} như hình sau:
Hình 2.3: Dữ liệu được chọn cho trường MaKH trong bảng DMKhoa
Thì việc thiết kế dữ liệu nhập cho trường MaKH sử dụng thẻ Lookup như sau:
Hình 2.4: Các thuộc tính qui định cho trường lấy dữ liệu từ một danh sách định sẵn
Trường hợp chọn dữ liệu từ một trường trong bảng khác:
- Mở bảng ở chế độ thiết kế (Design View) Chọn trường cần tạo Lookup
- Chọn thẻ “Lookup”:
Tại Display Control: Chọn giá trị “List box” hoặc “Combo box”
Tại Row Source Type: Chọn “Table/Query”
Tại Row Source: Chọn bảng hoặc truy vấn nguồn
Trang 25Tại Column count: Số trường trong bảng nguồn sẽ hiển thị
Tại List Rows: Số lượng bản ghi tối đa hiển thị trong danh sách
Tại List Width: Độ rộng của Combo box (tính bằng inch)
Ví dụ: Trên CSDL QuanLySinhVien.mdb, bảng SinhVien có khóa ngoại là
MaKhoa Dữ liệu tại trường MaKhoa ở bảng SinhVien phải là một trong các giá trịMaKh ở bảng DMKhoa (MaKh là khóa chính ở bảng DMKhoa) Điều này dễ làmngười sử dụng mất thời gian tra cứu và dễ sai sót Lookup là một công cụ dùng để giảiquyết vấn đề này, nó cho phép chúng ta nhập dữ liệu cho trường MaKhoa bảngSinhVien đơn giản bằng cách lấy dữ liệu từ trường MaKh ở bảng DMKhoa thông quamột Combo box hoặc List box
Hình 2.5: Các thuộc tính qui định cho trường lấy dữ liệu từ một trường trong bảng
4 Cài đặt khóa chính và lưu bảng
4.1 Cài đặt khóa chính
Khi chọn 1 trường làm khóa chính cho bảng, chúng ta cần lưu ý các điểm sau:
MS Access không chấp nhận các giá trị trùng nhau hay trống (null) trongtrường khóa chính
Chúng ta sẽ dùng các giá trị trong trường khóa chính để truy xuất các bản ghitrong CSDL, do đó các giá trị trong trường này không nên quá dài vì khó nhớ và khó
Trang 26 Thực hiện lệnh Edit – Primary Key hoặc nhấp chọn nút khóa trên thanhcông cụ của mục này.
Nếu muốn bỏ khóa chính thì thực hiện lệnh Edit – Primary Key hoặc nhấp chọnnút khóa trên thanh công cụ một lần nữa
Lưu ý:
Nếu lưu bảng mà quên thiết lập khóa chính thì Access sẽ đưa ra cảnh báo, đồngthời gợi ý có muốn để Access tự động tạo khóa hay không Nếu bấm Yes, Access sẽtạo một trường mới tên là ID (Kiểu Auto Number) rồi ấn định nó làm khóa chính Tốtnhất chúng ta nên nhấn nút Cancel để quay lại đặt khóa chính cho bảng
Hình 2.6: Cảnh báo bảng không có khóa chính
4.2 Lưu bảng
Chọn File Save hoặc nhấn nút Save trên thanh công cụ
Gõ tên bảng vào hộp thoại Save As rồi nhấn OK
Hình 2.7: Cửa sổ Save As để nhập tên bảng
5 Nhập dữ liệu cho bảng
Nếu đang mở bảng ở chế độ “Design View” thì nhấn nút “Datasheet View”
để chuyển sang chế độ nhập liệu, còn nếu đang ở cửa sổ database thì chọn bảngcần nhập dữ liệu rồi kích phải chọn “Open” (hoặc nhấp đúp chuột vào tên bảng)
Nhập dữ liệu vào bảng theo từng bản ghi (từng hàng), tránh tình trạng nhập dữliệu theo từng cột (trường) Dữ liệu sẽ tự động được lưu lại Ở đây có các ký hiệuchúng ta cần biết công dụng của chúng
- Bản ghi hiện thời
Trang 27- Bản ghi đang nhập dữ liệu
- Bản ghi mới
Thông thường nhập dữ liệu cho các trường phía 1 trong mô hình relationshiptrước sau đó nhập dữ liệu cho bảng phía nhiều sau, nhờ vậy mà dữ liệu không bị viphạm ràng buộc toàn vẹn
Hình 2.8: Màn hình nhập liệu cho bảng
a Bổ sung bản ghi mới cho CSDL
Đang đứng tại một bản ghi nào đó (không phải là bản ghi mới), chọn nút trênthanh công cụ hoặc thực hiện lệnh Insert – New Record
b Di chuyển giữa các bản ghi
Ta có thể di chuyển qua lại giữa các bản ghi bằng cách dùng công cụ Chọn lựa bảnghi (Record Selector)
c Nhập dữ liệu cho bản ghi
Khi đang nhập dữ liệu cho một bản ghi nào đó, thì đầu hàng của bản ghi đó cuấthiện biểu tượng
Trang 28Shift F2 Zoom
Bảng 2.14 Bảng tổ hợp phím nhập dữ liệu cho bản ghi
Theo chuẩn, khi nhập dữ liệu thì Access sẽ lấy Font mặc định là Arial Đểkhông phụ thuộc vào điều này, ta nên chọn Font trước khi tiến hành nhập dữ liệu bằngcách trong chế độ hiển thị Datasheet, thực hiện lệnh Format – Font… hoặc chúng ta
có thể thay đổi font chữ mặc định bằng cách sau: Chọn menu Tools Optionschọnthẻ Datasheet Thay đổi giá trị trong hộp thoại Font (Default Font)
Lưu ý: Đối với trường kiểu OLE Object (Kiểu dữ liệu nhúng, có thể chứa cáctập tin ảnh, âm thanh, tập tin văn bản hay các loại tập tin khác), muốn nhập dữ liệu thìthực hiện các bước sau:
- Nhập chuột trái tại bản ghi cần nhập của trường OLE
- Chọn menu Insert Object, Access sẽ xuất hiện cửa sổ như hình sau:
Hình 2.9: Nhập liệu cho trường kiểu OLE Object
Nếu muốn tạo mới một tập tin thì chọn “Create New” bấm OK
Nếu muốn lấy một đối tượng có sẵn từ một tập tin trên đĩa thì chọn
“Create from File”Nhấn nút “Browse” để tìm vị trí của tập tin cần chèn trên đĩa bấm OK để nhúng đối tượng vào CSDL của mình
Nếu chỉ muốn liên kết với tập tin đối tượng (Không nhúng) thì đánh dấuvào tùy chọn “Link” , chọn cách này thì khi di chuyển tập tin CSDL sang máy khác thìphải chép kèm theo nhữn tập tin mà nó đang liên kết đến
d Chọn các bản ghi
Đánh dấu chọn bản ghi
Chọn Edit/ Select Record: Để chọn bản ghi hiện hành
Trang 29 Chọn Edit/ Select all Record để chọn toàn bộ
Đặt con trỏ tại trường cần sắp xếp
Thực hiện lệnh Records/ Sort Ascending (Nếu sắp xếp tăng dần)
/ Sort Descending (Nếu sắp xếp giảm dần)
Chọn các trường muốn sắp xếp phải liền kề nhau
Thực hiện lệnh Records/ Sort Ascending (Nếu sắp xếp tăng dần)
/ Sort Descending (Nếu sắp xếp giảm dần)
Lưu ý:
- Các trường này phải sắp xếp cùng một kiểu hoặc là tăng dần hoặc là giảm dần
(không thể một trường là sắp xếp tăng dần, một trường thì giảm dần được)
- Phải di chuyển các cột theo thứ tự ưu tiên cột bên trái trước, bên phải sau.
Ví dụ: Sắp xếp thứ tự cột GioiTinh tăng, nếu trùng GioiTinh thì sắp tăng dần theo
Trang 30- Lọc khác chọn (Filter Excluding Selection)
- Lọc theo cách khác (Advanced Filter/Sort)
Chỉ cho phép lọc dữ liệu với phép so sánh bằng (=) và phép toán logic And, Or
Ví dụ: Lọc những sinh viên có nơi sinh là “Hà Nội” hoặc “Sài Gòn”
- Mở bảng SinhVien ở chế độ Datasheet View Chọn thực đơn Records
Filter Filter by Form
- Tại tab “Look for”, kích vào trường “NoiSinh” chọn “Hà nội”
Hình 2.12: Chọn điều kiện lọc “Hà nội tại tab “Lookup for”
- Tại tab “Look for”, kích vào trường “NoiSinh” chọn “Hà nội”
- Tại tab “Or”, kích vào trường “NoiSinh” chọn “Sài gòn”
Hình 2.13 Chọn điều kiện lọc “Sài gòn” tại tab “Or”
- Kết quả khi nhắp vào biểu tượng Apply Filter
Trang 31Hình 2.14 Kết quả lọc các mẫu tin có nơi sinh là “hà nội” hoặc “sài gòn”
- Muốn trở lại bình thường như ban đầu, kích vào biểu tượng
Nếu con trỏ chuột đang bôi đen chọn giá trị nào thì kết quả của lọc theo chọn(Filter by Selection) sẽ lọc các mẫu tin có giá trị trùng với giá trị đang chọn
Ví dụ: Lọc các sinh viên có tên là chính
- Mở bảng SinhVien ở chế độ Datasheet View Dùng chuột bôi đen tên sinh viên
là “Chính”
Hình 2.15 Bôi đen “Chính” tại trường HoTenSV
- Chọn thực đơn Records Filter Filter by Selection
- Thì kết quả lọc sẽ hiện ra như sau:
Hình 2.16 Kết quả lọc các sinh viên tên là “Chính”
- Muốn trở lại bình thường như ban đầu, kích vào biểu tượng
Trang 32Nếu con trỏ chèn đang ở cell nào đó, chọn Records Filter Filter ExcludingSelection sẽ lọc các mẫu tin theo cột có giá trị khác với cell đang chọn.
Ví dụ: Lọc các mẫu tin có nơi sinh khác “Sài gòn”
- Mở bảng SinhVien ở chế độ Datasheet View Đặt con trỏ chèn tại ô có nơi sinh
là “Sài gòn”
Hình 2.17 Đặt con trỏ chèn tại cell “Sài gòn” của cột NoiSinh
- Chọn thực đơn Records Filter Filter Excluding Selection
- Thì kết quả lọc sẽ hiện ra như sau:
Hình 2.18 Kết quả lọc các sinh viên có nơi sinh khác “Sài gòn”
- Muốn trở lại bình thường như ban đầu, kích vào biểu tượng
Với cách lọc này, Access đưa ra bảng lọc dữ liệu dạng QBE (Query ByExample) trong Query
Chúng ta có thể kết hợp các điều kiện phức tạp, các hàm tính toán, và các phéptoán logic And, Or
Nếu điều kiện ghi trên cùng một cột để thể hiện phép toán logic Or, và trêncùng một dòng thì thể hiện phép toán logic And
Trang 33Ví dụ: Lọc các sinh viên có tên là “Chính” và ngày sinh từ ngày 1/1/1975 đến
1/1/1977
- Mở bảng SinhVien ở chế độ Datasheet View Chọn thực đơn Records
Filter Advanced Filter/Sort
- Đưa vào các điều kiện lọc như sau:
Hình 2.19 Bảng điều kiện lọc dữ liệu
- Kết quả khi nhắp vào biểu tượng Apply Filter
Hình 2.20 Kết quả lọc các mẫu tin có tên là “Chính” và ngày sinh từ 1/1/1995 đến
1/1/1997
- Muốn trở lại bình thường như ban đầu, kích vào biểu tượng
7 Thiết lập mối quan hệ giữa các bảng
7.1 Tại sao phải tạo mối quan hệ giữa các bảng
Các bảng trong một cơ sở dữ liệu theo mô hình quan hệ thường ngay sau khi thiết
kế xong, các bảng phải được tạo mối quan hệ (relationship) Khi thiết lập xong mốiquan hệ, tính nhất quán của dữ liệu được đảm bảo tốt hơn, và cũng qua mối quan hệ cóthể trao đổi qua lại dữ liệu giữa các bảng
7.2 Các loại quan hệ giữa các bảng
Trang 34 Trong quan hệ một - một, mỗi bản ghi trong bảng A có tương ứng với một bảnghi trong bảng B và ngược lại mỗi bản ghi trong bảng B có tương ứng duy nhất mộtbản ghi trong bảng A.
Ví dụ: Cho 2 bảng dữ liệu
Bảng SinhVien(MaSV, Ten, NgaySinh, GioiTinh) và bảng KetQua(MaSV, Diem)
Bảng SinhVien và KetQua có mối quan hệ 1-1 dựa trên trường MaSV
Là mối quan hệ phổ biến nhất trong CSDL, trong quan hệ một nhiều: Một bảnghi trong bảng A sẽ có thể có nhiều bản ghi tương ứng trong bảng B, nhưng ngược lạimột bản ghi trong bảng B có duy nhất một bản ghi tương ứng trong bảng A
Ví dụ: Trong một khoa của một trường học nào đó có nhiều sinh viên, nhưngmột sinh viên thuộc một khoa nhất định Ta có 2 bảng dữ liệu như sau:
Bảng DMKHOA (MaKhoa, TenKhoa, sodthoai)
Bảng SinhVien(Makhoa, Ten, Quequan, lop)
Trang 35 Trong quan hệ nhiều - nhiều, mỗi bản ghi trong bảng A có thể có không hoặcnhiều bản ghi trong bảng B và ngược lại mỗi bản ghi trong bảng B có thể có khônghoặc nhiều bản ghi trong bảng A.
Khi gặp mối quan hệ nhiều - nhiều để không gây nên sự trùng lặp và dư thừa dữliệu thì người ta tách quan hệ nhiều- nhiều thành 2 quan hệ một - nhiều bằng cách tạo
ra một bảng phụ chứa khoá chính của 2 bảng đó
Ví dụ: Một giáo viện có thể dạy cho nhiều trường và một trường có nhiều giáoviên tham gia giảng dạy Đây là một mối quan hệ nhiều- nhiều
Bảng DSGV(MaGV, TenGV)
Bảng DSTRUONG(MaTruong, TenTruong)
Tạo ra bảng PHANCONG(MaGV, MaTruong)
Bảng DanhSachGV và bảng PHANCONG có mối quan hệ 1- ∞ dựa trên trườngMaGV
Bảng DSTruong và bảng PHANCONG có mối quan hệ 1- ∞ dựa trên trườngMaTruong
7.3 Thiết lập mối quan hệ giữa các bảng
Tại cửa sổ Database, thực hiện lệnh Tools/ Relationships (Hoặc Click vào biểutượng Relationships trên thanh công cụ)
Trang 36Hình 2.21 Mở cửa sổ relationships
Trong cửa sổ Show Table chọn thẻTable và chọn các bảng cần thiết lập quan
hệ, sau đó chọn Add và Close
Trong cửa sổ Relatioships sẽ xuất hiệntất cả các bảng ta vừa chọn Ở cửa sổ này takéo trường liên kết của bảng quan hệ vàotrường của bảng được quan hệ (tablerelated), trên màn hình xuất hiện hộp thoại:
Bật chức năng Enforce Referential Integrity (Nếu muốn quan hệ này bị ràngbuộc tham chiếu toàn vẹn), và thiết lập thuộc tính tham chiếu toàn vẹn trong quan hệ
Update Related Fields vàCascade Delete RelatedRecords)
Hình 2.22 Cửa sổ Show Table
Trang 37Hình 2.23 Cửa sổ Edit Relationships
Quan hệ có tính tham chiếu toàn vẹn sẽ đảm bảo các vấn đề sau:
Khi nhập dữ liệu cho trường tham gia quan hệ ở bên nhiều thì phải tồn tại bênmột
Không thể xoá một bản ghi của bảng bên một nếu trong quan hệ đã tồn tạinhững bản ghi bên nhiều có quan hệ với bản ghi bên một đó
Trường hợp vi phạm các quy tắc trên sẽ nhận được thông báo lỗi
Thiết lập thuộc tính tham chiếu toàn vẹn trong quan hệ
Nếu chọn thuộc tính “Cascade Update Related Field”, khi dữ liệu trên khoáchính của bảng bên một thay đổi thì Access sẽ tự động cập nhật thay đổi đó vào cáctrường tương ứng (có quan hệ) trên các bảng bên nhiều, hay nói cách khác, dữ liệu ởbảng bên nhiều cũng thay đổi theo
Nếu chọn thuộc tính “Cascade Delete Related Records”, khi dữ liệu trên bảngbên một bị xoá thì dữ liệu trên bảng bên nhiều cũng sẽ bị xoá
a Kiểu kết nối (Join type)
Trong quá trình thiết lập quan hệ giữa các bảng, nếu không chọn nút Create,chọn nút Join Type để chọn kiểu liên kết
Mục 1: Liên kết nội (Inner Join)
Mục 2 và 3 là liên kết ngoại (Outer Join)
b Điều chỉnh các mối quan hệ
Mở cửa sổ quan hệ (Tools/ Relatioships)
Click chuột phải, chọn Edit Relationships
Hình 2.24 Cửa sổ Join Properties
Trang 38c Xoá các mối quan hệ
Mở cửa sổ quan hệ (Tools/ Relatioships)
Chọn mối quan hệ giữa các bảng, nhấn Delete
Câu hỏi và bài tập
A Câu hỏi
1 Nêu khái niệm khóa chính, khóa ngoại? Khi chọn một trường làm khóa chính
cần chú ý những gì?
2 Trình bày các cách tạo bảng?
3 Giải thích các qui định về tên trường? Cho ví dụ minh họa?
4 Nêu các kiểu dữ liệu cơ bản trong Access?
5 Trình bày thuộc tính Field Size đối với kiểu Text và Number?
6 Nêu thuộc tính Decimal Places?
7 Giải thích thuộc tính Format đối với kiểu chuỗi, Number, DateTime và kiểu
YesNo?
8 Input Mask là gì? Nêu các kí tự định dạng trong thuộc tính Input Mask?
9 Caption và default Value là gì?
10 Trình bày công dụng thuộc tính Validation rule và Validation Text? Cho
ví dụ minh họa?
11 Nêu thuộc tính Allow Zero Length? Chuỗi như thế nào gọi là chuỗi có
độ dài bằng 0?
12 Trình bày thuộc tính Indexed?
13 Thuộc tính New Value được sử dụng khi nào? Thiết lập cho thuộc tínhNew Value như thế nào?
14 Có bao nhiêu cách để lấy dữ liệu có sẵn bằng Lookup? Trình bày thaotác cụ thể của từng cách?
15 Trình bày cách cài đặt khóa chính?
16 Nêu cụ thể các cách lưu bảng?
17 Trình bày thao tác nhập dữ liệu?
18 Để thay đổi Font chữ mặc định khi nhập dữ liệu cho bảng ta phải thựchiện thao tác gì?
19 Trình bày thao tác sắp xếp dữ liệu và lọc dữ liệu? Cho ví dụ minh họa?
Trang 3920 Tại sao phải tạo mối quan hệ giữa các bảng?
21 Nêu các loại mối quan hệ giữa các bảng?
22 Trình bày cách thiết lập mối quan hệ, điều chỉnh và xóa mối quan hệgiữa các bảng?
B Bài tập
Bài 1 Các tên trường nào sau đây là hợp lệ ?
Bài 2 Hãy qui định thuộc tính Input Mask cho các trường sau :
a Trường MaSV : Tự động viết hoa, có 2 kí tự đầu là chữ, 3 kí tự sau là số
b Trường DienThoai : Dữ liệu nhập vào là 10 kí tự số, 3 kí tự đầu đặt trongngoặc ( )
Bài 3 Mở CSDL QuanLySinhVien.mdb đã tạo ở chương 1
Tạo cấu trúc các Table như sau:
a DMKhoa (Danh mục khoa)
MaKH được lấy từ danh sách định sẵn gồm {NN,TH,HH,DT,CK,DP}
b SinhVien (Sinh Viên)
Trang 40HocBong Number Long Integer
MaSV có 3 kí tự, kí tự đầu là chữ, 2 kí tự sau là số
GioiTinh thì hiển thị là Nam, Nữ
MaKH được lấy từ giá trị của trường MaKH trong bảng DMKhoa
HocBong phải luôn luôn lớn hơn hoặc bằng 0
c MonHoc (Môn học)
Số tiết phải luôn luôn lớn hơn 0, mặc nhiên là 45
d KetQua (Kết quả)
MaSV được lấy từ giá trị của trường MaSV trong bảng SinhVien
MaMH được lấy từ giá trị của trường MaMH trong bảng MonHoc
Diem thì từ 0 đến 10, mặc định là 0
Lưu ý: Các Khóa chính trong bảng là in đậm và gạch dưới
Hãy thiết lập mối quan hệ (Relationships) cho các bảng
Nhập liệu cho các bảng như sau: