Slide 1 Giáo trình Nguyễn Sơn Hải Trung tâm tin học Bộ GDĐT 1 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[.]
Trang 1Giáo trình: Nguyễn Sơn HảiTrung 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
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.
Kiểu vùng: gồm 9 kiểu:
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 BDecimal.
2 Autonumber 4 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 CurrentcySingle (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, …Thuộc
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 143 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ấn thẻ 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 193 Cơ sở dữ liệu (CSDL):
CSDL là tập hợp bao gồm các bảng dữ liệu, các
mối quan hệ 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ý nào đó.
Ta có 3 loại quan hệ: 1-1, 1- ∞ , ∞ - ∞
Mối quan hệ 1- ∞ giữa bảng A với bảng B là: mỗi mẩu tin của bảng A tương ứng với nhiều mẩu tin của bảng B, 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 20Chú ý:
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,
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 293 Chèn hình ảnh OLE: Insert \ Object
4 Sắp xếp dữ liệu: Chọn cột \ Bt ↑ ↓
5 Lọc dữ liệu:
Nếu muốn lọc những bản ghi cĩ cùng giá trị của bản ghi đang chọn hãy chọn mục
Filter by section
Muốn lọc những bản ghi thoả mãn điều
kiện nào đĩ, hãy gõ điều kiện lên mục: Filter for
Tháo lọc chọn mục Remove Filter
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ị
liệu khi cập
nhật Toàn vẹn dữ liệu
khi xoá:
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,
Trang 34Luongchinh:hsluong*1050000
Phucapcv:hesovc*1050000
Congdoanphi:iif(congdoan=True,0.05*1050 000,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
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 Heading
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í duï 10 : Xoá đ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 587 APPEND QUERY
Cơng dụng: Dùng để thêm một một bộ giá trị vào dịng cuối cùng của bảng
Cách thực hiện
Tại cửa sổ thiết kế Query; chọn
Query | Append query
Trang 59Ví dụ: Thêm một dòng bộ giá trị sau: (“TK”, “Thư ký”, “0.15”) vào bảng DMCHUCVU
Trang 60Right 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 61Ví 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 62Câu lệnh SQL
Lênh Select
Công dụng: dùng để hiển thị - lọc – Tính tổng theo nhóm – sắp xếp.
Dạng lênh:
SELECT [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 63Lệnh UPDATE
Công dụng: Dùng để cập nhật một số vùng Dạng lênh:
UPDATE <Table>
SET <Field 1 = giá trị 1>, <Field 2=giá trị 2>,
Trang 66Ví dụ:
Thêm một bộ giá trị (“TK”, “Thư ký”, 0.15) vào cuối bảng DMCHUCVU
INSERT INTO
DMCHUCVU ( MaCV, Tenchucvu, HesoCV )
VALUES ("KT","THU KY",0.15)