Tạo hoặc sửa đổi bảng hoặc chỉ mục bằng cách sử dụng truy vấn định nghĩa dữ liệu

Quan trọng:  Bài viết này là dịch máy, hãy xem tuyên bố miễn trừ trách nhiệm. Bạn hãy tìm phiên bản tiếng Anh của bài viết này tại đây để tham khảo.

Trong Microsoft Office Access 2007, thật dễ dàng để tạo và sửa đổi bảng, ràng buộc và chỉ mục trong dạng xem thiết kế, và tạo mối quan hệ bằng cách dùng Cửa sổ mối quan hệ. Ngoài ra, bạn có thể tạo và sửa đổi các cùng một thực thể bằng cách viết các truy vấn định nghĩa dữ liệu trong dạng xem SQL.

Bài viết này mô tả truy vấn định nghĩa dữ liệu, và trình diễn cách sử dụng truy vấn như vậy để tạo bảng, chỉ mục, ràng buộc và mối quan hệ. Bài viết này cũng có thể giúp bạn quyết định khi nào nên dùng truy vấn định nghĩa dữ liệu.

Bạn muốn làm gì?

Tìm hiểu khi nào nên dùng truy vấn định nghĩa dữ liệu

Tạo hoặc sửa đổi một bảng

Tạo chỉ mục

Tạo một giới hạn hoặc mối quan hệ

Tìm hiểu khi nào nên dùng truy vấn định nghĩa dữ liệu

Không giống như các truy vấn, truy vấn định nghĩa dữ liệu không truy xuất dữ liệu. Hầu hết các truy vấn sử dụng dữ liệu thao tác ngôn ngữ (DML), bao gồm ngôn ngữ truy vấn có cấu trúc (SQL) lệnh xác định cách dữ liệu từ hiện có các đối tượng cơ sở dữ liệu được kết hợp và thao tác để tạo ra kết quả dữ liệu mà bạn muốn. Truy vấn định nghĩa dữ liệu sử dụng dữ liệu định nghĩa ngôn ngữ (DDL), bao gồm các lệnh SQL xác định định nghĩa của đối tượng cơ sở dữ liệu lưu trữ hoặc lập chỉ mục cho dữ liệu, và lệnh SQL kiểm soát người dùng quyền truy nhập vào đối tượng cơ sở dữ liệu. Trong Office Access 2007, truy vấn định nghĩa dữ liệu xác định hoặc thay đổi định nghĩa của đối tượng cơ sở dữ liệu.

Nói chung, bạn nên sử dụng giao diện đồ hoạ thiết kế đó Office Access 2007 cung cấp (ví dụ, dạng xem thiết kế và cửa sổ mối quan hệ) để tạo bảng, ràng buộc, chỉ mục và mối quan hệ. Tuy nhiên, nếu bạn có bảng mà bạn thường xuyên xóa và tạo lại, bằng cách dùng các giao diện có thể sẽ mất thời gian. Bằng cách sử dụng truy vấn định nghĩa dữ liệu, bạn có thể viết truy vấn một lần, rồi chạy nó lại khi cần thiết. Cân nhắc sử dụng truy vấn định nghĩa dữ liệu chỉ khi bạn đã quen thuộc với câu lệnh SQL và nếu bạn dự định xóa và tạo lại bảng cụ thể, ràng buộc, hoặc chỉ mục thường xuyên.

Quan trọng: Sử dụng truy vấn định nghĩa dữ liệu để chỉnh sửa đối tượng cơ sở dữ liệu có thể rủi ro, vì các hành động không đi kèm với bằng hộp thoại xác nhận. Nếu bạn kéo nhầm, bạn có thể làm mất dữ liệu hoặc vô tình thay đổi thiết kế của bảng. Cẩn thận khi bạn dùng truy vấn định nghĩa dữ liệu để chỉnh sửa đối tượng trong cơ sở dữ liệu của bạn. Nếu bạn không chịu trách nhiệm cho duy trì cơ sở dữ liệu mà bạn đang dùng, bạn nên tham khảo với người quản trị của cơ sở dữ liệu trước khi chạy một truy vấn định nghĩa dữ liệu. Ngoài ra, đó là nên để tạo bản sao của bất kỳ bảng mà bạn đang chạy một truy vấn.

Đầu Trang

Tạo hoặc sửa đổi một bảng

Để tạo bảng, bạn sử dụng lệnh tạo bảng. Lệnh tạo bảng có cú pháp sau:

