SCHAME CƠ SỞ DỮ LIỆU

Một phần của tài liệu Đề tài “Xây dựng Website hỗ trợ quản lý kinh doanh thuốc thú y và thủy sản trên mạng internet” (Trang 20 - 23)

Chương II. TÌM HIỂU CƠ SỞ DỮ LIỆU ORACLE

II.2.3. SCHAME CƠ SỞ DỮ LIỆU

Một schame CSDL là một tập hợp các cấu trúc logic các đối tượng hay schame objects. Schame objects này bao gồm tables, indexes, clusters, views, stored procedures, database triggers and sequences.

1. Table

Một bảng là một đơn vị cơ sở lưu trữ vật lý trong CSDL Oracle, mà nó bao gồm một tên bảng và các hàng, các cột của dữ liệu trong đó mỗi cột có một kiểu dữ liệu với chiều dài xác định cho cột đó.

a) Tạo Table Cú pháp:

CREATE TABLE tênbảng (tên_cột kiểu_dữ_liệu(độdài) [,…n]);

- Tạo ràng buộc khóa chính cho bảng:

Cú pháp:

CONSTRAINT <tên_constraint> PRIMARY KEY <tên_cột [,…n]>;

- Tạo ràng buộc khóa ngoại cho bảng:

Cú pháp:

CONSTRAINT <tên_constraint foreign_key> FOREIGN KEY (tên cột là khóa chính của bảng cha) REFERENCES tên_bảng_cha(tên cột là khóa chính của bảng cha);

- Tạo ràng buộc unique cho cột trong bảng:

Ràng buộc unique bảo đảm không có hai hàng của một bảng dữ liệu có giá trị trùng nhau trên cột có áp đặt ràng buộc này.

Cú pháp:

CONSTRAINT <tên_constraint_unique> UNIQUE (tên_cột);

- Tạo ràng buộc Check Condition cho cột trong bảng:

Cú pháp:

CONSTRAINT <tên_constraint_check>CHECK(tên_cột toán_tử_so_sánh giá_trị);

- Tạo ràng buộc NOT NULL cho cột trong bảng:

Thêm cụm từ NOT NULL theo sau tên cột khi tạo bảng.

Ví dụ: TênTỉnh VARCHAR2(20) NOT NULL,

b) Thêm, xóa và bổ sung độ dài dữ liệu một cột - Thêm một cột:

Cú pháp:

ALTER TABLE tên_bảng ADD (tên_cột kiểu_dữ_liệu (độ dài));

- Xóa một cột:

ALTER TABLE tên_bảng DROP COLUMN (tên_cột);

- Bổ sung độ dài dữ liệu một cột:

ALTER TABLE tên_bảng MODIFY (tên_cột kiểu_dữ_liệu(độ dài));

c) Xóa bảng

Xóa một bảng nghĩa là hủy mọi dữ liệu của bảng và quyền sở hữu đối với bảng đó.

Cú pháp:

DROP TABLE tên_bảng;

Chú ý:

Trước khi xóa một bảng, phải hủy bỏ mọi quan hệ phụ thuộc giữa bảng và các đối tượng khác.

2. View

View là một đối tượng CSDL nó lưu trữ một query đã định nghĩa trước. Công dụng của view là hiển thị dữ liệu trong một hay nhiều bảng và xử lý như một bảng ảo nghĩa là có thể nhập dữ liệu vào nhiều bảng cùng một lúc thông qua view.

a) Tạo view Cú pháp:

CREATE VIEW tên_view AS (SELECT < tên_cột [,…n] > FROM <tên_bảng[,…n]>;

b) Xóa view

Ta có thể xóa view với cú pháp:

DROP VIEW tên_view;

3. Cluster

Cluster là một nhóm các bảng có cùng chung cột lưu trữ vật lý như một bảng để chia sẻ cột chung cho các bảng trong nhóm đã tạo nên cluster.

