1. Trang chủ
  2. » Luận Văn - Báo Cáo

kl le thi phuong tram

112 3 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 112
Dung lượng 1,78 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Chương 2: Lý thuyết Chương này chúng ta trình bày về lập trình Cơ sở dữ liệu SQL Server;kiến thức cơ bản của công cụ tìm kiếm Full-Text Search như tạo full-text catalogs, full-text inde

Trang 1

ỦY BAN NHÂN DÂN THÀNH PHỐ HỒ CHÍ MINH ĐẠI HỌC BÁN CÔNG TÔN ĐỨC THẮNG

Nguyễn Phạm Đăng Thy

TÌM HIỂU FULL TEXT SEARCH TRONG SQL

VIẾT CHƯƠNG TRÌNH QUẢN LÝ CÁC ĐỀ TÀI CỦA KHOA CÔNG NGHỆ THÔNG TIN –TOÁN ỨNG DỤNG

Chuyên ngành :Toán Ứng Dụng Luận văn Cử Nhân Khoa Học Toán Ứng Dụng Giảng viên hướng dẫn luận văn :

Trang 2

Lời cảm ơn

Lời đầu tiên chúng em xin chân thành cảm ơn quý thầy cô khoa Công nghệ thông tin – Toán ứng dụng trong Trường đại học bán công Tôn Đức Thắng đã tận tình giảng dạy, giúp đỡ chúng em trong suốt bốn năm học tại trường Xin chân thành cảm ơn thầy Nguyễn Thanh Giang đã tận tình giúp đỡ chúng em trong việc thực luận văn này

Để thực hiện luận văn, chúng em đã cố gắng và nổ lực hết mình nhưng chắc chắn sẽ vẫn còn nhiều thiếu xót Chúng em rất mong được sự góp ý và chỉ bảo của quý thầy cô để luận văn này được hoàn thiện hơn, qua đó giúp cho chúng em có thêm nhiều kinh nghiệm trong công tác sau này

TP.HCM, ngày 27 tháng 7 năm 2007

LÊ THỊ PHƯƠNG TRÂM NGUYỄN PHẠM ĐĂNG THY

Trang 3

Tóm lược

Hiện nay, tìm kiếm luôn là một công cụ cần thiết trong hầu hết các ứng dụng công

nghệ thông tin Do đó Microsoft đã đưa công cụ Full-Text Search vào Microsoft

SQL Server 7.0 để cạnh tranh với các phần mềm quản trị cơ sở dữ liệu khác Đến

nay thì công cụ này đã trở thành mặc định Với Full-Text Search ta cũng có thể

nhanh chóng tìm kiếm được thông tin cấn có khi các cơ sở dữ liệu lớn với hàng tỉ

dòng dữ liệu Ngoài ra, Full-Text Search còn hổ trợ Unicode và các ngôn ngữ khác

như Tây Ban Nha, Trung Quốc, Nhật Bản, … nên việc tìm kiếm trở nên thông minh

và hiệu quả hơn nhiều lần so với công cụ tìm kiếm LIKE truyền thống

Chương trình quản lý các đề tài của khoa Công nghệ thông tin – Toán ứng dụng trong Luận văn nhằm minh hoạ cho chương trình này

Trang 4

Mục lục Chương 1: Giới thiệu

1.1 Mục tiêu đề tài

1.2 Bố cục của luận văn

Chương 2: Lý thuyết

2.1 Tổng quan về SQL Server 2005

2.1.1 Giới thiệu về SQL Server 2005

2.1.2 SQL Server Management Studio

2.1.2.1 Khởi chạy Managemane Studio và kết nối tới SQL Server

2.1.2.2 Khám phá các đối tượng cơ sở dữ liệu dùng OBJECT EXPLORER 2.1.2.2.1 Xem và thay đổi thuộc tính cơ sở dữ liệu

2.1.2.2.2 Bảo mật

2.1.2.2.3 Tạo cơ sở dữ liệu

2.1.2.2.4 Tạo bảng

2.1.2.2.5 Thêm ràng buộc cho bảng

2.1.2.2.6 Thêm dữ liệu cho bảng

2.1.2.2.7 Cập nhật và xoá dữ liệu trong bảng

2.1.3 Một số kiểu dữ liệu trong SQL Server 2005

2.2 Full-Text Search

2.2.1 Khái niệm cơ bản

2.2.2 Cấu trúc của Full-Text Search

2.2.3 Thiết lập full-text catalogs và full-text indexes

2.2.3.1 Thiết lập full-text cho cơ sở dữ liệu

