2.6.1. CÁC MỐI QUAN HỆ
a) QUAN HỆ ONE TO ONE (1-1)
Mỗi mẩu tin trong Table này quan hệ với một mẩu tin trong Table kia hay nĩi cách khác 2 Table sử dụng khĩa chính của mình để liên kết với khĩa chính của Table kia.
Thí dụ: Quan hệ giữa Table T_HOSONV (danh sách nhân viên) với
Hình 2.24 : Các mẩu tin trong 2 Table T_HOSONV và T_CHAMCONG06.
b) QUAN HỆ ONE TO MANY (1-N)
Mỗi mẩu tin trong Table này quan hệ với nhiều mẩu tin trong Table kia hay nĩi cách khác Table này sử dụng khố chính để liên kết với trường khĩa ngoại của Table kia.
Thí dụ: Quan hệ giữa Table T_HOADON (danh sách các hĩa đơn) và
T_CTHOADON (các chi tiết của hĩa đơn) là quan hệ một nhiều.
Hình 2.25 : Các mẩu tin trong 2 Table T_HOADON và T_CTHOADON.
2.6.2. TẠO QUAN HỆ GIỮA CÁC TABLE
- Từ Menu chính chọn Database Tools Click chuột vào nút Relationships
Hình 2.26 : Hộp thoại để chọn mục Relationships
Hình 2.27 : Hộp thoại Show Table
- Đưa các Table cần thiết lập quan hệ vào cửa sổ Ralationships
Hình 2.28 : Cửa sổ Relationships chứa các Table cần thiết lập quan hệ.
- Drag tên field quan hệđưa từ Table chính sang Table quan hệ. Xuất hiện hộp thoại Edit Relationships (Thí dụ drag SoHD từ T_Hoadon sang T_CTHOADON)
Hình 2.29 : Hộp thoại Edit Relationships
Enforce Referential Integrity: Ép buộc tính tồn vẹn tham chiếu dữ liệu (nghĩa là trên cột quan hệ khơng được điền giá trị vào Table quan hệ khi giá trị đĩ chưa cĩ ở Table chính.
Cascade Update Related Fields: Tự động thay đổi giá trị trên cột quan hệ ở
Table quan hệ khi giá trị này bị thay đổi ở Table chính.
Cascade Delete Related Records: Tự động xĩa mẩu tin trong Table quan hệ
khi mẩu tin tương ứng trên Table chính bị xĩa.
Hình 2.30 : Cửa sổ Relationships sau khi đã thiết lập quan hệ
Lưu ý:
- Hai mục Cascade Update… và Cascade Delete… chỉ cho phép chọn khi mục đầu tiên Enforce… được chọn.
- Nếu khi thiết lập quan hệ cĩ đánh dấu kiểm tra tính tồn vẹn tham chiếu dữ
Bài 3. THAO TÁC TRÊN BẢNG DỮ LIỆU
3.1. HIỆU ĐÍNH MỘT TABLE
Một Table cĩ thể được hiệu đính cho 3 mục đích: thiết kế lại cấu trúc cơ sở dữ
liệu, hoặc sửa đổi nội dung các mẩu tin, hoặc thay đổi cách trình bày.
3.1.1. THIẾT KẾ LẠI CẤU TRÚC CSDL
Chọn Table cần thiết kế trong ngăn Table, Click phải chuột vào tên Table và chọn Design View
Hình 3.1: Menu xuất hiện khi Click phảic huột vào tên Table
xuất hiện hộp thoại cấu trúc. Các thao tác cĩ thể là:
a) SỬA ĐỔI THUỘC TÍNH CỦA FIELD
Chọn field và tiến hành sửa đổi các thuộc tính bên dưới.
Lưu ý: Nếu giảm độ rộng của field, khi lưu lại Access sẽ cảnh báo về việc dữ liệu trong field cĩ thể bị cắt mất phần đuơi, nếu field đang là "related field" với một Table khác, Access khơng cho sửa đổi.
b) XĨA FIELD
Chọn field và Click chuột phải xuất hiện thực đơn tắt (shortcut menu), chọn Delete Rows . Xuất hiện hộp thơng báo, chọn Yes để xố.
Hình 3.2: Thơng báo xố field.
c) THÊM FIELD MỚI
Chọn dịng tại vị trí muốn chèn vào, chọn mục Insert Rows, một dịng trắng được chèn vào, nhập nơi dung field mới, Click nút Save để lưu lại.
d) THAY ĐỔI TÊN FIELD
Thay vì chọn chế độ Design View, ta cĩ thể mở Table ở chế độ Open (Datasheet view), xong di chuyển chuột vào đỉnh cột và Click phải chuột để làm xuất hiện thực đơn tắt, chọn Rename Column để nhập lại tên field mới.
3.1.2. SỬA ĐỔI NỘI DUNG CÁC MẪU TIN
Click phải chuột vào tên Table chọn mục Open, sẽ mở phần nhập dữ liệu. Các thao tác cĩ thể là:
a) SỬA ĐỔI RECORD
Chọn Record và tiến hành sửa đổi. Lưu ý: cĩ thể sửa dữ liệu trên field làm khố, nhưng dữ liệu khơng trùng với các mẩu tin khác trên field này. Nếu khơng sẽ báo lỗi.
Hình 3.4: Thơng báo lỗi nhập trùng dữ liệu vùng khố.
b) XĨA RECORD
Click ngồi lề trái (nút Record selector) để chọn nhiều Record liền nhau muốn xĩa Click chuột vào Nút Records->Delete->Delete Record (hoặc ấn phím Del).
Hình 3.5: Menu xuất hiện khi Click chuột vào nút Records
Ta cũng cĩ thể xĩa bằng cách Click phải chuột vào các mẩu tin đang được chọn và chọn Delete Record.
Hình 3.6: Menu xuất hiện khi Click phải chuột vào các Record đang được chọn
Sau đĩ chọn Yes để xĩa.
Hình 3.7: Hộp thoại xuất hiện khi xác nhận trước khi xĩa mẩu tin.
Ta cĩ thể chọn tất cả các mẩu tin trong bảng bằng tổ hợp phím Ctrl+A .
Lưu ý: Nếu xố các mẩu tin trong bảng cĩ liên kết (relationship) với các bảng khác, cĩ thể khơng xố được.
c) THÊM RECORD MỚI
Record mới được thêm ngay dưới Record cuối cùng. Sau khi nhập xong, access sẽ
tự sắp theo thứ tự trên vùng khố. Nếu Table cĩ nhiều Record, nên sử dụng thanh Navigation Buttons xuất hiện cuối Table đang mở.
Hình 3.8: Thanh Navigation Buttons.
First record Previous record
Next record
Last record
Type a record number to move to
3.1.3. THAY ĐỔI CÁCH TRÌNH BÀY
a) THAY ĐỔI CÁCH HIỂN THỊ DATASHEET
Khi một Table đang mở ở chếđộ DataSheet View ta cĩ thể sử dụng chức năng của thanh cơng cụđịnh dạng để thay đổi cách hiển thị của Table.
Hình 3.9: Thanh định dạng
• Chọn font chữ và kích thước font chữ trong mục font và font size • Định dạng Font chữđậm, nghiêng, gạch dưới
• Canh lề dữ liệu hiển thị trong Table theo lề trái, giữa, phải. • Định dạnh màu chữ hiển thị
• Định dạng màu nền cho các dịng mẩu tin lẻ
• Định dạng màu nền cho các dịng mẩu tin chẵn • Định dạng đường kẽ bảng
Hình 3.10 Menu xuất hiện khi Click chuột vào mục Gridlines
b) THAY ĐỔI ĐỘ RỘNG CỘT
• Click phải chuột vào tiêu đề cột dữ liệu xuất hiện hộp thoại : Kẽđường ngang và dọc Chỉ kẽđường ngang Chỉ kẽđường đứng
Hình 3.11 Menu xuất hiện khi Click chuột vào tiêu đề cột
• Chọn Column Width
Hình 3.12 Hộp thoại Column Width
• Nhập độ rộng cột (đơn vị inch/cm), Click OK. Cĩ thể chọn Best Fit để cĩ
độ rộng vừa nhất cho các cột hoặc chỉnh độ rộng bằng cách di chuyển chuột
đến ngay đường phân cách tiêu đề cột (mũi tên 2 đầu), kéo và chỉnh độ
rộng cột phù hợp. Nếu Double Click ngay đường phân cách (phải), cĩ tác dụng như "Best Fit".
c) CHE HOẶC HIỆN CỘT
Chọn các cột cần giấu sau đĩ Click phải chuột vào thanh tiêu đề. Trong Menu xổ
xuống khi Click phải chuột vào tiêu đề cột ta chọn Hide Columns. Muốn bỏẩn thì chọn mục Unhide Columns muốn che thì bỏ chọn, muốn hiện thì chọn, Click nút Close để kết thúc.
Hình 3.13 : Hộp thoại Unhide Column
d) DI CHUYỂN CỘT
Muốn di chuyển cột đến vị trí thích hợp khi hiển thị bảng dữ liệu (thứ tự logic), Click chọn cột (Click tiêu đề cột), nhấn giữ nút trái chuột cho đến khi cĩ khung hình đính theo đuơi chuột, giữ và rê cột đến vị trí thích hợp.
e) HIỆN NỘI DUNG BẢNG CON LIÊN KẾT (SUB DATASHEET)
Chức năng này cho phép hiển thị các bảng dữ liệu cĩ quan hệ với nhau. Từ bảng dữ liệu cha, cĩ thể xem chi tiết bảng con liên kết với bảng cha bằng cách Click chuột vào dấu cộng (+) nằm đầu mẩu tin.
Hình 3.14: Hiện bảng dữ liệu cĩ bảng con lồng bên trong.
Muốn giấu dữ liệu của bảng con trong bảng cha ta chỉ cần Click chuột vào dấu trừ (-) nằm đầu mẩu tin.
3.1.4. TẠO CHỈ MỤC CHO BẢNG DỮ LIỆU
Thực hiện khi muốn các cột được sắp theo một thứ tự nào đĩ trong bảng, để tiện việc tìm kiếm dữ liệu trên các cột được nhanh hơn. Các bước thực hiện:
Mở bảng ở chếđộ design.
Click chuột vào mục Indexes trên thanh trình đơn
Hình 3.15 : Nút Indexes trên thanh trình đơn
Xuất hiện hộp thoại:
Hình 3.16 : Hộp thoại Indexes để tạo chỉ mục cho bảng
Trong đĩ các cột
Index Name: Tên chỉ mục do người sử dụng định nghĩa phải duy nhất. Field Name: Tên các cột muốn sắp thứ tự.
Index Properties: gồm cĩ
Primary Key: Cột sẽ làm khố chính. Trong một bảng chỉ cĩ duy nhất một chỉ mục làm khố chính.
Ignore Nulls: Cĩ chấp nhận dữ liệu rỗng trên cột khơng (Yes/No).
3.2. THAO TÁC DỮ LIỆU TRONG TABLE 3.2.1. TÌM VÀ THAY THÊ 3.2.1. TÌM VÀ THAY THÊ
a) TÌM KIẾM
Mở bảng chứa dữ liệu cần tìm ở chếđộ DataSheet
Đặt con trỏ chèn ở cột cần tìm kiếm.
Click chuột vào nút Find trên thanh trình đơn (Ctrl+F). Xuất hiện hộp thoại Find and Replace
Chọn thẻ Find, gõ từ cần tìm vào ơ Find What
Thí dụ: tìm những nhân viên cĩ họ lĩt là “Nguyễn …”
Hình 3.17 : Hộp thoại Find and Replace, thẻ Find
Mục Match cĩ thể chọn một trong ba giá trị:
• Any Part of Field: giá trị cần tìm là một phần bất kỳ của Field. • Whole Field: giá trị cần tìm là tồn bộ Field.
• Start of Field: giá trị cần tìm là phần đầu của Field. Mục Search cĩ thể chọn một trong ba giá trị:
• Up: Tìm từ vị trí con trỏ trở vềđầu. • Down: Tìm từ vị trí con trỏ trở về cuối. • All: Tìm từđầu đến cuối cột.
Search Fields as Formatted:tìm giống nhưđịnh dạng.
Bấm vào nút Find Next để tiến hành tìm. Tìm cĩ lại bấm Find Next để tìm tiếp. Khi một mẩu tin thỏa mãn nội dung tìm thì nội dung đĩ trong bảng sẽ được bơi đen.
Tìm kiếm gần đúng
Sử dụng các ký tựđại diện (wildcard) khi nhập giá trị cần tìm.
Ký tự Ý nghĩa Ví dụ
? Đại diện một ký tự Hù? --> Hù,Hùn,Hùm,.. * Đại diện các chuỗi ký tự La* --> La, Lan, Lang, Lam,.. # Đại diện một ký số 12### --> từ 12000 --> 12999 [ ] Đại diện các ký tự nằm trong
[ ] La[nm] --> Lan, Lam
- Đại diện các ký tự nằm trong
một khoảng [ ] [K-N]a --> Ka, La, Ma, Na
! Phủđịnh [!K-N]a --> khơng là Ka, La, Ma, Na
b) TÌM VÀ THAY THẾ
Từ hộp thoại Find and Replace ta Click chuột chon phiếu Replace
Hình 3.18 : Hộp thoại Find and Replace, thẻ Replace
Các mục chọn tương tự như hộp thoại tìm kiếm chỉ khác ở chỗ ta phải gõ từ
Sau khi tìm thấy:
• Bấm vào nút Replace nếu muốn thay thế từ vừa tìm thấy.
• Bấm vào nút Find Next nếu khơng muốn thay thế từ vừa tìm thấy. Nếu muốn tựđộng muốn thay thế hết thì ta bấm vào nút Replace All.
3.2.2. SẮP XẾP DỮ LIỆU BẢNG
a) MỤC ĐÍCH
Thực hiện sắp xếp dữ liệu trên một cột hoặc nhiều cột theo cùng thứ tự tăng (Ascending) hoặc giảm (Descending).
b) THAO TÁC
Chọn các cột muốn sắp xếp theo thứ tựưu tiên từ trái sang phải. Click chuột vào nút để sắp xếp dữ liệu tăng dần
Click chuột vào nút để sắp xếp dữ liệu giảm dần Click chuột vào nút để huỷ bỏ việc sắp xếp
Thí dụ: Trong Table T_HOSONV hãy sắp xếp tăng dần theo TEN, nếu trùng TEN thì tăng dần theo HOLOT.
Hình 3.20 : Đưa cột TEN nằm trước cột HOLOT.
3.2.3. LỌC DỮ LIỆU TRONG BẢNG
Mở bảng ở chếđộ Datasheet view. Sử dụng các nút cơng cụ Filter trên thanh trình
đơn để chọn chức năng lọc dữ liêu tương ứng..
Hình 3.23 :Các mục chức năng Filter trên thanh trình đơn.
a) LỌC DỮ LIỆU NHANH BẰNG CÁCH SỬ DỤNG NÚT FILTER
Ta cĩ thể thực hiện việc lọc đơn giản bằng cách chọn cột chứa giá trị cần lọc sau đĩ Click chuột vào nút Filter
và bỏ check các giá trị khơng muốn hiển thị.
Ví dụ: Lọc ra những nhân viên đã lập gia đình (cột DalapGD cĩ giá trị là Yes)
Hình 3.24: Hộp thoại để bỏ chọn các giá trị khơng muốn hiển thị
b) FILTER BY SELECTION (LỌC THEO CHỌN)
Chọn dữ liệu cần lọc (ví dụ chọn nội dung là “An”). Click chuột chọn mục Selection
Hình 3.25 :Các mục Filter khi lựa chọn tên “An” và Click chuột vào nút Selection
- Chọn Equals “An” nếu muốn lọc ra những nhân viên cĩ tên là “An”.
- Chọn Does Not Equal “An” nếu muốn lọc ra những nhân viên cĩ tên khác với tên “An”.
- Chọn Contains “An” nếu muốn lọc ra những nhân viên cĩ tên cĩ chứa chữ là “An”. Ví dụ như tên “Trang” cũng xem như thỏa mãn điều kiện lọc.
- Chọn Does Not Contain “An” nếu muốn lọc ra những nhân viên cĩ tên khơng chứa chữ “An”.
c) LỌC THEO MẪU (FILTER BY FORM)
Click chuột chọn Advanced Filter options / chọn mục Filter By Form
Hình 3.26 :Các mục Filter Click chuột vào nút Advanced Filter options Selection
Xuất hiện biểu mẫu chỉ cĩ hai dịng: 1 dịng chứa tên field, 1 dịng chứa
điều kiện lọc.
Đưa điều kiện lọc vào, sau đĩ chọn lệnh Filter / Apply Filter- Sort hoặc bấm vào nút Apply Filter
Hình 3.27 : Mở biểu mẫu đểđặt điều kiện.
Hình 3.28 :Đặt điều kiện lọc.
Hình3.29 :Kết quả sau khi lọc.
Nếu câu hỏi là lọc những nhân viên nữ hoặc lương căn bản nhỏ hơn hoặc bằng
310 ta làm như sau:
Hình 3.30 :Điều kiện lọc ở thẻ Look for.
Hình3.32 :Kết quả sau khi lọc.
Lưu ý:
Chỉ cho phép lọc dữ liệu với phép so sánh bằng (=) và phép tốn logic And, Or.
Muốn trở lại ban đầu, Click biểu tượng
d) LỌC THEO CÁCH KHÁC (ADVANCED FILTER)
Click chuột chọn Advanced Filter options / Advanced Filter – Sort
Hình 3.33 :Menu để lựa chọn Advanced Filter /Sort Xuất hiện cửa sổ Filter để đặt điều kiện lọc
Đưa các cột cần đặt điều kiện lọc xuống dịng Field bằng một trong ba cách sau:
• Cách 1: Double Click vào tên field (cách này đưa tên field vào cột trống sau cùng).
• Cách 2: Drag chuột đưa tên field xuống dịng field (cách này dùng đưa tên field vào giữa những field khác đã cĩ).
• Cách 3: Chọn tên Field trực tiếp trên dịng Field.
Đưa điều kiện lọc vào dịng Criteria. Nếu điều kiện thỏa mãn đồng thời cùng một lúc thì đặt trên cùng một dịng Criteria, ngược lại, nếu chỉ cần thỏa 1 trong các điều kiện thì các điều kiện đặt trên 2 dịng: Criteria và Or.
Chọn lệnh Filter / Apply Filter-Sort hoặc bấm vào nút Apply Filter để
tiến hành lọc.
Thí dụ: Lọc ra những nhân viên nữ và cĩ năm sinh lớn hơn hoặc bằng năm 1960.
Hình 3.34 : Đặt điều kiện lọc.
Nếu yêu cầu lọc ra những nhân viên nữhoặc cĩ năm sinh lớn hơn hoặc bằng năm 1960 thì ta đặt điều kiện như sau:
Hình 3.36 : Đặt điều kiện lọc trên 2 dịng Criteria và Or.
Hình 3.37 : Kết quả sau khi lọc.
Lưu ý:
Trước khi đưa điều kiện lọc vào trong hai hình thức lọc Filter by Form và Advanced Filter/Sort ta phải Click chuột vào nút Advanced Filter options
Chọn mục Clear all filters để xĩa điều kiện của lần lọc trước đĩ trên lưới đặt
điều kiện nếu cĩ.
Hình 3.38 : Menu để chọn xố điều kiện lọc trước đĩ.
Trong lệnh này ta cĩ thể sắp xếp dữ liệu theo các cột nào đĩ bằng cách đưa tên cột cần sắp xếp theo thứ thưưu tiên từ trái sang phải. Ứng với mỗi cột ở
dịng Sort ta cĩ thể chọn : Ascending (tăng dần), Descending (giảm dần) hoặc Not Sorted (khơng sắp xếp).
Thí dụ: Trong Table T_HOSONV sắp xếp nhân viên tăng dần theo TEN và giảm dần theo HOLOT.
Hình 3.40: Kết quả sau khi sắp xếp.
Nhận xét:
Với cách lọc này, Access đưa ra bảng lọc dữ liệu dạng như QBE (Query By Example) 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 tốn, và các phép tốn logic And, Or.
Cĩ thể sử dụng các phép tốn so sánh hay các ký tựđại diện :