Tải bản đầy đủ - 0 (trang)
2 Tổng quan về hệ quản trị cơ sở dữ liệu SQL Server 2008

2 Tổng quan về hệ quản trị cơ sở dữ liệu SQL Server 2008

Tải bản đầy đủ - 0trang











Tương thích với chuẩn ANSI/ISO SQL-92

Hỗ trợ tìm kiếm Full-Text (Full-Text Search)

Hỗ trợ tìm kiếm thơng tin trực tuyến (Books Online)

Các kiểu dữ liệu mới và các hàm thư viện làm việc với các kiểu dữ liệu này



như XML, các kiểu dữ liệu giá trị lớn (lưu ảnh, video,…)



Hỗ trợ FileStream để thao tác với các đối tượng nhị phân lớn (BLOB)



Languaged-Integrated Query (LINQ)



Hỗ trợ DotNet 3.5





Ngôn ngữ truy vấn dữ liệu: SQL Server sử dụng ngôn ngữ T-SQL (Transact-



SQL) để truy vấn dữ liệu. Các câu lệnh T-SQL được chia thành 3 nhóm:





Các câu lệnh định nghĩa dữ liệu (DDL): gồm các lệnh CREATE, ALTER,



DROP định nghĩa, thay đổi, và hủy bỏ các đối tượng cơ sở dữ liệu như TABLE

(bảng), INDEX (chỉ mục), SEQUENCE (trình tự), VIEW (khung nhìn).



Các câu lệnh thao tác dữ liệu (DML): gồm các lệnh SELECT, INSERT,

UPDATE cho phép thao tác trên đối tượng dữ liệu.



Các câu lệnh điều khiển dữ liệu (DCL): được sử dụng trong việc cấp phát

hay hủy bỏ quyền của người sử dụng đối với các câu lệnh SQL hoặc trên các đối

tượng cơ sở dữ liệu. Gồm các câu lệnh: GRANT, REVOKE.





Các công cụ của SQL Server 2008:







Server SQL Configuration Manager: là công cụ đồ họa dùng để khởi động



và dừng server cơ sở dữ liệu



SQL Server Management Studio: là cơng cụ đồ họa chính được nhà phát

triển sử dụng để thao tác với cơ sở dữ liệu SQL 2008



Books Online: bộ tài liệu cho SQL Server 2008

SQL Server là một cơ sở dữ liệu Client/Server. Nó có hai chức năng chính:







Chứa dữ liệu người dùng nhập vào.

Xử lý các yêu cầu gửi tới thông qua ngôn ngữ truy vấn cơ sở dữliệu và trả



về các đối tượng trong hệ quản trị cơ sở dữ liệu SQL Server.

- Bảng (Table): Bảng là đơn vị lưu trữ dữ liệu chính trong cơ sở dữ liệu SQL Server,

đó là tập hợp dữ liệu có liên quan với nhau, là một đối tượng lưu trữ dữ liệu dưới

dạng hàng (Rows), cột (Columns). Các hàng trong bảng người ta gọi là các bản ghi

chứa dữ liệu (Record), các cột là các trường chứa các thuộc tính của bảng.

4



- Khung nhìn dữ liệu (View): Về mặt logic, bảng ảo giống như một bảng thực, nó

khơng chứa bảng vật lý nào mà nó chỉ là kết quả của việc thực hiện các câu lệnh

Select trên những bảng thực và dữ liệu của nó sẽ bị mất đi khi khơng thực hiện các

câu lệnh đó.

- Chỉ số của bảng (Index): Chỉ số là một cấu trúc được tạo ra để lưu trữ thơng tin về vị

trí các bản ghi trong một bảng dữ liệu nhằm cải thiện tốc độ truy xuất dữ liệu. Một chỉ

số được tạo nên trên một hay nhiều bảng, mọi sự thay đổi dữ liệu trong bảng đều

được tự động cập nhật với các chỉ số có liên quan trong suốt quá trình sử dụng.

- Thủ tục lưu trữ (Store procedure): Là một khối các câu lệnh truy vấn cơ sở dữ liệu,

được lưu trữ trong một thủ tục và có tham số vào cũng như giá trị trả về khi thủ tục đó

được thực hiện.

