Chương 6 Tạo và quản lý đối tượng

Đối tượng cơ sở dữ liệu Bảng(Table): lưu trữ dl, gồm các hàng và cột. Khung nhìn(View): Tập con dữ liệu từ một hay nhiều bảng. Sequence: Bộ sinhra giá trị số tuầntự Chỉ mục(Index): Nâng cao khả năng thực thi câu truy vấn. Synonym: Thay thế tên cho đối tượng. Ngoài ra còn một số đối tượng khác.

pdf59 trang | Chia sẻ: lylyngoc | Ngày: 13/03/2015 | Lượt xem: 1183 | Lượt tải: 0download
Bạn đang xem nội dung tài liệu Chương 6 Tạo và quản lý đối tượng, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Chương 6. Tạo và quản lý đối tượng 6 - 1 Chương 6 TẠO VÀ QUẢN LÝ ĐỐI TƯỢNG - Lý thuyết: 3 tiết - Thực hành: 4 tiết Chương 6. Tạo và quản lý đối tượng 6 - 2 6.1 Đối tượng cơ sở dữ liệu 6.2 Tạo bảng (Table) 6.3 Tạo khung nhìn (View) 6.4 Một số đối tượng khác Tạo và quản lý đối tượng Chương 6. Tạo và quản lý đối tượng 6 - 3 6.1 Định nghĨa  Đối tượng cơ sở dữ liệu  Bảng (Table): lưu trữ dl, gồm các hàng và cột.  Khung nhìn (View): Tập con dữ liệu từ một hay nhiều bảng.  Sequence: Bộ sinh ra giá trị số tuần tự  Chỉ mục (Index): Nâng cao khả năng thực thi câu truy vấn.  Synonym: Thay thế tên cho đối tượng.  Ngoài ra còn một số đối tượng khác. Tạo và quản lý đối tượng Chương 6. Tạo và quản lý đối tượng 6 - 4 6.1.2 Quy tắc đặt tên (Xem sách) 6.1.3 Câu lệnh tạo bảng (CREATE TABLE) CREATE TABLE tablename (colunm datatype [Default expr][col_constraint]) [table_constraint] [AS subquery] Tạo và quản lý đối tượng Chương 6. Tạo và quản lý đối tượng 6 - 5 6.1.3 Câu lệnh tạo bảng (CREATE TABLE) tablename Tên bảng cần tạo. column Tên cột trong bảng. datatype Kiểu dữ liệu của cột. [DEFAULT expr] Giá trị mặc định của cột. [col_constraint] Ràng buộc của bản thân cột. [table_constraint] Ràng buộc của toàn bảng. [AS subquery] Câu truy vấn con. Tạo và quản lý đối tượng Chương 6. Tạo và quản lý đối tượng 6 - 6 6.1.3 Câu lệnh tạo bảng (CREATE TABLE) Ví dụ: Tạo bảng Dept. CREATE TABLE Dept (DeptNo NUMBER(2) constraint pk Primary Key, Dname VARCHAR2(14), Loc VARCHAR2(13)) Tạo và quản lý đối tượng Chương 6. Tạo và quản lý đối tượng 6 - 7 6.1.3 Câu lệnh tạo bảng (CREATE TABLE) Ví dụ: Tạo bảng Emp gồm có các cột Empid, firstname, Job, Salary, Deptid; trong đó Empid là khóa chính, Deptid là khóa ngoại liên kết đến bảng Dept thông qua trường DeptId. Tạo và quản lý đối tượng Chương 6. Tạo và quản lý đối tượng 6 - 8 6.1.3 Câu lệnh tạo bảng (CREATE TABLE) CREATE TABLE Emp (EmpId Number Not Null Constraint PK_EMP Primary Key, firstname Varchar2(30) Not Null Job Varchar2(9), Salary Number(10,2) Constraint CK_SAL CHECK(Salary>500), DeptId number(2) Constraint NN_Deptid Not Null Constraint FK_Deptid REFERENCES DEPT(Deptid)) Tạo và quản lý đối tượng Chương 6. Tạo và quản lý đối tượng 6 - 9 6.1.3 Câu lệnh tạo bảng (CREATE TABLE) - Tạo bảng bằng cách sử dụng câu lệnh truy vấn con CREATE TABLE tablename [(column, column…)] AS Subquery; Tạo và quản lý đối tượng Chương 6. Tạo và quản lý đối tượng 6 - 10 6.1.3 Câu lệnh tạo bảng (CREATE TABLE) Ví dụ: Tạo bảng Dept10 dựa vào bảng emp thông qua câu lệnh truy vấn con. Tạo và quản lý đối tượng CREATE TABLE Dept10 AS SELECT EmpId, Firstname, Job, SAL FROM EMP WHERE DeptId =10 Chương 6. Tạo và quản lý đối tượng 6 - 11 6.1.4 Các kiểu dữ liệu cơ bản 6.1.4.1 Kiểu dữ liệu chuỗi - CHAR:  Chiều dài cố định  Tối đa 255 byte - VARCHAR2:  Chiều dài thay đổi  Tối đa 2000 byte - VARCHAR: Tương tự VARCHAR2 Tạo và quản lý đối tượng Chương 6. Tạo và quản lý đối tượng 6 - 12 6.1.4 Các kiểu dữ liệu cơ bản 6.1.4.2 Kiểu dữ liệu số - NUMBER  NUMBER(p, s): P là phần nguyên (1-38), s là phần thập phân.  NUMBER(p): Không có phần thập phân.  NUMBER: Số với dấu chấm động với số chư˜ số trước dấu thập phân bằng 38.  FLOAT(b): dấu chấm động với độ chính xác nhị phân là b (1-126) Tạo và quản lý đối tượng Chương 6. Tạo và quản lý đối tượng 6 - 13 6.1.4 Các kiểu dữ liệu cơ bản 6.1.4.3 Kiểu dữ liệu ngày tháng  Chứa dữ liệu kiểu ngày và thời gian.  Có thể thực hiện các phép toán cộng và trừ.  Ngày Julian: Là giá trị số cho biết số ngày kể từ ngày 1 tháng giêng năm 4712 trước công nguyên. Tạo và quản lý đối tượng Chương 6. Tạo và quản lý đối tượng 6 - 14 6.1.4 Các kiểu dữ liệu cơ bản 6.1.4.4 Kiểu LONG  Chiều dài biến đổi,  Tối đa 2 gigabyte.  Một bảng không thể chứa nhiều hơn một cột kiểu LONG  Các hàm không thể trả về dữ liệu kiểu LONG.  Không được có mặt trong mệnh đề WHERE, GROUP BY, ORDER BY, CONNECT BY hoặc với từ khóa DISTINCT trong câu lệnh SELECT. Tạo và quản lý đối tượng Chương 6. Tạo và quản lý đối tượng 6 - 15 6.1.4 Các kiểu dữ liệu cơ bản 6.1.4.5 Kiểu RAW và kiểu LONG RAW  Chứa các chuỗi byte, dữ liệu nhị phân như hình ảnh, âm thanh.  Dữ liệu kiểu RAW chỉ có thể gán hoặc truy cập chứ không được thực hiện các thao tác như đối với chuỗi ký tự.  Kiểu RAW giống như kiểu VARCHAR2  Kiểu LONG RAW giống kiểu LONG. Tạo và quản lý đối tượng Chương 6. Tạo và quản lý đối tượng 6 - 16 6.1.4 Các kiểu dữ liệu cơ bản 6.1.4.6 Kiểu ROWID  Mỗi mẫu tin trong csdl có một địa chỉ có kiểu RowId.  RowId bao gồm các thành phần như sau: block.row.file. Trong đó: block Chuỗi hệ hexa cho biết block chứa row. row Chuỗi hệ hexa cho biết row trong block. file Chuỗi hệ hexa cho biết tệp tin csdl chứa block. Tạo và quản lý đối tượng Chương 6. Tạo và quản lý đối tượng 6 - 17 6.1.4 Các kiểu dữ liệu cơ bản 6.1.4.7 Chuyển đổi kiểu - Chuyển đổi mặc định: Oracle sẽ tự động chuyển kiểu:  Khi INSERT hoặc UPDATE gán giá trị cho cột có kiểu khác  Sử dụng toán tử so sánh mà các giá trị có kiểu khác nhau  Sử dụng các hàm hoặc các toán tử mà các tham số có kiểu khác nhau. Tạo và quản lý đối tượng Chương 6. Tạo và quản lý đối tượng 6 - 18 6.1.4 Các kiểu dữ liệu cơ bản 6.1.4.7 Chuyển đổi kiểu - Chuyển đổi mặc định: Oracle sẽ tự động chuyển kiểu:  Khi INSERT hoặc UPDATE gán giá trị cho cột có kiểu khác  Sử dụng toán tử so sánh mà các giá trị có kiểu khác nhau  Sử dụng các hàm hoặc các toán tử mà các tham số có kiểu khác nhau. Tạo và quản lý đối tượng Chương 6. Tạo và quản lý đối tượng 6 - 19 6.1.4 Các kiểu dữ liệu cơ bản 6.1.4.7 Chuyển đổi kiểu - Người sử dụng tự chuyển đổi: Oracle cung cấp các hàm để chuyển đổi kiểu sau:  TO_NUMBER Chuyển sang kiểu số.  TO_CHAR Chuyển sang kiểu ký tự.  TO_DATE Chuyển sang kiểu ngày.  CAST (SQL Server) CAST(COL AS DATATYPE) Tạo và quản lý đối tượng Chương 6. Tạo và quản lý đối tượng 6 - 20 6.1.4 Các kiểu dữ liệu cơ bản 6.1.5 Ràng buộc (Constraint) - các quy tắc ràng buộc để ngăn chặn dư˜ liệu không hợp lệ - lưu trong từ điển dư˜ liệu của cơ sở dư˜ liệu.  NULL/NOT NULL  UNIQUE  PRIMARY KEY  FOREIGN KEY (Referential Key)  CHECK Tạo và quản lý đối tượng Chương 6. Tạo và quản lý đối tượng 6 - 21 6.1.4 Các kiểu dữ liệu cơ bản 6.1.5 Ràng buộc (Constraint) - Định nghĩa ràng buộc CREATE TABLE tablename (column datatype [DEFAULT expr] [column_constraint] ... [table_constraint][,…]) Tạo và quản lý đối tượng Chương 6. Tạo và quản lý đối tượng 6 - 22 6.1.4 Các kiểu dữ liệu cơ bản 6.1.5 Ràng buộc (Constraint) - NULL/NOT NULL Ví dụ: Tạo ràng buộc NOT NULL cho cột Deptid. CREATE TABLE Dept ( Deptid NUMBER(2) NOT NULL, Deptname CHAR(14), Loc CHAR(13)) Tạo và quản lý đối tượng Chương 6. Tạo và quản lý đối tượng 6 - 23 6.1.4 Các kiểu dữ liệu cơ bản 6.1.5 Ràng buộc (Constraint) - UNIQUE Ví dụ: Tạo bảng Dept với ràng buộc cột Deptid không được có giá trị trùng nhau. CREATE TABLE Dept ( Deptid NUMBER(2) NOT NULL, DeptdName CHAR(14), Loc CHAR(13), CONSTRAINT UNQ_DEPTNO UNIQUE(DeptId)) Tạo và quản lý đối tượng Chương 6. Tạo và quản lý đối tượng 6 - 24 6.1.4 Các kiểu dữ liệu cơ bản 6.1.5 Ràng buộc (Constraint) - PRIMARY KEY: là dạng UNIQUE cấp cao nhất Cú pháp khi đặt ràng buộc ở mức bảng [CONSTRAINT constraint_name] PRIMARY KEY (column, Column,...) Cú pháp khi đặt ràng buộc ở mức cột [CONSTRAINT constraint_name] PRIMARY KEY Tạo và quản lý đối tượng Chương 6. Tạo và quản lý đối tượng 6 - 25 6.1.4 Các kiểu dữ liệu cơ bản 6.1.5 Ràng buộc (Constraint) - PRIMARY KEY Ví dụ: Tạo bảng Dept với cột DeptId là khóa chính. CREATE TABLE Dept ( DeptId NUMBER(2) NOT NULL CONSTRAINT PK_DEPT PRIMARY KEY, DeptName CHAR(14), Loc CHAR(13)) Tạo và quản lý đối tượng Chương 6. Tạo và quản lý đối tượng 6 - 26 6.1.4 Các kiểu dữ liệu cơ bản 6.1.5 Ràng buộc (Constraint) - FOREIGN KEY (Referential) ràng buộc tham chiếu giữa bảng này với bảng khác từ khoá ON DELETE CASCADE từ khoá ON UPDATE CASCADE Tạo và quản lý đối tượng Chương 6. Tạo và quản lý đối tượng 6 - 27 6.1.4 Các kiểu dữ liệu cơ bản 6.1.5 Ràng buộc (Constraint) - CHECK Ràng buộc kiểm tra giá trị. Ví dụ: Tạo bảng Emp gồm có các cột EmpId, Firstname, salary DeptId với các ràng buộc sau: Cột EmpId là khóa chính. Cột Firstname không được chứa giá trị NULL. Cột Salary chứa giá trị >500. Cột DeptId là khóa ngoại liên kết đến bảng Dept trong cơ sở dư˜ liệu của Scott Tạo và quản lý đối tượng Chương 6. Tạo và quản lý đối tượng 6 - 28 6.1.4 Các kiểu dữ liệu cơ bản 6.1.5 Ràng buộc (Constraint) - CHECK Tạo và quản lý đối tượng CREATE TABLE Emp (EmpId Number(5) Not null Constraint Pk_emp Primary Key, Firstname VARCHAR2(30) Not null, salary Number(10,2) Constraint Ck_sal CHECK(salary>500), DeptId Number(5) Constraint NN_DeptId Not null Constraint FK_DeptId References SCOTT.Dept(DeptId)) Chương 6. Tạo và quản lý đối tượng 6 - 29 6.1.6 Câu lệnh sửa đổi bảng (ALTER TABLE)  Thêm một cột mới vào bảng.  Chỉnh sửa thuộc tính của cột đa˜ có trong bảng.  Định nghĩa một giá trị mặc định cho cột mới.  Xóa một hay nhiều cột. Tạo và quản lý đối tượng Chương 6. Tạo và quản lý đối tượng 6 - 30 6.1.6 Câu lệnh sửa đổi bảng (ALTER TABLE) Cú pháp ALTER TABLE tablename ADD (column datatype [DEFAULT Expr], …) ALTER TABLE tablename MODIFY (column datatype [DEFAULT Expr], …) ALTER TABLE tablename DROP(column) Tạo và quản lý đối tượng Chương 6. Tạo và quản lý đối tượng 6 - 31 6.1.6 Câu lệnh sửa đổi bảng (ALTER TABLE) Chú ý  không thể chuyển tính chất của cột có nội dung là NULL chuyển thành NOT NULL;  Không thể đưa thêm một cột NOT NULL nếu bảng đã có số liệu. Phải thêm cột NULL, điền đầy số liệu, sau đó chuyển thành NOT NULL.  Không thể chuyển đổi kiểu khác nhau nếu cột đã chứa số liệu.  Không thể dùng mệnh đề MODIFY để định nghĩa các ràng buộc trừ ràng buộc NULL/NOT NULL. Tạo và quản lý đối tượng Chương 6. Tạo và quản lý đối tượng 6 - 32 6.1.6 Câu lệnh sửa đổi bảng (ALTER TABLE) Ví dụ: Thêm cột mới có tên Job_id vào bảng Dept10 ALTER TABLE Dept10 ADD (Job_id CHAR(9)) Sửa độ lớn cột Ename thành 25. ALTER TABLE Emp MODIFY (Ename CHAR(25)) Xóa ràng buộc khóa ngoại trên cột emp_mgr. ALTER TABLE Emp DROP CONSTRAINT emp_mgr Xóa ràng buộc khóa chính của bảng Emp ALTER TABLE DROP PRIMARY KEY Tạo và quản lý đối tượng Chương 6. Tạo và quản lý đối tượng 6 - 33 6.1.7 Câu lệnh xóa bảng (DROP TABLE)  xóa một bảng trong cơ sở dư˜ liệu.  Khi một bảng bị xóa thì tất cả dư˜ liệu trong bảng, chỉ mục liên quan đều bị xóa và không thể khôi phục lại. Tạo và quản lý đối tượng DROP TABLE tablename [CASCADE CONSTRAINTS] Trong đó: CASCADE CONSTRAINTS Xóa tất cả các ràng buộc toàn vẹn liên quan đến bảng bị xóa Chương 6. Tạo và quản lý đối tượng 6 - 34 6.1.7 Câu lệnh xóa bảng (DROP TABLE) Một số nguyên tắc khi xóa bảng  Tất cả dữ liệu trong bảng đều bị xóa.  View và synonym liên quan vẫn còn nhưng không có giá trị.  Các chuyển tác chưa giải quyết xong sẽ được commit.  Chỉ người tạo ra bảng hay quyền quản trị mới có thể xóa bảng. Tạo và quản lý đối tượng Chương 6. Tạo và quản lý đối tượng 6 - 35 6.1.7 Câu lệnh xóa bảng (DROP TABLE) Một số nguyên tắc khi xóa bảng  Tất cả dữ liệu trong bảng đều bị xóa.  View và synonym liên quan vẫn còn nhưng không có giá trị.  Các chuyển tác chưa giải quyết xong sẽ được commit.  Chỉ người tạo ra bảng hay quyền quản trị mới có thể xóa bảng. Ví dụ: Xóa bảng EMP_COPY. DROP TALE EMP_COPY Tạo và quản lý đối tượng Chương 6. Tạo và quản lý đối tượng 6 - 36 6.2 Tạo khung nhìn (View) 6.2.1 Định nghĩa  Khung nhìn là một bảng ảo  cho phép xem dư˜ liệu từ một bảng hay một khung nhìn khác  Giới hạn truy cập dư˜ liệu.  Tạo những câu lệnh truy vấn đơn giản từ kết quả của câu lệnh truy vấn phức tạp.  Cung cấp dư˜ liệu độc lập cho người dùng và các chương trình ứng dụng.  Tạo nhiều view khác nhau trên cùng một dư˜ liệu nguồn. Tạo và quản lý đối tượng Chương 6. Tạo và quản lý đối tượng 6 - 37 Tạo và quản lý đối tượng Chương 6. Tạo và quản lý đối tượng 6 - 38 6.2 Tạo khung nhìn (View) 6.2.2 Tạo khung nhìn CREATE [OR REPLACE][FORCE] VIEW viewname [(column, column,...)] AS subquery [WITH CHECK OPTION [CONSTRAINT constraint]] [WITH READ ONLY [CONSTRAINT constraint]] Tạo và quản lý đối tượng Chương 6. Tạo và quản lý đối tượng 6 - 39 6.2 Tạo khung nhìn (View) 6.2.2 Tạo khung nhìn Trong đó: OR REPLACE đè lên view cùng tên đa˜ tồn tại. FORCE Tạo view cả khi bảng hay view nào đó không tồn tại trong câu lệnh SELECT. WITH CHECK OPTION Chỉ có những dòng có thể truy cập tới view mới có thể được chèn hay cập nhât. CONSTRAINT Tên của ràng buộc CHECK OPTION. WITH READ ONLY Chỉ cho phép đọc trên view Tạo và quản lý đối tượng Chương 6. Tạo và quản lý đối tượng 6 - 40 6.2 Tạo khung nhìn (View) 6.2.2 Tạo khung nhìn Ví dụ: Tạo khung nhìn tên dept_sumary hiển thị tên phòng ban, mức lương thấp nhất, cao nhất và mức lương trung bình của mỗi phòng ban. CREATE VIEW dept_sumary (Name, Minsal, Maxsal, Avgsal) AS SELECT Deptname, min(salary), max(salary), avg(salary) FROM Emp, Dept WHERE emp.DeptId = dept.DeptId GROUP BY Deptname Tạo và quản lý đối tượng Chương 6. Tạo và quản lý đối tượng 6 - 41 6.2 Tạo khung nhìn (View) 6.2.2 Tạo khung nhìn Kết quả thực hiện: Tạo và quản lý đối tượng Chương 6. Tạo và quản lý đối tượng 6 - 42 6.2 Tạo khung nhìn (View) 6.2.2 Tạo khung nhìn Ví dụ: Tạo khung nhìn tên emp_view cho phép xem dư˜ liệu các cột EmpId, Firstname và Salary của bảng Emp. CREATE VIEW emp_view AS SELECT Empid, Firstname, salary FROM Emp WHERE DeptId = 10 Tạo và quản lý đối tượng Chương 6. Tạo và quản lý đối tượng 6 - 43 6.2 Tạo khung nhìn (View) 6.2.3 Chỉnh sửa khung nhìn Sử dụng mệnh đề CREATE OR REPLACE VIEW để sửa view. Ví dụ: Thêm tên mới cho mỗi cột của khung nhìn empvu80. CREATE OR REPLACE VIEW empvu80 (Id_number, Name, Job, salary, Id_Dept) AS SELECT Empid, Firstname, Job, Sal, deptid FROM Emp WHERE Deptid = 80 Tạo và quản lý đối tượng Chương 6. Tạo và quản lý đối tượng 6 - 44 6.2 Tạo khung nhìn (View) 6.2.3 Chỉnh sửa khung nhìn - Không thể thao tác trên view, khi truy vấn của view chứa các toán tử JOIN, SET, DISTINCT, GROUP BY, GROUP. - Không thể chèn trên view, trên bảng có những cột NOT NULL mà không dùng DEFAULT VALUE. - Không thể chèn trên view nếu khung nhìn này có dùng biểu thức DECODE. - Những câu lệnh truy vấn của view không thể tham khảo vào 2 cột giả NEXTVAL và CURRVAL (NEXTVAL, CURRVAL dùng cho sequence). Tạo và quản lý đối tượng Chương 6. Tạo và quản lý đối tượng 6 - 45 6.2 Tạo khung nhìn (View) 6.2.4 Xóa khung nhìn Dư˜ liệu trong cơ sở dư˜ liệu vẫn không bị mất. Cú pháp DROP VIEW viewname Ví dụ: Xóa view tên emp80 trong cơ sở dư˜ liệu. DROP VIEW emp80 Tạo và quản lý đối tượng Chương 6. Tạo và quản lý đối tượng 6 - 46 6.3 Một số đối tượng khác 6.3.1 SEQUENCE - Tạo Sequence CREATE SEQUENCE sequence_name INCREMENT BY n START WITH n [MAXVALUE n] [MINVALUE n] [CYCLE/NO CYCLE] Tạo và quản lý đối tượng Chương 6. Tạo và quản lý đối tượng 6 - 47 6.3 Một số đối tượng khác 6.3.1 SEQUENCE - Tạo Sequence Trong đó: INCREMENT BY n Chỉ định giá trị khoảng cách là n. START WITH n Chỉ định số đầu tiên của dãy tuần tự là n. MAXVALUE n Giá trị lớn nhất của dãy số tuần tự là n. MINVALUE n Giá trị nhỏ nhất của dãy số tuần tự là n. CYCLE/NO CYCLE Dãy số tuần tự có/không quay vòng khi đến điểm cuối. Mặc định là NO CYCLE Tạo và quản lý đối tượng Chương 6. Tạo và quản lý đối tượng 6 - 48 6.3 Một số đối tượng khác 6.3.1 SEQUENCE - Tạo Sequence Ví dụ: Tạo sequence tên sample_seq với giá trị bắt đầu là 2, lớn nhất là 100 và giá trị khoảng cách là 1. CREATE SEQUENCE Dept_sequence INCREMENT 1 STRAT WITH 2 MAXVALUE 100 Tạo và quản lý đối tượng Chương 6. Tạo và quản lý đối tượng 6 - 49 6.3 Một số đối tượng khác 6.3.1 SEQUENCE - Cột giả CURRVAL Cho giá tri hiện thời của sequence. NEXTVAL Cho giá trị tiếp theo sau giá trị hiện thời. Chúng ta phải chỉ ro˜ tên sequence trước các cột giả. sequence.CURRVAL, sequence.NEXTVAL. Tạo và quản lý đối tượng Chương 6. Tạo và quản lý đối tượng 6 - 50 6.3 Một số đối tượng khác 6.3.1 SEQUENCE - Cột giả Ví dụ: Chèn một hàng mới vào bảng Dept. INSERT INTO Dept (Dept_id, Dname, Loc) VALUES(Dept_sequence.NEXTVAL, ’Support’, 2500) Tạo và quản lý đối tượng Chương 6. Tạo và quản lý đối tượng 6 - 51 6.3 Một số đối tượng khác 6.3.1 SEQUENCE - Thay đổi sequence ALTER SEQUENCE sequence_name INCREMENT BY n START WITH n [MAXVALUE n] [MINVALUE n] [CYCLE/NO CYCLE] Tạo và quản lý đối tượng Chương 6. Tạo và quản lý đối tượng 6 - 52 6.3 Một số đối tượng khác 6.3.1 SEQUENCE - Huỷ sequence DROP SEQUENCE sequence_name Ví dụ: Xóa sequence Dept_sequence. DROP SEQUENCE Dept_sequence Tạo và quản lý đối tượng Chương 6. Tạo và quản lý đối tượng 6 - 53 6.3 Một số đối tượng khác 6.3.2 Chỉ mục (Index) Chỉ mục bao gồm một giá trị khóa và ROWID. Chỉ mục hoàn toàn độc lập với bảng. - Tạo chỉ mục CREATE [UNIQUE]] INDEX index_name ON table ( column [,column...]) Ví dụ: Tạo chỉ mục cho cột firstname trong bảng Emp CREATE INDEX Index_firstname ON Emp(firstname) Tạo và quản lý đối tượng Chương 6. Tạo và quản lý đối tượng 6 - 54 6.3 Một số đối tượng khác 6.3.2 Chỉ mục (Index) - Sử dụng chỉ mục  Dùng chỉ mục để truy vấn nhanh hơn.  Dùng chỉ mục khi lấy dữ liệu <15% số hàng trong bảng.  Chỉ mục những cột nào dùng để nối giữa các bảng lẫn nhau.  Không nên dùng chỉ mục cho các bảng chỉ có vài hàng.  Khóa chính và khóa duy nhất tự động có chỉ mục, nhưng nên có chỉ mục cho khóa ngoại. Tạo và quản lý đối tượng Chương 6. Tạo và quản lý đối tượng 6 - 55 6.3 Một số đối tượng khác 6.3.2 Chỉ mục (Index) - Xoá chỉ mục DROP INDEX index_name Ví dụ: Xóa chỉ mục trên cột Firstname của bảng Emp. DROP INDEX Index_firstname Tạo và quản lý đối tượng Chương 6. Tạo và quản lý đối tượng 6 - 56 6.3 Một số đối tượng khác 6.3.3 Synonym - Tạo Synonym CREATE [PUBLIC] SYNONYM synonym FOR object; Trong đó: PUBLIC Tạo ra synonym dùng chung. synonym Tên của synonym. object Xác định đối tượng của synonym Tạo và quản lý đối tượng Chương 6. Tạo và quản lý đối tượng 6 - 57 6.3 Một số đối tượng khác 6.3.3 Synonym - Tạo Synonym Ví dụ: Tạo tên ngắn hơn cho view DEPT_SUM_VU. CREATE SYNONYM d_sum FOR dept_sum_vu; Ví dụ: Tạo tên ngắn hơn cho view DEPT_SUM_VU và có tính chất public. CREATE PUBLIC SYNONYM p_sum FOR dept_sum_vu Tạo và quản lý đối tượng Chương 6. Tạo và quản lý đối tượng 6 - 58 6.3 Một số đối tượng khác 6.3.3 Synonym - Xóa Synonym DROP SYNONYM synonym Ví dụ: Xóa synonym d_sum trong cơ sở dữ liệu. DROP SYNONYM d_sum Chỉ có như˜ng người quản trị cơ sở dữ liệu mới có quyền xóa synonym public. Ví dụ: Xoá synonym public p_sum trong cơ sở dữ liệu. DROP PUBLIC SYNONYM p_sum Tạo và quản lý đối tượng Chương 6. Tạo và quản lý đối tượng 6 - 59 Tạo và quản lý đối tượng Câu hỏi và bài tập  Trả lời câu hỏi phần 6.4 trong giáo trình  Chuẩn bị nội dung chương 7.