2.2.3.2 Tạo, thay đổi, xoá và thao tác một full-text catalog

Trang 5

2.2.3.2.1 Tạo full-text catalog

2.2.3.2.2 Thay đổi full-text catalog

2.2.3.2.3 Xoá full-text catalog

2.2.3.3 Tạo, thay đổi, xoá và thao tác full-text indexes

2.2.3.3.1 Tạo full-text indexes

2.2.3.3.2 Thay đổi full-text indexes

2.2.3.3.3 Xoá full-text indexes

2.2.4 Tạo full-text catalog dùng cú pháp cũ

2.2.5 Tạo full-text index dùng cú pháp cũ

2.2.6 Khởi động nạp đầy

2.2.7 Cú pháp truy vấn Full-Text Search

2.2.7.1 CONTAINS

2.2.7.2 FREETEXT

2.2.7.3 CONTAINSTABLE

2.2.7.4 FREETEXTTABLE

2.2.7.5 So sánh giữa CONTAINS và CONTAINSTABLE

2.2.7.6 So sánh giữa FREETEXT và FREETEXTTABLE

Chương 3 : Phân tích hệ thống quản lý các đề tài của khoa CNTT – TUD

3.1.Mô tả yêu cầu

3.2 Mô hình thực thể kết hợp

3.3 Mô hình dữ liệu quan hệ

3.4 Các ràng buộc toàn vein

3.5 Sơ đồ quan hệ

3.6 Thiết kế bảng dữ liệu

Trang 6

4.1 Đăng nhập hệ thống

4.2 Thông tin và cập nhật

4.2.1 Danh sách các lớp

4.2.2 Danh sách sinh viên

4.2.3 Danh sách giảng viên hướng dẫn 4.2.4 Danh sách đề tài

4.3 Tìm kiếm

4.3.1.Tìm kiếm theo thông tin

4.3.2.Tìm kiếm theo nội dung

Chương 5 : Kết luận và hướng phát triển

5.1 Ưu điểm

5.2 Khuyết điểm

5.3 Hướng phát triển

TÀI LIỆU THAM KHẢO

Trang 7

Danh mục hình

Hình 2.1: Hộp thoại đăng nhập Connect to Server

Hình 2.2: Cửa sổ SQL Server Managerment Studio

Hình 2.3: hộp thoại Database Properties

Hình 2.4: Tạo đăng nhập mới

Hình 2.5: Chọn New Database để tạo cơ sở dữ liệu mới

Hình 2.6: Hộp thoại New Database

Hình 2.7: chọn New Table để tạo bảng mới

Hình 2.8: Bảng đang ở chế độ thiết ke.á

Hình 2.9: Cấu trúc của Full-Text Search

Hình 2.10: Chọn New Full-Text catalog để tạo Full-Text catalog mới

Hình 2.11: Hộp thoại New Full-text catalog

Hình 2.12: Chọn Full-text index để tạo Full-Text index

Hình 2.13: Full-Text indexing Wizard

Hình 2.14: Full-Text indexing Wizard Hộp thoại chọn khoá chính

Hình 2.15: Full-Text indexing Wizard Chọn cột cần full-Text index

Hình 2.16: Full-Text indexing Wizard Chọn chế độ update chỉ mục

Hình 2.17: Full-Text indexing Wizard Chọn catalog chứa chỉ mục

Hình 2.18: Full-Text indexing Wizard Lập thời gian biểu cho Full-Text catalog hay

Full-Text index

Hình 2.19: Lập thời gian biểu mới cho Full-Text indexing

Hình 2.20: hộp thoại New Project

Hình 2.21: Giao diện C# Windown Application

Trang 8

Danh mục bảng

Bảng 2.1: Một số kiểu dữ liệu trong SQL Server 2005

Trang 9

CHƯƠNG 1 :

GIỚI THIỆU

Trang 10

1.1 Mục tiêu của đề tài

Như đã giới thiệu ở trên thì chương trình quản lý các đề tài của khoa Công nghệ thông tin – Toán ứng dụng trong Luận văn tốt nghiệp này nhằm minh hoạ cho công

cụ tìm kiếm Full-Text Search Ở đây Quản lý các đề tài là bao gồm quản lý hết tất

cả những đồ án và những luận văn mà sinh viên của khoa làm được trong suốt quá trình học Nhằm giúp tiết kiệm thời gian trong việc lưu trữ đề tài, hỗ trợ các sinh viên khóa sau có điều kiện tìm kiếm và tham khảo những đề tài của các anh chị đi trước đã thực hiện để rút ra những kiến thức cần thiết để hoàn thiện đề tài của mình, giúp thầy cô có thể thống kê các đề tài đã thực hiện và để dễ dàng đưa ra các đề tài mới mà không sợ bị trùng lắp…

