Next
Chuong trình so?n th?o Word
Phần 1: Lý thuyết cơ bản về cơ sở dữ liệu.
I. Khái niệm cơ bản về dữ liệu và hệ cơ sở dữ liệu
Để dễ dàng cho việc giải thích các khái niệm, trước hết xem xét hệ thống bán vé máy bay bằng máy tính. Dữ liệu lưu trữ trong máy tính bao gồm thông tin về hành khách, chuyến bay, đường bay v.v...Mọi thông tin về mối quan hệ này được biểu diễn trong máy thông qua việc đặt chỗ của khách hàng. Vậy làm thế nào để biểu diễn được dữ liệu đó và để đảm bảo cho hành khách đi đúng chuyến.
* Dữ liệu nêu trên được lưu trong máy theo một quy định nào đó được gọi là cơ sở dữ liệu (CSDL - Database).
* Phần chương trình để có thể xử lý, thay đổi dữ liệu này gọi là Hệ quản trị cơ sở dữ liệu (Database Management System). Theo nghĩa này, HQTCSDL có nhiệm vụ rất quan trọng như là một bộ biên dịch (Interpreter) với ngôn ngữ bậc cao nhằm giúp người sử dụng có thể dùng được hệ thống mà ít nhiều không cần quan tâm đến thuật toán chi tiết hoặc biểu diễn dữ liệu trong máy.
* Việc tổ chức thông tin một cách hợp lý theo một nguyên tắc nào đó để dễ dàng quản lý chính là tư tưởng của việc tạo ra các mô hình cơ sở dữ liệu.
Hiện có nhiều loại mô hình cơ sở dữ liệu đang được sử dụng như: mô hình quan hệ, mô hình mạng (Client/Server), mô hình phân cấp, mô hình phân tán... Mỗi mô hình có một ưu điểm riêng song phổ biến hơn cả là mô hình quan hệ, vì mô hình dữ liệu quan hệ có tính độc lập dữ liệu rất cao, dễ dàng sử dụng, tối thiểu được việc trùng lặp, dư thừa dữ liệu, xác định và giải quyết được sự nhập nhằng trong dữ liệu.
II. Kiến trúc một hệ cơ sở dữ liệu
* CSDL mức vật lý: CSDL vật lý là các tệp dữ liệu theo một cấu trúc nào đó được lưu trên các thiết bị nhớ thứ cấp (như đĩa từ, băng từ...).
* CSDL mức khái niệm: CSDL mức khái niệm là một sự biểu diễn trừu tượng của CSDL vật lý (còn có thể nói tương đương: CSDL mức vật lý là sự cài đặt cụ thể của CSDL mức khái niệm).
* Khung nhìn: các khung nhìn (View) là cách nhìn, là khái niệm của từng người sử dụng đối với CSDL mức khái niệm. Sự khác nhau giữa khung nhìn và mức khái niệm thực chất là không lớn.
Ví dụ: Trong một CSDL về Quản lý Tài chính trong một cơ quan
Các kế toán viên sẽ có một mức nhìn các dữ liệu chỉ trong phạm vi phần việc của họ, họ được phép cập nhật, thay đổi dữ liệu thuộc phần công việc mà họ được giao
Kế toán trưởng thì có một mức nhìn tổng quát, họ được phép biết mọi dữ liệu của toàn bộ các thành viên trong hệ thống
III. Mô hình cơ sở dữ liệu quan hệ
3.1 Định nghĩa CSDL Quan hệ
Khái niệm toán học của mô hình quan hệ là quan hệ hiểu theo nghĩa lý thuyết tập hợp: là tập con của tích Đề_các của các miền (miền là một tập các giá trị).
Quan hệ là một tập con của tích Đề_các của một hoặc nhiều miền. Như vậy, mỗi quan hệ có thể là vô hạn. Ở đây luôn luôn giả thiết rằng, quan hệ là một tập hữu hạn.
VD: Tích đề các
Với : n=2, D1={0,1}, D2={a,b,c}
Thì : D1 x D2 = {(0,a),(0,b),(0,c),(1,a),(1,b),(1,c)}
Ta có thể hiểu đơn giản là mô hình quan hệ được xây dựng trên cơ sở các bảng dữ liệu hai chiều gồm các cột, các hàng có quan hệ với nhau thông qua các trường khóa (nói cách khác là nếu các bảng đó có một cột hoặc trường chung nhau). Các bảng dữ liệu được xây dựng thông qua quá trình chuẩn hóa.
3.2 Khóa
Một khóa chính (Primary Key) là một giá trị dùng để phân biệt bản ghi này với bản ghi khác. Giá trị của khóa chính trong mỗi bản ghi là duy nhất trong cả bảng.
Ngoài khóa chính ra còn có khóa ngoài (Foreign Key). Khóa ngoài là giá trị dùng để liên kết giữa các bảng và thiết lập mối quan hệ giữa các bản ghi trong các bảng khác nhau
Ví dụ trong một Cơ sở dữ liệu quản lý về các cá nhân trong một cơ quan, người ta thường dùng một mã gọi là mã nhân viên (MNV) làm khóa chính, thông tin cần quản lý về các nhân viên bao gồm các thông tin về: Sơ yếu, quá trình học tập, lương...
Lúc này cần chia dữ liệu thành các bảng khác nhau theo các chủ đề thông tin cần quản lý, ở các bảng này đều có một trường là MNV và sẽ có các dạng quan hệ như sau:
Một nhân viên chỉ có một mã duy nhất
Một nhân viên chỉ có một lương
Một nhân viên có thể có nhiều ngoại ngữ
Khi đó ta thực hiện các phép thay đổi hoặc xóa một bản ghi ứng với một mã nhân viên, nhờ các "quan hệ" mà các bản ghi ở các bảng khác ứng với mã nhân viên đó được cập nhật hay xóa bỏ (tránh tình trạng bị dị thường hoặc dư thừa dữ liệu).
3.3 Các phép tính trên CSDL dạng quan hệ
Phép chèn (INSERT):
Mục đích của phép chèn là thêm một bộ phận vào một quan hệ nhất định. Kết quả của phép tính này có thể gây ra một số sai sót với những lý do sau:
- Bộ mới được thêm vào là không phù hợp với lược đồ quan hệ cho trước.
- Một số giá trị của một số thuộc tính nằm ngoài miền giá trị của thuộc tính đó.
- Giá trị khóa của bộ mới có thể là giá trị đã có trong quan hệ đang lưu trữ. Do vậy, tùy từng hệ cụ thể sẽ có những cách khắc phục riêng.
Phép loại bỏ (DEL):
Là phép xóa một bộ ra khỏi một quan hệ cho trước
Phép thay đổi (CHANGE):
Trong thực tế, không phải lúc nào cũng chỉ dùng phép chèn hoặc loại bỏ đi một bộ mà nhiều khi chỉ cần sửa đổi một số giá trị nào đó tại một số thuộc tính, lúc đó cần thiết phải sử dụng phép thay đổi.
Phép thay đổi là phép tính rất thuận lợi, hay dùng. Ta cũng có thể không dùng phép thay đổi mà dùng tổ hợp của phép loại bỏ và phép chèn thêm một bộ mới. Do vậy, những sai sót của phép thay đổi cũng có thể xảy ra tương tự như phép chèn và phép loại bỏ.
IV. Lý thuyết thiết kế CSDL dạng quan hệ
Làm thế nào để thiết kế một CSDL cho tốt?
Khảo sát ví dụ quan hệ cung cấp (S): S(Tên, địa chỉ, mặt hàng, giá cả). Xem xét các vấn đề nảy sinh như sau:
- Dư thừa dữ liệu: dễ dàng thấy rằng mỗi khi xuất hiện tên nhà cung cấp thì địa chỉ của ông ta lại lặp lại trong quan hệ.
- Không nhất quán: là hệ quả của việc dư thừa dữ liệu. Ví dụ khi sửa đổi địa chỉ của nhà cung cấp ở một bộ nào đó còn các bộ khác vẫn giữ nguyên. Khi đó xảy ra một nhà cung cấp lại không có địa chỉ duy nhất.
- Dị thường khi thêm bộ: một nhà cung cấp chưa cung cấp một mặt hàng nào cả, khi đó không thể đưa địa chỉ, tên nhà cung cấp là một bản ghi (bộ) vào quan hệ.
- Dị thường khi xóa bộ: không thể xóa tất cả các mặt hàng được cung ứng bởi một nhà cung cấp, vì mặt hàng đó có thể được nhiều người cùng cung ứng.
Do vậy, quan hệ S nêu trên có thể được phân chia thành những quan hệ khác nhau nhằm tránh tất cả những điều đã nêu nhằm đạt được một lược đồ CSDL (tập các lược đồ quan hệ) sao cho tốt hơn.
Khái niệm về phụ thuộc hàm (trong quan hệ) là một quan niệm có tầm quan trọng hết sức lớn đối với việc thiết kế mô hình dữ liệu. Ở đây sẽ trình bày khái niệm một cách hình thức:
Phụ thuộc hàm: với mọi giá trị của khóa tại mọi thời điểm được xét, chỉ có một giá trị cho từng thuộc tính khác trong bảng.
Do việc cập nhật dữ liệu (qua phép tính chèn, loại bỏ và thay đổi) gây nên những dị thường cho nên các quan hệ cần thiết phải được biến đổi thành các dạng phù hợp. Quá trình đó được xem là quá trình chuẩn hóa. Quan hệ được chuẩn hóa là quan hệ trong đó mỗi miền của một thuộc tính chỉ chứa những giá trị nguyên tố tức là không phân nhỏ được nữa và do đó mỗi giá trị trong quan hệ cũng là nguyên tố.
4.1 Dạng chuẩn thứ nhất (1NF)
Một lược đồ quan hệ R được gọi là ở dạng chuẩn 1 (1NF) nếu và chỉ nếu toàn bộ các miền có mặt trong R đều chỉ chứa các giá trị nguyên tố.
Quy tắc 1NF nhằm loại bỏ nhóm lặp, nghĩa là bảng 1NF không được chứa các thuộc tính có thể xuất hiện nhiền lần đối với cùng một kiểu thực thể.
4.2 Dạng chuẩn thứ hai (2NF)
Định nghĩa: lược đồ quan hệ R ở dạng chuẩn thứ hai nếu nó ở dạng chuẩn thứ nhất và nếu mỗi thuộc tính không khóa của R là phụ thuộc hàm đầy đủ vào khóa chính.
VD: cho CSDL gồm 2 quan hệ THI và SINHVIEN
Trong quan hệ trên MONTHI là khóa của quan hệ THI và MONTHI, MSSV (mã số sinh viên) là khóa của quan hệ SINHVIEN.
Trong quá trình cập nhật và lưu trữ dữ liệu xuất hiện những vấn đề sau:
- Ở quan hệ SINHVIEN, việc lưu trữ thông tin một sinh viên ví dụ như LAN phải lặp lại 3 lần địa chỉ, 3 lần tuổi. Rõ ràng là quá dư thừa.
- Quá trình cập nhật dữ liệu gây nên những cản trở trong việc thay đổi (phải thay đổi nhiều lần cho 1 người --> tốn kém thời gian), chèn (nếu muốn chèn thêm một sinh viên vào quan hệ thì không được vì không rõ sinh viên đó đã thi chưa), loại bỏ dữ liệu (VD muốn hủy bỏ môn thi thứ 5 mà danh sách sinh viên vẫn phải giữ nguyên là không được).
Để khắc phục những bất lợi trên, quan hệ sinh viên có thể tách thành hai quan hệ SINHVIEN (MSSV, TEN, TUOI, DIACHI) và quan hệ THIXONG (MONTHI, MSSV, DIEM).
Như vậy, CSDL lúc này chia thành 3 quan hệ đã ở dạng chuẩn thứ 2.
4.3 Dạng chuẩn thứ ba (3NF)
Định nghĩa: lược đồ quan hệ R là ở dạng chuẩn thứ 3 (3NF) nếu nó là 2NF và mỗi thuộc tính không khóa của R là không phụ thuộc hàm bắc cầu vào khóa chính.
Phần 2: Hướng dẫn sử dụng Microsoft Access.
I. Làm quan với ACCESS
Là một sản phẩm của MICROSOFT, được tích hợp trong bộ OFFICE PROFESIONER. Một hệ quản trị cơ sở dữ liệu quan hệ bao gồm:
-> Một giao diện thân thiện người dùng
-> Những trình tiện ích báo cáo
-> Những công cụ hoàn hảo giúp quản trị và thao tác trên các cơ sở dữ liệu một cách trực quan, tiện dụng và hiệu quả
1.1 Khởi động Access
Trình tự thao tác như sau:
- Vào Windows.
- Bấm kép chuột tại biểu tượng Microsoft Access trong cửa sổ nhóm Microsoft Office. Hoặc kích chuột tại biểu tượng chìa khóa vàng trên thanh biểu tượng của Microsoft Office (nếu có thì thanh này thường xuất hiện ở góc bên phải của màn hình).
Kết quả ta nhận được cửa sổ Microsoft Access
Màn hình làm việc của Access bao gồm:
+ Thanh thực đơn (Menu bar): chứa các thực đơn và thay đổi tùy thuộc vào trạng thái sử dụng Access hiện hành.
+ Thanh công cụ (Tool bar): chứa những biểu tượng tương ứng với những lệnh thường được sử dụng. Những biểu tượng trong thanh công cụ cũng thay đổi tùy thuộc vào trạng thái đang sử dụng Access hiện hành.
+ Thanh trạng thái (Status bar): thể hiện những thông báo, hướng dẫn ngắn gọn, trạng thái bàn phím...trong khi sử dụng Access.
1.2 Cơ sở dữ liệu của Access
+ Tệp do Access tạo ra có đuổi là .MDB
+ Một hệ chương trình do Access tạo ra gọi là một Database (CSDL). Trong Access, 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 .MDB. Như vậy trong thuật ngữ hệ chương trình hay CSDL đượ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 là chương trinh thay cho thuật ngữ hệ chương trình. Như vậy khi nói đến chương trình hay hệ chương trình hay CSDL 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.
+ Một CSDL gồm sáu đối tượng sau:
- Table (bảng).
- Query (truy vấn).
- Form (mẫu biểu).
- Report (báo biểu).
- Macro.
- Module (đơn thể).
Bảng: lưu trữ dữ liệu, mỗi bảng trong Access tương đương một file.DBF trong Foxpro, mỗi hàng của bảng là một bản ghi, mỗi cột là một trường. Thông thường trong một database của Access có nhiều bảng.
Truy vấn: một công cụ để rút trích dữ liệu, công cụ này cho phép bạn lọc các dữ liệu trên bảng ra theo một tiêu chuẩn nào đó.
Mẫu biểu: những giao diện giúp bạn quản trị, thao tác trên các bảng chứa dữ liệu.
Báo biểu: các báo cáo để tổng hợp, hiển thị dữ liệu. Thường đưa ra máy in để in.
1.3 Tạo một CSDL mới
Để tạo mới một tập tin cơ sở dữ liệu Access: chọn thực đơn File, chức năng New Database (hoặc kích chuột vào các biểu tượng như đã thấy ở trên). Kết quả nhận được tại cửa sổ File New Database.
Lúc đó ta chỉ việc nhập tên tệp CSDL vào ô File name và chọn thư mục ghi vào (Save in) rồi nhấn nút Create. Kết quả sẽ hiện ra cửa sổ Microsoft Access.
Cửa sổ trên thường được gọi là cửa sổ Database. Đây là một trong những cửa sổ rất quan trọng của Access. Cửa sổ bao gồm:
- Sáu nút đối tượng: Table, Query, Form, Report, Macro, Module ứng với sáu loại đối tượng hay sáu loại thành phần trong một cơ sở dữ liệu Access.
- Ba nút lệnh: tùy thuộc vào nút đối tượng nào đang được chọn mà có những nút lệnh khác nhau. Nghĩa là ứng với mỗi nút đối tượng có một bộ ba nút lệnh. Ví dụ ứng với nút đối tượng Table được chọn thì có ba nút lệnh: New, Open, Design; ứng với mỗi nút đối tượng Report được chọn thì có ba nút lệnh là: New, Preview, Design.
1.4 Làm việc với cơ sở dữ liệu đã tồn tại
Để mở một cơ sở dữ liệu đã có sẵn ta có một số cách sau:
- Chọn Open an existing Database rồi nhấn nút OK.
- Chọn thực đơn File chức năng Open Database hoặc kích chuột tại biểu tượng Open Database
Kết quả nhận được cửa sổ Open Database để ta chỉ việc chọn thư mục, chọn tên tệp cơ sở dữ liệu rồi nhấn OK là được.
II. Bảng
2.1 Khái niệm bảng
- Bảng là nơi chứa dữ liệu của một đối tượng nào đó.
- Một cơ sở dữ liệu thường gồm nhiều bảng.
- Một bảng gồm nhiều trường có các kiểu khác nhau như: Text, number,...
- Các bảng trong một CSDL thường có quan hệ với nhau.
2.2 Tạo bảng
* Từ cửa sổ Database chọn mục Table. Kết quả sẽ mở cửa sổ Table, trong đó chứa danh sách các bảng đã tồn tại và 3 nút lệnh: New (để tạo bảng mới), Open (để mở nhập dữ liệu cho bảng được chọn), Design (để xem, sửa cấu trúc của bảng được chọn).
* Để tạo bảng mới ta chọn nút New. Kết quả nhận được cửa sổ New Table.
* Có một số cách tạo bảng nhưng phổ biến nhất là 2 cách lựa chọn: Design View và Table Wizard.
- Nếu chọn Design View thì bảng được thiết kế theo ý của người sử dụng.
- Nếu chọn Table Wizard thì bảng được xây dựng bằng công cụ Wizard của Access và ta chỉ việc trả lời các câu hỏi mà Access yêu cầu.
- Nếu chọn Import Table hoặc Link Table thì bảng được xây dựng từ các bảng nằm ngoài cơ sở dữ liệu hiện tại.
- Nếu chọn Datasheet View thì bảng được xây dựng dưới khung nhìn Datasheet.
* Chọn Design View rồi nhấn nút OK. Kết quả nhận được cửa sổ thiết kế bảng.
Cửa sổ Table được chia làm 2 phần:
- Phần trên gồm 3 cột: Field Name, Data Type và Description, dùng để khai báo các trường của bảng, mỗi trường khai báo trên một dòng.
- Phần dưới dùng để qui định các thuộc tính cho các trường.
Chú ý: để di chuyển giữa 2 phần ta có thể dùng chuột hoặc bấm phím F6.
+ Tên trường (Field Name): là một dãy không quá 64 ký tự, bao gồm chữ cái, chữ số, khoảng trống.
+ Kiểu (Data Type): gồm các kiểu sau
-> Text: ký tự dài <=255 Byte
-> Memo: ký tự dài <=64000 Byte
-> Number: số nguyên, thực dài 1, 2, 4 hoặc 8 Byte
-> Date/time: ngày tháng/ giờ dài 8 Byte
-> Currency: tiền tệ dài 8 Byte
-> Yes/No: Boolean 1 Bit
-> OLE: đối tượng nhúng hết hình ảnh, nhị phân 1 Giga Byte
+ Mô tả (Discription): để giải thích cho rõ hơn một trường nào đó. Văn bản mô tả sẽ được hiển thị khi nhập số liệu cho các trường.
* Khai báo các trường:
- Đặt tên trường.
- Chọn kiểu dữ liệu.
- Mô tả trường nếu muốn.
- Qui định các thuộc tính cho trường.
* Thay đổi thiết kế, chỉnh sửa cấu trúc bảng:
- Xóa trường: chọn trường, bấm phím Delete hoặc chọn Delete Row từ Menu Edit.
Chú ý: để xóa đồng thời nhiều trường, ta có thể dùng các phím Shift và Ctrl để chọn các trường cần xóa, rồi ấn phím Delete hoặc chọn Edit, Delete Row.
- Để thay đổi nội dung (tên, kiểu,...) của một trường, ta chỉ việc dùng bàn phím để thực hiện các thay đổi cần thiết.
- Để chèn thêm một trường mới ta làm như sau: chọn trường mà trường mới sẽ được chèn vào trước, rồi chọn Edit, Insert Row.
- Di chuyển trường: chọn trường cần di chuyển, rồi kéo trường tới vị trí mới.
2.3 Đặt khóa chính
2.3.1 Định nghĩa
Khóa chính là một hoặc nhiều trường xác định duy nhất một bản ghi.
2.3.2 Lợi ích
- Access tự động tạo chỉ mục (Index) trên khóa nhằm tăng tốc độ truy vấn và các thao tác khác.
- Khi xem mẫu in (dạng bảng hay mẫu biểu), các mẫu tin sẽ được trình bày theo thứ tự khóa chính.
- Khi nhập số liệu, Access kiểm tra sự trùng nhau trên khóa chính.
- Access dùng khóa chính để tạo sự liên kết giữa các bảng.
2.3.3 Đặt khóa chính
- Chọn trường làm khóa chính.
- Chọn Edit, Set primary key hoặc nhắp biểu tượng.
- Các trường được chọn làm khóa sẽ có hình chìa khóa ở đầu.
2.4 Lưu cấu trúc bảng và đặt tên bảng
Sau khi hoàn chỉnh việc thiết kế, ta cần ghi cấu trúc bảng lên đĩa và đặt tên cho bảng. Cách làm như sau:
- Chọn File, Save hoặc bấm chuột tại biểu tượng ghi. Khi ghi lần đầu thì Access sẽ hiện ra cửa sổ Save As.
- Ta đưa vào tên bảng rồi ấn OK thì bảng sẽ được ghi lại.
Sau khi ghi xong thì Access trở lại cửa sổ thiết kế bảng. Để ra khỏi cửa sổ thiết kế và trở về cửa sổ Database, ta cần đóng cửa sổ thiết kế theo qui tắc của Windows. Khi đóng cửa sổ thiết kế bảng Access sẽ yêu cầu ghi các thay đổi trên thiết kế bảng.
2.5 Nhập, sắp xếp, in ấn dữ liệu của một bảng
2.5.1 Nhập dữ liệu cho bảng
Sau khi tạo xong các bảng, chúng ta đã có thể bắt đầu nhập dữ liệu vào bảng. Trong Access, chúng ta có thể nhập dữ liệu thông qua báo biểu (Form), nghĩa là chúng ta phải tạo ra một báo biểu, một màn hình nhập xuất, cách tạo báo biểu sẽ được đề cập sau. Nhưng hiện tại để đơn giản hơn cho việc nhập dữ liệu, chúng ta có thể dùng ngay công cụ nhập dữ liệu của bảng. Các thao tác được thực hiện như sau:
- Tại cửa sổ CSDL, bấm chuột tại nút đối tượng có tên là Table.
- Nhấp đúp tại tên bảng cần mở, hay bấm chọn lại tên bảng cần mở rồi bấm nút lệnh Open.
Sau đó chúng ta sẽ thấy xuất hiện cửa sổ ở chế độ Datasheet View để ta nhập liệu. Access tự động lưu mẫu tin vừa nhập vào đĩa mỗi khi tạo một mẩu tin trống mới. Nếu không muốn nhập dữ liệu nữa, thực hiện việc đóng cửa sổ đang làm việc mà không cần quan tâm đến mẩu tin trống luôn có này.
2.5.2 Nhập dữ liệu cho trường kiểu OLE
Có hai hình thức để đưa một đối tượng OLE vào bảng:
- Nhúng vào (Embed): dùng một bảng sao của đối tượng đưa vào bảng. Bảng sao này trở thành một đối tượng hoàn toàn độc lập với nguồn tương nguồn.
- Liên kết (Link): Access duy trì một mối liên kết giữa đối tượng nguồn với đối tượng được đưa vào bảng. Nếu đối tượng nguồn thay đổi thì tất cả các đối tượng có liên kết với nó sẽ thay đổi theo.
Phương pháp nhúng
- Di chuyển mẩu tin và đến trường OLE cần nhập đối tượng vào.
- Bấm phím phải chuột rồi chọn Insert Object hoặc chọn menu Insert chức năng Object... từ thanh thực đơn của Access.
- Bấm vào nút Create From File trong hộp hội thoại xuất hiện.
- Nếu nhớ chính xác tên của đới tượng muốn chèn thì đưa vào hộp File, nếu không thì dùng nút Browse để tìm đến nơi đặt đối tượng đó.
- Chọn Link nếu muốn thiết lập một liên kết với đối tượng nguồn. Nếu không chọn, xem như đối tượng sẽ được nhúng thẳng vào bảng.
- Bấm OK.
Chú ý:
-> Vì đang ở chế độ nhập dữ liệu của bảng, chỉ có một dòng mô tả ngắn gọn cho đối tượng chèn vào đó mà thôi.
-> Nếu đối tượng là một hình ảnh và bạn muốn thay đổi nội dung hình ảnh đó, nhấp đúp vào dòng mô tả cho đối tượng rồi thực hiện việc thay đổi.
-> Nếu đối tượng là âm thanh hay video, nhấp đúp vào dòng mô tả sẽ "chơi" (play) nó.
Cắt dán đối tượng
Thông qua Clipboard của Windows, nhúng đối tượng hay một phần của đối tượng vào bảng.
- Đưa đối tượng hay một phần đối tượng vào Clipboard (ví dụ đối tượng là một hình ảnh đang hiển thị trong PaintBrush, cắt phần hình rồi thực hiện Edit Copy).
- Chuyển sang làm việc với Access (có thể dùng Alt+Tab), chuyển đến mẩu tin và trường OLE.
- Nếu muốn nhúng đối tượng vào thì chọn menu Edit chức năng Paste tên thanh thực đơn hay Ctrl+V.
- Nếu muốn liên kết đối tượng thì chọn Edit chức năng Paste Special, xuất hiện hộp hội thoại Paste Special.
- Bấm vào Paste Link.
- Bấm OK để hoàn tất.
2.5.3 Sắp xếp dữ liệu trong bảng
Bạn có thể sắp xếp dữ liệu một cách:
- Đơn giản nghĩa là theo một thứ tự tăng dần (ascending) hay giảm dần (descending) của một trường nào đó trong bảng.
- Phức tạp nghĩa là theo hơn một thứ tự tăng dần (ascending) hay giảm dần (đescending) của một số trường nào đó trong bảng.
Để sắp xếp dữ liệu:
* Mở bảng dữ liệu cần sắp xếp ở chế độ View Datasheet.
* Nếu bạn sắp xếp trên một trường, bấm chuột vào tên trường đó. Nếu bạn sắp xếp trên nhiều trường, đảm bảo các trường này gần nhau, bấm và rê chuột qua đầy đủ các tên trường đó. Chú ý là các trường này phải đặt theo vị trí từ trái sang phải theo thứ tự ưu tiên sắp xếp.
* Chọn thực đơn Record chức năng Sort Ascending nếu sắp xếp các trường theo thứ tự tăng dần hay Record chức năng Sort Descending nếu sắp xếp trường theo thứ tự giảm dần.
2.5.4 In ấn dữ liệu trong bảng
- Ở chế độ View là Datasheet, chọn các trường muốn in. Nếu không chọn thì xem như là in hầu hết tất cả các trường trong bảng.
- Bấm vào nút trên thanh công cụ hoặc chọn thực đơn File chức năng Print, xuất hiện hộp đối thoại.
- Chọn All để in tất cả các mẩu tin.
- Chọn Pages để in từ trang xác định trong hộp Form đến trang số xác định trong To.
- Chọn Selected Record(s) để in các Record đang được chọn (nếu có).
- Bấm OK để in.
2.6 Lập quan hệ giữa các bảng
Khi tạo ra các bảng trong cơ sở dữ liệu, bạn nên định nghĩa các mối quan hệ giữa các bảng với nhau. Việc xác định cách thức dữ liệu quan hệ với nhau trong một CSDL như vậy sẽ giúp dễ dàng hơn khi xây dựng các truy vấn, biểu mẫu, báo cáo...sau này.
Access cho phép định nghĩa hai loại quan hệ:
- Quan hệ một - một.
- Quan hệ một - nhiều.
Quan hệ nhiều - nhiều được định nghĩa gián tiếp qua quan hệ một - một và một - nhiều.
Để định nghĩa quan hệ giữa hai bảng ta thực hiện như sau:
* Tại cửa sổ CSDL, bấm nút trên thanh công cụ hoặc chọn thực đơn Tools chức năng Relationships...trên thanh thực đơn. Access sẽ cho xuất hiện một cửa sổ Relationships và một cửa sổ để chọn bảng Show Table.
Nếu cửa sổ Show Table không hiện ra thì bấm vào nút để xuất hiện.
* Nhấp đúp vào tên của bảng muốn tạo quan hệ hay chọn bảng rồi bấm Add.
* Bấm Close để đóng cửa sổ Show Table lại.
* Trong cửa sổ Relationships, dùng chuột kéo trường liên hệ từ một bảng sang trường được liên hệ của bảng kia. Nếu muốn liên hệ nhiều trường thì chọn các trường đó trước (giữ phím Ctrl trong khi chọn). Trong hầu hết các trường hợp, quan hệ được xác lập giữa trường khóa chính (Primary Key) của một bảng với các trường tương tự nó trong các bảng khác. Bảng chứa khóa chính như vậy gọi là bảng chính (Primary table).
Hộp hội thoại xuất hiện.
Chọn Enforce Referential Integrity nếu muốn Access tự động kiểm tra ràng buộc toàn vẹn trên mối quan hệ vừa xác lập. Nếu người dùng cập nhật dữ liệu phá vỡ ràng buộc này thì Access sẽ thông báo lỗi và không cho thực hiện thao tác cập nhật đó.
Chọn Cascade Update Related Fields nếu muốn Access tự động cập nhật giá trị của các trường liên hệ khi trường khóa chính của bảng thay đổi.
Chọn Cascade Delete Related Fields để Access tự động xóa giá trị của các trường liên hệ khi trường khóa chính của bảng chính bị xóa.
* Chọn Join Type để vào cửa sổ chọn kiểu liên hệ. Sau khi chọn thì nhấn OK.
* Bấm Create để tạo quan hệ, đống hộp hội thoại và trở về với cửa sổ Relationships.
* Đóng cửa sổ Relationships lại. Khi đó Access sẽ hỏi xem bạn muốn lưu quan hệ này không. Trả lời Yes để đồng ý, No để không muốn lưu lại. Quan hệ, nếu có, sẽ được lưu cùng với CSDL.
III. Truy vấn (Query)
3.1 Cấc loại truy vấn
* Select Query: là loại thông dụng nhất bởi vì nó có thể thực hiện được đa dạng các chức năng quan trọng như:
- Truy vấn trên nhiều bảng dữ liệu.
- Tạo ra các trường mới để tính toán.
- Tóm tắt dữ liệu.
- Nhóm dữ liệu.
- Chọn ra các trường để hiển thị hoặc để dấu không hiển thị.
* Crosstab Query: cho phép nhóm dữ liệu theo một yêu cầu nào đó và hiển thị giá trị như bảng tính cùng những kết quả tổng cộng. Loại truy vấn này có thể dùng để so sánh giá trị dữ liệu, cho thấy thông tin tóm tắt như doanh số bán hàng tháng, hàng quý, hàng năm,...hay cho thấy chiều hướng phát triển của dữ liệu. Do vậy, đây là loại truy vấn thích hợp nhất dùng khi tạo báo cáo và lưu đồ.
* Make-Table Query: cho phép từ kết quả truy vấn tạo ra một bảng mới các dữ liệu dự phòng cho bảng nguồn.
* Update Query: cho phép thay đổi một cách toàn bộ lên dữ liệu của một hay nhiều bảng. Sự thay đổi như vậy rất nhanh chóng và đảm bảo cho dữ liệu nhất quán. Ví dụ bạn tạo một truy vấn để tăng giá của tất cả các món hàng thuộc nhóm MAY lên 25%.
* Append Query: cho phép thêm các mẫu tin của một hay nhiều bảng vào một bảng khác đã tồn tại.
* Delete Query: cho phép xóa một nhóm mẫu tin của một hay nhiều bảng. Ví dụ như xóa tất cả các mẫu tin của các khách hàng không có quan hệ mua bán trong hơn năm năm qua.
3.2 Tạo truy vấn
Một truy vấn đơn giản nhất có thể được tạo theo các bước sau:
* Trong cửa sổ CSDL, bấm vào nút đối tượng Query rồi bấm vào nút New hoặc chọn thực đơn Insert Query. Xuất hiện hộp hội thoại
Trong hộp hội thoại này có một số cách tạo Query cho ta lựa chọn.
* Chọn Design View rồi nhấn OK. Cửa sổ Select Query và hộp hội thoại Show Table sẽ xuất hiện.
* Một danh sách các bảng hoặc các bảng hoặc truy vấn (tùy theo chế độ View là gì) đặt trong hộp hội thoại Show Table. Chọn vào tên các bảng hay truy vấn rồi bấm Add để đưa vào cửa sổ truy vấn (thao tác tương tự như khi tạo quan hệ).
* Lặp lại bước trên cho đến khi chọn hết bảng hay truy vấn cần.
* Bấm Close để đóng hộp hội thoại lại. Quan hệ nếu có giữa các bảng sẽ được hiển thị.
* Trên thực đơn Query, bấm vào một trong các chức năng sau để xác định loại truy vấn muốn tạo.
* Xác định các trường cần xuất hiện trong kết quả truy vấn bằng một trong các cách sau:
- Nhấn đúp vào tên trường trong vùng chứa bảng.
- Dùng chuột kéo trường từ vùng chứa bảng sang vùng lưới.
- Chọn tên trường từ hộp chứa danh sách tất cả các trường tham gia truy vấn trong vùng lưới.
- Nếu chọn ký hiệu * trong một bảng, tất cả các trường trong bảng đó được đưa vào kết quả hiển thị.
* Thực hiện bước trên cho đến khi chọn hết những trường muốn xuất kết quả.
3.3 Xem kết quả truy vấn
Sau khi bạn tạo xong một truy vấn, công việc cần thiết kế tiếp là xem danh sách các mẫu tin thỏa truy vấn ấy. để làm điều này, ta bấm vào nút trên thanh công cụ hoặc chọn thực đơn View chức năng Datasheet View. Các mẫu tin kết quả sẽ được hiển thị dưới dạng bảng tính.
Trong cửa sổ xem dạng bảng tính này, bạn có thể:
- Thay đổi dữ liệu của mẩu tin.
- Thay đổi độ rộng của các cột.
- In kết quả ra máy in bằng thực đơn File chức năng Print.
- Trở về cửa sổ truy vấn bằng cách bấm vào nút trên thanh công cụ hay chọn thực đơn View chức năng Design View.
3.4 Thi hành truy vấn
Đối với các truy vấn loại Make-table, Update, Append và Delete, muốn kết quả ảnh hưởng thật sự lên CSDL, bạn phải cho thi hành truy vấn ấy.
Để thi hành một truy vấn, ta thực hiện như sau:
- Đứng tại cửa sổ truy vấn, bấm vào nút lệnh Open. Nếu đứng trong cửa sổ thiết kế thì bấm vào nút trên thanh công cụ hay chọn thực đơn Query chức năng Run.
- Trả lời các câu hỏi tùy theo loại truy vấn. Ví dụ như truy vấn loại Make-table thì bạn phải cho biết tên của bảng muốn tạo ra là gì.
3.5 Lưu truy vấn vào cơ sở dữ liệu
Để lưu một truy vấn mới tạo hay lưu sự thay đổi của một truy vấn, tùy từng trường hợp bạn chọn thực hiện một trong các cách sau:
- Nếu đang ở cửa sổ truy vấn, bấm vào nút trên thanh công cụ truy vấn hay chọn thực đơn File_Save hay bấm tổ hợp phím Ctrl+S.
- Nếu đang ở cửa sổ xem dạng bảng tính, chọn thực đơn File_Save hay bấm tổ hợp phím Ctrl+S.
- Nếu bạn đống cửa sổ truy vấn mà chưa thực hiện việc lưu lại thì Access sẽ hỏi xem bạn có thật sự muốn lưu hay không. Chọn Yes để đồng ý.
Đối với lần lưu đầu tiên (cho trường hợp tạo một truy vấn mới), bạn cần nhập tên muốn đặt cho truy vấn. Cũng như một quy định tên hợp lệ trong Access, tên truy vấn có thể dài tối đa 64 ký tự, kể cả khoảng trắng.
3.6 Truy vấn có điều kiện
3.6.1 Các phép toán
Khi xây dựng các biểu thức điều kiện, cho phép sử dụng các phép toán sau:
- So sánh: =, < >, >, <, >=, <=
- Phép logic: AND, OR, NOT, BETWEEN...AND...
- Dùng LIKE đối với các trường kiểu Text và Date/Time để tìm các giá trị theo một mẫu nào đó.
- Dùng NULL, IS NULL, NOT NULL, IS NOT NULL để kiểm tra xem một trường đã có dữ liệu hay chưa.
- Dùng IN để kiểm tra xem giá trị của trường có nằm trong một tập hợp nào đó hay không.
3.6.2 Một số ký hiệu dùng trong điều kiện
- Ký hiệu *: có ý nghĩa tượng trưng cho bất ký một chuỗi ký tự nào, giống như dấu * trong MS DOS. Ví dụ L* sẽ nhận được các kết quả như LAN, Lê,...
- Ký hiệu ?: có ý nghĩa tượng trưng cho bất ký một chuỗi ký tự nào, giống như dấu ? trong MS DOS. Ví dụ Bình sẽ nhận được các kết quả như Bình, Bính,...
- Ký hiệu #: có ý nghĩa tượng trưng cho bất ký một chữ số nào. Ví dụ 1 #9 sẽ nhận được các kết quả như 109, 1998,...
- Ký hiệu [ ]: có ý nghĩa tượng trưng cho một giá trị phải có trong một tập hợp các giá trị hợp lệ liệt kê trong ngoặc. Ví dụ B[ae]ll sẽ nhận được các kết quả như Ball hay Bell.
- Ký hiệu !: có ý nghĩa tượng trưng cho một giá trị không được có trong một tập hợp các giá trị hợp lệ liệt kê trong ngoặc. Ví dụ B[!ae]ll sẽ nhận được các kết quả khác Ball, Bell.
- Ký hiệu -: có ý nghĩa tượng trưng cho một giá trị có trong một miền giá trị hợp lệ đưa ra trong ngoặc. Ví dụ B[a-c]ll sẽ nhận các kết quả như Ball, bbll, bcll.
3.6.3 Cách đưa biểu thức điều kiện vào truy vấn
Biểu thức điều kiện được đưa vào truy vấn như sau:
+ Thực hiện hoàn tất các bước trong phần xây dựng một truy vấn đơn giản.
+ Trên dòng Criteria, tại trường tham gia vào điều kiện ta đưa nội dung điều kiện vào.
Chú ý:
- Các biểu thức đặt trên cùng một hàng sẽ được hiểu là liên kết với nhau bằng toán tử AND, nếu đặt khác hàng thì được hiểu là OR.
- Khi bạn gõ xong một biểu thức ví dụ như < 8/8/98, Access sẽ tự động kiểm tra biểu thức và chuẩn hóa nó theo như Access hiểu. Trong trường hợp của ví dụ này thì Access sẽ chèn thêm vào hai ký hiệu # như trên.
3.7 Thực hiện các tính toán, trung bình, tổng cộng... bằng truy vấn
3.7.1 Tạo trường chứa phép toán
Để tạo một trường kết quả của một phép toán ví dụ như phép toán cộng hai giá trị chuỗi của trường Họ và trường Tên thành trường trung gian là Họ Tên, bạn thực hiện như sau:
- Tại cửa sổ thiết kế Query, chọn một trường trống, gõ biểu thức vào. Nếu biểu thức có tham chiếu đến các trường khác thì phải đảm bảo tên trường tham chiếu được đặt trong hai dấu ngoặc vuông [].
- Access tự động đặt tên cho biểu thức mới tạo, bạn có thể thay đổi tên này cho phù hợp với nhu cầu của bạn hơn và sau đó có thể dùng nó như một trường của truy vấn.
- Bấm vào nút trên thanh công cụ hoặc chọn thực đơn View_Datasheet View để xem kết quả.
3.7.2 Tổng kết dữ liệu
Các phép toán bạn có thể thực hiện thông qua các toán tử có sẵn là:
- Toán tử Avg: kết quả giá trị trung bình, làm việc với các loại dữ liệu: Number, Currency, Counter, Date/Time, Yes/No
- Toán tử Count: kết quả số giá trị khác trống, làm việc với tất cả các loại dữ liệu.
- Toán tử First: kết quả giá trị của mẫu tin đầu tiên, làm việc với tất cả các loại dữ liệu.
- Toán tử Last: kết quả giá trị của mẫu tin cuối cùng, làm việc với tất cả các loại dữ liệu.
- Toán tử Max: kết quả giá trị lớn nhất, làm việc với các loại dữ liệu: Number, Currency, Counter, Date/Time, Yes/No
- Toán tử Min: kết quả giá trị nhỏ nhất, làm việc với các loại dữ liệu: Number, Currency, Counter, Date/Time, Yes/No
- Toán tử Sum: kết quả tổng cộng, làm việc với các loại dữ liệu: Number, Currency, Counter, Date/Time, Yes/No
Để thực hiện:
+ Đứng tại cửa sổ của một truy vấn loại Select, bấm vào nút trên thanh công cụ hay chọn thực đơn View chức năng Totals. Một dòng mới tên Total xuất hiện trên lưới với mỗi trường có thuộc tính Group By.
+ Tạo trường để tổng kết dữ liệu với một trong các toán tử.
+ Đối với các trường có chứa điều kiện (Criteria) và tại đó không muốn Group By, bạn có thể chọn giá trị dòng Total là Where.
+ Đới với các trường có chứa phép toán và tại đó không muốn Group By, bạn có thể chọn giá trị dòng Total là Expression.
+ Bấm vào nút trên thanh công cụ để xem kết quả.
IV. Biểu mẫu (Form)
Biểu mẫu (Form) cung cấp một dạng khác để xem và làm việc với dữ liệu trong các bảng. Không giống như dạng hiển thị kiểu bảng tính mà trong đó dữ liệu luôn hiển thị theo dòng và cột, biểu mẫu có thể hiển thị dữ liệu dưới bất kỳ hình thức nào.
Access cung cấp một phương tiện rất thuận lợi để xây dựng một biểu mẫu đó là công cụ Form Wizards. Bằng Form Wizards, bạn có thể tạo một biểu mẫu trong vài giây đồng hồ. Sau khi có biểu mẫu kết quả từ Form Wizards, bạn hoàn toàn có thể hiệu chỉnh tùy ý lên đó.
4.1 Cách tạo biểu mẫu bằng công cụ Form Wizards
+ Tại cửa sổ CSDL, bấm vào nút đối tượng Form.
+ Bấm vào nút lệnh New trên cửa sổ cơ sở dữ liệu hay chọn thực đơn Insert_Form trên thanh thực đơn. Bạn sẽ thấy hộp thoại.
+ Trong hộp thoại vừa hiện ra, chọn tên bảng hay tên truy vấn làm nguồn dữ liệu cho biểu mẫu trong hộp liệt kê "Choose the table..."
+ Chọn Form Wizard rồi nhấn vào nút OK để bắt đầu vào bước chọn các trường sẽ đưa ra trong biểu mẫu.
+ Nhấn chuột vào nút >> để chọn tất cả, > để chọn từng trường một.
+ Nhấn chuột vào Next thì hộp thoại để ta chọn kiểu và cách trình bày cho biểu mẫu sẽ xuất hiện.
+ Ta chọn kiểu Columnar rồi nhấn Next. Hộp thoại Form Wizard sẽ xuất hiện.
+ Chọn kiểu Form mà mình thích rồi nhấn Next.
+ Trong hộp hội thoại cuối cùng, bạn kiểm tra chuỗi ký tự trong hộp "What title do you want for your form", xem có đồng ý với tiêu đề cho biểu mẫu không, nếu không đồng ý thì gõ tiêu đề mới vào thay thế.
+ Nhấn chuột vào nút Finish để kết thúc công việc tạo biểu mẫu.
4.2 Lưu biểu mẫu
Bạn cần phải lưu biểu mẫu sau khi tạo ra để dùng lại sau này. Đây là cách lưu:
+ Để lưu rồi đóng lại luôn, chọn thực đơn File_Close_Yes.
+ Để lưu lại mà không đóng biểu mẫu, thực hiện một trong các cách sau:
- Bấm tổ hợp phím Ctrl+S hay F12.
- Chọn thực đơn File_Save.
4.3 Mở biểu mẫu
Nếu bạn đã đóng biểu mẫu, thực hiện các bước sau để mở biểu mẫu ra lại:
- Tại cửa sổ cơ sở dữ liệu, bấm vào nút đối tượng Form.
- Nhấp đúp vào dòng tên của biểu mẫu muốn mở hoặc chọn vào dòng tên rồi bấm nút Open ngay trong cửa sổ cơ sở dữ liệu.
4.4 Sửa đổi biểu mẫu
Nếu bạn muốn sửa đổi biểu mẫu theo ý mình thì thực hiện các bước sau:
- Tại cửa sổ cơ sở dữ liệu, bấm vào nút đối tượng Form.
- Chọn vào dòng tên của biểu mẫu rồi bấm nút Design ngay trong cửa sổ cơ sở dữ liệu.
V. Báo cáo (Report)
5.1 Cách tạo báo cáo bằng công cụ Report Wizard
Việc tạo báo cáo phụ thuộc nhiều vào dạng báo cáo đó là gì, tuy nhiên về cơ bản là gồm các bước sau:
+ Tại cửa sổ cơ sở dữ liệu, bấm vào nút đối tượng Reports để đưa nó ra phía trước cửa sổ.
+ Nhấn chuột vào nút New. Hộp thoại New Report sẽ xuất hiện.
+ Trong hộp liệt kê "Choose the table...", chọn một bảng hay một truy vấn chứa dữ liệu đầu vào cho báo cáo.
+ Chọn Report Wizard rồi nhấn OK. Một hộp hội thoại Report Wizard khác sẽ xuất hiện.
+ Nhấn chuột vào nút >> để chọn tất cả các trường. Các trường được chọn sẽ xuất hiện trong hộp Selected Fields. Nhấn chuột vào Next.
+ Hai hộp thoại tiếp theo thì tùy theo từng dạng báo cáo mà bạn trả lời thích hợp rồi nhấn Next.
+ Tại hộp hội thoại tiếp theo, Access cho bạn một số chọn lựa cách trình bày.
+ Bạn chỉ việc nhấp chuột vào các phần chọn khác nhau để lựa chọn rồi nhấn Next. Cửa sổ Report Wizard mới sẽ xuất hiện.
+ Lựa chọn kiểu trình bày mà mình thích rồi nhấn Next.
+ Tại hộp thoại này, Access đã đặt tên bảng báo cáo cho bạn. Đánh một tên mới trong hộp văn bản trên.
+ Nhấn chuột vào Finish. Bảng báo cáo mới sẽ xuất hiện.
5.2 Lưu báo cáo
Bạn cần phải lưu báo cáo sau khi tạo ra để dùng lại sau này. Đây là cách lưu:
+ Để lưu rồi đóng lại luôn, chọn thực đơn File_Close_Yes.
+ Để lưu lại mà không đóng báo cáo, thực hiện một trong các cách sau:
- Bấm tổ hợp phím Ctrl+S hay F12.
- Chọn thực đơn File_Save.
- Nếu báo cáo đang ở chế độ thiết kế, chọn nút trên thanh công cụ.
5.3 Mở báo cáo
Nếu bạn đã đống báo cáo, thực hiện các bước sau để mở báo cáo ra lại:
- Tại cửa sổ cơ sở dữ liệu, bấm vào nút đối tượng Reports.
- Nhấn đúp vào dòng tên của báo cáo muốn mở hoặc chọn vào dòng tên rồi bấm nút Open ngay trong cửa sổ cơ sở dữ liệu.
5.4 Sửa đổi báo cáo
Nếu bạn muốn sửa đổi báo cáo theo ý mình thì thực hiện các bước sau:
- Tại cửa sổ cơ sở dữ liệu, bấm vào nút đối tượng Reports.
- Chọn vào dòng tên của báo cáo rồi bấm nút Design ngay trong cửa sổ cơ sở dữ liệu.
- - - - - Hết - - - - -