I. Các kiểu dữ liệu:
Microsoft Access có các kiểu dữ liệu sau:
|
Text |
Kiểu văn bản với chiều dài cố định. 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.
|
|
Number |
Kiểu số . 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 độ chí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ữ số có ý nghĩa – đúng.
|
|
Yes/No (hoặc True/False hoặc On/Off). |
Kiểu luận lý |
|
Memo |
Kiểu văn bản có chiều dài thay đổi . Giá trị có thể có kích thước tối đa 64K bytes |
|
Currency |
Kiểu tiền tệ với bản chất là kiểu số, nhưng khi hiển thị thì có ký hiệu tiền tệ $ ở phía trước |
|
DateTime |
Kiểu Ngày tháng . Giá rị kiểu này phải có đầy đủ cả ngày, tháng và năm |
|
AutoNumber |
Kiểu đánh số tăng dần một cách tự động 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.
|
|
Object Linked Embedded – OLE |
Kiểu dữ liệu đa phương tiện , có thể là một bảng tính Excel, file Word, hình ảnh (Bitmap), âm thanh (Audio) hoặc phim (Movie).
|
|
II. Các toán tử trong Access |
|
|
b. Toán logic | |||||||
|
|
|
|
|||||
|
|
|
|
|||||
|
|
|
|
|||||
|
|
|
|
|||||
|
|
|
|
|||||
|
|
|
c. Hàm ngày và giờ |
|
|||||||
|
|
|
|
|||||||
|
|
|
|
|||||||
|
|
|
|
|||||||
|
|
|
|
|||||||
|
|
|
|
|||||||
|
|
|
|
|||||||
|
|
|
d. Hàm xử lý kiểu dữ liệu trường Text |
|
|||||||||||
|
|
|
|
|
||||||||||
|
|
|
|
|
||||||||||
|
|
|
|
|
||||||||||
|
|
|
|
|
||||||||||
|
|
|
|
|
||||||||||
|
|
|
|
|
||||||||||
|
|
|
|
|
||||||||||
|
|
|
|
|
||||||||||
|
|
|
|
|
||||||||||
|
|
e. Hàm toán học và hàm lượng giác | |||||||||||||
|
|
|
|
|||||||||||
|
|
|
|
|||||||||||
|
|
|
|
|||||||||||
|
|
|
|
|||||||||||
|
|
|
|
|||||||||||
|
|
|
|
|||||||||||
|
|
|
|
|||||||||||
|
|
|
|
|||||||||||
|
|
|
|
|||||||||||
|
|
|
|
|||||||||||
|
|
|
|
|||||||||||
|
|
|
f. Các toán tử khác | |||||
|
|
|
|||||
|
|
|
|||||
|
|
|
|||||
|
|
|
|||||
|
|
|
|||||
III. Truy vấn CSDL
3.1 Truy vấn tìm kiếm thông tin
3.1.1 Câu lệnh truy vấn đơn:
Cú pháp câu lệnh truy vấn :
|
SELECT [DISTINCT] [TOP n [PERCENT]] <bthức 1>[AS <tên1>], <bthức 2>[AS <tên2>],… FROM <bảng 1> [[AS]<bí danh>],<bảng 2>[[AS]<bí danh>], … [WHERE <điều kiện chọn bản ghi để xử lý>] [GROUP BY <bthức nhóm 1> <bthức nhóm 2>, … ] [HAVING <điều kiện chọn kết quả cuối cùng>] [ORDER BY <bthức 1>[ASC/DESC], … ]; |
Dấu chấm phảy cuối câu là tùy chọn. Chữ hoa hay chữ thường là như nhau.
(*) DISTINCT : Chỉ giữ lại những dòng khác nhau.
(*) Cụm từ TOP n [PERCENT] luôn luôn phải được đi kèm với mệnh đề ORDER BY.
- TOP n : n dòng đầu tiên và những dòng có giá trị sắp xếp như dòng thứ n.
- TOP n PERCENT : n% (lấy cận trên) số dòng kết quả tìm được. Ví dụ, nếu n% = 1.2 thì lấy cận trên bằng 2.
(*) <bảng i> (i=1..n) có thể là tên bảng dữ liệu vật lý, Query hoặc phép kết 2 quan hệ theo cú pháp:
<bảng 1> <phép kết> <bảng 2> ON <điều kiện kết>
<phép kết> ::= INNER JOIN / LEFT JOIN / RIGHT JOIN / OUTER JOIN.
(*) Nếu sau FROM là danh sách các bảng thì phải thể hiện mối liên hệ giữa các bảng đó trong mệnh đề WHERE.
(*) Ngoại trừ các biểu thức có chứa các hàm tích hợp các biểu thức còn lại sau SELECT đều phải có mặt trong mệnh đề GROUP BY.
SQL sử dụng một số hàm gộp sau:
- COUNT: đếm số các giá trị trong một cột.
- SUM: tính tổng các giá trị trong một cột. Hàm này chỉ áp dụng cho các giá trị kiểu số.
- AVG: tính trung bình cộng của các giá trị trong một cột. Hàm này chỉ áp dụng cho các giá trị kiểu số.
- MIN: tìm giá trị nhỏ nhất trong số các giá trị của một cột.
- MAX: tìm giá trị lớn nhất trong số các giá trị ở một cột.
Trừ hàm COUNT(*), còn các hàm khác đều bỏ qua các giá trị null trong các giá trị đầu vào của chúng.
3.1.2 Cấu truy vấn con
Định nghĩa: Câu truy vấn con là một câu truy vấn mà kết quả của nó được dùng làm toán hạng của một phép so sánh trong biểu thức điều kiện của câu truy vấn khác. Câu truy vấn con phải được đặt trong cặp dấu ngoặc tròn.
(*) MSA chỉ cho phép 1 biểu thức sau SELECT trong câu truy vấn con. Do đó, nếu có nhiều biểu thức thì phải ghép chúng lại thành một thông qua phép nối ghép &.
3.2 Truy vấn để sửa đổi dữ liệu
3.2.1 Query bổ sung thêm dữ liệu
|
INSERT INTO <Tên bảng> [(<Danh sách cột>)] VALUES(<danh sách giá trị>); |
3.2.2 Query sửa dữ liệu:
|
UPDATE <bảng / query / phép kết> SET <cột 1> = <bthức 1>, <cột 2>=<bthức 2>, … [WHERE <điều kiện cập nhật>]; |
3.2.3 Query xóa dữ liệu:
|
DELETE [<loại bản ghi>] FROM <bảng / query / phép kết> [WHERE <điều kiện xóa>]; |
(*) Nếu nguồn là query hoặc phép kết thì phải có thành phần <loại bản ghi> để cho biết xóa bộ giá trị của bảng nào.
3.3 Truy vấn tổng hợp dữ liệu(Cross-Tab)
Cú pháp:
|
TRANSFORM <biểu thức phân tổ> SELECT <các biểu thức chủ từ> FROM <các bảng> [WHERE <điều kiện chọn bản ghi để xử lý>] GROUP BY <Các biểu thức phân nhóm> PIVOT <tên cột> [IN (<danh sách giá trị>)] |
3.4 Các câu lệnh truy vấn khác
3.4.1 Tạo cấu trúc bảng:
|
Create Table <tên bảng> ( <mô tả cột 1>, <mô tả cột 2> , …, <mô tả cột n>, [Constraint <tên>Primary Key (<các cột khóa chính>)] [Constraint <tên> Foreign Key (<các cột khóa ngoại>) References <bảng> (<các thuộc tính khóa chính>)] );
|
Một mô tả cột có dạng:
<cột> <kiểu>[(<rộng>)] [Not NULL] [Primary Key][Foreign Key References <bảng> (<khoá chính>)]
Ví dụ: a.Create Table ABC (aaa text(10) Primary Key,
bbb long, ccc DateTime, ddd Memo, eee Double);
b. Create Table BBC (aaa text(10), bbb long, Constraint PK Primary Key (aaa,bbb), Constraint FK Foreign Key (aaa) References ABC (aaa));
3.4.2 Sửa đổi cấu trúc bảng – Thiết lập khóa chính, RBTV:
Alter Table <bảng> [Add Column <đặc tả cột>],
[Add Constraint <tên> Primary Key (<các cột>)],
[Add Constraint <tên> Foreign Key (<các cột>) References <bảng> (<các khóa goại>)];
Ví dụ: Alter Table BBC Add Column ccc DateTime;
3.4.3 Tạo chỉ mục:
CREATE [UNIQUE] INDEX <tên> ON <bảng> (<các cột>);
3.4.4 Các câu lệnh hủy bỏ:
Hủy (xóa) bỏ bảng: DROP Table <tên bảng>;
Hủy bỏ chỉ mục: DROP INDEX <tên index> ON <bảng>;
Hủy bỏ RBTV: DROP Constraint <tên RBTV> ON <bảng>;
Đăng trong: Access
This is a good topic for new person who begin lean aceess, SQL….
but i can’t find session for function