2.2.2 SQL là ngơn ngữ của cơ sở dữ liệu quan hệ

SQL (Structured Query Language) là công cụ sử dụng để tổ chức, quản lý và

truy xuất dữ liệu được lưu trữ trong các cơ sở dữ liệu. SQL là một hệ thống ngôn ngữ

bao gồm tập các câu lệnh sử dụng để tương tác với cơ sở dữ liệu quan hệ.

Khả năng của SQL vượt xa so với một công cụ truy xuất dữ liệu, mặc dù đây là

mục đích ban đầu khi SQL được xây dựng nên và truy xuất dữ liệu vẫn còn là một

trong những chức năng quan trọng của nó. SQL được sử dụng để điều khiển tất cả các

chức năng mà một hệ quản trị cơ sở dữ liệu cung cấp cho người dùng bao gồm:

- Định nghĩa dữ liệu: SQL cung cấp khả năng định nghĩa các cơ sở dữ liệu, các

cấu trúc lưu trữ và tổ chức dữ liệu cũng như mối quan hệ giữa các thành phần dữ liệu.

- Truy xuất và thao tác dữ liệu: Với SQL người dung có thể dễ dàng thực hiện

các thao tác truy xuất, bổ sung, cập nhật, và loại bỏ dữ liệu trong các cơ sở dữ liệu.

- Điều khiển truy cập: SQL có thể được sử dụng để cấp phát và kiểm soát các

thao tác của người sử dụng trên dữ liệu, đảm bảo sự an toàn cho cơ sở dữ liệu.

- Đảm bảo toàn vẹn dữ liệu: SQL định ngĩa các ràng buộc toàn vẹn trong cơ sở

dữ liệu. Nhờ đó đảm bảo tính hợp lệ và chính xác của dữ liệu trước các thao tác cập

nhật cũng như các lỗi của hệ thống.



5



Như vậy, có thể nói SQL là một ngơn ngữ hồn thiện được sử dụng trong các hệ

thống cơ sở dữ liệu và là một thành phần không thể thiếu trong các hệ quản trị cơ sở

dữ liệu.

Mặc dù, SQL không phải là một ngôn ngữ lập trình như C, C++, Java,…song

các câu lệnh mà SQl cung cấp có thể được nhúng vào trong các ngơn ngữ lập trình

nhằm xây dựng các ứng dụng tương tác với cơ sở dữ liệu.

Khác với các ngôn ngữ lập trình quen thuộc SQL là ngơn ngữ có tính khai báo.

Với SQL, người dùng chỉ cần mô tả các yêu cầu cần phải thực hiện trên cơ sở dữ liệu

mà không cần phải chỉ ra cách thức thực hiện các u cầu như thế nào. Chính vì vậy,

SQL là ngơn ngữ dễ tiếp cận và dễ sử dụng.

2.2.3 Vai trò của SQL

Bản thân SQL không phải là một hệ quản trị cơ sở dữ liệu, nó khơng thể tồn tại

độc lập.

-SQL thực sự là một phần của hệ quản trị cơ sở dữ liệu, nó xuất hiện trong các

hệ quản trị cơ sở dữ liệu với vai trò ngơn ngữ và là công cụ giao tiếp giữa người sử

dụng và hệ quản trị cơ sở dữ liệu.

-Trong hầu hết các hệ quản trị cơ sở dữ liệu quan hệ, SQL có những vai trò như

sau:





SQL là ngơn ngữ truy vấn có tính tương tác: Người sử dụng có thể dễ dàng



thơng qua các trình tiện ích để gửi các u cầu dưới dạng các câu lệnh SQL đến cơ sở

dữ liệu và nhận kết quả trả về từ cơ sở dữ liệu.



SQL là ngơn ngữ lập trình cơ sở dữ liệu: Các lập trình viên có thể nhúng các

câu lệnh SQL vào trong ngơn ngữ lập trình để xây dựng nên các chương trình ứng

dụng giao tiếp với cơ sở dữ liệu.



SQL là ngôn ngữ quản trị cơ sở dữ liệu: Thông qua SQL, người quản trị cơ

sở dữ liệu có thể quản lý được cơ sở dữ liệu, định nghĩa được các cấu trúc lưu trữ dữ