Cluster giúp giảm nhập/xuất đĩa và cải thiện thời gian truy cập nhờ nối các bảng cluster đồng thời cũng làm giảm không gian lưu trữ các bảng góp phần thu gọn không gian cho CSDL.

Có thể tạo cluster theo cú pháp:

CREATE CLUSTER tên_cluster(<tên_cột kiểu_dữ_liệu(độ dài)[,…n]>);

Tương tự như các đối tượng khác của Oracle ta có thể xóa Cluster theo cú pháp:

DROP CLUSTER tên_cluster;

4. Index

Index là cấu trúc tùy chọn kết hợp với các table và các cluster. Ta có thể tạo ra các index tường minh để tăng tốc độ thực hiện các lệnh SQL trên các bảng. Một index đơn thuần chỉ là một đường truy xuất nhanh đến dữ liệu, nó trỏ trực tiếp vào vị trí của hàng chứa giá trị index đó. Index độc lập về mặt logic và vật lý với dữ liệu trong các bảng kết hợp. Ta có thể tạo ra hay xóa một index bất cứ lúc nào mà không ảnh hưởng đến bảng gốc và các index khác.

Khi ta tạo ra các bảng với các ràng buộc khóa chính, khóa ngoại, unique thì Oracle tự động tạo ra index tương ứng cho các bảng đó.

Có thể tạo Index theo cú pháp:

CREATE INDEX tên_index ON tên_bảng(tên_cột);

Xóa Index theo cú pháp:

DROP INDEX tên_index;

5. Sequence

Sequence là một đối tượng CSDL đặc biệt tạo ra các số nguyên theo quy luật đặc trưng lúc sequence được tạo ra. Các sequence có thể dùng cho nhiều mục đích trong các hệ CSDL, nhưng thường người ta dùng nó để tạo ra các khóa chính của bảng một cách tự động.

Có nhiều quy luật tạo ra các sequence theo các từ khóa sẵn có của Oracle:

 Start with n: sequence được tạo ra với giá trị chỉ định ban đầu trong Start with khi đó cột ảo NEXTVAL của sequence được tham trỏ.

 Increment by n: Định nghĩa số tăng của sequence mỗi lúc cột ảo NEXTVAL được tham trỏ.

 Minvalue n: giá trị tối thiểu có thể tạo bởi sequence nếu từ khóa nominvalue chưa được sử dụng.

 Maxvalue n: giá trị tối đa có thể tạo bởi sequence nếu từ khóa nomaxvalue chưa được sử dụng.

 Cycle: cho phép sequence tạo lại giá trị ban đầu khi đạt đến maxvalue hay minvalue nếu từ khóa nocycle chưa được sử dụng.

 Cache n: cho phép sequence dùng bộ nhớ cache để tăng hiệu năng, nếu từ khóa nocache chưa được sử dụng.

 Order: cho phép gán các giá trị theo thứ tự yêu cầu, nếu không sử dụng order từ khóa nocache có thể sử dụng .

6. Trigger

Trigger là một đối tượng CSDL được chạy tự động khi một sự kiện INSERT, UPDATE, DELETE trên bảng hay view có mốc nối với trigger.

7. Stored procedure và function

Một stored procedure hay function là một đối tượng CSDL gồm một tập các lệnh SQL hay PL/SQL tạo thành một tập tin thực thi để thực hiện một tác vụ đặc biệt nào đó.

Stored procedure và function cho phép ta kết hợp dễ dàng và linh động chức năng có tính thủ tục với một ngôn ngữ lập trình có cấu trúc SQL.

Các procedure và các function gần như giống nhau chỉ khác là function luôn trả về một hay nhiều giá trị, còn procedure thì không trả về giá trị nào.

Một phần của tài liệu Đề tài “Xây dựng Website hỗ trợ quản lý kinh doanh thuốc thú y và thủy sản trên mạng internet” (Trang 20 - 23)

Tải bản đầy đủ (PDF)

(109 trang)