(NB) Giáo trình Hệ quản trị cơ sở dữ liệu với mục tiêu giúp các bạn có thể hiểu được hệ quản trị cơ sở dữ liệu Microsoft Access; Xây dựng được các mối quan hệ giữa các bảng; Sử dụng, quản lý, bảo trì và khai thác số liệu trên các bảng.
Tổng quan về hệ quản trị CSDL Microsoft Access
Khái niệm hệ QTCSDL
Microsoft Access là một chương trình cơ sở dữ liệu desktop mạnh mẽ, cho phép người dùng nhập, lưu trữ, phân tích và trình bày dữ liệu một cách dễ dàng Dành cho những người có kinh nghiệm và các nhà phát triển phần mềm, Access cung cấp các công cụ hiệu quả thường liên kết với hệ quản lý cơ sở dữ liệu (DBMS) Phiên bản Access 2007 mang đến khả năng định tỷ lệ vốn ấn tượng cho phần mềm cơ sở dữ liệu desktop Access hỗ trợ quản lý thông tin cá nhân và thu thập dữ liệu nghiên cứu, đồng thời có khả năng truy xuất và tổng hợp dữ liệu từ các server toàn cầu Ngoài ra, Access cho phép người dùng tạo và xuất bản các trang web động cùng báo cáo cho Intranet và Internet Trước khi tìm hiểu cách sử dụng Access trong cơ sở dữ liệu, chúng ta cần nắm vững một số khái niệm cơ bản.
Hệ quản trị cơ sở dữ liệu (tiếng Anh: Database Management System –
Hệ quản trị cơ sở dữ liệu (DBMS - HQTCSDL) là hệ thống được thiết kế để quản lý và điều hành cơ sở dữ liệu, hỗ trợ các chức năng như lưu trữ, sửa chữa, xóa và tìm kiếm thông tin Có nhiều loại hệ quản trị CSDL, từ phần mềm đơn giản cho máy tính cá nhân đến các hệ thống phức tạp hoạt động trên một hoặc nhiều siêu máy tính.
Hầu hết các hệ quản trị cơ sở dữ liệu hiện nay đều sử dụng ngôn ngữ truy vấn có cấu trúc, được gọi là Structured Query Language (SQL) trong tiếng Anh.
Ngôn ngữ truy vấn có cấu trúc (SQL) là công cụ quan trọng trong quản lý cơ sở dữ liệu Một số hệ quản trị cơ sở dữ liệu phổ biến bao gồm MySQL, Oracle, PostgreSQL, SQL Server, DB2 và Informix Hầu hết các hệ quản trị này đều tương thích với nhiều hệ điều hành như Linux, Unix và MacOS, ngoại trừ SQL Server của Microsoft, chỉ hoạt động trên hệ điều hành Windows.
Chức năng của một Hệ quản trị cơ sở dữ liệu:
- Cho phép tạo ra các cấu trúc để lưu trữ dữ liệu
- Cho phép nhập, lưu trữ, xem, xóa, sửa đổi, chèn các dữ liệu vào cơ sở dữ liệu
- Cho phép thao tác trên các dữ liệu của cơ sở dữ liệu để đƣa ra các thông tin
- Cho phép tạo báo cáo, bảng biểu để tổ chức đƣa thông tin ra theo một mẫu nào đó
- Cung cấp các công cụ đảm bảo sự an toàn dữ liệu
+ Quản lý đƣợc dữ liệu dƣ thừa
+ Đảm bảo tính nhất quán cho dữ liệu
+ Tạo khả năng chia sẻ dữ liệu nhiều hơn
+ Cải tiến tính toàn vẹn cho dữ liệu
+ HQTCSDL tốt thì khá phức tạp
+ HQTCSDL tốt thường rất lớn chiếm nhiều dung lượng bộ nhớ + Giá cả khác nhau tùy theo môi trường và chức năng
+ HQTCSDL được viết tổng quát cho nhiều người dùng thì thường chậm.
Một số thuật ngữ
Hình 1.1 Mối liên hệ giữa các bảng và cơ sở dữ liệu
Trong Access, cơ sở dữ liệu bao gồm nhiều bảng chứa thông tin thực tế, với khả năng liên kết giữa các bảng Ví dụ, một bảng ghi lại tất cả các khóa cửa trong tòa nhà, trong khi bảng khác liệt kê tất cả chìa khóa tương ứng và một bảng nữa chứa tên những người sở hữu chìa khóa Mối quan hệ giữa ba bảng này tạo thành một cơ sở dữ liệu đồng nhất, như mô tả trong Hình 1.1.
Bước đầu tiên trong việc xây dựng cơ sở dữ liệu là xác định thông tin cần thiết Sau đó, chúng ta sử dụng Access để thiết kế bảng lưu trữ thông tin Trong chế độ Design view, như được minh họa ở Hình 1.2, chúng ta có thể chỉ định cấu trúc cho từng bảng một cách hiệu quả.
Hình 1.2 Chế độ Design view cho bảng
Sau khi hoàn thành thiết kế các bảng, bạn có thể sử dụng chế độ Datasheet view để nhập và xem dữ liệu một cách dễ dàng Hình 1.3 minh họa rõ ràng cách thức hiển thị dữ liệu trong chế độ này.
Hình 1.3 Chế độ Datasheet view cho bảng
Query là các câu lệnh SQL (Structured Query Language) được sử dụng phổ biến để tạo, chỉnh sửa và truy vấn dữ liệu từ cơ sở dữ liệu quan hệ.
In Access, queries serve as a powerful tool for data extraction and processing, catering to various data retrieval needs The types of queries include simple select queries, parameter queries, crosstab queries, and action queries.
Form là công cụ thiết kế giao diện chương trình, hỗ trợ việc cập nhật và xem dữ liệu Nó giúp tối ưu hóa quá trình nhập, thêm, sửa, xóa và hiển thị thông tin, mang lại trải nghiệm thân thiện cho người dùng.
Bản ghi là một đơn vị thông tin độc lập, như dữ liệu về công nhân hoặc khách hàng, và nhiều bản ghi tạo thành một bảng Ví dụ, trong bảng thông tin về thẻ chơi bóng chày, mỗi bản ghi sẽ chứa thông tin riêng về một thẻ Thông thường, các bản ghi được sắp xếp theo hàng trong bảng, và Access hiển thị các bản ghi này theo dạng hàng.
Bảng trong cơ sở dữ liệu được hình thành từ các bản ghi, trong đó mỗi bản ghi được cấu tạo từ các trường thông tin Một trường là đơn vị thông tin nhỏ nhất, ví dụ như trong bảng danh bạ điện thoại, mỗi bản ghi đại diện cho một cá nhân hoặc doanh nghiệp khác nhau Các bản ghi này được tạo ra từ các trường cụ thể như tên, địa chỉ và số điện thoại.
Báo cáo là công cụ cho phép người dùng trích xuất dữ liệu từ các bảng, sau đó định dạng và sắp xếp theo một mẫu nhất định, giúp người dùng có thể in ra màn hình hoặc máy in.
Macro là bộ lệnh thực hiện chuỗi thao tác đã được định sẵn, trong khi tập lệnh của Access được coi là công cụ lập trình đơn giản, phục vụ cho các tình huống cụ thể.
Công cụ lập trình trong môi trường Access sử dụng ngôn ngữ Visual Basic for Application (VBA), cho phép tự động hóa quy trình một cách chuyên sâu hơn so với các tập lệnh thông thường VBA giúp lập trình viên tạo ra các hàm người dùng tự định nghĩa, phục vụ cho các nhu cầu lập trình phức tạp Bộ mã lệnh này thường được thiết kế dành riêng cho các lập trình viên chuyên nghiệp.
Công cụ để tạo các đối tƣợng trong Access đƣợc tổ chức thành từng nhóm trong tab Create của thanh Ribbon.
Khởi động ACCESS và mở CSDL
1.3.1 Trình tự xây dựng chương trình bằng Access
Access 2007 là một phần mềm quản trị cơ sở dữ liệu quan hệ (RDBMS) của Microsoft, chạy trên hệ điều hành Windows 2000 trở lên và thuộc bộ Office 2007 Phần mềm này được sử dụng rộng rãi trong quản lý kinh doanh, giáo dục, và nhân sự, giúp tối ưu hóa quy trình quản lý và tổ chức thông tin hiệu quả.
Hình 1.4 Giới thiệu Microsoft Access 2007
Việc xây dựng một ứng dụng quản lý bao gồm:
- Tạo các bảng để lưu trữ dữ liệu
- Xây dựng các màn hình nhập, xuất dữ liệu Tạo các mẫu báo cáo kết xuất
- Xây dựng các thao tác để xử lý dữ liệu theo yêu cầu Các chế độ bảo mật
1.3.2 Mở đóng Microsoft Access và Cơ sở dữ liệu a Mở đóng Microsoft Access
* Mở Access theo nhiều cách:
- Cách1:Mở lệnh Start | Programs | Microsoft Office Access 2007 của Windows
Hình 1.5 Khởi động MS_ Access
- Cách 2: Từ Desktop nhấp đúp vào biểu tƣợng Microsoft Office
- Cách 3: Vào Start/ run Trong run gõ msaccess
Sau khi ra lệnh chạy chương trình Access, thông thường màn hình tiếp theo xuất hiện cho phép chọn cách làm việc:
Hình 1.6 Hộp thoại làm việc của Access
- Chọn Blank Access database để bắt đầu tạo một tệp Access mới (tạo mới tệp)
- Tại File Name đặt tên cho cơ sở dữ liệu, sau đó bấm Create
* Đóng (kết thúc) chương trình
Khi không làm việc với Access, hãy ra lệnh thoát khỏi Access bằng một trong các cách:
- Kích chọn Office Button/ chọn Exit Access
Hình 1.7 Kết thúc chuơng trình
- Nhấn tổ hợp phím nóng Alt + F4
- Hoặc nhấn nút Close trên cửa sổ Access đang mở b Mở Cơ sở dữ liệu
+ Office Button/New/Blank Database
Hình 1.8 Tạo mới một Database
Hình 1 9 Đặt tên File mới sau đóbấm create
Cách 1: Vào Button / chọn Open Xuất hiện cửa sổ cơ sở dữ liệu của dữ liệu đó
Hình 1.10 Các cách mở sơ sở dữ liệu
Cách 2: Bấm tổ hợp phím Ctrl + O Xuất hiện cửa sổ cơ sở dữ liệu của dữ liệu đó Đặt tên file mới
Quan sát cửa sổ CSDL
Hình 1 11 Giao diện làm việc trong access
(1) Hệ thống thực đơn (menu) nơi thực hiện các lệnh khi cần;
(2) Cửa sổ tệp Access trong menu Create đang làm việc bao gồm các phần chính:
Tables: là thành phần cơ bản và quan trọng nhất của CSDL Nơi chứa toàn bộ các bảng dữ liệu
Dữ liệu trong Table đƣợc tổ chức thành nhiều dòng, mỗi dòng có nhiều cột
Queries là công cụ quan trọng để truy vấn thông tin và thao tác với dữ liệu trong bảng Chúng cho phép liên kết các dữ liệu rời rạc từ nhiều bảng khác nhau, lựa chọn thông tin cần thiết, chỉnh sửa dữ liệu và thực hiện nhiều tác vụ hữu ích khác.
Forms: Nơi chừa các giao diện phần mềm Là nơi dùng để nhập xuất dữ liệu một cách thân thuộc với người sử dụng
Reports: Là kết quả đầu ra sau cùng của một quá trình khai thác số liệu có nguồn gốc từ table hay query
Macros: là tập hợp các nhóm lệnh tích hợp sẵn trong access nhằm tự động hóa các thao tác thường nhật hay lặp đi lặp lại nhiều lần.
Thao tác với bản ghi
Để duyệt các bản ghi trong bảng của cơ sở dữ liệu, người dùng chỉ cần nhấn đúp vào cơ sở dữ liệu Màn hình hiển thị sẽ giống như Excel, cho phép thực hiện các thao tác tương tự Ngoài ra, người dùng cũng có thể sử dụng các công cụ khác để duyệt qua các bản ghi một cách thuận tiện.
1 form hoặc viết 1 chương trình ứng dụng để duyệt qua các bản ghi
Hình 1 12 Ví dụ về bản ghi trong Bảng
Để nhập các bản ghi, bạn có thể mở cửa sổ dữ liệu nhập giống như trong phần mềm Excel, hoặc thiết kế một form để nhập liệu, thao tác này thường được sử dụng để tối ưu hóa quy trình.
Hình 1.13 Nhập dữ liệu trực tiếp trong bảng
Sử dụng trợ giúp và kết thúc Access
a Sử dụng trợ giúp với Access 2007
Khi người học gặp vấn đề với Access 2007 mà không được giải đáp trong quá trình học, họ có thể sử dụng hệ thống trợ giúp Access Hệ thống này bao gồm các công cụ và thông tin từ các trang web của Office, cho phép người học tham khảo khi trực tuyến, cùng với thông tin cơ bản được lưu trữ trên máy tính để sử dụng khi ngoại tuyến Tài liệu trực tuyến có thể bao gồm bài viết, video và các công cụ đào tạo khác Để mở cửa sổ trợ giúp của Access và tìm kiếm thông tin, người dùng chỉ cần thực hiện các bước đơn giản.
1 Ở gần góc bên phải của thanh tiêu đề, kích vào nút lệnh Microsoft Access Help để mở cửa sổ trợ giúp Access
Để hiển thị cửa sổ trợ giúp trong Access, bạn chỉ cần nhấn phím F1 Để chuyển đổi giữa các nội dung tài liệu tham khảo trực tuyến và ngoại tuyến, hãy nhấp vào mũi tên bên phải của Access Help và chọn tùy chọn phù hợp.
Người học có thể truy cập trợ giúp từ Office.com hoặc từ máy tính của mình Để in thông tin hiển thị trong cửa sổ trợ giúp, chỉ cần nhấn nút lệnh Print trên thanh công cụ Ngoài ra, để thay đổi kích cỡ font chữ của nội dung, người học có thể nhấn nút lệnh Use Large Text ở phía bên trái của hộp tìm kiếm trợ giúp.
2 Trong hộp tìm kiếm, nhập vào từ khóa tìm kiếm, và sau đó kích vào nút lệnh Search (hình kính lúp) để hiển thị danh sách các nội dung liên quan
3 Trong danh sách kết quả tìm kiếm, kích vào nội dung quan tâm để hiển thị thông tin tương ứng
4 Đi đến thông tin liên quan bằng cách kích vào bất cứ liên kết nào đƣợc xác định bởi văn bản màu xanh
Khi bài viết có liên kết chỉ mục ở đầu, người học có thể nhấn vào đó để truy cập nhanh đến phần chỉ mục Để quay lại đầu bài viết, người học chỉ cần nhấp vào liên kết "Top Of Page" ở cuối bài.
5 Khi người học kết thúc việc khảo sát, đóng cửa sổ trợ giúp Access bằng cách kích vào nút Close ở góc phải trên cùng của cửa sổ b Kết thúc Access
Khi không làm việc với Access, hãy ra lệnh thoát khỏi Access bằng một trong các cách:
- Kích chọn Office Button/ chọn Exit Access;
- Nhấn tổ hợp phím nóng Alt + F4
- Hoặc sử dụng nút Close trên cửa sổ Access đang mở
1 Hãy phân biệt cơ sở dữ liệu với hệ quản trị cơ sở dữ liệu
2 Các đối tƣợng trong MS access là gì?
3 Trình bày khả năng và các ứng dụng của MS Acess
4 Với Access 2007, khi tập tin access đƣợc tạo ra, tập tin đó sẽ có phần mở rộng là gì?
5 Mở và đóng đƣợc phần mềm Access
6 Quan sát cửa sổ Access và phân biệt đƣợc các thành phần trên cửa sổ Access
7.Trình bày các thuật ngữ trong Access ?
Xây dựng bảng (TABLE)
Phác thảo hoạch định Cơ sở dữ liệu
Trước khi xây dựng cơ sở dữ liệu, việc phân tích và xác định yêu cầu của bài toán là rất quan trọng Điều này giúp xác định các bảng cần thiết và mối quan hệ giữa chúng.
Trong quản trị cơ sở dữ liệu, việc phác thảo cơ sở dữ liệu là bước quan trọng nhất, vì nếu không thực hiện đúng bước này, sẽ không thể xây dựng thành công cơ sở dữ liệu, điều này đóng vai trò nền tảng cho ứng dụng quản lý cơ sở dữ liệu.
Một cơ sở dữ liệu được thiết kế tốt cho phép người sử dụng truy cập nhanh chóng đến thông tin cần thiết, tiết kiệm thời gian và nâng cao độ chính xác trong kết quả Để xây dựng một cơ sở dữ liệu hiệu quả, cần hiểu cách mà Hệ quản trị cơ sở dữ liệu (HQTCSDL) quản lý và tổ chức dữ liệu Các hệ thống như MS Access có thể cung cấp thông tin chính xác và hiệu quả khi được cung cấp đầy đủ dữ liệu từ nhiều đối tượng khác nhau, chẳng hạn như thông tin lý lịch của cán bộ và các đề tài nghiên cứu khoa học.
Khi thiết kế cơ sở dữ liệu, việc đầu tiên là xác định và phân tích thông tin cần lưu trữ thành các đối tượng riêng biệt Sau đó, cần thông báo cho hệ quản trị cơ sở dữ liệu (HQTCSDL) về mối quan hệ giữa các đối tượng này Dựa vào các mối quan hệ đã xác định, HQTCSDL có khả năng liên kết các đối tượng và rút ra những số liệu tổng hợp cần thiết.
CÁC BƯỚC THIẾT KẾ CSDL
Bước 1: Xác định mục tiêu khai thác CSDL của chúng ta Điều này quyết định các loại sự kiện chúng ta sẽ đƣa vào MS Access
Bước 2: Xác định các bảng dữ liệu cần thiết Mỗi đối tượng thông tin sẽ hình thành một bảng trong CSDL của chúng ta
Bước 3: Sau khi xác định các bảng cần thiết, ta cần chỉ rõ thông tin cần quản lý trong mỗi bảng, tức là xác định các trường Mỗi loại thông tin trong bảng được gọi là trường, và mọi mẫu in trong cùng một bảng đều có cấu trúc các trường chung Ví dụ, trong lý lịch khoa học cán bộ, các trường thông tin cần quản lý bao gồm: “HỌ VÀ TÊN”, “CHUYÊN MÔN”, “HỌC VỊ”.
Bước 4: Xác định mối quan hệ giữa các bảng dữ liệu bằng cách xem xét cách dữ liệu trong từng bảng liên kết với nhau Việc thêm trường hoặc tạo bảng mới để làm rõ mối quan hệ này là rất quan trọng, vì nó giúp cải thiện khả năng truy xuất và kết xuất dữ liệu một cách nhanh chóng và hiệu quả.
Bước 5: Tinh chỉnh và điều chỉnh thiết kế là rất quan trọng Hãy phân tích thiết kế ban đầu để phát hiện lỗi, tạo bảng dữ liệu và nhập vào một số bản ghi để kiểm tra khả năng phản ánh của cơ sở dữ liệu với các yêu cầu truy xuất Đảm bảo rằng kết quả thu được từ các bảng dữ liệu là chính xác và thực hiện các chỉnh sửa cần thiết cho thiết kế nếu phát hiện vấn đề.
TỔNG QUAN THIẾT KẾ TABLE
- Chế độ thiết kế: Menu View→Design View
- Chế độ nhập liệu: Menu View → Datasheet View
- Ở cửa sổ Database: Open (chế độ nhập liệu) ; Design (chế độ thiết kế)
- Cột của Table gọi là Field, tên cột gọi là Field Name Hàng của Table gọi là Record
- Khóa chính của Table: Là một hay nhiều Field mà tại đó giá trị luôn luôn là duy nhất đƣợc dùng đề phân biệt các Record với nhau.
Các khái niệm cơ bản
Bảng là một cấu trúc dữ liệu quan trọng, chứa thông tin về các đối tượng như SINH VIÊN hay HÓA ĐƠN Mỗi hàng trong bảng được gọi là một bản ghi (record), lưu trữ thông tin riêng biệt của từng đối tượng Tất cả các bản ghi trong bảng đều có cấu trúc chung với các trường (field) như MACB (Mã cán bộ), TRINHDOVH (Trình độ văn hóa), và CHUYENMON (Chuyên môn), giúp quản lý thông tin một cách hiệu quả, ví dụ như trong việc quản lý lý lịch khoa học của cán bộ trong trường đại học.
Trong cơ sở dữ liệu (CSDL), một bảng có thể lưu trữ nhiều thông tin về một đối tượng cụ thể Mỗi thông tin này đều có những đặc trưng riêng, và trong Microsoft Access, các đặc trưng này được thể hiện qua các kiểu dữ liệu của các trường.
Bảng: Gồm nhiều cột và nhiều dòng dùng để lưu trữ thông tin dữ liệu
Cột hoặc trường: trong cùng một cột chỉ cho phép chứa duy nhất một loại dữ liệu: số, văn bản, ngày … cột gồm:
- Tên cột (Field Name) Add
- Quy định về mối quan hệ giữa các table trong cửa sổ relationships
Drag Field từ Table chính đến Field của Table quan hệ
Hình 2.18 Cách kết nối quan hệ giữa các bảng
Hộp thoại Edit Relationships hiển thị, hộp thoại có hai phần:
+ Phần trên: ghi tên cac 1 Field đƣợc khai báo tham gia mối quan hệ
+ Phần dưới: ghi các sự lựa chọn về mối quan hệ
Hình 2.19 Các thuộc tính trong quan hệ
Để thiết lập các thuộc tính đảm bảo toàn vẹn dữ liệu (Enforce Referential Integrity) cho mối quan hệ giữa các bảng, bạn cần chọn (checked) ba mục quan trọng Đầu tiên, đồng ý thiết lập các thuộc tính này để đảm bảo toàn vẹn dữ liệu khi cập nhật giữa hai bảng liên quan Điều này có nghĩa là nếu giá trị trường khoá liên kết ở bảng 1 thay đổi, toàn bộ giá trị trường khoá liên kết ở bảng nhiều cũng sẽ tự động thay đổi theo Thứ hai, đảm bảo toàn vẹn dữ liệu khi xoá bản ghi giữa hai bảng liên quan, giúp duy trì tính nhất quán của dữ liệu trong cơ sở dữ liệu.
Khi một bản ghi bị xóa, tất cả các bản ghi liên quan trong bảng có quan hệ nhiều sẽ được tự động xóa Cụ thể, nếu xóa một bản ghi CHA, tất cả các bản ghi CON liên quan sẽ tự động bị xóa khỏi bảng CON.
Hộp Relationship Type: cho biết kiểu quan hệ giữa 2 bảng đang thiết lập:
- Indeterminate Không xác định đƣợc kiểu liên kết
Access tự động xác định kiểu liên kết giữa hai bảng dựa vào loại khóa của các trường tham gia Dưới đây là một số kiểu liên kết mà Access có thể nhận diện.
Có hai vấn đề xảy ra khi kết nối cơ sở dữ liệu:
Vấn đề 1: Khi bảng chƣa có dữ liệu
Chúng ta sẽ kết nối cơ sỡ dữ liệu bình thường như trên
Khi nhập liệu, cần chú ý nhập dữ liệu cho các bảng có quan hệ một (One) trước, sau đó mới tiến hành nhập dữ liệu cho các bảng có quan hệ nhiều (Many).
Nếu không thi hành các bước như trên ta sẽ bị thông báo lỗi
Hình 2.20 Bảng thông báo lỗi
Lúc này các bạn tắt bảng mình đang nhập liệu mở bảng có quan hệ một (One) ra nhập liệu)
Vấn đề 2: Khi bảng đã có dữ liệu khi kết nối sẽ rất dễ xảy ra lỗi
Hình 2.21 Thông báo lỗi khi không đảm bảo các thuộc tính trong kết nối quan hệ
Lúc này để sửa lỗi là vấn đề rất phức tạp
Chúng ta sẽ xóa tất cả dữ liệu trong bảng thông báo có lỗi
Tiếp tục kết nối relationships
Sau đó nhập liệu lại
Để tiết kiệm thời gian nhập liệu, bạn nên sao chép toàn bộ dữ liệu và sau khi kết nối, hãy dán lại vào hệ thống Khi hoàn tất, Access sẽ tự động tạo một bảng mới chứa các bản ghi lỗi từ bảng trước đó Vấn đề cần lưu ý là đảm bảo tính toàn vẹn tham chiếu trong quá trình này.
Toàn vẹn tham chiếu là hệ thống nguyên tắc đảm bảo mối quan hệ giữa các mẫu tin trong các bảng quan hệ Khi toàn vẹn tham chiếu được thiết lập, việc xóa hoặc thay đổi dữ liệu ngẫu nhiên trong các quan hệ là không thể Điều này giúp duy trì tính chính xác và nhất quán của dữ liệu trong cơ sở dữ liệu.
- Field tương ứng từ table chính phải là khóa chính
- Field quan hệ có cùng kiểu dữ liệu với Field khóa chính
- Cả hai Table quan hệ phải cùng thuộc một hệ quản trị Cơ Sở Dữ Liệu Bước 2: Nhập dữ liệu (mẫu tin ) cho Table
Do thiết lập Relationships ở trên, ta nên nhập dữ liệu sau khi đã tạo Relationships Và phải tuân theo các nguyên tắc sau:
Chỉnh sửa bảng
Trong quá trình thiết kế cơ sở dữ liệu, nếu cần thay đổi cấu trúc, bạn chỉ cần nhấn chuột phải vào bảng dữ liệu và chọn lệnh "Design View" để điều chỉnh dữ liệu một cách dễ dàng.
Hình 2.22 Chỉnh sửa bảng bằng Design View
Xoá bản ghi là quá trình loại bỏ một hoặc nhiều bản ghi khỏi bảng dữ liệu Để thực hiện thao tác này trên bảng dữ liệu đang mở, người dùng có thể thực hiện hai bước đơn giản.
- Bước 1: Chọn những bản ghi cần xoá Có thể chọn một hoặc nhiều bản ghi bằng cách dùng chuột đánh dấu đầu dòng những bản ghi cần chọn;
- Bước 2: Ra lệnh xoá bằng cách: mở thực đơn Home | D e l e t e | Delete Record Một hộp thoại xuất hiện để chúng ta khẳng định một lần nữa việc xoá dữ liệu:
Hình 2.23 Mô tả hộp thoại khẳng định việc xóa dữ liệu
+ Chọn Yes để đồng ý xoá;
+ Nhấn No để huỷ lệnh xoá
Dữ liệu đã được xác nhận xóa sẽ không thể khôi phục, vì vậy cần phải suy nghĩ kỹ trước khi đưa ra quyết định này, cũng như cân nhắc các câu hỏi dạng Có/Không.
* Bổ sung bản ghi cho bảng
Sau khi hoàn thành thiết kế cấu trúc bảng, bước tiếp theo là nhập dữ liệu bằng cách bổ sung các bản ghi vào bảng Khi hiển thị bảng ở chế độ Datasheet, mỗi hàng sẽ đại diện cho một bản ghi, và có các ký hiệu quan trọng mà chúng ta cần hiểu rõ về công dụng của chúng.
Bản ghi đang nhập dữ liệu
- Đặt con trỏ tại cột của bản ghi cần sửa
- Xóa bản ghi cũ, nhập dữ liệu mới
* Sao chép các bản ghi
- Chọn các bản ghi cần sao chép
- Home /Copy hoặc Click chuột phải/ Copy
- Chọn bản ghi cần chép đến
- Home/ Paste hoặc Click chuột phải / Paste.
Sắp xếp, lọc và tìm kiếm
2.6.1.1 Sắp xếp trên một trường
Sắp xếp là quá trình thay đổi thứ tự hiển thị của bảng dữ liệu theo một tiêu chí nhất định, giúp người dùng dễ dàng quan sát và phân tích thông tin Để sắp xếp dữ liệu theo trường cụ thể, người dùng cần mở cơ sở dữ liệu và thực hiện các thao tác cần thiết.
Bước 1: Đặt con trỏ lên trường (cột) muốn sắp xếp;
Bước 2: Nhấn nút lệnh sắp xếp trên thanh công cụ: - sắp xếp tăng dần hoặc - sắp xếp giảm dần
Chúng ta sẽ thu đƣợc kết quả nhƣ mong muốn
2.6.1.2 Sắp xếp trên nhiều trường
Mở bảng trong chế độ Datasheet rồi thực hiện lệnh
Hình 2.24 Sắp xếp trên nhiều trường
Trong hàng Sort: Chọn tiêu chuẩn sắp xếp
Trong hàng Criteria: Chọn điều kiện sắp xếp (nếu có)
2.6.2 Lọc dữ liệu a Lọc không điều kiện
Chúng ta có thể lọc dữ liệu trong bảng hoặc truy vấn để hiển thị thông tin mong muốn Để thực hiện điều này, hãy mở cơ sở dữ liệu và làm theo các bước cần thiết.
Bước 1: Nhấp dữ kiện mà chúng ta muốn dùng làm chuẩn để lọc
Step 2: Click the Filter/Selection icon on the Toolbar Access will display all the selected records while hiding the remaining entries.
Bước 3: Khi bạn xem xong các mẩu tin đã lọc, nhấn biểu tượng lệnh Toggle Filter để gỡ bỏ chế độ lọc b.Lọc có điều kiện
Chúng ta có thể sử dụng chức năng Lọc (Filter) để tìm kiếm và hiển thị các mẩu tin trong bảng, Form hoặc truy vấn theo nhu cầu Khi thực hiện lọc bằng Form, cần chỉ định rõ các tiêu chí để lọc các mẩu tin một cách chính xác Mở bảng dữ liệu và thực hiện các thao tác cần thiết để tiến hành lọc.
Vào menu Home/ Filter/ Advanced Filter/ Sort…
Hình 2.25 Thao tác chọn Advanced Filter/ Sort…
Hình 2.26 Đặt điều kiện trích lọc dữ liệu và sắp xếp
Bước 1: Tại cửa sổ Datasheet Chọn trường cần lọc
Bước 2: Tại menu Home / Filter/ chọn Selection/chọn cách lọc
Bước 3 Khi bạn xem xong các mẩu tin đã lọc, nhấn biểu tượng lệnh Toggle Filter để gỡ bỏ chế độ lọc
Access cho phép ta tìm kiếm và thay thế cho hàng loạt dữ kiện bằng tính năng tự động trong bảng dữ liệu
Bước 1: Đặt con trỏ lên vùng tin chứa dữ kiện cần thực hiện và chọn lệnh Replace từ menu Home, xuất hiện hộp thoại sau:
Hình 2.27 Bảng tìm kiếm và thay thế
Bước 2: Nhập dữ kiện cần tìm tren khung Find What
Bước 3:Nhấp chọn tên Table hay tên vùng tin cần thực hiện việc tìm kiếm trong khung Look in
Bước 4: Chọn một dạng tìm kiếm tren khung Search:
All: Tìm tất cả trên bảng
Up: Tìm từ vị trí con trỏ trở lên
Down: Tìm từ vị trí con trỏ trở xuống
Bước 5: Chọn một trong hai thông số:
- Thông số Match Case khi cần tìm dữ kiện trong bảng chính xác với dữ kiện nhập vào trên khung Find What
Thông số Match Whole Field cho phép người dùng tìm kiếm dữ liệu trong bảng mà không cần chính xác, đồng thời không phân biệt chữ hoa chữ thường với nội dung được nhập vào khung Find What.
Bước 6: Nhấn nút "Find Next" trong Access để tìm kiếm dữ liệu Khi phát hiện dữ kiện giống với thông tin trong khung "Find What", chỉ báo sẽ tự động chuyển đến mẩu tin tiếp theo cho đến khi đến mẩu tin cuối cùng Access sẽ hiển thị một bảng thông báo; nhấn "Ok" để hoàn tất Bước 7: Nhấn nút "Cancel" để đóng hộp thoại "Find and Replace".
Bài 1:Tạo một Database có tên banhang.mdb
Tạo bảng có tên là HOADON có cấu trúc sau
Field Name Data type Field Size Descrition
SoHD Number Integer So hoa don
MaKH Text 2 Ma khach hang
MaSP Text 5 Ma san pham
LoaiVT Text 1 Loai vat tu
Soluong Number Integer So luong
Dongia Number Long Integer Don gia
HTTT Text 2 Hinh thuc thanh toan
1 MaSP chỉ nhập 3 ký tự đầu in hoa, hai ký tự còn lại là ký số bất kỳ
2 Trường ngày chọn Short Date
3 Vùng Số lượng yêu cầu phải nhập số lương lớn hơn 0, nếu vi phạm báo lỗi (ta phải nhập số lớn hơn 0)
4 HTTT chọn Data Type là Lookup Wizard để nó trở thành một Combo Box cho trường này với các giá trị là TM, TP, NO
5 Chọn SoHD là thuộc tính duy nhất (Primary key)
6 Thuộc tính Default Value của trường LoaiVT gõ chữ X
7.Mở chế độ DataSheet View để nhập dữ liệu cho Table theo nội dung nhƣ sau:
Hình 2 24 Thông tin chi tiết bảng HOADON
8 Thay đổi độ rộng của các cột sao cho phù hợp với dữ liệu trong bảng Lưu dữ liệu vừa nhập lại
9 Mở lại bảng HOADON ở chế độ Datasheet View và cho biết có bao nhiêu mẫu tin, mẫu tin đang hiện hành là mẫu tin số bao nhiêu?
10 Hãy chọn mẫu tin số 7 làm mẫu tin hiện hành
11 Hãy chọn mẫu tin cuối cùng làm mẫu tin hiện hành
Tạo Bảng KHACHHANG có cấu trúc sau:
Field Name Data type Field Size Description
MaKH Text 2 Ma khach hang
TenKH Text 25 Ten khach hang
Vùng MaKH quy định nhập 2 ký tự hoa
Chọn MaKH làm Primary Key
Nhập dữ liệu cho Table có nội dung sau
Hình 2 25 Thông tin chi tiết bảng KHACHHANG
Tạo bảng SANPHAM có nội dung sau:
Chọn vùng MaSP làm khóa
Nhập nội dung cho Table SANPHAM có nội dung sau:
Field Name Data type Field Size Description
MaSP Text 5 Ma san pham
TenSP Text 25 Ten san pham
DVT Text 6 Don vi tinh
Dongia Number Integer Don gia
Hình 2 26 Thông tin chi tiết bảng SANPHAM
Tạo bảng HOSONV có nội dung sau:
Field Name Data type Field Size Descrition
MaNV Text 4 Ma nhan vien
DalapGD Yes/No Da lap gia dinh
TDVH Text 2 Trinh do van hoa
Phainam Yes/No Yes là nam, No là nu
LCB Number Luong co ban
Ngayvaolv Date/Time Ngay vao lam viec
Hinh OLE Object Lay hinh tu Clip Art
Chọn MaNV làm Primary Key
Nhập nội dung cho Table sau:
Hình 2.27 Thông tin chi tiết bảng HOSONV
1 Sắp xếp thứ tự cột MaNV theo thứ tự giảm dần, sau đó sắp xếp tăng dần
2 Sắp xếp thứ tự cột tên theo thứ tự tăng dần, nếu trùng thì sắp xếp Holot theo thứ tự giảm dần
3 Dùng chức năng Filter để lọc các thông tin thỏa mãn các yêu cầu sau:
- Hiển thị những mẫu tin có phái là nữ
- Hiển thị những mẫu tin có Holot là Nguyen
- Hiển thị những mẫu tin có tên là Cuc
- Hiển thị những mẫu tin có tên là Anh và Thu
- Hiển thị những mẫu tin có tên bắt đầu là chữ T
- Hiển thị những mẫu tin là phái nữ và có lương căn bản ≤ 310
- Hiển thị những mẫu tin có ngày sinh nằm trong khoảng 01/01/1970 đến 02/03/1978
- Hiển thị những mẫu tin có thang sinh là 3
- Hiển thị những mẫu tin có năm sinh là 1975
- Hiển thị những mẫu tin có 2 ký tự đầu của MaNV là TH
- Hiển thị những mẫu tin không phải ở phòng Tin học
4 Dùng chức năng Find để tìm kiếm những mẫu tin thỏa mãn những yêu cầu sau:
- Tìm những mẫu tin có phái là nam
- Tìm những mẫu tin có họ là Trần
- Tìm những mẫu tin có tháng sinh là 9
- Tìm những mẫu tin có năm sinh là 1983
- Tìm và thay thế những mẫu tin có lương căn bản là 290 và thay bằng 310 Bài 2: Sử dụng tập tin BANHANG.mdb
Dùng chức năng Relationships để tạo liên kết giữa các chức năng sau:
Hình 2.28 Liên kết giữa các bảng 1
Tạo mối liên kết giữa hai Table sau:
Hình 2.29.Liên kết giữa các bảng 2
Bài 3: Xây dựng CSDL Quản lý lương cán bộ một cơ quan có cấu trúc sau:
Hình 2.30 Quản lý lương cán bộ
- 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 :
Truy vấn dữ liệu (Query)
Khái niệm truy vấn
Truy vấn là một công cụ cho phép đặt câu hỏi với dữ liệu trong bảng dữ liệu trong CSDL
Truy vấn chọn (Select Query) là loại truy vấn phổ biến nhất, cho phép người dùng xem xét, phân tích và chỉnh sửa dữ liệu trong các bảng Với kiểu truy vấn này, bạn có thể truy xuất thông tin từ một bảng hoặc kết hợp nhiều trường từ nhiều bảng khác nhau.
Cho 2 bảng dữ liệu KHOHANG (MAHANG, TENHANG, GIA) BANHANG(MAHANG, TENKHACH, SOLUONG, NGAYMUA) Hãy hiển thị những khách hàng mua hàng trong tháng 7 bao gồm các thông tin: MAHANG, TENHANG,GIA, TENKHACH
Sau khi thực hiện truy vấn, dữ liệu phù hợp với yêu cầu sẽ được thu thập và tổ chức thành một bảng kết quả được gọi là Dynaset (Tập hợp động) Dynaset hoạt động như một công cụ giúp người dùng dễ dàng quản lý và truy cập thông tin cần thiết.
1 bảng (Table) nhƣng nó không phải là bảng vfa kết quả khi hiển thị có thể cho phép sửa đổi
Một loại bảng thể hiện kết quả truy vấn khác là Snapshot, nó tương tự như dynaset tuy nhiên không thể sửa đổi thông tin ( Nhƣ truy vấn Crosstab )
3.1.2 Sự cần thiết của truy vấn
Khi đứng trước một vấn đề nào đó trong CSDL, nếu sử dụng công cụ truy vấn thì có thể thực hiện đƣợc các yêu cầu sau:
+ Sự lựa chọn các trường cần thiết Lựa chọn những bản ghi
+ Sắp xếp thứ tự các bản ghi
+ Lấy dữ liệu chứa trên nhiều bảng khác nhau trong Cơ Sở Dữ liệu
+ Thực hiện các phép tính
Sử dụng truy vấn làm nguồn dữ liệu cho một Form (Form), báo cáo (report) hoặc một truy vấn khác (Query )
+ Thay đổi dữ liệu trong bảng.
Phân loại truy vấn
+Select Query : Truy vấn chọn
+ Crosstab Query : Truy vấn tham khỏa chéo (Thể hiện dòng và cột)
+ Truy vấn tạo bảng (make table Query )
+ Truy vấn nối (append Query )
+ Truy vấn cập nhật ( Update Query)
+ Truy vấn xóa dữ liệu ( Delete Query ) SQL Query : Truy vấn đƣợc viết bởi ngôn ngữSQL
Select Query là loại truy vấn quan trọng nhất trong cơ sở dữ liệu, được sử dụng để trích xuất và lọc dữ liệu từ nhiều nguồn khác nhau, tạo ra một bảng kết quả.
- Đư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ất cả các yêu cầu liên quan đến việc tạo danh sách kết quả đều có thể được thực hiện thông qua câu lệnh SELECT Mỗi yêu cầu xử lý dữ liệu cần phải tạo ra một câu lệnh SELECT tương ứng, và mỗi câu lệnh này có thể được chỉnh sửa về cấu trúc cũng như nội dung Quy trình thực hiện bao gồm việc tạo ra câu lệnh SELECT đáp ứng yêu cầu và sau đó thi hành câu lệnh đó để thu nhận kết quả.
3.2.2 Các chế độ hiển thị truy vấn
- Cửa sổ thiết kế truy vấn (Design view)
Trong chế độ này, người dùng có khả năng tạo và chỉnh sửa truy vấn Màn hình truy vấn được chia thành hai phần: phần đầu hiển thị các bảng hoặc truy vấn tham gia, và phần thứ hai là vùng lưới QBE (Query By Example).
- Cửa sổ hiển thị truy vấn (DataSheet view)
Sử dụng chế độ này để xem kết quả
- Cửa sổ lệnh SQL (SQL view)
Sử dụng chế độ này để xem mã lệnh của truy vấn đang tạo
3.2.3.1 Tạo một truy vấn mới
Bước 1: Từ cửa sổ Database, click vào menu Create, Bấm chọn Query Design
Trong bước 2, hãy mở bảng Show Table để hiển thị các bảng có sẵn Chọn các bảng cần thiết cho truy vấn của bạn, nhấn nút Add và sau đó nhấn Close để hoàn tất.
Queries thì hiển thị truy vấn, chọn both thì hiển thị cả truy vấn và bảng dữ liệu)
Hình 3.1 Giao diện Show Table
Bước 3: Đưa các trường từ các bảng vào tham gia truy vần bằng cách kéo các trường và thả vào hàng Field trong vùng lưới QBE
Trong hang Sort: Sắp xếp dữ liệu ( nếu có)
Trong hàng Criteria đặt tiêu chuẩn ( nếu có) Lưu truy vấn
Hình 3.2 Khai báo thông tin cho Query
Chú ý: Mỗi truy vấn có :
+ Tối đa 32 bảng tham gia Tối đa 255 trường
+ Kích thước tối đa cảu bảng dữ liệu ( do truy vấn tạo ra) là 1 gigabyte Số trường dung làm khóa sắp xếp tối đa là 10
+ Số truy vấn lồng nhau tối đa là 50 cấp
+ Số ký tự tối đô trong ô của vùng lưới là 1024
+ Số ký tự tối đa trong dòng lệnh SQL là 64000 Số ký tự tối đa trong tham số là 255
3.2.3.2 Các thao tác với truy vấn
Các trường trong truy vấn sẽ hiển thị theo thứ tự xuất hiện trong vùng lưới QBE Để thay đổi thứ tự của trường, hãy đưa con trỏ vào thanh chọn cho đến khi con trỏ biến thành hình mũi tên trỏ xuống, sau đó click để chọn trường và kéo để thay đổi vị trí Để xóa trường, cũng đưa con trỏ vào thanh chọn cho đến khi con trỏ biến thành hình mũi tên trỏ xuống, sau đó click để chọn trường cần xóa.
Nhấn phím delete (Nếu muốn xoá tất cả các trường trong vùng lưới QBE: chọn Home/Delete) c Làm việc với vùng lưới QBE
Để xác định tên trường hiện tại trong vùng lưới QBE thuộc về bảng nào, người sử dụng cần vào chế độ Design View và nhấn vào mục View để xem kết quả truy vấn.
Để thiết kế truy vấn, bạn có thể chọn Menu Design/View hoặc Menu Design/Run Việc đổi tiêu đề cột trong truy vấn giúp bảng kết xuất trở nên dễ đọc hơn, trừ khi thuộc tính Caption đã được quy định.
Muốn đổi tiêu đề cột thực hiện các bước sau:
Bước 1: Mở truy vấn ở chế độ Design View Sau đó chọn vào bên trái ký tự đầu tiên của tên trường trong vùng lưới QBE
Bước 2: Gõ vào tên mới, theo sau là dấu 2 chấm(:)
Hình 3.3 Ví dụ đổi tiêu đề cột trong truy vấn f Định thứ tự sắp xếp
Có thể sử dụng nhanh trong chế độ datasheet View
Có thể tạo sắp xếp trong khi thiết kế truy vấn bằng cách chọn Ascending (tăng dần) hoặc Descending (giám dần) trong hàng Sort của vùng lưới QBE
* Chú ý: Nếu có nhiều trường định vị sắp xếp thì theo thứ tự ưu tiên từ trái sang phải g Che dấu hay thể hiện các trường trong Dynaset
Tại hàng Show ứng với trường cần che dấu chúng ta không chọn mặt dù nó vẫn tồn tại, vẫn tham gia truy vấn
Mối quan hệ giữa thuộc tính của trường trong truy vấn và bảng dữ liệu là rất quan trọng Theo mặc định, các trường trong truy vấn sẽ kế thừa tất cả thuộc tính từ bảng nguồn Nếu không có quy định nào khác, các trường trong Dynaset hoặc snapshot cũng sẽ giữ nguyên thuộc tính của bảng nguồn Khi thiết kế bảng nguồn thay đổi, thuộc tính của trường trong truy vấn cũng sẽ tự động cập nhật Tuy nhiên, nếu thuộc tính của các trường trong truy vấn được quy định lại, thì thuộc tính của trường trong bảng nguồn sẽ không bị ảnh hưởng.
Hình 3.4 Che dấu hay thể hiện các trường trong Dynaset h Các phép toán hỗ trợ khi thiết kế Query
- Bảng các phép toán số học
- Phép trừ mod Phép chia dƣ
- Bảng các phép toán chuỗi
- Bảng các phép toán so sánh
= So sánh lớn hơn hoặc bằng
- Bảng các phép toán logic
Phép toán phủ định: Not
like
So sánh giá trị của Field với Nếu giống thì trả về giá trị True, ngƣợc lại trả về False
Có thể sử dụng các ký tự đại diện trong so sánh, trong đó ký tự * đại diện cho một chuỗi ký tự và ký tự ? đại diện cho một ký tự đơn lẻ.
Ký tự #: đại diện cho một ký số
Ví dụ: Tenkh like “Cong ty TNHH *”→Tìm các khách hàng có tên bắt đầu là “Cong ty TNHH”
Ví dụ: Holot like “Nguyen *” → Tìm các nhân viên có họ “Nguyen”
between and
Tìm giá trị Field nằm trong một phạm vi Nếu tìm thấy sẽ cho giá trị True, ngƣợc lại trả về False
Ví dụ: Ngaylaphd between #01/01/02# and #31/12/02# → Tìm các hóa đơn lập trong năm 2002
in(;; …)
Tìm các giá trị của Field phù hợp với một trong các trong ngoặc Nếu tìm thấy thì trả về True, ngƣợc lại trả về False
Ví dụ: Thanhpho in(“Bien Hoa”;”Ha Noi”;”TpHCM”) →Tìm các khách hàng ở các thành phố: Bien Hoa, Ha Noi, TpHCM
Ví dụ: Month(Ngaylaphd) in(9;10) → Tìm các hóa đơn lập trong tháng 9 hoặc 10
- Phép toán “Is Null” “Is not Null “
is Null Is not Null
Kiểm tra giá trị của Field có rỗng hay không
Ví dụ: Dienthoaikh Is Null → Tìm các khách hàng chƣa có điện thoại
Ví dụ: Dienthoaikh Is not Null → Tìm các khách hàng đã có điện thoại
Ví dụ: Ngaynhan Is Null→ Tìm các hóa đơn chƣa giao hàng
- Một số hàm thường dung trong Query
1 IIf(;;) Kiểm tra điều kiện
IIf(ngaylaphd between #1/1/04# and #30/6/04#;”6 tháng đầu”;”6 tháng cuối”)
2 Month() Trả về giá trị tháng
3 Year() Trả về giá trị năm
4 Day() Trả về giá trị ngày
5 Datepart(“mã ngày tháng năm”;) Trả về khoảng phần của ngày
Datepart(“m”;ngaylaphd) → Trả về các giá trị tháng trong ngày lập đơn (1 – 12)
Datepart(“q”;ngaylaphd) → Trả về các giá trị quý trong ngày lập đơn (1 –
Datepart(“yyyy”;ngaylaphd) → Trả về các giá trị năm trong ngày lập đơn
6 Val() Trả về giá trị số
7 Round(;