liệu, điều khiển truy cập cơ sở dữ liệu,…



SQL là ngôn ngữ cho các hệ thống khách/chủ (Client/Server): Trong các hệ

thống cơ sở dữ liệu khách/chủ, SQL được sử dụng như là công cụ để giao tiếp giữa

các trình ứng dụng phía máy khách với máy chủ cơ sở dữ liệu.



6







SQL là ngôn ngữ truy cập dữ liệu trên Internet: Cho đến nay, hầu hết các máy



chủ Web cũng như các máy chủ trên Internet sử dụng SQL với vai trò là ngơn ngữ để

tương tác với dữ liệu trong các cơ sở dữ liệu.



SQL là ngôn ngữ cơ sở dữ liệu phân tán: Đối với các hệ quản trị cơ sở dữ

liệu phân tán, mỗi một hệ thống sử dụng SQL để giao tiếp với các hệ thống khác trên

mạng, gửi và nhận các yêu cầu truy xuất dữ liệu với nhau.



SQL là ngôn ngữ sử dụng cho các cổng giao tiếp cơ sở dữ liệu: Trong một hệ

thống mạng máy tính với nhiều hệ quản trị cơ sở dữ liệu khác nhau, SQL thường

được sử dụng như là một chuẩn ngôn ngữ để giao tiếp giữa các hệ quản trị cơ sở dữ

liệu.

2.2.4 Một số bước xây dựng cơ sở dữ liệu

Các câu lệnh thao tác dữ liệu trong SQL không những chỉ sử dụng để truy vấn dữ liệu

mà còn để thay đổi và cập nhật dữ liệu trong cơ sở dữ liệu.



Thêm dữ liệu: Dữ liệu trong các bảng được thể hiện dưới dạng các dòng (bản

ghi). Để bổ sung thêm các dòng dữ liệu vào một bảng, ta sử dụng câu lệnh INSERT.

Hầu hết các hệ quản trị CSDL dựa trên SQL cung cấp các cách dưới đây để thực hiện

thao tác thêm dữ liệu cho bảng: Thêm từng dòng dữ liệu với mỗi câu lệnh INSERT.

Đây là các sử dụng thường gặp nhất trong giao tác SQL. Thêm nhiều dòng dữ liệu

bằng cách truy xuất dữ liệu từ các bảng dữ liệu khác.



Thêm từng dòng dữ liệu: Để bổ sung một dòng dữ liệu mới vào bảng, ta sử

dụng câu lệnh INSERT với cú pháp như sau:

INSERT INTO tên_bảng [(danh_sach _cột)] VALUES (danh_sach _gia trị)

Trong câu lệnh INSERT, danh mục sản phẩm cột ngay sau tên bảng không cần thiết

phải chỉ định nếu giá trị các trường của bản ghi mới được chỉ định đầy đủ trong danh

sách. Trong trường hợp này, thứ tự các giá trị trong danh mục sản phẩm trị phải bằng

với số lượng các trường của bảng cần bổ sung dữ liệu cũng như phải tuân theo đúng

thứ tự của các trường như khi bảng được định nghĩa. Trong trường hợp chỉ nhập giá

trị cho một số cột trong bảng, ta phải chỉ định danh sản phẩm các cột cần nhập dữ liệu

ngay sau tên bảng. Khi đó, các cột khơng được nhập dữ liệu sẽ nhận giá trị mặc định

(nếu có) hoặc nhận giá trị NULL (nếu cột cho phép chấp nhận giá trị NULL). Nếu

7



một cột khơng có giá trị mặc định và không chấp nhận giá trị NULL mà không đuợc

nhập dữ liệu, câu lệnh sẽ bị lỗi.





Thêm một tập các dòng dữ liệu vào bảng: Một cách sử dụng khác của câu



lệnh INSERT được sử dụng để bổ sung nhiều dòng dữ liệu vào một bảng, các dòng

DL này được lấy từ một bảng khác thông qua câu lệnh SELECT cách này, các giá trị

dữ liệu được bổ sung vào bảng không được chỉ định tường minh mà thay vào đó là

một câu lệnh SELECT truy vấn dữ liệu từ bảng khác.

