I. GIỚI THIỆU SQL SERVER:
Microsoft SQL Server cho phép những ứng dụng Client điều khiển những thơng tin được truy xuất từ Server bằng cách sử dụng một vài cơng cụ và kỹ thuật đặc biệt. Chúng ta cũng cĩ thể xử lý thơng tin trên máy Client khi cần thiết .
Đặc điểm chính của SQL Server là một cơ sở dữ liệu quan hệ. Trong đĩ dữ liệu được tham khảo như những hàng và cột của hàng. Đối với mơ hình quan hệ được thực hiện trong nĩ thì các hàng của bảng dữ liệu khơng được xếp thứ tự từ khi chúng ta tạo index cho bảng. Tuy nhiên chúng ta cĩ thể truy xuất và hiển thị các hàng theo thứ tự nào đĩ. Chúng ta phải sử dụng những câu phát biểu của ngơn ngữ SQL thích hợp để truy xuất theo thứ tự đĩ. Mơ hình quan hệ theo lý thuyết ban đầu yêu cầu mỗi hàng được định nghĩa độc lập bởi ít nhất một cột của bảng gọi là khĩa (Primary key ). Việc yêu cầu mỗi hàng là duy nhất nhằm đảm bảo rằng mỗi hàm được truy xuất hay thay đổi độc lập và duy nhất với các hàng khác trong Table. Tuy nhiên SQL Server khơng địi hỏi chúng ta định nghĩa những hàng trong Table là duy nhất.
Thành phần của SQL Server là cơ sở dữ liệu quan hệ và cấu trúc của nĩ. SQL Server là cơ sở dữ liệu tồn diện, mạnh và an tồn với khả năng như sau:
Microsoft SQL Server cho phép chúng ta định nghĩa đến 32676 Database, khĩ cĩ ứng dụng nào vượt quá giới hạn cho phép trên. Trong các ứng dụng thơng thường chỉ cĩ vài Database trong một dịch vụ trên Serser. Chưa kể chúng ta định nghĩa đến hai tỷ Table cho một Database. Dễ thấy rằng khơng cĩ nơi nào cần đến hai tỷ Table trong một cơ sở dử liệu.
SQL Server cho phép chúng ta định nghĩa đến 250 cột cho mỗi Table, và nĩ cũng cho phép kết các cột từ 16 Table khác nhau trong một Query. SQL khơng giới hạn số hàng trong Table, tuy nhiên trên thực tế bị giới hạn bởi mơi trường lưu trữ. Các Database và những Table của nĩ cĩ thể được chứa trong nhiều đĩa vật lý. Microsoft SQL Server cho phép Database mở rộng đến 32 đĩa vật lý. Chúng ta cĩ thể định nghĩa đến 250 index trong mỗi Table nhưng chỉ cĩ một trong số đĩ là Clustered index. Index là một cấu trúc cho phép các hàng của Table được truy xuất nhanh hơn khơng sử dụng index. Trong Clustered
index, những hàng của Table được sắp xếp thứ tự, duy trì và lưu trữ cĩ thứ tự trên đĩa vật lý, các hàng được sắp xếp thứ tự thêm vào. Chúng ta thường định nghĩa index cho những cột được truy xuất thường xuyên để tăng tốc độ truy xuất. Index tốn khơng gian lưu trữ trong Database để chứa các cấu trúc index chúng ta cần định nghĩa index để tăng tốc độ truy xuất các hàng và thường ít khi dùng hết 250 index cho một Table.
Các đối tượng dữ liệu SQL Server:
Các cơ sở dữ liệu SQL Server bao gồm cả dữ liệu lẫn đối tượng cơ sở dữ liệu. Đối tượng cơ sở dữ liệu được dùng để chứa dữ liệu ( 1 đối tượng như một bảng chẳng hạn ) hoặc để tương tác với dữ liệu (một đối tượng như một thủ tục trử sẳn chẳng hạn ). Về cốt lõi mọi thứ do SQL Server quản lý đều là một đối tượng bao gồm một co sở dữ liệu SQL và mọi thứ mà từng cơ sở dữ liệu chứa một cơ sở dữ liệu cĩ thể chứa các đối tượng khác nhau như bảng, kiểu xem, chỉ mục, kiểu cơ sở dữ liệu, trị ngầm định, qui tắc thủ tục trữ sẵn, lệnh ứng tác và các hạn chế.
Bảng ( Table ) là đối tượng quan trọng nhất trong một cơ sở dữ liệu bởi vì đĩ là nơi lưu trữ dữ liệu. Các bảng được hình thành bởi các hàng [bảng ghi ][record] và các cột [ fields].
Trong một cơ sở dữ liệu cĩ thể chứa nhiều đối tượng khác nhau nhưng trong SQL Server thì đối tượng bảng đĩng vai trị quan trọng nhất vì nền tảng của cơ sở dữ liệu là “bảng “ , đồng thời bảng là những đối tượng cĩ cơ sở dữ liệu chứa những dữ liệu trong SQL Server. Trong bảng dữ liệu được tổ chức theo dạng hàng _ cột như một bảng tính. Mỗi hàng biểu diễn một record duy nhất, mỗi cột biểu diễn một thuộc tính của record.
Khi thiết kế cơ sở dữ liệu cần xác định rõ loại bảng cần cĩ, loại dữ liệu cho từng bảng, ai cĩ thể truy cập …..
Để tạo và làm việc với bảng, nhiều loại đối tượng dữ liệu khác nhau được dùng bao gồm loại dữ liệu (datatype ), ràng buộc (constrains), mặc định (default), qui tắc (rules), bẫy (triggers ), khĩa (keys) và chỉ định (indexes).
Mỗi cột được gán cho một loại dữ liệu , xác định trị cho phép của cột đĩ. Cĩ thể dùng Datatype của SQL Server hoặc Datatype mà người sử dụng tạo ( theo yêu cầu riêng ).
Trong SQL Server mỗi cột trong record phải cĩ một giá trị dù giá trị đĩ là null ( tuỳ loại Datatype mà giá trị Null cĩ được nhận hay khơng).
Bảng thường cĩ một cột hay nhiều cột kết hợp mà giá trị của nĩ xác định duy nhất một hàng trong cột. Cột (hay các cột này ) gọi là khĩa (Primary key ) của bản. Khĩa khơng thể là Null. Tương tự các cơ sở dữ liệu của các ngơn ngữ
khác ta cũng cĩ khĩa ngoại (Foreign key ). Foreign key cĩ thể là Null nhưng tất cả các thành phần hợp thành Foreign key phải là Null.
Kiểu xem: được tạo để đưa ra các cách thay thế khi xem dữ liệu lưu trữ trong bảng. Cĩ thể tạo các kiểu xem để hiển thị một tập con dữ liệu từ chỉ một bảng hoặc cĩ thể nối kết và tổ hợp hai hay nhiều bảng để tạo ra một kiểu xem. Bản thân các kiểu xem khơng chứa dữ liệu, chúng chỉ trỏ đến dữ liệu đã chọn trong các bảng và trình bày nĩ bằng hình ảnh .
Chỉ mục : là những đối tượng cĩ cơ sở dữ liệu dùng để tăng tốc độ truy cập dữ liệu. Các chỉ mục chứa các biến con trỏ được xếp theo thứ tự trỏ đến dữ liệu lưu trữ trong các bảng. SQL Server cĩ hai kiểu chỉ mục khác nhau :
Chỉ mục kết cụm : buộc các hàng trong bảng, thực tế lưu trữ theo thứ tự sấp xếp dùng một cột của bảng để sấp xếp các hàng .
Chỉ mục phi cụm : khơng thực tế dàn xếp dữ liệu mà trỏ đến dữ liệu trong bảng .
Kiểu dữ liệu : Định nghĩa hoặc mơ tả kiểu dữ liệu cĩ thể được đưa vào một cột và cách mà nĩ được SQL Server lưu trữ. Kiểu dữ liệu phải được chỉ định cho mọi cột trong bảng .
Trị ngầm định :là những giá trị được tự động nhập vào các cột khi khơng cĩ giá trị nào được nhập vào đĩ trong khi nhập liệu. Các trị ngầm định cĩ thể được gán cho bất kỳ cột nào trong bảng .
Qui tắc [rules]: là những đối tượng cĩ cơ sở dữ liệu được dùng để điều khiển các dữ liệu cĩ thể nhập vào một bảng. Đây là trường hợp ngăn ngừa việc nhập sai dữ liệu vào một bảng.
Các thủ tục lưu trữ sẵn:
là những đối tượng cĩ cơ sở dữ liệu mạnh và linh hoạt cho phép bạn tự động hĩa nhiều cơng việc. Chúng bao gồm nhiều điều lệnh Transact- SQL biên dịch sẵn, thi hành một hay một loạt cơng việc định sẵn. Mọi thủ tục lưu trữ sẵn thường bắt đầu bằng các ký tự “sp-“ và được lưu trữ trong cơ sở dữ liệu Master.
Nếu thủ tục lưu trữ sẵn được nhập từ cơng cụ SQL Query thì nĩ sẽ được thực thi và thơng tin trợ giúp về các cơ sở dữ liệu do SQL Server quản lý xuất hiện. SQL Server cĩ thể thực hiện bao gồm việc chèn, cập nhật và xố records.
Trigger: là một kiểu thủ tục lưu trữ sẵn đặc biệt thi hành mỗi khi xảy ra các sự kiện cụ thể cho một bảng. Ví dụ mỗi khi chèn, cập nhật hay xố dữ liệu trong một bảng. Trigger cĩ thể tự động phát động, thi hành một loạt lệnh T-
SQL cĩ trong Trigger. Thực hiện hầu hết những cơng việc mà SQL cĩ thể thực hiện.
Hạn chế [Constraints] : Dùng để củng cố tính nguyên vẹn dữ liệu. Trong nhiều cách chúng cũng giống như các kiểu dữ liệu, trị ngầm định, qui tắc và lệnh ứng tác, tất cả đều được dùng để củng cố tính nguyên vẹn dữ liệu.
II. BẢO MẬT CỦA SQL SERVER:
Cĩ 3 mức độ như sau:
Standard Security: địi hỏi chúng ta login vào SQL phải sử dụng UserName và ID.
Integrated security: chúng ta chỉ cần login vào mạng Windows NT, khơng cần login lần thứ hai vào SQL Server chúng ta vẫn được nhắc khi vào SQL Server nhưng UserName trong SQL Server được lấy từ login ID của mạng.
Mixered security: cho phép chúng ta vào SQL Server hoặc sử dụng Integrated login vào Windows NT. Integrated login được sử dụng với sự kết nối Client đến Server sử dụng Name pipe.
III. CÁC KIỂU DỮ LIỆU TRONG SQL SERVER:
Trong SQL Server cĩ rất nhiều kiểu dữ liệu, rất đa dạng từ loại lưu trữ từng bit nhị phân đến loại chứa đến hai tỷ bytes dữ liệu. Trong phạm vi đề tài chỉ trình bày những kiểu dữ liệu cĩ sử dụng trong các Table của chương trình.
Chúng ta cĩ thể sử dụng datatype cĩ sẳn của SQL Server hoặc cĩ thể tạo datatype mới. Trong SQL Server cĩ những kiểu data chuẩn sau: Numeric Integer (Int, Smallint, tintint); Numeric Floatinpoint (real, float(n), decimal(n)); Character( char, varchar); datetime; small datetime; bit; binary; text; image; money; smallmoney; sysname…
Trong phần này chỉ giới thiệu một số kiểu data chính: Real: kiểu số thực.
Char(n): kiểu chuổi ký tự cĩ độ dài tối đa n ký tự. Bit: chỉ cĩ giá trị 0 hoặc 1.
Datetime: kiểu ngày.
Text và image: giống kiểu memo của Fox, chiều dài tối đa cĩ thể lên tới 2,147,483,647 byte. Cĩ một điều lưu ý là đây khơng phải là kiểu dữ liệu dùng để lưu trữ hình ảnh.
Numeric(m,n): kiểu số cĩ phần thập phân (n).
Smallint: loại này cĩ thể chứa các số nằm trong khoảng –32.768 32.767. mỗi giá trị được lưu trữ trong kiểu này sử dụng 15 bit chứa giá trị và một bit dấu.
Varchar: là một loại chứa những chuổi ký tự cĩ chiều dài thay đổi, chiều dài tối đa là 255 ký tự. Loại này khơng giống với loại char nghĩa là các khoảng trắng khơng được thêm vào cuối chuỗi khi chiều dài chuỗi nhỏ hơn chiều dài tối đa được khai báo.
Text: kiểu này cho phép lưu trữ từ 1 đến 2147483647 bytes data. IV. CẤU TRÚC CỦA CƠ SỞ DỮ LIỆU:
Trong cấu trúc logic của cơ sở dữ liệu này cĩ thể khác biệt với cấu trúc của một cơ sở dữ liệu khác, thì cấu trúc vật lý của hệ thống cơ sở dữ liệu cũng khác nhau một cách đáng kể. Những máy Mainframe rõ ràng là khác hẳn những máy Minicomputer và lại khác biệt nhiều hơn nữa so với những máy PC. Nhưng tất cả loại máy này đều cĩ thể chạy những hệ thống quản trị cơ sở dữ liệu. Cấu trúc của những hệ thống quản trị cơ sở dữ liệu này tuỳ thuộc vào phần cứng và tuỳ thuộc vào kiểu truy xuất dữ liệu yêu cầu.
Cĩ một số phương thức theo đĩ bạn cĩ thể thành lập cơ cấu cho một hệ thống máy tính để giúp bạn truy xuất cơ sở dữ liệu, nhưng dù sao thì những phương thức này cũng chỉ rơi vào một trong hai loại:
Cơ cấu đơn lẻ.
Cơ cấu nhiều người sử dụng.
Trong một cơ cấu đơn lẻ thì chỉ cĩ một máy PC, máy này vừa làm máy chủ cho cơ sở dữ liệu vừa dành cho người sử dụng. Trong một hệ thống nhiều người sử dụng, nhiều người cĩ thể truy xuất cơ sở dữ liệu đồng thời; cơ sở dữ liệu cĩ thể ở trên một máy PC hoặc trải trên nhiều máy.