Cộng đồng chia sẻ tri thức Doc24.vn

2. Làm việc với các đối tượng trong SQL Server

Gửi bởi: Phạm Thọ Thái Dương vào ngày 2020-02-14 07:05:02

Mục lục
* * * * *

1. Cơ sở dữ liệu - Database

a) Các Database hệ thống

Khi cài đặt SQL Server có 4 Database hệ thống được cài đặt, đó là:

  1. master: Ghi nhận thông tin cấp hệ thống, thông tin khởi tạo SQL Server và thiết lập cấu hình SQL Server. Database này cũng ghi nhận tất cả các tài khoản đăng nhập, sự tồn tại của các Database khác, vị trí tập tin chính cho tất cả Database người dùng.
  2. tempdb: Giữ các bảng tạm, các stored procedure tạm,.v.v... Được dùng cho các nhu cầu lưu trữ tạm của SQL Server.
  3. model: là khuôn mẫu cho tất cả các CSDL khác được tạo trên hệ thống kể cả tempdb. Database model phải được tồn tại trên hệ thống, bởi vì nó được dùng để tạo lại tempdb mỗi khi SQL server được khởi động.
  4. msdb: Giữ các bảng mà SQL Server Agent dùng để lập thời gian biểu thực thi các công việc, các cảnh báo và các operator.

b) Tạo Database

Để tạo Database trong SQL Server 2000 , ta có 3 cách khác nhau để tạo:

  1. Sử dụng Create Database Wizard
  2. SQL Server Enterprise Manager
  3. Dùng T-SQL

Trong SQL Server 2005 , ta có 2 cách khác nhau để tạo:

  1. SQL Server Management Studio
  2. Dùng T-SQL

* Sử dụng Create Database Wizard trên SQL Server 2000 :

  1. Khởi động SQL Server Enterprise Manager, chọn tên server cục bộ và vào menu Tools\Wizards → Xuất hiện cửa sổ Select Wizard hình 3.13.  

Hình 3.14. Cửa sổ Welcome to Create Database Wizard Select an Image

  1. Chọn Create Database Wizard và chọn OK → Xuất hiện cửa sổ Cửa sổ Welcome to Create Database Wizard hình 3.14.  
  2. Click Next → Xuất hiện cửa sổ 3.15. Name the Database And Specify its Location. Nhập tên Database và vị trí lưu các file cơ sở dữ liệu và file log → và chọn Next.  

Hình 3.15. Cửa sổ Name the Database And Specify its Location Select an Image

  1. Màn hình Name the Database files (hình 3.16), nhập tên tập tin dữ liệu chính (có thể dùng tên mặc) và kích thước khởi tạo cho tập tin đó. Sau đó chọn Next → Xuất hiện cửa sổ 3.17.
  1. Theo tùy chọn mặc định: Tập tin CSDL tự động gia tăng và gia tăng 10%, không giới hạn dung lượng tối đa. Ta có thể thay đổi các tham số đó thông qua các tùy chọn:
  1. Do not automatically grow the data file: Không tự động gia tăng kích thước của file dữ liệu.
  2. Automatically grow the data file: Tự động gia tăng kích thước của file dữ liệu.
  3. Grow the file in megabytes (MB): Gia tăng theo MB.
  4. Grow the file by percent: Gia tăng theo phần trăm.
  5. Unrestricted file growth: Gia tăng không giới hạn cận trên của file.
  6. Restricted file growth to MB: Giới hạn cận trên của file theo MB.

Chọn Next. Xuất hiện của sổ Name the Transaction Log Files hình 3.18.

  1. Nhập tên tập tin bản ghi giao dịch và kích thước khởi tạo chúng. Chọn Next.
  1. Xuất hiện cửa sổ Define the Transaction Log File Growth. Các thông tin điền tương tự như cửa sổ Define the Database file Growth. Chọn Next để tiếp tục.
  1. Chọn Finish để kết thúc.

Hình 3.20. Cửa sổ hoàn thành tạo Database. Select an Image

* Sử dụng SQL Server Enterprise Manager trên SQL Server 2000

  Khởi động SQL Server Enterprise Manager. Chọn tên Server và chọn Database. Rigth click lên mục Database và chọn New Database. Xuất hiện cửa sổ Database Properties (hình 3.21).  

Hình 3.21. Cửa sổ Database Properties. Select an Image

  1. Tab General: Nhập tên Database chẳng hạn QLDiemSV
  2. Tab Data files: Đặt tên các file dữ liệu, vị trí lưu trữ chúng và các tham số growth. Chú ý, SQL Server Enterprise Manager tự động tạo tập tin dữ liệu chính QLDiemSV_Data (có thể thay đổi được tên) thuộc nhóm PRIMARY không thể thay đổi nhóm. Ta có thể tạo các tập tin dữ liệu phụ trên các nhóm khác nhau.
  3. Tab Transaction log: Tương tự như trên nhưng đối với tập tin ghi các bản ghi giao dịch.

* Sử dụng SQL Server Management Studio của SQL Server 2005:

Như đã giới thiệu ở trên, SQL Server Management Studio là công cụ tích hợp SQL Server Enterprise Manager của phiên bản 2000 nên ta có thể sử dụng để tạo database tương tự như phiên bản 2000. Cách tạo như sau:

  1. Mở rộng các đối tượng trên thể hiện của SQL trong cửa sổ Object Explorer muốn tạo Database.
  2. Right click lên mục Database\ chọn New Database xuất hiện cửa sổ New Database (Hình 3.22).

Hình 3.22. Cửa sổ New Database. Select an Image

Trong cửa sổ New Database, tại tab General ta thực hiện điền các thông số cho các mục như sau:

  1. Database name: Điền tên Database muốn tạo
  2. Owner: Chỉ định tên các Logins sở hữu Database đang tạo. Để chọn các logins ta click vào nút … xuất hiện cửa sổ ‘Select Database Owner’ (Hình 3.23). Trong mục ‘Enter the Object names to select’ ta nhập tên các logins hoặc chọn nút

Browse để liệt kê và chọn các logins trong cửa sổ ‘Browse for Objects’ (Hình 3.24)

Hình 3.24. Cửa sổ Browse for Objects. Select an Image

Database files: Thực hiện chọn các thuộc tính cho các files database, bao gồm:

  1. Logical name: Tên logic của file database.
  2. File Type: Kiểu file (Data, Log)
  3. Filegroup: Chỉ định nhóm file.
  4. Initial Size (MB): Kích thước khởi tạo dung lượng các file, tính theo MB.
  5. Autogrowth: Chỉ định các tham số tự động gia tăng dung lượng cho các file. Click vào nút … xuất hiện cửa sổ ‘Change Autogrowth for MyDB’ (Hình 3.25) cho phép khai báo các tham số Autogrowth:Tùy chọn Enable Autogrowth cho phép tự động gia tăng;File Growth chỉ định độ tự động gia tăng theo phần trăm (In Percent) hoặc theo dung lượng chỉ định (In Megabytes);Maximum File Size định nghĩa độ gia tăng của fileđến dung lượng lớn nhất.Path: Chỉ định đường dẫn vật lý lưu trữ các files database. Click nút … để thay đổi đường dẫn mặc định.

Hình 3.25. Cửa sổ Change Autogrowth for MyDB Select an Image

* Sử dụng T-SQL

Ta có thể sử dụng T-SQL hay script để tạo Database, với cách này ta cần hiểu rõ về các cú pháp câu lệnh trong SQL Server để tạo Database.

CREATE DATABASE database_name [ ON [;] [ PRIMARY ] [ <filespec> [ ,...n ] [ , <filegroup> [ ,...n ] ] [ LOG ON { <filespec> [ ,...n ] } ] ] ]

Để attach một database:

CREATE DATABASE database_name ON <filespec> [ ,...n ] FOR { ATTACH | ATTACH_REBUILD_LOG } [;] <filespec> ::= { ( NAME = logical_file_name , FILENAME = 'os_file_name' [ , SIZE = size [ KB | MB | GB | TB ] ] [ , MAXSIZE = { max_size [ KB | MB | GB | TB ] | UNLIMITED } ] [ , FILEGROWTH = growth_increment [KB | MB | GB | TB | % ] ] ) [ ,...n ] } <filegroup> ::= { FILEGROUP filegroup_name [ DEFAULT ] <filespec> [ ,...n ] }

Các tham số trong đó:

database_name: Là tên của CSDL. Nếu tên của file dữ liệu (data file) không được chỉ định thì SQL Server sử dụng database_name là tên cho logical_file_name và os_file_name.

ON

Chỉ định định nghĩa các file trên đĩa được sử dụng để lưu trữ các phần dữ liệu của database, data files.

PRIMARY

Chỉ định này liên quan đến danh sách định nghĩa primary file

<filespec>. File đầu tiên được chỉ định trong <filespec> của nhóm filegroup primary filegroup trở thành file primary. Một database chỉ có thể duy nhất một file primary.

Nếu từ khóa PRIMARY không được chỉ định thì file đầu tiên trong danh sách các fie của câu lệnh CREATE DATABASE sẽ trở thành file primary.

LOG ON

Chỉ định định nghĩa file log lưu trữ trên đĩa, log files.

FOR ATTACH

Chỉ định database được tạo băng việc attach tập các file hệ thống đã tồn tại.

FOR ATTACH có các yêu cầu sau:

  1. Các files data (MDF và NDF) phải đã tồn tại.
  2. Nếu nhiều files log tồn tại, thì tất cả phải sẵn có.

FOR ATTACH_REBUILD_LOG

Chỉ định database được tạo băng việc attach tập các file hệ thống đã tồn tại. Nếu một hoặc nhiều files log giao dịch bị lỗi thì file log sẽ được xây dựng lại.

<filespec>

Điều khiển các thuộc tính của file.

  1. NAME logical_file_name: Chỉ định tên logical cho file.NAME được yêu cầu khi FILENAME được chỉ định.
  2. FILENAME os_file_name: Chỉ định tên, đường dẫn file hệ điều hành (file vật lý).
  3. SIZE size: Chỉ định kích thước file.
  4. MAXSIZE max_size: Chỉ định kích thước lớn nhất mà file có thể phát triển đến. Từ khóa UNLIMITED chỉ định file được phát triển cho đến khi đĩa bị đầy.
  5. FILEGROWTH growth_increment: Chỉ định độ tự đông gia tăng của file.<filegroup>

Điều khiển các thuộc tính của filegroup.

  1. FILEGROUP filegroup_name: Chỉ định tên logical của filegroup.
  2. DEFAULT: Chỉ định tên filegroup là filegroup mặc định trên database.

Ví dụ 3.1. Đưa ra một cách tạo Database MyDB với tập tin dữ liệu chính là MyDB_Data.mdf, dung lượng khởi tạo là 1MB và tối đa là 10MB và độ gia tăng kích thước là 10%. Tập tin bản ghi giao dịch là MyDB_Log.ldf với dung lượng ban đầu là 2MB và kích thước tối đa không giới hạn, độ gia tăng dung lượng là 10MB.

Để tạo script (dùng T- SQL) ta mở cửa sổ query để soạn thảo:

  1. Đối với SQL Server 2000: Vào Start/Programs/Microsoft SQL Server/Query Analyzer, xuất hiện hộp thoại Connect to SQL Server, trong danh sách server chọn server cục bộ máy mình và nhập đoạn mã lệnh sau.
  2. Đối với SQL Server 2005: Trong cửa sổ SQL Server Management Studio, trên thanh Standard chọn nút New Query để tạo cửa sổ truy vấn kết nối đến thể hiện SQL đang được kết nối hoặc nút Database Engine Query để xuất hiện cửa sổ kết nối (Hình 3.8) ta thực hiện kết nối đến thể hiện SQL mà muốn thực hiện trên đó. Xuất hiện cửa sổ truy vấn ta thực hiện nhập đoạn mã lệnh sau:

Use master go create database MyDBT On ( Name= MyDBT_Data, FileName='E:\Tempt\MyDBT_Data.mdf', Size=10MB, MaxSize=100MB, FileGrowth=10% ) Log On ( Name= MyDBT_log, FileName='E:\Tempt\MyDBT_Log.ldf', Size=2MB, MaxSize=UNLIMITED, FileGrowth=10% )

  1. Click nút Execute hoặc F5 để chạy.  

c) Xóa Database

* Dùng Enterprise Manager trong SQL Server 2000:

Trong Enterprisse Manager, chọn nhóm server cục bộ và mở rộng mục Database. Sau đó right click lên CSDL muốn xóa và chọn Delete Database. Xuất hiện hộp thoại xác nhận xóa và chọn Yes.

* Sử dụng SQL Server Management Studio của SQL Server 2005:

Để xóa một database ta đăng nhập vào SQL Server Management Studio với một login có quyền xóa database đó và thực hiện các bước sau:

  1. Mở rộng các đối tượng trên thể hiện của SQL trong cửa sổ Object Explorer muốn xóa Database.
  2. Mở rộng mục Database và Right click lên database muốn xóa và chọn Delete xuất hiện cửa sổ ‘Delete Object’ chọn OK để xóa.

* Dùng T-SQL

Để xóa Database ta sử dụng cú pháp sau:

DROP DATABASE database_name ,...]

Ví dụ: nhập đoạn T-SQL sau để xóa Database MyDB.

Use master Go Drop Database MyDB Go

2. Bảng - Table

Trước khi đi vào các thao tác đối với bảng, ta xét các kiểu dữ liệu được sử dụng trong SQL Server.

a) Các kiểu dữ liệu

 Select an Image

b) Tảo bảng.

* Dùng SQL Server Enterprise Manager trong SQL Server 2000:

Hình 3.26. Cửa sổ thiết Table. Select an Image

  1. Trong Enterprise Manager, mở rộng danh mục Database và mở rộng cơ sở dữ liệu QLDiemSV.
  2. Right Click lên danh mục Tables, chọn New Table.
  3. Xuất hiện cửa sổ thiết kế bảng như hình 3.26. Ta thực hiện thiết kế bảng HOSOSV gồm các trường (trong cột Column Name), kiểu trường (Data Type) và độ dài dữ liệu (Length) và cho phép trường đó nhận giá trị NULL hay không (Allow Nulls) hình 3.26.
  4. Chọn dòng MaSV, sau đó click vào nút Set primary key để thiết lập trường MaSV là khóa.
  5. Click vào nút Save, xuất hiện cửa sổ Choose Name nhập tên bảng là HOSOSV để lưu lại bảng.

* Dùng SQL Server Management Studio trong SQL Server 2005:

Để tạo bảng trong SQL Server Management Studio ta thực hiện:

  1. Mở rộng các đối tượng trên thể hiện của SQL trong cửa sổ Object Explorer muốn tạo bảng.
  2. Mở rộng mục Database và chọn cơ sở dữ liệu muốn tạo bảng. Right click lên mục Table và chọn New Table xuất hiện cửa sổ thiết kế table (Hình 3.27):Column Name: Nhập tên các cột trong bảng.Data Type: Chọn kiểu dữ liệu và độ dài cho kiểu.Allow Nulls: Cho phép chấp nhận dữ liệu NULL hay không?Column Properties: Thiết lập các thuộc tính cho cột đang được chọn.

Hình 3.27. Cửa sổ thiết Table trong SQL Server Management Studio . Select an Image

  1. Để thiết lập khóa, chọn các trường khóa của bảng sau đó click vào nút biểu tượng khóa (Set Primary Key) hoặc right click vào các trường đó và chọn Set Primary Key.
  2. Dùng tổ hợp phím Ctrl+S hoặc click vào nút Save để lưu cấu trúc bảng vừa tạo trong cơ sở dữ liệu.

* Dùng T-SQL

Để tạo bảng dùng T – SQL ta sử dụng cú pháp sau:

CREATE TABLE table_name ( { < column_definition > | < table_constraint > } [ ,...n ] ) < column_definition > ::= { column_name data_type } [ { DEFAULT constant_expression | [ IDENTITY [ ( seed , increment ) ] ] } ] [ < column_constraint > [ ...n ] ] < column_constraint > ::= [ CONSTRAINT constraint_name ] { [ NULL | NOT NULL ] | [ PRIMARY KEY | UNIQUE ] | REFERENCES ref_table [ ( ref_column ) ] [ ON DELETE { CASCADE | NO ACTION } ] [ ON UPDATE { CASCADE | NO ACTION } ] } < table_constraint > ::= [ CONSTRAINT constraint_name ] { [ { PRIMARY KEY | UNIQUE } { ( column [ ,...n ] ) } ] | FOREIGN KEY ( column [ ,...n ] ) REFERENCES ref_table [ ( ref_column [ ,...n ] ) ] [ ON DELETE { CASCADE | NO ACTION } ] [ ON UPDATE { CASCADE | NO ACTION } ] }

Ví dụ 3.2. Tạo bảng

a) Tạo bảng LOP dùng T-SQL

Use QLDiemSV Go Create Table DMLop (MaLop char(10) NOT NULL, TenLop nvarchar(50) NOT NULL, Khoa char(10) CONSTRAINT PK_DMLOP Primary Key (MaLop))

b) Tạo hai bảng MyCustomers và MyOrders. Bảng MyCustomers có hai cột, cột CustID vừa là cột nhận dạng IDENTITY[(seed,increment )] có giá trị khởi tạo ban đầu là 100 và bước nhảy là 1 vừa là khóa. Bảng MyOrders có khóa là OrderID và khóa ngoại là CustID tham chiếu đến bảng MyCustomers.

CREATE TABLE MyCustomers (CustID int IDENTITY (100,1) PRIMARY KEY, CompanyName nvarchar (50)) CREATE TABLE MyOrders (OrderID int PRIMARY KEY, CustID int REFERENCES MyCustomers(CustID))

c) Thay đổi cấu trúc bảng

* Dùng SQL Server Enterprise Manager trong SQL Server 2000:

  1. Trong Enterprise Manager, mở rộng danh mục Database, mở rộng cơ sở dữ liệu có bảng cần thay đổi cấu trúc, chẳng hạn QLDiemSV và chọn mục Table.
  2. Right Click lên bảng thuộc CSDL QLDiemSV cần thay đổi cấu trúc, chọn Design Table. Xuất hiện cửa sổ thiết kế bảng như hình 3.26. Ta thực hiện các thay đổi về cấu trúc: đổi kiểu dữ liệu, thêm trường, xóa trường, thiết lập khóa .v.v…với bảng đã chọn đó.

* Dùng SQL Server Management Studio trong SQL Server 2005:

Để thay đổi cấu trúc bảng trong SQL Server Management Studio ta thực hiện các bước sau:

  1. Mở rộng các đối tượng trên thể hiện của SQL trong cửa sổ Object Explorer muốn thay đổi cấu trúc bảng.
  2. Mở rộng mục Database và chọn cơ sở dữ liệu và bảng cần thay đổi cấu trúc. Right click lên bảng đó và chọn Modify xuất hiện cửa sổ thiết kế table (Hình 3.27) và ta thực hiện các thay đổi đối với cấu trúc bảng như cách tạo bảng.

* Dùng T-SQL

Để thay đối cấu trúc bảng bằng T-SQL ta có cú pháp câu lệnh sau:

ALTER TABLE table_name { ALTER COLUMN column_name { type_name [ ( { precision [ , scale ] | max } ) ] [ NULL | NOT NULL ] } | [ WITH { CHECK | NOCHECK } ] ADD { <column_definition> | <computed_column_definition> | <table_constraint> } [ ,...n ] | DROP { [ CONSTRAINT ] constraint_name | COLUMN column_name } [ ,...n ] | [ WITH { CHECK | NOCHECK } ] { CHECK | NOCHECK } CONSTRAINT { ALL | constraint_name [ ,...n ] } | { ENABLE | DISABLE } TRIGGER { ALL | trigger_name [ ,...n ] } [ ; ]

Ví dụ 3.3. Thay đổi cấu trúc bảng MyCustomers

d) Nhập dữ liệu cho bảng

* Dùng Enterprise Manager

  1. Trong Enterprise Manager, mở rộng danh mục Database, mở rộng cơ sở dữ liệu QLDiemSV và chọn mục Table.
  2. Right Click lên bảng thuộc CSDL QLDiem cần nhập dữ liệu, chọnOpen Table\Return all row. Xuất hiện cửa sổ nhập dữ liệu cho bảng đó.

* Dùng SQL Server Management Studio trong SQL Server 2005:

  1. Mở rộng các đối tượng trên thể hiện của SQL trong cửa sổ Object Explorer muốn nhập dữ liệu cho bảng.
  2. Mở rộng mục Database, chọn cơ sở dữ liệu và bảng cần nhập dữ liệu. Right click lên bảng cần nhập dữ liệu và chọn Open Table xuất hiện cửa sổ nhập dữ liệu cho bảng.

* Dùng T-SQL

Ví dụ 3.3. Chèn dữ liệu vào bảng LOP

- Chèn một bản ghi:

- Chèn tất cả các bản ghi từ bảng DMLOP vào bảng LOP.

e) Xóa bảng

  1. Dùng Enterprise ManagerTrong Enterprise Manager, mở rộng danh mục Database, mở rộng cơ sở dữ liệu QLDiemSV và chọn mục Table.Right Click lên bảng cần xóa, chọn Delete.
  2. Trong Enterprise Manager, mở rộng danh mục Database, mở rộng cơ sở dữ liệu QLDiemSV và chọn mục Table.
  3. Right Click lên bảng cần xóa, chọn Delete.
  4. Trong Enterprise Manager, mở rộng danh mục Database, mở rộng cơ sở dữ liệu QLDiemSV và chọn mục Table.
  5. Right Click lên bảng cần xóa, chọn Delete.
  6. Dùng SQL Server Management Studio trong SQL Server 2005:Mở rộng các đối tượng trên thể hiện của SQL trong cửa sổ Object Explorer muốn xóa bảng.Mở rộng mục Database, chọn cơ sở dữ liệu chứa bảng muốn xóa. Right click lên bảng muốn xóa và chọn Delete xuất hiện cửa sổ xác nhận thông tin xóa, chọn OK.
  7. Mở rộng các đối tượng trên thể hiện của SQL trong cửa sổ Object Explorer muốn xóa bảng.
  8. Mở rộng mục Database, chọn cơ sở dữ liệu chứa bảng muốn xóa. Right click lên bảng muốn xóa và chọn Delete xuất hiện cửa sổ xác nhận thông tin xóa, chọn OK.
  9. Dùng T-SQL

3. View

a) Khái niệm View

View là một bảng ảo được định nghĩa bởi một truy vấn với phát biểu SELECT. View được hình thành dữ liệu từ một hoặc nhiều bảng thật. Đối với người sử dụng thì view giống như một bảng thật.

b) Tạo view

Để tạo View trong SQL Server 2000 , ta có 3 cách khác nhau để tạo:

  1. Sử dụng Create View Wizard
  2. SQL Server Enterprise Manager
  3. Dùng T-SQL

Trong SQL Server 2005 , ta có 2 cách khác nhau để tạo:

  1. SQL Server Management Studio
  2. Dùng T-SQL

* Dùng Enterprise Manager hoặc Management Studio

  1. Trong Enterprise Manager hoặc Management Studio, mở rộng danh mục Database, mở rộng cơ sở dữ liệu muốn tạo view, chẳng hạn CSDL QLDiemSV và chọn mụcViews.
  2. Right Click lên danh mục Views, chọn New View. Xuất hiện cửa sổ thiết kế view như hình 3.28 đối với SQL Server 2000 và hình 3.29 đối với SQL Server 2005, gồm 4 vùng sau:

Hình 3.29. Cửa sổ thiết kế view trên SQL Server 2005 Select an Image

  1. Diagram pane: Hiển thị dữ liệu nguồn có thể là các bảng, các view khác, functions để tạo view. Các cột dữ liệu của view được chọn từ vùng này.
  2. Grid pane (Criteria pane): Hiển thị các cột của view đã được chọn từ vùng diagram.
  3. SQL pane: Hiển thị phát biểu SQL dùng để định nghĩa view.
  4. Results pane: Hiển thị kết quả nhận được từ view.

Ta có thể ẩn hoặc hiện các cửa sổ này bằng cách click vào các nút tương ứng trên thanh công cụ của cửa sổ thiết kế view. Danh sách sau thể hiện ý nghĩa của các nút trên thanh công cụ tính từ trái sang phải:

  1. Đối với SQL Server 2000:Save: Lưu view.Properties: Cho phép thay đổi thuộc tính của view.Show hide pane: các nút ẩn hoặc hiện các cửa sổ trên.Run: Thực thi và hiển thị kết quả của view trong Results pane.Cancel Execution And Clear Results: Xóa Results pane.Verify SQL: Kiểm tra cú pháp của phát biểu SQL.Remove Filter: loại bỏ tất cả các lọc dữ liệu đã được định nghĩa.Use GROUP BY: Thêm mệnh đề group by trong câu lệnh SQL.Add Table: Thêm các bảng, view làm nguồn dữ liệu cho view mới.
  2. Đối với SQL Server 2005:Show Diagram pane: Ẩn hoặc hiện cửa sổ Diagram pane.Show Criteria pane: Ẩn hoặc hiện cửa sổ Criteria pane.Show SQL pane: Ẩn hoặc hiện cửa sổ SQL pane.Show Results pane: Ẩn hoặc hiện cửa sổ kết quả.Execute SQL: Thực hiện truy vấn.Verify SQL Syntax: Kiểm tra cú pháp câu lệnh SQL.Add Group By: Thêm mệnh đề group by trong câu lệnh SQL.Add Table: Thêm các bảng, view, hàm làm nguồn dữ liệu cho view mới.
  1. Click vào nút Add Table, xuất hiện hộp thoại Add Table chọn các bảng các view làm nguồn dữ liệu cho view mới. Trong ví dụ ta chọn bảng HOSOSV và LOP.
  2. Sau khi chọn nguồn dữ liệu ta thực hiện chọn các trường làm dữ liệu trên view như hình 3.30 (SQL Server 2000 ) và 3.31 (SQL Server 2005)
  3. Click vào nút Save, xuất hiện hộp thoại Save lưu với tên Danhsach.

Hình 3.31. Cửa sổ thiết kế view Danhsach trong SQL Server 2005. Select an Image

Sử dụng vùng Grid Pane (Criteria) để hỗ trợ cho việc thiết kế View:

  1. Cột Column: Chứa tên các trường trong bảng\view làm nguồn dữ liệu cho truy vấn này hoặc chứa một biểu thức định nghĩa một trường mới cho view.
  2. Cột Alias: Chỉ định bí danh cho trường trong view mới.
  3. Cột Table: Chỉ định nguồn dữ liệu.
  4. Cột Output: Chỉ định hiển thị hay không hiển thị trường đó.
  5. Cột Sort Type và Sort Order: Dùng để sắp xếp dữ liệu.
  6. Cột Criteria: Dùng để đặt điều kiện lọc cho các bản ghi.
  7. Các cột Or: Dùng kết hợp với cột Criteria để tạo các điều kiện lọc dữ liệu phức tạp.

Tính tổng trong truy vấn: Để tính tổng trong truy vấn dùng vùng Grid Pane ta có thể tiến hành phân nhóm các bản ghi và thực hiện tính toán trên từng phân nhóm đó. Để tính tổng trong truy vấn ta chọn nút Use Group By

xuất hiện cột Group By trong vùng Grid Pane. Ta thực hiện tiến hành phân các nhóm trường như sau:

  1. Trường làm điều kiện, tiêu chuẩn tham gia phân nhóm và tính tổng: Chọn Where trong cột Group By và đặt biểu thức điều kiện trong cột Creteria.
  2. Trường phân nhóm: Chọn Group by trong cột Group By.
  3. Trường tính toán: Chọn một hàm có sẵn (sum, count, avg, max, min, .v.v...) trong cột Group By hoặc xây dựng một biểu thức tính toán trong cột Column.
  4. Định tiêu chuẩn hiển thị kết quả: Đặt điều kiện ở cột Criteria tại các trường phân nhóm và trường tính toán.
  5. Chọn thứ tự hiển thị: Dùng cột Sort Type và Sort Order tại các các trường phân nhóm và các trường tính toán.

* Dùng Create view wizard

  1. Khởi động SQL Server Enterprise Manager, chọn tên server cục bộ và vào menu Tools\Wizards. Xuất hiện cửa sổ Select Wizard hình 3.5.
  2. Chọn Create View Wizard xuất hiện cửa sổ Welcometo the Create View Wizard, như hình 3.32. Chọn Next.
  3. Xuất hiện cửa sổ Select Database (Hình 3.33) chọn CSDL mà viewđược tạo trên đó. Chọn Next.
  4. Trong cửa sổ Select Objects chọn các bảng làm nguồn dữ liệu cho View mới (Hình 3.34). Chọn Next.
  5. Chọn các cột dữ liệu của view (hình 3.35).
  6. Cửa sổ tiếp theo (hình 3.36): Đặt điều kiện lọc tương tự như mệnh đềWHERE trong khối câu lệnh SELECT. Chọn Next.
  7. Chọn tên view (hình 3.37) và chọn Finish (hình 3.38) để kết thúc.
Hình 3.36. Cửa sổ Define Restriction
Hình 3.36. Cửa sổ Define Restriction
Hình 3.37. Cửa sổ Define Restriction
Hình 3.37. Cửa sổ Define Restriction
Hình 3.38. Cửa sổ Define Restriction
Hình 3.38. Cửa sổ Define Restriction

* Dùng T-SQL: Ta dùng cú pháp câu lệnh sau:

CREATE VIEW [schema_name.]view_name[(column[,...n])] [ WITH <view_attribute> [ ,...n ] ]
AS select_statement [ ; ] [ WITH CHECK OPTION ]

<view_attribute> ::=
{ [ ENCRYPTION ]
[ SCHEMABINDING ]
[ VIEW_METADATA ] }

Trong đó:

schema_name

Là tên của lược đồ mà view thuộc lược đồ đó.

view_name

Là tên của view.

column

Là tên được sử dụng cho một cột trong view. Tên một cột chỉ yêu cầu khi cột đó được sinh ra từ một biểu thức đại số, một hàm, một hằng; khi hai hoặc nhiều cột khác nhau có cùng tên, điển hình là trong liên kết; hoặc khi một cột trong view được chỉ định tên khác với tên từ nguồn dữ liệu. Các tên cột có thể được gán trong câu lệnh SELECT. Nếu cột không được chỉ định trong view thì các cột trong view có tên cùng tên với các cột câu lệnh SELECT.

select_statement

Là các khối câu lệnh SELECT định nghĩa view. Các khối câu lệnh SELECT được phân cách nhau bởi mệnh đề UNION hoặc UNION ALL.

Một Index được định nghĩa trên view đòi hỏi view phải được xây dựng từ một bảng đơn hoặc nhiều bảng liên kết nhau trong tổ hợp tùy chọn.

CHECK OPTION

Bắt buộc tất các câu lệnh sửa đổi dữ liệu thực hiện trên view phải tuân theo các điều kiện trong khối câu lệnh select_statement.

ENCRYPTION

Mã hóa bản text của câu lệnh CREATE VIEW trong sys.syscomments. Việc sử dụng WITH ENCRYPTION ngăn cản view bị công bố như là một phần bản sao SQL Server.

SCHEMABINDING

Buộc view vào một lược đồ dưới một bảng hoặc nhiều bảng. Khi SCHEMABINDING được chỉ định, bảng hoặc các bảng cơ cở không được sửa trong những cách ảnh hưởng đến định nghĩa view.

VIEW_METADATA

Chỉ định các thể hiện SQL Server sẽ trả về cho DB-Library, ODBC, và OLE DB APIs thông tin siêu dữ liệu về view, thay cho bảng và các bảng cơ sở khi trình duyệt siêu dữ liệu được yêu cầu cho một truy vấn tham chiếu đến view.

Ví dụ 3.4. Trong CSDL Northwind có hai bảng Orders và Order Details.

Ta xây dựng view tính tổng giá trị cho từng hóa đơn (SQL Server 2000).

Create View TongGT as
SELECT dbo.Orders.OrderID,
SUM(dbo.[Order Details].UnitPrice * dbo.[Order Details].Quantity) AS Tolal FROM dbo.Orders INNER JOIN
dbo.[Order Details] ON dbo.Orders.OrderID
= dbo.[Order Details].OrderID GROUP BY dbo.Orders.OrderID Go

c) Thay đổi view

