1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Giao trinh Access

39 12 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

Laø truy vaán cheùo cho pheùp ta coù theå toång hôïp döõ lieäu töø moät hoaëc nhieàu baûng ñeå taïo thaønh baûng môùi goïi laø baûng ñoäng coù caáu truùc tham chieáu cheùo (Crosstab), ña[r]

(1)

MICROSOFT ACCESS

Lời nói đầu



gày ngành Công Nghệ Thông Tin phát triển vũ bảo, Máy tính trở nên gần gũi, thân thuộc với chúng ta, học tập, nghiên cứu Giúp cho lưu trữ liệu, xử lý thông tin cách nhanh chóng xác Đặc biệt lĩnh vực quản lý hỗ trợ đắc lực máy tính phần mềm quản trị sở liệu mang lại nhiều lợi ich công tác quản lý, thống kê liệu

N

Và giáo trình chúng tơi xin giới thiệu đến bạn độc giả phần mềm hệ quản trị sở liệu quan hệ phổ biến Microsoft Access

Giáo trình Microsoft Access giúp bạn nắm bắt nhanh chóng tính hệ quản trị sở liệu Access với nhiều cải tiến giúp bạn sử dụng dễ dàng hơn, giao diện thân thiện nhiều tính thơng minh

(2)

Chương 1

BẢNG (TABLE) & MỐI QUAN HỆ

(RELATIONSHIP)

I. CÔNG DỤNG CỦA MICROSOFT ACCESS

Dùng để tổ chức lưu trữ sở liệu phục vụ cho mục tiêu quản lý

Ví dụ: Quản lý nhân sự, vật tư , quản lý HS, SV…

II. THỰC THỂ VAØ QUAN HỆ

 Thực thể vật cụ thể hay trừu tượng giới khách quan Ví dụ:

- Trong trường học có thực thể: Giáo viên, học sinh, môn học… - Trong thư viện bao gồm thực thể: sách, loại sách, nhà xuất bản…

- Trong công ty thương mại có thực thể: Mặt hàng (cụ thể), công nợ (trừu

tượng)

 Các thực thể có tính chất riêng gọi thuộc tính Ví dụ : Mỗi học sinh có họ tên, họ tên thuộc tính

Ghi chú: Để khơng bị trùng lắp thơng tin thuộc tính đặc tính riêng thực thể

 Thực thể biểu diễn hình chữ nhật sau:

<Tên thực thể> <Thuộc tính>

… … <Thuộc tính>

Ví dụ: Biểu diễn thực thể sinh viên & môn học sau:

Sinh viên Môn học

Mã SV Tên SV Ngày sinh

Địa

Mã MH Tên MH

Số tiết

 Mỗi thực thể có thuộc tính dùng để phân biệt đối tượng thực thể gọi

là thuộc tính khố

(3)

 Quan hệ có thuộc tính khơng có thuộc tính

Ví dụ: Điểm thuộc tính quan hệ sinh viên môn học

Loại quan hệ: Có loại quan hệ sau:

- Quan hệ – một: Kí hiệu (1,1) one to one: Là quan hệ hình thành đối tượng

của thực thể có quan hệ với đối tượng thực thể

Ví dụ: Một nhân viên thuộc phòng ban

- Quan hệ - nhiều: Kí hiệu (1, n) one to many: Là quan hệ hình thành đối tượng thực thể có quan hệ với nhiều đối tượng thực thể

Ví dụ: Một lớp có nhiều sinh viên

- Quan hệ nhiều – nhiều: Kí hiệu (n,n) many to many: Là quan hệ hình thành đối

tượng thực thể có quan hệ với nhiều thực thể ngược lại

Ví dụ: Một độc giả mượn nhiều sách, loại sách có nhiều độc giả mượn

III. KHỞI ĐỘNG MICROSOFT ACCESS 2003. Sau khởi động hệ điều hành Windows. Thực theo bước sau:

 Chọn nút Start\Program\Microsof Office\Microsoft Office Access 2003 Xuất hình Microsoft Access 2003.

a) Tạo tệp CSDL cách sau: Bước 1:

- Cách 1: Vào Menu File\New cửa sổ New File xuất hiện\

chọn Blank Database. Tạo CSDL (File.MDB mới)

- Cách 2: Kích chọn biểu tượng New trên công cụ. cửa sổ New File xuất hiện\ chọn Blank Database. Tạo

CSDL (File.MDB mới)

- Cách 3: Kích chọn Create a new file bên khung phải

của thanh Task Pane\ chọn Blank Database Taïo CSDL

mới (File.MDB mới)

Bước 2: Xuất khung File new Database

 Tại Save in: Chọn đường dẫn lưu tệp CSDL  Tại File name: Đặt tên cho tệp CSDL  Chọn Create hoàn thành kết thúc

b) Mở tệp CSDL có cách sau:

 Vào Menu File\Open: Chọn đường dẫn chứa tệp CSDL

cần mở

 Kích chọn biểu tượng Open công cụ: Chọn đường dẫn chứa tệp CSDL cần

mở

(4)

IV. CÁC THÀNH PHẦN TRONG MICROSOFT ACCESS.

Tập tin CSDL Microsoft Access gồm có thành phần:

1. Baûng (Table)

Là thành phần dùng để thiết kế CSDL, nơi chứa liệu

2. Truy vấn (Query ): Là công cụ cho phép người sử dụng thực thao tác bảng kết theo yêu cầu khai thác liệu thực tế, có nhiều loại Query khác

3. Mẫu biểu (From): Là thành phần quan trọng dùng cho nhập liệu, giúp thao tác nhập liệu vào bảng nhanh hiệu

4. Báo biểu (Report): Thành phần trình bày kết qủa liệu với nhiều dạng, hình thức phong phú, phục vụ cho việc in ấn liệu

5. Tập lệnh (Macro): Là thành phần chứa hành động cho phép thực thao tác, Macro xem cơng cụ lập trình đơn giản

6. Đơn thể chương trình (Module): Là thành phần chứa thủ tục hàm Các thủ tục, hàm lập trình ngôn ngữ Visual Basic, thành phần chuyên sâu, dùng cho người dùng chuyên nghiệp

V. BAÛNG (TABLE).

1 Bảng: Là thành phần lưu giữ thông tin, liệu Microsoft Access gồm nhiều cột nhiều dòng

 Cột (Field - gọi trường hay vùng tin)

- Dùng để miêu tả thuộc tính thực thể

- Trên cột (Field) liệu phải kiểu

 Dòng (Record – gọi mẫu tin hay bảng ghi):

- Là thể cụ thể liệu cột bảng

Ý nghĩa: Lưu thơng tin thực thể muốn quản lý

Ví dụ: Cho bảng NHÂN VIÊN

MaNV Hoten Ngaysinh Banluong Phainu

HC02 Lê Thị B 15/02/1973 520 NU

KT01 Trần văn A 01/01/1974 460 NAM

- Bảng có năm cột (5 Fields) MaNV, Hoten, Ngaysinh Banluong, Phainu - Bảng có hai dịng (2 Records) tượng trưng cho hai Nhân viên

2. Các kiểu liệu cột (Fields)

 Microsoft Access có kiểu liệu cho Field sau:

(5)

Text Kiểu chuỗi có độ dài <= 255 ký tự

Number Kiểu số dùng tính tốn, gồm kiểu con: Byte, Interger, Long interger, Single, Double, Rerplication ID, Decimal

Date/ Time Kiểu ngày tháng năm, phút giây

Curency Kiểu tiền tệ tính tốn kiểu số

Yes/ No Kiểu luận lý, chứa giá trị Yes/ No True/ False On/ Off OLE Object Kiểu đối tượng hình ảnh âm thanh, đoạn phim …

nhúng liên kết vào bảng

Memo Kiểu chuỗi ghi có độ dài <=65535 ký tự Hyper Link Kiểu văn sử dụng địa liên kết

Lookup Wizard Không phải kiểu cụ thể, đường lấy liệu từ bảng khác theo Wizards

Auto Number Kiểu số không trùng tự động tăng sửa

VI. TẠO BẢNG

1. Tạo bảng Design view.

 Là q trình tạo bảng “Bằng tay” người sử dụng tự thiết kế liệu cho bảng theo CSDL Đây cách tạo bảng thơng dụng mang tính chun nghiệp cao

 Từ khung DataBase, chọn