Cú pháp câu lệnh INSERT có dạng như sau:

INSERT INTO tên_bảng [(danh_sp _cột)] câu_lệnh_SELECT





Cập nhật dữ liệu



Câu lệnh UPDATE trong SQL được sử dụngđể cập nhật dữ liệu trong các bảng. Câu

lệnh này có cú pháp như sau:

UPDATE tên_bảng

SET tên_cột = biểu_thức

[tên_cột_k = biểu_thức_k]

[FROM danh_sp _bảng]

[WHERE điều_kiện]

Sau UPDATE là tên của bảng cần cập nhật dữ liệu. Một câu lệnh UPDATE có thể

cập nhật dữ liệu cho nhiều cột bằng cách chỉ định các danh sản phẩm tên cột và biểu

thức tương ứng sau từ khoá SET. Mệnh đề WHERE trong câu lệnh UPDATE được sử

dụng để chỉ định các dòng dữ liệu chịu tác động của câu lệnh (nếu không chỉ định,

phạm vi tác động của câu lệnh được hiểu là tồn bộ các dòng trong bảng).

 Xóa dữ liệu

Để xố dữ liệu trong một bảng, ta sử dụng câu lệnh DELETE. Cú pháp của câu

lệnh này như sau:

DELETE FROM tên_bảng

8



[FROM danh_sp _bảng]

[WHERE điều_kiện]

Trong câu lệnh này, tên của bảng cần xoá dữ liệu được chỉ định sau DELETE

FROM. Mệnh đề WHERE trong câu lệnh được sử dụng để chỉ định điều kiện đối với

các dòng dữ liệu cần xố.Nếu câu lệnh DELETE khơng có mệnh đề WHERE thì tồn

bộ các dòng dữ liệu trong bảng đều bị xoá.

 Xoá dữ liệu khi điều kiện liên quan đến nhiều bảng: Nếu điều kiện trong câu lệnh

DELETE liên quan đến các bảng khơng phải là bảng cần xóa dữ liệu, ta phải sử dụng

thêm mệnh đề FROM và sau đó là danh sách tên các bảng đó. Trong trường hợp này,

trong mệnh đề WHERE ta chỉ định thêm điều kiện nối

 Sử dụng truy vấn con trong câu lệnh DELETE



2.2.5 Các thành phần

Mỗi CSDL có các đối tượng sau:





Table: là đối tượng chính của cơ sở dữ liệu lưu trữ dữ liệu cần quản lý. Mỗi



table có một hay nhiều Field. Mỗi Field ứng với một loại dữ liệu cần lưu trữ.

Table còn có các thành phần liên quan như:





Ràng buộc(Constraint): là các chỉ định rành buộc dữ liệu trong bảng hoặc các



bảng khác nhau theo một quy tắc nào đó.



Bẫy lỗi(Triggers): thường chứa các mã lệnh kiểm tra dữ liệu, có tính năng tự

động thực hiện khi có hành động nào đó xảy ra đối với dữ liệu trong Table như Insert,

Update, Delete.



Chỉ mục(Indexs): Hỗ trợ việc sắp xếp và tìm kiếm nhanh các thơng tin trên

Table.



Diagram(Sơ đồ quan hệ): Thể hiện mối quan hệ dữ liệu giữa các Table với

nhau.



Views (Khung nhìn hay table ảo):Là đối tượng dùng hiển thị dữ liệu được rút

trích, tính tốn từ các Table theo nhu cầu của người dùng.

9







Stored Procedure (Thủ tục nội): Chứa các lệnh T-SQL dùng thực hiện một số



tác vụ nào đó. Stored Procedure có thể nhận và truyền tham số, được biên dịch

trước, do đó thời gian thực hiện nhanh khi được gọi. Có nhiều Stored Procedure hệ

thống được định nghĩa với tiền tố “sp_” có nhiệm vụ thu nhập thông tin từ các

bảng hệ thống và rất có ích cho việc quản trị cơ sở dữ liệu.



Users: Chứa danh sản phẩm User sử dụng cơ sở dữ liệu. Người quản trị hệ

thống cao nhất có User Name là bdo, tên đăng nhập (Login Name) hệ thống mặc định

