Chọn Các Thông Số Cho Chỉ Mục


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, có nghĩa là giá trị khóa chỉ mục xuất hiện duy nhất một lần trong chỉ mục. Chỉ mục duy nhất hoạt động hiệu quả hơn vì chúng đảm bảo rằng chỉ cần nhiều hơn một hoạt động nhập/xuất để nhận dữ liệu yêu cầu. SQL Server không cho phép giá trị khóa giống nhau được thêm vào cơ sở dữ liệu. Một chỉ mục là duy nhất nếu bản thân dữ liệu là duy nhất. Nếu dữ liệu trong một trường không là duy nhất ta có thể tạo ra chỉ mục duy nhất bằng cách dùng chỉ mục kết hợp.

- Chỉ mục không duy nhất

Chỉ mục không duy nhất làm việc giống như chỉ mục duy nhất. Tuy nhiên, nó cho phép chứa các giá trị trùng nhau trong nút lá. Chỉ mục không duy nhất không hiệu quả như chỉ mục duy nhất vì nó đòi hỏi xử lý thêm để nhận dữ liệu yêu cầu.

3.3.2. Tạo chỉ mục

Bước 1: Chọn tên bảng/Chọn Indexes/Chọn chuột phải/Chọn New Index

Hình 3 83 Tạo chỉ mục Bước 2 Xác định các thông số Nhập tên chỉ mục 1

Hình 3.83. Tạo chỉ mục

Bước 2: Xác định các thông số

- Nhập tên chỉ mục tại mục Index Name

- Chọn kiểu Index tại mục Type Index

+ Clustered: là chỉ mục liên cung

+ Nonclustered: là chỉ mục phi liên cung

+ Spatial: là chỉ mục không gian


- Nếu muốn tạo chỉ mục duy nhất, đánh dấu chọn tại mục Unique. Ngược lại, bỏ mục chọn Unique.

- Chọn nút Add

Hình 3 84 Chọn các thông số cho chỉ mục Bước 3 Chọn trường làm chỉ 2

Hình 3.84. Chọn các thông số cho chỉ mục

Bước 3: Chọn trường làm chỉ mục/Chọn OK.

Hình 3 85 Chọn trường làm chỉ mục Kết quả tạo một chỉ mục liên cung đơn 3

Hình 3.85. Chọn trường làm chỉ mục

Kết quả tạo một chỉ mục liên cung đơn giản


Hình 3 86 Kết quả tạo chỉ mục liên cung 3 3 3 Loại bỏ chỉ mục Chọn tên 4

Hình 3.86. Kết quả tạo chỉ mục liên cung


3.3.3. Loại bỏ chỉ mục

Chọn tên chỉ mục/chọn chuột phải/Chọn Delete/Chọn OK.

3.4. View

3.4.1. Khái niệm view

View là một bảng ảo được định nghĩa bằng cách dùng câu lệnh Select. Dữ liệu nguồn của View là Tables, View, Functions, Sysnonyms. View được lưu trữ như một phát biểu SQL được định nghĩa trước.

3.4.2. Các thao tác với View

1) Tạo View

- Dùng công cụ MS

Bước 1: Chọn cơ sở dữ liệu/Chọn Views/Chọn chuột phải/Chọn New View.

Hình 3 87 Tạo view Bước 2 Chọn dữ liệu nguồn cho View Chọn mục Tables hoặc 5

Hình 3.87. Tạo view

Bước 2: Chọn dữ liệu nguồn cho View

- Chọn mục Tables, hoặc Views, hoặc Functions, hoặc Synonyms

- Chọn từng bảng hoặc view hoặc hàm/Chọn Add


- Chọn OK.

Hình 3 88 Chọn dữ liệu nguồn cho view Bước 3 Thiết kế View Chọn các 6

Hình 3.88. Chọn dữ liệu nguồn cho view

Bước 3: Thiết kế View

- Chọn các trường hoặc xây dựng các biểu thức cần đưa ra tại trường Column.

- Nhập bí danh cho trường tại trường Alias.

- Đánh dấu vào mục Output tương ứng với trường cần đưa ra.

- Chọn kiểu sắp xếp cho trường muốn sắp xếp tại trường Sort Type.

- Chọn thứ tự ưu tiên sắp xếp cho các trường tại trường Sort Order.

- Tạo điều kiện lọc tại trường Filter.

Hình 3 89 Thiết kế View Bước 4 Lưu view Bước 5 Chạy View bằng cách chọn nút 7

Hình 3.89. Thiết kế View

Bước 4: Lưu view

Bước 5: Chạy View bằng cách chọn nút trên thanh công cụ. Tạo view có phân nhóm:

Bước 1, 2, 3 tương tự như tạo view không có sự phân nhóm. Bước 4: Chọn chuột phải/Chọn Add Group By


Hình 3 90 Tạo nhóm mới Bước 5 Tại trường Group By chọn thông số Group By 9

Hình 3.90. Tạo nhóm mới

Bước 5: Tại trường Group By chọn thông số (Group By, Max, Min, Count, Sum, Where, Avg,…) phù hợp cho từng trường.

Hình 3 91 Thiết kế nhóm Bước 6 Lưu view Bước 7 Chạy View bằng cách chọn nút 10

Hình 3.91. Thiết kế nhóm

Bước 6: Lưu view

Bước 7: Chạy View bằng cách chọn nút trên thanh công cụ.

- Dùng câu lệnh T-SQL

Bước 1: Chọn nút New Query , xuất hiện cửa sổ New Query Bước 2: Khai báo câu lệnh tạo view (Create View).

Bước 3: Chọn nút để kiểm tra câu lệnh T-SQL. Bước 4: Chọn nút để thực hiện tạo view.

2) Thay đổi view

Chọn tên View/Chọn chuột phải/Chọn Design/Chỉnh sửa.

3) Xoá view

Chọn tên View/Chọn chuột phải/Chọn Delete/Chọn OK.


Chương 4

THỦ TỤC LƯU TRỮ VÀ HÀM NGƯỜI DÙNG


4.1. Thủ tục lưu trữ (Stored Procedure)

4.1.1. Khái niệm

Thủ tục lưu trữ là một đối tượng trong cơ sở dữ liệu, bao gồm nhiều câu lệnh T- SQL được tập hợp lại với nhau thành một nhóm. Các câu lệnh này sẽ được thực thi khi thủ tục lưu trữ được thực thi.

Trong thủ tục lưu trữ, ta có thể nhúng ngôn ngữ lập trình vào trong ngôn ngữ T- SQL. Thủ tục lưu trữ có thể có các thành phần sau:

- Các cấu trúc điều khiển (IF, WHILE, FOR , CASE,…)

- Các biến nhằm lưu giữ các giá trị tính toán được, các giá trị được truy xuất được từ cơ sở dữ liệu.

Thủ tục lưu trữ được lưu trữ như một phần của cơ sở dữ liệu. Cấu trúc của chúng như một văn bản text. Một tập các câu lệnh SQL được kết hợp lại với nhau thành một khối lệnh bên trong một thủ tục. Một thủ tục có thể nhận các tham số truyền vào cũng như có thể trả về các giá trị thông qua các tham số. Khi một thủ tục lưu trữ đã được định nghĩa, nó có thể được gọi thông qua tên thủ tục, nhận các tham số truyền vào, thực thi các câu lệnh SQL bên trong thủ tục và có thể trả về các giá trị sau khi thực hiện xong.

SQL Server chỉ biên dịch các thủ tục lưu trữ một lần và sử dụng lại kết quả biên dịch này trong các lần tiếp theo trừ khi người dùng có những thiết lập khác. Việc sử dụng lại kết quả biên dịch không làm ảnh hưởng đến hiệu suất hệ thống khi thủ tục lưu trữ được gọi liên tục nhiều lần. Thủ tục lưu trữ được phân tích, tối ưu khi tạo ra nên việc thực thi chúng nhanh hơn nhiều so với việc phải thực hiện một tập rời rạc các câu lệnh SQL tương đương theo cách thông thường. Thủ tục lưu trữ cho phép thực hiện cùng một yêu cầu bằng một câu lệnh đơn giản thay vì phải sử dụng nhiều dòng lệnh SQL. Điều này sẽ làm giảm thiểu sự lưu thông trên mạng. Thay vì cấp phát quyền trực tiếp cho người sử dụng trên các câu lệnh SQL và trên các đối tượng cơ sở dữ liệu, ta có thể cấp phát quyền cho người sử dụng thông qua các thủ tục lưu trữ, nhờ đó tăng khả năng bảo mật đối với hệ thống.

Các thủ tục lưu trữ trả về kết quả theo 4 cách:

- Sử dụng các tham số output.

- Sử dụng các lệnh trả về giá trị, các lệnh này luôn trả về giá trị số nguyên.

- Tập các giá trị trả về của mỗi câu lệnh SELECT có trong thủ tục lưu trữ hoặc của quá trình gọi một thủ tục lưu trữ khác trong một thủ tục lưu trữ.


- Một biến con trỏ toàn cục có thể tham chiếu từ bên ngoài thủ tục.

4.1.2. Các loại thủ tục lưu trữ.

Có 5 kiểu thủ tục lưu trữ

- Thủ tục lưu trữ hệ thống

- Thủ tục lưu trữ bên ngoài

- Thủ tục lưu trữ do người dùng định nghĩa

- Thủ tục lưu trữ tạm thời

- Thủ tục lưu trữ từ xa

1) Thủ tục lưu trữ hệ thống (System stored procedure)

Trong Microsoft SQL Server cung cấp cho chúng ta một số lớn các thủ tục lưu trữ hệ thống dùng để thực hiện các xử lý trong việc quản trị cơ sở dữ liệu. Một thủ tục lưu trữ hệ thống luôn luôn được bắt đầu bằng chữ sp_ và hầu hết tất cả các thủ tục lưu trữ hệ thống được lưu trữ bên trong cơ sở dữ liệu Master. Có hàng trăm Thủ tục lưu trữ hệ thống trong SQL Server. Ta có thể xem chi tiết trong SQL Server Books Online.

Một số thủ tục lưu trữ hệ thống thông dụng:


STT

Thủ tục

Mô tả

1

Sp_Who

Cung cấp các sử dụng đang truy cập SQL Server

2

Sp_Who2

Cung cấp các sử dụng đang truy cập SQL Server

3

Sp_configure

Cho biết cấu hình của SQL Server

4

Sp_tables

Cung cấp thông tin về bảng

5

Sp_password

Cho phép thay đổi password của một người dùng

6

Sp_helptext

Hiện thị nội dung của đối tượng View, thủ tục lưu trữ

7

Sp_helppdb

Hiện thị nội dung của cơ sở dữ liệu

8

Sp_dropuser

Cho phép xóa một người dùng

9

Sp_Columns

Hiện thị nội dung của bảng

10

Sp_adduser

Thêm một người dùng vào cơ sở dữ liệu

11

Sp_addlogin

Cho phép tạo một Login User

Có thể bạn quan tâm!

Xem toàn bộ 323 trang tài liệu này.

Ví dụ 1: Muốn xem các bảng trong cơ sở dữ liệu Master ta dùng thủ tục sp_tables.


Hình 4 1 Thông tin về bảng trong cơ sở dữ liệu Master Ví dụ 2 Tạo mới một 15

Hình 4.1. Thông tin về bảng trong cơ sở dữ liệu Master

Ví dụ 2: Tạo mới một người dùng có tên là "linhgiang", với mật khẩu "12345" cho phép truy cập vào cơ sở dữ liệu "QLTS", bằng thủ tục hệ thống sp_addlogin như sau:

use master go

exec sp_addlogin 'linhgiang', '12345' , 'QLTS'

Hình 4 2 Kết quả thêm một người dùng mới 2 Thủ tục lưu trữ bên ngoài 16

Hình 4.2. Kết quả thêm một người dùng mới

2) Thủ tục lưu trữ bên ngoài (Extended Stored Procedure)

Thủ tục lưu trữ bên ngoài là một loại thủ tục lưu trữ sử dụng một chương trình ngoại vi (external program) vốn được dịch thành một thư viện liên kết động (DLL) để mở rộng chức năng hoạt động của SQL Server. Loại này thường bắt đầu bằng tiếp đầu ngữ xp_.

Ví dụ, thủ tục xp_sendmail dùng đề gởi mail cho một người nào đó; thủ xp_cmdshell dùng để chạy một câu lệnh DOS.

Nhiều loại thủ tục lưu trữ bên ngoài được xem như thủ tục lưu trữ hệ thống và ngược lại.

3) Thủ tục lưu trữ do người dùng định nghĩa (Local Stored Procedure)

..... Xem trang tiếp theo?
⇦ Trang trước - Trang tiếp theo ⇨

Ngày đăng: 16/07/2022