Giáo trình Nhập môn hệ quản trị cơ sở dữ liệu (Phần 1)
1. Giới thiệu về Microsoft Office
Microsoft Access là một thành phần trong bộ Microsoft Office, là hệ quản trị cơ
sở dữ liệu trên môi trường Windows, trong đó có sẵn các công cụ hữu hiệu và tiện lợi
để dễ dàng xây dựng các chương trình cho một số các bài toán thường gặp trong quản
lý, thống kê, kế toán
Microsoft Access là phương tiện để trao đổi thông tin trên mạng Internet và
Intranet, giúp người dùng nhanh chóng tạo và sử dụng các chương trình ứng dụng trên
mạng. Access không những dễ dàng liên kết các thông tin liên quan mà còn có thể làm
việc với nhiều nguồn dữ liệu khác: dBASE, Paradox, SQL trên nhiều loại máy tính:
máy tính văn phòng (PC), máy chủ (Server) máy mini và máy lớn (mainframe).
Access đảm nhận hai vai trò: phần mềm trên máy khách (client) hoặc máy chủ và dễ
dàng truy cập các chương trình ứng dụng khác như Microsoft Word, Exel, PowerPoint.
Mỗi một tệp chương trình thường có có một đuôi quy định, ví dụ các tệp của
Microsoft Word có đuôi là.doc, tệp chương trình Pascal có đuôi là. pas Một tệp
chương trình do Access 2003 tạo ra có đuôi là.MDB, và do Access 2013 tạo ra có đuôi
là.ACCDB
Một hệ chương trình do Access tạo ra gọi là một Database (cơ sở dữ liệu).
Trong các ngôn ngữ như C, Pascal, Foxpro,. một hệ chương trình gồm các tệp
chương trình và các tệp dữ liệu được tổ chức một cách riêng biệt. Nhưng trong Access
2013 toàn bộ chương trình và dữ liệu được chứa trong một tệp duy nhất có đuôi
.ACCDB. Như vậy thuật ngữ hệ chương trình hay cơ sở dữ liệu được hiểu là tổ hợp
bao gồm cả chương trình và dữ liệu. Để ngắn gọn nhiều khi ta gọi chương trình thay
cho thuật ngữ hệ chương trình. Như vậy từ đây khi nói đến chương trình hay hệ
chương trình hay cơ sở dữ liệu thì cũng có nghĩa đó là một hệ phần mềm gồm cả
chương trình và dữ liệu do Access tạo ra.
2. Làm việc với Microsoft Access
2.1 Khởi động Access
Để khởi động (chạy) Microsoft Access bạn phải chắc chắn rằng Microsoft
Office (trong đó có thành phần Microsoft Access) đã được cài đặt đúng cách trên máy
tính.8
Có nhiều cách đề khởi động Microsoft Access phụ thuộc vào hệ điều hành trên máy
tính của bạn
Cách 1: Chọn Start, Program, Microsoft Access
Cách 2: Chạy từ icon trên Desktop hoặc TaskBar
Cách 3: Trong trường hợp không tìm thấy shortcut của chương trình trên Desktop
hoặc trong menu start ta có thể chạy trực tiếp tập tin Msaccess trong thư mục đã cài
đặt Office thông thường là “C:\Program Files\Microsoft Office\Office”.
Để thuận tiện cho quá trình trình bày, dưới đây sử dụng Access 2013 cho tất cả các
giao diện và hướng dẫn thực hành.
Hình 1.1 là giao diện của Access, gồm:
- Thanh tiêu đề
- Các thanh công cụ lệnh
- Các đối tượng trong cơ sở dữ liệu hiện hành
- Thanh trạng thái
Tóm tắt nội dung tài liệu: Giáo trình Nhập môn hệ quản trị cơ sở dữ liệu (Phần 1)
0 TRƢỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI KHOA CÔNG NGHỆ THÔNG TIN ĐẶNG THỊ THU HIỀN ĐỖ THANH THỦY BÀI GIẢNG NHẬP MÔN HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ACCESS TRƢỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI KHOA CÔNG NGHỆ THÔNG TIN TS. ĐẶNG THỊ THU HIỀN Th.S ĐỖ THANH THỦY Th.S NGUYỄN KIM SAO GIÁO TRÌNH NHẬP MÔN HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU Hà nội, 01/2015 1 MỤC LỤC LỜI NÓI ĐẦU ................................................................................................................ 5 CHƢƠNG 1: TỔNG QUAN VỀ MICROSOFT ACCESS ............................................ 7 1. Giới thiệu về Microsoft Office ................................................................................ 7 2. Làm việc với Microsoft Access .............................................................................. 7 2.1 Khởi động Access ............................................................................................. 7 2.2 Tạo một cơ sở dữ liệu mới ................................................................................ 8 2.3 Làm việc với cơ sở dữ liệu đã tồn tại .............................................................. 10 CHƢƠNG 2: BẢNG VÀ MỐI QUAN HỆ .................................................................. 13 1. Cấu trúc của một bảng .......................................................................................... 13 2. Thiết kế bảng ......................................................................................................... 13 2.1 Tạo bảng .......................................................................................................... 13 2.2. Đặt khoá chính ............................................................................................... 17 2.3 Thuộc tính của trƣờng ..................................................................................... 18 2.4 Thuộc tính của bảng ........................................................................................ 19 2.5 Cập nhật dữ liệu vào bảng ............................................................................... 20 2.6 Xoá và đổi tên bảng ........................................................................................ 20 3. Thiết lập quan hệ giữa các bảng ............................................................................ 21 3.1 Mối quan hệ giữa các bảng ............................................................................. 21 3.2 Cách tạo quan hệ ............................................................................................. 22 3.3 Chỉnh sửa quan hệ ........................................................................................... 23 3.4 Tạo các toàn vẹn tham chiếu ........................................................................... 24 BÀI TẬP CHƢƠNG 2 .................................................................................................. 26 CHƢƠNG 3: TRUY VẤN ............................................................................................ 29 1. Tổng quan về truy vấn .......................................................................................... 29 2. Thao tác trên truy vấn ........................................................................................... 30 2.1 Các bƣớc tạo một truy vấn mới ....................................................................... 30 2.2 Đặt điều kiện trong truy vấn ........................................................................... 34 2.3 Tạo trƣờng tính toán trong truy vấn ................................................................ 35 2 2.4 Thuộc tính của trƣờng và truy vấn .................................................................. 36 2.5 Các phép toán và một số hàm trong Access ................................................... 37 3. Các loại truy vấn khác ........................................................................................... 43 3.1 Truy vấn tính tổng (Totals) ............................................................................. 43 3.2 Truy vấn thông số (Parameter Query) ............................................................ 45 3.3 Truy vấn Crosstab ........................................................................................... 47 3.4 Truy vấn tạo bảng (Make Table Query) ......................................................... 51 3.5 Truy vấn bổ sung (Append Query) ................................................................. 53 3.6 Truy vấn xoá (Delete Query) .......................................................................... 54 3.7 Truy vấn chỉnh sửa (Update Query) ............................................................... 56 BÀI TẬP CHƢƠNG 3 .................................................................................................. 59 CHƢƠNG 4: MẪU BIỂU ............................................................................................. 63 1. Tạo mẫu biểu bằng Autoform và Wizard.............................................................. 63 1.1 Tạo mẫu biểu bằng AutoForm ........................................................................ 63 1.2 Tạo mẫu biểu bằng Form Wizard ................................................................... 64 2. Thiết kế Form ở chế độ Design ............................................................................. 66 2.1 Các thành phần trong một Form ..................................................................... 66 2.2 Các bƣớc thiết kế Form ................................................................................... 68 3. Hộp công cụ Toolbox ............................................................................................ 73 3.1 Điều khiển Text box ........................................................................................ 74 3.2 Điều khiển Combo Box................................................................................... 75 3.3 Điều khiển Command Button ......................................................................... 83 3.4 Thiết kế dạng Main – Sub Form ..................................................................... 84 BÀI TẬP CHƢƠNG 4 .................................................................................................. 91 CHƢƠNG 5: BÁO BIỂU ............................................................................................. 93 1. Tạo báo biểu bằng Autoreport .............................................................................. 93 2. Tạo báo biểu dùng Report Wizard ........................................................................ 94 3. Tạo báo biểu dùng Design View ........................................................................... 98 4. Tạo các nhãn dùng Label Wizard ....................................................................... 102 BÀI TẬP CHƢƠNG 5 ................................................................................................ 105 3 CHƢƠNG 6: MACRO VÀ MENU ............................................................................ 107 1. Macro .................................................................................................................. 107 1.1 Tạo và sử dụng Macro .................................................................................. 107 1.2 Các hành động Macro thƣờng dùng .............................................................. 109 1.3 Gắn Macro với các sự kiện trên Form/Report .............................................. 109 1.4 Macro AutoExec ........................................................................................... 111 2. Menu Bar ............................................................................................................. 112 BÀI TẬP CHƢƠNG 6 ................................................................................................ 115 BÀI TẬP TỔNG HỢP ................................................................................................ 116 CHƢƠNG 7: LẬP TRÌNH CƠ SỞ DỮ LIỆU TRONG MS ACCESS ...................... 131 1. Giới thiệu lập trình Visual Basic Application ..................................................... 131 2. Module ................................................................................................................ 132 2.1 Module chuẩn (Standard Module) ................................................................ 133 2.2 Module lớp (Class Module) .......................................................................... 148 2.3 Module của form/report (Form/report Module) ............................................ 158 3. Kiểu dữ liệu, hằng và biến .................................................................................. 168 3.1 Kiểu dữ liệu ................................................................................................... 168 3.2 Hằng .............................................................................................................. 170 3.3 Biến ............................................................................................................... 171 4. Các cấu trúc điều khiển ....................................................................................... 175 4.1 Cấu trúc tuần tự ............................................................................................. 175 4.2 Cấu trúc rẽ nhánh .......................................................................................... 176 4.3 Cấu trúc lặp ................................................................................................... 179 5. Hàm và thủ tục .................................................................................................... 182 5.1 Hàm ............................................................................................................... 182 5.2 Thủ tục .......................................................................................................... 184 6. Các mô hình truy cập cơ sở dữ liệu .................................................................... 184 6.1 Kiến trúc chƣơng trình ứng dụng MS Access ............................................... 184 6.2 Kiến trúc DAO (Data Access Objects) ......................................................... 185 6.3 Kiến trúc ADO (ActiveX Data Objects) ....................................................... 214 4 BÀI TẬP CHƢƠNG 7 ................................................................................................ 241 TÀI LIỆU THAM KHẢO ........................................................................................... 242 5 LỜI NÓI ĐẦU Trong sự phát triển của kinh tế tri thức hiện nay, không thể phủ nhận vai trò của công nghệ thông tin. Đặc biệt lĩnh vực cơ sở dữ liệu đã và đang đƣợc nhiều ngƣời quan tâm. Rất nhiều hệ quản trị cơ sở dữ liệu đã đƣợc ứng dụng nhƣ Foxpro, Access, SQL Server, Informix, Oracle, Nhƣng đơn giản và thân thiện hơn cả là hệ quản trị CSDL Access, mặc dù nó không có những công cụ hỗ trợ mạnh nhƣ Informix hay Oracle, nhƣng nó cũng hỗ trợ tƣơng đối tốt về mặt quản lý dữ liệu vừa và nhỏ, đồng thời nó cũng cung cấp công cụ cho phép chúng ta có thể lập trình đƣợc. Chính vì vậy mà nhiều khi ta còn gọi là ngôn ngữ Access. Microsoft Access cung cấp hệ thống chƣơng trình ứng dụng rất mạnh, giúp ngƣời dùng mau chóng và dễ dàng tạo lập các trình ứng dụng từ bất kể nguồn dữ liệu nào thông qua Query, Form, Report kết hợp với việc sử dụng một số lệnh Access Basic hay còn gọi là lập trình VBA. Microsoft Access đã trải qua nhiều phiên bản, từ phiên bản Microsoft Access đầu tiên phát hành vào năm 1992 đến nay đã qua nhiều lần phát hành với trên 130 triệu bản. Vì vậy có thể nói rằng Access là một trong những chƣơng trình cơ sở dữ liệu phổ biến nhất thế giới. Hiện nay một số phiên bản đang đƣợc sử dụng rộng rãi là Microsoft Access 2007, Microsoft Access 2010, Microsoft Access 2013. Trong tài liệu này chúng tôi dùng phiên bản Access 2013 để minh hoạ. Xuất phát từ thực tế nhu cầu học tập của sinh viên chuyên nghành CNTT nói chung và sinh viên trƣờng ĐH Giao Thông Vận tải nói riêng. Chúng tôi viết cuốn giáo trình bám sát theo đề cƣơng môn học của trƣờng, để phục vụ cho sinh viên năm thứ nhất theo học môn “Nhập môn hệ quản trị cơ sở dữ liệu”. Giáo trình đƣợc xây dựng gồm 7 chƣơng: Chƣơng 1: Giới thiệu các khái niệm cơ bản của Microsoft Access Chƣơng 2: Trình bày cách tạo bảng và cách sử dụng bảng để tổ chức dữ liệu cho bài toán. Chƣơng 3: Trình bày cách tạo và sử dụng truy vấn để tổng hợp, sắp xếp và tìm kiếm dữ liệu. Chƣơng 4: Trình bày cách thiết kế và sử dụng mẫu biểu để tổ chức nhập dữ liệu cho một bảng, truy vấn hoặc các bảng có quan hệ với nhau. Chƣơng 5: Trình bày cách sử dụng báo biểu để tổ chức in dữ liệu của một bảng, truy vấn. 6 Chƣơng 6: Giới thiệu về Macro và Menu dùng thiết kế giao diện chƣơng trình. Chƣơng 7: Trình bày về lập trình trong Access. Trong quá trình biên soạn giáo trình này, mặc dù chúng tôi đã cố gắng hết sức nhƣng không tránh khỏi những sai sót. Chúng tôi rất mong nhận đƣợc ý kiến đóng góp của độc giả để cuốn sách hoàn thiện hơn. Hà nội, ngày 12 tháng 01 năm 2015 Nhóm tác giả TS. Đặng Thị Thu Hiền Th.S Đỗ Thanh Thủy Th.S Nguyễn Kim Sao 7 CHƢƠNG 1: TỔNG QUAN VỀ MICROSOFT ACCESS 1. Giới thiệu về Microsoft Office Microsoft Access là một thành phần trong bộ Microsoft Office, là hệ quản trị cơ sở dữ liệu trên môi trƣờng Windows, trong đó có sẵn các công cụ hữu hiệu và tiện lợi để dễ dàng xây dựng các chƣơng trình cho một số các bài toán thƣờng gặp trong quản lý, thống kê, kế toán Microsoft Access là phƣơng tiện để trao đổi thông tin trên mạng Internet và Intranet, giúp ngƣời dùng nhanh chóng tạo và sử dụng các chƣơng trình ứng dụng trên mạng. Access không những dễ dàng liên kết các thông tin liên quan mà còn có thể làm việc với nhiều nguồn dữ liệu khác: dBASE, Paradox, SQL trên nhiều loại máy tính: máy tính văn phòng (PC), máy chủ (Server) máy mini và máy lớn (mainframe). Access đảm nhận hai vai trò: phần mềm trên máy khách (client) hoặc máy chủ và dễ dàng truy cập các chƣơng trình ứng dụng khác nhƣ Microsoft Word, Exel, PowerPoint. Mỗi một tệp chƣơng trình thƣờng có có một đuôi quy định, ví dụ các tệp của Microsoft Word có đuôi là.doc, tệp chƣơng trình Pascal có đuôi là. pas Một tệp chƣơng trình do Access 2003 tạo ra có đuôi là.MDB, và do Access 2013 tạo ra có đuôi là.ACCDB Một hệ chƣơng trình do Access tạo ra gọi là một Database (cơ sở dữ liệu). Trong các ngôn ngữ nhƣ C, Pascal, Foxpro,... một hệ chƣơng trình gồm các tệp chƣơng trình và các tệp dữ liệu đƣợc tổ chức một cách riêng biệt. Nhƣng trong Access 2013 toàn bộ chƣơng trình và dữ liệu đƣợc chứa trong một tệp duy nhất có đuôi .ACCDB. Nhƣ vậy thuật ngữ hệ chƣơng trình hay cơ sở dữ liệu đƣợc hiểu là tổ hợp bao gồm cả chƣơng trình và dữ liệu. Để ngắn gọn nhiều khi ta gọi chƣơng trình thay cho thuật ngữ hệ chƣơng trình. Nhƣ vậy từ đây khi nói đến chƣơng trình hay hệ chƣơng trình hay cơ sở ... c Form và Report sau: - Form1: Nhập dữ liệu cho hai bảng DMPhong, Phanphoi. - Form2: Nhập dữ liệu cho hai bảng DMTaisan, Phanphoi. - Form3: giới thiệu về chƣơng trình, hình ảnh nhà cơ quan. - Report1: Báo cáo từng phòng có các loại tài sản nào. - Report2: Báo cáo từng tài sản hiện có mặt tại những phòng nào. Vấn đề đặt ra là cần tạo một menu chính ngang gồm 3 mục, khi chọn một mục lại hiện ra một menu dọc tƣơng ứng, chọn một mục của menu dọc sẽ chạy một Form hay Report tƣơng ứng. Hệ thống menu nhƣ sau: Nhập dữ liệu In báo cáo Hệ thống Nhập DMPhong và PhanPhoi Báo cáo tài sản trong phòng Giới thiệu chƣơng trình Nhập DMTaisan và PhanPhoi Tài sản có ở đâu Về Access Về Windows 113 Quá trình thực hiện nhƣ sau: - Tạo nhóm lệnh xác định các lệnh menu con - Tạo một macro khác để tạo menu chính - Đính kèm menu vào điều khiển, biểu mẫu, báo biểu, hay cơ sở dữ liệu Bƣớc 1: Tạo nhóm macro chứa các lệnh menu con Macro nhóm là một macro chứa nhiều hơn hai lệnh macro khác. a. Tại thẻ Creat, nhóm Other, bấm chọn Macro. c. Mỗi lệnh bạn muốn tạo shortcut menu: - Phần Add new action, chọn Submacro nhập đoạn văn bản hiện trên menu Lƣu ý: Để tạo một phím tắt, thêm tiền tố “&” phía trƣớc chữ cái thiết lập - Tại cột Action, các hành động cần thiết lập d. Lƣu và đặt tên cho macro Bƣớc 2: Tạo macro tạo menu chính a. Tại thẻ Create, nhóm Other, bấm chọn Macro b. Phần Action, chọn AddMenu c. Phần Menu name, gõ tên của menu d. Phần Macro name chọn tên menu đã tạo trong bƣớc 1 e. Lƣu và đặt tên cho menu 114 Bƣớc 3: Đính kèm menu theo điều khiển, biểu mẫu, báo biểu hay cơ sở dữ liệu Đƣa menu vào Add-Ins tab của form hoặc report a. Tại khung Navigation Pane, mở ở khung nhìn Design View của form hoặc report b. Tại cửa sổ thuộc tính của Form hoặc Report, chọn tab Other. Tại hộp thuộc tính Shortcut Menu gõ tên macro đã tạo ở bƣớc 2 Khi đó sẽ xuất hiện tab Add-Ins chứa menu vừa tạo 115 BÀI TẬP CHƢƠNG 6 Xây dựng giao diện cho tất cả các ví dụ và bài tập của các chƣơng trƣớc. 116 BÀI TẬP TỔNG HỢP BÀI TẬP 1 Cơ sở dữ liệu đƣợc lƣu file BT1.accdb nhƣ sau 1. Quy định các field khóa chính cho các table nhƣ sau : LOP trong table LOP, MAHS trong table DSHS, MAHS trong table DIEM. 2. Thiết lập quan hệ cho các table theo sơ đồ quan hệ nhƣ sau: LOP(LOP, 1) DSHS(LOP,∞) DSHS(MAHS, 1) DIEM(MAHS, 1) 3. Tạo Query KET QUA THIchứa kết quả thi của từng học sinh bao gồm các thông tin: LOP, MAHS, HOTEN, NU, NAMSINH, TOAN, LY, HOA, VAN, DTN, DTB, XEPLOAI Biết rằng: DTN là điểm thấp nhất trong 4 điểm TOAN, LY, HOA, VAN DTB = (TOAN*3+LY+HOA+VAN*2)/7 (lấy 2 số lẻ) XEPLOAI học sinh nhƣ sau : * Lên Lớpnếu DTB>=5 và DTN >=4 * Lƣu Ban nếu ngƣợc lại 4. Tạo Form dạng Main/Sub có tên là LOP để xem thông tin và kết quả thi của từng lớp nhƣ sau: 117 5. Tạo Query HOC SINH XUAT SAC bao gồm các học sinh có DTB>=8.5 và DTN>=8 với các field: LOP, MAHS, HOTEN, NAMSINH, NU, TOAN, LY, HOA, VAN, DTN, DTB 6. Tạo Query HOC SINH GIOI TOAN bao gồm các học sinh Lên Lớp có điểm TOAN lớn hơn điểm LY, điểm HOA và điểm VAN với các field : LOP, MAHS, HOTEN, NAMSINH, NU, TOAN, LY, HOA, VAN, DTB 7. Tạo query HOC SINH DAT THU KHOA KY THI bao gồm các học sinh Lên Lớp có DTB lớn nhất với các field : LOP, MAHS, HOTEN, NAMSINH, NU, TOAN, LY, HOA, VAN, DTB 8. Hãy tạo table gồm các thông tin sau: SOMAY (Text, 3) HOTEN (Text, 30) NGAYSINH (Date/Time) NOISINH (Text, 20) - Qui định field SOMAY làm khóa chính - Lƣu table với tên SINH VIEN - Nhập dữ liệu là thông tin của bạn vào các field trên 118 9. Tạo Report GIAY BAO DIEM có dạng nhãn để báo kết quả thi của các học sinh theo mẫu sau: BÀI TẬP 2 File Cơ sở dữ liệu BT2.accdb nhƣ sau: 1. Qui định field khóa chính cho các Table: MaDKtrong tDangKy, LoaiKHtrong KhachHang, LoaiPhong trong tLoaiPhong, MaDK trong tChiTietKH. 2. Thiết lập quan hệ cho các table nhƣ sau : tLoaiPhong( LoaiPhong, 1 ) tDangKy( LoaiPhong,∞) tDangKy( MaDK, 1 ) tChiTietDK( MaDk, 1 ) tKhachHang( LoaiKH, 1 ) tChiTietDK( LoaiKH,∞) 3. Tạo Query qChiTietDangKygồm các field sau : MaDK, LoaiKH, TenKH,NgaySinh, Phai, DiaChi, DienThoai, SoPhong, LoaiPhong, NgayVao, SoNgayO. Trong đó Số Ngày ở = Ngày Ra – Ngày Vao 4. Tạo Query qKhachHang99 gồm các field nhƣ qChiTietDangKy nhƣng chỉ gồm các khách hàng thuê phòng là năm 1999 (tính theo Ngày Vào) 5. Tạo Query qKhach-DienThoai gồm các field nhƣ qChiTietDangKy nhƣng là danh sách những khách vãng lai mà khách sạn không có số điện thoại liên lạc. 119 6. Tạo Query qKhachNu-Duoi30 gồm các field nhƣ qChiTietDangKy nhƣng là các khách hàng Nữ ở phòng loại A và dƣới 30 tuổi (tuổi < 30 ) 7. Tạo Query qTinhTiengồm các field MaDK, SoPhong, LoaiPhong, LoaiKH, TenKH, NgayVao, NgayRa, SoNgayO,DonGia, ThanhTien, GiamGiaA, GiamGiaB, ThucThu. Trong đó : (a) Số Ngày Ở= Ngày Ra – Ngày Vào (b) ThanhTien : Tính theo yêu cầu sau : Nếu Số Ngày ở <10 Thành tiền = Đơn Gía * Số ngày ở Nếu 10 <=Số Ngày ở <30 Thành Tiền = Đơn Gía* Số Ngày ở * 0.95 (Giảm5%) Nếu Số ngày ở >= 30 Thành Tiền = Đơn Gía* Số Ngày ở * 0.9 (Giảm10%) (c) GiamGiaA : ( Khuyến mãi nhân dịp 30/4 và 1/5 ). Đối với khách hàng đến khách sạntrong tháng 5 ( tính theo Ngày vào) thì : GiamGiaA = 15% * ThanhTien. Ngoài ra : GiamGiaA = 0 (d) GiamGiaB: ( Khách hàng đặc biệt ) Khách loại 3 : GiamGiaB = 10%*ThanhTien Khách loại 2 : GiamGiaB = 5%*ThanhTien Khách loại 1 : GiamGiaB = 0 (e) ThucThu= ThanhTien – GiamGiaA – GiamGiaB 8. Tạo From fKH-LoaiPhong nhƣ sau : 9. Tạo Report rTinhTien có dạng nhãn nhƣ sau cho tất cả các khách hàng: 120 10. Tạo Table THISINHcó các field sau :SoMay(Number–Integer), HoTen (Text-35), Ca(text-35). Không qui dịnh field khóa chính. Nhập dữ liệu là thông tin của chính bạn BÀI TẬP 3 1. Tạo một cơ sở dữ liệu chứa 3 table có nội dung nhƣ hình sau: Yêu cầu: • Tự xác định cấu trúc các table căn cứ vào dữ liệu chứa trong đó • Qui định khóa chính cho các table nhƣ sau: ChiTietVanTai là MaVT, TrongTai là MaTrongTai, LoTrinh là MaLoTrinh 2. Thiết lập quan hệ giữa các table theo sơ đồ quan hệ sau: TrongTai ( MaTrongTai, 1 ) ChiTietVanTai ( MaTrongTai, ) LoTrinh ( MaLoTrinh, 1 ) ChiTietVanTai ( MaLoTrinh, ) 3. Tạo query tên CuocPhiVanTai gồm các field SoXe, MaLoTrinh, SoLuongVT, NgayDi, NgayDen, ThoiGianVT, CuocPhi, Thuong. Trong đó: • ThoiGianVT: là 1 nếu vận chuyển trong ngày, là (NgayDen-NgayDi) trong trƣờng hợp ngƣợc lại. 121 • CuocPhi: là SoLuongVT x DonGia x 105% nếu SoLuongVT nhiều hơn TrongTaiQD, là SoLuongVT x DonGia trong trƣờng hợp ngƣợc lại. • Thuong: là 5% của CuocPhi nếu ThoiGianVT vuot ThoiGianQD, là 0 trong trƣờng hợp ngƣợc lại. 4. Tạo một form tên CuocPhiVanTai có dạng sau: 5. Tạo query tên BangChietTinhCPVT gồm các field SoXe, TenLoTrinh, SoLuongVT, NgayDi, NgayDen, CuocPhi. 6. Tạo một report tên BangChietTinhCPVT theo mẫu sau: (góc phải dƣới của mỗi trang phải có số thứ tự trang ) 7. Tạo query tên Câu 8để lập danh sách các xe có lộ trình vận tải là Hà Nội. 122 Query gồm các field SoXe, MaTrongTai, SoLuongVT, NgayDi, NgayDen. 8. Tạo query tên Cau 9 để lập danh sách các xe có lộ trình vận tải là Nha Trang hoặc có SoLuongVT vƣợt trọng tải qui định. Query gồm các field SoXe, TenLoTrinh, SoLuongVT, TronTaiQD, NgayDi, NgayDen. 9. Tạo query tên Cau 10 để lập danh sách các xe có lộ trình Pleiku đƣợc thƣởng hoặc các xe có CuocPhi từ 30000 đến 50000. Query gồm các field SoXe, TenLoTrinh, CuocPhi, Thuong. BÀI TẬP 4 CSDL: BT4.accdb và quy định các field khóa chính cho các table nhƣ sau : DTDUTHI trong table ChiTietDT, SOBD trong table DanhSach, SOBD trong table DiemThi. 1. Thiết lập quan hệ cho các table theo sơ đồ quan hệ nhƣ sau : ChiTietDT( DTDUTHI, 1 ) DanhSach( DTDUTHI, ∞ ) DanhSach( SOBD, 1 ) DiemThi( SOBD, ∞ ) 2. Tạo Query KET QUA chứa kết quả thi của từng học sinh bao gồm các thông tin : SoBD, HoTen, Phai, Tuoi, Toan, Van, AnhVan, TongDiem, XepLoai, DTDuThi Biết rằng : TongDiem = Toan + Van + AnhVan + DiemUT XepLoai học sinh nhƣ sau : * Giỏi nếu TongDiem>=24 và tất cả các môn >=7 * Khá nếu TongDiem>=21 và tất cả các môn >=6 * Trung Bình nếu TongDiem>=15 và tất cả các môn >=4 * Trƣợt nếu ngƣợc lại 3. Tạo Query GIOI TOAN – VAN – ANH VAN bao gồm các học sinh có ít nhất 1 môn 10 và có TongDiem>=25 bao gồm các thông tin : SoBD, HoTen, Toan, Van, AnhVan, TongDiem, DienGiaiDT 123 Kết quả đƣợc sắp xếp giảm dần theo TongDiem 4. Tạo Query DANH SACH DAU (ĐẬU) gồm các học sinh có XepLoai là Giỏi, Khá hoặc Trung Bình với các field : SoBD, HoTen, Phai, Tuoi, Toan, Van, AnhVan, TongDiem, XepLoai, DTDuThi Lƣu ý : Kết quả đƣợc sắp tăng dần theo DTDuThi, cùng DTDuThi thì sắp giảm dần theo TongDiem 5. Tạo query HOC SINH DAT THU KHOA KY THI bao gồm các học sinh “ĐẬU” có TongDiem lớn nhất với các field : SoBD, HoTen, Phai, Tuoi, Toan, Van, AnhVan, TongDiem, DienGiaiDT 6. Tạo Form dạng Main/Sub có tên XEM KET QUA để xem thông tin và kết quả thi theo từng đối tƣợng nhƣ sau : 7. Tạo Report dạng nhãn GIAY BAO KET QUA THI để báo kết quả thi của học sinh theo mẫu sau : 124 BÀI TẬP 5 Cho CSDL: BT5.accdb và quy định các field khóa chính cho các table: MATRUONG trong table TRUONG, MAHS trong table DANHSACH, MAHS và MON trong table DIEM 1. Thiết lập quan hệ cho các table theo hình sau: TRUONG( MATRUONG, 1) → DANH SACH( MATRUONG, ∞) DANH SACH( MAHS, 1) → DIEM( MAHS, ∞) 2. Tạo Query Toan gồm các field sau: MaHS, Toan. Trong đó, Toan là cột điểm toán, mỗi HS một dòng. 3. Tạo Query Van gồm các field sau: MaHS, Van. Trong đó, Van là cột điểm văn, mỗi HS một dòng. 4. Tạo Form TRUONG VA DSHS để xem thông tin của trƣờng và danh sách học sinh của từng trƣờng, form có dạng sau: 125 Trong đó: (a) TD là tổng điểm của toán và văn. (b) Xếp loại theo tiêu chuẩn sau: Giỏi nếu TD>=16 và không có môn nào dƣới 7, Khá nếu TD>=14 và không có môn nào dƣới 6, TB nếu TD>=10 và không có môn nào dƣới 4, Kém - còn lại. 5. Tạo Report Giay Bao Diem có dạng nhãn cho tất cả các học sinh tƣơng tự bài 4. 6. Tạo Query DSHS_LQD_NTMK_10 gồm các field: MaHS, Ho, Ten, Toan, Van, TD. Kết quả vấn tin là danh sách học sinh thuộc trƣờng Lê qúy Đôn (LQD) và trƣờng Nguyễn Thị Minh Khai (NTMK) nhƣng có ít nhất 1 môn có điểm 10. 7. Tạo Query DSHS_Dau gồm các field: MaHS, Ho, Ten, Toan.Van, TD. Kết quả vấn tin là danh sách học sinh đậu, có tổng điểm từ 9 trở lên và không có môn nào nhỏ hơn 4. BÀI TẬP 6 Cho CSDL: BT6.accdb và quy định các field khóa chính cho các Table: LOP trong LOP, SoBD trong HOCSINH, SoBD trong DIEM. 1. Thiết lập quan hệ cho các Table: LOP(LOP, 1) → HOCSINH(LOP, ∞); HOCSINH(SoBD, 1) → DIEM(SoBD, 1) 2. Tạo Form HOC SINH VA DIEM có dạng sau: 126 Lƣu ý: - Không đƣợc tạo query làm dữ liệu nguồn cho form, mà lấy trực tiếp từ các Table. - Mục đích form dùng xem/nhập các thông tin và điểm thi của từng học sinh) 3. Tạo Form LOP VA DSHS có dạng Main/SubForm để xem thông tin từng lớp và danh sách học sinh của các lớp đó, form có dạng sau: Trong đó: * TD là tổng điểm của 3 môn. * XếpLoại: Giỏi nếu TD>=24, Khá nếu TD>=21, TB nếu TD>=15, Kém - còn lại. 4. Tạo Report PHIEU DIEM là các nhãn, mỗi nhãn là phiếu điểm của một học sinh và yêu cầu trên trang in có ít nhất 2 cột nhãn tƣơng tự bài 4. 5. Tạo Query DSHS_KHEN THUONG gồm có các field sau: SoBD, Ho, Ten, Toan, Van, NN, TD. Kết quả vấn tin là DS học sinh có xếp loại là giỏi nhƣng phải có ít nhất một môn có điểm là 10. 6. Tạo Query DSHS_LUU BAN gồm các field sau: SoBD, Ho, Ten, Toan, Van, NN, TD, Lop. Kết quả vấn tin là DS học sinh có tổng điểm nhỏ hơn 14 hoặc một trong các môn có điểm nhỏ hơn 4. BÀI TẬP 7 Cho CSDL: BT7.accdb và quy định các field khóa chính cho các Table: MaHD trong tbl Hoa don, MaHD và MaSP trong tbl Chi tiet hoa don, MaKH trong tbl Khach hang, MaNV trong tbl Nhan vien, MaSP trong tbl San pham. 127 1. Thiết lập quan hệ cho các Table: tbl Nhan Vien(MaNV,1) → tbl Hoa Don(MaNV,∞) tbl Khach Hang(MaKH,1) → tbl Hoa Don(MaKH, ∞ ) tbl Hoa Don(MaHD,1) → tbl Chi tiet Hoa don(MaHD,∞) tbl San Pham(MaSp,1) → tbl Chi tiet Hoa don(MaSp, ∞ ) 2. Tạo Form HOA DON VA CTHD có dạng Main/SubForm để xem/nhập hoá đơn và chi tiết theo hoá đơn có dạng sau: (ThànhTiền bằng Số lƣợng nhân giá bán) 128 3. Tạo Report GIAY MOI là các nhãn, mỗi nhãn là giấy mời của một khách hàng và yêu cầu trên trang in có ít nhất 2 cột nhãn, có dạng sau: 4. Tạo Query QUA TANG gồm có các field sau: MaHD, MaKH, NgayLapHD, TenSp, Soluong, Giaban, ThanhTien, Giamgia, Quatang. Trong đó: ThànhTiền là Số lƣợng nhân giá bán. Giảmgiá là 10% của ThànhTiền nếu thành tiền của sản phẩm không dƣới 500 và Soluong sản phẩm bán phải từ 35 trở lên. Quà tặng đƣợc tính nhƣ sau: nếu thành tiền ít hơn 1000 thì không đƣợc vé nào, từ 1000 đến <2000 đƣợc 1 vé ca nhạc, từ 2000 đến <3000 đƣợc 2 vé ca nhạc, v.v (ví dụ: nếu thànhtiền = 4000 thì Quàtặng là 4 vé ca nhạc). Sắp xếp theo MaHD theo thứ tự tăng dần. 5. Tạo Query DSHD RUOU_97 gồm các field sau: MaHD, NgayLapHD, SOLUONG, THANHTIEN. Kết qủa vấn tin là DSHĐ đƣợc lập trong năm 97 có ghi bán sản phẩm “Rƣợu”. 6. Tạo Query DSHD THANG 1_2_PNAM gồm các field sau: MaHD, NgaylapHD, TenCty, ThanhPho. Kết quả vấn tin là danh sách hóa đơn đƣợc lập cho các khách hàng ở “Tp HCM” và “Cần Thơ” trong các tháng 1 và 2. Sắp xếp theo ngày lập hđ với thƣ tự tăng dần. BÀI TẬP 8 Cho CSDL: BT8.accdb và quy định các field khóa chính cho các Table: MaPBtrong PHONG BAN, MaNVtrong NHAN VIEN, MaNVtrong CHI TIET. 129 1. Thiết lập quan hệ cho các Table: PHONG BAN(MaPB, 1) NHAN VIEN(MaPB, ) NHAN VIEN(MaNV, 1) CHI TIET(MaNV, 1 ) 2. Tạo Form PHONG BAN VA DSNVcó dạng Main/SubForm để xem thông tin từng phòng ban và danh sách nhân viên của các phòng ban đó, form có dạng sau: (Lƣơng bằng HSLƣơng nhân 250000) 3. Tạo Report PHIEU LUONG là các nhãn, mỗi nhãn là phiếu lƣơng của một nhân viên và yêu cầu trên trang in có ít nhất 2 cột nhãn, report có dạng sau: 130 4. Tạo Query DSNV_TROCAP_PHUCAPgồm có các field sau: MaNV, Ho, Ten, ChucVu, ThamNien, Luong, TroCap, PhuCapTN. Trong đó: ThâmNiên là số năm làm việc của nhân niên trong công ty, đƣợc tính dựa và ngày bắt đầu làm việc (NgayBD). Lƣơng là hệ số lƣơng (HSLuong) nhân 250000. TrợCấp là 150000 cho các nhân viên có ngày sinh trƣớc ngày 30/4/75. PhụCấpTN (phụ cấp thâm niên): chỉ đƣợc tính cho các nhân viên có thâm niên không dƣới 5 năm, và cứ mỗi năm thâm niên sau 5 năm đƣợc tính 50000 (ví dụ: ThamNien=5 có PhuCapTN=50000, 6 năm – 100000, 7 năm – 150000, 8 năm – 200000 v.v) 5. Tạo Query DSNV_70_TKgồm các field sau: MaNV, Ho, Ten, NTNS, Luong. Kết quả vấn tin là DS nhân viên sinh vào năm 1970 và làm việc trong phòng có mã là TK. 6. Tạo Query DSNV_TL_TK_6gồm các field sau: MaNV, Ho, Ten, ChucVu, Luong. Kết quả vấn tin là DSNV có chức vụ là thƣ ký (TK) và trợ lý (TL) và có thâm niên từ 6 năm trở lên.
File đính kèm:
- giao_trinh_nhap_mon_he_quan_tri_co_so_du_lieu_phan_1.pdf