Cơ sở dữ liệu CSDL – Database là một hệ thống thông tin có cấu trúc , được lưu trữ trên các thiết bị mang tin từ tính thường là đĩa từ, phục vụ việc khai thác thông tin đồng thời của nh
Trang 1MICROSOFT ACCESS
Trang 2NỘI DUNG
Chương I Một số khái niệm cơ bản Chương II Các thao tác với bảng ( Tables ) Chương III Truy vấn thông tin ( Queries ) Chương IV Thiết kế giao diện ( Forms )
Chương V Thiết kế báo cáo ( Reports ) Chương VI Các lệnh vĩ mô ( Macros )
Trang 3CHƯƠNG I MỘT SỐ KHÁI NIỆM CƠ BẢN
NỘI DUNG:
§ 1.1 CSDL & hệ quản trị CSDL
1 Cơ sở dữ liệu
2 Hệ quản trị cơ sở dữ liệu
3 Công cụ quản trị CSDL Microsoft Access
§ 1.2 Mô hình dữ liệu quan heä
1 Thuộc tính
2 Khóa (Khóa chính, khóa ngoại)
3 Ràng buộc toàn vẹn
Trang 4§ 1.1 CSDL & hệ quản trị CSDL
1 Cơ sở dữ liệu (CSDL – Database ) là một hệ thống
thông tin có cấu trúc , được lưu trữ trên các thiết bị mang tin từ tính (thường là đĩa từ), phục vụ việc khai thác thông tin đồng thời của nhiều người sử dụng với
Đảm bảo tính chất đầy đủ, không trùng lặp và không dư thừa thông tin.
Trang 5(tiếp theo)
Đảm bảo tính nhất quán, an toàn và toàn vẹn dữ liệu
Bảo mật dữ liệu.
Giải quyết tranh chấp dữ liệu
Đảm bảo tính độc lập giữa dữ liệu và chương trình
Tự sao lưu (BackUp) và phục hồi (Restore) khi có sự cố
Ngôn ngữ truy nhập CSDL, cho phép người sử dụng
và các chương trình ứng dụng khai thác thông tin trong CSDL Ngôn ngữ này được chia thành 4 lĩnh vực (hay phạm trù – Categoria):
(a) Ngôn ngữ định nghĩa dữ liệu (Data Definition Language DDL), cho phép tạo các cấu trúc dữ liệu lưu trữ
-(b) Ngôn ngữ thao tác dữ liệu (Data Manipulation Language DML), cho phép cập nhật (thêm, xóa, sửa) dữ liệu
-(c) Ngôn ngữ truy vấn dữ liệu (Strutured Query Language – SQL)
(d) Ngôn ngữ kiểm soát dữ liệu (Data Control Language – DCL)
Trang 6(tiếp theo)
3 Công cụ quản trị CSDL Microsoft Access
Microsoft Access là một công cụ quản trị CSDL, cho phép xây dựng các ứng dụng CSDL theo mô hình dữ liệu quan hệ trên một môi trường gọn nhẹ, đơn giản, dễ thao tác, nhưng vẫn đảm bảo được các tính chất quan trọng đã nêu của một hệ quản trị CSDL Mỗi ứng dụng CSDL trên môi trường Access là một file trên đĩa từ có phần mở rộng mặc định là .mdb , gồm 6 đối tượng: các bảng ( Tables ≈ Relation – quan hệ theo lý thuyết CSDL quan hệ), Các câu truy vấn ( Queries ), Các giao diện nhập liệu ( Forms ), Các báo cáo ( Reports ), Các lệnh vĩ mô ( Macros ) và các
Modules chương trình Mỗi đối tượng đều có các chức năng: New – Tạo đối tượng mới, De s ign –
Trang 7§1.2 Mô hình dữ liệu quan hệ
1. Thuộc tính (Attribute):
Thuộc tính là một tính chất của đối tượng cần được phản ảnh trong CSDL phục vụ cho việc khai thác thông tin về sau này
Ví dụ: Về con người, các đặc tính sau đây cần được lưu trữ:
Họ tên, Giới tính, Ngày sinh…
Thuộc tính được đặc trưng bởi:
a Tên gọi: Tên của thuộc tính là một dãy ký tự bất kỳ bắt đầu bằng ký tự khác khoảng trắng (space) Tuy nhiên, nên đặt tên thuộc tính bằng chữ cái Latin, và đặt tên một cách gợi nhớ Nếu tên có chứa các ký tự đặc biệt thì khi sử dụng phải đặt nó trong cặp dấu ngoặc vuông [ ]
Ví duï: HoTen, GioiTinh, NgaySinh, +++, -, ***, ///
Tuy nhiên, 4 tên gọi sau, khi sử dụng phải đặt trong
Trang 8(tiếp theo)
b Kiểu giá trị:
Mỗi công cụ quản trị CSDL có các kiểu dữ liệu khác nhau Tuy nhiên đều có chung các kiểu dữ liệu cơ bản sau:
- Ký tự: (Text, String, Char, )
- Kiểu số: (Number, Decimal, Float, …)
- Kiểu ngày tháng: (Date/Time) phải có đầy đủ cả ngày, tháng và năm
- Kiểu luận lý: (Logical, Boolean, YesNo, …)
- Kiểu dữ liệu đa phương tiện: (OLE) bao gồm hình ảnh
c Miền giá trị:
Miền giá trị (Domain) đảm bảo tính đúng đắn của dữ liệu Bởi nếu mới chỉ xác định có kiểu dữ liệu, ví dụ,
Trang 9(tiếp theo)
2 Khóa (Key - Khóa chính, khóa ngoại, khoá lồng)
Định nghĩa 1: Là tổ hợp các thuộc tính mà giá trị của chúng xác định duy nhất một bộ giá trị Theo định nghĩa này, nếu thêm (các) thuộc tính vào một khóa thì tổ hợp mới cũng sẽ là khóa Định nghĩa này chưa chặt chẽ
Định nghĩa 2: Cho R(U) là quan hệ định nghĩa trên tập thuộc tính U, và K ⊆ U K là khóa của R nếu và chỉ nếu:
(i)K xác định duy nhất một bộ giá trị (thỏa đ/n 1)
Quy ước: Khóa chính trong quan hệ (thì) được gạch chân
Không được phép sửa đổi giá trị của thuộc tính khóa chính
Trang 10(tiếp theo)
Định nghĩa 5: R(U), S(V) là 2 quan hệ và K1 ⊆ U là khóa của R Xét K2 ⊆ V Nếu:
(i) K1 và K2 có cùng số lượng và ý nghĩa của các thuộc tính
(ιι)∀r∈TR thì tồn tại từ 0 đến nhiều s∈TS s/c r.K1=s.K2; ngược lại, ∀ s∈TS ∃! r∈TR sao cho r.K1=s.K2
Khi đó, K2 của S được gọi là khoá ngoại (Foreign Key) khi tham chiếu tới quan hệ R
Định nghĩa 6: R(U), S(V) là các quan hệ, K1 ⊆ U là khóa của R,
K2 ⊆ V là khóa ngoại khi tham chiếu R, và K3 ⊆ K2 Nếu K3 là các thuộc tính khóa của S thì K3 được gọi là khóa lồng (Nested Key)
3 Ràng buộc toàn vẹn(Integrity Constraint/Rule)
Trang 11CHƯƠNG II CÁC THAO TÁC VỚI
BẢNG
NỘI DUNG:
§ 2.1 Tạo lập cấu trúc bảng
1 Các tính chất ( Properties ) của cột
2 Thao tác tạo cấu trúc bảng.
3 Thiết lập khóa chính cho bảng
§ 2.2 Thiết lập mối liên hệ giữa các bảng
§ 2.3 Tạo bảng từ dữ liệu đã có (Import)
§ 2.4 Sử dụng chung tài nguyên với các CSDL khác
§ 2.5 Trích xuất dữ liệu ra file hoặc bảng ngoài
Trang 12§2.1 Tạo lập cấu trúc bảng
Các tính chất ( Properties ) của cột
Microsoft Access có các kiểu dữ liệu sau:
- Kiểu văn bản với chiều dài cố định ( Text ) Trong kiểu này phải xác định độ rộng của cột – tính theo byte Độ rộng tối đa của cột là 255 bytes Giá trị luôn luôn được điền thêm khoảng trắng ở cuối để cho đủ số lượng đã khai báo.
- Kiểu số ( Number ) Có 5 loại kiểu số theo kích thước lưu trữ Số nguyên 1 byte ( Byte ) có giá trị từ 0 đến
255 Số nguyên 2 bytes ( Integer ) có giá trị từ –
32768 đến +32767 Số nguyên 4 bytes ( Long ) có giá trị từ khoảng -2,1 tỷ đến +2,1 tỷ Số thực độc hính xác đơn ( Single ) chiếm 4 bytes, có giá trị đảm bảo chỉ có 7 chữ số đầu là có nghĩa đúng đắn Số thực độ chính xác gấp đôi ( Double ) đảm bảo 15 chữ
Trang 13- Kiểu Ngày tháng ( DateTime ) Giá rị kiểu này phải có đầy đủ cả ngày, tháng và năm.
- Kiểu đánh số tăng dần một cách tự động
( AutoNumber ) là số nguyên 4 bytes, tự động tăng 1 mỗi khi một bản ghi mới được bổ sung vào bảng.
- Kiểu dữ liệu đa phương tiện ( Object Linked Embedded - OLE ), có thể là một bảng tính Excel , file Word , hình ảnh ( Bitmap ), âm thanh ( Audio )
Trang 14(tiếp theo)
Ngoài các tính chất cơ bản của cột mà một thuộc tính của quan hệ cần có là Tên ( Name ), Kiểu giá trị ( Type ) và Kích thước ( Size ), cột của bảng cần được đặc tả chi tiết thêm một số tính chất sau:
• Tiêu đề cột ( Caption ) – hiển thị khi nhập dạng bảng
• Quy cách hiển thị ( Format ) – đó là một dãy các ký
tự thể hiện quy cách hiển thị giá trị của field trên màn hình nhập dữ liệu, trong đó:
-Đối với kiểu số : Standard – có dấu tách hàng ngàn, hàng triệu Các giá trị bằng tiền hay các số lớn thì nên chọn dạng format này Số 0 để hiện số
Trang 15(tiếp theo)
- Với kiểu lôgic: hiển thị bằng chữ (text) YesNo,
• Quy cách nhập dữ liệu (Input Mask): Là một dãy ký tự
có ý nghĩa như sau:
0 - Tại vị trí đó phải nhập một chữ số (bắt buộc)
9 - Nhập 1 chữ số (không bắt buộc)
# - 1 chữ số (hoặc dấu +/-) bất kỳ (không bắt buộc)
? - Một chữ cái bất kỳ (không bắt buộc)
a - Nhập 1 chữ cái/chữ số bất kỳ (không bắt buộc)
A - Nhập 1 chữ cái/chữ số (bắt buộc)
> - Đổi các chữ cái sau thành chữ in hoa
< - Đổi các chữ cái sau thành chữ nhỏ
& - Một ký tự bất kỳ, bắt buộc nhập
C - Một ký tự bất kỳ, không bắt buộc nhập
Trang 16(tiếp theo)
• Giá trị mặc định (Default Value)
• Quy tắc kiểm tra tính đúng đắn của dữ liệu nhập
dạng:
<pss> <giá trị> OR | AND <pss> <giá trị> …
Ở đây <pss> là một trong các phép so sánh sau đây:
>, >=, <, <=, <>, IN, Between, Like.
• Thông báo lỗi khi RBTV bị vi phạm (Validation Text)
• Dữ liệu có bắt buộc phải được nhập không? (Required)
• Cần được lập chỉ mục không (Indexed) Có 3 lựa chọn:
Trang 17(tiếp theo)
Thao tác tạo cấu trúc bảng.
Thao tác:
B0) Khởi động Microsoft Access (nếu chưa làm)
B1) Nếu chưa có CSDL thì tạo mới:
- Nếu mới khởi động MSA thì chọn Blank Microsoft
- Nếu đang trong MSA thì vào menu File chọn New →
OK
- Chọn thư mục lư trữ file CSDL tại mục Save In
- Đặt tên file CSDL tại mục File Name Tên file CSDL
mặc định là DB1, DB2, … Không cần đặt phần mở rộng cho file CSDL Hãy sử dụng mặc định cho file CSDL
là mdb
Màn hình tạo mới CSDL xuất hiện như trong hình sau:
Nếu đã có CSDL thì mở CSDL bởi mục \File\Open
Trang 18(tiếp theo)
Trang 19(tiếp theo)
B2) Chọn đối tượng Tables (nếu chưa làm)
B3) Chọn chức năng New (table) Có 5 khả năng tạo mới một bảng của CSDL:
1 Datasheet View : Có bảng để nhập dữ liệu luôn
2 Design View: Tự thiết kế cấu trúc của bảng
3 Table wizard: Tạo bảng từ các cấu trúc mẫu đã có sẵn
4 Import Table: Tạo bảng từ dữ liệu cho sẵn
5 Link Table: Tạo mối liên kết dữ liệu để dùng chung tàinguyên với các hệ CSDL khác
B4) Lần lượt đặc tả chi tiết các cột của bảng (như hình sau).B5) Thiết lập khóa chính cho bảng bằng cách:
- Nhấn + giữ phím Shift rồi bấm trỏ chuột vào thuộc tính khóa.
- Bấm trỏ chuột vào nút chức năng có hình chìa khóa ở trên.
B6) Đóng cửa sổ thiết kế và đặt tên cho bảng, rồi chọn OK
Trang 20Màn hình đặc tả cấu trúc bảng
(tiếp theo)
Chỉ dẫn (ToolsTips) ở dưới đáy màn hình mỗi khi con trỏ được đặt vào cột này Tên cột
Trang 21§2.2 Thiết lập mối liên hệ giữa các
bảng
Thao tác: B0), B1) (nếu chưa làm)
B2) Vào Menu Tools, chọn chức năng Relationships Màn hình xuất hiện như hình dưới đây:
Trang 22(Tiếp theo)
B3) Chọn các bảng cần đưa vào Relationships bởi
như hình dưới đây:
Trang 23(Tiếp theo)
B4) Kéo-Thả (Drag-drop) thuộc tính khóa chính vào thuộc tính khóa ngoại của bảng liên quan, rồi điều chỉnh mối quan hệ tương ứng giữa các thuộc tính khoá chính và khoá ngoại, như hình dưới đây:
Trang 24(Tiếp theo)
- Chọn kiểu liên kết thông qua tuỳ chọn (Join type) Ba loại liên kết tương ứng với 3 phép toán đại số quan hệ: Inner Join, Left Join, Right Join Mặc định là Inner Join.
đánh dấu vào mục Enforce Referential Integrity Hai mục sau có thể được chọn:
Cascade Update Related Fields: Tự động cập nhật khóa ngoại
Cascade Delete Related Records: Tự động xóa lan truyền.
- Chọn nút Create để tạo lập Cancel để hủy bỏ.
B5) Đóng cửa sổ thiết kế và lưu lại các mối liên kết mới tạo.
** Lưu ý: Giữa 2 bảng chỉ thể hiện một mối liên hệ Để thể
hiện (các) mối liên hệ khác thì cần bổ sung lôgíc một trong
2 bảng đó vào lược đồ (Relationships) Tên của các bảng lôgíc này được ghép thêm số _1, _2… ở phía sau.
Trang 25§ 2.3 Tạo bảng từ dữ liệu đã có (Import)
Nguồn dữ liệu để Import có thể là các Tables, Queries, Forms, Reports, Macros, Modules của file CSDL Microsoft Access, hoặc file Dbase, Foxpro, Excel, Text hoặc các bảng trong các CSDL được kết nối mở (Open DataBase Connectivity).
Thao tác: B0), B1), B2) (nếu chưa làm)
- Chọn loại dữ liệu nguồn tại mục Files of Type
- Xác định thư mục chứa các file dữ liệu thuộc loại trên tại
(*) Nếu nguồn dữ liệu là file CSDL của Access thì chỉ cần chọn
các Tables, Queries, Forms, Reports,Macros hay Modules rồi
OK Nếu là bảng hoặc file CSDL thì đánh dấu chọn rồi OK để hoàn tất.
Trang 26(Tiếp theo)
Màn hình chọn dữ liệu nguồn để tạo bảng trong Microsoft Access
Trang 27(Tiếp theo)
Nếu nguồn dữ liệu là file CSDL Microsoft Access thì màn hình chọn đối tượng để Import có dạng:
Trang 28B4)(Tiếptheo)
(*) N ếu nguồn dữ liệu là file văn bản (*.txt, *.cvs, *.tab hoặc *.asc) thì cần xác định quy cách lưu trữ của file là “ Delimited ” – Có ký tự làm dấu tách giữa các giá trị; hoặc “ Fixed width ” – nếu cột có độ rộng cố định.
Trang 29B5) (Tiếp theo)
(*) N ếu nguồn dữ liệu là file văn bản (*.txt) hoặc Excel (*.xsl) thì cần chỉ rõ dòng đầu tiên có phải là dòng tiêu đề cột hay không? ( First Row Contains Field Names) Nếu là file *.txt thì cần xác định loại ký tự
là dấu tách cột: (dấu Tabs, chấm phảy – Semicolon, dấu phảy – Commas…)
Trang 30B6) (Tiếptheo)
Cách lưu trữ dữ liệu mới: In a New Table- Tạo
bảng mới, hoặc In an Existing Table- Bổ sung dữ liệu vào bảng đã có
Trang 31B7) (Tiếp theo)
Sửa lại tên, kiểu giá trị và xác định các cột không cần giữ lại trong bảng đích: Do not Import Field
– bỏ qua
Trang 32B8) (Tiếp theo)
Để Microsoft tự bổ sung thêm cột có tên là ID với kiểu giá trị là AutoNumber - tự động tăng 1 làm thuộc tính khóa chính (Let Access Add Primary Key), hoặc xác định một cột làm khoá chính
thuộc tính nào làm khóa (No Primary Key)
Trang 33B9) (Tiếp theo)
Đặt lại tên cho bảng, rồi nhấn Finish để kết thúc
Trang 34(Tiếp theo)
(*) Ghi chú: Khi Import từ file *.txt hoặc *.xls, để đảm bảo việc chuyển đổi bảng mã tiếng Việt đúng đắn, cần chọn trang mã (Code Page) là Western European
Trang 35(Tiếp theo)
Nếu việc Import thành công thì MSA sẽ có thông báo hoàn tất Nếu việc Import không thành công thì có thông báo lỗi, và các dòng không Import được sẽ được lưu trong
1 bảng có tên với phần bổ sung là _ImportError Lỗi sai thường gặp nhất là sai cách chuyển đổi dữ liệu sang dạng
hệ điều hành Windows, do đó, nếu Windows dùng dạng
mm/dd/yyyy và dữ liệu Import có dạng dd/mm/yyyy (ví
dụï 25/01/2001) thì quá trình Import sẽ gây lỗi
MSA thực hiện việc chuyển đổi dữ liệu khi Import từ file văn bản như sau:
Dãy chữ → Text(255) Số nguyên → Long Integer
Số thực → Double xx/yy/zz → DateTime
Do đó, sau khi Import xong (thì) cần phải thực hiện chức năng Design để đặc tả lại cấu trúc của bảng
Trang 36§2.4 Sử dụng chung tài nguyên với
CSDL khác
Nguồn dữ liệu để dùng chung (Link) phải là các
dữ liệu có cấu trúc Đó phải là (các) file hoặc bảng của (các) CSDL khác Nguồn này có thể là từ Access, Dbase, Foxpro hoặc ODBC File Excel không phải là một nguồn thích hợp cho việc dùng chung trong môi trường Access
Thao tác: B0), B1),B2) (Nếu chưa làm)
B3) Chọn New\Link Table
B4) Chọn các bảng dữ liệu để dùng chung
OK để hòan tất
Trang 37§2.5 Trích xuất dữ liệu ra file hoặc bảng
ngoài
Thao tác: B0), B1, B2) ( nếu chưa làm)
B3) Chọn bảng cần trích xuất
B4) Nhắp chuột phải, chọn Export (hoặc =\File\Export)
B4) Xác định lọai đích tại mục Files of Type; Thư mục lưu trữ tại Save In, và tên file tại File Name → SAVE để trích
dữ liệu (như trong hình kế sau):
-Nếu lọai dữ liệu đích là một bảng của file CSDL Access thì cho biết tên bảng đích và đồng thời xác định cách sao chép:
Dữ liệu và cấu trúc (Definition and Data): dũ liệu cùng cấu trúc bảng
Hoặc chỉ sao chép cấu trúc: (Definition Only)
⇒ OK để hòan tất
(Hình trang sau:)
Trang 38Export Data (Tiếp theo)
Chọn bảng Nhắp chuột phải, chọn chức năng Export, (hoặc \file\Export), màn hình xuất hiện như sau:
Trang 39Export Data (Tiếp theo)
Chọn mục Export), màn hình xuất hiện như sau:
Trang 40Export Data (Tiếp theo)
Chọn mục Export), màn hình xuất hiện như sau: