Tinhoc 12

You might also like

You are on page 1of 93

GIÁO ÁN TIN HOC 12

CHƯƠNG I : CƠ SỞ DỮ LIỆU VÀ TABLE

CHƯƠNG II : QUERY
Bài giảng
MS-ACCESS 2003
BÀI 01:(2Tiết) BÀI 02:(4Tiết) TẠO CSDL,
PTTK CSDL& MS-ACCESS TABLE, &RELATIONSHIP

BÀI 03:(2Tiết) BÀI 04:(4Tiết)


KHÁI QUÁT QUERY SELECT QUERY

BÀI 05: (6Tiết) BÀI 06:(2 Tiết) FORM


QUERY CAO CẤP THIẾT KẾ VỚI WIZARD

BÀI 07:(6Tiết) FORM BÀI 08:(6Tiết)


THIẾT KẾ DESIGN VIEW MAIN FORM – SUBFORM

BÀI 09&10: (6Tiết) KIỂM TRA (2Tiết)


REPORT
BÀI 01
PTTK CƠ SỞ DỮ LIỆU&
KHÁI QUÁT MS-ACCESS
Phần I: PT & TK Cơ sở dữ liệu

I. KHÁI NIỆM VỀ CƠ SỞ DỮ LIỆU.


II. THỰC THỂ & QUAN HỆ.
Phần II : Khái quát Ms-Access

I. GIỚI THIỆU MS-ACCESS

III. TẠO,MỞ VÀ ĐÓNG TẬP TIN CSDL.

II. CÁC THÀNH PHẦN CSDL TRONG MS-ACCESS


Phần I:
PTTK Hệ Thống CSDL
I. KHÁI NIỆM VỀ CƠ SỞ DỮ LIỆU
CSDL laø moät heä thoáng ñeå quaûn lyù caùc thoâng
tin coù caùc ñaëc ñieåm sau:
 Laø moät taäp hôïp (coù theå laø raát lôùn) caùc
döõ lieäu coù caáu truùc ñöôïc löu treân caùc
thieát bò tröõ tin (nhö ñóa töø, baêng töø , ñóa
quang…)
 Ñöôïc caùc chöông trình öùng duïng cuï theå
naøo ñoù khai thaùc thoâng tin: tìm kieám, söûa
ñoåi, boå sung, xoùa. Thoâng tin phaûi baûo
ñaûm tính nhaát quaùn.
 Coù theå thoûa maõn ñoàng thôøi cho nhieàu
Ví Dụ:

Coâng ty coù taäp tin löu tröõ danh saùch nhaân vieân
treân maùy tính, cuøng luùc ban giaùm ñoác caàn
xem xeùt caùc nhaân vieân ñeå khen thöôûng –
phoøng taøi vuï laïi caàn laäp baûng löông thaùng
cho caùc nhaân vieân.
Nhö vaäy danh saùch nhaân vieân ñöôïc caû ban
giaùm ñoác vaø phoøng taøi vuï khai thaùc cuøng
moät luùc, dó nhieân thoâng tin veà nhaân vieân
phaûi nhaát quaùn nghóa laø duø ôû ñaâu - ôû ban
giaùm ñoác hay ôû phoøng taøi vuï - thoâng tin aáy
laø phaûi nhö nhau.
Minh họa

P Toå chöùc

Keá toaùn P Keá hoaïch

P Kinh doanh CSDL BP Kho

P Cung ung BGD

Ex:Sô ñoà minh hoaï CSDL duøng


chung
II. THỰC THỂ & QUAN HỆ:
1. Caùc Khaùi Nieäm:
Thöïc theå laø moät söï vaät cuï theå hay tröøu töôïng
trong theá giôùi khaùch quan.

Ví duï:
Trong moät tröôøng hoïc coù caùc thöïc theå:
giaùo vieân, hoïc sinh, moân hoïc…
Trong moät thö vieän coù caùc thöïc theå: saùch,
loaïi saùch, nhaø xuaát baûn…
Trong moät coâng ty buoân baùn cho pheùp traû
chaäm coù caùc thöïc theå: maët haøng (cuï
theå),coâng nôï (tröøu töôïng).
Caùc thöïc theå naøy coù caùc tính chaát rieâng cuûa
noù goïi laø thuoäc tính.
Ví duï:
Moãi hoïc sinh coù moät hoï teân, vaäy hoï teân laø thuoäc
tính
Moãi thöïc theå coù moät thuoäc tính duøng ñeå phaân bieät giöõa
caùc ñoái töôïng cuûa thöïc theå ñoù goïi laø thuoäc tính khoùa
hay goïi taét laø khoùa.
Ví duï:
Moãi Sinh vieân coù moät maõ soá duy nhaát ñeå
phaân bieät vôùi Sinh vieân khaùc
Giöõa caùc thöïc theå coù theå coù moái lieân heä vôùi
nhau goïi laø quan heä (relation)
2. Caùc Quan Heä:
Quan heä moätmoät (one to one): kí hieäu (1,1), laø
quan heä hình thaønh khi moät ñoái töôïng cuûa thöïc
theå naøy coù quan heä duy nhaát vôùi moät ñoái töôïng
cuûa thöïc theå kia.
Ví duï:
Moät nhaân vieân chæ thuoäc veà moät phoøng ban duy
nhaát
Quan heä moätnhieàu (one to many): kyù hieäu (1,n),
laø quan heä hình thaønh khi moät ñoái töôïng cuûa
thöïc theå naøy coù quan heä vôùi nhieàu ñoái töôïng
cuûa thöïc theå kia.
Ví duï:
Moät Lôùp coù nhieàu sinh vieân theo hoïc hoaëc Moät sinh
vieân hoïc nhieàu moân hoïc khaùc nhau.
Ngoaøi ra, trong thöïc teá, moät ñoái töôïng cuûa thöïc
theå naøy laïi coù quan heä vôùi nhieàu ñoái töôïng cuûa
thöïc theå kia vaø ngöôïc laïi. Quan heä naøy ñöôïc goïi
laø quan heä nhieàu-nhieàu (many to many), kí hieäu
laø (n, n).
Ví duï:
Trong moät thö vieän, ta xeùt quan heä giöõa thöïc
theå saùch vaø thöïc theå ñoäc giaû: Moät cuoán
saùch coù theå ñöôïc nhieàu ñoäc giaû möôïn vaø
ñoàng thôøi moät ñoäc giaû coù theå möôïn nhieàu
cuoán saùch.(luùc naøy, trong Access, ta phaûi bieåu
dieãn quan heä nhieàu-nhieàu noùi treân baèng hai
quan heä moät-nhieàu).
3. Moâ Hình CSDL Quan
Heä: moâ hình naøy thì caùc döõ lieäu, thoâng tin veà
Theo
moät thöïc theå caàn quaûn trò seõ ñöôïc löu vaøo maùy
tính döôùi daïng caùc baûng (Table).
Giöõa caùc baûng coù theå coù quan heä vôùi nhau vaø
moái quan heä naøy cuõng ñöôïc bieåu dieãn döôùi
daïng baûng
Ví duï:
Xeùt hoaït ñoäng cuûa moät thö vieän. Döõ lieäu caàn
quaûn lí cuûa thö vieän goàm coù:
* Saùch  ta goïi Saùch laø moät thöïc theå.
* Ñoäc giaû  ta goïi Ñoäc giaû laø moät thöïc
theå.
Bieåu dieãn caùc thöïc theå döôùi daïng baûng nhö
sau:
Saùch:
TenSach TacGia NamXB NhaXB SoLuong
MaSach
Lenin toaøn Söï
CT003 V. I. Lenin 1980 12
taäp thaät
Ñoäc
Giaû
MaDG TenDG DiaChi
DG0001 Traàn Vaên A 11 Leâ Lai Q1

Giöõa thöïc theå Saùch vaø thöïc theå Ñoäcgiaû coù


quan heä möôïn traû, bieåu dieãn nhö sau:
Möôïn
MaDG MaSach NgayMuon NgayTra
DG0001 CT003 1/5/2005 20/5/2005
Phần II:
Khái Quát Về MS - Access
I. GIỚI THIỆU VỀ ACCESS:
Ms-Acces 2003 là phần mềm thuộc hệ quản trị CSDL.
Giúp quản lý, bảo trì và khai thác số liệu trên máy tính

Màn hình của Acces khi khởi động:


Blank DataBase: Tạo CSDL mới,trống

General Templates : neáu muoán taïo ra


1 taäp tin CSDL theo maãu caùc taäp
tin CSDL coù saün trong Access

Open a file: Mở CSDL đã có.


II. TẠO,MỞ VÀ ĐÓNG MỘT TẬP TIN CSDL:
1. Taïo moät taäp tin CSDL
môùi
Ñeå :taïo moät taäp tin CSDL môùi, Baïn nhaép nuùt
treân Database Toolbar (hoaëc söû duïng leänh File\New
Database) (phím goõ taét laø Ctrl+N). Xuaát hieän hoäp
thoaïi File New Database:

Trong khung Save in:


choïn oå ñóa, folder seõ
löu taäp tin.
Trong khung File name:
ghi teân taäp tin CSDL.
Nhaáp choïn nuùt leänh
Create.
2. Mở Một Tập Tin CSDL Đaõ
Coù
Ñeå: môû moät taäp tin CSDL ñaõ coù treân ñóa,
nhaáp nuùt treân Database Toolbar (hoaëc
söû duïng leänh File \Open Database – phím goõ taét
laø Ctrl+O). Xuaát hieän hoäp ñoái thoaïi Open:

Trong khung Look in:


choïn oå ñóa, folder
chöùa taäp tin muoán
môû.
Trong khung beân
döôùi : choïn taäp tin
CSDL muoán môû.
Nhaáp choïn nuùt leänh
Open.
3. Ñoùng Tập Tin CSDL :
Sau khi ñaõ môû vaø laøm vieäc vôùi taäp tin CSDL
Access, neáu muoán ñoùng taäp tin naøy, ta thöïc
hieän nhö sau:
 Ñoùng vaø löu taát caû caùc ñoái töôïng ñang
môû (ví duï nhö baûng, vaán tin, bieåu maãu, baùo
caùo).
 Treân maøn hình chæ coøn cöûa soå CSDL
ñang laøm vieäc, duøng lònh File\Close.
Löu yù: Neáu khoâng ñoùng taäp tin CSDL ñuùng
caùch, coù theå seõ laøm hoûng taäp tin CSDL
III. CÁC THÀNH PHẦN CSDL TRONG MS-ACCESS
Table: Ghi lưu dữ liệu cơ sở được tổ chức thành nhiều dòng
mỗi dòng nhiều cột.Lưu trữ thông tin của một thực thể hay
một quan hệ.
Query: Công cụ truy vấn thực hiện các thao tác rút trích, cập
nhật DL trên các Table
Form: Mẫu biểu Dùng để thiết kế màn hình nhập liệu sinh
động hơn.
Report: Báo biểu là kết quả đầu ra của quá trình khai thác dự
liệu.
Macro : Tập hợp các lệnh nhằm tự động hóa các thao tác. Có
thể xem như một công cụ lập trình đơn giản
Module : Là những hàm riêng của User được lập trình bằng
ngôn ngữ Access Basic.
IV. CÁC TOÁN TỬ TRONG NGÔN NGỮ ACCESS
Toán tử ý nghĩa
() Kết nhóm biểu thức
Not Đúng thì sai, Sai thì đúng
And Tất cả đúng thì đúng, ngược lạI thì sai
Or Chỉ 1 ĐK đúng thì đúng, tất cả sai thì sai
Xor 2 ĐK cho kết quả trái ngược nhau thì đúng
Epv 2 ĐK cho kết quả trái ngược nhau thì sai
^ Luỹ thừa (5^3=75)
+-*/ Cộng, Trừ, Nhân, Chia
\ Phép chia lấy phần nguyên
Mod Phép chia lấy phần dư
Toán tử ý nghĩa
<, >, = Nhỏ hơn, Lớn hơn, bằng
<=, >= Nhỏ hơn hay bằng, Lớn hơn hay
bằng
<> Không bằng
Is Chính là: để so sánh 2 đối tượng
In Ở trong, dùng trong các câu truy vấn
Between . . .And . . . Trong khoảng từ: #Ngay# đến
#ngay#
Like Giống: *(tổ hợp kí tự bất kỳ), ?(1 ký
tự bất kỳ), #(Một ký số bất kỳ)
& Ghép chuỗi
+ Ghép chuỗI hoặc cộng số
Toán tử ý nghĩa Toán tử ý nghĩa
True Trị đúng “ . . .” Dấu rào chuỗi
False Trị sai [. . .] Dấu rào biến
Null Trị rỗng #. . .# Dấu rào trị ngày
Date Ngày hiện hành [White] Màu trắng
Now Ngày giờ hiện hành [Black] Đen
Time Giờ hiện hành [Blue] Xanh
Timer Số giây hiện hành [Yellow] Vàng
Page Số trang [Green] Xanh lá
Pages Tổng số trang [Red] Đỏ
V. MÔI TRƯỜNG LÀM VIỆC CỦA MS-ACCESS
Dùng Control Panel để thiết lập các định dạng về ngày
tháng và kiểu DL số
Menu Tools/ Option trong Access để thiết lập môi trường
cho Access
View: Hiện thị tình trạng
General : Định lề trang, thư mục là việc mặc định
Edit/Find: cách thứ tìm, xóa, thay đổi mẫu tin
Keyboard: Xử lý di chuyển dấu nháy
DataSheet : Định dạng cho DataSheet (Font, màu . .)
Form/Report: Sử dụng, khuông dạng
Advanced: Thiết lập liên quan nhiều ngườI dùng
Table/Query: Thiết lập liên quan table, Query
BÀI 2

TẠO CSDL,TABLE & RELATIONSHIP

I. MỘT SỐ KHÁI NIỆM


II. TẠO CƠ SỞ DỮ LIỆU
III. LÀM VIỆC VỚI TABLE
IV. THIẾT LÂP MỐI QUAN HỆ(RELATIONSHIP)
I. MỘT SỐ KHÁI NIỆM
Các mục khóa
• Mục khóa dùng để làm gì ?
Khóa được thiết lập trên 1 hay nhiều Field dùng để nhận
diện các mẫu tin của một Table và để thiết lập mốI quan hệ giữa
các Table. Có 2 loạI khoá chính & Khóa ngoại
• Khóa chính
Thiết lập để nhận diện duy nhất các mẫu tin của 1 Table.
trị của khóa chính không được trùng nhau, không chứa trị Null
• Khoá ngoại
Dùng để tham chiếu đến 1 hay nhiều Field là khóa chính
của Table. Kiểu dữ liệu khóa ngoạI và khóa chính phảI phù hợp
nhau
Ví dụ:
(1)- bảng THISINH của CSDL thi tuyển sinh, trường
khoá là SoBaoDanh. Vì mỗi thí sinh có thể nhiều
trường có giá trị hệt nhau, nhưng SoBaoDanh thì duy
nhất.
(2)- bảng CANBO trường MaCanBo sẽ là trường khóa vì
không thể tồn tại 2
cán bộ nào trong bảng này trùng MaCanBo
(3)- bảng HANGBAN của CSDL Quản lý bán hàng,
2 trường hangID và
hoadonID là một bộ trường khoá. Vì không thể trên một
hoá đơn bảng hàng nào
có bản một mặt hàng nào đó ghi lặp lại 2 lần.
Minh Họa Khóa
Khóa chính

Khóa chính

Khóa ngoại
II. TẠO CƠ SỞ DỮ LIỆU
1. Dùng Database Wizard
2. Tạo CSDL Trống
• Nếu mớI khởi động Access :
Chọn mục Blank Database/OK
Chọn thư mục và đặt tên
III. LÀM VIỆC VỚI TABLE
01. Vai trò của Table

02. Các thông số của Table

03. Thiết kế cấu trúc Table

04. Các thuộc tính quan trọng


01. VAI TRÒ CỦA TABLE
Tầm quan trọng của Table
Table là thành phần cơ bản và quan trọng nhất
của CSDL trong MS-Access. Dùng để ghi nhận các dữ
liệu cơ sở, các nghiệp vụ phát sinh, các biến động và các
thông tin muốn quản lý.
Cấu trúc của Table
• Dữ liệu được tổ chức chứa trên nhiều dòng gọi là các
mẫu tin (Record)
• Trên mỗi dòng chứa nhiều cột dòng là trường (Field
hay Column)
Minh Họa cấu trúc Table
02. Các thông số của Table
Tổng số ký tự của tên Table 64
Tổng số ký tự của tên Field 64
Tổng số Fields trong Table 255
Tổng số Tables có thể mở cùng lúc 1.024
Kích thước tối đa của một Table 1 GB
Tổng số ký tự trong Field kiểu Text 255
Tổng số ký tự trong Field kiểu Memo 65.535
Tổng số ký tự trong thông báo Validation Text 255
Tổng số ký tự trong quy luật kiểm chính 2.048
.v.v.
03. Thiết kế cấu trúc Table
Tạo Table
Từ cửa sổ DataBase chọn mục Table và mục Create table
Design View. Màn hình Design View table Hiện ra.
Hiệu Chỉnh Table
Chọn Table cần hiệu chỉnh. chọn chức năng DesignView

Xóa Table
Chọn Table cần xóa. nhấn Delete, chọn Yes
Lưu Table
Thiết kế xong File/Save để lưu và thoát nếu chưa lưu Acess
sẽ thông báo yêu cầu lưu
Kiểu dữ liệu

Text Ký tự ,tối đa 255