* Dùng Enterprise Manager

  1. Trong Enterprise Manager, mở rộng danh mục Database, mở rộng cơ sở dữ liệu muốn tạo view, chẳng hạn CSDL QLDiemSV và chọn mụcViews.
  2. Right Click lên View, chọn Design View. Xuất hiện cửa sổ thiết kế view.
  3. Thực hiện các thay đổi trên view và ghi lại các thay đổi đó.

* Dùng SQL Server Management Studio

  1. Trong SQL Server Management Studio, mở rộng danh mục Database, mở rộng cơ sở dữ liệu muốn tạo view, chẳng hạn CSDL QLDiemSV và chọn mụcViews.
  2. Right Click lên View, chọn Modify. Xuất hiện cửa sổ thiết kế view.
  3. Thực hiện các thay đổi trên view và ghi lại các thay đổi đó.

* Dùng T-SQL: Ta dùng cú pháp câu lệnh sau

ALTER VIEW [schema_name.]view_name [(column[,...n])]

[ WITH <view_attribute> [ ,...n ] ] AS select_statement [ ; ]

[ WITH CHECK OPTION ]

<view_attribute> ::=

{[ENCRYPTION][SCHEMABINDING][VIEW_METADATA]

}

Ví dụ 3.5. Sửa đổi view DSSV như sau:

ALTER VIEW DSSV AS

Select MaSV, Hodem + ' '+ TenSV AS Hoten, Ngaysinh From HosoSV

GO

d) Xóa view

  1. Trong cửa sổ Enterprise Manager, mở rộng danh mục Database, mở rộng cơ sở dữ liệu muốn xóa view, chẳng hạn CSDL QLDiemSV và chọn mụcViews. Sau đó right click lên View muốn xóa, chọn Delete.
  2. Trong cửa sổ SQL Server Management Studio, mở rộng danh mục Database, mở rộng cơ sở dữ liệu muốn xóa view, chẳng hạn CSDL QLDiemSV và chọn mụcViews. Sau đó right click lên View muốn xóa, chọn Delete xuất hiện cửa sổ xác nhận xóa chọn OK.
  3. Dùng T-SQL dùng lệnh DROP VIEW theo cú pháp:

DROP VIEW view_name

Ví dụ 3.6. Xóa view DSSV như sau:

DROP VIEW DSSV

4. Chỉ mục - Index

a) Khái niệm chỉ mục

Chỉ mục là một trong những công cụ mạnh có sẵn đối với người thiết kế CSDL. Một chỉ mục là một cấu trúc phụ cho phép cải thiện hiệu suất thực thi các truy vấn bằng cách giảm thiểu các hoạt động nhập/xuất dữ liệu cần thiết để được dữ liệu yêu cầu. Tùy thuộc vào kiểu của nó, mà chỉ mục được lưu với dữ liệu hoặc tách biệt với dữ liệu.

  1. Chỉ mục khóa: Chỉ mục khóa chỉ dõ cột hoặc các cột được dùng để sinh ra chỉ mục. Nó cho phép tìm nhanh chóng dòng dữ liệu muốn tìm. Để truy cập dòng dữ liệu dùng chỉ mục, ta chỉ cần đưa ra giá trị khóa của chỉ mục hoặc đưa các giá trị vào mệnh đề WHERE trong khối câu lệnh SELECT.
  2. Chỉ mục duy nhất: Là chỉ mục chỉ chứa một dòng dữ liệu cho mỗi khóa chỉ mục. Một chỉ mục là duy nhất nếu bản thân dữ liệu là duy nhất, nếu không duy nhất ta có thể tạo chỉ mục kết hợp trên nhiều cột để đạt được chỉ mục duy nhất.
  3. Các kiểu chỉ mục: Các chỉ mục được lưu trữ dữ liệu dưới dạng cây nhị phân B-Tree. Có hai kiểu chỉ mụcChỉ mục liên cung (clustered): Là chỉ mục lưu trữ các dòng dữ liệu thực sự của bảng trong nút lá, theo thứ tự đã được sắp xếp.Chỉ mục phi liên cung (Nonclustered): Không chứa dữ liệu trong nút lá, mà nó chứa thông tin về vị trí của dòng dữ liệu: nếu không có chỉ mục liên cung trên bảng thì nó chứa số nhận dạng dòng (Row ID); nếu có chỉ mục liên cung thì trong nút lá này sẽ chứa giá trị khóa chỉ mục liên cung cho dữ liệu đó.

Chú ý: Indexes được tạo tự động khi các ràng buộc PRIMARY KEY và UNIQUE được định nghĩa trên các cột của bảng

b) Tạo chỉ mục

Để tạo Indexes trong SQL Server 2000 , ta có 3 cách khác nhau để tạo:

  1. Sử dụng Create View Wizard
  2. SQL Server Enterprise Manager
  3. Dùng T-SQL

Trong SQL Server 2005, ta có 2 cách khác nhau để tạo:

  1. SQL Server Management Studio
  2. Dùng T-SQL

* Dùng wizard

  1. Khởi động SQL Server Enterprise Manager, chọn tên server cục bộ và vào menu Tools\Wizards. Xuất hiện cửa sổ Select Wizard hình 3.5.
  2. Chọn Create Index Wizard xuất hiện cửa sổ Welcometo the Create Index Wizard, như hình 3.39. Chọn Next.
  3. Xuất hiện cửa sổ Select Database and Table (hình 3.40). Chọn CSDL và bảng dữ liệu cần tạo index.Mục Database name: Chọn cơ sở dữ liệuMục Object name: Chọn bảng dữ liệuSau đó chọn Next.

Sau đó chọn Next.

  • Xuất hiện cửa sổ Current index information (hình 3.41) đưa thông tin các Index đã được tạo trước đó.
  • Cửa sổ tiếp theo là cửa sổ Select columns (hình 3.42). Trong cửa sổ này ta chọn các cột để tạo chỉ mục. Chọn Next.
  • Xuất hiện cửa sổ Specify Index Option (hình 3.43). Chỉ định các tham số cho Index như: Tạo chỉ mục duy nhất, tối ưu,.v.v…. Chọn Next.
  • Xuất hiện cửa sổ Completing the Create Index Wizard (hình 3.44). Chọn thứ tự, đặt tên cho Index. Cuối cùng chọn Finish để kết thúc.
Hình 3.39.Cửa sổ Welcometo the Create Index Wizard.
Hình 3.39.Cửa sổ Welcometo the Create Index Wizard.
Hình 3.40.Cửa sổ Select Database and Table.
Hình 3.40.Cửa sổ Select Database and Table.
Hình 3.41. Cửa sổ Current index information.
Hình 3.41. Cửa sổ Current index information.
Hình 3.42.Cửa sổ select columns.
Hình 3.42.Cửa sổ select columns.
Hình 3.43. Cửa sổ Specify Index Option.
Hình 3.43. Cửa sổ Specify Index Option.
Hình 3.44. Cửa sổ Completing the Create Index Wizard
Hình 3.44. Cửa sổ Completing the Create Index Wizard