1.2 Bố Cục Của Luận Văn

Bản luận văn này chúng em sẽ giới thiệu về một số lý thuyết Cụ thể, luận văn sẽ trình bày về lập trình Cơ sở dữ liệu SQL Server, công cụ tìm kiếm Full-Text Search, và công cụ dùng để lập trình là Ngôn ngữ lập trình C# Về nội dung, luận văn gồm có bốn chương sau :

Chương 1: Giới thiệu

Chương này sẽ giới thiệu sơ qua về mục tiêu của đề tài và bố cục của luận văn

Chương 2: Lý thuyết

Chương này chúng ta trình bày về lập trình Cơ sở dữ liệu SQL Server;kiến thức cơ bản của công cụ tìm kiếm Full-Text Search như tạo full-text catalogs, full-text indexes và các cú pháp truy vấn …, và một ít về ngôn ngữ lập trình C#

Trang 11

Chương 3: Phân tích hệ thống quản lý các đề tài của khoa CNNT – Toán ứng dụng

Chương này sẽ được trình bày sơ qua về yêu cầu của chương trình, mô hình thực thể kết hợp, mô hình quan hệ, các ràng buộc toàn vẹn, sơ đồ quan hệ và thiết kế bảng dữ liệu của chương trình

Chương 4: Chương trình ứng dụng

Chương này chúng ta sẽ nói về chức năng và mô tả sơ bộ về chương trình quản lý các đề tài

Chương 5: Kết luận và hướng phát triển

Chương này chúng ta sẽ nêu lên những ưu điểm, nhược điểm của bài luận văn Qua đó sẽ đề ra hướng phát triển cho chương trình, giúp chương trình hoàn thiện hơn

Trang 12

CHÖÔNG 2 :

LYÙ THUYEÁT

Trang 13

2.1 Tổng quan về SQL Server 2005

2.1.1 Giới thiệu SQL Server 2005

SQL Server 2005 là phiên bản mới nhất của hệ quản trị cơ sở dữ liệu quan hệ SQL Server hoạt động theo mô hình Client – Server của Microsoft SQL Server có nhiều tính năng mới giúp bạn quản lý cơ sở dữ liệu quan hệ cùng với tính năng khai thác thông tin vô cùng hiệu quả

SQL Server 2005 nói một cách đơn giản là mạnh hơn và tốt hơn SQL Server 2000 Nó đưa ra những chức năng phù hợp theo nhu cầu cũng như độ lớn của doanh nghiệp, giúp quản lý dữ liệu kinh doanh nhạy cảm ngày càng hiệu quả hơn

SQL Server 2005 có thêm những tính năng mới như sau:

o Nâng cao bảo mật

o Mở rộng T – SQL

o Tăng cường hổ trợ người phát triển

o Tăng cường khả năng quản lý

o Nâng cao độ sẵn sàng của cơ sở dữ liệu

o Nâng cao khả năng mở rộng của cơ sở dữ liệu

o Tăng cường khả năng khai thác thông tin

Công cụ quản lý chính trong SQL Server 2005 là SQL Server Management Studio

Trang 14

Server 2000 Nó cho phép bạn quản lý các máy chủ SQL Server 2005, các thể hiện

cơ sở dữ liệu, Analysis Services, Intergration Services, Reporting Services Bạn dùng SQL Server Management Studio để tạo cơ sở dữ liệu, bảng, view, quan hệ giữa các bảng, thêm sửa đổi, xóa, dữ liệu…

2.1.2 SQL Server Management Studio

2.1.2.1 Khởi chạy Management Studio và kết nối tới SQL Serrver

Để chạy SQL Server Management Studio, chọn Start -> All programs ->

Microsoft Server 2005 -> SQL Server Management Studio

Khi khởi chạy SQL Server Management Studio, một hộp thoại “Connect to Server” xuất hiện, bạn có thể chọn một thể hiện của SQL Server để kết nối tới hoặc không chọn thể hiện nào

Để kết nối tới thể hiện cục bộ của cỗ máy cơ sở dữ liệu SQL Server, trong hộp

danh sách Server Type chọn Database Engine Trong hộp danh sách Server Name

chọn (hoặc nhập vào) dấu chấm (.) hoặc nhập chữ local hoặc nhập tên máy tính Chọn phương pháp xác thực chúng ta muốn trong hộp thoại danh sách

Authentication, nếu bạn chọn Windown Authentication thì nhấn nút Connect để

thực hiện kết nối, nếu chúng ta chọn SQL Server Authentication thì bạn phải cung

cấp tên đăng nhập trong hộp danh sách Login (ví dụ sa) và mật khẩu trong hộp văn bản Password, cuối cùng nhấn nut Connect để kết nối Nếu hộp kiểm Remember

Trang 15

password được chọn thì kể từ lần đăng nhập sau chúng ta phải cung cấp lại mật

khẩu nữa Xem hình minh họa sau:

Hình 2.1: Hộp thoại đăng nhập Connect to Server

Trang 16

Ngay sau khi chúng ta kết nối thành công tới thể hiện cục bộ của SQL Server 2005, cửa sổ SQL Server Management Studio hiển thị như sau :

Hình 2.2: Cửa sổ màn hình Managerment Studio

2.1.2.2 Khám phá các đối tượng cơ sở dữ liệu dùng OBJECT EXPLORER

Khi chúng ta mở SQL Server Management Studio thì mặc định cửa sổ Object Explorer hiển thị bên trái màn hình Nếu Object Explorer chưa hiển thị thì bạn chọn

trình đơn View-> Object Explorer

Object Explorer cho phép bạn thực hiện vài tác vụ quản lý trong Management

Studio tùy thuộc loại thể hiện chúng ta đang chọn như sau :

o Tạo và quản lý cơ sở dữ liệu

Trang 17

o Xem và thay đổi các thuộc tính cơ sở dữ liệu

o Tạo và quản lý các đối tượng cơ sở dữ liệu như bảng, view, …

o Cấp phát và thu hồi các quyền, đặc quyền

o Cấu hình replication

o Quản lý các gói Integration Services (được tạo trong BIDS)

o Xem các tập tun log của Windows và SQL Server

o Quản lý SQL Server Agent

Để xem các đối tượng của cơ sở dữ liệu, chúng ta nhấn lên kí hiệu dấu cộng (+) bên trái để thể hiện mở rộng nút, tiếp theo nhấn lên kí hiệu hình dấu (+) bên trái các nhóm tương ứng để xem các đối tượng trong nhóm đó

2.1.2.2.1 Xem và thay đổi thuộc tính cơ sở dữ liệu

Để xem và thay đổi thuộc tính cơ sở dữ liệu chúng ta thực hiện các bước sau :

Bước 1: Nhấn vào kí hiệu bên trái hình dấu cộng (+) bên trái nút Database Chúng

ta sẽ thấy cơ sở dữ liệu System Database và các Cơ sở dữ liêu khác

Bước 2: Nhấn lên kí hiệu hình dấu cộng (+) bên trái một cơ sở dử liệu nào đó, ví dụ là cơ sở dữ liệu QLLV để xem các đối tượng của nó như : Database Diagrams, Table, View, …

Bước 3: Nhấn chuột lên tên một cơ sở dữ liệu Ví dụ là nhấn phải chuột lên cơ sở dữ

Trang 18

Bước 4: Chọn trình đơn Properties từ trình đơn ngữ cảnh Lúc này hộp thoại database properties xuất hiện như sau:

Hình 2.3: Hộp thoại Database Properties

Bước 5: Chọn từng thẻ (Gerneral ,File, Filegroup,…) bên trái hộp thoại để xem các thuộc tính của nó

Trang 19

Để thêm một đăng nhập mới vào thể hiện SQL Server, chúng ta thực hiện như sau:

Bước 1: Nhấn chuột phải lên nut Security và chọn New -> Login từ trình đơn ngữ

cảnh

Hình 2.4: Tạo đăng nhập mới

Hộp thoại Login – New xuất hiện

Trang 20

Bước 2: Nhập tên đăng nhập mới vào hộp thoại Login name nếu bạn chọn chế độ xác thực là SQL Server Authentication Nếu bạn chọn chế độ là Windows Authentication thì nhấn nút Search để chọn

Bước 3: Nếu chúng ta muốn thêm tên đăng nhập mới vào nhóm quyền có sẵn thì chọn thẻ Server Roles rồi nhấn chọn một hoặc nhiều hộp kiểm bên phải

Bước 4: Nếu bạn muốn cấp quyền truy cập (Grant) cơ sở dữ liệu cho đăng nhập này hoặc từ chối (Deny), vô hiệu (Disable) hoặc cho phép (Enable) sử đăng nhập

này, chọn thẻ Status

