Khi một bộ field được chọn làm khoá chính của bảng thì Access sẽ tự động kiểm tra để giá trị của bộ field trên các dòng khác nhau sao cho mỗi dòng phải có bộ giá trị của field khác với g
Trang 1Bài 2
Tạo lập Cơ sở dữ liệu
Nội dung
Thiết kế bảng dữ liệu 3
Thiết lập mối quan hệ giữa các bảng 8
Một số thao tác trên bảng 10
Trang 2Giới thiệu
Lý thuyết
3 Tiết
- Khái niệm về bảng dữ liệu, các thành phần trong bảng
- Nêu các bước tạo lập bảng, cách tạo các mối quan hệ giữa các bảng
- Cách nhập liệu đúng và cách xử lý lỗi trong quá trình nhập dữ liệu vào bảng
Thực hành
4 Tiết
- Tạo các bảng dữ liệu
- Tạo quan hệ cho các bảng dữ liệu
- Nhập dữ liệu vào bảng
Trang 3Thiết kế bảng dữ liệu
Nội dung
Phần này trình bày các thành
phần trong bảng, các bước để
thiết kế bảng dữ liệu và nêu rõ
các đặc trưng của bảng dữ
liệu
Các thành phần của bảng dữ liệu
Các bước tạo bảng dữ liệu
Các đặc trưng của cột
Để tạo các bảng lưu trữ dữ liệu, trước tiên chúng ta phải thiết kế cấu trúc của bảng Muốn thế, cần
nắm những khái niệm về các thành phần trong bảng dữ liệu
Các thành phần của một bảng dữ liệu
Bảng (Table) là thành phần cơ sở dùng để lưu trữ thông tin trong tập tin cơ sở dữ liệu Access Bảng,
là đối tượng được tạo ra trước tiên trong 1 CSDL, gồm có nhiều dòng và cột Dưới đây là các thành
phần chính của bảng
Cột (field)
Cấu trúc của bảng được xây dựng dựa trên các cột, mỗi bảng phải có ít nhất là 1 cột Mỗi cột phải
có một kiểu dữ liệu Kiểu dữ liệu của một cột sẽ quy định những giá trị nào sẽ được lưu trong cột
này Ví dụ một cột có kiểu dữ liệu chuỗi sẽ không thể lưu trữ dữ liệu số hay ngày tháng và ngược
lại
Dòng (row)
Bảng sẽ lưu trữ dữ liệu theo từng dòng, mỗi dòng sẽ chứa giá trị của tất cả các field có trong bảng
Khoá chính (Primary Key) của bảng
Là một cột hay một nhóm các cột trong bảng mà khi có được giá trị của các cột đó thì ta chỉ xác
định được duy nhất một dòng trong bảng có giá trị của các cột khoá chính trùng khớp với giá trị đã
cho Khi một (bộ) field được chọn làm khoá chính của bảng thì Access sẽ tự động kiểm tra để giá trị
của (bộ) field trên các dòng khác nhau sao cho mỗi dòng phải có (bộ) giá trị của field khác với giá
trị của những dòng còn lại
Trang 4Ví dụ
Khoá
chính trong bảng KETQUA gồm 2 field MaHS và MaMon, dữ liệu trên 2 field này
là duy nhất, không trùng lắp và không được rỗng
MaHS MaMon DiemThi
A01 TH01 8.5 A01 SV01 7.5 A01 TH01 9.5
Đặc trưng của cột
Một field bao gồm nhiều thuộc tính để qui định cách thức lưu trữ, hình thức thể hiện dữ liệu của
field cũng như kiểm tra điều kiện ràng buộc về miền giá trị của dữ liệu, phát hiện những sai sót khi
nhập liệu và thông báo lỗi đến người dùng… Dưới đây là một số thuộc tính thường dùng
Tên field (Field Name )
Tên field tối đa 255 ký tự Không nên có dấu khoảng trắng và không nên bỏ dấu tiếng Việt (cho dù
Access cho phép cả 2 trường hợp này)
Kiểu dữ liệu (Data Type)
(Các kiểu dữ liệu in nghiêng cần trình bày kỹ cho học viên)
Kiểu dữ liệu Ý nghĩa lưu trữ
Text Kiểu chuỗi có độ dài tối đa 255 ký tự
Memo Kiểu chuỗi có độ dài tối đa 65,535 ký tự
Date/Time Kiểu ngày giờ
Currency Kiểu số có định dạng theo loại tiền tệ
lý, người sử dụng không thể cập nhật
OLE Object Kiểu đối tượng kết nhúng: Word, Excel, v.v…
Hyperlink Kiểu chuỗi chỉ đường của 1 địa chỉ file hoặc trang Web
Lookup Wizard Tạo 1 field để chọn giá trị và tìm kiếm từ 1 bảng khác
Độ rộng field (Field Size)
Độ rộng tối đa của dữ liệu được chứa trong field Kiểu Text có giá trị mặc định là 50 Với kiểu số sẽ
có các giá trị tương ứng với từng loại số nguyên, số thực, tiền tệ
Vị trí số thập phân (Decimal Places)
Vị trí số thập phân trong field có kiểu dữ liệu là số thực
Tiêu đề field (Caption)
Tiêu đề field thể hiện khi mở bảng ở chế độ cập nhật dữ liệu Ta có thể ghi vào một chuỗi tiếng
Việt có dấu nếu muốn hiển thị field có tiêu đề tiếng Việt Nếu để trống Caption, MS Access sẽ lấy
tên field làm tiêu đề
Khóa chính
Khóa chính
Lỗi trùng Khóa chính
Trang 5Giá trị mặc định (Default Value)
Giá trị mặc nhiên ban đầu của field khi thêm 1 dòng dữ liệu mới Nếu field có kiểu dữ liệu là số thì
giá trị mặc định ban đầu là 0, nếu là ngày thì thông thường sử dụng ngày hiện hành của hệ thống
(sử dụng hàm Date() để trả về ngày hiện hành ), ví dụ như ngày của hoá đơn, ngày thu tiền…
Qui tắc kiểm tra hợp lệ (Validation Rule)
Là qui tắc kiểm tra dữ liệu hợp lệ khi nhập dữ liệu vào bảng Ví dụ kiểm tra việc nhập điểm hợp lệ
cho học sinh, qui định điểm chỉ được nhập trong khoảng từ 0Ỉ10, ta có Validation Rule cho field
Diem như sau : >=0 and <=10
Chú ý: Các mục dưới đây chỉ trình bày sơ lược cho học viên hiểu ý nghĩa
Mô tả field (Description)
Được dùng để ghi chú ý nghĩa, mô tả của field gồm nhiều ký tự hoặc ký số Các ghi chú này sẽ
được hiển thị trên thanh trạng thái bên dưới màn hình khi ta mở bảng ở chế độ cập nhật dữ liệu
(Datasheet View)
Thông báo lỗi (Validation Text )
Là chuỗi thông báo lỗi sẽ xuất hiện nếu nhập dữ liệu vào bảng không đúng so với qui tắc đã định ra
trong phần Validation Rule ở trên Theo ví dụ trên, chúng ta đã đưa ra qui tắc hợp lệ cho field điểm,
như vậy nếu người dùng nhập điểm không hợp lệ, cần thông báo lỗi đến cho người dùng Trong
trường hợp này, chúng ta nhập vào Validation Text của field Diem như sau : Điểm phải được nhập
từ 0 đến 10
Yêu cầu (Required)
Thuộc tính mang giá trị Yes/No Nếu chọn Yes, người dùng buộc phải nhập dữ liệu cho cột, ngược
lại có thể để trống Nếu field có thuộc tính Required là Yes nhưng không nhập liệu cho cột, sẽ xuất
hiện thông báo lỗi khi qua dòng khác
Chỉ mục (Index)
Có đồng ý sắp xếp (tạo chỉ mục) dữ liệu trên field không Mục đích tạo chỉ mục để giúp MS Access
truy tìm nhanh hơn Nếu việc sắp xếp chấp nhận trùng lắp dữ liệu trên cột, chọn Yes (Duplicate
OK), ngược lại nếu không chấp nhận trùng lắp dữ liệu, chọn Yes(No Duplicates) Khi khoá của bảng
là một cột, mặc nhiên field sẽ có sắp xếp với trị Yes(No Duplicates), ngược lại nếu khoá của bảng
nhiều hơn một cột, các field đó sẽ sắp xếp với trị Yes(Duplicates OK)
Định dạng (Format)
Được dùng để định dạng các thể hiện của dữ liệu trên màn hình hoặc ra máy in Nên định dạng cho
các field có kiểu dữ liệu là kiểu số, ngày, chuỗi Ta có một số các kiểu định dạng chính như sau:
Định dạng Để thể hiện Thí dụ hiển thị
Date/Time
General Date Ngày giờ đầy đủ 12/30/02, 11:15:00 PM
Long Date Thứ, tháng , ngày, năm Monday,December 30,2002
Medium Date Ngày-tháng-năm 3-Apr-02
Short Date Ngày-tháng-năm 4/3/02
Long Time Giờ:phút:giây AM/PM 5:40:30 AM
Medium Time Giờ:phút AM/PM 5:40 AM
Short Time Giờ:phút 5:40
Number
General Num Đúng số đã nhập vào
Trang 6Currency Có phân cách ngàn, số lẻ và chèn thêm $ $ 1,456.78
Standard Có phân cách phần ngàn, số lẻ 1,234.56
Percent Dữ liệu nhập được nhân 100 và định dạng
thêm ký tự % 20%
Text
> Làm thay đổi dữ liệu thành chữ IN
< Làm thay đổi dữ liệu thành chữ thường
@ Dữ liệu bắt buộc nhập
& Dữ liệu không bắt buộc nhập
Mặt nạ nhập liệu (Input Mask)
Mặt nạ định dạng dữ liệu nhập dùng để giúp người sử dụng nhập liệu vào bảng phải tuân thủ theo
đúng định dạng đó Ví dụ: khi nhập điểm cho học sinh thì chỉ được nhập số chứ không được nhập
chuỗi ký tự
Ký tự Ý nghĩa cho phép nhập
0 0 -> 9, không cho nhập dấu
9 0 -> 9, khoảng trắng, không cho nhập dấu
# 0 -> 9, khoảng trắng, cho nhập dấu
L A->Z, bắt buộc nhập
? A->Z, không bắt buộc nhập
A A->Z; 0->9, bắt buộc nhập
a A->Z; 0->9, không bắt buộc nhập
& Ký tự bất kỳ, bắt buộc nhập
C Ký tự bất kỳ, không bắt buộc nhập
, : : - / Các dấu phân cách
< Chuyển đổi dữ liệu chuỗi sang chữ thường
> Chuyển đổi dữ liệu chuỗi sang chữ IN
Các bước tạo bảng dữ liệu
Tạo bảng là định nghĩa các cột mà bảng đó
sẽ có Mỗi cột trong bảng được định nghĩa
các thông tin bao gồm: tên cột, kiểu dữ liệu
của cột, kích thước dữ liệu có thể lưu trữ
Các bước thực hiện như sau :
Vào thực đơn Insert chọn Table
Hoặc trên cửa sổ Database chọn đối
tượng Tables, chọn chức năng New
Khi đó xuất hiện cửa sổ New Table
Chọn dòng Design View từ cửa sổ
New Table Sau đó chọn OK để mở
cửa sổ thiết kế như hình bên
Trên cửa sổ thiết kế, thiết lập các
đặc trưng cho các field như : Field
Name, Data Type, Field Size,……
Tạo khoá chính của bảng bằng cách :
Trang 7− Chọn một hay nhiều field cần tạo khoá
− Chọn thực đơn Edit Ỉ Primary Key hoặc nhấn nút trên thanh công cụ
Lưu bảng vừa tạo
− Vào thực đơn FileỈ Save
− Gõ vào tên Table cần lưu
Trang 8Thiết lập mối quan hệ giữa các bảng
Nội dung
Trình bày các loại quan hệ
giữa 2 bảng trong Access và
cách tạo lập các mối quan hệ
giữa các bảng dữ liệu
Các loại quan hệ giữa 2 bảng trong MS Access
Các bước tạo quan hệ giữa các bảng
Cơ sở dữ liệu Access được xây dựng trên mô hình dữ liệu quan hệ, trong đó một bảng có quan hệ
với một hay nhiều bảng khác Phần nội dung dưới đây sẽ trình bày về ý nghĩa và cách tạo quan hệ
giữa các bảng trong Access
Các loại quan hệ thông thường
Microsoft Access cung cấp hai loại quan hệ cơ bản như sau:
Quan hệ Một-Một (One-to-One )
Trong mối quan hệ một - một thì các dòng dữ liệu có trong 2 bảng quan hệ phải tương ứng với
nhau
Ví dụ Ta có hai bảng Lý lịch Nhân Viên và Nhân viên và mối quan hệ giữa hai bảng này
là “Một nhân viên chỉ có một bộ lý lịch và ngược lại một bộ lý lịch chỉ thuộc chỉ
chủ nhiệm một lớp học trong một năm học Ký hiệu:
Quan hệ Một-Nhiều (One-to-Many )
Đối với loại quan hệ này, một dòng dữ liệu ở bảng bên một sẽ có tương ứng nhiều dòng dữ liệu ở
bảng bên nhiều
Ví dụ Ta có hai bảng KHOA và SINHVIEN và mối quan hệ giữa hai bảng này là “Trong
một khoa thì có nhiều sinh viên theo học “ hoặc có thể nói “Có nhiều sinh viên học trong cùng một khoa” Ký hiệu:
Ghi chú Mối quan hệ nhiều – nhiều không cần trình bày Với phạm vi kiến thức của Access cơ
bản, học viên không đủ khả năng để thiết kế CSDL Giáo viên phải đảm nhận việc này và giải
thích ý nghĩa của các quan hệ giữa các bảng trong các trường hợp cụ thể
Các bước tạo quan hệ cho các bảng
Để thiết lập quan hệ giữa các bảng, cần thực hiện qua các bước sau:
Lý lịch Nhân Viên Nhân viên
1 1
SINH VIÊN ∞ 1 KHOA
Trang 9 Chọn thực đơn Tools Ỉ Relationships để mở cửa sổ thiết lập quan hệ cho các bảng Trong
cửa sổ này chỉ tồn tại duy nhất một quan hệ giữa các bảng
Chọn các bảng muốn tạo quan hệ trong hộp thoại Show Table, nhấn nút Add để chèn các
bảng vào cửa sổ quan hệ
Dùng thao tác kéo – thả field của bảng để thiết lập quan hệ cho các bảng: dùng chuột chọn
field có quan hệ của bảng thứ nhất, sau đó kéo thả vào field có quan hệ ở bảng thứ hai
Trong cửa sổ thiết lập quan hệ vừa xuất hiện, để tạo được mối quan hệ một – nhiều, ta cần
chọn (check) vào mục Enforce Referential Integrity Khi này ta có thể thiết lập 2 tính chất
kiểm tra ràng buộc quan hệ trên bảng thông qua 2 mục bên dưới
- Cascade Update Related Fields: Nếu được chọn thì giá trị của field liên kết ở bảng
nhiều sẽ tự động thay đổi tương ứng với sự thay đổi giá trị của field liên kết ở bảng một
Ngược lại, khi không chọn mục này, ta sẽ không thay đổi được giá trị của field liên kết
trong bảng một nếu giá trị của field đó tồn tại trên bảng nhiều
Ví dụ Trong mối quan hệ giữa hai bảng KHOA và SINH VIÊN Khi ràng buộc
này được chọn, nếu ta sửa đổi mã khoa ‘AV’ trong bảng KHOA thành
‘EN’ thì tất cả những sinh viên trong bảng SINH VIÊN có mã khoa là
‘AV’ trước đây sẽ tự động đổi thành ‘EN’ Trường hợp không chọn ràng buộc này, Access sẽ thông báo lỗi
- Cascade Delete Related Records: Nếu được chọn thì khi xoá một mẫu tin bên bảng một
thì tất cả những mẫu tin bên bảng nhiều có giá trị của field liên kết giống với giá trị của
field liên kết bên bảng một sẽ tự động được xoá Ngược lại, nếu không chọn vào mục
này thì ta sẽ không huỷ được mẫu tin bên bảng một nếu giá trị của field liên kết đã tồn
tại bên bảng nhiều
Ví dụ Ta có mối quan hệ giữa bảng HOÁ ĐƠN và CHI TIẾT HOÁ ĐƠN là mối
quan hệ một – nhiều (một hoá đơn thì có nhiều dòng chi tiết mô tả các loại hàng mua hoặc bán trong một hoá đơn), trong mối quan hệ này nếu chúng ta chọn qui tắc ràng buộc tự động xoá các mẩu tin quan hệ, khi xoá một dòng hoá đơn trong bảng HOÁ ĐƠN tất cả thông tin chi tiết của hoá đơn này trong bảng CHI TIẾT HOÁ ĐƠN cũng được tự động xoá đi
Ngược lại nếu không chọn qui tắc ràng buộc này, Access buộc tất cả các chi tiết của hoá đơn này phải được xoá trước
Trang 10Trường hợp giữa hai bảng quan hệ với nhau qua nhiều field
Ví dụ Ta có hai bảng HOADON và CTHD (Chi tiết hoá đơn) như sau:
Khi giữa hai bảng có quan hệ với nhau qua nhiều field thì thao tác tạo quan hệ cũng tương tự như
những trường hợp đã nêu trên, nhưng thay vì ta chọn một field bên bảng Một thì ta chọn cùng lúc
nhiều field bên bảng Một, và rê thả sang bảng Nhiều Khi đó, hộp thoại Edit Relationships có dạng
như sau:
Ghi chú Khi thiết kế cơ sở dữ liệu ta nên thực hiện theo trình tự sau: tạo các cấu trúc bảng, sau đó
tạo quan hệ giữa các bảng và cuối cùng là nhập dữ liệu cho bảng
Ví dụ: Mối quan hệ 1 – N
MaKhoa TenKhoa MaSV MaKhoa TenSV …
TH Tin Học SV001 TH Lê Văn Minh
VL Vật Lý SV002 VL Trần Duy Thái Bảo
DT Điện Tử SV003 VL Nguyễn Hoàng Doanh
SV004 DT Mai Thanh Hương
SV005 TH Đinh Văn Phước
SV006 DT Võ Hoài Phương
Trang 11Một số thao tác trên bảng
Nội dung
Trình bày một số thao tác trên
bảng khi thiết kế và trong lúc
nhập dữ liệu trên bảng
Dẫn nhập
Khi thiết kế hay nhập dữ liệu
trên bảng, có một số thao tác
thường gặp như: thêm, xoá
các dòng hoặc cột, các thao
tác di chuyển, chọn lựa……
Sửa đổi cấu trúc bảng
Thay đổi cách trình bày trong cửa sổ cập nhật dữ liệu
Sắp xếp dữ liệu trên bảng
Tìm kiếm dữ liệu
Lọc dữ liệu
Sửa đổi cấu trúc bảng
Trong trường hợp phát hiện cấu trúc bảng bị sai hoặc muốn thêm hoặc xoá đi một số field trong
bảng, ta có thể thực hiện các thao tác chỉnh sửa trong chế độ thiết kế của bảng Sau đây là các thao
tác thường được thực hiện trong lúc thiết kế bảng, và những sửa chỉ được cập nhật khi ta chọn chức
năng lưu cấu trúc bảng
Chọn một hoặc nhiều field
Chọn một hay nhiều field là thao tác thường gặp khi ta cần tác động cùng lúc lên nhiều field, chẳng
hạn như muốn xoá cùng lúc nhiều field, hay cần tạo khoá chính có nhiều field… , thao tác chọn
này được thực hiện như sau:
Đưa chuột về bên trái của field cần chọn, biểu tượng của chuột sẽ chuyển thành dạng ,
click chuột để chọn field Khi này trên dòng của field chọn sẽ được tô màu đen
Muốn chọn thêm field khác thì nhấn giữ phím Ctrl (dùng để chọn những field rời nhau) hay
Shift (dùng để chọn những field liên tục), lặp lại thao tác chọn một field trên các field cần
còn
Chèn thêm một field vào trong bảng
Ta có thể thêm vào bảng các field mới Những field này có thể được thêm vào cuối hay được chèn
vào giữa những field đã có
Để chèn một field vào giữa những field đã có ta thực hiện như sau:
Đặt con trỏ tại field cần chèn
Chọn chức năng Insert Ỉ Rows từ thanh thực đơn Field mới sẽ nằm tại vị trí của con trỏ và
đẩy field cũ xuống dòng dưới
Xoá một hoặc nhiều field
Phải cẩn thận khi ta thực hiện thao tác này vì tất cả dữ liệu trên các field mà chúng ta xoá sẽ bị mất
ngay sau khi chọn chức năng lưu cấu trúc bảng
Thực hiện xoá như sau:
Chọn các field muốn xoá
Nhấn phím Delete hay chọn chức năng Edit Ỉ Delete
Phục hồi thao tác xoá field