Memo Ký tự tối đa 65.535
Number Chứa trị số
Date/ time Trị ngày, giờ
Currency Trị tiền tệ
Auto Number Trị số tự gán liên tục
OLE Object ĐốI tượng hình ảnh
Lookup Chọn một trị trong DS có sẳn
Wizard
04. Các thuộc tính quan trọng
Field Size Độ dài Text(255), Kiểu DL con Number, AutoNumber
Format Định dạng cho DL nhập chuổi KTự Đdạng hoặc chọn
kiểu hiện thị cho kiểu: Date/Time, Num, Curr, Yes/No
Input Mask Quy định mặt nạ khi nhập dữ liệu
New Values Chọn cách tạo số AutoNumber (Increment, Random)
Decimal Place Quy định số phần số thập phân
Caption Chứa một tên gọi khác cho Field
Default Value Giá trị mặt định nếu không nhập
Validation Rule Quy tắc kiểm tra DL nhập
Validation Text Chuổi thông báo lổi của Validation Rule
Required Bắt buột phải nhập liệu cho Field
Allow Zero Length Cho phép chuổi có độ dài bằng Zero (Yes/No)
Indexed Cách tạo chỉ mục (No, Yes Duplicates, No Duplicates)
Display Control Dạng hiện thị Check box, Text box, Combo box
a. Thuộc tính Fileds Size
Kiểu DL Text : Dài tối đa 255 (Mặc định 50)
Kiểu DL là AutoNumber : Long Interger hay ReplicationID
Kiểu DL là Number :
Xác lập Vùng lưu trữ K.Thước
Byte 0  255 1Byte
Interger -32,768  32,768 2
Long Interger -2,147,483,648  2,147,483,648 4
Single -3.402823.1038  3.402823.1038 4
Double -1.79769313486231.10308  8
1.79769313486231.10308
ReplicationID Lưu trữ định danh duy nhất cấp toàn cục 16
b. Thuộc tính Format
Ký tự định dạng dùng chung
Ký hiệu Mô tả
(Space) Hiện thị khoảng trắng như ký tự
“ABC” Hiện thị những gì trong ngoặc kép như ký tự
! Canh trái thay vì canh phải
* Điền khoảng trắng khả dụng đối với ký tự kế tiếp
\ Hiện thị ký tự kế tiếp như ký tự bình thương
[Color] Chỉ định màu (Black, Blue, Green, . . .)
Ký tự định dạng dùng riêng cho Text hoặc Memo
Ký hiệu Mô tả
@ Bắt buột là khoảng trắng hay 1 ký tự
& Không Bắt buột là khoảng trắng hay 1 ký tự
< Đổi tất cả thành chữ thường
> Đổi tất cả thành chữ hoa
Ký tự định dạng dùng riêng cho Number
Ký hiệu Mô tả
. Dấu phân cách phần thập phân
, Dấu phân cách hàng ngàn
# Ký số giữ vị trí (Hiện thị ký số hay không hiện
thị gì cả)
$ Hiện thị ký hiệu $
% Giá trị /100 và có ký hiệu % nối vào
E+ Hay E- Ký hiệu khoa học như : 0.00E-00 hay 0.00E00
c. Thuộc tính InputMask Ký hiệu dùng trongInputMask
Ký hiệu Mô tả
0 (0  9) bắ t buột , không dùng + -
9 (0  9) , khoảng trắng không bắt buột, không dùng + -
# (0 9), khoảng trắng cho dùng +-
L (A Z) bắt buột
? (A Z) Không bắt buột
A Mẫu ký tự hay ký số (Mục bắt buột)
& Ký tự bất kỳ hay khoảng trắng bắt buột
C Ký tự bất kỳ hay khoảng trắng không bắt buột
. , : ; - / Dấu phân cách thập phân, hàng ngàn, ngày giờ
< Chuyển tất cả thành ký tự thường
> Chuyển tất cả thành ký tự in
! Canh trái, có thể kèm ký tự hay bất kỳ InputMask nào
\ Ký tự theo sau hiển thị như một ký tự bình thường
IV. THIẾT LÂP MỐI QUAN HỆ(RELATIONSHIP)
Khái niệm :Access là hệ quản trị CSDL nên có thể sử
dụng dữ kiện lấy từ nhiều Table khác nhau nếu các Table
này có mốI quan hệ với nhau, muốn vậy phải khai báo các
mối quan hệ giữa các Table liên quan.
Quy định: Những Field đối chiếu trong các Table có quan
hệ thường có tên giống nhau, có cùng kiểu dữ liệu. muốn
định nghĩa QH phải đóng các Table đang mở, và mở cửa
sổ Relationship
Thực hiện : Để định nghĩa hoặc hiệu chỉnh mối quan hệ
phải mở cửa sổ Relation Ship từ biểu tượng Relation ship
hay Menu Tool/RelationShip

Minh họa
Liên kết các bảng dữ liệu
Trong Access tồn tại 2 kiểu liên kết: liên kết 1-1 và liên kết 1-n (một-nhiều)
Liên kết 1-1 là: mỗi bản ghi của bảng này sẽ liên kết với duy nhất tới một bản
ghi của bảng kia và ngược lại;
Ví dụ liên kết 1-1:

Mô tả dữ liệu 2 bảng này như sau


 Liên kết 1-n là: mỗi trường của bảng 1 sẽ có thể liên kết với một
hoặc nhiều bản ghi của bảng nhiều (n). Ngược lại, mỗi bản ghi
của bảng nhiều sẽ liên kết tới duy nhất 1 trường của bảng 1.
 Ví dụ liên kết 1-n:

Có thể tham khảo mỗi cha có thể có nhiều con qua 2 bảng sau:
 Hoặc xem theo một kiểu khác:
Từ cửa sổ Show Table : Chọn các
Table hay query cần thiết lập quan
hệ: Add lần lượt vào
(Có thể thiết lập mối quan hệ đôi hay
mối QH với chính nó)

Enforce referential integrity: Thiết lập


tính tham chiếu toàn vẹn giữ 2 Table

Casade Update related records:


Xóa mẫu tin trong Table chính
 Xóa mẫu tin trong Table quan hệ
Casade Delate related records:
cập nhật các mẫu tin trong Table chính
 cập nhật các mẫu tin trong Table quan hệ
