Tinhoc 12

You might also like

Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
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
PTTK CSDL& MS- CSDL,
ACCESS TABLE,
BÀI 03:(2Tiết) BÀI 04:(4Tiết)
&RELATIONSHIP
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 MAIN FORM –
VIEW 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.
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 CSDL BP Kho


doanh

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
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ùccaùc thöïc theå coù theå coù moái
Giöõa
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
Ví duï:
theå Moät
kia. 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í
Ví duï:
hieäu laø (n, n).
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 moâ
Theo Heä: hình naøy thì caùc döõ lieäu,
thoâng tin veà 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
Ví duï:
ñöôïc bieåu dieãn döôùi daïng baûng
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ùc
h: NamX NhaX SoLuo
MaSac TenSach TacGia
B Söï B ng
h Lenin toaøn V. I.
CT003 1980 tha 12
taäp Lenin
ä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
Ñeå môùi :
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
2. Mở Một Tập Tin CSDL
Đaõ
ÑeåCoù
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
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
Ký hiệu dùng trongInputMask
InputMask
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
uery 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 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
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.
2. CrossTab Query (Tham khảo chéo).
Ngoài ra còn có thể cho phép tính toán, lược và kết nhóm.
Dùng để tổng hợp dữ liệu theo chủng loại (Tổng số,
s.lượng,
3. Actiontb)Loại
Querynày hữuđộng)
(Hành hiệu trong việc phân tích dữ liệu.

Dùng để tạo mới hay thực hiện thay đổi cho Table tuỳ
theo công dụng
4. Paremeter bao(Tham
Query gồm : Delete
số) Query, Update
Query,
Tạo một Append
Query màQuery, Make
khi khởi table
động cầnQuey
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

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

ùng Query Design:

gười dùng tự thiết kế thông qua cửa sổ Design View.

ác bước khái quát:

Khởi động Design View

Chọn các Table, Quey liên quan Minh Họa


IV. Các hình thức hiển thị Query

ử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

ở 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.

ay 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.
hêm hay bỏ bớt các Table tham gia vào Select Query.

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


các Table cần đưa vào

Khai báo tiêu


ớt : Chọn chuẩn
Table nhấn vấn tin(hay
Delete (Criterial)
Menu Query\Remove Table)
để xóa
>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
Var Filed
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
Chỉ định tiêu chuẩn của một field
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