Giáo trình Cơ sở dữ liệu MS Access
LỜI MỞ ĐẦU
Chương trình đào tạo "Tin học văn phòng chuyên nghiệp" được Công ty
Điện toán và Truyền số liệu (VDC) xây dựng và phát triển theo các chuẩn quốc tế
về ứng dụng công nghệ thông tin (CNTT) cho các đối tượng người dùng (end user).
Chương trình cung cấp kiến thức về các khái niệm của CNTT, các kỹ năng sử dụng
máy tính cá nhân và các phần mềm ứng dụng chung ở mức từ cơ bản đến nâng cao.
Tài liệu học tập và giáo trình bằng tiếng Việt, luôn được cập nhật các công nghệ
mới nhất, được cung cấp miễn phí cho học viên khi đăng ký học trên lớp hoặc đăng
ký thi học phần.
Chương trình "Tin học văn phòng chuyên nghiệp" gồm 07 học phần, mỗi
học phần cung cấp cho học viên một nội dung kiến thức cụ thể, độc lập. Hệ thống
thi sát hạch hoàn toàn độc lập với quá trình học trên lớp. Khi đăng ký thi sát hạch,
học viên được phát miễn phí tài liệu học tập, học viên có thể tự học và tham dự kỳ
thi sát hạch mà không cần phải đến lớp học. Học viên phải thực hiện một bài thi
thực hành trên máy tính trong vòng 120 phút và một bài thi lý thuyết trực tuyến trên
mạng trong 60 phút. Điểm đạt yêu cầu là 70/100 điểm cho bài thi thực hành và
60/100 điểm cho bài thi lý thuyết. Các học phần này gồm:
1- Các khái niệm cơ bản về CNTT
2- Sử dụng hệ điều hành và quản lý máy tính
3- Soạn thảo văn bản (MS. Word)
4- Bảng tính điện tử (MS. Excel)
5- Kỹ năng trình diễn (MS. PowerPoint)
6- Cơ sở dữ liệu (MS. Access)
7- Ứng dụng của mạng LAN và mạng Internet trong công việc
Chương trình “Tin học văn phòng chuyên nghiệp” đầu tiên được khai
giảng vào ngày 15/08/2005, có các lớp học sáng, chiều và tối, tuần học 3 buổi. Các
học viên sẽ được tư vấn đầy đủ về nội dung học, thời gian học, hình thức thi… Mọi
chi tiết xin liên hệ:
TRUNG TÂM ĐÀO TẠO CÔNG NGHỆ THÔNG TIN ITC-VDC
Toà nhà Fafilm, tầng 4, số 19 Nguyễn Trãi, Thanh Xuân, Hà Nội
Tel: (04) 5 680 373 Fax: (04) 5 680 374 Email:
3
Giáo trình Cơ sở dữ liệu MS Access
MỤC LỤC
GIỚI THIỆU MICROSOFT ACCESS 6
1.1. Khởi động Access 7
1.2. Môi trường làm việc 8
1.3. Cơ sở dữ liệu của Access 9
1.4. Tạo một CSDL mới 10
1.5. Làm việc với cơ sở dữ liệu đã tồn tại 11
1.6. Thoát khỏi Access 12
Chương 2 13
THIẾT KẾ CƠ SỞ DỮ LIỆU 13
2.1. Các khái niệm cơ bản 13
2.1.1. CSDL là gì? 13
2.1.2. Hệ quản trị CSDL 13
2.1.3. Người dùng (User) 14
2.2. Các bước để thiết kế một cơ sở dữ liệu 14
2.2.1. Xác định mục đích của cơ sở dữ liệu 14
2.2.2. Xác định các bảng dữ liệu (Table) mà bạn cần 15
2.2.3. Xác định các trường (Field) mà bạn cần 15
2.2.4. Chỉ định trường hoặc các trường với các giá trị đồng nhất trong một Record (bản
ghi) 16
2.2.5. Xác định các quan hệ giữa các bảng dữ liệu 16
2.2.6. Tinh chỉnh mục thiết kế của bạn 17
2.2.7. Nhập dữ liệu và tạo các đối tượng cơ sở dữ liệu khác 17
2.2.8. Sử dụng công cụ phân tích Microsoft Access 18
2.3. Xây dựng cơ sở dữ liệu sử dụng hệ quản trị cơ sở dữ liệu Access 18
2.3.1. Các khái niệm về CSDL Access 18
2.3.2. Xây dựng cấu trúc bảng 25
2.3.5. Nhập dữ liệu 35
2.3.6. Thuộc tính LOOKUP 39
2.4. Qui trình xây dựng CSDL Access 44
Chương 3 49
TRUY VẤN DỮ LIỆU QUERY 49
3.1. Các loại truy vấn 49
3.2. Các thao tác thực hiện truy vấn 50
3.2.1. Tạo truy vấn 50
3.2.2. Xem kết quả truy vấn 53
3.2.3. Thi hành truy vấn 54
4
Giáo trình Cơ sở dữ liệu MS Access
3.2.4. Lưu truy vấn vào cơ sở dữ liệu 54
3.2.5. Truy vấn có điều kiện 55
3.2.6. Thực hiện các tính toán, trung bình, tổng cộng … bằng truy vấn 57
3.3. Thực thi với các loại truy vấn 59
3.3.1.Các SELECT query 59
3.3.2. Các TOTAL query 69
3.3.3. Các CROSSTAB query 71
3.3.4. các MAKE TABLE query 74
3.3.5. Các DELETE query 77
3.3.6. Các UPDATE query 78
BÀI TẬP CHƯƠNG 3 82
Chương 4 86
THIẾT KẾ GIAO DIỆN (FORM)
86
4.1. Khái niệm về biểu mẫu (Forms) 86
4.2. Sử dụng FORM WIZARD 86
a. Các bước tạo form 86
4.3. Sử dụng FORM DESIGN VIEW 93
4.4. Kỹ thuật Sub-form 102
BÀI TẬP CHƯƠNG 4 116
Chương 5 121
THIẾT KẾ BÁO CÁO (REPORT)
121
5.1. Các khái niệm về Report 121
5.2. Sử dụng Report wizard 123
5.3. Thiết kế report 130
5.4. Report chứa tham số 138
BÀI TẬP CHƯƠNG 5 144
5
Giáo trình Cơ sở dữ liệu MS Access
Chương 1
GIỚI THIỆU MICROSOFT ACCESS
Từ cuối những năm 1980, hãng Microsoft đã cho ra đời hệ điều hành Windows,
đánh dấu một bước ngoặt trong phát triển các ứng dụng phần mềm trên nền
Windows (giao diện GUI - Graphical User Interface). Một trong những ứng dụng
nổi bật nhất đi kèm lúc đó là bộ phần mềm tin học văn phòng Microsoft Office. Từ
đó đến nay, bộ phần mềm này vẫn chiếm thị phần số một trên thế giới trong lĩnh
vực tin học văn phòng.
Ngoài những ứng dụng về văn phòng quen thuộc phải kể đến như: MS Word
-để soạn thảo tài liệu; MS Excel - bảng tính điện tử; MS Powerpoint - để trình chiếu
báo cáo; … còn phải kể đến phần mềm quản trị cơ sở dữ liệu rất nổi tiếng đi kèm:
MS Access. Đến nay phiên bản mới nhất là AccessXP. Toàn bộ nội dung giáo trình
này, chúng tôi giới thiệu trên Access2000. Về cơ bản, các phiên bản từ Access97 trở
lại đây cách sử dụng gần giống nhau. Mỗi phiên bản chỉ khác một số tính năng đặc
biệt và một chút về giao diện. Do đó, khi học Access2000, bạn đọc luôn có được
những kiến thức cần thiết nhất để tiếp thu những phiên bản Access mới sau này
cũng như để nhìn nhận và sử dụng tốt các phiên bản cũ hơn. Chúng tôi khuyên bạn
đọc nên sử dụng Access97 trở lên.
Nếu là người chưa từng biết gì về Access, bạn sẽ có một câu hỏi:
Access làm được gì, và những ứng dụng của nó trong thực tế?
- Access là một Hệ quản trị cơ sở dữ liệu quan hệ (RDMS- Relational Database
Management System), rất phù hợp cho các bài toán quản lý vừa và nhỏ. Hiệu năng
cao và đặc biệt dễ sử dụng - bởi lẽ giao diện sử dụng phần mềm này gần giống hệt
một số phần mềm khác trong bộ MS Office quen thuộc như: MS Word, MS Excel;
- Hơn nữa, Access còn cung cấp hệ thống công cụ phát triển khá mạnh đi kèm
(Development Tools). Công cụ này sẽ giúp các nhà phát triển phần mềm đơn giản
trong việc xây dựng trọn gói các dự án phần mềm quản lý qui mô vừa và nhỏ. Đặc
biệt những ai muốn học phát triển phần mềm thì đây là cách dễ học nhất, nhanh
nhất giải quyết bài toán này.
6
Giáo trình Cơ sở dữ liệu MS Access
Đến đây có thể khẳng định được hai ứng dụng chính của Access là:
1. Dùng để xây dựng hệ cơ sở dữ liệu (chỉ là phần cơ sở dữ liệu, còn phần phát
triển thành phần mềm có thể dùng các công cụ khác để làm như: Visual Basic,
Visual C, Delphi, .NET,…)
2. Có thể dùng để xây dựng trọn gói những phần mềm quản lý qui mô vừa và
nhỏ.
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ả
Để có thể sử dụng Access, máy tính phải được cài đặt phần mềm này thông qua
bộ Microsoft Office.
1.1. Khởi động Access
Trình tự thao tác như sau:
- Kích chuột vào Start Programs Microsoft Access.
Kết quả ta nhận được cửa sổ như hình 1.1.
7
Thanh thực đơn
Thanh công cụ
Thanh trạng thái
Giáo trình Cơ sở dữ liệu MS Access
Hình 1.1
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 tuỳ 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 tuỳ
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. Môi trường làm việc
Sau khi một tệp Access được tạo mới, môi trường làm việc trên Access xuất
hiện với giao diện những thành phần như trong hình 1.2.
Hình 1.2
8
1
2
Giáo trình Cơ sở dữ liệu MS Access
(1) - Hệ thống thực đơn (menu) và các thanh công cụ (Toolbar) - nơi thực hiện
các lệnh khi cần;
(2) - Cửa sổ tệp Access đang làm việc bao gồm 7 phần chính: Tables, Queries,
Forms, Reports, Pages, Macros và Modules. Chúng ta sẽ lần lượt học cách làm việc
trên từng phần này trong các chương tiếp theo.
1.3. Cơ sở dữ liệu của Access
- Tệp do Access tạo ra có đuôi là .MDB (hoặc .mdb)
- Một hệ chương trình do Access tạo ra gọi là một cơ sở dữ liệu (viết tắt là
CSDL; tên tiếng Anh là Database). 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 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 trình 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 (tập lệnh).
+ Module (đơn thể).
Bảng: Lưu trữ dữ liệu, mỗi bảng trong Access tương đương một tệp. 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 CSDL 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 những tiêu chuẩn nhất định.
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.
9
Giáo trình Cơ sở dữ liệu MS Access
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.
Macro: Là một tập lệnh đơn giản được viết (liệt kê) ra nhằm thực hiện một số
thao tác nhất định để hoàn thành một công việc.
Module: Là một tập hợp các khai báo (declarations), các lệnh (statements) và
các thủ tục (procedures) được lưu giữ dưới một đơn vị cơ sở có tên cụ thể.
1.4. Tạo một CSDL mới
Để tạo mới một tập tin cơ sở dữ liệu Access mới, ta làm như sau:
- Vào menu File New,
- Chọn Blank Database, cửa sổ File New Database xuất hiện (hình 1.3)
- Đặt tên tệp tin (trong hộp File name)
Hình 1.3
- Kích chuột vào nút Create
10
Giáo trình Cơ sở dữ liệu MS Access
- Kết quả sẽ hiện ra môi trường làm việc với tệp Access ta vừa đặt tên (hình
1.4)
Hình 1.4
Cửa sổ trong hình 1.4 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 :
- Bảy đối tượng: Table, Query, Form, Report, Page, Macro, Module ứng với
bảy loại đối tượng hay bảy loại thành phần trong một cơ sở dữ liệu Access.
- Ba nút lệnh: tuỳ 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 nút đối tượng Report được chọn thì có ba nút lệnh là: New, Preview,
Design.
1.5. 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 thực đơn File Open
- Hoặc kích chuột tại biểu tượng Open trên thanh công cụ .
11
Ba nút
lệnh
Bảy đối
tượng
Giáo trình Cơ sở dữ liệu MS Access
Kết quả nhận được cửa sổ Open để ta chỉ việc chọn thư mục, chọn tên tệp cơ
sở dữ liệu rồi nhấn Open là được (xem hình 1.5).
Hình 1.5
1.6. Thoát khỏi Access
Khi không làm việc với Access, hãy ra lệnh thoát khỏi Access bằng một trong
các cách sau :
- Mở thực đơn File Exit;
- Nhấn tổ hợp phím nóng Alt + F4;
- Hoặc sử dụng nút Close trên cửa sổ Access đang mở.
12
Chọn thư mục chứa tệp CSDL
Chọn tệp CSDL cần mở
Giáo trình Cơ sở dữ liệu MS Access
Chương 2
THIẾT KẾ CƠ SỞ DỮ LIỆU
Xây dựng CSDL là công việc quan trọng đầu tiên trong toàn bộ qui trình phát
triển một ứng dụng trên Access. Một CSDL được thiết kế và xây dựng tốt sẽ là
những thuận lợi, những tự tin đầu tiên để bước vào một qui trình phát triển ứng
dụng; nhưng trái lại sẽ là một thảm họa cho dự án đang phát triển: sẽ thường xuyên
gặp phải những khó khăn để phải chỉnh sửa lại CSDL và tồi tệ hơn, dự án có thể
phải thực hiện lại từ đầu do việc thiết kế CSDL quá kém.
Trước hết để thiết kế một cơ sở dữ liệu tốt, phải hiểu rõ một vài khái niệm cơ
bản về cơ sở dữ liệu.
2.1. Các khái niệm cơ bản
2.1.1. CSDL là gì?
Một cơ sở dữ liệu có thể định nghĩa tạm như sau: một chỗ chứa có tổ chức tập
hợp các tập tin dữ liệu có tương quan, các mẫu tin và các cột.
2.1.2. Hệ quản trị CSDL
Một hệ quản trị CSDL (HQTCSDL) là:
- Một tập các phần mềm quản lý CSDL và cung cấp các dịch vụ xử lý CSDL
cho những người phát triển ứng dụng và người dùng cuối.
- HQTCSDL cung cấp một giao diện giữa người sử dụng và dữ liệu.
- HQTCSDL biến đổi CSDL vật lý thành CSDL logic.
HQTCSDL biến đổi CSDL vật lý thành CSDL logic. Dựa vào cách tổ chức dữ
liệu, HQTCSDL được chia thành năm loại:
- Loại phân cấp như hệ IMS của IBM
- Loại mạng như IDMS của Cullinet Software
- Loại tập tin đảo như ADABAS của Software AG
- Loại quan hệ như ORACLE của Oracle, DB2 của IBM, ACCESS của
Microsoft Access
13
Giáo trình Cơ sở dữ liệu MS Access
- Loại đối tượng là một tiếp cận khá mới trong thiết kế HQTCSDL và việc sử
dụng loại này sớm trở nên phổ biến. Hiện tại, loại HQTCSDL chính được sử dụng
trong công nghệ là loại HQTCSDL quan hệ (RDBMS).
2.1.3. Người dùng (User)
Người dùng khai thác CSDL thông qua HQTCSDL có thể phân thành ba loại:
người quản trị CSDL, người phát triển ứng dụng và lập trình, người dùng cuối.
- Người quản trị CSDL, hàng ngày, chịu trách nhiệm quản lý và bảo trì CSDL
như:
+ Sự chính xác toàn vẹn của dữ liệu và ứng dụng trong CSDL, sự bảo mật của
CSDL
+ Lưu dự phòng và phục hồi CSDL
+ Giữ liên lạc với người phát triển ứng dụng, người lập trình và người dùng
cuối.
+ Bảo đảm sự hoạt động trôi chảy và hiệu quả của CSDL và HQTCSDL.
- Người phát triển và lập trình ứng dụng là những người chuyên nghiệp về máy
tính có trách nhiệm thiết kế, tạo dựng và bảo trì hệ thông tin cho người dùng cuối.
- Người dùng cuối là những người không chuyên về máy tính nhưng họ là các
chuyên gia trong các lĩnh vực khác có trách nhiệm cụ thể trong tổ chức. Họ khai
thác CSDL thông qua hệ được phát triển bởi người phát triển ứng dụng hay các
công cụ truy vấn của HQTCSDL.
2.2. Các bước để thiết kế một cơ sở dữ liệu
Chủ điểm này cung cấp thông tin về các bước căn bản để thiết kế một cơ sở dữ
liệu.
2.2.1. Xác định mục đích của cơ sở dữ liệu
Bước đầu tiên trong việc thiết kế một cơ sở dữ liệu đó là xác định mục đích và
cách mà nó được dùng. Bạn cần biết thông tin nào bạn muốn từ cơ sở dữ liệu. Từ
đó, bạn có thể xác định chủ điểm nào bạn cần để lưu trữ các sự kiện về nó (Table)
và loại dữ liệu nào bạn cần lưu trữ về mỗi một chủ điểm (các trường trong Table).
14
Giáo trình Cơ sở dữ liệu MS Access
2.2.2. Xác định các bảng dữ liệu (Table) mà bạn cần
Việc xác định các Table có thể là bước nghiêm ngặt nhất trong qui trình thiết
kế cơ sở dữ liệu. Điều này do bởi các kết quả mà bạn muốn từ Table của mình -
các Report mà bạn muốn in, các Form mà bạn muốn sử dụng, các câu hỏi mà bạn
muốn trả lời - sẽ không cung cấp đầy đủ các đầu mối về cấu trúc của các Table tạo
ra chúng. Bạn không cần thiết kế Table của bạn bằng cách sử dụng Microsoft
Access. Thật sự ra, điều tốt hơn đó là cần phải phác thảo và hoạch định lại công
việc thiết kế trước tiên trên giấy. Lúc bạn thiết kế Table, hãy chia nhãn các mảng
thông tin bằng cách giữ các nguyên tắc thiết kế căn bản dưới đây:
- Một Table không nên chứa thông tin trùng lặp và thông tin sẽ không được
trùng lặp giữa các Table. Ở phương diện này, một Table trong một cơ sở dữ liệu
quan hệ thì khác với một Table trong một trình ứng dụng FLAT-File chẳng hạn
như một trang bảng tính.
- Lúc mỗi mảng thông tin được lưu giữ chỉ trong một Table, thì bạn cập nhật
nó ở một chỗ. Điều này hữu hiệu hơn và nó cũng hạn chế khả năng các mục trùng
lắp có chứa thông tin khác nhau. Ví dụ, bạn sẽ muốn lưu giữ mỗi một địa chỉ khách
hàng và số điện thoại của khách hàng đó chỉ một lần trên một Table mà thôi.
- Mỗi Table cũng nên chứa thông tin về mỗi một chủ điểm.
- Lúc mỗi một Table có chứa một sự kiện duy nhất về một chủ điểm, thì bạn có
thể lưu giữ thông tin về mỗi một chủ điểm một cách độc lập với các chủ điểm khác.
Lấy Ví dụ, bạn nên lưu giữ địa chỉ của khách hàng ở một Table khác với đơn đặt
hàng của khách hàng, để bạn có thể xóa bỏ một đơn đặt hàng mà vẫn giữ lại thông
tin về khách hàng đó.
2.2.3. Xác định các trường (Field) mà bạn cần
Mỗi một Table có chứa thông tin về chủ điểm giống nhau, và mỗi một trường
trong một Table thì có chứa các sự kiện riêng biệt về chủ điểm của Table. Lấy Ví
dụ, một Table khách hàng có thể chứa các trường tên công ty, trường địa chỉ,
trường thành phố, và trường số điện thoại. Lúc phác thảo các trường cho mỗi một
Table, hãy nhớ các lời khuyên sau đây:
- Liên hệ mỗi một trường trực tiếp với chủ điểm của Table.
15
Giáo trình Cơ sở dữ liệu MS Access
- Đừng đưa vào dữ liệu được dẫn xuất hoặc được tính toán (tức là dữ liệu kết
quả của một biểu thức hay biến đổi).
- Đưa vào tất cả thông tin cần thiết.
- Lưu giữ thông tin theo các phần hợp lý nhỏ nhất (Ví dụ, First Name và Last
Name hơn là Name).
2.2.4. Chỉ định trường hoặc các trường với các giá trị đồng nhất trong một
Record (bản ghi)
Chỉ định trường hoặc các trường với giá trị đồng nhất trong một bản ghi để
Microsoft Access nối thông tin được lưu giữ trong các Table riêng biệt.
Ví dụ, để nối một khách hàng với tất cả các đơn đặt hàng của khách hàng đó
mỗi Table trong cơ sở dữ liệu của bạn phải chứa một trường hoặc tập hợp các
trường có các đặc tính đồng nhất với mỗi một Record riêng biệt trong Table. Một
trường hoặc tập hợp các trường như thế được gọi là một từ khóa (Primary key).
2.2.5. Xác định các quan hệ giữa các bảng dữ liệu
Bây giờ chúng ta đã chia thông tin thành các Table và các trường khóa chính
định danh, bạn cần một phương pháp để báo cho Microsoft Access cách đưa thông
tin có liên quan trở về với nhau theo một cách thức đầy đủ ý nghĩa. Để thực hiện
điều này, bạn cần xác định các quan hệ giữa các Table trong một cơ sở dữ liệu
Microsoft Access.
Bạn sẽ nhận thấy rằng việc xem các quan hệ trong một cơ sở dữ liệu hiện đang
được thiết kế tốt là một điều ích lợi.
Ví dụ, mở cơ sở dữ liệu mẫu Northwind, rồi nhấp Relationships trên menu
Tools để xem các quan hệ giữa các Table của nó (xem hình 2.1). Hoặc có thể bạn
muốn xem các quan hệ trong đề án Access mẫu Northwind và cơ sở dữ liệu mẫu
Microsoft SQL Server.
16
Giáo trình Cơ sở dữ liệu MS Access
Hình 2.1
2.2.6. Tinh chỉnh mục thiết kế của bạn
Sau khi đã thiết kế các bảng (Table), các trường (Field), và các quan hệ cần
thiết, đã đến lúc phải nghiên cứu việc thiết kế và dò tìm bất cứ sai lầm nào hiện vẫn
còn.
Việc thay đổi thiết kế cơ sở dữ liệu bây giờ thì dễ dàng hơn là thực hiện điều
đó sau khi bạn đã điền dữ liệu vào các Table.
Sử dụng Microsoft Access để tạo ra các Table, chỉ định các quan hệ giữa các
Table và nhập dữ liệu mẫu đủ trong các Table để bạn có thể thử nghiệm bản thiết
kế. Để thử nghiệm các quan hệ trong cơ sở dữ liệu, hãy xem bạn có thể tạo các
Query để nhận các câu trả lời mà mình muốn không. Việc tạo bảng phác thảo thô
của các mẫu biểu (Form) và báo biểu (Report) cũng như xem chúng có minh họa
dữ liệu theo ý bạn muốn hay không. Hãy tìm kiếm các mục trùng lặp không cần
thiết về dữ liệu và hạn chế chúng. Nếu bạn tìm thấy các sự cố, thì hãy tinh chỉnh
việc thiết kế.
2.2.7. Nhập dữ liệu và tạo các đối tượng cơ sở dữ liệu khác
17
Giáo trình Cơ sở dữ liệu MS Access
Lúc bạn hài lòng với cấu trúc Table đáp ứng được các nguyên tắc thiết kế theo
mô tả ở đây, thì đã đến lúc bạn phải tiếp tục bổ sung tất cả dữ liệu đang có vào
Table. Sau đó, bạn có thể tạo ra bất cứ Query, Form, Report, các trang truy cập
dữ liệu, Macro và các Module mà bạn muốn.
2.2.8. Sử dụng công cụ phân tích Microsoft Access
Microsoft Access có chứa hai công cụ có thể giúp bạn tinh chỉnh việc thiết kế
cơ sở dữ liệu của Microsoft Access. Table Analyzer Wizard có thể phân tích việc
thiết kế một Table một lần, có thể đưa ra các cấu trúc Table mới và các quan hệ
nếu có và có thể chia một Table thành các Table quan hệ mới nếu điều này có ý
nghĩa.
PerFormance Analyzer có thể phân tích toàn bộ cơ sở dữ liệu và đưa ra một
số đề nghị để cải tiến nó. Wizard cũng có thể thực thì các phần đề nghị này.
Để có những ý tưởng bổ sung về việc thiết kế một cơ sở dữ liệu Microsoft
Access, bạn có thể muốn xem phần thiết kế của cơ sở dữ liệu mẫu Northwind hoặc
một trong những cơ sở dữ liệu mà bạn tạo ra với Database Wizard.
Hãy xem Microsoft SQL Server Documentation để có những ý tưởng bổ sung
về việc phân tích cơ sở dữ liệu Microsoft SQL Server nhằm cải tiến hoạt động của
nó.
2.3. Xây dựng cơ sở dữ liệu sử dụng hệ quản trị cơ sở dữ liệu Access
2.3.1. Các khái niệm về CSDL Access
a. CSDL Access
CSDL Access là một đối tượng bao gồm tập hợp các bảng dữ liệu, các kết nối
giữa các bảng được thiết kế một cách phù hợp để phục vụ lưu trữ dữ liệu cho một
ứng dụng quản lý dữ liệu nào đó.
Ví dụ:
CSDL Quản lý học sinh bao gồm tập hợp các bảng dữ liệu: HOCSINH, LOP,
KHOI, MONHOC, DIEM được kết nối với nhau một cách phù hợp phục vụ lưu trữ
dữ liệu cho ứng dụng quản lý học sinh một trường học. Toàn bộ cấu trúc CSDL
quản lý học sinh trên Access được mô tả như trong hình 2.2.
18
Giáo trình Cơ sở dữ liệu MS Access
Hình 2.2
CSDL Quản lý bán hàng bao gồm tập hợp các bảng dữ liệu: HANG, KHACH,
HOADON, HANGBAN được kết nối với nhau một cách phù hợp, phục vụ ứng dụng
quản lý việc bán hàng tại một cửa hàng. Sơ đồ cấu trúc CSDL này như trong hình
2.3.
Hình 2.3
CSDL Quản lý lương cán bộ, bao gồm các bảng: PHONGBAN, CHUCVU và
CANBO được kết nối với nhau phục vụ lưu trữ dữ liệu cho ứng dụng quản lý lương
cán bộ một cơ quan. Cấu trúc CDSL này được biểu diễn như trong hình 2.4.
19
Giáo trình Cơ sở dữ liệu MS Access
Hình 2.4
CSDL Quản lý việc nhập-xuất vật tư một cửa hàng. Bao gồm các bảng:
VATTU, KHACH, PHIEUNHAP, PHIEUXUAT, VATTU_NHAP, VATTU_XUAT
được biểu diễn như trong hình 2.5.
Hình 2.5
b. Bảng dữ liệu
Bảng dữ liệu (Table) là một phần quan trọng nhất của CSDL; Là nơi lưu trữ
những dữ liệu tác nghiệp cho ứng dụng. Một CSDL có thể có rất nhiều bảng, các
bảng phải được thiết kế sao cho có thể lưu trữ được đầy đủ dữ liệu cần thiết, đảm
bảo giảm tối đa tình trạng gây dư thừa dữ liệu (dư thừa dữ liệu được hiểu đơn giản
là tình trạng lưu trữ những dữ liệu không cần thiết trên một số bảng. Tác hại của
20
Giáo trình Cơ sở dữ liệu MS Access
hiện tượng này sẽ gây: sai lệch dữ liệu tác nghiệp và làm tăng dung lượng dữ
liệu không cần thiết); giảm tối đa dung lượng CSDL có thể, đồng thời tạo môi
trường làm việc thuận lợi cho việc phát triển ứng dụng trong các bước tiếp theo.
Một bảng dữ liệu trên Access bao gồm các thành phần: Tên bảng, các trường
dữ liệu, trường khoá, tập hợp các thuộc tính cần thiết cho mỗi trường dữ liệu và tập
hợp các bản ghi.
Mô tả một bảng dữ liệu trong trạng thái Datasheet (Hình 2.6) (nhập, xem, sửa
dữ liệu):
Hình 2.6
Mô tả một bảng dữ liệu trong trạng thái Design view (đang thiết kế cấu trúc)
(Hình 2.7):
21
Giáo trình Cơ sở dữ liệu MS Access
Hình 2.7
- Tên bảng
Mỗi bảng có một tên gọi. Tên bảng thường được đặt sau khi tạo xong cấu trúc
của bảng, tuy nhiên cũng có thể đổi lại tên bảng trên cửa sổ Database như đổi tên
tệp dữ liệu trên cửa sổ Windows Explorer.
Không nên sử dụng dấu cách (Space), các ký tự đặc biệt hoặc chữ tiếng Việt có
dấu trong tên bảng.
- Trường dữ liệu (Field)
Mỗi cột dữ liệu của bảng sẽ tương ứng với một trường dữ liệu. Mỗi trường dữ
liệu sẽ có một tên gọi và tập hợp các thuộc tính miêu tả trường dữ liệu đó ví dụ như:
kiểu dữ liệu, trường khoá, độ lớn, định dạng, …
Mỗi trường dữ liệu phải được định kiểu dữ liệu. Trong Access, trường dữ liệu
có thể nhận một trong các kiểu dữ liệu sau:
TT Kiểu dữ liệu Độ lớn Lưu trữ…
1 Number Tuỳ thuộc kiểu cụ thể Số: số thực, số nguyên theo nhiều kiểu
2 Autonumber 4 bytes Số nguyên tự động được đánh số
3 Text Tuỳ thuộc độ dài xâu
Xâu ký tự
4 Yes/No 1 bytes Kiểu logic
5 Date/Time 8 bytes Lưu trữ ngày, giờ
22
Giáo trình Cơ sở dữ liệu MS Access
6 Currentcy Single Lưu trữ dữ liệu kèm ký hiệu tiền tệ
7 Memo Tuỳ thuộc giá trị kiểu ghi nhớ
8 Hyperlink Tuỳ thuộc độ dài xâu Lưu trữ các siêu liên kết (hyperlink)
9 OLE Tuỳ thuộc dữ liệu Âm thanh, hình ảnh, đồ hoạ, … (Objects)
Không nên sử dụng dấu cách (Space), các ký tự đặc biệt hoặc chữ tiếng Việt có
dấu trong tên trường.
- Bản ghi (Record)
Mỗi dòng dữ liệu của bảng được gọi một bản ghi. Mỗi bảng có một con trỏ bản
ghi. Con trỏ bản ghi đang nằm ở bản ghi nào, người dùng có thể sửa được dữ liệu
bản ghi đó. Đặc biệt, bản ghi trắng cuối cùng của mỗi bảng được gọi EOF.
- Trường khoá (Primary key)
Trường khoá có tác dụng phân biệt giá trị các bản ghi trong cùng một bảng với
nhau. Trường khoá có thể chỉ 01 trường, cũng có thể được tạo từ tập hợp nhiều
trường (gọi bộ trường khoá).
Ví dụ:
(1)- bảng THISINH của CSDL thi tuyển sinh, trường khoá là SoBaoDanh. Vì
mỗi thí sinh có thể nhiều trường có giá trị hệt nhau, nhưng SoBaoDanh thì duy nhất.
(2)- bảng CANBO trường MaCanBo sẽ là trường khóa vì không thể tồn tại 2
cán bộ nào trong bảng này trùng MaCanBo
(3)- bảng HANGBAN của CSDL Quản lý bán hàng, 2 trường hangID và
hoadonID là một bộ trường khoá. Vì không thể trên một hoá đơn bảng hàng nào có
bản một mặt hàng nào đó ghi lặp lại 2 lần.
c. Liên kết các bảng dữ liệu
Liên kết các bảng dữ liệu là một kỹ thuật trong thiết kế CSDL quan hệ. Chúng
là mối liên kết giữa 2 bảng với nhau theo thiết kế cho trước để đảm bảo được mục
đích lưu trữ dữ liệu cho ứng dụng.
Trong Access tồn tại 2 kiểu liên kết: liên kết 1-1 và liên kết 1-n (một-nhiều)
23
Giáo trình Cơ sở dữ liệu MS Access
Liên kết 1-1 là: mỗi bản ghi của bảng này sẽ liên kết với duy nhất tới một bản
ghi của bảng kia và ngược lại;
Ví dụ liên kết 1-1: Liên kết giữa bảng phach và bảng diem (hình 2.8)
Hình 2.8
Mô tả dữ liệu 2 bảng này như sau: Mỗi trường của bảng phach chỉ có thể liên
kết với một bản ghi của bảng diem mà thôi (xem hình 2.9)
Hình 2.9
Liên kết 1-n là: mỗi trường của bảng thứ nhất sẽ có thể liên kết với một hoặc
nhiều bản ghi của bảng thứ 2 (n). Ngược lại, mỗi bản ghi của bảng thứ 2 sẽ liên kết
tới duy nhất 1 trường của bảng thứ nhất.
Ví dụ liên kết 1-n: Liên kết giữa bảng cha và bảng con (hình 2.10)
Hình 2.10
24
Giáo trình Cơ sở dữ liệu MS Access
Có thể tham khảo mỗi cha có thể có nhiều con qua hai bảng sau: Liên kết này
thể hiện một người cha trong bảng cha có thể có nhiều con được lưu trong bảng con
(xem hình 2.11)
Hoặc xem theo một kiểu khác.
Hình 2.11
2.3.2. Xây dựng cấu trúc bảng
25
Giáo trình Cơ sở dữ liệu MS Access
Mục này hướng dẫn cách thiết kế cấu trúc một bảng dữ liệu trên CSDL Access.
Để có thể làm tốt được công việc này, đề nghị học viên nên tuân thủ theo thứ tự các
bước sẽ liệt kê dưới đây.
Minh hoạ này hướng dẫn cách tạo cấu trúc bảng HANG bao gồm các trường :
hangID, tenhang, donvi, dongia.
Bước 1: Khởi động trình thiết kế cấu trúc bảng ở chế độ Design View
- Ở thẻ Tables, nhấn nút New, chọn Design View, nhấn OK.
Hình 2.12
Hoặc nhấn trên thẻ Tables
- Hộp thoại thiết kế cấu trúc một bảng xuất hiện (hình 2.13):
Hình 2.13
26
Giáo trình Cơ sở dữ liệu MS Access
Bước 2: Khai báo danh sách tên các trường của bảng: bằng cách gõ danh sách
tên các trường lên cột Field Name của cửa sổ thiết kế.
Chú ý: tên trường không nên chứa dấu cách (space), chữ tiếng Việt có dấu.
Sau khi gõ vào danh sách tên các trường của bảng HANG, hộp thoại thiết kế sẽ
có dạng như trong hình 2.14:
Hình 2.14
Bước 3: Khai báo kiểu dữ liệu cho các trường của bảng, bằng cách chọn kiểu
dữ liệu cho từng trường ở cột Data Type tương ứng. Sau khi chọn xong kiểu dữ
liệu cho các trường, hộp thoại thiết kế sẽ có dạng như trong hình 2.15.
27