* Dùng Enterprise Manager:

  1. Trong cửa sổ Enterprise Manager, mở rộng danh mục Database, mở rộng cơ sở dữ liệu muốn tạo Index, chẳng hạn CSDL QLDiemSV và chọn mục Tables. Sau đó right click lên bảng muốn tạo chỉ mục. Chọn All Task\Manage Indexes. Xuất hiện của sổ Manage Indexes như hình 3.45.
  2. Trong cửa sổ này chọn CSDL trong mục Database, chọn bảng hoặc View trong mục Table/view và sau đó click nút New xuất hiện cửa sổ Create New Index hình 3.46.
  3. Trong cửa sổ này ta nhập tên của Index trong mục Index name và chọn các trường của Index trong cột Column.
Hình 3.45. Cửa sổ Manage Indexes
Hình 3.45. Cửa sổ Manage Indexes
Hình 3.46. Cửa sổ Create New Index
Hình 3.46. Cửa sổ Create New Index

Ngoài ra, trong cửa sổ 3.45 Manage Indexes ta có các nút thao tác quản lý chỉ mục (Index):

o Nút New: Dùng để thêm một Index mới.

o Nút Edit: Chọn Index đã có trong danh sách và chọn nút để Edit để thực hiện chỉnh sửa chỉ mục đã có.

o Nút Delete: Chọn Index đã có trong danh sách và chọn nút để Delete để thực hiện xóa chỉ mục đã chọn.

* Dùng SQL Server Management Studio

• Trong SQL Server Management Studio, mở rộng danh mục Database, mở rộng cơ sở dữ liệu chứa bảng hoặc view muốn tạo chỉ số.

Hình 3.47. Cửa sổ New Index
Hình 3.47. Cửa sổ New Index

Mở rộng mục Table hoặc View, mở rộng bảng hoặc view muốn tạo Index. Right Click lên thư mục Indexes chọn New Index, xuất hiện cửa sổ New Index như hình 3.47. gồm các tham số:

  1. Table name (hoặc View name đối với view): Tên bảng (hoặc tên view) mà tệp chỉ số được xây dựng trên đó.
  2. Index name: Đặt tên tệp chỉ số muốn xây dựng.
  3. Index type: Kiểu của index (Clustered, Nonclustered)
  4. Unique: Tùy chọn cho phép tạo tệp chỉ số này có là tệp chỉ số duy nhất hay không?
  5. Index key columns: Xác định các trường khóa của index bằng cách click nút Add xuất hiện cửa sổ Select Columns Hình 3.48, ta chọn các cột làm khóa cho Index.
Hình 3.48. Cửa sổ Select Columns
Hình 3.48. Cửa sổ Select Columns

Chú ý: Trong SQL Server 2005, chúng ta có thể mở rộng chức năng của các tệp chỉ số phi liên cung (nonclustered indexes) bằng cách thêm các cột không là khóa (nonkey columns) vào các nút lá của cây nonclustered index. Các cột khóa được lưu trữ tại tất cả các mức còn các cột không khóa chỉ lưu trữ tại mức lá của index. Bằng việc thêm các cột không khóa, ta có thể tạo các tệp chỉ số phi liên cung phủ nhiều truy vấn hơn bởi vì các cột không khóa có các lợi ích sau:

  1. Chúng có thể là các cột có kiểu dữ liệu không được phép làm các cột khóa trong index.
  2. Chúng không được Database Engine xét khi tính đến số các cột khóa của Index hay kích thước khóa của index.

Một index được bao gồm tất cả các cột không khóa có thể cải thiện đáng kể sự thực thi truy vấn khi tất cả các cột trong được bao gồm trong index (cả các cột khóa và không khóa của index).

Để thêm các cột không khóa ta chọn trang Included Columns (Hình 3.49). Sau đó click nút Add để xuất hiện cửa sổ Select Columns (Hình 3.48).

Hình 3.49. Cửa sổ New Index
Hình 3.49. Cửa sổ New Index

* Dùng T - SQL

- Trên SQL Server 2000:

CREATE [ UNIQUE][CLUSTERED|NONCLUSTERED]INDEX

index_name

ON { table | view } ( column [ ASC | DESC ] [ ,...n ] ) [ WITH < index_option > [ ,...n] ]

[ ON filegroup ]



< index_option > :: =

{ PAD_INDEX |

FILLFACTOR = fillfactor | IGNORE_DUP_KEY | DROP_EXISTING |

STATISTICS_NORECOMPUTE | SORT_IN_TEMPDB

}

- Trên SQL Server 2005:

CREATE [ UNIQUE ] [ CLUSTERED | NONCLUSTERED ] INDEX

index_name

ON <object> ( column [ ASC | DESC ] [ ,...n ] ) [ INCLUDE ( column_name [ ,...n ] ) ]

[ WITH ( <relational_index_option> [ ,...n ] ) ] [ ON { filegroup_name|default }

] [ ; ]



<object> ::=

{

[ database_name. [ schema_name ] . | schema_name. ] table_or_view_name

}



<relational_index_option> ::=

{

PAD_INDEX = { ON | OFF }

| FILLFACTOR = fillfactor

| SORT_IN_TEMPDB = { ON | OFF }

| IGNORE_DUP_KEY = { ON | OFF }

| STATISTICS_NORECOMPUTE = { ON | OFF }

| DROP_EXISTING = { ON | OFF }

| ONLINE = { ON | OFF }

| ALLOW_ROW_LOCKS = { ON | OFF }

| ALLOW_PAGE_LOCKS = { ON | OFF }

| MAXDOP = max_degree_of_parallelism

}

Các tham số trong đó:

UNIQUE

Chỉ định tạo một unique index trên bảng hoặc trên view. Một clustered index trên view buộc phải là unique.

CLUSTERED

Chỉ định tạo chỉ mục liên cung.

NONCLUSTERED

Chỉ định tạo chỉ mục phi liên cung. Mặc định là chỉ mục NONCLUSTERED.

index_name

Là tên của tệp chỉ số.

column

Là tên cột hoặc các cột mà index dựa trên đó.

INCLUDE ( column [ ,... n ] )

Chỉ định các cột không khóa được thêm vào mức lá của chỉ mục phi liên cung.

ON filegroup_name

Tạo index trên filegroup chỉ định. Nếu không có chỉ định này thì index sử dụng cùng filegroup mà table hoặc view dựa trên.