Ví dụ:
CSDL Quản lý học sinh bao gồm tập hợp các bảng dữ liệu:
HOCSINH, LOP,
KHOI, MONHOC, DIEM được kết nối với nhau một cách phù hợp
phục vụ lưu
trữ dữ liệu cho ứng dụng quản lý học sinh một trường học.
Toàn bộ cấu trúc
CSDL quản lý học sinh trên Access được mô tả như sau:
CSDL Quản lý bán hàng bao gồm tập hợp các bảng dữ liệu: HANG,
KHACH, HOADON, HANGBAN được kết nối với nhau một cách
phù hợp, phục vụ ứng dụng quản lý việc bán hàng tại một cửa hang.
Sơ đồ cấu trúc CSDL này như sau:
CSDL Quản lý lương cán bộ, bao gồm các bảng: PHONGBAN,
CHUCVU và CANBO được kết nối với nhau phục vụ lưu trữ dữ
liệu cho ứng dụng quản lý lương cán bộ một cơ quan. Cấu trúc
CDSL này được biểu diễn như sau:
 CSDL Quản lý việc nhập-xuất vật tư một cửa hàng. Bao
gồm các bảng: VATTU, KHACH, PHIEUNHAP,
PHIEUXUAT, VATTU_NHAP, VATTU_XUAT được biểu diễn
như sau:
Qui trình xây dựng CSDL Access
Bước 1 : Lần lượt xây dựng cấu trúc từng bảng dữ liệu trong
CSDL. Với mỗi bảng dữ liệu khi khai báo cấu trúc cần giải
quyết các công việc sau :
- Khai báo danh sách các trường của bảng ở cột Field Name;
- Chọn kiểu dữ liệu phù hợp cho các trường ở cột Data Type;
- Thiết lập trường khoá cho bảng;
- Thiết lập một số khác cần thiết cho các trường như :
Field Size, Format, Input Mark, Requried, Validate Rule, …
- Ghi tên bảng

Bước 2 : Lần lượt thiết lập thuộc tính LOOKUP cho các trường
một cách phù hợp. Mỗi quan hệ trên bảng thiết kế sẽ cần một thao
tác thiết lập thuộc tính LOOKUP (sử dụng trình LookUp Wizard)
từ trường trên bảng quan hệ nhiều sang trường bảng quan hệ một;
Bước 3 : Thiết lập các thuộc tính đảm bảo toàn
vẹn dữ liệu cần thiết cho các
quan hệ tại cửa sổ Relationships (menu Tool |
Relationships.. hoặc nhấn nút
trên thanh công cụ);
Bước 4 : Thực hiện nhập dữ liệu cho các
bảng nếu cần. Chú ý : bảng có quan hệ 1
phải được nhập dữ liệu trước bảng có quan hệ
nhiều.
 Chú ý : Một số lỗi có thể xảy ra khi nhập dữ liệu
Lỗi thứ nhất:

Lỗi do: Bạn đã nhập vào giá trị không tương thích với kiểu dữ liệu
của trường đã chỉ định.
Ví dụ: trường kiểu Numeric mà gõ vào chữ cái; hoặc không gõ đầy
đủ các giá trị ngày, tháng, năm cho trường kiểu Date/Time,.. lỗi này
sẽ xuất hiện.
Khắc phục: hãy nhập lại cho đúng, đủ giá trị các trường đã yêu cầu
đến khi không xuất hiện thông báo lỗi.
Lỗi thứ 2:

Lỗi do: Bạn không nhập giá trị hoặc để trống giá trị trường khoá. Đã là
trường khoá luôn yêu cầu phải nhập dữ liệu cho mỗi bản ghi.
Khắc phục: phải nhập đầy đủ giá trị cho trường khoá.
Lỗi thứ 3:

Lỗi do: Giá trị trường khoá trùng nhau. Giá trị trường khoá vừa nhập
vào đã trùng với giá
trị của một bản ghi nào đó trên bảng dữ liệu.
Khắc phục: nhập lại giá trị trường khoá khác sao cho vừa đúng, đủ
và không bị trùng khoá.
Lỗi thứ 4:

Lỗi do: Bản ghi vừa nhập dữ liệu đã bỏ trắng trường bắt buộc nhập dữ liệu (những
trường
được thiết lập thuộc tính Required=Yes)
Khắc phục: Phải nhập đủ dữ liệu cho các trường bắt buộc phải nhập dữ liệu.
Lỗi thứ 5:

Lý do: Lỗi do thực hiện một thao tác vi phạm các nguyên tắc đảm bảo toàn vẹn dữ liệu. Ví
dụ: Bạn đã nhập dữ liệu trên một bảng có quan hệ mà bản ghi đang nhập không thể liên kết
được tới được một bản ghi nào của bảng có quan hệ 1 với nó (nhập một hàng bán mà
mã hàng đó chưa có trong bảng danh mục hàng hoá).
Khắc phục: Tìm và nhập cho đúng giá trị theo bảng quan hệ 1 tương ứng. Tham khảo cách
khắc phục lỗi này ở mục 5: thuộc tính LookUp.
Bài tập
1. Xây dựng CSDL Quản lý lương cán bộ một cơ quan có cấu trúc như
sau :

Yêu cầu :
- Thiết kế cấu trúc các bảng một cách phù hợp : kiểu dữ liệu các trường;
trường khoá; thuộc tính Lookup và các thuộc tính khác;
- Thiết lập quan hệ cùng các thuộc tính đảm bảo toàn vẹn dữ liệu cho các quan hệ;
- Nhập dữ liệu như sau :
+ 4 phòng ban;
+ 5 loại chức vụ;
+ 20 hồ sơ cán bộ.
2. Xây dựng CSDL Quản lý việc bán hàng cho một cửa hàng có
cấu trúc như sau :

Yêu cầu :
- Thiết kế cấu trúc các bảng một cách phù hợp : kiểu dữ liệu các
trường;
trường khoá; thuộc tính Lookup và các thuộc tính khác;
- Thiết lập quan hệ cùng các thuộc tính đảm bảo toàn vẹn dữ liệu cho các
quan hệ;
- Nhập dữ liệu như sau :
+ 5 khách hàng;
+ 15 danh mục hàng hoá có bán;
+ lập 10 hoá đơn bán hàng;
+ với 25 lượt hàng hoá được bán ra.
3. Xây dựng CSDL Quản lý sách một thư viện có cấu trúc như sau :

