Bài giảng Access: Chương 1 trình bày các nội dung sau:Các khái niệm cơ bản, xây dựng cấu trúc bảng, cơ sở dữ liệu, một số thao tác xử lý dữ liệu trên bảng, tạo mối liên kết giữa các bảng,...Đây là tài liệu học tập và giảng dạy dành cho sinh viên ngành tham khảo.
Trang 1Giáo trình: Nguyễn Sơn Hải Trung tâm tin học - Bộ GDĐT
Trang 21 Giới thiệu chung
Access là một Hệ quản trị cơ sở dữ liệu, thuộc Officce của hãng MicroSoft
Có 2 ứng dụng chính của Access là :
1 Dùng để xây dựng hệ cơ sở dữ liệu làm
dữ liệu nguồn cho các phần mềm khác như
Visual basic, Visual FoxPro, word, Excel…
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ỏ
Ngôn ngữ lập trình VBA (Visual Basic
Appltcation)
Trang 43 Tạo mới một têïp ACCESS
Database:
Chọn menu file\ New : chọn đường dẫn, đặt tên, xuất hiện của sổ Database
Trang 5CHƯƠNG 1
XÂY DỰNG
CƠ SỞ DỮ LIỆU
Trang 61 Các khái niệm cơ bản
1.1 Bảng dữ liệu là gì: Bảng dữ liệu là một cấu trúc gồm nhiều cột nhiều hàng Là nơi lưu trữ những dữ liệu tác nghiệp cho ứng dụng.
Mỗi cột gọi là vùng tin (Field), mỗi hàng còn gọi là
mẫu tin (record)
Ví dụ:
Mẫu
tin
Vùng tin
Trang 7Đặc trưng của vùng (Field): mỗi vùng xác định 3
yếu tố: Tên vùng, kiểu vùng và thuộc tính
Tên vùng: tối đa 64 ký tự kể cả ký tự trắng.
Trang 8Kiểu Độ dài tối đa Ý nghĩa
1 Number 1 B, 2 B, 4 B Byte, Integer, Long Integer,
4 B, 8 B Single, Double, 12 B Decimal.
2 Autonumber4 Bytes Số nguyên tự động
3 Text 254 ký tự Xâu ký tự
4 Yes/No 1 Bytes Kiểu logic
5 Date/Time 8 Bytes Kiểu ngày, giờ
6 Currentcy Single (4B) dữ liệu kèm ký hiệu tiền tệ
7 Memo vô hạn kiểu ghi nhớ, VĂN BẢN
8 Hyperlink tuỳ thuộc Lưu trữ đường dẫn liên kết.
9 OLE tuỳ thuộc Nhúng đối tượng đặc biệt
như Âm thanh, hình ảnh, đồ hoạ, …
Trang 10Thuộc tính: dùng để xác định độ dài tối đa của vùng dữ
liệu, xác định khuôn dạng, định dạng dũ liệu, các điều kiện ràng buộc dữ liệu, giá trị mặc định, …
Trang 11dữ liệu:
0 chỉ nhập 0 -> 9, bắt buộc phải nhập
9 chỉ nhập số, không bắt buộc
A nhập chữ cái hoặc số
L nhập chữ cái, bắt buộc phải nhập
? nhập chữ cái hoặc
số , không bắt
Trang 125 Caption Thiết lập tiêu đề cột
>=0 and
Trang 13General (Thuộc tính)
MACB Text Field Size: 10
Input Mark:00-00000-000
HO Text Field Size: 18
TEN Text Field Size:8
NGAYSINH Date/Time Field Size: Short Date
Inphut Mark: 99/99/9999 GIOITINH Yes/No Format: “Nam”; “Nữ”
Defautl Value: Yes BACLUONG Number Field Size: Byte
Validation Rule: >=0 and
<=10 Validation Text: “Nhập lại số
<=10
Trang 141.3 Các đối tượng dùng để nhập
dữ liệu
1 Text box: là một đối tượng cơ bản Cho phép người dùng
nhập dữ liệu từ bàn phím
2 Combo box: dùng để nhập dữ liệu hoặc chọn dữ liệu từ
danh sách có sẵn (gọi là dữ liệu nguồn), dữ liệu nguồn đó được thiết lập ở thuộc tính RowSource (hoặc LOOKUP Wizard)
3 Check box: dùng để nhập các dữ liệu kiểu Yes/No;
True/False: Để đánh dấu tích hoặc bỏ dấu tích trong hộp Check Box ta nhấn phím Space hoặc kích chuột, Check Box
có dấu tích khi đó biến nhận giá trị True Thông thường Check Box dùng nhập dữ liệu có 2 giá trị như giới tính, tôn giáo (có/không), gia đình (có/ không),
Trang 152 Xây dựng cấu trúc bảng
Bước 1: Mở cửa sổ thiết kế Design View
nhấnthẻ Tables / Create table in design View
Bước 2: Khai báo tên vùng, kiểu và thuộc tính.
Bước 3: Khai báo đối tượng nhập dữ liệu (LOOKUP)
Bước 4: Thiết lập trường khố cho bảng
Chọn các trường muốn thiết lập khố
Edit | Primary key.
Bước 5: Lưu lại cấu trúc bảng, gõ tên bảng và nhấn
OK
Ví dụ:
Trang 16Ví dụ: Hãy xây dựng cấu trúc dữ liệu cho bảng HOSOCANBO
General (Thuộc tính)
Lookup
MAPHONG Text Field Size: 4
Caption: Mã phòng
Combo (DMPHONG)
MACV Text Field Size: 4
Caption: Mã chức vụ
Combo (DMCHUCVU )
Trang 172.2 Khóa là gì:
Khoá là một vùng hoặc tổ hợp các vùng chứa các bộ giá trị không trùng nhau, tác dụng phân biệt các mẩu tin trong cùng một bảng với nhau
Ví dụ: Trong bảng HSHS: vùng MaSV là khóa, vì các giá trị trong cột mã sinh viên là
không được trùng nhau, khi nhập dữ liệu mà trùng nhau thì ta phải nhập giá trị khác
Trang 18Ví dụ 2: Ta có một CSDL quản lý bán hàng gồm
các bảng sau: hãy xác định khóa.
SANPHAM(MaH, TenH, Donvi, Dongia)
KHACHHANG(MaKH, TenKH, Diachi, Dienthoai)
HOADON(MaHD, MaKH, NgaylapHD)
CHITIETHD (MAHD,MaH, Soluong)
Trang 19B, khi đó vùng liên kết của bảng A là khóa chính.
Hai vùng liên kết ở hai bảng phải đảm bảo cùng
kiểu, cùng độ dài.
Trang 20 Chú ý:
Việc xây dựng các bảng dữ liệu trong CSDL là quan trọng phải đảm bảo các yêu cầu sau:
- Đảm bảo tính nhất quán dữ liệu.
- Không dư thừa dữ liệu (các dữ liệu lập lại nhiều lần) giảm tối đa dung lương CSDL.
- Đảm bảo tính toàn vẹn dữ liệu.
Hai vùng liên kết ở hai bảng phải đảm bảo cùng
kiểu, cùng độ dài.
Trang 21Ví dụ 1: Xây dựng CSDL Quản lý lương
HOSOCB (MaCB, MaPhong, MaChucvu, Gioitinh,
Ngsinh, Diachi, Dienthoai,Dangvien, Congdoan, Anh, Bacluong, HSL,Luong)
Trang 22- Để đảm bảo tinh nhất quán dữ liệu khi nhập dữ liêu cho bảng HOSOCB ta xây dưng thêm các bảng Danh muc,
DMPHONG (Maphong,Tenphong)
DMCHUCVU (MaCV, Tenchucvu, HesoCV)
.
Trang 23Có mối quan hệ mô phổng như sau:
Trang 26Mối liên kết được mô tả như sau:
Trang 27Ví dụ 3: Hãy xây dựng CSDL
quản lý điểm CĐ & DH
Ví dụ 4: Hãy xây dựng CSDL quản lý sách thư viên Ví dụ 5: Hãy xây dựng CSDL quản lý giảng dạy chứng chỉ (tin học, anh văn) ở trung
tâm
Ví dụ 6: Hãy xây dựng thu
tiền học phí của sinh viên
Trang 28CSDL QUẢN LÝ ĐIÊM CĐ & ĐH
Trang 294 Một số thao tác xử lý
dữ liệu trên bảng
1.Chọn font chữ : chọn menu Format \ Font hoặc
Tools \ Option
2.Xoá mẫu tin: đánh dấu \ nhấn phím Delete
3.Chèn hình ảnh OLE: Insert \ Object
Trang 305 Tạo mối liên kết giữa các bảng
-Chọn thực đơn: Tools |
Relationship
-Đưa các bảng (Tables) vào CSDL
-Thực hiện tạo kết nối giữa từng cặp
bảng theo thiết kế & thiết lập
mối liên kết toàn vẹn
-Toàn vẹn dữ liệu khi xoá:
Khi xoá một mẫu tin ở bảng
1, thì toàn bộ các mẫu tin
có quan hệ với bảng nhiều
cũng bị xoá theo.
-Toàn vẹn dữ liệu khi cập
nhật: Nếu giá trị khoá ở
bảng 1 bị thay đổi, thì toàn
bộ giá trị của vùng liên
kết với bảng nhiều cũng bị
cập nhật Tồn vẹn dữ liệu khi xố:
Trang 31CHƯƠNG 2
TRUY VẤN DỮ LIỆU
Trang 32Query dùng để: trích - lọc - hiển thị dữ liệu; tổng hợp - thống kê; thêm - bớt - cập nhật
dữ liệu; … Cĩ 7 loại query trong Access :
7.Make table Query
Bản chất của Query là các câu lệnh SQL
Trang 331 Select Query:
Công dụng: dùng để hiển thị - lọc dữ liệu
a/ Hiển thị một số vùng trong bảng
Ví dụ 1: Từ CSDL Quản lý lương cán bộ, hãy đưa
ra bảng lương cán bộ với những thông tin
sau: MaCB, hoten, ngaysinh, tencv,
congdoanphi, luongchinh, phucapcv, thuclinh
Trang 34Luongchinh:hsluong*1050000
Phucapcv:hesovc*1050000
Congdoanphi:iif(congdoan=True,0.05*1050000,0)
Trang 35b/ Lọc các dòng (bộ giá trị) thỏa mãn điều kiện cho trước (Query điều kiện)
Trang 36c/ Lọc các dịng thỏa mãn điều kiện nhập từ bàn phím khi kích hoạt Query (Query tham số)
Ví dụ 5: Lọc ra danh sách các cán bộ phịng
ban nào đĩ được nhập từ bàn phím
Ví dụ 6: Lọc ra những cán bộ cĩ tên nhập từ bàn phím khi kích hoạt Query
Ví dụ 7: Lọc ra những cán bộ cĩ lương nằm
trong khoảng nào đĩ nhập từ bàn phím
Trang 38Ký tự *: đại diện cho cac ký tự không biết.
“*Nam” : tên là Nam
“*/11/*” : tháng 11
Phép toán Like: dữ liệu giống như (có dạng như)
Trang 39Query điều kiên chứa tham số: các gí trị trong điều kên được thay thế bởi một tham số, khi chạy query ta nhập gá trị cho tham số
Trang 40Query điều kiện
Query điều kiện chứa tham số
Trang 412 TOTAL queries
Cơng dụng: Tính tổng theo một nhóm
Trên cửa sổ thiết kế query, Chọn View \ Total
Ví dụ 6: Đếm số người của mỗi chức vụ
Trang 42- Đẩy 2 bảng DMCHUCVU và HSCB
- Tên chức vụ là vùng phân nhóm; MACB là vùng đếm; phép toán đếm là Count
Trang 43Ví dụ 7: Tính tổng lương của từng phòng ban; đếm số người của từng phòng ban; định dạng cột lương có dấu phân cách phần ngàn.
Ví dụ 8 Đếm số cán bộ nam, nữ
Ví dụ 9 Đếm số đảng viên, không đảng viên
Trang 44VD 7:
- Đẩy 2 bảng DMPHONG và HSCB
- Tên phòng là vùng phân nhóm; MACB là vùng đếm; phép toán đếm là Count; luong là vùng tính tổng, phép toán là SUM
Trang 45Tính tổng theo nhóm có chứa đều kiện:
Ví dụ 8’: Đếm số cán bộ nam, nữ của phòng
“TV”.
Ví dụ 9’: Đếm số đảng viên, không đảng viên của phòng “TV”.
Trang 46VD 8:
- Đẩy bảng HSCB.
- Gioitinh là vùng phân nhóm; MACB là vùng đếm; phép toán đếm là Count; điều kiện là phong=“TC”
Trang 47VD 9
- Đẩy bảng HSCB
- Dảng vien là vùng phân nhóm; MACB là vùng đếm; phép toán đếm là Count; điều kiện là phong=“TV”
Trang 483 CROSSTAB queries
Cơng dụng: Dùng để tính tổng theo nhiều nhóm
Ví dụ 10: Đếm số cán bộ giữ các chức vụ của mỗi phòng
Vùng phân nhĩm là: tên phịng và chức vụ, trong đĩ tên
phịng là tiêu đề dịng ( Rows Heading), tên chức vụ là tiêu đề cột ( Column heading); Vùng tính là MaCB; Phép tốn tính là
Count mở thực đơn Queries | Crosstab Query;
Trang 50VD 11: Đảng hay chưa vào Đảng theo giới tính như
sau:
VD 12 : Đưa ra bảng tổng hợp về chức vụ theo giới
tính như sau:
VD 13: Đưa ra bảng tổng hợp lương theo từng
phòng ban như sau:
Trang 51Vùng phân nhóm là: gioitinh và dangvien, trong đó
gioitinh là tiêu đề dòng ( Rows Heading), Dangvien là tiêu
đề cột ( Column heading); Vùng tính là MaCB; Phép toán tính là Count
Trang 52Column HeadingRow Heading VALUE
Mỗi Crosstab phải có tối thiểu 1 trường làm Row
heading; chỉ có duy nhất 01 trường làm Column heading;
Value là vùng dữ liệu tổng hợp (là các con số) đếm,
tính tổng, tính trung bình cộng, max, min,
Trang 534 MAKE TABLE queries
Cơng dụng: Đưa dữ liệu kết quả query ra
một bảng.
Cách thực hiện:
Tại cửa sổ thiết kế Query;
chọn Queries |Make Table query, hộp thoại
Make table xuất hiện: nhập vào tên bảng dữ liệu
cần lưu vào ơ Table Name
Ví dụ 14: đưa kết quả Query1 ra thành bảng
cĩ tên là BANGLUONG
Trang 545 DELETE queries
Cơng dụng: dùng để xố các bộ giá trị thoả
mãn những điều kiện nào đĩ
Cách thực hiện
Tại cửa sổ thiết kế Query; chọn
Queries |Delete Query
Trang 55Ví dụ 10 : Xố đi những cán bộ đến tuổi nghỉ hưu
Trang 566 UPDATE query
Cơng dụng: dùng cập nhật dữ liệu một số trường nào đĩ trong bảng dữ liệu.
Cách thực hiện
Tại cửa sổ thiết kế Query; chọn
Query | Update query
Trang 57Ví dụ 15: Điền dữ liệu cho cột HSL và lương theo công thức
HSL= 2.34 +(bacluong-1)*0.33
Luong=HSL*1050000
Trang 59Ví dụ: Thêm một dòng bộ giá trị sau:
(“TK”, “Thư ký”, “0.15”) vào bảng DMCHUCVU
Trang 60Các kiểu liên kết
Inner join: chứa các dòng mà giá trị của vùng liên
kết ở hai bảng bằng nhau
Left join : chứa tất cả các dòng ở bảng bên trái và
các dòng mà giá trị của hai vùng liên kết bằng nhau
Right join: chứa tất cả các dòng ở bảng bên phải và
các dòng mà giá trị của hai vùng liên kết bằng nhau
Trang 61 Ví dụ: Cho biết phòng nào chưa có cán bộ
Ví dụ: Cho biết chức vụ nào chưa có người nào giữ.
Loại liên kết 1 phía: Left join, Right join.
Trang 62SELECT [TOP n] <danh sách Fields>
FROM <Table 1> INNER JOIN |LEFT JOIN
<Table 2 > ON <điều kiện kết nối>
WHERE <điều kiện lọc>
GROUP BY <Fields phân nhóm> HAVING <Đk
nhóm>
ORDER <Fields sắp xếp> [ASC] | DESC]
Trang 65Lệnh INSERT
Công dụng:Dùng để thêm một bộ giá trị vào dòng cuối
cùng trong bảng
Dạng lệnh:
INSERT INTO <Table> (Danh sách Fields)
VALUES (Bộ giá trị tương ứng)