CREATE TABLE table_name
(field1 type [(size)] [NOT NULL] [index1]
[, field2 type [(size)] [NOT NULL] [index2]
[, ...][, CONSTRAINT constraint1 [, ...]])

Các thành phần bắt buộc chỉ của một lệnh tạo bảng là lệnh tạo bảng chính nó, tên của bảng, ít nhất một trường và kiểu dữ liệu của mỗi trường. Hãy xem một ví dụ đơn giản.

Giả sử bạn muốn tạo một bảng để lưu trữ tên, năm và giá được sử dụng xe hơi mà bạn đang xem xét để mua. Bạn muốn cho phép tối đa 30 ký tự tên và 4 ký tự trong năm. Để sử dụng truy vấn định nghĩa dữ liệu để tạo bảng, hãy làm như sau:

Ghi chú: Đầu tiên bạn phải bật nội dung của cơ sở dữ liệu theo thứ tự cho một truy vấn định nghĩa dữ liệu để chạy.

  1. Trên Thanh thông báo, bấm tùy chọn, sau đó bấm bật nội dung này.

  2. Trên tab Tạo, trong nhóm Khác, bấm Thiết kế Truy vấn.

  3. Đóng hộp thoại Hiện Bảng.

  4. Trên tab thiết kế , trong nhóm Kiểu truy vấn , hãy bấm Định nghĩa dữ liệu.

    Lưới thiết kế bị ẩn, và hiển thị tab đối tượng dạng xem SQL.

  5. Kiểu câu lệnh SQL sau đây:

    TẠO bảng xe hơi (tên TEXT(30), năm TEXT(4), giá tiền tệ)

  6. Trên tab Thiết kế, trong nhóm Kết quả, bấm Chạy.

Sửa đổi một bảng

Để sửa đổi một bảng, bạn sử dụng một lệnh thay đổi bảng. Bạn có thể sử dụng một lệnh thay đổi bảng để thêm, sửa đổi hoặc bỏ (loại bỏ) cột hoặc ràng buộc. Một lệnh thay đổi bảng có cú pháp sau:

ALTER TABLE table_name predicate

nơi vị từ có thể là những điều sau đây:

ADD COLUMN field type[(size)] [NOT NULL] [CONSTRAINT constraint]

ADD CONSTRAINT multifield_constraint

ALTER COLUMN field type[(size)]

DROP COLUMN field

DROP CONSTRAINT constraint

Giả sử bạn muốn thêm một trường văn bản 10 ký tự để lưu thông tin về điều kiện của mỗi xe. Bạn có thể thực hiện các thao tác sau:

  1. Trên tab Tạo, trong nhóm Khác, bấm Thiết kế Truy vấn.

  2. Đóng hộp thoại Hiện Bảng.

  3. Trên tab thiết kế , trong nhóm Kiểu truy vấn , hãy bấm Định nghĩa dữ liệu.

    Lưới thiết kế bị ẩn, và hiển thị tab đối tượng dạng xem SQL.

  4. Kiểu câu lệnh SQL sau đây:

    Thay đổi bảng xe hơi thêm cột điều kiện TEXT(10)

  5. Trên tab Thiết kế, trong nhóm Kết quả, bấm Chạy.

Đầu Trang

Tạo chỉ mục

Để tạo chỉ mục trên một bảng hiện có, bạn sử dụng lệnh tạo chỉ mục. Lệnh tạo chỉ mục có cú pháp sau:

CREATE [UNIQUE] INDEX index_name
ON table (field1 [DESC][, field2 [DESC], ...])
[WITH {PRIMARY | DISALLOW NULL | IGNORE NULL}]

Các thành phần bắt buộc chỉ là tạo chỉ mục lệnh, tên của chỉ mục, đối số ON, tên của bảng có chứa các trường mà bạn muốn chỉ mục và danh sách các trường được bao gồm trong chỉ mục.

  • Nguyên nhân đối số DESC chỉ mục được tạo trong giảm dần, có thể hữu ích nếu bạn thường xuyên chạy truy vấn tìm kiếm trên cùng các giá trị cho trường được lập chỉ mục, hoặc có sắp xếp trường được lập chỉ mục theo thứ tự giảm dần. Theo mặc định, chỉ mục được tạo trong thứ tự tăng dần.

  • Đối số với chính thiết lập một chỉ mục hoặc nhiều trường như khóa chính của bảng.

  • Đối số với không cho phép NULL khiến chỉ mục để yêu cầu một giá trị được nhập vào trường được lập chỉ mục — tức là giá trị null không cho phép.

Giả sử bạn có một bảng có tên là xe hơi với các trường lưu trữ tên, năm, giá và điều kiện sử dụng xe hơi mà bạn đang xem xét để mua. Giả sử rằng bảng có trở nên lớn và bạn thường bao gồm năm trường trong truy vấn. Bạn có thể tạo chỉ mục trên trường năm để giúp truy vấn của bạn trả về kết quả nhanh hơn bằng cách sử dụng thủ tục sau đây:

  1. Trên tab Tạo, trong nhóm Khác, bấm Thiết kế Truy vấn.

  2. Đóng hộp thoại Hiện Bảng.

  3. Trên tab thiết kế , trong nhóm Kiểu truy vấn , hãy bấm Định nghĩa dữ liệu.

    Lưới thiết kế bị ẩn, và hiển thị tab đối tượng dạng xem SQL.

  4. Kiểu câu lệnh SQL sau đây:

    TẠO chỉ mục YearIndex trên xe hơi (năm)

  5. Trên tab Thiết kế, trong nhóm Kết quả, bấm Chạy.

Đầu Trang

Tạo một giới hạn hoặc mối quan hệ

Ràng buộc thiết lập một điều kiện lô-gic một trường hoặc kết hợp của trường phải đáp ứng khi giá trị được chèn vào. Ví dụ, một giới hạn duy nhất ngăn hạn chế trường cách chấp nhận một giá trị nào trùng lặp một giá trị hiện có cho trường.

Mối quan hệ là một kiểu ràng buộc tham chiếu đến giá trị của một trường hoặc kết hợp trường trong một bảng khác để xác định xem một giá trị có thể được chèn trong hạn chế những trường hợp của trường.

Để tạo một giới hạn, bạn sử dụng một mệnh đề ràng buộc trong một lệnh tạo bảng hoặc bảng thay đổi. Có hai loại ràng buộc mệnh đề: một để tạo một giới hạn trên một trường và khác để tạo một giới hạn trên nhiều trường.

Trường ràng buộc

Một trường ràng buộc mệnh đề ngay lập tức theo xác định trường nó buộc, và có cú pháp sau:

CONSTRAINT constraint_name {PRIMARY KEY | UNIQUE | NOT NULL |
REFERENCES foreign_table [(foreign_field)]
[ON UPDATE {CASCADE | SET NULL}]
[ON DELETE {CASCADE | SET NULL}]}

Giả sử bạn có một bảng có tên là xe hơi với các trường lưu trữ tên, năm, giá và điều kiện sử dụng xe hơi mà bạn đang xem xét để mua. Giả sử bạn thường xuyên quên để nhập một giá trị cho điều kiện của xe hơi, và bạn luôn muốn ghi lại thông tin này. Bạn có thể tạo một giới hạn trên điều kiện trường ngăn cản bạn rời khỏi trường trống, theo quy trình sau đây:

  1. Trên tab Tạo, trong nhóm Khác, bấm Thiết kế Truy vấn.

  2. Đóng hộp thoại Hiện Bảng.

  3. Trên tab thiết kế , trong nhóm Kiểu truy vấn , hãy bấm Định nghĩa dữ liệu.

    Lưới thiết kế bị ẩn, và hiển thị tab đối tượng dạng xem SQL.

  4. Kiểu câu lệnh SQL sau đây:

    Thay đổi bảng xe hơi thay đổi cột điều kiện văn bản ràng buộc ConditionRequired không phải là NULL

  5. Trên tab Thiết kế, trong nhóm Kết quả, bấm Chạy.

Bây giờ, giả sử rằng, sau khi một lúc, bạn nhận thấy rằng có là nhiều giá trị tương tự như trong điều kiện trường phải giống. Ví dụ, một số xe có một giá trị điều kiện của kém và những người khác có giá trị không hợp lệ. Sau khi bạn dọn dẹp các giá trị sao cho chúng nhất quán hơn, bạn có thể tạo một bảng có tên là CarCondition, với một trường có tên là điều kiện, có chứa tất cả các giá trị mà bạn muốn dùng cho điều kiện xe hơi:

  1. Trên tab Tạo, trong nhóm Khác, bấm Thiết kế Truy vấn.

  2. Đóng hộp thoại Hiện Bảng.

  3. Trên tab thiết kế , trong nhóm Kiểu truy vấn , hãy bấm Định nghĩa dữ liệu.

    Lưới thiết kế bị ẩn, và hiển thị tab đối tượng dạng xem SQL.

  4. Kiểu câu lệnh SQL sau đây:

    TẠO bảng CarCondition (điều kiện TEXT(10))

  5. Trên tab Thiết kế, trong nhóm Kết quả, bấm Chạy.

  6. Để chèn các giá trị từ điều kiện của bảng xe hơi trường vào bảng CarCondition mới, hãy nhập SQL sau đây vào tab đối tượng dạng xem SQL:

    CHÈN vào CarCondition chọn điều kiện riêng biệt từ xe hơi;

    Ghi chú: Câu lệnh SQL trong bước này là một truy vấn chắp thêm. Không giống như một truy vấn định nghĩa dữ liệu, một truy vấn chắp thêm kết thúc bằng dấu chấm phẩy.

  7. Trên tab Thiết kế, trong nhóm Kết quả, bấm Chạy.

Để yêu cầu bất kỳ giá trị mới được chèn vào trong trường điều kiện của bảng xe hơi khớp với một giá trị điều kiện trường trong bảng CarCondition, sau đó bạn có thể tạo một mối quan hệ giữa CarCondition và xe hơi trên trường có tên là điều kiện, theo quy trình sau đây:

  1. Trên tab Tạo, trong nhóm Khác, bấm Thiết kế Truy vấn.

  2. Đóng hộp thoại Hiện Bảng.

  3. Trên tab thiết kế , trong nhóm Kiểu truy vấn , hãy bấm Định nghĩa dữ liệu.

    Lưới thiết kế bị ẩn, và hiển thị tab đối tượng dạng xem SQL.

  4. Kiểu câu lệnh SQL sau đây:

    Thay đổi bảng xe hơi thay đổi cột điều kiện văn bản ràng buộc FKeyCondition tham chiếu CarCondition (điều kiện)

  5. Trên tab Thiết kế, trong nhóm Kết quả, bấm Chạy.

Ràng buộc trong nhiều trường

Một mệnh đề ràng buộc nhiều trường có thể dùng chỉ ở bên ngoài mệnh đề trường định nghĩa và có cú pháp sau:

CONSTRAINT constraint_name 
{PRIMARY KEY (pk_field1[, pk_field2[, ...]]) |
UNIQUE (unique1[, unique2[, ...]]) |
NOT NULL (notnull1[, notnull2[, ...]]) |
FOREIGN KEY [NO INDEX] (ref_field1[, ref_field2[, ...]])
REFERENCES foreign_table
[(fk_field1[, fk_field2[, ...]])] |
[ON UPDATE {CASCADE | SET NULL}]
[ON DELETE {CASCADE | SET NULL}]}

Hãy xem ví dụ khác bằng cách dùng bảng xe hơi. Giả sử bạn muốn để đảm bảo rằng không có hai bản ghi trong bảng xe hơi có cùng một bộ giá trị cho tên, năm, điều kiện và giá. Bạn có thể tạo một giới hạn duy nhất áp dụng cho các trường này, theo quy trình sau đây:

  1. Trên tab Tạo, trong nhóm Khác, bấm Thiết kế Truy vấn.

  2. Đóng hộp thoại Hiện Bảng.

  3. Trên tab thiết kế , trong nhóm Kiểu truy vấn , hãy bấm Định nghĩa dữ liệu.

    Lưới thiết kế bị ẩn, và hiển thị tab đối tượng dạng xem SQL.

  4. Kiểu câu lệnh SQL sau đây:

    Thay đổi bảng xe hơi thêm ràng buộc NoDupes duy nhất (tên, năm, điều kiện, price)

  5. Trên tab Thiết kế, trong nhóm Kết quả, bấm Chạy.

Đầu Trang

Ghi chú: Tuyên bố miễn trừ trách nhiệm Dịch Máy: Bài viết này do một hệ thống máy tính dịch mà không có sự can thiệp của con người. Microsoft cung cấp những bản dịch máy này để giúp người dùng không nói tiếng Anh hiểu nội dung về các sản phẩm, dịch vụ và công nghệ của Microsoft. Do bài viết này được dịch máy nên có thể có các lỗi về từ vựng, cú pháp hoặc ngữ pháp.

Phát triển các kỹ năng của bạn
Khám phá nội dung đào tạo
Sở hữu tính năng mới đầu tiên
Tham gia Người dùng nội bộ Office

Thông tin này có hữu ích không?

Cảm ơn phản hồi của bạn!

Cảm ơn bạn đã phản hồi! Để trợ giúp tốt hơn, có lẽ chúng tôi sẽ kết nối bạn với một trong những nhân viên hỗ trợ Office của chúng tôi.

×