Yêu cầu :
- Thiết kế cấu trúc các bảng một cách phù hợp : kiểu dữ liệu các
trường;
trường khoá; thuộc tính Lookup và các thuộc tính khác;
- Thiết lập quan hệ cùng các thuộc tính đảm bảo toàn vẹn dữ liệu cho các quan
hệ;
- Nhập dữ liệu như sau :
+ 5 tác giả;
+ 5 nhà xuất bản;
+ 8 danh mục sách;
+ 10 đầu sách.
4. Xây dựng CSDL Quản lý điểm học sinh trường phổ thông có cấu trúc như sau :

Yêu cầu :
- Thiết kế cấu trúc các bảng một cách phù hợp: kiểu dữ liệu các trường;
trường khoá; thuộc tính Lookup và các thuộc tính khác;
- Thiết lập quan hệ cùng các thuộc tính đảm bảo toàn vẹn dữ liệu cho các quan hệ;
- Nhập dữ liệu như sau:

+ 10 môn học phổ thông;


+ 3 khối học;
+ 15 lớp chia đều cho 3 khối;
+ 30 học sinh;
+ Và nhập điểm 2 học kỳ cho học sinh của một lớp nào đó.
Bài 3
KHÁI QUÁT VỀ QUERY

I. Khái niệm và lý do sử dụng


II. Các loại query
III. Cách tạo Query
IV. Các hình thức hiển thị Query
V. Lưu và điều chỉnh Query
I. Khái niệm và lý do sử dụng
Query là gì :
Quey là công cụ của Access được dùng để truy
vấn dữ liệu trên một hay nhiều Table. Query cũng
được dùng như một nguồn dữ liệu khác cho các
công cụ khác như Form, Report, hay Query khác.
Các trường hợp sử dụng Query
   Lựa chọn các Query cần thiết
   Lựa chọn các mẩu tin, sắp xếp theo thứ tự nào
đó.
   Tham khảo dữ liệu của nhiều Table
   Thực hiện phép tính toán.
   Tạo dữ liệu cho các Form,Report, các Query
khác
II. Các Loại Query
1. Select Query (Chọn lọc)
Sử dụng khá phổ biến để trích dữ liệu từ 1 hay nhiều
Table.
Ngoài ra còn có thể cho phép tính toán, lược và kết nhóm.
2. CrossTab Query (Tham khảo chéo).
Dùng để tổng hợp dữ liệu theo chủng loại (Tổng số,
s.lượng, tb)Loại này hữu hiệu trong việc phân tích dữ liệu.
3. Action Query (Hành động)
Dùng để tạo mới hay thực hiện thay đổi cho Table tuỳ
theo công dụng bao gồm : Delete Query, Update
Query, Append Query, Make table Quey
4. Paremeter Query (Tham số)
Tạo một Query mà khi khởi động cần một hay nhiều tham số
để tạo ra kết quả.Tham số được ghi dưới dạng một tên biến.
III. Cách tạo Query

•Dùng Wizard : Ít dùng vì hạn chế trên một số Query


•Dùng Query Design:
Người dùng tự thiết kế thông qua cửa sổ Design
View.
Các bước khái quát:
 Khởi động Design View
 Chọn các Table, Quey liên quan
 Khai báo các mối quan hệ nếu chưa có
 Khai báo các tiêu chuẩn lọc nếu cần
 Chạy thử và lưu lại.
Minh Họa
IV. Các hình thức hiển thị Query

Cửa sổ Query có 3 hình thức hiển thị :


   Datasheet View : Là dạng hiển thị chuẩn khi chạy
Quey
   Design View : Hiển thị Quey theo dạng thiết kế
   SQL View : Hiển thị thiết kế Query dưới dạng dòng
lệnh theo ngôn ngữ SQL

Minh Họa
Design View

SQL View

DataSheet
View
V. LƯU VÀ ĐIỀU CHỈNH
Lưu : Khi hoàn tất thiết kế hoặc hiệu chỉnh cần lưu lại
Menu File/Save. nếu không khi đóng Acces sẽ hỏi bạn
cần lưu không.

Hiệu chỉnh: Thiết kế trong Quey : Chọn Quey và click


chức năng Design
Sao chép Query : Chọn Query/ Edit/Copy 
Edit/Paste

Xóa : Chọn Query/ Nhấn Delete / Yes


BÀI 04
THIẾT KẾ SELECT QUERY

I. THỰC HIỆN SELECT QUERY VỚI DESIGN VIEW

II. THỰC HIỆN SELECT QUERY SQL VIEW


Select query là loại truy vấn dùng trích - lọc - kết xuất dữ
liệu từ nhiều nguồn khác nhau từ CSDL ra một bảng kết quả. Ví dụ:
- Đưa ra thông tin chi tiết bảng lương tháng 8;
- Đưa ra danh sách cán bộ là Đảng viên;
- Đưa ra thông tin chi tiết về các hoá đơn bán ra trong ngày hôm nay;
- Đưa ra doanh thu bán hàng của một tháng nào đó;
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: canboID, hoten, ngaysinh, tencv, luongchinh,
phucapcv, thuclinh.
Trong đó: luongchinh = hesoluong * 540.000
Thuclinh = luongchinh + phucapcv
Phân tích yêu cầu:
(1). Thông tin yêu cầu đòi hòi từ nhiều bảng khác nhau (bảng CANBO với
các cột: canboID, hoten, ngaysinh; bảng CHUCVU với các cột tencv,
phucapcv);
(2). Có những cột thông tin đã có sẵn trên CSDL (5 cột kể trên) nhưng một
số cột yêu cầu phải được tính bởi biểu thức: cột luongchinh và cột thuclinh.
I. THỰC HIỆN SELECT QUERY VỚI DESIGN VIEW
Mở cửa sổ Design View
Từ cửa sổ Database : Chọn Query khung bên trái,
chọn Create Query in design view khung bên phải.
Hay chọn biểu tượng New trên cửa sổ Database
chọn Quey chọn Design View trong hộp thoại New
Query.
Hay chọn lệnh Insert Query
Chọn các Table tham
gia vào Select Query