2.1.2.2.3 Tạo cơ sơ dữ liệu

Để tạo một cơ sở dữ liệu mới với Object Explorer, chúng ta nhấp chuột phải lên nút Database của một thể hiện SQL Server trong Object Explorer và chọn New Database như hình minh hoạ sau:

Hình 2.5: chọn New Database để tạo cơ sở dữ liệu mới

Trang 21

Hộp thoại New Database xuất hiện như hình sau:

Hình 2.6: hộp thoại New Database

Trang 22

Bước 2: Nhấn phải chuột lên nút Tables và chọn New Table như hình sau:

(Ví dụ ở đây ta chọn cơ sở dữ liệu dulieu)

Hình 2.7: Chọn New Table để tạo bảng mới

Một bảng Table – dbo.Table_1 sẽ xuất hiện Bảng này gọi là bảng thiết kế,nó có chứa các cột:

¾ Column Name : Chứa tên cột của bảng chúng ta sẽ tạo

¾ Data Type: Chỉ ra kiểu dữ liệu cho cột

¾ Allow Nulls: Nếu được chọn () thì cột này chấp nhận giá trị NULL

Như vậy, mỗi dòng của bảng thiết kế chứa thông tin đặc tả cho một cột của bảng chúng ta sắp tạo

Trang 23

Hình 2.8: Bảng đang ở chế độ thiết kế

Bước 3: Nhập tên cột và kiểu dữ liệu của nó cho bảng chúng ta muốn tạo

Bước 4: Nhấp chuột phải lên dòng ContactID rồi chọn Set Primary Key để chỉ ra rằng cột này là khoá chính hoặc nhấn nút hình chìa khoá trên thanh công cụ

2.1.2.2.5 Thêm ràng buộc cho bảng

SQL Server 2005 cho phép bạn ràng buộc giá trị trong một cột xác định để dữ liệu không thích hợp sẽ không được thêm vào SQL Server hỗ trợ 5 kiểu ràng buộc sau:

NOT NULL: Khi ràng buộc này được chỉ ra, cột bắt buột phải có giá trị khi bạn

thêm dữ liệu vào bảng

Trang 24

CHECK: Ràng buộc này chỉ ra miền giá trị được cho phép

UNIQUE: Ràng buộc này chỉ ra giá trị nhập vào một cột phải là duy nhất

PRIMARY KEY: Ràng buộc này chỉ ra nhận dạng duy nhất giá trị trong cột, được

dùng để xác định một dòng duy nhất dữ liệu

FOREIGN KEY: ràng buộc này tham chiếu đến một nhận dạng duy nhất trong một

bảng khác trong cơ sở dữ liệu

2.1.2.2.6 Thêm dữ liệu cho bảng

Sau khi tạo xong, chúng ta có thể thêm dữ liệu vào bảng ngay trong công cụ

Management Studio Các bước thực hiện như sau:

Bước 1: Trong Object Explorer, chọn cơ sở dữ liệu bạn muốn thêm dữ liệu

Bước 2: Mở nút Database trong cơ sở dữ liệu đó, tiếp tục mở nút Tables

Bước 3: Nhấp chuột phải lên bảng mà bạn muốn thêm dữ liệu và chọn Open Table Bảng sẽ được mở ra và chúng ta có thể thêm dữ liệu trực tiếp lên bảng

2.1.2.2.7 Cập nhật và xoá dữ liệu trong bảng

Làm theo các bước tương tự như thêm dữ liệu vào bảng Song có khác trên là:

Trang 25

Đối với cập nhật dữ liệu: ta chọn dòng dữ liệu và xác định giá trị muốn sửa đổi,

nhập lại giá trị mới cho cột dữ liệu Khi chuyển sang dòng khác Management Studio sẽ tự dộng lưu những thay đổi mà chúng ta vừa sửa

Đối với xoá dữ liệu: nhấn chuột lên dòng muốn xoá, sau đó nhấn phím Delete

2.1.3 Một số kiểu dữ liệu trong SQL Server 2005

Kiểu dữ liệu Loại Bytes Diễn giải

Bit Integer 1 Kiểu dữ liệu có giá trị 0 hay 1 Tương tự

trong các cơ sở dữ liệu khác, 0 là False và

1 là True Bigint Integer 8 Kiểu dữ liệu số nguyên có giá trị từ -263

đến 263 -1, thông thường khi cần lưu trữ dữ liệu có dạng số nguyên thật lớn, bạn nên dùng kiểu dữ liệu Bigint