ON "default"

Tạo index dựa trên filegroup mặc định.

Ví dụ 3.7. Tạo Index trên bảng LOP của CSDL QLDiemSV

Use QLDiemSV

create Unique index indTenLopind On LOp(TenLop)

Ví dụ 3.8. Xây dựng lại Index TenLop_ind trên bảng LOP của CSDL QLDiemSV

Use QLDiemSV

create Unique index TenLop_ind On LOp(TenLop)

With DROP_EXISTING

Ví dụ 3.9. Dùng từ khóa DBCC DBREINDEX

Use QLDiemSV Go

DBCC DBREINDEX(HOSOSV)

c) Loại bỏ chỉ mục

  • Dùng Enterprise Manager: Trong cửa sổ Enterprise Manager, mở rộng danh mục Database, mở rộng cơ sở dữ liệu muốn xóa Index, chẳng hạn CSDL QLDiemSV và chọn mục Tables. Sau đó right click lên bảng muốn tạo chỉ mục. Chọn All Task\Manage Indexes. Xuất hiện của sổ Manage Indexes như hình 3.45. Chọn Index muốn xóa và chọn Delete.
  • Dùng SQL Server Management Studio: Trong SQL Server Management Studio, mở rộng danh mục Database, mở rộng cơ sở dữ liệu chứa bảng hoặc view muốn xóa chỉ số. Mở rộng mục Indexes của bảng hoặc view đó, right click lên Index muốn xóa và chọn Delete.
  • Dùng lệnh T-SQL:
DROP INDEX <table.index> | <view.index>

Chú ý: Đối với SQL Server 2005 ta có thể sử dụng cú pháp sau:

DROP INDEX index_name ON <Table|View>

Ví dụ 3.10. Loại bỏ chỉ mục TenLop_ind Use QLDiemSV

Go

DROP INDEX Lop. indTenLop Go

d) Full Text Index

Full Text Indexes được sử dụng trong SQL Server để thực hiện việc tìm tiếm toàn văn (Full Text Searches). Ta đã sử dụng từ khóa LIKE trong các truy vấn để tìm kiếm. Full Text Indexing là một đặc điểm của SQL Server 2005 cho phép các câu truy vấn phức tạp được thực thi trên dữ liệu kiểu ký tự.

Sử dụng Full Text Indexing để thực hiện tìm kiếm theo từng từ, hai hoặc nhiều từ liền nhau, theo đoạn hay các phần của từ.

Việc sử dụng Full Text Indexing để tìm kiếm rất hữu dụng khi dữ liệu được biểu diễn bởi một định dạng không cấu trúc. Khi câu truy vấn Full Text được thực hiện, bộ máy tìm kiếm trả về các giá trị khóa mà so khớp với điều kiện tìm kiếm.

Đối tượng để cài đặt Full Text Searching là Full Text Index và Full Text Catalog.

+ Full Text Index theo dõi các từ có nghĩa trong bảng. Index này được sử dụng cho các tìm kiếm chứa các từ chỉ mục và các lựa chọn tìm kiếm cao cấp, chẳng hạn như các nhóm tìm kiếm. Một Full Text Index yêu cầu một cột chứa các giá trị khóa duy nhất. Các Full Text Indexes không tự động cập nhật khi có sự thay đổi dữ liệu trên bảng mà ta phải thực hiện Update thủ công.

+ Full Text Catalog: Tất cả các Full Text Indexes được lưu trữ trong các Full Text Indexing. Một Full Text Catalog là một thư mục có thể được view bởi window và Search Service. Theo mặc định tất cả các Full Text Indexes của một CSDL chứa trong một Full Text Catalog, tuy nhiên người quản trị hệ thống có thể chia catalog thành nhiều catalogs khi các indexes quá lớn.

Tạo Full Text Index: Chỉ có một Full Text Index được tạo trên một bảng, tuy nhiên ta có thể index nàu có thể được tạo trên sự kết hợp của nhiều cột. Tạo full text index bao gồm hai bước: Full Text Catalog và Full Text index.

+ Sử dụng Management Studio:

Tạo Full Text Catalog:

  1. Trong SQL Server Management Studio, mở rộng danh mục Database, mở rộng cơ sở dữ liệu chứa bảng muốn tạo full text index và mở rộng mục Storage.
  2. Right click lên mục Full Text Catalogs/ chọn New Full Text Catalog xuất hiện cửa sổ New Full Text Catalog (Hình 3.50), thực hiện điền các tham số tên và vị trí lưu trữ catalog.

Full text catalog name: Tên của Full text catalog. Catalog location: Vị trí lưu file.

Hình 3.50. Cửa sổ New Full text catalog
Hình 3.50. Cửa sổ New Full text catalog

Tạo Full Text Index:

  1. Trong SQL Server Management Studio, mở rộng danh mục Database, mở rộng cơ sở dữ liệu chứa bảng muốn tạo full text index.
  2. Right click trên bảng muốn tạo và chọn Full Text Index\ Define Full Text Index, xuất hiện cửa sổ Welcome to SQL Server Full Text Indexing Wizard (Hình 3.51).
  3. Tiếp theo thực hiện theo các chỉ dẫn của các cửa sổ wizard (Hình 3.51-Hình 3.58).
Hình 3.51. Cửa sổ Welcome to SQL Server Full Text Indexing Wizard
Hình 3.51. Cửa sổ Welcome to SQL Server Full Text Indexing Wizard
Hình 3.52. Cửa sổ Select an Index
Hình 3.52. Cửa sổ Select an Index
Hình 3.53. Cửa sổ Select Table Columns
Hình 3.53. Cửa sổ Select Table Columns
Hình 3.54. Cửa sổ Select Change Tracking
Hình 3.54. Cửa sổ Select Change Tracking
Hình 3.55. Cửa sổ Select a Catalog
Hình 3.55. Cửa sổ Select a Catalog
Hình 3.56. Cửa sổ Define Population Schedules
Hình 3.56. Cửa sổ Define Population Schedules
Hình 3.57. Cửa sổ Full Text Indexing Wizard Description
Hình 3.57. Cửa sổ Full Text Indexing Wizard Description
Hình 3.58. Cửa sổ Full Text Indexing Wizard Progress
Hình 3.58. Cửa sổ Full Text Indexing Wizard Progress

+ Sử dụng T SQL:

CREATE FULLTEXT CATALOG catalog_name

[IN PATH 'rootpath'] [AS DEFAULT]
CREATE FULLTEXT INDEX ON table_name

[(column_name [,...n])]

KEY INDEX index_name

[ON fulltext_catalog_name]

]
Lượt xem: 14