Cửa sổ Query có dạng:

     Khung trên chứa các Table, Query tham gia


     Khung dưới chứa các Field đưa vào Query:
+ Dòng Field : Chứa các Field
+ Dòng Table chứa tên table của Field được chỉ định.
+ Dòng Sort : Sắp xếp các mẫu tin
+ Dòng show : Hiển thị hoặc không hiển thị các filed chỉ định
+ Dòng Crieria : Dùng khai báo tiêu chuẩn lọc.
+ Dòng Or khai báo bổ sung điều kiện lọc
Thêm hay bỏ bớt các Table tham gia vào Select Query.

Thêm :Trong Query Design chọn Meu Query\Show Table. Add


các Table cần đưa vào
Bớt : Chọn Table nhấn Delete (hay Menu Query\Remove
Table) để xóa

Khai báo tiêu chuẩn vấn tin (Criterial)


>234 Trị field lớn hơn 234
BetWeen #2/2/1997# Trị field từ ngày 2/2/1997 đến
and #1/12/1997# 1/12/1997
>=”Callahan” Trị Field có tên “Callahan” trở lên

Với 2 cột luongchinh và thuclinh phải đưa vào query bằng cách tạo một
cột mới với một tên gọi <tên cột> được tính bằng một <biểu thức>
trên dòng Field theo cú pháp như sau:
<Tên cột> : <biểu thức>
Tên cột mới Dấu ngăn cách Biểu thức tính
Ví dụ:
Luongchinh : hesoluong * 290000 để tạo thêm cột luongchinh mới
Thuclinh : luongchinh + phucapcv để tạo thêm cột thuclinh mới. Cuối
cùng, màn hình thiết kế query như sau:
Dòng Total trong cửa sổ Design View Query
Mặc định dòng total không có , Muốn hiện thị : Menu View\Total
Sum Tổng giá trị trong một Field
Avg Trị trung bình của một Field
Min Trị nhỏ nhất trong một Field
Max Trị lớn nhất trong một Field
Count Số các trị trong field không đếm trị Null
StDev Độ lệch chuẩn của các trị trong một
Filed
Var sự biến thiên của trị trong một Field
Group by Định nghĩa các nhóm muốu thực hiện
tính toán
Expression Phối hợp nhiều hàm trong một biểu thức
Where Mà không dùng định nghĩa nhóm
II. THỰC HIỆN SELECT QUERY SQL VIEW

Từ cửa sổ Design view chọn Menu View\SQL View


Cú pháp đầy đủ của câu lệnh Select là :