Int Integer 4 Kiểu dữ liệu số nguyên có giá trị từ

-2,147,483,648 đến 2,147,483,647, thông thường khi cần lưu trữ dữ liệu có dạng số nguyên không lớn lắm, bạn nên dùng kiểu dữ liệu Int

SmallInt Integer 2 Kiểu dữ liệu số nguyên có giá trị từ

-32,168 đến 32,167, thông thường khi cần lưu trữ dữ liệu có dạng số nguyên vừa

Trang 26

nhỏ, bạn nên dùng kiểu dữ liệu SmallInt

TinyInt Integer 1 Kiểu dữ liệu số nguyên có giá trị từ

0 đến 255, thông thường khi cần lưu trữ dữ liệu có dạng số nguyên nhỏ, bạn nên dùng kiểu dữ liệu TinyInt

Decimal or

Numeric

Decimal/

Numeric

Varies Số từ -1038 -1 đến 1038 -1

Money Money 8 Kiểu dữ liệu tiền có giá trị từ -263 đến 263

thêm vào đó 4 số lẻ SmallMoney Money 4 Kiểu dữ liệu tiền có giá trị từ -

214,748.3648 đến 214,748.3647 Float Approximate

Numeric

Varies Số từ -179E + 308 đến -179E + 308

DateTime Date/Time 8 Kiểu dữ liệu ngày tháng xuất hiện đầu

tiên trong SQL Server 7.0, cho phép có giá trị null, giá trị từ January 1, 1753 đến December 31, 9999

SmallDateTime Date/Time 4 Kiểu dữ liệu ngày tháng xuất hiện đầu

tiên trong SQL Server 7.0, cho phép có giá trị null, giá trị từ January 1, 1900 đến December 31, 2079

biệt

1 Con trỏ đến Cursor, trong khi con trỏ đến

chúng nhận 1 byte, khả năng trỏ đến phụ

Trang 27

thuộc vào số lượng mẫu tin trong bảng Unique Identity Số đặc biệt

(binary)

16 Nhận dạng toàn cục duy nhất theo không

gian và thời gian Char Character Varies Kiểu dữ liệu kí tự Non-Unicode với chiều

dài cố định, chiều dài cho phép 8000 ký tự

Varchar Character Varies Kiểu dữ liệu kí tự Non-Unicode với chiều

dài biến đổi, chiều dài cho phép 8000 ký tự

Nchar Unicode Varies Kiểu dữ liệu kí tự Unicode với chiều dài

cố định, chiều dài cho phép 4000 ký tự Nvarchar Unicode Varies Kiểu dữ liệu kí tự Unicode với chiều dài

biến đổi, chiều dài cho phép 4000 ký tự Text Character Varies Kiểu dữ liệu Non-Unicode với không gian

chứa 8Kb số trang, chiều dài cho phép 2,147,483,647 kí tự

Ntext Unicode Varies Kiểu dữ liệu Unicode với không gian

chứa 8Kb số trang, chiều dài cho phép 1.073,741,823 kí tự

Binary Binary Varies Dữ liệu nhị phân có chiều dài cố định tối

đa 8000 byte VarBinary Binary Varies Dữ liệu nhị phân có chiều dài biến đổi tối

đa 8000 byte Image Binary Varies Dữ liệu nhị phân có chiều dài biến đổi tối

Trang 28

đa 2,147,483,647 byte, không gian chứa 8Kb trang, như word, bảng tính Excel, và các tập tin đồ họa

Bảng 2.1: các kiểu dữ liệu trong SQL Server 2005

2.2 Full-Text Search

2.2.1 Khái niệm cơ bản

Hầu như các ứng dụng với dữ liệu lớn luôn có chức năng tìm kiếm theo một tiêu chuẩn nào đó của người sử dụng Trong bất kì cơ sở dữ liệu nào cũng có sử dụng phát biểu SELECT để truy vấn dữ liệu từ các bảng, các bảng kết nối hay View

bằng các tiêu chuẩn chỉ định, với phép so sánh bằng LIKE hay OR, AND, …

Sử dụng mệnh đề LIKE, với mệnh đề này cho phép ta tìm kiếm dữ liệu trùng khớp hay tương tự với hai kí tự “ % ” hay “ _ ”, nếu bạn không cung cấp tiêu chuẩn thì SQL không thể tìm kiếm dữ liệu thỏa điều kiện

Ngoài ra trong SQL Server , có thể sử dụng một phép toán so sánh hàm như PATINDEX, CHARINDEX tìm kiếm dữ liệu tối ưu hơn mệnh đề LIKE