Tab Table, chọn New, xuất khung đối thoại New Table, ta chọn Design view, Ok

 Xuất khung thieát keá

bảng, thực thao tác sau:

- Nhập tên Field cần tạo

cột Field Name

- Chọn kiểu liệu thích

hợp cho Field cột Data Type.

- Có thể nhập thích,

mô tả cho Field Name vào cột

Description.

- Qui định thuộc tính cho Field phần Field Properties - Lập lại buớc cho Field khác

Xác định khố

- Khóa ( Primary key) tập hợp gồm hay nhiều cột (Field|) mà giá trị

(6)

Dữ liệu cột (hay nhiều cột) chọn làm khóa khơng thể trùng lắp (No Duplicates) khơng thể rỗng

- Khoá ngoại (Foreign key): Là cột hay nhiều cột bảng cột khóa bảng khác

Chú ý : Dữ liệu cột bảng nhập liệu phải tồn bảng mà cột là khố chính, nói cách khác dữ liệu lưu cột khóa ngoại phải lưu trữ sau các cột liệu khố chính bên bảng khác

Thực đặt khoá:

- Click chọn tên làm khóa, chọn Menu Edit – Primary Key (hoặc click cơng cụ

chìa khố cơng cụ) Field khố có hình “chìa khố” bên cạnh

Xong, ta chọn Menu File – Close, xuất hộp thoại yêu cầu đặt tên cho bảng cuối bảng tạo

Ví dụ: Để tạo bảng NHÂN VIÊN ta làm sau:

- Từ cửa sổ CSDL ta chọn tab Table chọn New Design view chọn OK Hiện

lên cửa sổ thiết kế sau:

Nhập tên field MANV vào cột Field Name, chọn kiểu liệu cho field MANV Text xác lập phần khác hình

Tương tự bạn tạo cho field Hoten, Ngay Sinh, Bangluong,Phainu (Đối với Field Phainu chọn phiếu Lookup chọn Text box)

Sau thiết kế xong cho tất field ta chọn khóa cho bảng (table) MANV cách chọn MANV sau Click chọn vào cơng cụ chìa khố cơng cụ vào Edit

 Primary key

Lưu lại với tên NHANVIEN, chọn menu View -> Datasheet View để nhập liệu cho bảng (nhập khoảng dòng)

 Cơng cụ chọn khóa cho bảng  Khai báo độ rộng MANV =  Định dạng liệu nhập vào

MANV tự động chuyển sang chữ in hoa

 Mặc định bắt buộc nhập vào ký tự

(LL) vaø so (00)

 Giá trị mặc định không nhập  Điều kiện nhập liệu

 Thơng báo sai điều kiện  Yêu cầu có bắt buộc nhập liệu cho

