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

2. Làm việc với các đối tượng trong SQL Server (tiếp theo)

Gửi bởi: Nguyễn Thị Thu Hiếu 17 tháng 2 2020 lúc 10:30:55


Trong đó:

catalog_name: Là tên của catalog

rootpath: Chỉ định thư mục gốc chứa catalog. Nếu không chỉ định thư mục này thì sẽ là thư mục mặc định khi cài đặt SQL Server.

AS DEFAULT : Chỉ định catalog này là catalog mặc định.

table_name: Tên bảng tạo Full Text Index.

column_name: Tên cột hoặc các cột được chứa trong full text index, chỉ có các cột kiểu char, varchar, nchar, nvarchar, text, ntext, image, xml, và varbinary có thể được chứa trong full-text search.

index_name: Là tên của một key index dạng unique trên table_name. KEY INDEX phải là unique, single-key, non-nullable column. Nên chọn key index unique nhỏ nhất cho full-text unique key, tốt nhất chọn một CLUSTERED index.

fulltext_catalog_name: Tên của full text catalog chứa full text index đang tạo.

Ví dụ 3.11. Tạo full text catalog và full text index

USE AdventureWorks; GO
CREATE UNIQUE INDEX ui_ukJobCand ON HumanResources.JobCandidate(JobCandidateID); CREATE FULLTEXT CATALOG ft AS DEFAULT;

CREATE FULLTEXT INDEX ON
HumanResources.JobCandidate(Resume) KEY INDEX ui_ukJobCand;

Ví dụ 3.12. Tạo full text catalog và full text index

CREATE FULLTEXT CATALOG [CatalogNorthwind] IN PATH N'E:\BaiGiang\BaiGiang_HQTCSDL\DATA' WITH ACCENT_SENSITIVITY = ON
AUTHORIZATION [dbo]
Create fulltext index on products (ProductName, QuantityPerUnit) KEY INDEX PK_Products ON Products

  * Sửa Full Text Index: Dùng Management Studio hoặc dùng T-SQL  

+ ALTER FULLTEXT CATALOG catalog_name

{ REBUILD | REORGANIZE | AS DEFAULT }

Trong đó:

REBUILD: Chỉ định xây dựng lại toàn bộ catalos bằng cách xóa catalog cũ và tạo lại catalog mới.

REORGANIZE: Chỉ định kết hợp các chỉ mục nhỏ thành trong tiến trình lập chỉ mục thành một chỉ mục lớn hơn.

AS DEFAULT : Chỉ định catalog này là catalog mặc định.

+ ALTER FULLTEXT INDEX ON table_name

{ ENABLE

| DISABLE

| ADD (column_name)

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

}

Trong đó:

ENABLE|DISABLE: Chỉ định SQL Server có hoặc không thu thập dữ liệu full text index cho table_name, ENABLE kích hoạt còn DISABLE tắt .

ADD|DROP: Thêm hoặc xóa các cột.

  * Xóa Full Text Index: Dùng Management Studio hoặc dùng T-SQL  

DROP FULLTEXT CATALOG catalog_name DROP FULLTEXT INDEX ON table_name

Ví dụ 3.13. Xóa full text catalog và full text index

IF EXISTS (SELECT * FROM sysfulltextcatalogs ftc WHERE ftc.name = N'CatalogNorthwind')

DROP FULLTEXT CATALOG [CatalogNorthwind]

Tìm kiếm với Full Text Index: Trong mệnh đề WHERE của khối câu lệnh SELECT ta sử dụng các từ khóa CONTAINS hoặc FREETEXT để thực hiện tìm kiếm.  

Từ khóa CONTAINS: Sử dụng từ khóa này để thực hiện tìm kiếm cho

+ Một từ hoặc cụm từ.

+ Tiền tố của một từ hoặc cụm từ.

+ Một từ gần từ khác.

+ Một từ là biến tố của từ khác (Ví dụ: drive có các biến tố drives, drove, driving, và driven).

+ Một từ đồng nghĩa với các từ khác, sử dụng từ điển đồng nghĩa (Ví dụ từ metal (Tiếng Anh) đồng nghĩa với các từ aluminum và steel).

Cú pháp:

CONTAINS ( {column_name|(column_list)|* }

, '< contains_search_condition >')



< contains_search_condition > ::=

{ < simple_term >

| < prefix_term >

| < generation_term >

| < proximity_term >

| < weighted_term >

}



| { ( < contains_search_condition > )

[ { < AND > | < AND NOT > | < OR > } ]

< contains_search_condition > [ ...n ]

}



< simple_term > ::= word | " phrase "

< prefix term > ::= { "word * " | "phrase *" }
< generation_term > ::=

FORMSOF ({INFLECTIONAL|THESAURUS},<simple_term>[

,...n ] )

< proximity_term > ::= {<simple_term>|<prefix_term>}

{ { NEAR | ~ }{<simple_term >|<prefix_term>}}

[ ...n ]

< weighted_term > ::= ISABOUT

( { {
< simple_term >

| < prefix_term >

| < generation_term >

| < proximity_term >

}

[ WEIGHT ( weight_value ) ]
} [ ,...n ]

)
< AND > ::=

{ AND | & }

< AND NOT > ::=

{ AND NOT | & !}

< OR > ::=

{ OR | | }

Ví dụ 3.13. Tìm kiếm sử dụng CONTAINS

USE AdventureWorks; GO

SELECT Name, ListPrice FROM Production.Product WHERE ListPrice = 80.99

AND CONTAINS(Name, 'Mountain'); SELECT Name

FROM Production.Product

WHERE CONTAINS(Name, '"Mountain Frame"OR"Road" ') SELECT Name

FROM Production.Product

WHERE CONTAINS(Name, ' "Chain*" ');

SELECT Description

FROM Production.ProductDescription

WHERE CONTAINS(Description, 'bike NEAR performance');

SELECT Description

FROM Production.ProductDescription

WHERE CONTAINS(Description, ' FORMSOF (INFLECTIONAL,

ride) ');



SELECT Description

FROM Production.ProductDescription

WHERE CONTAINS(Description, 'ISABOUT (performance weight (.8),comfortable weight (.4), smooth weight (.2) )' );

GO

USE AdventureWorks; GO

DECLARE @SearchWord varchar(30) SET @SearchWord ='Performance'

SELECT Description FROM Production.ProductDescription WHERE CONTAINS(Description, @SearchWord);

GO

Từ khóa FREETEXT: Thực hiện tìm kiếm đối với các kiểu dữ liệu ký tự, so khớp theo nghĩa không nhất thiết phải chính xác theo từ của chuỗi tìm kiếm. Khi FREETEXT được sử dụng, bộ máy tìm kiếm thực thi các hành động sau trên chuỗi tìm kiếm: gán cho mỗi từ một trọng số sau đó mới so khớp.

+ Chia chuỗi tìm kiếm thành từng từ.

+ Sinh các biến tố của các từ đó.

+ Nhận dạng danh sách mở rộng hoặc thay thế các mục đồng nghĩa trong chuỗi so khớp.

Cú pháp:

FREETEXT({column_name |(column_list) | * }, 'freetext_string' )

Ví dụ 3.14. Tìm kiếm sử dụng FREETEXT

USE AdventureWorks; GO

DECLARE @SearchWord varchar(30); SET @SearchWord ='Install';

SELECT Title FROM Production.Document WHERE FREETEXT(Title, @SearchWord);

5. Lược đồ - Diagrams

a) Tạo lược đồ

* 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 lược đồ, chẳng hạn CSDL QLDiemSV và chọn mục Diagrams.
  2. Right Click lên Diagrams, chọn New Database Design. Xuất hiện cửa sổ Wellcome to Create Database Wizard (Hình 3.50). Chọn Next.
  3. Xuất hiện cửa sổ Cửa sổ Select Tables to be Added (hình 3.51). Chọn các bảng sẽ dùng để xây dựng lược đồ quan hệ. Chọn Next.
  4. Cửa sổ Completing the Create Database Wizard (hình 3.52) chọn Finish.
  5. Xuất hiện cửa sổ thiết kế Diagrams (hình 3.53). Trong cửa sổ này ta thực hiện thiết kế các mối quan hệ giữa các bảng bằng cách: Kéo và giữ chuột trên trường quan hệ của bảng này sau đó nhả vào trường quan hệ của bảng kia.
  6. Xuất hiện cửa sổ Relationship (hình 3.54). Trong cửa sổ này ta chọn trường quan hệ giữa hai bảng và các điều kiện cho mối quan hệ đang tạo giữa hai bảng này.
Hình 3.50. Cửa sổ Wellcome to Create Database Wizard
Hình 3.51. Cửa sổ Select Tables to be Added
Hình 3.52. Cửa sổ Completing the Create Database Wizard
Hình 3.53. Cửa sổ thiết kế Diagrams
Hình 3.54. Cửa sổ Create Relationship

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 muốn tạo Database Diagrams. Right click và chọn New Database Diagram xuất hiện cửa sổ Add Table hình 3.55.
Hình 3.55. Cửa sổ Add Table
  • Chọn các bảng xây dựng lược đồ thông qua nút Add. Xuất hiện cửa sổ thiết kế Diagram (Hình 3.56).
  • Ta thực hiện thiết kế mối quan hệ giữa các bảng trong cơ sở dữ liệu bằng việc kéo và giữ trường của bảng này thả sang trường tương ứng của bảng khác xuất hiện cửa sổ Table and Columns (Hình 3.57). Ta thực hiện điều chỉnh các tham số cho mối quan hệ đó.
Hình 3.56. Cửa sổ thiết kế Diagram
Hình 3.57. Cửa sổ thiết kế Table and Columns

b) Chỉnh sửa lược đồ

Sử 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 lược đồ, chẳng hạn CSDL QLDiemSV và chọn mục Diagrams.
  2. Double Click lên lược đồ muốn chỉnh sửa. Xuất hiện cửa sổ Edit Diagram (Hình 3.53). Ta thực hiện các thao tác chỉnh sửa lược đồ trên cửa sổ này:Thêm bảng mới: Right click và chọn Add tableXóa bảng: Right click lên bảng xóa và chọn Remove Table from Diagram.Xóa quan hệ: Right click lên quan hệ muốn xóa và chọn Delete Relationship from Database.Chỉnh sửa lại quan hệ: Right click lên quan hệ muốn chỉnh sửa và chọn Properties. Thực hiện các chỉnh sửa trên cửa sổ này.

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 sửa đổi Database Diagrams. Right click vào Diagram muốn sửa đổi và chọn Modify xuất hiện cửa sổ thiết kế Database Diagram như hình 3.56 ta thực hiện sửa đổi trên cửa sổ này.

c) Xóa lược đồ

Sử dụng Enterprise Manager:

  • Trong Enterprise Manager, mở rộng danh mục Database, mở rộng CSDL và chọn mục Diagrams. Right click lên lược đồ 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 sửa đổi Database Diagrams. Right click vào Diagram muốn sửa đổi và chọn Delete xuất hiện cửa sổ xác nhận xóa và chọn OK.

Được cập nhật: 14 tháng 4 lúc 10:05:36 | Lượt xem: 817