Tuy nhiên cần sử dụng Full-Text Search (FTS), bạn có thể tăng thêm chỉ mục trong một chuỗi, đặc biệt giữ được từ mà trong chuỗi tìm kiếm bạn cần, mặt khác với FTS sẽ không giới hạn chiều dài và ngay cả dạng chuỗi dạng tìm kiếm

Trang 29

Ví dụ : trong trường hợp tìm kiếm từ “university“, SQL Server cũng tìm ra những

từ như “universities“ hay những từ tương tự H ay trong trường hợp tìm từ

“drunk”, SQL Server cũng tìm thêm từ “drink”

Ngoài ra, FTS còn cho phép bạn tìm kiếm từ trong 1 chuỗi dài như 1 văn bản, FTS cho bạn biết từ thuộc dòng nào trong đoạn văn

Trong SQL Server , cho phép bạn có thể xây dựng chỉ mục trên Full-Text FTS cũng hỗ trợ các dạng chỉ mục khác như :

o Cấu trúc của FTS

o Cấu hình chỉ mục của FTS

o Truy vấn bằng FTS

Trang 30

2.2.2 Cấu trúc của Full-Text Search

Trước tiên, bạn cần phải cảm nhận rằng FTS không phải là một phần của SQL Server Thực ra FTS là một phần của sản phẩm Microsoft Index Server (vị trí của tập tin) và Site Server (kết hợp giữa vị trí tập tin và trang URLs), được thiết lập trong dịch vụ MMSearch

MMSearch là một kỹ thuật tối ưu trong quá trình tìm kiếm từ trong một văn bản hay một chuổi

Cấu trúc của FTS dựa trên sự kết hợp hai cấu trúc MSSearch (Microsoft Search) và RDBMS (Relationship Database Management Systems) trong SQL Server 2005 cho phép tìm kiếm bất kỳ bảng dữ liệu có chỉ mục Full-Text như hình vẽ sau :

Hình 2.9: Cấu trúc của Full-Text Search

Trang 31

Khi tạo một bảng trong cơ sở dữ liệu, mặc nhiên không thiết lập chỉ mục Full-Text, nhưng nếu chúng ta thiết lập chỉ mục Full-Text trên bảng dữ liệu chỉ định thì sử dụng populate chỉ mục bao gồm các loại sau :

Storage Location (vị trí lưu trữ ): khi tạo chỉ mục cho Full-Text, SLQ Server

lưu trữ và lập chỉ mục như một phần của cơ sở dữ liệu Tuy nhiên, chỉ mục Full-Text được lưu trữ với tên gọi là Full-Text Catalog (danh mục Full-Text) Với phương thức lưu như vậy bạn có thể lưu trữ chúng ở một vị trí khác với

vị trí của cơ sở dữ liệu Chính vì vậy trong backup dữ liệu không thể backup những chỉ mục trong cơ sở dữ liệu

Method of Creation (phương thức tạo chỉ mục) : để tạo chỉ mục cho bảng dữ

liệu, chúng ta có thể sử dụng phát biểu T-SQL có cú pháp CREATE INDEX, SMO hoặc WMI (chúng ta có thể dùng Management studio)

Method of Update (phương thức cập nhật) : chỉ mục Full-Text tự động cập

nhật khi có sự thay đổi dữ liệu trong cơ sở dữ liệu SQL Server

2.2.3 Thiết lập Full-Text catalogs và Full-Text indexes

Như đã trình bày ở trên, mỗi bảng dữ liểu trong cơ sở dữ liệu SQL Server có hoặc không có chỉ mục, những chỉ mục được lưu trữ dưới dạng danh mục chỉ mục cùng hay ngoài vị trí của cơ sở dữ liệu Một catalog có thể lưu trữ nhiều Full-Text indexes

Trang 32

Để tạo và kích hoạt Full-Text Search cho mỗi cơ sở dữ liệu ta cần phải làm theo các bước sau :

2.2.3.1 Thiết lập Full-Text cho cơ sở dữ liệu

Trong SQL Server 2005, full – text indexing được bật lên mặc định cho mỗi database bạn tạo ra Tuy nhiên, các phiên bản trước, SQL Server không cho phép full-text catalogs hoặc indexeds được tạo ra cho đến khi chúng ta cho phép full-text search trên database

Để kiểm tra full-text indexing được bật hay tắt, chúng ta sử dụng hàm hệ thống DATABASEPROPERXTYEX như ví dụ sau :

Ví dụ:

SELECT DATABASEPROPERTYEX (‘Northwind’,

‘IsFulltextEnable’)

Nếu full-text được bật lên thì kết quả trả về 1, ngược lại sẽ trả về 0

Trong điều kiện chúng ta cần cho phép (hoặc không cho phép) full – text indexing trên cơ sở dữ liệu hiện hành, chúng ta sử dụng thủ tục hệ thống có cú pháp sau :

EXEC sp_fulltext_database [@action =]

Trong đó:

Trang 33

Enable

Cho phép bật full – text indexing trên cơ sở dữ liệu hiện hành

Disable

Hủy bỏ hay không cho phép full – text indexing trên cơ sở dữ liệu hiện hành

Ví dụ : để tạo chỉ mục cho cơ sở dữ liệu Northwind

2.2.3.2 Tạo, thay đổi, xoá và thao tác một full-text catalog

2.2.3.2.1 Tạo full-text catalog

Bắt đầu với SQL Server 2005, để tạo full-text catalog cho cơ sở dữ liệu hiện hành, chúng ta sử dụng cấu trúc sau :

Trang 34

[IN PATH <’rootpath’>]

[WITH ACCENT_SENSITIVITY = {ON|OFF}]

Trang 35

AUTHORIZATION

Lựa chọn này dùng để thay đổi quyền sở hữu full-text catalog cho user (người dùng) hay role (nhóm người dùng) được chỉ định thay vì như mặc định là sở hữu của người tạo ra catalog Nếu bạn thay đổi quyền sở hữu cho role nào đó, thì user mà bạn dùng để tạo full-text catalog đó phải thuộc trong role đó

Ví dụ: tạo danh mục chỉ mục tên MyCatalog, cho cơ sở dữ liệu Northwind

Trang 36

Hình 2.11: Hộp thoại New Full-Text Catalog

2.2.3.2.2 Thay đổi full- text catalog

Cú pháp :

CREATE FULLTEXT CATALOG <catalog name>

{REBUILD [WITH ACCENT_SENSITIVITY = {ON|OFF}]

Trang 37

tạo lại với các thiết đặt giống như củ, chỉ có phần vậy lý của file là được tạo lại (Metadata của file được giữ nguyên)

Trong khi rebuild lại index catalog thì tất cả các index trong catalog đó sẽ không dùng được

REORGANIZE

Cũng giống như lệnh REBUILD, lệnh REORGANIZE sẽ sắp xếp lại file lại cho

bạn, nhưng dưới dạng online.Kết quả giống như bạn sắp xếp lại các vật thay vì dời chúng đi hết và sắp chúng lại từ đầu.Bạn có thể xem REORGANIZE giống như

tiến trình chống phân mảnh (Defragmentation proccess)

Không như REBUILD, REORGANIZE còn tổ chức lại các cấu trúc bên trong cho

full-text catalog (các cấu trúc chứa metadata)

Trang 38

2.2.3.3 Tạo, thay đổi, xoá và thao tác full-text indexes

2.2.3.3.1 Tạo full-text indexes

Cú pháp :

CREATE FULLTEXT INDEX ON <table name>

[( <column name> [TYPE COLUMN <type column name>]

[ ON <fulltext catalog name>]

[WITH

{ CHANGE_TRACKING { MANUAL | AUTO |OFF}

] Trong đó :

Trang 39

NO POPULATION

Chỉ ra rằng full-text index sẽ không được nạp đầy sau sự vận hành cột add hoặc drop Index chỉ sẽ được nạp đầy nếu người sử dụng thực hiện lệnh Start … population

Nếu CHANGE_TRACKING là được phép và WITH NO POPULATION là được chỉ dịnh, sql sever trả về lỗi Nếu change_tracking là được phép av2 with no popolation là không được chỉ định, sql server thực hiện nạp đầy trên index sau khi nó được tạo

Trang 40

Sự lựa chọn NO POPULATION chỉ có thể được sử dụng khi change_tracking là off Khi NO POPULATION được chỉ định, SQL Sever không nạp đầy index sau khi nó được tạo ra Index chỉ nạp đầy khi người sử dụng cho lệnh ALTER FULLTEXT INDEX … START POPULAION Khi NO POPULATION không được chỉ định, SQL Server nạp đầy index sau khi tạo ra nó

Ngoài ra chúng ta cũng có thể tạo full-text indexes bằng hộp thoại của SQL Server 2005:

Chọn bảng cần tạo full-text indexes

Hình 2.12: Chọn Full-Text index để tạo full-Text index

Ngày đăng: 30/10/2022, 09:20

w