Bài 11: Các thao tác với cơ sở dữ liệu quan hệ


1. Tạo lập CSDL

- Tạo bảng: B­ước đầu tiên trong việc tạo lập một CSDL quan hệ là tạo ra một hay nhiều bảng. Để thực hiện điều đó, cần phải khai báo cấu trúc bảng, bao gồm:

+ Đặt tên các trường;

+ Chỉ định kiểu dữ liệu cho mỗi trường;

+ Khai báo kích thước của trường.

Một ví dụ về giao diện để tạo bảng như trong hình 1 dưới đây:

Hình 1. Giao diện tạo bảng trong Access 

- Chọn khoá chính cho bảng bằng cách để hệ QTCSDL tự động chọn hoặc ta xác định khoá thích hợp trong các khoá của bảng làm khoá chính.

- Đặt tên bảnglưu cấu trúc bảng.

- Tạo liên kết giữa các bảng bằng cách xác định các trường chung trong các bảng. Liên kết giúp hệ QTCSDL biết kết nối các bảng như thế nào để phục vụ việc kết xuất thông tin.

Ngoài ra, như đã được giới thiệu ở chương II, các hệ QTCSDL đều cho phép ta có thể thay đổi cấu trúc bảng, thay đổi khoá chính và xóa bảng... 

2. Cập nhật dữ liệu

- Sau khi tạo cấu trúc ta có thể nhập dữ liệu cho bảng. Thông thường việc nhập dữ liệu được thực hiện từ bàn phím. Quá trình cập nhật đảm bảo một số ràng buộc toàn vẹn đã được khai báo.

- Phần lớn các hệ QTCSDL cho phép tạo ra biểu mẫu nhập dữ liệu (hình 2) để việc nhập dễ dàng hơn, nhanh hơn và hạn chế khả năng nhầm lẫn.

- Dữ liệu nhập vào có thể được chỉnh sửa, thêm, xoá:

+ Thêm bản ghi bằng cách bổ sung một hoặc một vài bộ dữ liệu vào bảng

+ Chỉnh sửa dữ liệu là việc thay đổi các giá trị của một vài thuộc tínhcủa một bộ.

+ Xoá bản ghi là việc xoá một hoặc một số bộ của bảng.

Hình 2. Biểu mẫu nhập dữ liệu trong hệ QTCSDL Foxpro

3. Khai thác CSDL

a. Sắp xếp các bản ghi

- Một trong những việc mà một hệ QTCSDL thường phải thực hiện là tổ chức hoặc cung cấp phư­ơng tiện truy cập các bản ghi theo một trình tự nào đó.

- Ta có thể hiển thị trên màn hình hay in ra các bản ghi theo trình tự này.

- Các bản ghi có thể được sắp xếp theo nội dung của một hay nhiều trường. 

Ví dụ: Có thể xếp danh sách học sinh theo bảng chữ cái của trường tên (hình 3), hoặc theo thứ tự giảm dần của ngày sinh:

Hình 3. Dữ liệu được sắp xếp tên theo bảng chữ cái 

b. Truy vấn CSDL

Truy vấn là một phát biểu thể hiện yêu cầu của người dùng. 

Để phục vụ được việc truy vấn CSDL, thông thư­ờng các hệ QTCSDL cho phép nhập các biểu thức hay các tiêu chí nhằm các mục đích sau:

- Định vị các bản ghi;

- Thiết lập liên kết giữa các bảng để kết xuất thông tin;

- Liệt kê một tập con các bản ghi hoặc tập con các trường;

- Thực hiện các phép toán;

- Thực hiện các thao tác quản lí dữ liệu khác.

SQL là một công cụ mạnh trong các hệ QTCSDL quan hệ thông dụng hiện nay. Nó cho phép người dùng thể hiện truy vấn mà không cần biết nhiều về cấu trúc CSDL.

c. Xem dữ liệu

Thông thư­ờng các hệ QTCSDL cung cấp nhiều cách xem dữ liệu:

- Có thể xem toàn bộ bảng, tuy nhiên với những bảng có nhiều trường và kích thước trường lớn thì việc xem toàn bộ bảng khó thực hiện, màn hình chỉ có thể hiển thị một phần của bảng.

- Có thể dùng công cụ lọc dữ liệu để xem một tập con các bản ghi hoặc một số trường trong một bảng.

- Các hệ QTCSDL quan hệ quen thuộc cũng cho phép tạo ra các biểu mẫu để xem các bản ghi. Các biểu mẫu này giống với các biểu mẫu nhập dữ liệu về mặt thiết kế, chỉ khác là chúng được sử dụng để hiển thị dữ liệu sẵn có chứ không phải để tiếp nhận dữ liệu mới. Ta có thể tạo ra các chế độ hiển thị dữ liệu đơn giản, dễ hiểu, chỉ hiển thị mỗi lần một bản ghi. Dùng các biểu mẫu phức tạp có thể hiển thị các thông tin có liên quan được kết xuất từ nhiều bảng. 

Hình 4. Ví dụ về biểu mẫu hiển thị dữ liệu

d. Kết xuất báo cáo

- Thông tin trong một báo cáo được thu thập bằng cách tập hợp dữ liệu theo các tiêu chí do người dùng đặt ra.

- Báo cáo thư­ờng được in ra hay hiển thị trên màn hình theo khuôn mẫu định sẵn.

- Cũng như biểu mẫu, báo cáo có thể xây dựng dựa trên các truy vấn. 

1. Tạo lập CSDL

