Đôi lời về Access!
Microsoft Access: Access 2003, AccessXP, v.v.. là công c ụ quản trị cơ sở dữ liệu (CSDL) quan hệ mạnh, được đánh giá rất cao hiện nay v ì: thứ nhất là dễ học, thứ 2 là rất phổ dụng (trên 90% người làm Tin biết sử dụng nó - điều tra năm2006) và thứ 3 là có nhiều cấp độ phù hợp với nhiều bậc khai thác khác nhau, v.v..
Tin học ứng dụng bao gồm 4 vấn đề được phân chia thành 4 học phần: Học phần 1: Những khái niệm cơ bản, hệ điều hành Windows và Internet Học phần 2: Hệ soạn thảo Word và trình diễn PowerPoint
Học phần 3: Bảng tính điện tử Excel
Học phần 4: Quản trị CSDL Access
Học 3 học phần đầu là để: Biết cách sử dụng đ ược máy vi tính thông qua hệ điều h ành Windows; Biết cách soạn thảo các văn bản có chất l ượng thông qua Word; Biết cách thiết kế các trang trình diễn kết hợp với máy chiếu để tr ình bày trước đám đông thông qua PowerPoint; Biết cách tổ chức dữ liệu v à xử lý các công việc tính toán thông qua Excel. Vậy còn Access dùng để làm gì? Xin tạm thời nói vắn tắt ngay (bạn sẽ h ình dung ra nó sau khi học ít bài đầu): Là để tạo ra một hệ thống thông tin (th ường là các tệp) có mối quan hệ với nhau, c ùng mô tả một công việc, đồng thời xử lý chúng theo những yêu cầu đặt ra trên nên của Quản trị CSDL Access có lập tr ình hoặc không.
Đã có rất nhiều sách viết về Access với nhiều cấp độ khác nhau mang mầu sắc bi ên dịch, tây, ta đủ thứ, bạn đọc tha hồ tham khảo theo ý thích của m ình. Nhưng nếu bạn chưa biết gì về quản trị cơ sở dữ liệu Access thì nên tham khảo giáo trình này bởi vì mục đích của cuốn sách này là:
1. Tạo cho người học biết cách thiết kế một c ơ sở dữ liệu trong công việc của m ình.
2. Biết sử dụng những tính năng c ơ bản của Access để xử lý hệ thống CSDL đó.
3. Biết xử lý tự động thông qua lập tr ình trong Access.
Thường thì khi gặp một vấn đề mới người học hay hỏi:
1. Nội dung mới này là gì? (đối tượng được nghiên cứu)
2. Dùng nó để làm gì? (ứng dụng của đối tượng đó)
3. Hiểu và ứng dụng nó như thế nào? (chế ngự đối tượng đó)
Giáo trình này sẽ trả lời thoả đáng các câu h ỏi đó.
Ngoài ra giáo trình c ũng đề cập đến một vấn đề có tính s ư phạm trong việc viết các giáo trình Tin học ứng dụng. GS. H. Peter đ ã từng nói: “Đi từ quả táo rơi dẫn đến định luật hấp dẫn nhẹ nh àng và dễ hiểu hơn là đi ngược lại”. Theo tinh thần đó, các khái niệm trong giáo trình như: Quan hệ, Phụ thuộc hàm, Truy vấn, Form, Report, Module, v.v... đều được mô tả bằng các ví dụ cụ thể, để các bạn có thể tự học tr ên máy tính ngay cả khi không có giảng vi ên hướng dẫn.
Nội dung trong giáo trình này chạy được trên mọi phiên bản của Access đã có, đặc
biệt là Access 2003, Access XP, v.v..
Vì Access chứa đượng rất nhiều tính năng, nhất l à về lập trình, do vậy việc chọn lọc nội dung trong quyển sách n ày không thể tránh khỏi thiếu sót về trật tự, liều l ượng và cung cách thể hiện nội dung, mong các bạn góp ý v à lưỡng thứ, để quyển sau cập nhật được tốt hơn.
Chúc các bạn thành đạt!
Hà nội ngày 28/12/2007
Chương 1: Làm quen với Access
1.1 Thế nào là một CSDL
Một CSDL là một tập các tệp được tổ chức cho một mục đích cụ thể n ào đó, một bộ phận lớn và rất quan trọng trong tập các tệp n ày là tệp bảng. Tệp bảng là tệp có cấu trúc hai chiều: dòng và cột. Người ta còn gọi dòng là bản ghi (Record), cột còn gọi là trường (Field). Ví dụ: để l àm công việc tuyển sinh Khối A, ta tổ chức 3 tệp bảng d ùng cho công tác tuyển sinh như sau:
Tệp thứ nhất có tên KhoiA(Khối AK) có dạng sau:
SBD | Họ tên | Ngày sinh | Địa chỉ | |
1 | A0001 | Hoàng Xuân Nam | 11/04/1986 | 12 Hai Bà Trưng Hà Nội |
2 | A0002 | Hồ Duy Anh | 22/04/1988 | 20 Tràng Thi Hà Nội |
3 | A0003 | Lê Văn Thảo | 18/03/1989 | Yên thành, Nghệ an |
… | … | … | … | … |
... | … | … | … | … |
4389 | A4389 | Hoàng Nam Thắng | 14/12/1989 | Tỉnh gia, Thanh hoá |
Có thể bạn quan tâm!
- Quản trị cơ sở dữ liệu Access - Đại học Kinh doanh và Công nghệ Hà Nội - 2
- Sắp Xếp Đơn Giản Một Trường Ta Làm Như Sau:
- Gõ Tiêu Chuẩn G (=14) Vào Dòng Criteria Ứng Với Trường Tính_Toán
Xem toàn bộ 145 trang tài liệu này.
Tệp thứ 2 có tên DoiTuong (đối tượng) có dạng:
Khu vực | Ưu tiên | |
A0001 | 1 | 2 |
A0002 | 2 | 1 |
A0003 | 2 | 9 |
… | … | … |
… | … | … |
A4389 | 3 | 3 |
Tệp thứ 3 có tên DiemThi (điểm thi) có dạng sau:
Điểm toán | Điểm lý | Điểm hoá | Tổng điểm | |
A0001 | 6.50 | 3.40 | 7.50 | |
A0002 | 7.20 | 5.10 | 6.12 | |
A0003 | 2.00 | 4.30 | 8.00 | |
… | …… | … | … | |
… | …… | … | … | |
A4389 | 9.00 | 8.50 | 6.40 |
Một hệ thống gồm 3 tệp tr ên dùng để giải quyết vấn đề tuyển sinh M (tất nhiên là chưa đủ) được gọi là một CSDL, tất nhiên còn những tệp khác nữa, ta sẽ nói sau.
1.2 Thế nào là một CSDL quan hệ?
Hãy quan sát 3 tệp trên, tuy về hình thức là 3 tệp riêng lẻ, nhưng giữa chúng có mối quan hệ chặt chẽ. Giả sử một thí sinh đ ưa cho chúng ta một số báo danh (SBD) và yêu cầu chúng ta in ra giúp họ thông tin về: Họ tên, Khu vực, Ưu tiên, Điểm toán, Điểm lý và Điểm hoá, thì chúng ta phải làm như thế nào?
Rõ ràng chúng ta phải bám vào số báo danh (SBD) của tệp KhoiA (giả sử A0003) để lấy ra: Lê Văn Thảo và tiếp tục xem số báo danh đó trong tệp DoiTuong để lấy ra Khu vực là 2 và uu Tien là 9, cuối cùng lại tiếp tục căn cứa vào số báo danh đó trong tệp DiemThi để lấy ra điểm toán là: 2.00, Điểm lý là: 4.30 và Điểm hoá là: 8.00. Như vậy nhờ có mối quan hệ giữa các tệp thông qua SBD mà ta giải quyết được vấn đề trên. Ta nói rằng 3 tệp trên (hay nói tổng quát là CSDL trên) là một CSDL quan hệ (hiện thời ta tạm hiểu “quan hệ” đ ơn giản như thế
đã). Cơ sở dữ liệu quan hệ có thuật ngữ tiếng Anh l à Relational Database. Ph ần mềm nhờ nó mà ta khai thác, xử lý, tổ chức các CSDL quan hệ, đ ược gọi là Quản trị CSDL (Relational Database Management=RDM), và vì tính phong phú c ủa nó nên nhiều khi người ta cũng gọi là hệ quản trị CSDL (RDMS). Access l à một hệ quản trị CSDL quan hệ rất mạnh.
1.3 Các đối tượng trong Access
Trong Access bao gồm một số đối tượng cơ bản như sau:
1.3.1 Bảng (Table)
Là đối tượng dùng để lưu dữ liệu. Một bảng bao gồm cột (hay c òn gọi là trường = Fields) và hàng (hay còn gọi là bản ghi=Record). Hãy quan sát bảng sau:
Họ tên | Ngày sinh | Con | Lương | Giới tính | Tiểu sử | ?nh | |
1 | Lê Văn Lan | 11/10/76 | 2 | $1400 | Nam | … | …. |
2 | Hồ Thị Hoa | 12/04/70 | 1 | $1640 | Nữ | … | …. |
3 | Lê Anh Thu | 01/02/79 | 0 | $1300 | Nam | … | …. |
Bảng trên có 8 trường bao gồm: STT, Họ t ên v.v.. (là tên trường), sau đây là một số quy định:
1. Tên trường
Để có thể lưu tệp vào đĩa, tên tệp cũng như tên trường phải được tạo ra theo quy tắc sau:
Tên có thể chứa các ký tự chữ cái, chữ số, dấu cách v à các ký tự đặc biệt. Trừ ký tự dấu
chấm ( . ), dấu than (!), mở móc ([ ) và đóng ( ])
Tên không được bắt đầu bằng dấu cách.
Ta có thể viết lại cho đúng tên Trường của bảng trên như sau:
HoTen | NgaySinh | Con | Luong | GioiTinh | TieuSu | Anh | |
1 | Lê Văn Lan | 11/10/76 | 2 | $1400 | Nam | … | …. |
2 | Hồ Thị Hoa | 12/04/70 | 1 | $1640 | Nữ | … | …. |
3 | Lê Anh Thu | 01/02/79 | 0 | $1300 | Nam | … | …. |
2. Kiểu trường
ở trên ta thấy:
Trường STT có kiểu là số thứ tự nguyên dương (AutoNumber): 1, 2, 3..
Trường HoTen có kiểu là văn bản (Text): Lê Văn Tài, Hồ Thị Lan v.v..
Trường NgaySinh có kiểu là ngày /giờ (Date/Time): 19/03/77 v.v..
Trường Con có kiểu số (Number): 2, 1, 0, v.v..
Trường Luong có kiểu số, đặc trưng cho tiền tệ (Currency): $1400, $1640, $1300, v.v..
Trường GioiTinh có kiểu Logic (Yes/No-đúng/sai): Khi nhập vào sẽ có một dấu kiểm
ứng với đúng và không kiểm ứng với sai (bạn cũng có thể khai bao kiểu Text, ví
dụ:Nam/ nu).
Trường TieuSu có kiểu Memo (ghi nhớ tiểu sử của đ ương sự, có thể rất dài, thực chất là văn bản).
Trường Anh có kiểu là hình ảnh, đồ thị, bảng tính hoặc đối t ượng khác trong môi trường
Windows có hỗ trợ OLE (nhúng và nối kết đối tượng).
3. Thuộc tính trường
Trường còn có những thuộc tính sau:
a. Field Size: Độ dài của trường; dùng để xác định độ dài (số ký tự) tối đa của trường Text
và Number
b. Format: Định dạng; dùng để xác định cung cách hiển thị dạn g số tiền tệ về việc sử dụng
dấu phẩy, dấu chấm, dấu %, dạng dấu phẩy động hay ký tự tiền tệ nh ư thế nào, ví dụ:
$123, 345.56, 123.56%, 123.56E+02 v.v ..
c. Decimal Places: xác định số chữ số thập phân, có thể chọn tự động hay 0,1,2,3,4, 5.. chữ
số sau dấu phẩy thập thân.
d. Input Mask: khuôn nạ nhập liệu. Ví dụ nh ư dùng khuôn nạ … /…/… để nhập ngày tháng năm, v.v...
e. Caption: Tiêu đề, có thể nhập vào một tên trường đầy đủ để về sau gắn v ào nhãn trên biểu mẫu và các tiêu đề đầu của báo cáo.
f. Default Value: Giá trị mặc định. Dùng để quy định một giá trị mặc định cho các loại dữ liệu trừ loại Counter, Memo v à OLE Object. Nếu không quy định lại th ì giá trị mặc định của số là 0; của Memo và text là Null.
g. Validation Rule: Quy tắc hợp lệ. Dùng để kiểm tra dữ liệu nhập v ào. Ví dụ ta đặt biểu thức: <500 có nghĩa khi nhập liệu các số chỉ đ ược phép nhỏ hơn 500; hay đặt “Hà nội” OR “Đà nẵng" OR “Huế” để kiểm tra dữ liệu nhập v ào có phải là một trong 3 thành phố đó hay không.
h. Validation Text: Hãy gõ vào đây một thông báo, để khi nhập dữ liệu, nếu không thoả
mãn điều kiện của Validation Rule thì sẽ hiển thị thông báo đó.
i. Required: Nếu thiết lập thuộc tính n ày là Yes thì trường này không được phép có giá trị
Null.
j. Allow Zero Length: Đối với trường Text hoặc Memo, thuộc tính n ày cho phép có thể đặt giá trị của trường bằng một xâu ký tự có độ d ài bằng Zero hay bằng không (“ “). Xâu có độ dài Zero và giá trị Null không giống nhau.
k. Indexd: Nếu đặt giá trị là Yes thì trường đó được tạo chỉ mục để tìm kiếm nhanh hơn.
Muốn gỡ bỏ hãy đặt lại No.
1.3.2 Truy vấn (Query)
Là đối tượng trích rút từ bảng theo những điều kiện nhất định, Query cũng l à tệp có dạng
bảng.
1.3.3 Biểu mẫu (Form)
Là đối tượng được thiết kế để nhập hoặc hiển thị dữ liệu
1.3.4 Báo cáo (Report)
Là đối tượng được thiết kế để định quy cách, tính toán, in v à tổng hợp dữ liệu được chọn.
1.3.5 Macro
Là đối tượng định nghĩa một hoặc nhiều h ành động (thao tác) mà Access sẽ thực hiện một lần
khi chạy.
1.3.6 Module
Là đối tượng chứa các thủ tục đ ược lập trình bằng Access Basic để xử lý tự động.
Chú ý: Bạn sẽ làm quen với Table, Query, Form, Report, Macro v à Module ở những phần sau.
1.4 Khởi động Access
Cung cách khởi động Access cũng giống nh ư khởi động Word, nếu sử dụng nút Start thì:
Khởi động Windows
Kích vào nút Start
Di chuyển trỏ chuột đến Program, một Menu con xuất hiện
Nếu thấy Microsoft Access, hãy kích vào nó, nếu không hãy di chuyển trỏ chuột đến
Microsoft Office, một Menu con nữa xuất hiện và kích vào Microsoft Access.
1.5 Thoát khỏi Access.
1. Từ thanh MENU chọn File/Exit hoặc
2. kích nút Close: trên thanh tiêu đề hoặc
3. Gõ Alt + F4
Chương 2: Thiết kế và cài đặt một CSDL
2.1 Thiết kế các bảng và xác định mối quan hệ
Bảng là đối tượng đầu tiên cần phải tạo trước khi tạo ra những đối t ượng khác, do vậy việc thiết kế các bảng trong một CSDL phải bảo đảm một số quy tắc nhất định để CSDL có tính hợp lý trong lưu trữ và xữ lý về sau. Ta hãy tuần tự xét một số yếu tố sau.
2.1.1 Đặt vấn đề
Trong một xí nghiệp, hàng ngày người ta xuất vật tư theo phiếu xuất kho sau:
Phiếu xuất kho
Ngày xuất | Người nhận hàng | Địa chỉ | Mã vật tư 1 | Mã vật tư 2 | |
P1 | 02/03/07 | Lê Thị Nhung | 35 Tràng Thi | M1 | M2 |
P2 | 12/03/07 | Lê Thị Nhung | 35 Tràng Thi | M2 | |
P3 | 15/03/07 | Lê Anh Quân | 13 Hàng bài | M1 | M2 |
P4 | 22/03/07 | Lê Thị Nhung | 35 Tràng Thi | M1 |
Ta thấy cấu trúc bảng trên có những điều không hợp lý nh ư sau:
Cùng một người nhận vật tư, nhưng ở phiếu khác thì ta phải ghi lặp lại tên và địa chỉ của
họ.
Nếu có thêm vật tư M3, M4, v.v.. thì cấu trúc trên bị thiếu cột, nghĩa là cấu trúc trên không phù hợp nữa, mặt khác rất l ãng phí để ghi tên trường mã vật tư.
Cho nên vấn đề đặt ra là phải thiết kế lại bảng đó sao cho hợp lý h ơn. Thật ra để thiết kế các bảng có liên quan với nhau một cách tốt nhất trong một CSDL l à kiến thức sâu sắc của lý thuyết về CSDL (đại số quan hệ) , nhưng ở đây ta chỉ dùng trực giác để xây dựng một cách tương đối, đáp ứng nhu cầu ứng dụng ngay của Access m à thôi.
2.1.2 Một số quy tắc về xây dựng CSDL
Quy tắc 1: Mỗi trường trong bảng phải mô tả một loại thông tin duy nhất.
Ta thấy ba trường (mã vật tư 1, mã vật tư 2) của bảng trên, cùng mô tả một loại thông tin l à mã vật tư. Do đó ta nên tổ chức một cột Mã Vật Tư chứa đựng cho mọi loại vật t ư, cụ thể ta sửa lại bảng trên thành bảng sau:
Phiếu xuất kho
Ngày xuất | Người nhận | Địa chỉ người nhận | Mã vật tư | |
P1 | 02/03/07 | Lê Thị Nhung | 35 Tràng thi | M1 |
P1 | 02/03/07 | Lê Thị Nhung | 35 Tràng thi | M2 |
P2 | 12/03/07 | Lê Thị Nhung | 35 Tràng thi | M2 |
P3 | 15/03/07 | Lê Anh Quân | 13 Hàng bài | M1 |
P3 | 15/03/07 | Lê Anh Quân | 13 Hàng bài | M2 |
P4 | 22/03/07 | Lê Thị Nhung | 35 Tràng thi | M1 |
Đến đây ta thấy “được cái nọ” (giảm số trường) thì lại “mất cái kia” (thêm bản ghi), quá trình nào mà chẳng như vậy! Nhưng ở đây rồi ta sẽ thấy “đ ược” nhiều hơn, hiện tại “được” là giảm số trường còn nhiều bản ghi thì ta sẽ cải tiến sau.
Quy tắc 2: Mỗi bản ghi có một số tr ường tối thiểu, nhờ nó mà không có các bản ghi trùng nhau. (số trường tối thiểu đó gọi l à khoá cơ bản)
Ví dụ một bảng bao gồm: Họ tên, Ngày sinh, khối thi. Với bảng này tất sẽ có thí sinh trùng tên, trùng ngày sinh và cả trùng khối thi, do đó không hợp với quy tắc 2. Nhưng nếu thêm trường STT hoặc trường Mã thí sinh là có thể phù hợp với Quy tắc 2.
Họ tên | Ngày sinh | Thi khối | |
00001 | Lê Thị Dung | 12/03/1976 | A |
00002 | Hoàng Lan Phương | 11/11/1978 | B |
00003 | Lê Thị Dung | 12/03/1976 | A |
Nhờ trường (Mã thí sinh) mà bản ghi 1 và 3 là khác nhau. Ta gọi trường Mã thí sinh là trường khoá. Bảng phiếu xuất kho ở tr ên khoá cơ bản là gì? Rõ ràng là trường Số phiếu và Mã vật tư. Quy tắc 3: (Các trường trong bảng phải đầy đủ v à liên quan đến khoá cơ bản hay còn gọi là liên quan đến chủ thể của bảng (điều này được gọi là phụ thuộc hàm)
Theo quy tắc trên có nghĩa là phải đạt 2 yêu cầu:
Yêu cầu thứ nhất là phải đầy đủ các trường, ví dụ bảng phiếu xuất kho có khoá c ơ bản là (Số phiếu và Mã vật tư) phải là của ai? (Họ tên), ngày nào xuất (Ngày xuất) v.v.. nếu thiếu một trong những trường đó thì chủ thể (xuất kho) không có ý nghĩa.
Yêu cầu thứ hai là các trường đó phải liên quan đến khoá cơ bản, ví dụ ta không nên thêm
trường (bậc lương người nhận) vì điều đó không liên quan đến chủ thể xuất kho (ta gọi l à không phụ thuộc hàm), vì vậy mà bảng trên nên tách thành 2 bảng sau:
Phiếu kho
Ngày xuất | Người nhận | Địa chỉ | |
P1 | 02/03/07 | Lê Thị Nhung | 35 Tràng thi |
P2 | 12/03/07 | Lê Thị Nhung | 35 Tràng thi |
P3 | 15/03/07 | Lê Anh Quân | 13 Hàng bà |
P4 | 22/03/07 | Lê Thị Nhung | 35 Tràng thi |
Vật tư
Mã vật tư | |
P1 | M1 |
P1 | M2 |
P2 | M2 |
P3 | M1 |
P3 | M2 |
P4 | M1 |
Quy tắc 4: Có thể thay đổi được một trường bất kỳ (trừ các khoá c ơ bản) mà không ảnh hưởng đến mọi trường khác.
Ở bảng Phiếu kho, nếu ở dòng 1 ta “vô tình” gõ tên ng ười nhận là Lê Anh Quân (đáng lý là Lê Thị Nhung) thì sẽ dẫn đến thêm một sai lầm nữa ở trường Địa chỉ vì Lê Anh Quân không ở 35 Tràng Thi. Thực ra Địa chỉ là phụ thuộc hàm vào Người nhận. Do đó nên tách bảng Phiếu kho thành 2 bảng: Phiếu và Địa chỉ như sau:
Phiếu
Ngày xuấtN | Người nhận | |
P1 | 02/03/07 | Lê Thị Nhung |
P2 | 12/03/07 | Lê Thị Nhung |
P3 | 15/03/07 | Lê Anh Quân |
P4 | 22/03/07 | Lê Thị Nhung |
Người nhận
Địa chỉ | |
Lê Thị Hoa | 35 Tràng thi |
Lê Anh Quân | 13 Hàng bài |
Ta kiện toàn bảng Người nhận thật chính xác, sau đó nếu có nhỡ v ào “Lê Anh Quân” thay v ị trí “Lê Thị Nhung“ ở bảng Phiếu thì địa chỉ Lê Anh Quân vẫn không thay đổi.
2.1.3 Các bảng được xây dựng (trong một chủ thể) phải có mối quan hệ
Nếu ta thiết kế tốt thì các bảng đó sẽ có mối quan hệ, nhờ mối quan hệ đó m à ta lần ra kết quả khi có yêu cầu. Ví dụ ở bảng Phiếu, Vật tư và Địa chỉ, nếu có yêu cầu là hãy xem số phiếu P3 xuất vào ngày nào, ai nhận, họ ở đâu và có những mặt hàng nào?
Bước 1: Tìm P3 ở bảng Phiếu biết được ngày xuất là: 15/03/99 và người nhận là: Lê Anh
Quân
Bước 2: Tìm Lê Anh Quân ở bảng Người nhận để biết địa chỉ là: 13 Hàng bài
Bước 3: Tìm P3 ở bảng Vật tư để biết mặt hàng là: M, M2
Như vậy bảng kết quả (truy vấn hay vấn tin) sau:
Vấn tin
Ngày xuất | Người nhận | Địa chỉ | Mã vật tư | |
P3 | 15/03/07 | Lê Anh Quân | 13 Hàng bài | M1 |
P3 | 15/03/07 | Lê Anh Quân | 13 Hàng bài | M2 |
Nhờ các trường: Số phiếu, Người nhận mà ta tìm ra kết quả bảng Vấn tin trên, ta nói rằng hai trường đó là khoá liên kết ngoài (Foreign key)
2.1.3.1 Quan hệ 1:n
Quan hệ 1: n là quan hệ mà mỗi bản ghi bất kỳ trong bảng thứ nhất có quan hệ với nhiều bản ghi trong bảng thứ hai. Ví dụ bảng Phiếu và bảng Vật tư là quan hệ 1: n, nghĩa là một phiếu xuất kho có thể có nhiều vật t ư; hay bảng Người nhận và bảng Phiếu là quan hệ 1: n bởi vì một người nhận hàng có thể xuất hiệu trong nhiều phiếu.
2.1.3.2 Quan hệ 1:1
Quan hệ 1: 1 là quan hệ mỗi bản ghi bất kỳ trong bảng thứ nhất có quan hệ với 1 bản ghi trong bảng thứ 2. Ví dụ ta không muốn bảng Người nhận xuất hiện trường Đạo đức của họ, nên ta tổ chức các bảng Người nhận là Người nhận 1 và Đạo đức như sau: (Bảng Đạo đức giữ “bí mật” chẳng hạn)
Người nhận 1
Người nhận | Địa chỉ | |
00001 | Lê Thị Nhung | 35 Tràng thi |
00002 | Lê Anh Quân | 13 Hàng bài |
Đạo đức
Đạo đức | |
00001 | Tốt |
00002 | Có tiền án |
Hai bảng trên có quan hệ 1:1
2.2 Cài đặt một bảng lên đĩa thông qua Access
Giả sử có một cưả hàng một ngày (ngày 14/12/07 chẳng hạn) có bản thống k ê bán hàng trong
ngày đó như sau:
Mã mặt hàng | Tên hàng | Đơn giá (đồng) | Số lượng | Tổng tiền trong ngày | Đã thanh toán | |
14/04/07 | M1 | Radio | 1000000 | 2 | 15000000 | 10000000 |
M2 | Tủ lạnh | 4000000 | 1 | |||
M3 | Ti vi | 3000000 | 3 |
Ta xây dựng một bảng cho 3 ngày bán hàng như sau:
Bán hàng
Ngày tháng | Mã Mặt hàng | Tên hàng | Đơn giá | Số lượng | Tổng tiền trong ngày | Đã thanh toán | |
1 | 14/12/07 | M1 | Radio | 1000000 | 2 | 15000000 | 10000000 |
2 | 14/12/07 | M2 | Tủ lạnh | 4000000 | 1 | 15000000 | 10000000 |
3 | 14/12/07 | M3 | Ti vi | 3000000 | 3 | 15000000 | 10000000 |
4 | 15/12/07 | M1 | Radio | 1000000 | 1 | 6000000 | 4000000 |
5 | 15/12/07 | M2 | Tủ lạnh | 4000000 | 1 | 6000000 | 4000000 |
6 | 16/12/07 | M2 | Tủ lạnh | 4000000 | 2 | 17000000 | 7000000 |
7 | 16/12/07 | M3 | Ti vi | 3000000 | 3 | 17000000 | 7000000 |
Ta thấy khoá cơ bản là STT. Như đã phân tích ở trên, ta không lưu bảng này mà tách thành 4 bảng sau:
Bảng thứ nhất có tên là Số lượngB: Tên tệp là SoLuong Số lượng
Ngày tháng | Mã mặt hàng | Số lượng (Cái) | |
1 | 14/12/07 | M1 | 2 |
2 | 14/12/07 | M2 | 1 |
3 | 14/12/07 | M3 | 3 |
4 | 15/12/07 | M1 | 1 |
5 | 15/12/07 | M2 | 1 |
6 | 16/12/07 | M2 | 2 |
7 | 16/12/07 | M3 | 3 |
Khoá cơ bản là Số thứ tự (STT)
Bảng thứ 2 có tên là Doanh sốB: Tên tệp là DoanhSo
Doanh số
Tổng tiền trong ngày | Đã thanh toán | |
14/12/07 | 15000000 | 10000000 |
15/12/07 | 6000000 | 4000000 |
16/12/07 | 17000000 | 7000000 |
Khoá cơ bản là Ngày tháng
Bảng thứ 3 có tên Loại hàng tên tệp là: LoaiHang Loại hàng
Tên hàng | |
M1 | Radio |
M2 | Tủ lạnh |
M3 | Ti vi |
Khoá cơ bản là Mã mặt hàng
Bảng thứ 4 có tên DơnGia Đơn giá
Đơn giá | |
Radio | 1000000 |
Tủ lạnh | 4000000 |
Ti vi | 3000000 |
Khoá cơ bản là: Tên hàng
Sau khi thiết kế các bảng có mối quan hệ trong một CSDL nh ư trên, việc tiếp theo là cài chúng
lên đĩa thông qua Access nh ư thế nào? sau đây là trình tự các bước:
Bước 1: Khởi động Access, giao diện sau xuất hiện: