Tìm hiểu về SQL Server
Cơ sở dữ liệu và quản trị cơ sở dữ liệu là một trong những vấn đề cốt
lõi của tin học. Xét cho cùng khi ứng dụng tin học để giải quyết các bài
toán thì ng-ời ta phải giải quyết vấn đề xây dựng cơ sở dữ liệu và xây
dựng thuật toán xử lý chúng. Khi cơ sở dữ liệu càng lớn nhu cầu xử lý
phức tạp, yêu cầu bảo mật càng cao thì vấn đề quản trị cơ sở dữ liệu càng
phức tạp. Vì vậy các mục tiêu của đề án này là tìm hiểu khai thác SQL
Server và sử dụng nó để giải quyết bài toán quản lý dân c-. Từ mục tiêu
của đề án chúng ta thấy rằng nội dung của đề án gồm có hai phần cơ bản:
1. Tìm hiểu khai thác SQL Server.
2. Giải quyết bài toán quản lý dân c-trên SQL Server.
ắLý do chọn Microsoft SQL Server:
• Xuất phát từ đặc điểm bài toán kích th-ớc lớn, phân tán, đa ng-ời
sử dụng.
• MS SQL Server là hệ quản trị cơ sở dữ liệu hỗ trợ tốt với l-ợng dữ
liệu lớn, cho phép ng-ời sử dụng theo mô hình Client/Server.
• MS SQL Server tiện dụng trong việc phân tán tra cứu dữ liệu
nhanh.
• MS SQL Server hỗ trợ mạnh với dữ liệu phân tán.
ắMS SQL Server chạy trên môi tr-ờng Win NT (Server) và Win 9.X,
Win 2000 (Client), .
ắSQL Server là một trong những hệ phần mềm tiện lợi và hiệu quả trong
việc phát triển các ứng dụng cơ sở dữ liệu lớn, phân tán thích hợp cho cơ
quan, tổ chức, địa ph-ơng, .
ắMS SQL Server hỗ trợ tốt trong quản lý xử lý đồng nhất, bảo mật dữ
liêu theo mô hình Client/Server trên mạng.
ắVới máy chủ có MS SQL Server cóthể quản trị nhiều Server với tên
khác nhau (các Server là hệ quản trị các cơ sở dữ liệu riêng của mình), và
nhóm các Server (Server group).
Server là nơi xử lý dữ liệu nh− thực hiện các lời gọi thủ tục l−u trữ (store procedure), thực hiện các câu lệnh SQL Server do Client gửi tới. ắ Hệ thống đ−ợc xây dựng bởi: • Tại Client: giao diện ng−ời dùng đ−ợc sử dụng bằng phần mềm Microsoft SQL Server 7.0. • Tại Server: sử dụng hệ quản trị cơ sở dữ liệu Microsoft SQL Server 7.0 • Hệ điều hành mạng: Windows NT Server 4.0 hoặc cao hơn. Việc liên lạc giữa Client và Server thông qua chuẩn ODBC của Microsoft, bằng việc gọi tới các thủ tục l−u trữ (store procedure), các lệnh SQL gửi lên từ Client. ắ Đánh giá −u điểm: • Dữ liệu tập trung trên Server, dễ dàng trong quản lý, tăng c−ờng tính thống nhất và an toàn dữ liệu, tránh đ−ợc những thay đổi ngoài ý muốn của ng−ời sử dụng. • Tận dụng đ−ợc tiềm năng sức mạnh về sử lý của Server. • Giảm đ−ợc các xử lý tại Client, tăng tốc độ nhập xuất dữ liệu. • Tận dụng đ−ợc −u điểm của cơ chế gọi thủ tục l−u trữ. đây là một trong những đặc tính −u việt nhất của hệ thống xử lý các ứng dụng phân tán theo mô hình Client/Server. ắ Đánh giá nh−ợc điểm: • Xử lý dữ liệu trên Server là chính nên nếu Server cấu hình không mạnh hoặc chạy song song SQL Server với nhiều ứng dụng khác hoặc có nhiều Client gọi tới Server thì tốc độ đem lại sẽ không nh− Luận văn tốt nghiệp Vũ Hùng C−ờng B2 - CNTT - 80 - mong muốn. Là vì có nhiều lời gọi thủ tục, lệnh SQL đ−ợc gửi tới cùng lúc, thì dòng xếp hàng sẽ dài ra. • Sẽ có quá nhiều luồng thông tin đi trên mạng, làm giảm tốc độ mạng. V.2 Công việc thực hiện tại Client ắ Chức năng xuất nhập dữ liệu: • Client có một hệ thống giao diện hết sức thân thiện, giúp cho ng−ời sử dụng dễ dàng, thuận tiện cho ng−ời sử dụng trong việc theo dõi, quản lý các dữ liệu vào ra hệ thống. Có thể liệt kê một số điểm nh−: việc thiết lập các khuôn dạng thống nhất cho các tr−ờng dữ liệu, việc thống nhất sử dụng các hệ thống phím điều khiển. • Khi Client goi thủ tục l−u trữ, một lệnh SQL thì kết quả truy vấn đ−ợc Server gửi lại Clinet thông qua một cursor, mọi thông tin kiết xuất ra màn hình đều dựa vào cursor này. ắ Chức năng xử lý • Kiểm tra tính hợp lệ của dữ liệu Mục đích loại trừ phần lớn các tr−ờng hợp dữ liệu nhập vào không hợp lệ, thực hiện ngay tại Client và trả lại ngay kết quả cho ng−ời sử dụng, làm giảm quá trình kiểm tra trên Server. • Xử lý dữ liệu gửi đi Tính toán ngay ra kết quả tại Client, chỉ cần cập nhật kết quả lên trên Server làm giảm bớt thời gian tính toán trên Server. Thực tế cho thấy đây là một biện pháp rất hữu hiệu, các kết quả tính toán ra nếu có vấn đề nào đó (tính hợp lệ, ...) sẽ đ−ợc thông báo và sửa đổi ngay tại Client và tính toán tiếp. Quá trình này đảm bảo cho việc cập nhật trên Server một lần duy nhất với kết quả đúng. • Thực hiện lời gọi thủ tục l−u trữ SP Đối với quá trình xử lý, chẳng hạn khi phải cập nhật vào nhiều bảng, việc thực hiện gọi tới các thủ tục l−u trữ đ−ợc tối −u hoá bằng cách thực hiện một lần duy nhất mà vẫn đảm bảo toàn bộ các thao tác dữ liệu bên trong nhằm mục đính tránh gọi hàm nhiều lần trong một quy trình xử lý, làm giảm tới mức thấp nhất các thông tin l−u thông trên mạng. • Xử lý dữ liệu gửi về Luận văn tốt nghiệp Vũ Hùng C−ờng B2 - CNTT - 81 - Kết quả của việc thực hiện lời gọi tới thủ tục l−u, hoặc lệnh SQL trên Server sẽ trả về Client, kết quả đó có thể là một tập hợp dữ liệu, hoặc có thể là các lỗi trong khi thực hiện trên Server, tham số trả về sẽ cho biết lỗi này. V.3 Công việc thực hiện tại Server ắ Server là nơi tạo và l−u trữ dữ liệu cho toàn bộ hệ thống để tạo một cơ sở dữ liệu, ta có thể tạo trực tiếp trên Server hoặc tạo trên các công cụ hỗ trợ khác nh− SQL Server, Microsoft Access, ... ắ Server là nơi xử lý chính các dữ liệu trên hệ thống Công việc xử lý đ−ợc thực hiện bởi các thủ tục l−u trữ. Thủ tục l−u trữ là một tập các lệnh QSL th−ờng dùng và có mục đích sử lý dữ liệu và xắp xếp có hệ thống tạo thành một thủ tục l−u trữ. Thủ tục này sau khi biên dịch đ−ợc l−u thẳng vào cơ sở dữ liệu, do đó đ−ợc gọi là các thủ tục. Cấu trúc để tạo thủ tục l−u trữ trong SQL Server 7.0 nh− sau: =================================================== /* ** Add an object to the dtproperties table */ create procedure dbo.dt_adduserobject as set nocount on /* ** Create the user object if it does not exist already */ begin transaction insert dbo.dtproperties (property) VALUES 'DtgSchemaOBJECT') update dbo.dtproperties set objectid=@@identity where id=@@identity and roperty='DtgSchemaOBJECT' commit return @@identity =================================================== ắ Tác dụng của việc thực hiện thủ tục l−u trữ Thủ tục l−u trữ là một trong các −u điểm rất mạnh của hệ quản trị cơ sở dữ liệu xử lý các ứng dụng phân tán theo mô hình Client/Server nói chung và của SQL Server nói riêng. Lợi ích của thủ tục l−u trữ đem lại rất nhiều, nh−ng phải kể đến: Luận văn tốt nghiệp Vũ Hùng C−ờng B2 - CNTT - 82 - • Làm giảm bớt các luồng thông tin trên mạng. Thay vì việc mỗi khi thực hiện một loạt các giao dịch, bằng cách gửi một loạt các câu lệnh SQL từ Client tới Server, giờ đây ta có thể nhóm tất cả các câu lệnh đó vào chung một thủ tục và l−u tại Server và việc thực hiện bây giờ chỉ đơn giản ta gửi một lời gọi từ Client sang Server. • Một lời gọi có thể thực hiện một tập hợp các câu lệnh SQL, điều này rất quan trong cho việc đảm bảo tính an toàn và thống nhất dữ liệu cho hệ thống. • Thực hiện các câu lệnh SQL mà không cần dịch lại, làm tăng tốc độ xử lý dữ liệu. • Câu lệnh SQL l−u trên Server đ−ợc sử dụng trên nhiều trạm làm việc, làm giảm bớt thời gian lập trình. • Quản lý tập trung các lệnh xử lý dữ liệu trên Server, tạo thuận lợi cho ng−ời sử dụng trong việc kiểm soát các thao tác dữ liệu, tối −u hoá các lệnh sử lý bằng SQL. V.4 Vấn đề liên lạc giữa Client và Server Vấn đề liên lạc giữa Client với Server đ−ợc thực hiện thông qua chuẩn ODBC (Open Database Connectivities: hệ thống kết nối cơ sở dữ liệu mở) thông qua việc thực hiện thủ tục l−u (hay gọi thực hiện các lệnh SQL). Sử dụng chuẩn ODBC có nhiều −u điểm nh−: • Sử dụng ODBC rất tiện lợi đối với ng−ời lập trình, họ hoàn toàn bị trong xuốt với các xử lý hệ thống nh− việc gửi các câu lệnh SQL đi, nhận kết quả trở về, thông báo lỗi, ... đều do ODBC đảm trách. • ODBC hết sức mềm dẻo, điều đó có nghĩa ODBC hỗ trợ cho ng−ời sử dụng một khả năng to lớn về việc sử dụng Database Server, và việc chuyên đổi giữa các Database Server là dễ dàng. • Về tốc độ xử lý ODBC hiện tại không phải là giải pháp tối −u cho tốc độ, tuy nhiên hãng Microsoft rất khuyến khích việc sử dụng ODBC và hứa hẹn trong t−ơng lai sẽ có kế hoach tối −u hoá. • Việc lập trình tại Client bằng ngôn ngữ lập trình để kết nối lên SQL Server theo chuẩn ODBC hết sức dễ dàng, lập trình viên sẽ không có cảm giác khác biệt giữa lập trình bằng ODBC và lập trình trực tiếp với cơ sở dữ liệu. Luận văn tốt nghiệp Vũ Hùng C−ờng B2 - CNTT - 83 - Tổng kết I. Đánh giá kết quả thực hiện luận văn I.1 Nhận xét về xây dựng thiết kế cơ sở dữ liệu quản lý dân c− ắ Ưu điểm Việc xây dựng thiết kế cơ sơ dữ liệu cho quản lý dân c− đã đáp ứng đ−ợc yêu cầu của hệ thống quản lý dân c− cần thực hiện: • Cung cấp thông tin đầy đủ, chính xác về mỗi công dân. • Có khả năng quản lý rộng hơn không chỉ cấp quận mà có thể thực thi trên cả n−ớc. • Xây dựng thiết kế cơ sở dữ liệu theo mô hình kiến trúc Client/Server, chạy ở trên môi tr−ờng Windows 95, Windows 98, Windows NT, sử dụng hệ quản trị cơ sở dữ liệu SQL Server nên đã sử dụng đ−ợc những điểm mạnh của nó. • Là một ch−ơng trình chạy trên Windows nên nó có giao diện theo chuẩn của Windows nên dễ sử dụng. • Việc thiết kế dữ liệu trên SQL Server là một hệ quản trị chuyên dụng cho việc quản lý nên dễ đối với ng−ời dùng. • Có khả năng phân quyền và bảo mật đối với ng−ời dùng. • Tránh đ−ợc những sai sót về hệ thống, cũng nh− điều khiển thông tin trên mạng, nhằm hạn chế tối đa thiệt hại có thể tránh. ắ Nh−ợc điểm Hạn chế trong việc sử dụng thủ tục l−u trữ trên SQL Server thông qua ODBC. • Nếu mô hình Database Server nh− đã áp dụng thông qua ODBC, việc sử lý dữ liệu, xác định và sử lý lỗi sẽ phụ thuộc hoàn toàn vào Server. Trong khi đó nhiều tr−ờng hợp lỗi trả về từ Server bị ODBC chặn lại và lỗi trả về Client là do ODBC gửi tới, do đó rất khó xác định lỗi trên Server. • Hạn chế đáng kể trong việc sử dụng thủ tục l−u trữ trên Server thông qua ODBC giới hạn việc sử dụng cursor trên Server. Luận văn tốt nghiệp Vũ Hùng C−ờng B2 - CNTT - 84 - I.2 Tự nhận xét về luận văn Theo ý kiến của em thì luận văn còn có điểm đ−ợc và ch−a đ−ợc nh− sau: ắ Ưu điểm • Đã cố gắng trình bày một cách hệ thống. • Đã cố gắng đ−a ra trình bày một cách đầy đủ nhất trong tầm hiểu biết của bản thân về các vấn đề. • Đã cố gắng trình bày sát với thầy h−ớng dẫn. ắ Nh−ợc điểm • Trình bày con ch−a tối −u. • Đôi chỗ còn dài dòng. I.3 Thu hoạch cho bản thân ắ Làm quen và sử dụng t−ơng đối thành thạo một hệ quản trị cơ sở dữ liệu chuyên dụng cho các ứng dụng Client/Server là SQL Server, một trong những hệ cơ sơ dữ liệu mạnh hiện nay. ắ Trau rồi đ−ợc những kinh nghiệm quý giá trong việc xây dựng thiết kế cơ sở dữ liệu trong môi tr−ờng Client/Server, sử lý các ứng dụng phân tán. ắ Nghiên cứu và nắm bắt đ−ợc một số nghiệp vụ về quản lý dân c−. II. Kết luận ắ Trên đây tôi đã trình bày những −u điểm, nh−ợc điểm và thế mạnh của SQL Server đồng thời trình bày một ứng dụng thiết kế xây dựng một cơ sở dữ liệu dân c− cấp quận trên SQL Server. ắ Qua quá trình làm luận văn đã giúp cho tôi hiểu biết thêm về một số vấn đề trong quản lý dân c− cũng nh− nắm bắt, sử dụng SQL Server một cách t−ơng đối thành thạo. ắ Cuối cùng một lần nữa em xin trân thành cảm ơn thầy Nguyễn Văn Xuất, ng−ời đã giúp em hoàn thành luận văn tốt nghiệp.
File đính kèm:
- Tìm hiểu về SQL Server.pdf