- Tạo bảng: B­ước đầu tiên trong việc tạo lập một CSDL quan hệ là tạo ra một hay nhiều bảng. Để thực hiện điều đó, cần phải khai báo cấu trúc bảng, bao gồm:

+ Đặt tên các trường;

+ Chỉ định kiểu dữ liệu cho mỗi trường;

+ Khai báo kích thước của trường.

Một ví dụ về giao diện để tạo bảng như trong hình 1 dưới đây:

Hình 1. Giao diện tạo bảng trong Access 

- Chọn khoá chính cho bảng bằng cách để hệ QTCSDL tự động chọn hoặc ta xác định khoá thích hợp trong các khoá của bảng làm khoá chính.

- Đặt tên bảnglưu cấu trúc bảng.

- Tạo liên kết giữa các bảng bằng cách xác định các trường chung trong các bảng. Liên kết giúp hệ QTCSDL biết kết nối các bảng như thế nào để phục vụ việc kết xuất thông tin.

Ngoài ra, như đã được giới thiệu ở chương II, các hệ QTCSDL đều cho phép ta có thể thay đổi cấu trúc bảng, thay đổi khoá chính và xóa bảng... 

2. Cập nhật dữ liệu

- Sau khi tạo cấu trúc ta có thể nhập dữ liệu cho bảng. Thông thường việc nhập dữ liệu được thực hiện từ bàn phím. Quá trình cập nhật đảm bảo một số ràng buộc toàn vẹn đã được khai báo.

- Phần lớn các hệ QTCSDL cho phép tạo ra biểu mẫu nhập dữ liệu (hình 2) để việc nhập dễ dàng hơn, nhanh hơn và hạn chế khả năng nhầm lẫn.

- Dữ liệu nhập vào có thể được chỉnh sửa, thêm, xoá:

+ Thêm bản ghi bằng cách bổ sung một hoặc một vài bộ dữ liệu vào bảng

+ Chỉnh sửa dữ liệu là việc thay đổi các giá trị của một vài thuộc tínhcủa một bộ.

+ Xoá bản ghi là việc xoá một hoặc một số bộ của bảng.

Hình 2. Biểu mẫu nhập dữ liệu trong hệ QTCSDL Foxpro

3. Khai thác CSDL

a. Sắp xếp các bản ghi

- Một trong những việc mà một hệ QTCSDL thường phải thực hiện là tổ chức hoặc cung cấp phư­ơng tiện truy cập các bản ghi theo một trình tự nào đó.

- Ta có thể hiển thị trên màn hình hay in ra các bản ghi theo trình tự này.

- Các bản ghi có thể được sắp xếp theo nội dung của một hay nhiều trường. 

Ví dụ: Có thể xếp danh sách học sinh theo bảng chữ cái của trường tên (hình 3), hoặc theo thứ tự giảm dần của ngày sinh:

Hình 3. Dữ liệu được sắp xếp tên theo bảng chữ cái 

b. Truy vấn CSDL

Truy vấn là một phát biểu thể hiện yêu cầu của người dùng. 

Để phục vụ được việc truy vấn CSDL, thông thư­ờng các hệ QTCSDL cho phép nhập các biểu thức hay các tiêu chí nhằm các mục đích sau:

- Định vị các bản ghi;

- Thiết lập liên kết giữa các bảng để kết xuất thông tin;

- Liệt kê một tập con các bản ghi hoặc tập con các trường;

- Thực hiện các phép toán;

- Thực hiện các thao tác quản lí dữ liệu khác.

SQL là một công cụ mạnh trong các hệ QTCSDL quan hệ thông dụng hiện nay. Nó cho phép người dùng thể hiện truy vấn mà không cần biết nhiều về cấu trúc CSDL.

c. Xem dữ liệu

Thông thư­ờng các hệ QTCSDL cung cấp nhiều cách xem dữ liệu:

- Có thể xem toàn bộ bảng, tuy nhiên với những bảng có nhiều trường và kích thước trường lớn thì việc xem toàn bộ bảng khó thực hiện, màn hình chỉ có thể hiển thị một phần của bảng.

- Có thể dùng công cụ lọc dữ liệu để xem một tập con các bản ghi hoặc một số trường trong một bảng.

- Các hệ QTCSDL quan hệ quen thuộc cũng cho phép tạo ra các biểu mẫu để xem các bản ghi. Các biểu mẫu này giống với các biểu mẫu nhập dữ liệu về mặt thiết kế, chỉ khác là chúng được sử dụng để hiển thị dữ liệu sẵn có chứ không phải để tiếp nhận dữ liệu mới. Ta có thể tạo ra các chế độ hiển thị dữ liệu đơn giản, dễ hiểu, chỉ hiển thị mỗi lần một bản ghi. Dùng các biểu mẫu phức tạp có thể hiển thị các thông tin có liên quan được kết xuất từ nhiều bảng. 

Hình 4. Ví dụ về biểu mẫu hiển thị dữ liệu

d. Kết xuất báo cáo

- Thông tin trong một báo cáo được thu thập bằng cách tập hợp dữ liệu theo các tiêu chí do người dùng đặt ra.

- Báo cáo thư­ờng được in ra hay hiển thị trên màn hình theo khuôn mẫu định sẵn.

- Cũng như biểu mẫu, báo cáo có thể xây dựng dựa trên các truy vấn. 

Bài học tiếp theo

Bài tập và thực hành 10: Hệ cơ sở dữ liệu quan hệ

Bài học bổ sung