là sa. Tài khoản sa luôn tồn tại và khơng thể bỏ đi.



Roles: Các quy định vai trò và chức năng của User trong hệ thống SQL Server.



Rules: Các qui tắc ràng buộc dữ liệu được lưu trữ trên Table.



Defaults: Các khai báo giá trị mặc định.



User Defined Data Table: Kiểu dữ liệu do người dùng tự định nghĩa.

2.2.6 Các hàm thông dụng trong SQL Server

Trong SQL server có 2 loại hàm: một loại là được xây dựng sẵn trong SQL Server

(built-in) và một loại do người dùng tự định nghĩa (user-defined).

Các hàm Built-In được chia làm 3 nhóm:

Rowset Functions: Loại này thường trả về một object và được đối xử như một table.

Ví Dụ: Thực hiện các lệnh UPDATE, INSERT, DELETE thông qua truy vấn:

“UPDATE Person SET FirstName = 'Nina'

WHERE LastName = 'Rasmussen'”

“INSERT INTO Persons

VALUES ('Hetland', 'Camilla', 'Hagabakka 24', 'Sandnes')”

“DELETE FROM Person WHERE LastName = 'Rasmussen'”

Aggregate Functions: Loại này làm việc trên một số giá trị và trả về một giá trị đơn

hay là các giá trị tổng. Ví dụ: các hàm tính tốn:



AVG()



Hàm AVG trả về giá trị trung bình tính theo cột được chỉ định của các dòng

được chọn. Các giá trị NULL sẽ khơng được xét đến khi tính giá trị trung bình.

- Ví dụ: Tính số tuổi trung bình của những người có tuổi trên 20

SELECT AVG(Age) FROM Persons WHERE Age > 20

COUNT (): Trả về số lượng các mục trong một nhóm.







MAX()

Hàm MAX trả về giá trị lớn nhất trong cột. Các giá trị NULL sẽ khơng được



xét đến.

10



- Ví dụ: SELECT MAX (Age) FROM Persons

- Kết quả trả về: 45

MIN()

Hàm MIN trả về giá trị nhỏ nhất trong cột. Các giá trị NULL sẽ khơng được









xét đến.

- Ví dụ: SELECT MIN (Age) FROM Persons

- Kết quả trả về: 19

SUM ()

Hàm SUM trả về tổng giá trị của cột. Các giá trị NULL sẽ khơng được xét







đến.



- Ví dụ: Tìm tổng số tuổi của tất cả những người có trong bảng:

SELECT SUM(Age) FROM Persons

- Kết quả trả về: 98

- Ví dụ: Tìm tổng số tuổi của tất cả những người có tuổi lớn hơn 20:

SELECT SUM (Age) FROM Persons WHERE Age > 20

- Kết quả trả về: 79

Scalar Functions: Loại này làm việc trên một giá trị đơn và trả về một giá trị đơn.

Trong loại này lại chia làm nhiều loại nhỏ như các hàm về toán học, về thời gian, xử

lý kiểu dữ liệu String,…Ví dụ:

MONTH('2002-09-30'): Trả về tháng 9.

DAYOFMONTH(date): Trả về số ngày trong tháng.

Ascii(str): Trả về giá trị ASCII của ký tự đầu tiên trong chuỗi str.

Char(int): Chuyển đổi một giá trị Ascii sang ký tự.

LEFT(str,n): Trả về n ký tự, bắt đầu từ vị trí đầu tiên của chuỗi str.

LEN(str): Trả về số ký tự của, trừ khoảng trắng cuỗi chuỗi str.

Các hàm User-Defined (được tạo ra bởi câu lệnh CREATE FUNCTION và phần

body thường được gói trong cặp lệnh BEGIN...END) cũng được chia làm các nhóm

như sau:

Scalar Functions: Loại này cũng trả về một giá trị đơn bằng câu lệnh RETURNS. Ví

dụ : Chuyển số hệ thập phân sang nhị phân:

11



CREATE FUNCTION [dbo].[udf_bin_me] (@decNumber int)

RETURNS varchar(200)

as

BEGIN

DECLARE @BinNumber VARCHAR(200)

SET @BinNumber = '' ''

WHILE @decNumber <> 0

BEGIN

