Ban chỉ ĐẠo công nghệ thông tin của cơ quan đẢng giáo trình thiết kế, XÂy dựng và quản trị CƠ SỞ DỮ liệu hà NỘI, 2004



tải về 1.04 Mb.
trang19/29
Chuyển đổi dữ liệu07.07.2016
Kích1.04 Mb.
1   ...   15   16   17   18   19   20   21   22   ...   29

3.Các ràng buộc toàn vẹn SQL


Trong chương 2 bạn đã thấy rằng sự tôn trọng các quy tắc toàn vẹn tham chiếu và toàn vẹn thực thể là quan trọng trong môi trường CSDL quan hệ. May mắn là phần lớn các cài đặt SQL đều hỗ trợ cả hai quy tắc toàn vẹn này. Chẳng hạn, toàn vẹn thực thể được thực thi tự động nếu khóa chính được mô tả trong dãy lệnh CREATE TABLE. Do đó, chúng ta có thể tạo cấu trúc bảng VENDOR và chuẩn bị thực thi quy tắc toàn vẹn thực thể bởi

CREATE TABLE VENDOR ( V_CODE SMALLINT NOT NULL,


V_COMPANY CHAR(25),
C_LNAME CHAR(12),
C_FNAME CHAR(10),
C_I CHAR(2),
V_PHONE CHAR(12),
V_ADDRESS CHAR(30),
V_CITY CHAR(20),
V_STATE CHAR(2),
V_ZIP CHAR(5)
PRIMARY KEY(V_CODE));

Chuẩn bị thực thi quy tắc toàn vẹn tham chiếu được thiết lập bởi mô tả khoá ngoại trong lệnh CREATE TABLE. Chẳng hạn, chúng ta có thực hiện nhiệm vụ này bằng cách tạo cấu trúc bảng INVENTRY như sau:

CREATE TABLE INVENTRY ( P_CODE CHAR(8) NOT NULL,
P_DESCRIPT CHAR(25),
STOCK_DATE DATE,
ON_HAND SMALLINT,
MIN_QUANT SMALLINT,
PRICE DECIMAL(7,2),
V_CODE SMALLINT
PRIMARY KEY(P_CODE),
FOREIGN KEY(V_CODE) REFERENCES VENDOR);

Chúng ta sẽ thấy trong chương 4 mệnh đề khoá ngoại và khóa chính này quan trọng như thế nào trong việc cài đặt mô hình E-R.


III.QUẢN LÝ DỮ LIỆU CƠ BẢN


Trong phần này bạn sẽ học sử dụng các lệnh SQL sau đây:

(a)Lệ

(b)Giải thích

INSERT

Cho phép bạn chèn dữ liệu vào bảng, mỗi hàng một lần. Thường dùng để tạo mục dữ liệu đầu tiên cho cấu trúc bảng mới hoặc bổ sung dữ liệu cho bảng đang chứa dữ liệu.

SELECT

Liệt kê nội dung bảng. Thực tế, SELECT là lệnh vấn tin chứ không phải lệnh quản lý dữ liệu. Tuy nhiên, SELECT được giới thiệu trong phần này vì nó cho phép bạn kiểm tra kết quả của nỗ lực quản lý dữ liệu.

COMMIT

Cho phép bạn lưu kết quả làm việc lên đĩa

UPDATE

Cho phép bạn tạo sự thay đổi dữ liệu.

DELETE

Cho phép bạn xoá một hoặc nhiều hàng dữ liệu.

ROLLBACK

Khôi phục lại nội dung CSDL về trạng thái ban đầu (từ sau COMMIT cuối cùng được dùng).

2.Nhập dữ liệu


SQL yêu cầu dùng lệnh INSERT để nhập dữ liệu vào bảng. Chúng ta sẽ trình bày INSERT với hai hàng dữ liệu đầu tiên từ bảng INVENTRY được chỉ ra trên bảng 3.1:

13-Q2/P2
ZW-23116

7.25in, power saw blade
2.5in, wood screw, 100

08/12/91
06/25/91

32
237

15
100

14.99
8.45

21344
21231

Để nhập dữ liệu này, bạn gõ

INSERT INTO INVENTRY VALUES(‘13-Q2/P2’,’ 7.25in, power saw blade’, ‘08/12/91’,32, 15, 14.99, 21344);

và nhấn phím ENTER; sau đó gõ

INSERT INTO INVENTRY VALUES(‘ZW-23116’,’ 2.5in, wood screw, 100’, ‘06/25/91’,237, 100, 8.45, 21231);

và nhấn lại phím ENTER lần nữa.

Nhận xét rằng

Nội dung hàng được đưa vào giữa cặp dấu ngoặc. (Lưu ý rằng kí tự đầu tiên sau VALUES là dấu mở ngoặc và kí tự cuối cùng trong dãy lệnh là dấu đóng ngoặc)

Giá trị kiểu ngày và kiểu kí tự phải được đưa vào giữa cặp dấu nháy (‘).

Giá trị số không cần bao bởi dấu nháy.

Các mục dữ liệu tách nhau bởi dấu phảy.

Rõ ràng, nhập dữ liệu hơi rắc rối trong môi trường SQL. Nhớ rằng các ứng dụng người dùng đầu cuối được tạo ra tốt nhất với các tiện ích có màn hình nhập liệu hấp dẫn (và dễ dùng!).

3.Kiểm tra nội dung bảng


Để kiểm tra nội dung bảng tại mỗi thời điểm, dùng lệnh SELECT, kèm theo sau là danh sách các thuộc tính cần kiểm tra. Hoặc nếu bạn muốn kiểm tra theo tất cả thuộc tính, dùng * để chỉ ra “tất cả thuộc tính”. (Kí hiệu thay thế cho các kí tự khác hoặc các lạnh được gọi là kí tự thay thế). Chẳng hạn, một trong hai dãy lệnh

SELECT * FROM INVENTRY

hoặc

SELECT P_CODE, P_DESSCRIPT, STOCK_DATE, ON_HAND, MIN_QUANT,


PRICE, V_CODE FROM INVENTRY

đều tạo ra kết quả sau đây:



P_CODE

P_DESCRIPT

STOCK_DATE

ON_HAND

MIN_QUANT

PRICE

V_CODE

1
Lưu ý: Một số cài đặt SQL (chẳng hạn ORACLE) cắt bớt tên thuộc tính để phù hợp với độ rộng của cột.

3-Q2/P2
ZW-23116

7.25in, power saw blade
2.5in, wood screw, 100

08/12/91
06/25/91

32
237

15
100

14.99
8.45

21344
21231

Mặc dù các lệnh SQL có thể được đưa vào trên một dòng duy nhất, dãy lệnh được xem là rõ ràng dễ đọc nhất (cấu trúc tốt nhất) khi các thành phần của lệnh SQL được viết trên các dòng tách biệt. Vì vậy, chúng ta sẽ viết lại các lệnh nêu trên như sau:

SELECT *
FROM INVENTRY;

hoặc

SELECT P_CODE, P_DESSCRIPT, STOCK_DATE, ON_HAND, MIN_QUANT,


PRICE, V_CODE
FROM INVENTRY;

1   ...   15   16   17   18   19   20   21   22   ...   29


Cơ sở dữ liệu được bảo vệ bởi bản quyền ©hocday.com 2016
được sử dụng cho việc quản lý

    Quê hương