Bài giảng Hệ quản trị cở sở dữ liệu Mcrosoft Access - Nguyễn Thị Tuyết

ppt 94 trang hapham 2310
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Hệ quản trị cở sở dữ liệu Mcrosoft Access - Nguyễn Thị Tuyết", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pptbai_giang_he_quan_tri_co_so_du_lieu_mcrosoft_access_nguyen_t.ppt

Nội dung text: Bài giảng Hệ quản trị cở sở dữ liệu Mcrosoft Access - Nguyễn Thị Tuyết

  1. Hệ quản trị cở sở dữ liệu Mcrosoft Access Ths. Nguyễn Thị Tuyết
  2. Nhập môn ⚫ - Mục đích: ⚫ Giúp HV làm quen với cách tạo CSDL, xử lý và quản trị CSDL. Từ đó có thể thiết kế các chương trình quản lý nhân sự, quản lý tiền lương, kế toán, bán hàng, ⚫ - Tài liệu tham khảo: Tất cả các sách về Access từ phiên bản 97, sách tin học văn phòng trình độ B.
  3. Chương 1 TỔNG QUAN CƠ SỞ DỮ LIỆU ACCESS 1. GIỚI THIỆU MICROSOFT ACCESS Microsoft Access là một Hệ Quản Trị Cơ Sở Dữ Liệu (QTCSDL) tương tác người sử dụng chạy trong môi trường Windows. Microsoft Access cho chúng ta một công cụ hiệu lực và đầy sức mạnh trong công tác tổ chức, tìm kiếm và biểu diễn thông tin.
  4. 1. GIỚI THIỆU MICROSOFT ACCESS ⚫ Microsoft Access cho ta các khả năng thao tác dữ liệu, khả năng liên kết và công cụ truy vấn mạnh mẽ giúp quá trình tìm kiếm thông tin nhanh. Người sử dụng có thể chỉ dùng một truy vấn để làm việc với các dạng cơ sở dữ liệu khác nhau. Ngoài ra, có thể thay đổi truy vấn bất kỳ lúc nào và xem nhiều cách hiển thị dữ liệu khác nhau chỉ cần động tác nhấp chuột.
  5. 1. GIỚI THIỆU MICROSOFT ACCESS ⚫ Microsoft Access và khả năng kết xuất dữ liệu cho phép người sử dụng thiết kế những biểu mẫu và báo cáo phức tạp đáp ứng đầy đủ các yêu cầu quản lý, có thể vận động dữ liệu và kết hợp các biểu mẫu va báo cáo trong một tài liệu và trình bày kết quả theo dạng thức chuyên nghiệp.
  6. 1. GIỚI THIỆU MICROSOFT ACCESS ⚫ Microsoft Access là một công cụ đầy năng lực để nâng cao hiệu suất công việc. Bằng cách dùng các Wizard của MS Access và các lệnh có sẵn (macro) ta có thể dễ dàng tự động hóa công việc mà không cần lập trình. Đối với những nhu cầu quản lý cao, Access đưa ra ngôn ngữ lập trình Access Basic (Visual Basic For application) một ngôn ngữ lập trình mạnh trên CSDL.
  7. 2. KHỞI ĐỘNG VÀ THOÁT KHỎI ACCESS ⚫ 2.1. Khởi động ACCESS ⚫ Chọn nút Start trên thanh Task bar - Chọn Programs ⚫ Chọn Microsoft ACCESS ⚫ Khung hội thoại Microsoft ACCESS gồm: ⚫ Create a New Database Using: Tạo CSDL ứng dụng mới. ⚫ Blank Database : Tạo CSDL trống. ⚫ Database Wizard : Tạo với sự trợ giúp của Wizard. ⚫ Open an Existing Database : Mở một CSDL có sẵn. ⚫ 2.2. Thoát khỏi ACCESS ⚫ Chọn File/Exit hoặc nhấn tổ hợp phím ALT+F4
  8. 3. CÁC THAO TÁC TRÊN TẬP TIN CƠ SỞ DỮ LIỆU ACCESS ⚫ 3.1. Tạo một tập tin CSDL ⚫ Chọn File/New hoặc biểu tượng New trên thanh công cụ ⚫ Chọn Database, chọn OK ⚫ Trong mục Save in: Chọn thư mục cần chứa tên tập tin. ⚫ File name: Chọn tên tập tin cần tạo ⚫ (Phần mở rộng mặc định là MDB)
  9. 3. CÁC THAO TÁC TRÊN TẬP TIN CƠ SỞ DỮ LIỆU ACCESS ⚫ 3.2. Mở một CSDL đã tồn tại trên đĩa ⚫ Chọn File/Open database (Hoặc click biểu tượng Open) ⚫ Trong mục Look in : Chọn thư mục cần chứa ⚫ tên tập tin cần mở. ⚫ File name: Chọn tên tập tin cần mở. ⚫ Chọn Open ⚫ 3.3. Đóng một CSDL ⚫ Chọn File/Close hoặc ALT+F4
  10. 3. CÁC THAO TÁC TRÊN TẬP TIN CƠ SỞ DỮ LIỆU ACCESS 3.4. Các thành phần cơ bản của một tập tin CSDL ACCESS ⚫ Một tập tin CSDL ACCESS gồm 6 thành phần cơ bản sau ⚫ Bảng (Tables) : Là nơi chứa dữ liệu ⚫ Truy vấn (Queries) : Truy vấn thông tin dựa trên một ⚫ hoặc nhiều bảng. ⚫ Biểu mẫu (Forms) : Các biểu mẫu dùng để nhập dữ liệu ⚫ hoặc hiển thị dữ liệu. ⚫ Báo cáo (Reports) : Dùng để in ấn. ⚫ Tập lệnh (Macros) : Thực hiện các tập lệnh. ⚫ Đơn thể (Modules) : Dùng để lập trình Access Basic
  11. 4. CÁCH SỬ DỤNG CỬA SỔ DATABASE ⚫ 4.1. Tạo một đối tượng mới ⚫ Trong cửa sổ Database, chọn tab chứa đối tượng cần tạo (Bảng, Truy vấn, Biểu mẫu, Báo cáo, ) hoặc thực hiện lệnh ⚫ View/DatabaseObject- Table/Query/Form/ ⚫ ReportPages/Macros/Modules ⚫ Chọn nút New.
  12. 4. CÁCH SỬ DỤNG CỬA SỔ DATABASE ⚫ 4.2. Thực hiện một đối tượng trong CSDL ⚫ Trong cửa sổ Database, chọn tab cần thực hiện. Cửa sổ Database liệt kê tên các đối tượng có sẵn, chọn tên đối tượng cần mở. ⚫ Chọn nút Open (đối với Bảng, Truy vấn, Biểu mẫu, Trang) hoặc Preview (đối với Báo biểu) hoặc Run (đối với Macro và Module).
  13. 4. CÁCH SỬ DỤNG CỬA SỔ DATABASE ⚫ 4.3. Sửa đổi một đối tượng có sẵn trong CSDL ⚫ Trong cửa sổ Database, chọn tab cần thực hiện. Cửa sổ Database liệt kê tên các đối tượng có sẵn, chọn tên đối tượng cần mở, Chọn nút Design.
  14. Chương 2 BẢNG DỮ LIỆU ⚫ Bảng là đối tượng chủ yếu chứa các thông tin cần quản lý, có thể đó chỉ là một vài địa chỉ đơn giản hay cả vài chục nghìn bản ghi chứa đựng thông tin liên quan đến các hoạt động SXKD của một công ty xuất nhập khẩu nào đó. Trước khi ta muốn làm việc với bất kỳ một CSDL nào thì ta phải có thông tin để quản lý, các thông tin đó nằm trong các bảng, nó là cơ sở để cho người sử dụng tạo các đối tượng khác trong CSDL như truy vấn, biểu mẫu, báo biểu
  15. 1. THIẾT KẾ CƠ SỞ DỮ LIỆU ⚫ - Một CSDL được thiết kế tốt giúp truy cập nhanh, rút ra được những kết quả nhanh chóng và chính xác. ⚫ - Khi bắt tay thiết kế CSDL, chúng ta phải xác định và phân tích các thông tin muốn lưu trữ thành các đối tượng riêng rẽ, sau đó báo cho Hệ QTCSDL biết các đối tượng đó liên quan với nhau như thế nào. Dựa vào các quan hệ đó mà Hệ QTCSDL có thể liên kết các đối tượng và rút ra các số liệu tổng hợp cần thiết.
  16. CÁC BƯỚC THIẾT KẾ CSDL ⚫ Bước 1: Xác định mục tiêu khai thác CSDL ⚫ Bước 2: Xác định các bảng dữ liệu cần thiết. Mỗi đối tượng thông tin sẽ hình thành một bảng trong CSDL ⚫ Bước 3: chỉ rõ thông tin nào cần quản lý trong mỗi bảng (trường) ⚫ Vd: Trong lý lịch khoa học:“HỌ Tên”, “Chuyên Môn”, “HỌc VỊ”, “HỌc Hàm”, ⚫ Bước 4: Xác định các mối quan hệ giữa các bảng. ⚫ Bước 5: Tinh chế, hiệu chỉnh lại thiết kế.
  17. 2. KHÁI NIỆM VỀ BẢNG ⚫ - Bảng là nơi chứa dữ liệu về một đối tượng thông tin nào đó như Sinh viên, hóa đơn, Mỗi hàng trong bảng gọi là một bản ghi (record) chứa các nội dung riêng của đối tượng đó. Mỗi bản ghi của một bảng đều có chung cấu trúc, tức là các trường (field). ⚫ - Vd: Cho bảng dưới đây để quản lý lý lịch khoa học cán bộ trong trường đại học, có các trường MACB (Mã cán bộ), TRINHDOVH (Trình độ văn hóa), CHUYENMON (Chuyên môn),
  18. 3. TẠO BẢNG MỚI TRONG CƠ SỞ DỮ LIỆU ⚫ 3.1. Tạo bảng không dùng Table Wizard ⚫ -Trong cửa sổ Database, chọn tab Table (hoặc Lệnh View/Daatbase object - Table) ⚫ -Chọn nút New, xuất hiện hộp thoại ⚫ +Datasheet View: Trên màn hình sẽ xuất hiện một ⚫ bảng trống với các trường lần lượt Field1, field2 ⚫ +Design View: Trên màn hình xuất hiện cửa sổ ⚫ thiết kế bảng, người sử dụng tự thiết kế bảng. ⚫ +Table Wizard: Thiết kế bảng với sự trợ giúp của Access ⚫ +Import table: Nhập các bảng từ các tập tin khác vào CSDL ⚫ +Link table: nối vào CSDL hiện thời bảng của CSDL khác. ⚫ -Chọn chức năng Design View, chọn OK.
  19. 3.2. Sử dụng Design View Field Name: Tên trường cần đặt (thông tin cần quản lý) Data Type: Kiểu dữ liệu của trường Desciption: Mô tả trường, phần này chỉ mang ý nghĩa làm rõ thông tin quản lý, có thể bỏ qua trong khi thiết kế bảng. Field properties: Các thuộc tính của trường Xác định khoá chính của bảng (nếu có) Xác định thuộc tính của bảng, Lưu bảng dữ liệu
  20. Đặt tên trường Tên trường ở đây không nhất thiết phải có độ dài hạn chế và phải sát nhau, mà ta có thể đặt tên trường tùy ý nhưng không vượt quá 64 ký tự kể cả ký tự trắng. Lưu ý rằng, tên trường có thể đặt dài nên nó dẽ mô tả được thông tin quản lý, nhưng sẽ khó khăn hơn khi ta dùng các phát biểu SQL và lập trình Access Basic. Do đó khi đặt tên trường ta nên đặt ngắn gọn, dễ gợi nhớ và không chứa ký tự trắng.
  21. Kiểu dữ liệu MS Access cung cấp một số kiểu dữ liệu cơ bản sau:
  22. Quy định thuộc tính, định dạng cho trường Đặt thuộc tính là một phần không kém quan trọng, nó quyết định đến dữ liệu thực sự lưu giữa trong bảng, kiểm tra độ chính xác dữ liệu khi nhập vào, định dạng dữ liệu nhập vào Mỗi một kiểu dữ liệu sẽ có các thuộc tính và các đặc trưng và khác nhau. Sau đây là các thuộc tính, định dạng của các kiểu dữ liệu.
  23. 3.2.1. Field Size Kiểu Text: Chúng ta quy định độ dài tối đa của chuỗi. Kiểu Number: Có thể chọn một trong các loại sau: Byte: 0 255 Integer: -32768 32767 Long Integer: -3147483648 3147483647 Single:-3,4x1038 3,4x1038 (Tối đa 7 số lẻ) Double: -1.797x10308 1.797x10308 (Tối đa 15 số lẻ) Decimal Places Quy định số chữ số thập phân ( Chỉ sử dụng trong kiểu Single và Double) Đối với kiểu Currency mặc định decimal places là 2
  24. 3.2.2. Format Quy định dạng hiển thị dữ liệu, tùy thuộc vào từng kiểu dữ liệu. Kiểu chuỗi: Gồm 3 phần ; ; Trong đó: : Chuỗi định dạng tương ứng trong trường hợp có chứa văn bản. : Chuỗi định dạng tương ứng trong trường hợp không chứa văn bản. : Chuỗi định dạng tương ứng trong trường hợp null
  25. Các ký tự dùng để định dạng chuỗi word
  26. 3.2.4. Caption Quy định nhãn là một chuỗi ký tự sẽ xuất hiện tại dòng tiêu đề của bảng. Chuỗi ký tự này cũng xuất hiện tại nhãn các của các điều khiển trong các biểu mẫu hoặc báo cáo. 3.2.5. Default value Quy định giá trị mặc định cho trường trừ Auto number và OEL Object 3.2.6. 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 cho một trường. Khi giới hạn này bị vi phạm sẽ có câu thông báo ở Validation text. Ví dụ:word
  27. 4. THIẾT LẬP KHOÁ CHÍNH 4.1. Khái niệm khoá chính Sức mạnh của một Hệ QTCSDL như Microsoft Access, là khả năng mau chóng truy tìm và rút dữ liệu từ nhiều bảng khác nhau trong CSDL. Để hệ thống có thể làm được điều này một cách hiệu quả, mỗi bảng trong CSDL cần có một trường hoặc một nhóm các trường có thể xác định duy nhất một bản ghi trong số rất nhiều bản ghi đang có trong bảng. Đây thường là một mã nhận diện như Mã nhân viên hay Số Báo Danh của học sinh. Theo thuật ngữ CSDL trường này được gọi là khóa chính (primary key) của bảng.
  28. Khi chọn trường làm khóa chính chúng ta lưu ý mấy điểm sau: - MS Access không chấp nhận các giá trị trùng nhau hay trống (null) trong trườ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 ghi trong CSDL, do đó các giá trị trong trường này không nên quá dài vì khó nhớ và khó gõ vào. - Kích thước của khóa chính ảnh hưởng đến tốc độ truy xuất CSDL. Để đạt hiệu quả tối ưu, dùng kích thước nhỏ nhất để xác định mọi giá trị cần đưa vào trường.
  29. 4.2. Cách đặt khoá chính Mở bảng ở chế độ Design View Nhắp chọn trường cần đặt Edit - Primary Key hoặc nhắp chọn nút trên thanh công cụ của mục này . chú ý: Không phải mọi trường đều có thể làm khóa chính, mà chỉ có các trường có các kiểu dữ liệu không phải là Memo và OLE Object., Hyper Link. Để hủy bỏ khóa chính đã thiết lập thì thực hiện lệnh View – Indexes,trong hộp thoại này chọn và xóa đi những trường khóa đã thiết lập:
  30. 5. LƯU BẢNG Sau khi thiết kế xong, ta tiến hành lưu bảng vào CSDL, có thể thực hiện một trong hai thao tác sau: Thực hiện lệnh File - Save. Nhắp chọn nút trên thanh công cụ của mục này (Table Design)
  31. 6. HIỆU CHỈNH BẢNG 6.1. Di chuyển trường: Các thao tác để di chuyển thứ tự các trường Đưa con trỏ ra đầu trường đến khi con trỏ chuột chuyển thành  thì nhắp chọn. Đưa con trỏ ra đầu trường vừa chọn, nhấn và kéo đếnvị trí mới.
  32. 6.2. Chen trường : Các thao tác lần lượt như sau Chọn trường hiện thời là trường sẽ nằm sau trường được chen vào Thực hiện lệnh Insert/ Row
  33. 6.3. Xóa trường: Các thao tác lần lượt như sau Chọn trường cần xóa Thực hiện lệnh Edit - Delete Rows
  34. 6.4. Quy định thuộc tính của bảng Mở bảng ở chế độ Design View, chọn View/Properties Description: Dòng mô tả bảng Validation Rule: Quy tắc hợp lệ dữ liệu cho toàn bảng. Validation Text: Thông báo lỗi khi dữ liệu không hợp lệ.
  35. 7. XEM THÔNG TIN VÀ BỔ SUNG BẢN GHI 7.1. Xem thông tin ở chế độ datasheet Muốn xem thông tin trong một bảng chúng ta phải chuyển bảng sang một chế độ hiển thị khác gọi là Datasheet. Trong chế độ hiển thị này, mỗi bản ghi được thể hiện trên một hàng ngang, hàng đầu tiên là các tên trường.
  36. Sau đây là các cách để chuyển sang chế độ hiển thị Datasheet: Trong của sổ Database của CSDL đang mở, nhấp chọn tab Table. Trong mục này chọn bảng cần hiển thị rồi chọn nút Open, bảng sẽ được mở để bổ sung và chỉnh sửa dữ liệu. Ta có thể chuyển sang chế độ Datasheet ngay khi đang ở trong chế Design, bằng cách nhắp chọn nút thì bảng sẽ chuyển sang chế độ Datasheet, để quay trở về chế độ Design, ta nhắp chọn lại nút . Hoặc chọn lệnh View - /Design View.
  37. 7.2. Bổ sung bản ghi cho bảng Sau khi hoàn thành công việc thiết kế cấu trúc bảng, ta tiến hành nhập dữ liệu, tức là bổ sung các bản ghi, cho bảng. Hiển thị bảng ở chế độ hiển thị Datasheet, mỗi hàng đại diện cho một bản ghi. Ở đây có các ký hiệu chúng ta cần biết công dụng của chúng Bản ghi hiện thời Bản ghi đang nhập dữ liệu Bản ghi mới
  38. 7.2.1. 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ên thanh công cụ. Hoặc thực hiện lệnh Record - Go To - New. 7.2.2. Di chuyển giữa các bản ghi Ta có thể di chuyển qua lại giữ các bản ghi bằng cách dùng công cụ Chọn lựa bản ghi (Record Selector). 7.2.5. Xóa bản ghi Chọn các bản ghi cần xóa, sau đó thực hiện lệnh Edit - Delete (hoặc nhấn phím DELETE) .
  39. 8. THIẾT LẬP QUAN HỆ GIỮA CÁC BẢNG 8.1. Các loại quan hệ trong cơ sở dữ liệu ACCESS 8.1.1. Quan hệ một -một (1-1) 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ản ghi 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ột bản ghi trong bảng A. Ví du
  40. ⚫ 8.1.2. Quan hệ một nhiều ( 1- ) ⚫ Là mối quan hệ phổ biến nhất trong CSDL, trong quan hệ một nhiều : Một bản ghi 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ại mộ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ững một sinh viên thuộc một khoa nhất định.
  41. 8.3. Quan hệ nhiều nhiều( - ) Trong quan hệ nhiều nhiều, mỗi bản ghi trong bảng A có thể có không hoặc nhiề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ông hoặ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 khóa 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áo viên tham gia giảng dạy. Đây là một mối quan hệ nhiều-nhiều
  42. 8.4. Thiết lập mối quan hệ giữa các bảng dữ liệu (Relationships) Trong cửa sổ Show Table chọn Table và chọn các bảng cần thiết lập quan hệ, sau đó chọn Add và Close. Kéo trường liên kết của bảng quan hệ vào trường của bảng được quan hệ (Table related). Bật chức năng Enforce Referential Integrity ( Nếu muốn quan hệ này bị ràng buộc tham chiếu toàn vẹn), chọn mối quan hệ (one-many) hoặc (one- one). Chọn nút Create.
  43.  Chú ý 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ên mộ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ại nhữ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 thì sẽ nhận được thông báo lỗi.
  44. 8.4.1. Thiết lập thuộc tính tham chiếu toàn vẹn trong quan hệ Trong khi chọn mối quan hệ giữa các bảng, có 2 thuộc tính tham chiếu toàn vẹn đó là Cascade update related fields,Cascade Delete related records, có thiết lập 2 thuộc tính này. Nếu chọn thuộc tính Cascade update related fields, 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 sự thay đổi đó vào các trườ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ảng bên một bị xoá thì dữ liệu trên bảng bên nhiều cũng sẽ bị xoá
  45. 8.4.3. Điều chỉnh các mối quan hệ Mở cửa sổ quan hệ (Tools/Relationship) Click chuột phải, chọn edit relationship 8.4.4. Xoá các mối quan hệ Mở cửa sổ quan hệ (Tools/Relationship) Chọn mối quan hệ giữa các bảng, nhấn delete.
  46. 9. SẮP XẾP VÀ LỌC DỮ LIỆU 9.1. Một số phép toán và hàm 9.1.1. Một số phép toán Ký tự thay thế:? : Thay thế cho một ký tự bất kỳ Ký tự * : Thay thế cho một dãy các ký tự. Phép toán Like: Giống như In: Kiểm tra một giá trị có thuộc một tập các giá trị hay không? Is Null: Giá trị của một trường là Null. Is not Null:Giá trị của một trường là không Null. Between and: Kiểm tra xem một giá trị có thuộc một "đoạn" nào đó hay không?
  47. 9.1.2. Một số hàm Hàm Left$( , ): Trích bên trái chuỗi n ký tự. Hàm Right$( , ): Trích bên phải chuỗi n ký tự. Hàm Ucase( ): Trả lại một chuỗi in hoa. Hàm Lcase( ): Trả lại một chuỗi in thường. Hàm IIF( , , ): Nếu nhận giá trị true thì hàm trả lại , ngược lại hàm trả lại .
  48. 9.2. Sắp xếp dữ liệu 9.2.1. sắp xếp trên một trường Đặt con trỏ tại truờng cần sắp xếp Thực hiện lệnh Records/ Sort/ Sort Ascending (Nếu sắp xếp tăng dần) / Sort Descending (Nếu sắp xếp giảm dần)
  49. 9.2.2. sắp xếp trên nhiều trường Mở bảng trong chế độ Datasheet rồi thực hiện lệnh Records/ Filter/ Advanced Filter sort Trong hàng Field: Chọn các trường cần sắp xếp (Thứ tự ưu tiên từ trái sang phải) Trong hàng Sort: Chọn tiêu chuẩn sắp xếp. Trong hàng Criteria: Chọn điều kiện sắp xếp (nếu có). Xem kết quả.: Chọn Filter/Apply filter.
  50. 9.3. Lọc dữ liệu ⚫ Mở bảng trong chế độ Datasheet rồi thực hiện lệnh ⚫ Records/ Filter/ Advanced Filter sort ⚫ Trong hàng Field: Chọn các trường làm tiêu chuẩn lọc dữ liệu ⚫ Trong hàng Criterie: Chọn tiêu chuẩn lọc dữ liệu. ⚫ Thực hiện lệnh Filter/ Apply filter sort để xem kết quả
  51. Chương 3 TRUY VẤN (QUERY) Sức mạnh thực sự của CSDL là khả năng tìm đúng và đầy đủ thông tin mà chúng ta cần biết, trình bày dữ liệu sắp xếp theo ý muốn. Để đáp ứng yêu cầu trên, Acces cung cấp một công cụ truy vấn cho phép đặt câu hỏi với dữ liệu đang chứa bên trong các bảng trong CSDL.
  52. 1. KHÁI NIỆM TRUY VẤN Truy vấn là một công cụ cho phép đặt câu hỏi với dữ liệu trong bảng dữ liệu trong CSDL. Loại truy vấn thông dụng nhất là truy vấn chọn (Select Query ). Với kiểu truy vấn này chúng ta có thể xem xét dữ liệu trong các bảng, thực hiện phân tích và chỉnh sửa trên dữ liệu đó, có thể xem thông tin từ 1 bảng hoặc có thể thêm nhiều trường từ nhiều bảng khác nhau.
  53. 1.1. Các loại truy vấn trong Access Select Query : Truy vấn chọn Crosstab Query : Truy vấn tham khỏa chéo (Thể hiện dòng và cột) Action Query : Truy vấn hành động gồm Truy vấn tạo bảng (make table Query ) Truy vấn nối (append Query ) Truy vấn cập nhật ( Update Query ) Truy vấn xóa dữ liệu ( Delete Query ) SQL Query : Truy vấn được viết bởi ngôn ngữ SQL. Pass throught Query : Gởi các lệnh đến một CSDL SQL như Microsoft SQL server.
  54. 1.2. Sự cần thiết của truy vấn Khi đứng trước một vấn đề nào đó trong CSDL, nếu sử dụng công cụ truy vấn thì có thể thực hiện được các yêu cầu sau: Sự lựa chọn các trường cần thiết. Lựa chọn những bản ghi. Sắp xếp thứ tự các bản ghi. Lấy dữ liệu chứa trên nhiều bảng khác nhau trong CSDL. Thực hiện các phép tính. Sử dụng truy vấn làm nguồn dữ liệu cho một biểu mẫu (Form), báo cáo (report) hoặc một truy vấn khác (Query ). Thay đổi dữ liệu trong bảng.
  55. 2. CÁC CHẾ ĐỘ HIỂN THỊ TRUY VẤN 2.1. Cửa sổ thiết kế truy vấn (Design view). Trong chế độ này, người sử dụng có thể tạo, sửa chữa một truy vấn nào đó. Màn hình truy vấn chứa hai phần, phần thứ nhất chứa các bảng (hoặc truy vấn) tham gia truy vấn, phần thứ hai gọi là vùng lưới QBE (Query By Example). 2.2. Cửa sổ hiển thị truy vấn (DataSheet view). Sử dụng chế độ này để xem kết quả. 2.3. Cửa sổ lệnh SQL (SQL view). Sử dụng chế độ này để xem mã lệnh của truy vấn đang tạo
  56. 3. TẠO TRUY VẤN 3.1.Tạo mới 1 truy vấn Từ cửa sổ Database, click vào đối tượng Queries. Chọn nút New. Chọn Design View, chọn OK Trong bảng Show Table chọn các bảng tham gia vào truy vấn và nhấn nút Add, sau đó nhấn Close
  57. Đưa các trường từ các bảng vào tham gia truy vần bằng cách kéo các trường và thả vào hàng Field trong vùng lưới QBE. Trong hàng Sort: Sắp xếp dữ liệu (nếu có) Trong hàng Criteria đặt tiêu chuẩn (nếu có) ⚫ 3.3. Thể hiện hoặc che dấu tên bảng trong vùng lưới QBE ⚫ Muốn biết tên trường hiện tại trong vùng lưới QBE là của tên bảng nào, tại chế độ Design View người sử dụng thực hiện View/tables name.
  58. 3.4. Xem kết quả của truy vấn. Tại cửa sổ Database chọn tên truy vấn rồi chọn Open, hoặc trong khi thiết kế truy vấn thực hiện lệnh View/datasheet View. 3.5. Đổi tiêu đề cột trong truy vấn. Đổi tên tiêu đề cột trong truy vấn mục đích là làm cho bảng kết xuất dễ đọc hơn (Trừ khi đã quy định thuộc tính Caption). Muốn đổi tên tiêu đề cột thực hiện theo các bước sau: Mở truy vấn ở chế độ Design View Chọn vào bên trái ký tự đầu tiên của tên trường trong vùng lưới QBE Gõ vào tên mới, theo sau là dấu 2 chấm (:).
  59. 3.6. Định thứ tự sắp xếp Có thể sử dụng nhanh trong chế độ datasheet View . Có thể tạo sắp xếp trong khi thiết kế truy vấn bằng cách chọn Ascending (tăng dần) hoặc Descending (giám dần) trong hàng Sort của vùng lưới QBE .  Chú ý: Nếu có nhiều trường định vị sắp xếp thì theo thứ tự ưu tiên từ trái sang phải.
  60. 3.7. Che dấu hay thể hiện các trường trong Dynaset Tại hàng Show ứng với trường cần che dấu chúng ta không chọn mặt dù nó vẫn tồn tại, vẫn tham gia truy vấn.
  61. 4. THIẾT KẾ TRUY VẤN CHỌN 4.1. Định nghĩa truy vấn chọn Truy vấn chọn là loại truy vấn được chọn lựa, rút trích dữ liệu từ các bảng dữ liệu thỏa mãn một hoặc nhiều điều kiện nào đó. Khi thực hiện truy vấn chọn, Access tác động lên dữ liệu và thể hiện các bản ghi thoả mãn các điều kiện đăt ra trong một bảng kết quả gọi là Recordset.
  62. 4.2. Lập phép chọn trong truy vấn 4.2.1. Chọn một nhóm các bản ghi thỏa mãn một điều kiện nào đó Muốn thực hiện các phép chọn trong khi thể hiện truy vấn người ta thường sử dụng các phép toán sau: >= <> = Between and 4.2.2. Ký tự thay thế Ký tự * : Thay thế một nhóm ký tự bất kỳ. Ký tự ? : Thay thế 1 ký tự. Ký tự [ ] : Thay thế các ký tự trong ngoặc vuông. Ký tự ! : Phủ định. Ký tự - : Từ ký tự đến ký tự.
  63. 4.2.4. Định nhiều tiêu chuẩn trong lựa chọn Dùng phép “Và” và phép “Hoặc” trong một trường Muốn quy định nhiều tiêu chuẩn trong cùng một trường, chúng ta phải sử dụng toán tử AND (và ) cùng toán tử OR (hoặc). Ví dụ: Tạo một truy vấn để hiển thị danh sách những sinh viên có Họ là "Nguyễn" và Tên "Thuỷ" bao gồm các trường: Tenlop, Hotensv, Ngaysinh. Tạo truy vấn chọn và đưa 2 bảng dslop và dssv vào tham gia truy vấn Đưa các trường Tenlop, hotensv, ngaysinh vào vùng lưới QBE Trong hàng Criteria của trường Hotensv : Like "Nguyễn *" and "* Thuỷ"
  64. 4.2.5. Chọn các bản ghi có chứa có giá trị Chúng ta có thể chọn các bản ghi có chứa hoặc không chứa giá trị, chẳng hạn như tìm những sinh viên mà không có số điện thoại nhà ở. Access cung cấp 2 phép toán IS NULL IS NOT NULL
  65. 4.2.6. Chọn các bản ghi thuộc danh sách các giá trị nào đó Chúng ta có thể sử dụng phép toán IN (Danh sách giá trị) Ví dụ Tạo một truy vấn để hiển thị danh sách những sinh viên thuộc lớp "Tin K23" hoặc "Tin K24" hoặc "Tin K25" bao gồm các trường: Tenlop, Hotensv, hocbong.
  66. 4.2.7. Tham chiếu đến các trường khác Nếu trong biểu thức chọn của truy vấn, các tính toán tham chiếu đến các trường phải đặt trong dấu [ ], trường hợp tham chiếu đến trường của bảng khác phải chỉ rõ bảng nguồn của nó. [Tên bảng]![Tên trường]. 4.2.8. Tạo trường kiểu biểu thức Ví dụ Cho 2 bảng dữ liệu Dssv( Masv, hotensv, ngaysinh, quequan, gioitinh) Dsdiem( Masv, mamon, diem_lan1, diem_lan2) Tạo truy vấn để hiển thị các thông tin: Hotensv, mamon, diem_lan1, diem_lan2, dtb, trong đó dtb=(diem_lan1+ diem_lan2*2)/3.
  67. 4.2.9 .Chọn giá trị duy nhất Theo mặc định, access sẽ chọn tất cả các bản ghi thoã mãn điều kiện, tuy nhiên đôi khi có nhiều giá trị giống nhau được lặp đi lặp lại, do đó để cô đọng dữ liệu thì chúng ta có thể quy định thuộc tính duy nhất trong khi hiển thị Thuộc tính Unique-values Chọn Yes: Không thể hiện các giá trị trùng nhau Chọn No: Thể hiện các giá trị trùng nhau Thuộc tính Unique-Records Chọn Yes: Không thể hiện các bản ghi trùng nhau Chọn No: Thể hiện các bản ghi trùng nhau
  68. 5. TRUY VẤN DỰA TRÊN NHIỀU BẢNG DỮ LIỆU ⚫ 5.1. Liên kết các bảng trong truy vấn Khi các bảng dữ liệu được thiết lập mối quan hệ thì trường nối với nhau gọi là trường liên kết, trong access phân biệt 3 loại liên kết sau 5.1.1. Liên kết nội (Inner join) 5.1.2. Liên kết ngoại (Outer join) 5.1.3. Tự liên kết (Seft join)
  69. 5.2.Tạo liên kết ngoại Muốn tạo liên kết ngoại giữa 2 bảng dữ liệu ta thực hiện Tools/Relationships Double click vào đường liên kết giữa 2 bảng dữ liệu, chọn Join Type Trong hộp thoại Join Properties chọn mục 2 hoặc mục 3.
  70. 6. TÍNH TỔNG TRONG TRUY VẤN CHỌN Một số phép toán thường sử dụng Sum Avg Min Max Count First Last Where Expression
  71. 6.1. Tạo truy vấn tính tổng -Tạo truy vấn chọn và đưa các bảng vào tham gia truy vấn -Thực hiện lệnh: View/Totals -Trong vùng lưới QBE: +Tại hàng Field chọn các trường +Total chọn các phép toán tương ứng. +Criteria: Chọn điều kiện giới hạn tính tổng (Nếu có) - Lưu và thực hiện truy vấn
  72. 6.2. Tính tổng của tất cả các bản ghi -Tạo truy vấn chọn. -Đưa các bảng cần thiết vào truy vấn. -Đưa các trường cần thiết vào vùng lưới QBE -Chọn menu View/Totals, dòng Total sẽ xuất hiện trên vùng lưới. -Trong hàng total của mỗi trường chọn phương pháp tính tổng (Sum, Avg, count ). Vì đang tính tổng của tất cả các bản ghi nên không được phép chọn “Group by” ở bất kỳ trường nào. -Chuyển sang DataSheet View để xem kết quả. (View/ Datasheet View)
  73. 6.4. Tính tổng trên nhiều nhóm bản ghi Access cho phép tính tổng không chỉ trên một mà còn nhiều nhóm bản ghi. Để làm được điều đó chúng ta chọn “Group by” trên nhiều trường và khi thực hiện Access sẽ theo thứ tự từ trái sang phải trường bên trái là nhóm mức cao hơn, trường kế tiếp theo là nhóm mức thấp hơn.
  74. Ví dụ: Tạo truy vấn để tính tổng thanhtien của mỗi mặt hàng bán được theo từng năm nào đó? Tạo truy vấn và đưa 2 bảng dshang và dskhach vào tham gia truy vấn Chọn View/Totals Đưa các trường tenhang, ngaymua, thanhtien vào vùng lưới QBE Tại hàng Total của trường tenhang chọn phép toán Group by Tại hàng field của trường ngayban sử dụng hàm year([ngayban]) và tại hàng total chọn phép toán Group by. Tại hàng Total của trường Thanhtien chọn phép toán Sum. Thay đổi tiêu đề cột trong truy vấn.
  75. 6.5. Lập biểu thức chọn cho các trường dùng để nhóm khi tính tổng Cũng như với những truy vấn khác, chúng ta có thể lập biểu thức chọn cho truy vấn tính tổng theo từng nhóm. Để thực hiện công việc này, chúng ta lập biểu thức điều kiện ngay hàng Criteria của trường “group by”.
  76. 6.6. Lập biểu thức chọn để giới hạn những bản ghi. Trong các phần trước, chúng ta đã biết cách giới hạn các bản ghi trong truy vấn theo một điều kiện nào đó, sự giới hạn này gọi là giới hạn sau khi tính tổng. Bây giờ chúng ta lập biểu thức chọn giới hạn số bản ghi trước khi đưa vào tính tổng trong truy vấn gọi là giới hạn trước khi tính tổng .
  77. Cách tạo Tạo truy vấn mới và đưa các bảng tham gia vào truy vấn Đưa các trường vào vùng lưới QBE. Chọn menu View/Total Thiết lập hàng Total thành Where đối với trường chúng ta muốn dùng để đặt biểu thức điều kiện giới hạn số bản ghi trước khi tính tổng. Gõ biểu thức điều kiện tại hàng Criteria tương ứng. Chuyển sang chế độ datasheet view để xem kết quả.
  78. 7. TRUY VẤN THAM SỐ (Parameter Query) 7.1. Khái niệm Nếu thường xuyên chạy cùng một truy vấn, nhưng mỗi lần một tiêu chuẩn khác nhau, thay vì phải thiết kế lại truy vấn sau mỗi lần thực hiện, có thể tiết kiệm thời gian bằng cách tạo truy vấn tham số. Khi thực hiện loại này Access sẽ nhắc nhập điều kiện chọn trong hộp thoại enter parameter Value.
  79. 7.2. Tạo truy vấn tham số Tạo truy vấn chọn và đưa các bảng cần thiết vào tham gia truy vấn. Kéo các trường cần thiết vào vùng lưới QBE. Tại hàng Criteria gõ vào biểu thức có chứa tham số với chú ý tên tham số phải nằm giữa 2 dấu ngoặc vuông ( [ ]) Tên tham số cũng là chuỗi nhắc nhở.Access cho phép có khoảng trắng và độ dài tối đa 255 ký tự. Quy định kiểu dữ liệu cho tham số: Chọn queries/ parameter query. Trong hộp thoại query parameters: Trong mục Parameter chọn tham số, trong mục Data type chọn kiểu dữ liệu tương ứng.
  80. 7.3. Truy vấn nhiều tham số Có thể tạo truy vấn , khi chạy truy vấn nhập nhiều dữ liệu cho điều kiện chọn lựa. Muốn vậy tạo truy vấn nhiều tham số. 7.4. Kết hợp giữa truy vấn tham số và truy vấn tính tổng Trong nhiều bài toán quản lý người ta thường gặp những yêu cầu như: Hãy thống kê xem mỗi loại hàng trong một tháng nào đó bán được với tổng số lượng là bao nhiêu? Tổng thành tiền là bao nhiêu? (Tháng được nhập từ bàn phím). Vì vậy trước hết chúng ta phải thực hiện truy vấn tính tổng xong mới kết hợp truy vấn tham số.
  81. 8. TRUY VẤN THAM KHẢO CHÉO (Crosstab query) 8.1. Khái niệm Truy vấn tham khảo chéo là loại truy vấn dùng để tóm lược dữ liệu và trình bày kết quả theo dạng như một bảng tính. Truy vấn tham khảo chéo cũng có thể thống kê một khối lượng dữ liệu lớn và trình bày đơn giản hơn do đó thường sử dụng để so sánh dữ liệu.
  82. 8.2. Tạo truy vấn tham khảo chéo Muốn tạo một truy vấn tham khảo chéo chúng ta phải xác định được 3 yếu tố chính: Trường làm tiêu đề cột ( Duy nhất 1 trường), trường làm tiêu đề hàng ( Có thể nhiều trường), trường tính giá trị (Duy nhất 1 trường).
  83. Cách tạo Tạo truy vấn chọn và đưa các bảng vào tham gia truy vấn Đưa các trường vào vùng lưới QBE Chọn Query/Crosstab Quy định trường làm tiêu đề cột Tại hàng Total: Bắt buộc chọn phép toán Group by Tại hàng Crosstab: Chọn Column heading Quy định trường làm tiêu đề hàng Tại hàng Total: Ít nhất một trong các trường phải chọn phép toán Group by Tại hàng Crosstab: Chọn Row heading Quy định trường tính giá trị Tại hàng Total: Chọn phép toán thích hợp Tại hàng Crosstab: Chọn Value
  84. 6.3. Tính tổng trên từng nhóm bản ghi -Tạo truy vấn -Đưa các bảng tham gia vào truy vấn -Đưa các trường vào vùng lưới -Chọn View/Totals -Tại hàng total +Chọn “Group by” cho trường làm khóa để nhóm Chọn các phép toán tính tổng ( Sum,count ) cho các trường còn lại Chọn View/Datasheet View để xem kết quả.
  85. Chương 4 NGÔN NGỮ SQL 1. GIỚI THIỆU VỀ NGÔN NGỮ SQL SQL là một ngôn ngữ dùng để truy xuất dữ liệu, cập nhật, thay đổi và quản lý các CSDL quan hệ. Truy vấn hội (Union Query) Truy vấn chuyển nhượng (pass through Query) Truy vấn định nghĩa dữ liệu (Data Definition Query) Truy vấn con (Sub Query)
  86. 2. SQL XỬ LÝ TRÊN BẢNG DỮ LIỆU 2.1. Tạo bảng mới Cú pháp Create table ( [(Size)][, [(Size)] [Constraint primary key ] [Constraint Unique ] Chức năng: Tạo cấu trúc của một bảng mới.
  87. 2.2. Thay đổi cấu trúc của bảng 2.2.1.Thêm hoặc loại bỏ trường Cú pháp Alter table [ add column ] [Drop column ] [Add Constraint unique ] [Drop Constraint ] Chức năng:Thay đổi cấu trúc của bảng
  88. 2.2.2. Loại bỏ chỉ mục Cú pháp Drop Index on Chức năng: Loại bỏ 1 chỉ mục nào đó. 2.3. Xoá bảng Cú pháp Drop table Chức năng: Xoá bảng dữ liệu nào đó.
  89. 3. SQL XỬ LÝ TRÊN TRUY VẤN 3.1.Truy vấn chọn (Select query) Cú pháp Select [AS ] From [Where ] Chức năng: Tạo truy vấn chọn Trong đó: Scope: Phạm vi (Mặc định là ALL, Top n: Lấy n bản ghi đầu tiên) Nếu có AS thì sẽ thay thế tên cho Fieldname tương ứng. Table name: Tên bảng cần lấy dữ liệu. Condition: Điều kiện để hạn chế dữ liệu.
  90. 3.2. Truy vấn tính tổng (Total query) Cú pháp Select from [where ] Group by [Group fieldname] [Having ]; Chức năng: Tạo một truy vấn tính tổng. 3. 3.Truy vấn tham khảo chéo Cú pháp Transform Select From Where Group by Pivot Chức năng: Tạo truy vấn tham khảo chéo
  91. 3.4. Truy vấn tạo bảng Cú pháp Select into [Where ] Chức năng: Tạo một truy vấn tạo bảng Ví dụ Select Mahang, tenhang into Luu From Dskhang Where Mahang Like “A*”;
  92. 3.5. Truy vấn nối dữ liệu Cú pháp Insert into Select From [Where ] Chức năng: Tạo truy vấn nối dữ liệu Nếu chỉ thêm 1 bản ghi với các giá trị cụ thể thì ta thực hiện câu lệnh Insert into values
  93. 3.6. Truy vấn cập nhật dữ liệu Cú pháp Update Set = [Where ] Chức năng: Tạo một truy vấn dùng để cập nhật dữ liệu Ví dụ: Update dssv set [hocbong]=[hocbong]+200000 Where Uutien=”1”;
  94. 3.7. Truy vấn xoá Cú pháp Delete From [Where ] Chức năng: Dùng để tạo một truy vấn xoá các bản ghi trong bảng theo một hoặc nhiều điều kiện nào đó.