Chương 0: Giới thiệu Cơ sở dữ liệu CSDL, database là một bộ sưu tập các dữ liệu tác nghiệp được lưu trữ lại và được các hệ ứng dụng của một xí nghiệp cụ thể nào đó sử dụng.. Tạo bảng sử
Trang 1Chương 0: Giới thiệu
Cơ sở dữ liệu (CSDL, database) là một bộ sưu tập các dữ liệu tác nghiệp được lưu trữ lại
và được các hệ ứng dụng của một xí nghiệp cụ thể nào đó sử dụng
Hệ quản trị cơ sở dữ liệu (HQTCSDL, Database Management System-DBMS) là hệ
thống phần mềm cho phép:
• Định nghĩa, tạo lập: xác định kiểu, cấu trúc, ràng buộc dữ liệu, lưu trữ dữ liệu
trên các thiết bị nhớ
• Thao tác: truy vấn, cập nhật, kết xuất, các CSDL cho các ứng dụng khác nhau
Ví dụ: HQTCSDL MS SQL Server, MS Access, DB2, PostGreSQL, MySQL, Oracle,
FoxPro, Foxbase,
Hệ cơ sở dữ liệu (HCSDL, Database System) là một hệ thống gồm 4 thành phần:
• Hệ quản trị cơ sở dữ liệu
• Phần cứng
• CSDL và phần mềm ứng dụng
• Những người sử dụng
Ví dụ: hệ quản lý đào tạo, hệ quản lý nhân sự, hệ quản lý kinh doanh,
Các tính năng của hệ quản trị CSDL:
• Quản lý dữ liệu tồn tại lâu dài
• Truy xuất dữ liệu một cách hiệu quả
• Hỗ trợ ít nhất một mô hình dữ liệu
• Đảm bảo tính độc lập dữ liệu
• Hỗ trợ các ngôn ngữ cấp cao nhất định cho phép người sử dụng định nghĩa cấu trúc của dữ liệu, truy nhập và thao tác dữ liệu
• Điều khiển truy nhập
• Sao lưu và phục hồi dữ liệu
Trang 2Chương 1: Tạo bảng dữ liệu đơn giản
1.1 Khởi động Access và tạo mới một CSDL
Access nằm trong bộ MS Office của Microsoft Ta khởi động bằng cách chọn Start / Programs / Microsoft Office / Microsoft Access 2003 Để thuận tiện cho các lần sử dụng sau, ta cũng có thể tạo Shortcut cho Access và để nó trên màn hình nền Windows
Trang 3Ta đặt tên CSDL là tck45.mdb và định vị cho nó được đặt tại thư mục mong muốn D:\TailieuGiangday\CSDL\HeQTCSDLAccess (cái này tùy bạn!)
Các bạn lưu ý, phần mở rộng của Access là mdb (phiên bản 2007 về sau có khác đôi chút)
Cửa sổ sau xuất hiện:
Trang 41.3 Tạo bảng sử dụng đồ thuật (Table Wizard)
Đồ thuật là một trình công cụ hướng dẫn bạn đi qua tất cả các bước cần thiết trong quy trình tạo một thành phần chuẩn của Access như bảng, bộ hỏi, biểu mẫu, báo cáo, trang truy cập dữ liệu Nó là một cách tiếp cận hữu ích cho những người mới làm quen với Access
Làm theo các bước sau:
Bước 1: Trong cửa sổ tck45: Database, với tab Tables bên trái đang được kích hoạt, nhấn
vào phím New Access sẽ mở ra hộp thoại New Table cho phép xác định cách tạo bảng
Trang 5Có hai mục không được giới thiệu ở đây, đó là: Import Table (nhập khẩu một bảng đã được tạo ra trong trình ứng dụng khác) và Link Table (tạo một bảng được kết nối với một bảng khác trong tập tin khác)
Bước 2: Nhấn chọn mục Table Wizard, sau đó nhấn OK Hộp thoại Table Wizard xuất
hiện:
Trang 6Bước 3: Chọn Sample Tables là Students, sau đó lần lượt chọn các mục trong danh sách Sample Fields và chuyển nó vào Fields in my new table:
Nếu muốn đổi tên cột, ta chọn mục tương ứng rồi nhấn vào nút Rename Field
Bước 4: Sau đó nhấn Next Hộp thoại sau xuất hiện:
Trang 7Bước 5: Nếu muốn bạn có thể đổi tên bảng Ở đây tôi để nguyên là Students
Bước 6: Nhấn Next chuyển sang hộp thoại tiếp theo
Bước 7: Nhấn Finish để hoàn tất quá trình tạo bảng sử dụng đồ thuật
Trang 8Tới đây, chúng ta có thể nhập dữ liệu trực tiếp vào bảng nếu muốn Tạm thời chúng ta chưa nhập gì cả
Chúng ta sẽ xem bảng Students trong chế độ Design:
Chọn bảng Students và nhấn nút Design, cửa sổ sau xuất hiện:
Trang 9Bước 8: Nhập dữ liệu vào bảng
1.4 Các thao tác hiệu chỉnh hàng, cột và dữ liệu trong bảng
• Sử dụng thanh trượt để dịch chuyển:
Trang 10• Di chuyển đến các khoản tin (record, dòng)
• Thêm khoản tin mới
Trang 11Nhấn vào đây để tạo khoản tin mới
• Sao chép dữ liệu kề bên trên: nhấn CTRL + ' hoặc sử dụng kỹ thuật Copy-Paste
• Xóa khoản tin:
Nhấn vào đây để xóa khoản tin
Nhấn Record Selector để chọn toàn bộ khoản tin
Nhấn Yes để xóa thực sự
Trang 12• Thay đổi ngoại hình của bảng: độ lớn cửa sổ, cột, hàng
• Gắn chặt một (hoặc nhiều) trường vào một vị trí nhất định: Chọn cột, kích chuột phải, nhấn Freeze Columns hoặc chọn cột, chọn Format, Freeze Columns Nếu muốn bỏ tính chất này, ta chỉ việc chọn Unfreeze All Columns Sau đó, nếu cần,
có thể dùng kỹ thuật kéo thả các cột về vị trí mong muốn
• Che dấu và hiện lại cột: Format/Hide Columns và Format/Unhide Columns
• Sắp xếp các khoản tin: Chọn cột, nhấn Sort Ascending hoặc Sort Descending
• Các chức năng trong Tools/ Options
• Thay đổi skin cho bảng: Format/Datasheet
• Thay đổi font chữ: Format/Font
• In bảng: Print Preview và Print, File/Page Setup
1.5 Sử dụng trợ giúp trong Access
Nhấn F1 hoặc chọn trên menu Help
Trang 13Chương 2: Bảng và biểu mẫu 2.1 Các kiểu dữ liệu
Nhấn nút để chuyển đổi giữa chế độ thiết kế và xem bảng dữ liệu
Trong chế độ thiết kế:
Trang 14Các kiểu dữ liệu:
Kiểu dữ liệu Mô tả
Text Dạng dữ liệu phổ biến nhất Có thể chứa chữ cái, chữ số và các kí tự như
&, %, =, ? Có thể dài tới 255 kí tự
Memo Tương tự như Text nhưng có thể chứa tới 65535 kí tự Thường dùng để
cung cấp các chú giải Trường Memo không thể là một trường khóa, không thể lập chỉ mục
Number Giá trị số Có thể có những kích cỡ như sau:
Byte: số nguyên từ 0 đến 255 Integer: số nguyên từ -32768 đến 32767 Long Integer: số nguyên trong khoảng -2,147,483,648 đến
Replication ID: Số nhận dạng duy nhất toàn cục
Date/Time Ngày và giờ được lưu trữ theo một dạng thức cố định đặc biệt, giá trị
trong khoảng từ ngày 1.1.100 đến 31.12.9999 Có nhiều định dạng
Currency Một dạng số, có thể có tới 15 chữ số bên trái và 4 chữ số nằm bên phải
dấu thập phân
AutoNumber Giá trị số mà Access tự động điền cho từng khoản tin mới bỏ sung vào
bảng Có thể là số tuần tự hoặc ngẫu nhiên, có độ dài là Long Integer hoặc Replication ID Có thể sử dụng làm khóa chính Không thể cập nhật
Trang 15Yes/No Đúng/sai, có/không, bật/tắt
OLE Object Có thể chứa đối tượng đồ họa hoặc các đối tượng khác (bảng tính, tập tin
âm thanh, video) được tạo bởi trình ứng dụng windows có hỗ trợ OLE Đối tượng có thể được nhúng vào trường hay được kết nối (link) với trường
Hyperlink Có thể là đường dẫn đến một tập tin trong ổ cứng hay trên máy chủ của
mạng hay một địa chỉ URL dẫn đến một đối tượng trên mạng Access sẽ chuyển đến đối tượng đó khi nhấn vào link
Lookup
Wizard
Không phải một dạng dữ liệu Đồ thuật được sử dụng để tạo một trường cho phép tra cứu các giá trị trong một bảng hay chọn giá trị từ một danh sách
2.2 Sử dụng các thuộc tính trường
• Độ lớn của trường (Field Size): dùng cho văn bản và số
o Đối với kiểu văn bản: đây chính là số kí tự tối đa có thể nhập vào Nếu nhập quá, Access sẽ xén phần còn lại
o Đối với kiểu số: kích thước được xác định qua định dạng Format Nếu nhập vào ba số 0 thì sẽ ra lệnh cho Access tự điền chữ số 0 vào bên trái khi không đủ 3 chữ số
• Xác định mặt nạ nhập liệu (Input Mask): Kiểm soát quá trình hiển thị dữ liệu Đây
là một mẫu kí tự xác định cách thể hiện dữ liệu trên màn hình và loại dữ liệu được nhập vào Danh sách một số kí tự giữ chỗ thường được sử dụng trong hộp văn bản Input Mask:
0 chữ số từ 0 đến 9, bắt buộc nhập, không cho phép dấu cộng + và trừ -
9 chữ số hay dấu cách, không bắt buộc nhập, không cho phép dấu cộng + và trừ -
# chữ số hay dấu cách, không bắt buộc nhập, vị trí trống được chuyển thành dấu cách, cho phép dấu cộng + và trừ -
L chữ cái từ A đến Z, bắt buộc nhập
? chữ cái từ A đến Z, không bắt buộc nhập
A chữ cái hay chữ số, bắt buộc nhập
a chữ cái hay chữ số, không bắt buộc nhập
& kí tự hoặc dấu cách, bắt buộc nhập
C kí tự hoặc dấu cách, không bắt buộc nhập
< chuyển tất cả các chữ cái đứng sau nó thành dạng chữ thường
> chuyển tất cả các chữ cái đứng sau nó thành dạng chữ hoa
\ bổ sung kí tự đứng liền sau nó vào mục dữ liệu
! căn phải cả mục dữ liệu
Chúng ta sử dụng các kí tự trên để sửa mặt nạ nhập liệu cho phù hợp với cách ghi số điện thoại hiện thời ở Việt Nam:
Phần 3 chữ số đầu là dành cho các tổng đài di động, ví dụ (090) 1234 567 hoặc (091)
1234 567
Trang 16Phần 7 chữ số sau của máy di động hoặc toàn bộ số của máy cố định được phân thành 2 nhóm, cách nhau bởi dấu cách, ví dụ: ( ) 821 4351 hoặc ( ) 896 6027
Ta làm như sau:
Trong chế độ thiết kế, nhấn chuột chọn dòng PhoneNumber Tìm đến dòng Input Mask, nhập vào như sau: !\(999")"000\ 0000
Quan sát dữ liệu trong bảng, ta thấy có thay đổi cách thể hiện:
• Bổ sung tựa đề (Caption): khi sử dụng thuộc tính Caption, bạn có thể dùng một đoạn văn bản khác để thay thế cho tên trường khi hiển thị bảng Ví dụ: sửa tựa đề cho StudentsID thành "Mã sinh viên":
Trang 17Chuyển sang chế độ View để xem kết quả:
• Ấn định giá trị ngầm định: Thuộc tính Default Value cho phép bạn xác định một giá trị trường mà Access sẽ tự động nhập vào bảng Ví dụ, đa số sinh viên ở Hà Nội, nên ta có thể ngầm định trường StateOrProvince là "Hà Nội"
Trang 18• Bắt buộc nhập liệu: Thuộc tính Required chuyển thành Yes
• Thuộc tính tạo chỉ mục Indexed: giúp tìm kiếm và sắp xếp dựa trên trường này nhanh hơn
• Thuộc tính Validation Rule: quy tắc hợp lệ
• Thuộc tính Validation Text: văn bản hợp lệ (gợi nhắc)
• Thuộc tính Unicode Compression: giảm lượng bộ nhớ cần thiết để lưu trữ cơ sở
dữ liệu
2.3 Tạo bảng không sử dụng đồ thuật
Xóa bảng Students đi, không dùng đồ thuật, tạo lại bảng với các trường sau:
• StudentID: mã sinh viên, khóa chính
• StudentName: tên sinh viên
• StudentBirth: ngày tháng năm sinh của sinh viên
• StudentAddress: địa chỉ nơi ở của sinh viên
• StudentPhone: số điện thoại liên hệ, theo quy cách !\(999")"000\ 0000
• ClassID: mã lớp, là khóa ngoài
Hãy tạo bảng Lecturers, Class, Subjects, Learn:
Bảng Lecturers gồm các trường sau:
• LecturerID: mã giảng viên, là khóa chính
• LecturerName: tên giảng viên
• LecturerPhone: điện thoại theo quy cách !\(999")"000\ 0000
• Faculty: khoa, gồm có: Công nghệ thông tin, điện tử viễn thông, hóa học, cơ khí, kinh tế quản lý, ngoại ngữ, tại chức
Bảng Class gồm có các trường sau:
Trang 19• ClassID: mã lớp, là khóa chính
• ClassName: tên lớp
• Monitor: trưởng lớp
Bảng Subjects gồm có các trường sau:
• SubjectID: mã môn học, là khóa chính
• SubjectName: tên môn học
Bảng Learn gồm:
• LecturerID: mã giảng viên
• ClassID: mã lớp
• SubjectID: mã môn học
• Time: thời gian biểu học
Xem mối quan hệ giữa các bảng:
2.4 Sử dụng form (biểu mẫu) để nhập và xem dữ liệu
2.4.1 Tạo một form tự động
Trang 20Trong tab Tables, chọn bảng cần tạo form tự động, sau đó nhấn chọn Autoform Kết quả,
ta sẽ được một form như sau:
Trang 21Lần lượt tạo các form theo cách trên
2.4.2 Sử dụng đồ thuật biểu mẫu
Chọn tab Forms, chọn Create form by using Wizard, nhấn New Đồ thuật xuất hiện:
Nhấn OK, hộp thoại tiếp theo xuất hiện:
Trang 22Chọn bảng Class và đưa tất cả các trường trong mục "Available Fields" sang mục
"Selected Fields"
Nhấn Next, hộp thoại sau xuất hiện:
Trang 23Lần lượt check vào các radio button để xem giao diện của form khi hình thành sẽ như thế nào
Nhấn Next, hộp thoại sau sẽ xuất hiện:
Lần lượt chọn các mục để xem skin của form
Nhấn Next, hộp thoại cuối cùng để hoàn tất:
Trang 24Nhấn Finish để hoàn thành công việc tạo form sử dụng đồ thuật
Form của chúng ta có hình thù như sau:
2.4.3 Hiệu chỉnh giao diện của các form tự động vừa tạo
Chuyển sang chế độ thiết kế, thêm nhãn và căn chỉnh lại các điều khiển trên form
Trang 25Một số chức năng trong Format:
Trang 26Trong chế độ thiết kế, ta có thể cho hiện các vùng Form Header/Footer, Page Header/Footer bằng cách kích chuột phải trên form rồi chọn các mục tương ứng:
Form được chia thành 5 khu vực:
Trang 27• Khu vực Form Header (đầu biểu mẫu) có thể chứa các thông tin ví dụ như một tiêu đề mà bạn muốn nó xuất hiện ở phần bên trên của biểu mẫu (hiện thời nó đang được để trống)
• Khu vực thứ hai Detail chứa các hộp trống được gọi là Control (điều kiểm) cho các trường mà bạn đã chọn cho biểu mẫu này Các điều kiểm là nơi bạn có thể nhập thông tin Mỗi điều kiểm có thể đi kèm với một hộp màu xám được gọi là một nhãn (Label) chứa tên hoặc tựa đề của trường
• Khu thứ ba Form Footer, hoạt động tương tự như Form Header
• Hai khu vực còn lại là Page Header và Page Footer, chúng có thể chứa các phần
tử mà bạn muốn xuất hiện trên mỗi trang, trong trường hợp một biểu mẫu chiếm nhiều trang giấy Ngoài ra, cửa sổ còn hiển thị các đường thước nằm ngang và nằm dọc cũng như các ô lưới giúp bạn định vị các điều kiểm và nhãn trong biểu mẫu
Để chọn nhiều điều kiểm, ta giữ phín SHIFT và dùng chuột chọn điều kiểm Nếu muốn chọn tất cả các điều kiểm trên form, ta nhấn Ctrl + A hoặc chọn Edit/ Select All
Để xem các thuộc tính của điều kiểm, ta chọn điều kiểm rồi nhấn chuột phải, chọn Properties:
Ta có thể thay đổi font chữ, màu sắc, kích thước,
Có thể đổi từ ComboBox sang List Box nếu số giá trị là nhỏ:
Trang 282.5 Tạo biểu mẫu của nhiều bảng (Multi table Form)
Trang 30Chương 3: Bộ hỏi, báo biểu, trang truy cập dữ liệu và bảng công tắc
3.1 Sử dụng lệnh Find và các bộ lọc (Filter)
Bước 1: Mở CSDL và một bảng nào đó, ví dụ bảng Students
Bước 2: Nhấn vào phím Find trên thanh công cụ
Bước 3: Hộp thoại Find And Replace xuất hiện, tìm đến hộp văn bản Find What, nhập vào một giá trị cần tìm
Trang 31Lưu ý: nếu chỉ so khớp một phần giá trị trong một trường thì chọn Math là "Any Part of Field"
) Hướng dẫn sinh viên sử dụng Replace
Filter
Khi làm việc với một bảng lớn, thường ta sẽ tập trung vào một tập hợp con các khoản tin (record, dòng, bộ) trong bảng Đó là tập hợp chứa các khoản tin có một số thuộc tính chung nào đó Để lọc ra nhóm các khoản tin này, bạn có thể sử dụng các bộ lọc (Filter)
Filter By
Selection
Apply Filter hoặc Remove Filter
Filter By Form
Làm theo các bước sau:
Bước 1: Chọn một giá trị trong một cột bằng cách kích đúp vào giá trị đó
Bước 2: Nhấn Filter By Selection, bạn sẽ được kết quả:
Trang 323.2 Sử dụng bộ hỏi (Queries)
Một vài ví dụ về các bộ hỏi lựa chọn phổ biến:
Giáo vụ khoa muốn tìm ra danh sách những sinh viên có điểm thi lần 1 môn Hệ quản trị
cơ sở dữ liệu <5 để lập danh sách thi lại
Trưởng phòng kinh doanh của một công ty muốn có danh sách của tất cả các nhà cung cấp có bán tất cả các vật dụng cần thiết cho một công việc cụ thể
3.2.1 Lựa chọn một số trường cụ thể
Trong tab Tables, chọn bảng, sau đó chọn Query như sau:
Trang 33Hoặc chọn tab Queries rồi nhấn chọn New
Hộp thoại sau sẽ xuất hiện:
Trong hộp thoại New Query, nhấn chọn Simple Query Wizard rồi nhấn OK, hộp thoại Simple Query Wizard xuất hiện:
Trang 341 Chọn bảng nguồn dữ liệu
2 Chọn trường trong bảng rồi nhấn phím > chuyển sang danh sách của bộ hỏi
Hộp thoại tiếp theo xuất hiện:
Nhấn chọn Detail để có bộ hỏi chi tiết, sau đó nhấn phím Next, hộp thoại thứ ba của Simple Query Wizard xuất hiện, bao gồm ba mục:
• Yêu cầu bạn đặt tên cho bộ hỏi
• Báo rằng đồ thuật đã đủ thông tin để tạo bộ hỏi
Trang 35• Hỏi bạn muốn mở bộ hỏi để xem thông tin hay mở bộ hỏi để chỉnh thiết kế của bộ hỏi
Kết quả chúng ta được như sau:
Trang 363.2.2 Chọn một số khoản tin cụ thể
Nếu muốn lựa chọn các trường của một số khoản tin cụ thể, ta làm như sau:
Bước 1: Trong cửa sổ CSDL, nhấn vào thanh Queries để nhìn danh sách các bộ hỏi, nhấn đúp vào phím Create Query In Design View (tạo bộ hỏi trong chế độ thiết kế)
Kết quả: Access sẽ hiển thị hộp thoại Show Table:
Bước 2: Chọn bảng Students, nhấn vào nút Add để bổ sung bảng này vào danh sách các bảng dữ liệu nền cho bộ hỏi Sau đó, nhấn nút Close Kết quả là, trên cửa sổ màn hình xuất hiện một cửa sổ thiết kế bộ hỏi với thanh tựa đề cho biết đây thuộc loại bộ hỏi chọn lọc (Select Query)
Trang 37Nửa bên trên, ta thấy có hộp Students liệt kê tất cả các trường trong bảng Students, dấu hoa thị đại diện cho tất cả các trường Phía bên dưới của cửa sổ là một bảng ô lưới, được gọi là QBE (Query By Example) trợ giúp cho bạn thiết kế bộ hỏi
Bước 3: Đưa các trường vào lưới
) Test thử việc hiển thị các trường bằng cách check vào dòng Show, nhấn nút Run để chạy thử
Trong cột ClassID, dòng Criteria, nhập số 2 vào, chạy thử để xem kết quả
Trang 38Nhập chuỗi "Phạm Ngọc Sáng" vào dòng Criteria, cột StudentName:
Tiêu chuẩn Criteria không phân biệt xâu chữ hoa và chữ thường nên kết quả như nhau khi
ta viết "Phạm Ngọc Sáng" hay "PHạm NGọc SáNg" Khi bạn nhập dữ liệu xong, Access
tự bao giá trị bởi một cặp ngoặc kép
Trang 40>#10/10/1982#
3.2.6 Sử dụng các toán tử logic
a Toán tử And