Sơ đồ luồng thụng tin được dung để mụt tả hệ thống theo cỏch thức động. Tức là mụ tả sự di chuyển của dữ liệu, việc xử lý trong thế giới vật lý bằng cỏc sơ đồ. Ta cú sơ đồ luồng thụng tin của hệ thống quản trị quan hệ khỏch hàng
H ỡnh 3.9 Sơ đồ luồng thụng tin của hệ thống quản trị quan hệ khỏch hàng tại cụng
3.5. Thiết kế cơ sở dữ liệu
3.5.1.Hệ quản trị cơ sở dữ liệu cho bài toỏn
Sau khi tỡm hiểu nghiệp vụ bài toỏn, căn cứ vào nhu cầu của bài toỏn và sự hiểu biết của bản than về hệ quản trị cơ sở dữ liệu SQL Server 2000. Em đó quyết định chọn hệ quản trị cơ sở dữ liệu SQL Server làm cơ sở để thực hiện giải phỏp. Vậy tại sao lại chọn SQL Server 2000? Ta hóy xem xột sơ lược cỏc tớnh năng mà SQL Server đem lại hiệu quả khi thực hiện bài toỏn
3.5.1.1.SQL Server 2000 là gỡ?
SQL Server 2000 là hệ quản trị cơ sở dữ liệu Client/Server:
- Client là một thành phần của hệ thống yờu cầu dịch vụ hoặc tài nguyờn từ những thành phần hệ thống khỏc.
- Server là một thành phần của hệ thống cung cấp cỏc dịch vụ hoặc tài nguyờn cho những thành phần hệ thống khỏc.
SQL Server hỗ trợ việc truy nhập thụng qua mạng mỏy tớnh. Sự truy nhập này cú thể thụng qua cỏc ứng dụng từ phớa Client như: ứng dụng Client/Server; COM, DCOM, Web…
3.5.1.2.Hỗ trợ ngụn ngữ Transaction SQL(T-SQL)
T-SQL là một phiờn bản của SQL, nú cũng là một ngụn ngữ lập trỡnh và truy vấn cơ sở dữ liệu, Với T-SQL ta cú thể truy vấn, cập nhật dữ liệu, thiết lập, bảo trỡ, lập trỡnh…rất hiệu quả.
3.5.1.3.Quy mụ dữ liệu
- Cho phộp tạo 2 tỉ bảng / 1 CSDL.
- Cho phộp tạo 1024 cột (trường)/ 1 bảng.
- Cho phộp tạo 8060 byte / 1 hàng (cỏc kiểu dữ liệu text, image mỗi kiểu dựng 16 byte / 1 hàng).
3.5.1.4.ADO.NET hỗ trợ Provider để lập trỡnh với SQL server
Do cụng nghệ ADO.NET(ActiveX Data Object) và SQL server đều là cỏc sản phẩm của Microsoft nờn giữa hai cụng nghệ cú sự tương tỏc rất ổn định và cú khả năng hỗ trợ nhau khi cỏc sản phẩm này được nõng cấp qua cỏc phiờn bản.
ADO.NET là một lớp trong Visual Studio.NET, chỳng chia ra làm hai loại, lớp kết nối hay cũn gọi Connected Layer và lớp khụng kết nối hay cũn gọi là Dớsconnected Layer, với hai lớp này chỳng ta cú thể kết nối và thao tỏc trờn cỏc loại cơ sở dữ liệu như SQL Server, MýQL, MS Access, Oracle và cơ sở dữ liệu phõn cấp khỏc.
Lớp kết nối là trỡnh điều khiển kết nối cơ sở dữ liệu (Data Provider), cú nghĩa là chỳng ta phải sử dụng .NET Data Provider hỗ trợ cho cơ sở sữ liệu đó chọn. Trong khi đú lớp khụng kết nối sử dụng .NET Data Provider tựy ý, thực chất .NET Data Provider bao gồm 4 lớp sau:
- Connection: lớp kết nối cơ sở dữ liệu. - DataAdapter: lớp chứa dữ liệu.
- Command: lớp chứa lệnh.
- DataReader: lớp đọc dữ liệu một chiều.
Trong khi mục đớch của những lớp kết nối là cho phộp chỳng ta truy vấn dữ liệu (SELECT) và thao tỏc (DELETE, INSERT, UPDATE) đến dữ liệu nguồn. Ngược lại, lớp khụng kết nối cho phộp chỳng ta thao tỏc trờn dữ liệu tạm thời, hay dữ liệu mà cú thể đọc hay ghi ra luụng XML hay tệp tin.
3.5.1.5.Stored Procedure và Trigger
* Stored Procedure: là tập hợp cỏc cõu lệnh T-SQL được lưu trữ trờn Server. Đõy là phương thức đúng gúi cỏc nhiệm vụ lặp lại giống nhau để cú thể tiết kiệm mó, thời gian lập trỡnh. Ưu điểm của Stored Procedure bao gồm:
- Chia sẻ ứng dụng logic(Share Application Logic) với cỏc ứng dụng khỏc bằng cỏch nhất quỏn sự truy nhập và sửa chữa dữ liệu. Stored Procedure cú thể đúng gúi cỏc chức năng nghiệp vụ, quy tắc nghiệp vụ hoặc cỏc hành động. Khi
đú việc thay đổi Stored Procedure chỉ ở một nơi thỡ cỏc ứng dụng dựng chung sẽ nhất quỏn thay đổi theo.
- Che chắn chi tiết lược đồ Database (Shield DB Schema Details): khụng cho phộp người sử dụng xem chi tiết nội dung, cấu trỳc của bảng. Nếu tập hợp cỏc Stored Procedure cung cấp đủ cỏc quy tắc, chức năng nghiệp vụcho việc thực hiện thỡ người sử dụng sẽ khụng phải truy nhập trực tiếp đến bảng.
- Cung cấp cơ chế bảo mật (Provide Sercurity Mechanims): cú thể cho phộp User thực hiện một Stored Procedure thậm chớ khi user đú khụng cú quyền truy nhập tới cỏc bảng hoặc View mà Stored Procedure trỏ tới.
- Cải tiến hiệu xuất thực hiện (Improve Performance): Stored Procedure cú thể thực hiện rất nhiều cụng việc bằng cỏc khối cõu lệnh T-SQL, do đú khi thực hiện Stored Procedure sẽ cho kết quả nhanh hơn so vớ thực hiện riờng lẻ cỏc cõu lệnh đú.
- Giảm thiểu lưu thụng trờn mạng (Redure Network Traffic): thay vỡ phải gửi hàng trăm cõu lệnh từ Client lờn Server, user cú thể đúng gúi cỏc cõu lệnh này vào trong một Stored Procedure rồi thực hiện. Khi đú, việc lưu thụng trờn mạng sẽ giảm thiểu một cỏch tối đa.
* Trigger: là một dạng đặc biệt của Stored Procedure được tự động thực hiện khi user thực hiện thờm, sửa, xoỏ cỏc bản ghi của bảng mà Trigger liờn kết. Cỏc đặc trưng của Trigger gồm:
- Trigger đượcliờn kết với một bảng.
- Được tự động thực hiện khi user thực hiện thờm, sửa, xoỏ dữ liệu trờn bảng.
- Khụng được gọi một cỏch trực tiếp như Stored Procedure.
- Là một phần của Transaction: Trigger cú thể gọi lệnh ROLLBACK TRANSACTION thậm chớ ngay cả khi khụng cú lệnh BEGIN TRANSACTION trong Trigger.
Cho phộp đặt lịch thực hiện cỏc tỏc vụ, cỏc Stored Procedure hoặc cỏc cõu lện T-SQL theo thời gian
3.5.1.7. User – Defined Function
Ta cú thể định nghĩa cỏc hàm để sử dụng trong cỏc xử lý nghiệp vụ thụng qua Stored Procedure mà khụng phụ thuộc vỏo cỏc Built-in function.
3.5.1.8.Hỗ trợ lập trỡnh thụng qua nhiều Server
Điều này thật hữu ớch và là điều kiện tiờn quyết để cú thể xõy dựng một ứng dụng cú cơ sở dữ liệu phõn tỏn. Nhờ đặc điểm này mà ta cú thể:
- Viết những cõu lệnh SQL đặc biệt để truy nhập dữ liệu được lưu trữ trờn Microsoft Server 2000 từ xa hay một nguồn dữ liệu thụng qua OLE DB.
- Tạo mụi trường lien kết cỏc SQL Server hay OLE DB. - Thực hiện truy vấn trờn SQL Server liờn kết.
- Thực hiện một Stored Procedure trờn một server từ xa hoặc một server liờn kết.
- Quản lý nghiệp vụ phõn tỏn.
- Sử dụng Distributed Transactions để sửa đổi sữ liệu phõn tỏn.
3.5.1.9.Tớnh bảo mật cần thiết
Cỏc mức bảo mật (Level of Sercurity): cú 4 mức cấp độ bảo mật:
- Hệ điều hành: để kết nối với hệ phục vụ, một người dựng cần xem xột tỉ mỉ vài kiểu đăng nhập hệ điều hành nhằm truy cập hẹ thống hợp lệ.
- SQL Server: để kết nối SQL Server, người dựng cần phải cú đăng nhập SQL hợp lệ.
- Database: để truy xuất cơ sở dữ liệu người dựng phải được cấp quyền trờn cơ sở dữ liệu đú.
- Đối tượng (Table, View, Stored Procedure):muốn truy cập một đối tượng trong cơ sở dữ liệu người dựng phải được cấp quyền trờn đối tượng đú.
Phõn cấp tớnh bảo mật (Sercurity Hỉeachy): trong hệ phõn cấp cú 4 kiểu người dựng: quản trị viờn hệ thống (SA), sở hữu chủ cơ sở dữ liệu (DBO), sở hữu chr đối tượng cơ sở dữ liệu (DBOO) và cỏc người dựng khỏc.
Quyền (Permision)
+ Quyền đối tượng (Object Permission): điều khiển việc truy cập và thao tỏc dữ liệu trờn cỏc đối tượng trong SQL Server. Khi ban muốn thực hiện một hành động trờn một đối tượng, bạn phải cú quyền thớch hợp. Vớ dụ: bạn muốn select * from table 1 thỡ bạn phảo cú quyền select đối với bảng đú.
Phõn loại quyền đối tượng
Kiểu đối tượng Hành động cụ thể
Table Column
View
Stored Procedure
Select, Update, Delete, Insert, Reference. Select, Update.
Select, Update, Insert, Delete. Execute.
+ Quyền điều lệnh (Statement Permission): điều khiển việc những ai cú thể xoỏ và tạo cỏc đối tượng trong một cú sở dữ liệu. Chỉ cú SA và DBO mới cú thể quản lý cỏc quyền điều lệnh.
Sau khi xem xột cỏc tớnh năng của SQL Server 2000, ta tiến hành thiết kế cơ sở dữ liệu trờn SQL Server 2000.