SET @BinNumber = SUBSTRING('0123456789', (@decNumber % 2) + 1,1) +

@BinNumber

SET @decNumber = @decNumber / 2

END

RETURN @BinNumber

END

Table Functions: Loại này trả về một table.

2.3 Ngơn ngữ lập trình

2.3.1 Lập trình hướng đối tượng

Lập trình hướng đối tượng (gọi tắt là OOP-Object Oriented Programming), là kĩ thuật

lập trình hỗ trợ cơng nghệ đối tượng. OOP được xem là giúp tăng năng suất, đơn giản

hóa độ phức tạp khi bảo trì cũng như mở rộng website bằng cách cho phép lập trình

viên tập trung vào các đối tượng website ở bậc cao hơn. Ngoài ra, nhiều người còn

cho rằng OOP dễ tiếp thu hơn cho những người mới học về lập trình hơn là các

phương pháp trước đó.

Một cách giản lược, đây là khái niệm và là một nỗ lực nhằm giảm nhẹ các thao tác

viết mã cho người lập trình, cho phép họ tạo ra các ứng dụng mà các yếu tố bên

ngồi có thể tương tác với các chương trình đó giống như là tương tác với các đối

tượng vật lý.

Những đối tượng trong một ngôn ngữ OOP là các kết hợp giữa mã và dữ liệu mà

chúng được nhìn nhận như là một đơn vị duy nhất. Mỗi đối tượng có một tên riêng

biệt và tất cả các tham chiếu đến đối tượng đó được tiến hành qua tên của nó.Như

vậy, mỗi đối tượng có khả năng nhận vào các thơng báo, xử lý dữ liệu (bên trong

của nó) và gửi ra hay trả lời đến các đối tượng khác hay đến mơi trường.



12



2.3.2 Giới thiệu về ngơn ngữ trìnhC#

Để xây dựng website quản lý, ngoài hệ quản trị cơ sở dữ liệu SQL Server 2008, tác

giả còn sử dụng cơng cụ lập trình C# để xây dựng website.

Sau khi đánh giá và so sánh ưu nhược điểm của từng ngôn ngữ, tác giả lựa chọn sử

dụng ngôn ngữ C# để xây dựng code nguồn chương trình.

C# là một ngơn ngữ lập trình hướng đối tượng được phát triển bởi Microsoft, là phần

khởi đầu cho kế hoạch NET của họ. Microsoft phát triển C# dựa trên C++ và Java. C#

được miêu tả là ngơn ngữ có được sự cân bằng giữa C++, Visual Basic, Delphi và Java.

C# được thiết kế chủ yếu bởi Anders Hejlsberg kiến trúc sư website nổi tiếng với các

dự án website Turbo Pascal, Delphi, J++, WFC.

C# là ngôn ngữ lập trình phản ánh trực tiếp nhất đến .NET Framework mà tất cả các

chương trình .NET chạy, và nó phụ thuộc mạnh mẽ vào Framework này. Mọi dữ liệu

cơ sở đều là đối tượng, được cấp phát và hủy bỏ bởi trình dọn rác Garbage-Collector

(GC), và nhiều kiểu trừu tượng khác chẳng hạn như class, delegate, interface,

exception, v.v, phản ánh rõ ràng những đặc trưng của .NET runtime.

Ưu điểm





C# được kế thừa những ưu điểm của C/C++, bỏ đi những dư thừa khơng cần



thiết gây khó khăn cho người dùng.



Câu lệnh C# đơn giản, ít từ khóa.



Tính năng debug rất thuận tiện.



Ngơn ngữ lập trình C# được đánh giá là dễ học và kết hợp được nhiều ưu điểm

của các ngơn ngữ lập trình hướng đối tượng Java và C++. Do đó ngơn ngữ C# đang

được ưa chuộng nhất.



Ngơn ngữ C# là cơ sở để phát triển các ứng dụng Windows form, ASP.NET,

Web service,…



Hỗ trợ nhiều thư viện hàn có sẵn giúp cho người lập trình lấy hàm dễ dàng và

thuận tiện.



13



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

2 Tổng quan về hệ quản trị cơ sở dữ liệu SQL Server 2008

Tải bản đầy đủ ngay(0 tr)

×