SELECT [ ALL | DISTINCT ] [TOP n [PERCENT]


[WITH TIES]] <Select_list>
FROM <Table_Source>
[ WHERE <Search_Condition>] ]
[ GROUP BY [ALL] Group by expression [. . .n) ]
[ HAVING <Search_Cndition> ]
[ ORDER BY {Column name [ASC + Desc ]} [ . . .n]
Ví dụ 1 :
SELECT *
FROM NhanVien

Ví dụ 2 :
SELECT N.MaNCC, TenNCC, TenHang, DonViTinh,
DonGia
FROM NhaCungCap N, MatHang M
WHERE N.MaNCC=M.MaNCC And (M.MaNCC=2 Or
[M.MaNCC=4);
BÀI 05 QUERY CAO CẤP

I. PARAMETER QUERY
II. CROSSTAB QUERY
III. ACTION QUERY
I. PARAMETER QUERY
Parameter Query là query được nhận thông số nhập từ
bàn phím để định tiêu chuẩn lọc các mẫu tin cho mỗi
lần chạy. nếu thiết kế Query Paramater có yêu cầu trả
lời nhiều tiêu chuẩn cho mỗi lần chạy thì các khung đối
thoại cho từng tiêu chuẩn khai báo lần lượt hiển thị.
Trong hộp thoại “Enter Parameter value” chỉ có
thể nhập 1 tiêu chuẩn và không phải là 1 biểu thức.
Tạo Parameter Query
+ Tạo hay mở Query chế độ DesignView
+ Tại dòng Criteria của field muốn dùng làm tham số :
Nhập chuổI ký tự thông báo trong cặp ngoặc vuông (Thông
báo này sẽ hiện thị trong hộp “Enter Parameter Value” khi
chạy Query. Chuổi ký tự không đươc trùng với tên Field.
Có thể dùng Quey với thông báo yêu cầu đánh vào vài ký
tự đầu tiên của trị muốn tìm
EX: Like [Nhap vao vai ky tu dau tien cua tri muon tim]
&*
Có thể tạo Query parameter vớI nhiều thông số cho mỗI
field hay nhiều thông số cho một Field (Dùng toán tử
Between . . .And . . .)
EX: Between [Nhap ngay bat dau] and [Nhap ngay ket thuc]
Minh họa:

SELECT MaDDH, NgayDH, NgayGiao, MaNV, MaKH


FROM DonDatHang
WHERE (((NgayDH) Between [Tu Ngay] And
[Den Ngay]));
II. CROSSTAB QUERY
Trước khi tìm hiểu cách tạo Crosstab query, chúng ta hãy tìm hiểu
cấu trúc một Crosstab, được minh hoạ bởi hình sau:

Rowheading
Column heading
Value

- Row heading là tiêu đề các dòng, có chứa các giá trị của các trường
nào đó làm tiêu chí thống kê. Mỗi Crosstab phải có tối thiểu 1 trường
làm Row heading;
- Column heading là tiêu đề các cột, có chứa các giá trị của một
trường nào đó làm tiêu chí thống kê. Mỗi Crosstab 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ố). Chỉ có duy nhất một
trường làm Value, tương ứng với nó là một phép tổng hợp hoặc: đếm,
tính tổng, tính trung bình cộng, max, min,..
Các bước để tạo một Crosstab query. Ví dụ tạo query đưa ra được
bảng tổng hợp sau:

Bước 1: Tạo một select query với đầy đủ các trường có liên quan
đến phép tổng hợp (không thừa và cũng không thể thiếu một trường
nào) như sau:
Bước 2: Ra lệnh chọn kiểu Crostab query bằng cách mở thực đơn
Queries | Crosstab Query;
Bước 3: Thiết lập các thuộc tính Total cũng như Crosstab cho các
trường phù hợp như sau:
Tên trường Thuộc tính Total Thuộc tính Crosstab

Tenphongban Group By Row Heading

Tenchucvu Group By Column Heading

canboID Count Value


III. SỬ DỤNG ACTION QUERY
Có 4 loại Action Query
1. Male Table Query

2. Delete Query

3. Append Query

4. Update Query
 Giả sử đã tạo được một Select query đưa ra được
bảng kết quả như sau:

Bài toán đặt ra là: đưa toàn bộ kết quả của query đang hiển thị ra
một bảng mới có tên bangluong
1. Male Table Query
Dùng để tạo Table mới từ dữ liệu của các Table khác nhằm tạo bảng
lưu cho table.
Trình tự thực hiện:
+ Tạo Query mới
+ Chọn các field tương ứng
+ Chọn Menu Query/ Make Table Query
+ Đặt tên Table cho khung Table
+ Khai báo nơi lưu trữ dữ liệu: Database hiện tại hay Database khác
+ Hoàn tất : Ghi lưu Query
+ Khi chạy Make Table Query Access thông báo yêu cầu người
dùng xác nhận việc thực hiện.
2. Delete Query
Dùng để xóa các mẫu tin trong Table.
Trình tự thực hiện:
+ Tạo Query mới
+ Chọn các Table tham gia
+ Chọn Menu Query/ Delete Query
+ Chọn các field cần xóa ( * là chọn tất cả)
+ Xác địng điều kiện xóa ở dòng Criteria
+ Khi chạy Delete Query Access cảnh báo sẽ không thể phục
hồI
+ Khi xóa các mẫu tin bằng delete, chỉ có các mẫu tin bị xóa,
table vẫn còn trống. Muố xóa table phảI thực hiện từ cửa sổ
Database.
3. Append Query
Dùng để nối vào table các mẫu tin lấy từ nhiều table khác.
Trình tự thực hiện:
+ Tạo Query mới
+ Chọn các Table tham gia
+ Chọn Menu Query/ Append Query
+ Khai báo đích lưu CSDL
+ Xác định Table trong khung Table name
+ Khi chạy Append Query Access sẽ thông báo số record sẽ
thêm vào.
4. Update Query
Dùng để cập nhật các mẫu tin trong table.
Trình tự thực hiện:
+ Tạo Query mới
+ Chọn các Table tham gia
+ Chọn Menu Query/ Upadate Query
+ Chọn Field muốn cập nhật
+ Khai báo điều kiện tạI dòng Criteria
+ Khai báo tại dòng Update To biểu thức theo đó Access cập
nhật Field
+ Ghi lưu Update Query
+ Khi chạy Update Query Access sẽ thông báo số record sẽ
điều chỉnh
Bµi tËp:
Thực hiện trên CSDL Quản lý lương cán bộ các yêu cầu:
Bài số 1: Hãy tính và in ra bảng lương của cơ quan bao gồm các thông tin:
Hoten, ngaysinh, tenchucvu, tenphongban, luongchinh,
phucapcv, dangphi, congdoanphi, thuclinh.
Trong đó:
Luongchinh = hesoluong * 290000
Dangphi = 20,000 với những ai là Đảng viên
Congdoanphi = 5%Luongchinh với những ai đã vào công đoàn
Bài số 2: Hãy đưa ra danh sách các cán bộ là Đảng viên mà chưa vào
công
đoàn;
Bài số 3: Hãy lọc ra danh sách cán bộ của một phòng ban nào đó, tên phòng ban
được nhập từ bàn phím khi query được kích hoạt;
Bài số 4: Hãy lọc ra danh sách cán bộ là Đảng viên và có thực lĩnh lớn hơn một
số nào đó- được nhập từ bàn phím khi query được kích hoạt;
Bài số 5: Hãy lọc ra danh sách cán bộ mà năm sinh rơi vào trong một khoảng
năm nào đó được nhập vào từ bàn phím. Ví dụ: khi kích hoạt query, Access yêu
cầu nhập vào khoảng năm sinh từ năm nào, đến năm nào. Khi đó query sẽ lọc ra
danh sách các cán bộ thoả mãn điều kiện đó;
Bài số 6: Lọc ra danh sách cán bộ có tên được nhập vào từ bàn phím khi kích hoạt
query. Ví dụ: khi query kích hoạt sẽ hỏi: Gõ vào tên cần xem? Sau khi gõ vào một
tên (có thể cả họ hoặc cả họ và tên), máy tính sẽ lọc ra danh sách cán bộ thoả mãn
điều kiện;
Bài số 7: Lọc ra danh sách cán bộ đến tuổi nghỉ hưu, biết rằng điều kiện nghỉ
hưu xác định như sau:
- Là Nam giới, tuổi >=60
- Là Nữ giới, tuổi >=55
Bài số 8: Hãy đưa ra bảng tổng hợp số cán bộ đã vào Đảng hay chưa vào Đảng theo
giới tính như sau:

Bài số 9: Hãy đưa ra bảng tổng hợp tổng số cán bộ theo từng loại chức vụ của
các phòng ban như sau:
Bài số 10: Đưa ra bảng tổng hợp về chức vụ theo giới tính như sau:

Bài số 11: Đưa ra bảng tổng hợp lương theo từng phòng ban như sau:

Thực hiện trên CSDL Quản lý bán hàng các yêu cầu:
Bài số 12: Tạo query hiển thị chi tiết thông tin từng hàng bán:
Bài số 13: Tạo query đưa ra bảng tổng hợp tổng tiền bán được từng ngày của cửa
hàng như sau:

Bài số 14: Tạo query đưa ra bảng tổng hợp tổng số bán và tổng tiền đã bán ra của
từng loại mặt hàng như sau:

Bài số 15: Tạo bảng tính tổng tiền từng hoá đơn bán hàng như sau:
Bài số 16: Lập bảng tổng hợp số lượng bán ra từng ngày của từng
mặt hàng như sau:

Bài số 17: Lập bảng tổng hợp số lượng mua từng mặt hàng của
các khách hàng như sau:

You might also like