field hay khơng

 Cho phép chuỗi có độ dài khơng  Có sử dụng số Index khơng (Nếu

(7)

Chú ý

:

Nhớ đặt khóa cho tất bảng.

VII. QUI TẮC ĐẶT TÊN.

Misrosoft Access 2003 qui định qui tắc đặt tên cho Filed, tên Table, tên Query, tên From, tên Report, tên Macro … sau:

- Chuỗi tên có độ dài tối đa 64 ký tự - Không trùng tên với

- Không dùng ký tự đặc biệt như: (, ) , [, ] … tên

BÀI TẬP

Để quản lý hàng xuất nhập Công ty bạn tạo sở liệu (Data base) có tên QLSP.MDB lưu đĩa thực tập bạn CSDL gồm bảng (Table) sau:

(Chú ý: Các Fields in đậm gạch khố bảng)

Điều kiện chung: Khi nhập liệu vào tất cột (field) kiểu liệu Text tự động đổi sang chữ in hoa (Hướng dẫn: Mục Format nhập vào dấu : > (dấu lớn hơn)

KHACHHANG

TÊN KIỂU DỮ LIỆU ĐỘ RỘNG GHI CHÚ

MAKH TEXT MA KHACH HANG

TENKH TEXT 30 TEN KHACH HANG

DIACHI TEXT 30 DIA CHI KH

PHONE TEXT 10 DIEN THOAI KH

Điều kiện: MAKH cho phép người sử dụng nhập vào ký tự (Hướng dẫn:

INPUTMASK: LL)

SANPHAM

TÊN KIỂU DỮ LIỆU ĐỘ RỘNG GHI CHÚ

MASP TEXT MA SAN PHAM

TENSP TEXT 20 TEN SAN PHAM

DONGIA CURRENCY DON GIA

DVT TEXT 10 DON VI TINH

Điều kiện : MASP cho phép người sử dụng nhập vào ký tự số (INPUT MASK: LLL00)

HSNV

(8)

MANV TEXT MA NHAN VIEN

HOLOT TEXT 20 HO LOT NHAN VIEN

TEN TEXT 15 TEN NHAN VIEN

CHUALAPGD YES/NO =YES neu chua lap gia dinh,

nguoc lai la NO

TDHV TEXT TRINH DO HOC VAN

PHAINU YES/NO =YES neu la nu, nguoc lai

nam

LCB CURRENCY

NGAYSINH DATE\TIME Short date NGAY SINH

NGAYVL DATE\TIME Short date NGAY VAO LAM

SOCON NUMBER BYTE SO CON

HINH OLE HINH NHAN VIEN

Điều kiện: MANV cho phép người sử dụng nhập vào ký tự số (INPUT MASK: LL00

CHAMCONG

TÊN KIỂU DỮ LIỆU ĐỘ RỘNG GHI CHÚ

THANG TEXT THANG CHAM CONG

MANV TEXT MA NHAN VIEN

NGAYCONG NUMBER BYTE NGAY CONG NHAN VIEN

NGAYPHEP NUMBER BYTE SO NGAY NHAN VIEN

NGHI

NGOAIGIO NUMBER BYTE SO NGAY LAM THEM

Điều kiện: MANV cho phép người sử dụng nhập vào ký tự số Ngày công không nhập số âm, ngày làm ngồi khơng lớn 10, ngày phép không nghĩ ngày tháng Nếu nhập sai theo yêu cầu câu thông báo lỗi tương ứng

HOADON

(9)

SOHD TEXT SO HOA DON

MAKH TEXT MA KHACH HANG

MASP TEXT MA SAN PHAM

NGAY DATE\TIME Short Date NGAY GHI HOA DON

LOAIVT TEXT LOAI NHAP HAY XUAT

SOLUONG NUMBER INTEGER SO LUONG

DONGIA CURRENCY DON GIA

HTTT TEXT HINH THUC THANH TOAN

MANV TEXT MA NHAN VIEN

VIII THIẾT KẾ CÁC MỐI QUAN HỆ.

Để bảng sở liệu có mối quan hệ ràng buộc liệu lẫn nhau, phối hợp hoạt động việc tổ chức khai thác CSDL, phải thiết kế mối quan hệ Table Microsoft Access tự nhận biết loại mối quan hệ, ta tạo cấu trúc bảng thực thao tác xác Tiến hành tạo quan hệ theo bước sau:

 Tạo xong cấu trúc bảng

 Chọn menu Tools\ Relationships, xuất khung Show Table.

 Chọn tên bảng cần thiết kế mối quan hệ, lần chọn click nút Add, xong chọn

nút Close, bảng chọn thị khung thiết kế

 Rê tên Field quan hệ bảng gốc mang sang vị trí tên Field quan hệ bảng quan

hệ, xuất hộp đối thoại Relationship

 Đánh dấu hộp  Enforce Referential Intergrity: Để làm cho tham chiếu có hiệu lực  Đánh dấu hộp  Cascade Update Related Fields: Đồng thời cập nhật liệu bảng

(10)

 Đánh dấu hộp  Cascade Update Related Records: Đồng thời xóa liệu bảng có

quan hệ, xóa Record bảng gốc kéo theo Record bảng quan hệ bị xoùa theo

 Xem loại quan hệ hộp Edit Relationship, click nút Create để tạo mối quan hệ  Lặp lại bước cho mối quan hệ khác

 Xong click nút Close, trả lời Yes kết thúc việc tạo mối quan hệ

Chú ý: Khi nhập liệu cho bảng, cần phải nhập liệu cho bảng gốc trước, bảng quan hệ nhập sau.

BÀI TẬP

Thiết kế mối quan hệ cho bảng sau:

IX. CÁC THAO TÁC TRONG QUÁ TRÌNH NHẬP DỮ LIỆU.

 Chọn bảng (table) muốn nhập liệu chọn Open trình thiết kế chọn View\Datasheet view

 Chọn Font: Chọn menu Format, Font, OK chọn Tool \ Option \ Datasheet \ Font  Chọn Record: Click cạnh trái record cần chọn

 Xóa Record: Chọn menu Edit, Delete Record, trả lời Yes.

 Di chuyển bảng: Click chọn nút di chuyển cuối bảng

 Chỉnh độ rộng cột dòng: Rà chuột đến cạnh phải cạnh đáy kéo đến vị trí

cần hiệu chỉnh

Duới hình nhập liệu cho Table.

BÀI TẬP

Thiết lập mối quan hệ xong Nhập liệu cho bảng sau:

Về record

đầu tiên trước record Về record hành

Về record sau record hành

(11)

Table KHACHHANG

MÃ KH TÊN KHÁCH HAØNG ĐẠI CHỈ ĐIỆN THOẠI

BT CTY BITIS TRẦN HƯNG ĐẠO (8)989155

LS CTY LAM SƠN 132 LÊ LỢI (8) 123334

PV CTY PHONG VŨ LÊ DUẪN (8) 989898

TB CTY THANH BÌNH 43 LÊ LỢI (8) 845123

TT CTY THANH THANH 177 PHẠM NGŨ LÃO (8)459999

TABLE SANPHAM

MÃ SP TÊN SP DƠN GIÁ ĐƠN VỊ TÍNH

COM46 COMPUTER486-66 500$ CÁI

COM51 COMPUTER PENTUMM-100 1000$ CÁI

DIS12 Ỗ ĐĨA 1.2MH 20$ CÁI

DIS14 Ỗ ĐĨA 1.4MH 23$ CÁI

FPP12 ĐĨA MỀN 1.2MH 6$ HỘP

GLL11 KÍNH LỌC 2$ CÁI

MON99 MONNNITOR COLOR CTX 120$ CAÙI

MOU11 MOUSE PRTEC 12$ CON

MOU12 MOUSE GENIUS 10$ CON

PRN11 MAÙY IN LQ - 1170 65$ CÁI

TABLE HSNV

MANV HỌ LÓT TÊN CHUALAPGD TDVH PHAINU LCB NGÀY SINH

NGÀY VL

SỐ

CON HÌNH

HC01 Nguyễn Thị Thu Chưa ĐH  310$ 01/01/196

(12)

TH02 Nguyễn Dũng Có ĐH  310$ 04/07/1981 04/07/2003 0 TH03 Trần Ngọc Sơn Chưa ĐH  345$ 15/10/1978 15/10/2000 0 TH04 Nguyển Long Chưa TH  310$ 02/09/1979 02/09/2000 0 TH05 Trần Thị Bông Có TH  234$ 05/05/1952 05/05/1980 3

(13)

TABLE CHAMCONG

THANG MANV NGAYCONG NGAYPHEP NGOAIGIO

01 HC01 25

01 HC02 23

01 HC03 24 0

01 HC04 26 0

01 HC06 0

01 KT01 25

01 KT02 23 0

01 KT06 23

01 KT09 26 0

01 TH01 23

01 TH02 25

01 TH03 24

01 TH04 0

01 TH05 15 0

 TABLE HOADON

SOHD MAKH MASP NGAY LOAIVT SOLUONG DONGIA HTTT MANV

01 TT COM46 01/01/20 N 23 50$ TM HC01

02 BT COM46 02/01/20 X 500$ TP HC02

03 BT COM46 01/01/20 X 12 275$ TP HC03

04 TT COM46 27/01/20 X 260$ NO KT01

05 TT COM46 01/02/20 X 600$ NO KT02

06 PV MON99 02/02/20 X 13 90$ TM HC01

07 PV MON99 01/02/20 N 120$ TP HC02

08 TT PRN11 27/02/20 N 65$ TM HC03

09 BT DIS12 01/04/20 X 200$ TM KT01

10 TB DIS12 02/04/20 X 10 23$ TM KT02

11 BT MOU11 01/04/20 X 10 12$ TM HC01

12 PV MOU12 27/04/20 X 12 12$ TP HC02

13 TT PRN11 01/10/20 X 70$ TM HC03

14 TT MOU12 02/11/20 X 12 12$ TM KT01

15 BT PRN11 01/11/20 N 66$ NO KT02

(14)

17 TT PRN11 01/12/20 N 20 65$ NO TH02

18 BT MON99 01/12/20 N 120$ TM HC01

19 PV MON99 01/12/20 N 120$ NO HC02

20 PV DIS12 02/12/20 N 10 4$ TM HC03

34 BT COM46 15/12/20 X 270$ NO KT01

45 TT FPP12 16/12/20 N 10 500$ TP KT02

X. SẮP XẾP,TÌM KIẾM, THAY THẾ, LỌC DỮ LIỆU

Sắp xếp bảng: Đặt trỏ trường cần xếp, chọn Menu Records\ Sort, chọn

2 cách xếp sau:

- Sort Ascending: Sắp xếp tăng dần - Sort Descending: Sắp xếp giảm dần

n Field: Đặt trỏ Field cần ẩn, chọn Menu Format\Hide Columns, Field

không hình Hiện lại Field cần ẩn cách chọn menu Format\Unhide Columns.

Tìm kiếm thay thế : Đặt trỏ Field cần tìm thay thế, chọn Menu Edit\ Replace

xuất hộp thoại

 Nhaäp giá trị cần tìm hộp Find

What

 Nhập giá trị cần thay hộp Replace With

Chọn hướng tìm hộp Search

- Chọn nút: Find Next: Tìm

giá trị kế tiếp; Replace: Thay giá trị tìm thấy; Replace All: Thay tất giá trị tìm thấy; Close: Kết thúc tìm kiếm thay

Lọc liệu theo mẫu: Chọn Menu Records, Filter, Filter By Form, xuất khung chọn

Chọn giá trị cần lọc Combo Field, xong chọn Menu Filter, Apply Filter/ Sort, liệu bảng lọc Muốn bỏ lọc ta chọn Menu Records, Remove Filter/ Short

Lọc liệu theo chọn : Đặt trỏ

(15)

Lọc liệu theo Advanced: Chọn menu

Records, Filter, Advanced Filter/ Sort, xuất khung lọc :

 Rê tên Field cần lọc kéo vào hàng

Field

 Chọn cách xếp hàng Sort  Nhập điều kiện lọc vào hàng Criteria,

có thể thêm điều kiện khác vào hàng OR

 Chọn menu Filter, Apply Filter/ Sort,

liệu lọc điều kiện

 Bỏ lọc cách chọn menu Records,

Remove Filter/ Sort

BÀI TẬP

1. Tìm kiếm liệu.

Các bạn sử dụng bảng HSNV để tìm mẫu tin sau:

- Tìm mẫi tin có họ Trần (Match: Start of Field) - Tìm mẫi tin có họ lót Thị (Match: Any part of Field)

- Tìm mẫi tin có tên Thu (Match: Whole Field)

- Tìm mẫu tin có ngày sinh tháng 01 - Tìm mẫu tin có năm sinh 78

2. Thực chép, đổi tên, xoá Table

-Sao chép cấu trúc liệu Table HOADON thành Table HOADONTAM

-Sao chép cấu trúc liệu Table CHAMCONG thành Table CHAMCONGTAM -Sao chép cấu trúc Table SANPHAM thành Table SANPHAMTAM

-Đổi tên Table HOADONTAM thành HD

- Đổi tên Table CHAMCONGTAM thành CC - Đổi tên Table SANPHAMTAM thành SPT

3. Dùng chức xắp xếp (Record -> Sort Record -> filter -> Avancefilter/sort )

Duøng Table HD, CC

Chú ý: Khi xắp xếp bạn để ý liệu có đổi khơng ?

- Xắp xếp Field SOLUONG, DONGIA tăng dần (Sort Aseending)

- Xắp xếp Field NGAYPHEP giảm dần (Sort Deseending), NGOAIGIO tăng dần

(16)

4. Dùng chức lọc trích: (Record -> filter -> Avancefilter/sort )

Dùng Table sau để thực : HSNV, CHAMCONG

- Lọc mẫu tin có phái nữ

- Lọc mẫu tin có phái nam - Lọc mẫu tin có họ Nguyên - Lọc mẫu tin có họ lót Thị - Lọc mẫu tin có tên Thu

- Lọc mẫu tin có tên Phong Vũ - Lọc mẫu tin có chữ đầu tên T

- Lọc mẫu tin có chữ đầu MANV HC TH - Lọc mẫu tin có NGAYCONG lớn 25 - Lọc mầu tin có làm NGOAIGIO

5. Dùng chức nén File (Compact DataBase)

Đứng DataBase hành chọn Menu Tools \ Database Utilities \ Compact DataBase …

Chú ý: Trước nén xem kích thước tổng thể tệp sở liệu Sau nén xong, xem lại thấy thay đổi kích thước

Chương 2

TRUY VẤN – QUERY

BÀI 1:

TẠO TRUY VẤN BẰNG LƯỚI QBE

(QUERY BY EXAMPLE)

I. ĐỊNH NGHĨA

Query cơng cụ truy vấn liệu, cho phép ta tổng hợp thực thao tác bảng để đáp ứng yêu cầu Các yêu cầu mà ta thường gặp hàng ngày như: Tổng hợp liệu từ bảng, xóa liệu theo yêu cầu, tất yêu cầu điều truy vấn Nguồn liệu cho Query Table hay Query

II. PHÂN LOẠI : Truy vấn chia thành nhóm

Action Query: Là truy vấn hoạt động, nhằm thực thao tác bảng, gồm

các loại sau: Delete Query (truy vấn xóa liệu); Make Table Query (truy vấn tạo bảng); Update Query (truy vấn cập nhật liệu); Append Query (truy vấn nối liệu)

Dynaset Query: Là truy vấn tạo bảng động, cách tổng hợp, chọn lọc liệu từ

(17)

cheùo); Find Duplicates Query (truy vấn tìm Record trùng lặp); Find Unmatched Query (truy vấn tìm Record khác nhau)

 Ngồi cịn số loại Query khác ngôn ngữ SQL : Union Query (truy

vấn hội); Data Definition (truy vấn định nghĩa liệu); Pass Though Query (truy vấn chuyển giao liệu)

III TẠO TRUY VẤN (Query).

Ta tạo Query Wizard “bằng tay” Wizard tạo Query sau: Simple Query Wizard, Crosstab Query Wizard, Find Duplicates Query Wizard, Find Unmatched Query Wizard Tuy nhiên cách tạo Wizard cách làm khơng chun, phần dành cho bạn học viên tự nghiên cứu

Các bước tạo Query:

- Chọn trang Query \ New \ Chọn lọai tạo Query\ OK

- Chọn Table, Query chứa liệu liên quan đến yêu cầu Add\ Close

- Chọn Field liệu cần tác động đến - Chọn điều kiện để giới hạn thông tin - Chọn loại truy vấn (Select, Update…)

- Lưu lại đặt tên cho Query - Để xem ta chọn Query, Open - Các thao tác query

Thiết kế lại Query: Chọn tên Query, Click nút Design

Xố Query: Chọn tên Query cần xóa, chọn menu Edit, Delete nhấn phím Delete  Đổi tên Query: Chọn tên Query, chọn menu Edit, Rename, nhập vào tên

Chuyển Query sang SQL: Mở Query chế độ Design, chọn menu View, SQL View, Query

sẽ chuyển sang ngôn ngữ SQL

1 SELECT QUERY :

Là truy vấn chọn, cho phép ta chọn lựa liệu tổng hợp từ nhiều bảng có quan hệ để tạo thành bảng gọi bảng động (dynaset) Select query truy vấn thường sử dụng

 Từ khung Database, chọn nút New, xuất

hộp hội thoại New Query, chọn Design View, OK

 Xuất khung Show Table, ta chọn bảng,

(18)

Xuất khung thiết kế hình sau :

 Rê tên Field cần tổng hợp từ bảng kéo vào hàng field vùng lưới QBE, hàng

Table tên chứa bảng Field

 Chọn cách xếp cho Field hàng Sort (Ascending: tăng; Descending: giảm)  Đánh dấu  Show để Field này, khơng đánh dấu Field khơng thể  Lặp lại bước cho Field khác

 Nhập biểu thức điều kiện cho Field (theo cột) hàng Criteria, kết hợp

hoặc với biểu thức khác hàng OR

 Xong chọn menu File, Save xuất hộp thoại Save As, đặt tên cho Query, Ok Query

được tạo

CÁC THAO TÁC TRÊN SELECT QUERY.

Mở Select query: Chọn Select Query cần mở, click nút Open, bảng động ra, xem

xong click nút Close để đóng lại

Thiết kế lại Select Query: Chọn tên Query, nhấn nuùt Design

Tạo biểu thức, cột (field) mới : Biểu thức chuỗi chứa hàm, phép toán, giá trị, tên

Field,…được Access tính tốn mở Query

Cú pháp: Tên cột (field) mới: Biểu Thức

Ví dụ: Hãy tính giái trị sản phẩm khách hàng quy định sau:

 Gồm field tham gia :

MAKH MASP DONGIA SOLUONG TRIGIA THANHTOAN

Với:

TRIGIA = SOLUONG * DONGIA

(19)

Phân tích : Với yêu cầu ta thấy liệu có liên quan đến table HOADON có 02 cột

(field) là: TRIGIA THANHTOAN

Để giải yêu cầu ta làm sau:

Từ CSDL ta chọn tab Query, chọn New, chọn Design View, chọn Ok Sẽ xuất cửa sổ Show Table, chọn tab Table, chọn Table HOADON, chọn Add, chọn Close Xuất cửa sổ thiết kế query Sau ta chọn Field có liên quan đến yêu cầu rê field xuống vùng lưới QBE cột field tương ứng

Với hai cột mới: TRIGIA, THANHTOAN cột thêm ta lập công thức sau: TRIGIA: [SOLUONG]*[DONGIA]

THANHTOAN: IIf([HTTT]="TM","TIEN MAT",IIf([HTTT]="TP","TIN PHIEU","NO")) Sau chọn “Run” biểu tượng công cụ

Lưu lại với tên ViduSelectQuery (Quá trình tạo lập minh hoạ hình ảnh bên)

Một số hàm thường dùng Query

1 Hàm IIF (điều kiện, giá trị 1, giá trị 2)

Nếu điều kiện thoả trả giá trị ngược laiï nhận giá trị

2 Hàm Left (Chuỗi,số ký tự lấy ra) Lấy ký tự bên trái chuỗi định

3 Hàm Right (Chuỗi,số ký tự lấy ra) Lấy ký tự bên phải chuỗi định

4 Date(). Trả ngày tháng năm máy

5 Hàm Day(“chuỗi ngày tháng năm). Trả ngày chuỗi ngày tháng năm định

(20)

6 Hàm Month(“chuỗi ngày tháng năm”). Trả tháng chuỗi ngày tháng năm định

7 Hàm Year(“chuỗi ngày tháng năm) Trả năm chuỗi ngày tháng năm định

8 Hàm BETWEEN X AND Y Trả giá trị khoảng từ X Y

9 Hàm DatePart (DataPart, date) Trích thành phần ngày, tháng, năm, q trị kiểu Date/ Time

Trong đó: - DatePart: Chỉ thành phần muốn lấy

- “d”; “m”; “q”; “yyyy”: Thành phần muốn lấy ngày, tháng, quý, năm

Ví dụ:

 Nếu giá trị Field NgayVL 3/6/93 (ngày tháng năm 1993)  Thì biểu thức: DatePart(“d”, [NgayVL]) cho kết trị số

BÀI TẬP

Thực tạo Query đáp ứng yêu cầu sau:

1 Hãy tạo Query tên Tinh Thuc Lanh, tính thực lãnh cho nhân viên với yêu cầu sau:

Gồm Field tham gia: MANV, HOLOT, TEN, NGAYCONG, NGAYPHEP, NGOAIGIO, HESO, THUCLANH

 HESO: Dựa vào ký tự đầu MANV tính sau:

- Nếu HC -> HESO : - Nếu TH -> HESO : - Nếu KT -> HESO :

 THUCLANH: LCB*(NGAYCONG – NGAYPHEP + NGOAIGIO*2* HESO)

(Gợi ý: Thao tác giống ViduSelectQuery, nhớ thêm cột HESO, THUCLANH nhập công thức yêu cầu đề vào)

2 Hãy tạo Query “NAM VAO LAM” để tính tiền thưởng nhân viên bắt đầu làm việc vào năm 2000 Gồm Field: MANV, HOLOT, TEN, LCB, NGAY VL, THUONG

Biết : Thưởng 5% LCB

3. Hãy tạo Query tên TINH PHU CAP để tính phục cấp theo số con, năm làm việc cho nhân viên nhân viên phòng hành chánh (HC*)

Gồm Field tham gia: MANV, HOVATEN, SOCON, NGAYVL, PHUCAPCON, PHUCAPNAM, CONGPHUCAP

 HOTEN: Sẽ gồm Field HOLOT TEN nối lại (Gợi ý: [HOLOT]& “ “&[TEN] )  PHUCAPCON: Sẽ tính sau:

 SOCON x Nếu SOCON >2 PHUCAP 50000 cịn lại 20000  PHUCAPNAM: Sẽ tính sau:

Nếu ngày vào làm <1980 phụ cấp 100000 ngược lại 50000

 CONGPHUCAP : PHUCAPNAM+PHUCAPCON

(21)

Gồm field: Makh, Masp, Dongia, Soluong,Trigia TRIGIA = SOLUONG*DONGIA

Hướng dẫn: sử dụng hàm BETWEEN X AND Y

5. Tương tự Câu các bạn tạo Query để xem khách hàng BT có đơn giá từ 200 đến 500 khách hàng PV Và lưu lại với tên: XemKhachhangBT

6. Hãy tạo Query tên Su dung tham so để tìm người có phái nữ (0) , chưa có gia đình (-1) cho biết tuổi người Với yêu cầu sau: Khi chạy query cho nhập vào phái có gia đình chưa

Gồm field : HOVATEN, CHUALAPGIADINH, PHAINU, TUOI

HOVATEN: Được nối hai cột HOLOT cột TEN TUOI: Lấy ngày – ngày sinh (chỉ lấy năm)

Ghi chú: Tham số đặt dấu ngoặc vng [ ], đặt dịng Criteria Khi mở Query xuất khung Enter Parameter Value yêu cầu nhập giá trị lần lược cho tham số.

7 Hãy tạo query tên TIM SO LUONG MUA LON NHAT VA NHO NHAT để tìm số lượng mua lớn nhỏ khách hàng

Gồm fields: MAKH, TENKH, SOLUONGNN,SOLUONGLN Vào menu View \ Total (hoặc chọn  công cụ)

Ghi chú: Một số hàm thường dùng Total

(22)

 Hàm Min: Tìm số lượng mua nhỏ  Hàm Avg: Tính trung bình

 Hàm Count: Đếm xem có phần tử  Hàm Expression: Khai báo chọn biến ngoại

 Hàm Where: khai báo Field làm điều kiện dòng Criteria

8 Hãy tạo Query tên TINH TONG SO NHAN VIEN để tính tổng số nhân viên cho biết có nhân viên nam, nữ phịng ban

Gồm fields: PHONGBAN, TONGSONHANVIEN,SONAM, SONU

1 PHONGBAN:

- Nếu “HC” -> Hành chánh - Nếu “TH” -> Tin Học - Nếu “KT” -> Kỹ Thuật

2 SONAM: Đếm tổng số nhân viên Nam (-1) ( HD: SONAM: IIF([PHAINU]= -1,1,0)

3 SONU: Đếm tổng số nhân viên Nữ (0) ( HD: SONU: IIF([PHAINU]= 0,1,0)

4 TONGSONV: SONAM + SONU

9 Hãy tạo query tên GIA TRI SAN PHAM THEO KHACH HANG VA THANG để thực tính giá trị sản phẩm theo khách hàng tháng nhập vào từ bàn phím lúc chạy query (Gợi ý: Dùng tham số Field: MAKH, THANG

Gồm field: MAKH, MASP, TRIGIA, THANG

Với TRIGIA: SOLUONG*DONGIA

THANG: MONTH([NGAY])

2 CROSSTAB QUERY.

Là truy vấn chéo cho phép ta tổng hợp liệu từ nhiều bảng để tạo thành bảng gọi bảng động có cấu trúc tham chiếu chéo (Crosstab), cách tổng hợp liệu khác so với Select Query Sử dụng dạng trruy vấn chéo muốn tính tóan, thống kê liệu thành dạng cột dù liệu lưu bảng hay Select query dạng dịng

Cấu trúc bảng tham chiếu chéo :

 Có một đến ba Field dùng làm Row Heading (dữ liệu Field thể theo dịng)  Có duy Field cho Column Heading (dữ liệu Field trình bày cột)

 Có duy Field làm Value (dữ liệu thể vùng giao Row Heading

Column Heading)

 Ngoài bảng tham chiếu chéo cịn có

(23)

 Từ khung Database, chọn nút New, xuất hộp thoại New Query, chọn Design View,

OK

 Xuất khung Show Table, ta chọn tên bảng cần tổng hợp liệu, lần chọn

click nuùt Add, Close

 Chọn menu Query, chọn mục Crosstab Query (để chuyển sang chế độ Crosstab Query)  Chọn rê tên Field cần tổng hợp mang vào hàng Field

 Chọn hàm tính tốn cho Field hàng Total

 Qui định Field làm Row Heading (nhiều), Column Heading (một) Value (một)

hàng Crosstab

 Chọn cách xếp hàng Sort

 Nhập biểu thức điều kiện hàng Criteria, Or Xong chọn menu File, Close, xuất hộp

thoại Save As, đặt tên cho Query, OK Query tạo

Chú ý : - Có thể sử dụng tham số Select Query

- Có thể tạo Field Select Query

 Mở Crosstab Query: Chọn Crosstab Query cần mở, click nút Open, bảng động ra,

xem xong click nút Close để đóng lại

Ví dụ: Lấy lại kết select query tính tổng số nhân viên câu 8 phần Select query sau:

Với kết ta thiết kế Cosstab query sau:

(24)

PHONGBAN:

IIf(LEFT([MANV];2)="HC";"HANH CHANH";IIf(LEFT([MANV];2)="TH";"TIN HOC";"KY THUAT"))

NAMNU: IIf([PHAINU]= 0;"SONU";"SONAM") SONV: MANV

TONGSONV:MANV

Sau vào Menu Query chọn Crosstab Query Xuất thêm dòng Crosstab cửa sổ thiết kế Query chọn Row Heading, Column Heading Value theo yêu cầu

Lưu lại với tên ViducrosstabQuery

Chú ý: Trong Crosstab Query phải có đủ thành phần: Row heading, Column heading và Value

BÀI TẬP

1 Hãy tạo crosstab query tên SO NHAN VIEN CO VA CHUA CO GD để tính tổng số nhân viên phịng ban có gia đình chưa có gia đình bao nhieu?

Gồm field : PHONG BAN, GIADINH, SONV, TONGSONV

Với: PHONGBAN dựa vào ký tự đầu mã nhân viên:

 Nếu HC  HANH CHANH

 Nếu TH  TIN HOC

 Neu laø KT  KY THUAT

GIADINH: Nếu CHUALAPGĐ= -1 “CHUA CO GD”, ngược lại “CO GD” PHONGBAN,TONGSONV làm Row Heading

SONV: Laøm Value

GIADINH: Laøm Column Heading

2 Hãy tạo Query tên SOLANKHACHHANG để tính tổng số lần khách hàng mua, bán sản phẩm cho biết loại xuất loại nhập khách hàng lần

Gồm fields: MAKH, TENKH, TONGSOLAN , LVT, SOLAN Với Makh,Tenkh,Tongsolan làm Row heading

LVT: Laøm Column Heading SOLAN: laøm Value

Dùng hàm Count để đếm số lần tổng số lần khách hàng mua bán

3 Hãy tạo query tên “MAT HANG XUAT THEO THANG” để tính số lượng mặt hàng xuất cho tháng bao nhiêu?

Gồm field : LOAIVT, MAKH, THANG, SOLUONG.(HD: SOLUONG: Haøm Sum, laøm: value, THANG: Column)

4 Tạo Query tên “QUY HIEN HANH” hiển thị danh sách khach hàng mua sản phẩm tương ứng với thành tiền quý hành

(25)

3. MAKE TABLE QUERY

Là truy vấn cho phép ta tổng hợp liệu từ nhiều bảng để tạo thành bảng mới, bảng thuộc File hành File.MDB khác

 Từ khung Database, chọn nút New, xuất hộp thoại New Query, chọn Design View,

OK

 Xuất khung Show Table, ta chọn tên bảng nguồn đưa vào truy vấn, lần chọn

click nút Add, chọn nguồn từ truy vấn khác thẻ Queries thẻ Both, xong click nút Close

 Chọn menu Query, chọn mục Make – Table Query (để chuyển sang chế độ Make Table

Query), xuất hộp thoại Make Table

 Nhập tên bảng cần tạo hộp Table Name, chọn muïc:

- Current Database: Tạo bảng mớt Filename.MDB hành

- Another Database: Tạo bảng FileName.MDB khác phải nhập đường dẫn\Filename.MDB vào hộp File Name, chọn OK

 Rê tên Field từ bảng, kéo vào hàng Field, hàng Table tên bảng chứa Field  Chọn cách xếp cho Field hàng Sort (Ascending: tăng dần;, Descending: giảm

daàn)

 Đánh dấu  Show để tạo (cho xem) Field này, khơng đánh dấu Field khơng

tạo

 Lặp lại bước cho Field khác

 Nhập biểu thức điều kiện cho Field (theo cột) hàng Criteria, kết hợp

hoặc với biểu thức khác hàng Or

 Xong chọn menu File, Close xuất hộp thoại Save As, đặt tên cho Query, OK Query

mới tạo

 Có thể sử dụng tham số Select Query

Ví dụ: Hãy tạo Query tên TaoKhachhang1 để tạo table Khachhang1 từ table

Khachhang với điều kiện tạo khách hàng BT PV Gồm fields: Makh, Tenkh, Điachi, Phone

Choïn Tab Table, choïn New, choïn Design view, choïn Ok Xuất khung Show Table,

(26)

Chọn Menu Query, chọn Make Table Query, đăït tên cho Table Table Name: Khachhang1, chọn Ok Sau rê fields liên quan đến yêu cầu xuống vùng Field lưới QBE

Chọn menu Query chọn “Run” để chạy query

BÀI TẬP

1 Hãy tạo Query tên TaoCCNVKT để tạo bảng tên CCNVKT từ bảng Chamcong lấy Manv kỹ thuật “KT*”

2 Hãy tạo Query tên Taohoadon1 để tạo bảng HOADON1 từ tên bảng Hoadon lấy Makh “BT” Masp “COM46”

3 Hãy tạo Query tên Taohoadon2 để tạo bảng tên HOADON2 từ bảng Hoadon lấy Loaivt “X” có số lượng >10

4 Hãy tạo Query tên TaoHsnv1 để tạo bảng tên HSNV1 từ bảng HSNV lấy nhân viên có năm sinh sau 1970

5 Hãy tạo Query tên TaoHsnv2 để tạo bảng tên HSNV2 từ bảng HSNV lấy nhân viên có ký tự đầu Holot “T*” MANV “TH*”

4 DELETE QUERY

Là truy vấn cho phép ta xoá liệu cho nhiều bảng

Từ khung Database, chọn nút New, xuất hộp thoại New Query, chọn Design View, OK

 Xuất khung Show Table, ta chọn tên bảng nguồn đưa vào truy vấn, lần chọn

click nút Add, chọn nguồn từ truy vấn khác thẻ Queries thẻ Both, xong click nút Close

 Chọn menu Query, chọn mục Delete Query (để chuyển sang chế độ Delete Query)

 Rê tên Field làm điều kiện xoá từ bảng, kéo vào hàng Field, hàng Table

tên bảng chứa Field

(27)

 Nhập biểu thức điều kiện cho Field (theo cột) hàng Criteria, kết hợp

hoặc với biểu thức khác hàng Or

 Xong chọn menu File, Close xuất hộp thoại Save As, đặt tên cho Query, OK Query

mới tạo

 Có thể sử dụng tham số Select Query

Chú ý: Delete Query truy vấn nguy hiểm, chạy thực việc xóa liệu mà khơng thể phục hồi, xóa liệu “đồng thời bảng quan hệ”.

Chạy Delete Query: Chọn tên Query, click nút Open, xuất khung thông báo (hỏi bạn

có muốn chạy Delete Query khơng ?), chọn Yes, xuất khung thơng báo (cho biết có Record xác nhận xóa), chọn Yes để thực xóa

Ví dụ: Hãy tạo query tên XoaHoadon1 dùng để xoá mẫu tin (Record) bảng

Hoadon1 với điều kiện xoá MASP “BT”

Chọn Tab Table, chọn New, chọn Design view, chọn Ok Xuất khung Show Table, Chọn Table Hoadon1, chọn Add, chọn Close Xuất cửa sổ thiết kế query Chọn Menu Query, chọn Delete Query Sau rê field Masp xuống cột Fields vùng lưới QBE, nhập điều kiện xố dịng Critera “BT” Sau lưu lại, chọn “Run” để chạy query

BÀI TẬP

1 Hãy tạo Query tên XoaCCNVKT để xoá Record table CCNVKT xoá Manv “KT*”

2 Hãy tạo Query tên XoaHsnv1 để xoá Record table HSNV1

3 Hãy tạo Query tên XoaHsnv2 để xoá Record table HSNV2 xố nhân viên có ký tự HOLOT “T*” MANV “TH*”

5 APPEND QUERY

Là truy vấn dùng tổng hợp liệu từ nhiều bảng (nguồn), để nối thêm vào bảng có truớc (đích), bảng thuộc File hành File MDB khác Ví du : để bảo tồn liệu làm việc hàng ngày, ta thường thực nối liệu phát sinh ngày vào

(28)

bảng “phòng hờ”, cần lấy lại… nối liệu cũ vào bảng “lưu trữ” trước xoá

Số lượng Field nguồn đích phải nhau, kiểu liệu chúng phải tương đồng, nhiên tên Field khác

 Từ khung Database, chọn nút New, xuất hộp thoại New Query, chọn Design View,

OK

 Xuất khung Show Table, ta chọn tên bảng cần tổng hợp liệu, lần chọn

click nuùt Add, Close

 Chọn menu Query, chọn mục Append Query (để chuyển sang chế độ Append Query) xuất

hiện hộp thoại Append

 Chọn nhập tên bảng cần nối thêm liệu

tại hộp Table Name, chọn từ sau:

- Current Database: bảng nối thêm (đích)

liệu thuộc File MDB hành

- Another Databsae: bảng nối thêm thuộc

File MDB khác nhập đường dẫn FileName.MDB hộp File Name, click OK

 Chọn rê tên Field từ bảng mang vào hàng Field (hàng Table tên bảng nguồn,

hàng Append To tên bảng đích tương ứng, ta kiểm tra chọn lại)

 Chọn cách xếp hàng Sort

 Nhập biểu thức làm điều kiện nối thêm liệu cho Field hàng Criteria,

kết hợp với điều kiện khác hàng Or

 Xong chọn menu File, Close xuất hộp thoại Save As, đặt tên cho Query, OK Query

mới tạo

Chú ý: - Có thể sử dụng tham số Select Query - Có thể tạo Field Select Query

Chạy Append Query: Chọn tên Query, click nút Open, xuất khung thông báo (hỏi bạn

có muốn chạy Append Query khơng ?), chọn Yes, xuất khung thơng báo (cho biết có record xác nhận nối), chọn Yes để thực

BÀI TẬP

1 Tạo Query tên NK_Hoadon1 thực nối kết Record từ bảng HOADON đến bảng HOADON1

2 Tạo Query tên NK_HSNV2 thực nối kết Record từ bảng HSNV đến bảng HSNV2

3 Tạo Query tên NK_HSNV1 thực nối kết Record từ bảng HSNV đến bảng

HSNV1 lấy người có TĐVH “TH

6 CAÄP NHAÄT QUERY (UPDATE QUERY)

(29)

 Từ khung Database, chọn nút New, xuất hộp thoại New Query, chọn Design View,

OK

 Xuất khung Show Table, ta chọn tên bảng cần cập nhật liệu, click nút Add,

Close

 Chọn menu Query, chọn Update Query để chuyển sang chế độ Update Query

 Rê tên tất Field từ bảng mang vào hàng Field, Double click tên bảng để

kéo lần vào hàng Field (hàng Table chứa tên bảng)

 Nhập biểu thức cập nhật cho Field hàng Update to

 Nhập biểu thức làm điều kiện cập nhật liệu cho Feld hàng Criteria, Or

 Xong chọn menu File, Close, xuất hộp thoại Save As, đặt tên cho query, Close, OK

Query tạo

Chú ý :

- Có thể sử dụng tham số Select Query

- Update Query truy vấn nguy hiểm, chạy cập nhật liệu “đồng

thời bảng quan hệ”

 Chạy Update Query: Chọn tên Query, click nút Open, xuất khung thông báo (hỏi bạn

có muốn chạy Update Query không ?), chọn Yes, xuất khung thơng báo (cho biết có Record xác nhận cập nhật), chọn Yes để thực

BÀI TẬP

1 Tạo Query tên CN_Hoadon1 thực cập nhật Record từ bảng HOADON1 có số lượng cộng thêm

(30)

ngày cơng lớn hay 25 số ngày dư tăng lên gấp đôi, ngược lại không thay đổi

(31)

BAØI :

TẠO TRUY VẤN BẰNG NGÔN NGỮ SQL

(STRUCTURED QUERY LANGUAGE

NGÔN NGỮ CỦA CÁC HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU)

I. GIỚI THIỆU

Để đảm bảo cho CSDL thực “vật có ích” cần phải bổ sung liệu mới, thay đổi số giá trị thời, phải xoá bỏ phần trở nên dư thừa, khơng cần thiết Chúng ta cần biết thông tin từ CSDL ấy, ví dụ : Cần biết khách hàng nợ lâu Những yêu cầu tình hình quản lý ln địi hỏi hệ thống thông tin cần phải tổ chức khéo léo loại liệu, nhằm cung cấp thông tin ngày nhiều, chuẩn xác, nhanh chóng

Các hệ quản trị CSDL với cách tiếp cận khác thơng qua giao diện đặc trưng, trợ giúp người sử dụng thực nhiều liệu thơng tin quản lý Nhưng có ngôn ngữ trở thành giao điểm hệ quản trị CSDL phương tiện dùng để giao tiếp lẫn nhiều MIS, SQL

Vì học tập bạn có giới hạn Ở xin giới thiệu đến bạn học viên số lệnh ngôn ngữ SQL từ đóù bạn tìm hiểu thêm thực vấn đề chuyên sâu Các bạn tham khảo thêm số tài liệu SQL khác để bổ sung kiến thức

II MỘT SỐ QUY ƯỚC VỀ CÚ PHÁP CỦA SQL

%, _

Dấu phần trăm, dấu gạch

dưới Đại diện cho nhiều ký tự, đại diện cho ký tựtương ứng với dấu *,? Của Dos

; Dấu chấm phẩy Dứt lệnh SQL chuẩn

, Dấu phẩy Dấu phân cách chi tiết chuỗi

Vd: SELECT col1, col2, …

Các từ khoá, tên table, tên field, tên row … không phân biệt chữ hoa, chữ thường Trong chuỗi dạng ký tự phải định xác giá trị “Manager” khác với “manager”

III MỘT SỐ LỆNH CHUẨN CỦA SQL:

Xét cơng dụng, lệnh SQL chia làm loại:

(32)

Loại lệnh định nghĩa liệu ( Data Define language – DLL):

CREATE: Định nghĩa khởi tạo Table/View/Index ALTER: Hiệu chỉnh Table tồn trước

DROP: Huỷ bỏ xét thấy không cần sử dụng

Những lệnh thuộc loại DLL dùng để định nghĩa Table (file lưu trữ liệu), View (File ảo, file logic), Index (chỉ mục) Loại lệnh DDL giúp cho người sử dụng can thiệp vào cách thức lưu trữ, tổ chức mặt vật lý sở liệu, làm biến đổi cấu trúc hệ thơng liệu Do loại lệnh thường dành cho chuyên viên hệ thống thông tin

Loại lệnh cập nhật liệu (Data manipulation Language – DML):

INSERT : Bổ sung thêm nhiều Row vào CSDL UPDATE: Thay đổi trường giá trị CSDL

DELETE: Huỷ bỏ row

Loại lệnh kiểm soát liệu (Data Control Language – DCL):

GRANT: Giao quyền khai thác liệu cho người sử dụng REVOKE: Thu hồi quyền khai thác liệu

Loại lệnh nhằm đảm bảo an toàn CSDL dùng chung

1. MỘT SỐ LỆNH TRUY VẤN ĐỊNH NGHĨA DỮ LIỆU

SQL ngôn ngữ định nghĩa liệu, cho phép tạo hệ thống file liệu, hiệu chỉnh phần cấu trúc liệu có lệnh khởi tạo, thay đổi hủy bỏ table …

Với SQL thực dễ dàng cơng việc như:

 Định nghĩa table

 Thay đổi cấu trúc Table có máy  Xoá bỏ field Table/View/Index tồn

 Định nghĩa Table logic để tăng cường khả an toàn liệu  Định nghĩa Index để hệ thống hoạt động nhanh

 Thay đổi thuộc tính khố (Primary hay Foreign key)

Hầu hết lệnh định nghĩa liệu SQL thông qua lệnh CREATE, ALTER DROP Sau ta lần lược làm quen với lệnh trên:

Để tạo câu lệnh SQL Microsoft Access thực theo bước

sau:

 Bước 1: Trong cửa sổ CSDL, chọn phiếu QueryNewDesign View nhấn chọn Ok  Bước 2: Không cần chọn Table hay Query làm nguồn liệu (vì ghi tên

câu lệnh), nhấn chọn nút Close

 Bước 3: Nhấn chọn nút SQL, xuất cửa sổ soạn thảo câu lệnh SQL

(33)

Khởi tạo Table :

CREATE TABLE <Tên Table> (<tên field-1><kiểu liệu> [NOT NULL], <tên field-2><kiểu liệu> [NOT NULL], <tên field-3><kiểu liệu> [NOT NULL],

<tên field-n><kiểu liệu> [NOT NULL], CONSTRAINT <tên constraint> PRIMARY KEY (tên field),

CONSTRAINT <teân constraint> FOREIGN KEY (teân field)REFERENCES(Tên Table 2));

Giải Thích:

 Từ khố CREATE TABLE : Dùng để tạo lập Table

 <Tên table> : Đặc table tên

 <Tên field> <kiểu liệu> : Trong table có Field (Column, cột)

kiểu liệu

 [NOT NULL] : Có mang giá trị NULL khoâng

 PRIMARY KEY : Tên Column (field) đặc làm khố

 FOREIGN KEY (tên field) REFERENCES (Tên Table 2) : Tên field

làm khố ngoại khố table

Ví du ï: Dùng SQL để tạo Table Nhân có Fields sau: Manv, Hoten, Diachi, Ngaysinh, Phai, Mucluong, Ngaycong, Ghichu, Hinh Có Manv khố

CREATE TABLE NHANSU (Manv Text(4), Hoten Text(20), Diachi Text(30), Ngaysinh

Datetime, Phai YesNo, Mucluong Integer, Ngaycong Byte, Ghichu Memo, HINH OleObject,

CONSTRAINT PK_MANV PRIMARY KEY (Manv));

Sau bạn nhập khoảng 10 Record (mẫu tin) vào

Hiệu chỉnh Table: Việc hiệu chỉnh cấu trúc liệu công việc quan trọng, nên làm thật cần thiết

Thêm Column (Filed)

ALTER TABLE <tên table> ADD <tên field><kiểu liệu>;

Ví dụ: Thêm Field Luongthang Table Nhansu ALTER TABLE Nhansu ADD Luongthang Double;

Hủy bỏ field

ALTER TABLE <teân Table> DROP <teân field>;

(34)

Khởi tạo Index (chỉ mục)

ALTER TABLE <Tên Table> ADD CONSTRAINT <Tên Index> UNIQUE (<Tên Field>)

CREATE [UNIQUE] INDEX <Teân INDEX> ON <tên table> (tên field> [ASC/DESC]);

Ví dụ: Tạo mục cho Field Mucluong, Hoten Table Nhansu ALTER TABLE Nhansu ADD CONSTRAINT HT UNIQUE (Hoten); CREATE UNIQUE INDEX ML ON Nhansu (Mucluong);

Xoá Index (chỉ mục)

ALTER TABLE <tên table> DROP CONSTRAINT <tên Index>;

DROP INDEX <Teân Index> ON <Teân Table>

Ví dụ: Xố mục cho Field Mucluong, Hoten Table Nhansu ALTER TABLE Nhansu DROP CONSTRAINT HT;

Hủy bỏ Table

DROP TABLE <tên table>

Ví dụ: Hủy bỏ Table Nhansu DROP TABLE NHANSU;

BÀI TẬP

:

Dùng ngơn ngữ SQL tạo bảng KHO với yêu cầu sau:

KHO (MAKHO Text(2), TENKHO Text(30), DCKHO Text(50)) (Makho khóa chính) Sau nhập liệu cho bảng kho sau:

MAKHO TENKHO DCKHO

CH CHÁNH HƯNG 116 BÀ HUYỆN THANH QUAN

LB LONG BÌNH 333 LÝ THÁI TỔ

PX PHÚ XUÂN 123 LÝ CHÍNH THẮNG

TD THỦ ĐỨC 20/10 ĐỒNG NAI

Chèn thêm cột field MAKHO vào bảng (table) HOADON

Tạo thêm mối quan hệ cho bảng KHO bảng HOADON Sau nhập liệu cho cột (filed) MAKHO bảng HOADON tùy ý tương ứng với mã kho có bảng KHO

Chú ý: Mối quan hệ giữ bảng kho bảng hoadon quan hệ 1-nhiều

2. MỘT SỐ CÂU TRUY VẤN HAØNH ĐỘNG DÙNG SQL

(35)

Cú pháp:

SELECT field1[,field2[,…]]INTO table [IN MDB khác] FROM table nguồn

[WHERE điều kiện]

[ ORDER BY… field [DESC]];

Giải thích:

 field1,field2 :Tên cột( table nguồn) muốn chép

liệu sang table

 Table : Tên bảng muốn tạo

 Table nguồn : Tên bảng chứa liệu nguồn mà truy vấn lấy

liệu chép qua table

 Điều kiện : Là điều kiện chép

Ví dụ: Tạo table LUUTRU lưu chứng từ xuất table HOADON SELECT * INTO LUUTRU

FROM HOADON WHERE LOAIVT="X";

Truy vấn cập nhật ( UPDATE QUERY):

Công dụng: Dùng để sửa đổi liệu thuộc cột nhiều dòng khác table , sửa liệu thuộc dòng ( record) thoả mãn điều kiện cho

Cú pháp: UPDATE table

SET field1= giá trị 1, field2= giá trị 2, … [WHERE điều kiện]

Giải thích:

 Table : Là tên table muốn sửa đổi liệu

 field1 , field2 : Tên cột table muốn thay đổi giá trị  giá trị , giá trị : Các giá trị field1 ,field2

Ví dụ: Tăng tiền lên thêm 50 đồng cho chứng từ xuất Table LUUTRU UPDATE LUUTRU

SET DONGIA = DONGIA+50 WHERE LOAIVT="X";

Truy vấn thêm (NỐI KẾT - APPEND QUERY)

Cơng dụng: Dùng để thêm liệu từ table khác vào cuối table , hay thêm dịng liệu vào cuối table

Cú pháp thêm dòng:

(36)

VALUES( giá trị 1[,giá trị 2[,…]])

Cú pháp thêm nhiều dòng:

INSERT INTO table đích [IN MDB khác] SELECT field1,[, field2[,…]]

FROM table nguồn; [WHERE điều kiện];

Ví dụ: Tạo nối kết chứng từ nhập từ Table NHAPXUAT vào Table LUUTRU INSERT INTO LUUTRU

SELECT *

FROM HOADON WHERE LOAIVT="N";

Truy vấn xoá ( DELETE QUERY)

Cơng dụng: dùng để xố liệu table

Cú pháp:

DELETE FROM table [WHERE điều kiện];

Ví dụ: Xố hết chứng từ nhập Table LUUTRU DELETE *

FROM LUUTRU

WHERE LOAIVT ="N";

Truy vấn chọn (Select query)

Cú pháp:

SELECT [Tính chất] {* |Table.*| [table.]field [, [table.]field [, […]]} [biểu thức As tên cột mới]

FROM table [ kiểu kết nối] [, table [on điều kiện]] [WHERE điều kiện]

[GROUP BY tên cột] [HAVING điều kiện]

[ORDER BY tên cột [DESC]]

Giải thích thành phần câu lệnh SQL:

Tính chất : Dùng từ khóa sau: ALL, DISTINCT, DISTINCT ROW,

(37)

 ALL : Chọn tất dòng bảng

 DISTINCT : Chọn có lọai bỏ cột trùng lắp thơng tin  DISTINCT ROW : Chọn có lọai bỏ dịng trùng lắp thông tin  TOP <n> : Chọn n dòng bảng

Table.field : Tên cột thuộc bảng muốn lấy liệu

Biễu thức : Ghi biểu thức sinh trị cho cột

Tên cột mới : Ghi tên cột mới, tên cột có chứa ký tự trắng phải bao

tên cột cặp ngoặc vuông [ ]

Table 1, table 2:Tên bảng, table tên bảng trái, table tên bảng phải  Kiểukết nối : Dùng kiểu sau: (Thường dùng INNER JOIN)  INNERJOIN : Là kiểu kết nối lấy dòng mà liệu thuộc cột quan hệ

hai bảng

LEFT JOIN : Là kiểu kết nối ưu tiên cho bảng bên trái (Table 1), lấy tất

các dịng bảng bên trái với bảng bên phải (table 2) lấy dịng có liệu cột quan hệ liệu cột quan hệ bảng bên trái

RIGHT JOIN : Laø kiểu kết nối ưu tiên cho cho bảng bên phải (Table 2), lấy tất

cả dịng bảng bên phải với bảng bên trái (table 1) lấy dịng có liệu cột quan hệ liệu cột quan hệ bảng bên phải

On điều kiện : Ghi điều kiện kết nối

WHERE điều kiện : Điều kiện lọc liệu

GROUP By tên cột : Nhóm liệu theo cột

HAVING điều kiện : Điều kiện lọc lại liệu có nhóm liệu  ORDER BY tên cột [DESC] : Sắp xếp theo cột nào, thứ tự tăng dần hay giảm dần,

ghi DESC: Sắp giảm dần

Tạo truy vấn chéo (Crosstab query Cú pháp:

TRANSFORM <Value > // Hàm tính tốn thống kê mà ta muốn tính tốn thống kê SELECT <Tên fields> // Tên cột làm tiêu đề dòng (Tối đa cột)

FROM <Tên table> // Tên Table liên quan WHERE <Điều kiện> // điều kiện thực GROUP BY <tên Field> // Tên cột nhóm

PIVOT <tên field> // tên cột mà ta muốn làm tiêu đề cột

Ví dụ: Thực câu truy vấn sau:

(38)

FROM HOADON

WHERE LOAIVT = "X" AND MAKHO = "TD";

 Tạo select query gồm chứng từ nhập ngày gần

SELECT TOP 4, * FROM HOADON WHERE LOAIVT = "N" ORDER BY NGAY DESC;

 Tạo Totalselectquery thống kê tổng số lượng vật tư Nhập theo Kho:

SELECT MAKHO, Sum(SOLUONG) AS [TONG SO LUONG] FROM HOADON

WHERE LOAIVT="N" GROUP BY MAKHO

ORDER BY MAKHO DESC;

 Tạo total select query thống kê kho có số lượng vật tư nhập 25

SELECT MAKHO, Sum(SOLUONG) AS [TONG SO LUONG] FROM HOADON

WHERE LOAIVT="N" GROUP BY MAKHO

HAVING SUM(SOLUONG)>25;

 Tạo Crosstab query tính tổng số lượng vật tư nhập theo kho

TRANSFORM Sum(HOADON.SOLUONG) AS TSL

SELECT HOADON.makho, Sum(HOADON.SOLUONG) AS [TONG SO LUONG] FROM HOADON

WHERE (((HOADON.LOAIVT)="N")) GROUP BY HOADON.makho

PIVOT HOADON.MASP;

 Tạo query lấy liệu từ HOADON KHO

SELECT HOADON.NGAY, HOADON.LOAIVT, HOADON.SOHD, KHO.TENKHO FROM KHO INNER JOIN HOADON ON KHO.MAKHO = HOADON.MAKHO;

 Tạo select query từ table HOADON, KHO SANPHAM

SELECT HOADON.NGAY, HOADON.LOAIVT, KHO.TENKHO, SANPHAM.TENSP, HOADON.SOLUONG, SANPHAM.DONGIA

(39)

Ngày đăng: 30/04/2021, 22:26

TỪ KHÓA LIÊN QUAN

w