Những cải tiến nhằm giảm thiểu việc truyền dữliệu trên

Một phần của tài liệu Quản lý đăng ký môn học của sinh viên (Trang 43)

Ngày nay hệ thống Client_Server đã được đưa vào ứng dụng rộng rãi trong việc quản lý và truyền dữ liệu trên mạng. Các Client thường yêu cầu một lượng khá lớn dữ liệu từ Server chỉ dùng để xử lý dữ liệu nội bộ. Vậy làm thế nào để giảm thiểu lượng dữ liệu truyền đi và về giữa Client và Server? Hãy xét qua một số phương pháp cĩ thể được áp dụng để giải quyết vấn đề này :

Trung tâm Học liệu ĐH Cần Thơ @ Tài liệu học tập và nghiên cứu Ngay cả khi cĩ được các mẫu thiết kế chương trình và cơ sở dữ liệu tốt

nhất, hệ thống vẫn cĩ thể gặp trở ngại nếu ta luơn địi hỏi được xem tất cả các hàng từ một bảng. Việc yêu cầu dữ liệu quá lớn như vậy sẽ dẫn đến sự lưu thơng trên mạng phải thực hiện liên tục. Ngồi ra để cĩ được dữ liệu mà khách hàng yêu cầu, hệ thống phải tốn nhiều thời gian hơn, từ đĩ cĩ thể dẫn đến sự chậm trễ hoặc thậm chí làm tắc nghẽn trên mạng.

Để giải quyết vấn đề nêu trên, cĩ thể sử dụng những phương pháp sau: § Kiểm tra các tiêu chuẩn chọn (điều kiện lọc) do người sử dụng nhập vào:

khi phát triển các trình ứng dụng cho phép người sử dụng thực hiện các câu vấn tin tự do, cố gắng cho họ họ nên chỉ định các tiêu chuẩn tìm kiếm hơn là yêu cầu tất cả các hàng.

§ Để hệ thống thực hiện việc lọc : một số lập trình viên chọn cách cho hệ thống lấy tất cả dữ liệu trong bảng, gởi về cho Client, sau đĩ Client mới thực hiện tác vụ lọc lấy dữ liệu thực sự cần thiết. Cách này dẫn đến việc Server luơn phải gởi một số lượng lớn dữ liệu khơng thực sự cần thiết về cho Client. Sẽ tốt hơn nhiều nếu cho hệ thống thực thi tác vụ lọc dữ liệu thực sự cần thiết rồi mới gởi về cho Client.

2. Chn nhng ct cn thiết :

Khi triển khai các ứng dụng SQL Server để truy tìm thơng tin, nên cố gắng giảm thiểu số lượng các cột khơng thực sự cần thiết (những thơng tin khơng thực sự cần dùng) phải truyền giữa Client và Server.

Lệnh Select * từ một bảng sẽ dễ dàng trong việc tìm dữ liệu, tuy nhiên nĩ lại gây nên tổn thất nhiều hơn việc chỉ yêu cầu những cột cần thiết, nĩ cũng dễ gây nên tình trạng tắc nghẽn trên mạng do dữ liệu phải truyền quá lớn.

3. Ch cp nht nhng ct cĩ s thay đổi :

Tương tự như Select *, lệnh Update * cũng sẽ dễ dàng cho việc cập nhật lại nội dung các cột, nhưng nĩ lại làm cho các tiến trình trong hệ thống phải tốn nhiều thời gian để cĩ thể hồn thành cơng việc. Ngồi ra việc cập nhật lại tất cả các cột cũng cĩ thể khơng thành cơng nếu ta đã thiết lập mối quan hệ tham chiếu thống nhất cho bảng.

4. S dng các th tc cĩ sn :

Một cách nữa để giảm thiểu tồn bộ sự lưu thơng giữa Client và Server là sử dụng các thủ tục cĩ sẵn. Các thủ tục cĩ sẵn đã được phân tích và biên dịch trước vào thời điểm tạo lập hệ thống cơ sở dữ liệu. Khi được thi hành, kế hoạch của thủ tục sẽ được chứa trong đệm thủ tục, lần sau khi dùng thủ tục được lưu nĩ sẽ được đọc và chạy trực tiếp từ đệm làm cho hiệu suất đạt cao hơn so với việc chạy một câu truy vấn SQL chuẩn lặp đi lặp lại.

Như vậy, bằng cách viết các câu lệnh Transact-SQL trong thủ tục cĩ sẵn, ta cĩ thể chuyển tồn bộ thao tác xử lý này vào Server. Sau sự thay đổi này, Client chuyển các tiêu chuẩn tìm kiếm dữ liệu đến thủ tục cĩ sẵn của Server

Trung tâm Học liệu ĐH Cần Thơ @ Tài liệu học tập và nghiên cứu và chờ Server gởi trả kết quả tìm được. Ngay khi nhận được, Client sẽ cho

hiển thị kết quả này, khơng cĩ sự thay đổi gì về tính năng đối với người sử dụng.

Lợi ích của thủ tục cĩ sẵn là đã loại bớt việc phải truyền hàng ngàn dịng dữ liệu qua mạng, điều này bảo tồn được dãy thơng tin giá trị của mạng, và ta cịn thấy rõ hơn về hiệu quả của phương pháp này nếu đem nhân con số này với tất cả các Client đang được sử dụng trên mạng. Một lợi ích khác của thủ tục trữ sẵn là ta cĩ thể cấp quyền cho một người sử dụng cĩ quyền thực thi thủ tục ngay cả khi người đĩ khơng được cấp quyền trên các bảng sử dụng trong thủ tục.

IV . H TR CA MICROSOFT VISUAL FOXPRO CHO MƠ HÌNH CLIENT_SERVER :

Khi thiết kế ứng dụng Client/Server nhất thiết phải xây dựng và phát triển một nguyên mẫu cục bộ. Một nguyên mẫu cục bộ là một kiểu làm việc của ứng dụng sử dụng các table, các view và cơ sở dữ liệu để thể hiện dữ liệu sẽ được truy xuất cuối cùng trên một remote server. Sử dụng wizard chuẩn để chuyển cơ sở dữ liệu, các table, các view từ hệ thống ứng dụng vào một SQL Server từ xa.

1. Mc đích ca nguyên mu:

Khi sử dụng Visual Foxpro để xây dựng một nguyên mẫu cho ứng dụng, tác động cộng lực cho sức mạnh của Visual From, Wizard, Builder, Designer và Project Manager để phát triển ứng dụng một cách nhanh chĩng. Trong khi mục đích cuối cùng là thực thi ứng dụng xuyên qua các platform client/server, thu được một kết quả lớn bằng cách chọn xây dựng một nguyên mẫu vững chắc.

2. Xây dng mt nguyên mu cc b cho mt ng dng:

Khi xây dựng một nguyên mẫu cục bộ cho một ứng dụng, bắt đầu từ việc thảo luận sơ bộ, hay cĩ thể chuyển một ứng dụng cĩ sẵn của Visual Foxpro thành một ứng dụng client/server.

Xây dựng và phát triển một nguyên mẫu cục bộ

v Tạo một ứng dụng sử dụng các view cục bộ và các table cục bộ thể hiện dữ liệu muốn chuyển đến một server từ xa.

v Sử dụng các table view cục bộ trong mơi trường dữ liệu của các form hay report.

v Phát triển các view và table cục bộ bằng cách sử dụng SQL Server Upsizing Wizard.

Trung tâm Học liệu ĐH Cần Thơ @ Tài liệu học tập và nghiên cứu v Trong bước Set Upsizing Options,trong vùng changes to make

locally, chọn Redirect views to remote data.

Khi chọn tuỳ chọn này, upsizing wizard sao chép các table cục bộ cho server từ xa, và gửi một lần nữa các view cục bộđể sử dụng dữ liệu từ xa nơi cần thiết.

3. S dng tin ích ‘ Upsizing wizard ’ để đưa các bng d liu lên Server : (adsbygoogle = window.adsbygoogle || []).push({});

Một trong những chức năng hỗ trợ cho mơ hình Client_Server quan trọng nhất của Visual Foxpro là cho phép ta chuyển bảng, kiểu xem cục bộ của ứng dụng thành bảng, kiểu xem nằm ở xa thơng qua Upsizing wizard (trên menu lệnh, chọn Tools / Wizards / Upsizing / chọn SQL Server Upsizing Wizard).

Tiến trình chuyển tải dữ liệu lên Server được thực hiện thơng qua các bước sau :

§ Bước 1 : chn cơ s d liu cha các bng cn chuyn .

§ Bước 2 : chn ngun d liu ODBC hoc tên mt ni kết dùng cho việc truyền dữ liệu.

§ Bước 3 : chn cơ s d liu trên máy ch s cha d liu cần chuyển (nếu cơ sở dữ liệu đã được tạo trước).

§ Bước 4 : chn các bng d liu cn chuyn.

§ Bước 5 : thay đổi kiu d liu. Cĩ th thay đổi ánh x mc nhiên của một vùng mục tin từ kiểu dữ liệu của Visual Foxpro qua kiểu dữ liệu của ODBC, tuy nhiên ta khơng thể thay đổi ánh xạ mặc nhiên đối với một vùng mục là khĩa qua một kiểu dữ liệu là chỉ mục.

§ Bước 6 : chn cơ s d liu s được to trên SQL Server (cơ sở dữ liệu đã cĩ sẵn hay tạo mới một cơ sở dữ liệu khác )

§ Bước 7 : mt s la chn trong quá trình chuyn d liu. Khi chuyển các bảng dữ liệu, người sử dụng cũng cĩ thể cho đồng thời chuyển các mục, các mối quan hệ, các quy tắc, … lên Server.

§ Bước 8 : hồn tt vic chuyn d liu.

4. Mt s lnh_hàm cơ bn ca Visual Foxpro h tr vic lp trình cho Client_Server :

Visual Foxpro cung cấp một số hàm hỗ trợ cho việc lập trình Client_Server, cú pháp của các hàm cùng với tham số kèm theo (được diễn giải tương ứng tên tham số ) cùng một số ví dụ cho từng hàm như sau :

v Creat connection : to mt ni kết vi máy ch .

Để truy xuất được dữ liệu từ máy chủở xa , trước hết ta phải thiết lập một nối kết tới máy chủ này .

Trung tâm Học liệu ĐH Cần Thơ @ Tài liệu học tập và nghiên cứu CREAT CONNECTION [ tennoiket | ? ]

[ DATASOURCE nguondulieu ] [ USERID dinhdanh ] [ PASSWORD matkhau ] [ CONNSTRING chuoinoiket ] Ví dụ: CREAT CONNECTION nk DATASOURCE ‘QLDKMH’ USERID ‘1980483’ PASSWORD ‘hanh’

v SQLConnect( ) và SQLStringConnect( ) : dùng để thiết lp ni kết đến máy chủ thơng qua nguồn dữ liệu ODBC .

Cú pháp :

SQLCONNECT([nguondulieu],[dinhdanh],[matkhau] | [chuoinoiket)

SQLSTRINGCONNECT(chuoinoiket)

Nếu nối kết thành cơng hàm sẽ trả về giá trị dương. Ví dụ :

nk = SQLCONNECT(‘QL’, ‘hanh’, ‘1980483’) IF nk > 0

Wait windows ‘ Ket noi thanh cong …! ‘ timeout 1 ELSE

Wait windows ‘ Ket noi khong thanh cong …! ‘ timeout 1 ENDIF v SQLDisconnect() : hu b ni kết vi máy ch . Cú pháp : SQLDISCONNECT(tennoiket) Ví dụ : SQLDISCONNECT(nket) .

v SQLExec() : gi câu lnh SQL đến ngun d liu ODBC và xử lý câu lệnh đĩ .

Trung tâm Học liệu ĐH Cần Thơ @ Tài liệu học tập và nghiên cứu SQLEXEC(tennoiket,lenhSql[,tenbangtam])

Ví dụ :

SQLEXEC(nket,”SELECT * FROM khoa”,”tam”) v Creat SQL View : to mt tp hin th tm xa ( kiu xem ) .

Cú pháp :

CREAT SQL VIEW [tenkieuxem][REMOTE] [CONNECTION tennoiket | SHARE] (adsbygoogle = window.adsbygoogle || []).push({});

[CONNECTION nguondulieu]

[AS lenh_select]

Chương 3 : THU THẬP THƠNG TIN VÀ TỔ CHỨC DỮ LIỆU

I. QUÁ TRÌNH TÌM KIẾM THƠNG TIN :

Sau thời gian tìm hiểu và thu thập thơng tin thực tế, thơng qua giáo viên hướng dẫn, các thầy cơ và Cán bộ phịng Đào Tạo, để quản lý tất cả sinh viên đăng ký mơn học của từng Khoa trong trường thì phịng Đào Tạo phải cĩ những thơng tin và báo biểu được lưu trữ như sau :

1. Thơng tin về Sinh Viên :

Mỗi Sinh Viên khi trúng tuyển vào trường sẽ được quản lý bởi một mã số Sinh Viên, họ và tên, phái, năm sinh, ngành học... để tiện cho việc lập danh sách sinh viên sau này.

2. Thơng tin về các Khoa :

Hiện nay trường cĩ các khoa như : khoa sư phạm, khoa nơng nghiệp, khoa cơng nghệ thơng tin,....Vậy mỗi khoa sẽ được quản lý bởi một mã khoa, tên khoa. Một sinh viên chỉ thuộc vào một khoa duy nhất nào đĩ, mỗi khoa sẽ cĩ nhiều ngành.

3. Thơng tin về các ngành học trong khoa :

Mỗi ngành học cĩ nhiều sinh viên, thơng tin về ngành học bao gồm : mã ngành, tên ngành.

4. Thơng tin về đối tượng :

Nếu sinh viên thuộc đối tượng ( con liệt sĩ, con thương binh, con gia đình cĩ cơng với nước, vùng sâu, vùng xa....) thì phải cĩ xác nhận của địa phương. Mỗi đối tượng cĩ một tỷ lệ tương ứng về việc giảm học phí. Vì vậy, thơng tin về đối tượng được quản lý bởi một mã đối tượng, tên đối tượng, tỷ lệ giảm học phí.

Trung tâm Học liệu ĐH Cần Thơ @ Tài liệu học tập và nghiên cứu Tất cả các mơn học sẽ được dạy trong học kỳ cho sinh viên

đăng ký mà phịng Giáo vụ đã cĩ kế hoạch trong thời khố biểu đã thơng báo cho sinh viên biết trước khi đăng ký. Mỗi mơn học được quản lý bởi mã mơn, tên mơn, số đơn vị học trình (số tín chỉ), loại mơn (lý thuyết hay thực hành).

6. Thơng tin về học kỳ_niên khố :

Là khoảng thời gian thực hiện một đợt giảng dạy và học tập kéo dài từ 15_17 tuần.

Vào đầu mỗi học kỳ trong năm, sinh viên phải tự đăng ký mơn học cho mình theo mẫu đã được hướng dẫn trước. Trong mỗi học kỳ sẽ quy định thời gian hết hạn đăng ký, cho biết trước thời gian hết hạn giảm 5% tiền học phí, thời gian hết hạn đĩng học phí. Sau khi quá thời gian hết hạn đăng ký thì phịng Đào tạo khơng chấp nhận bất cứ phiếu đăng ký mơn học nào của sinh viên hay phiếu thu học phí.

7. Thơng tin v lp hc :

Một lớp thuộc vào một ngành học duy nhất, mỗi lớp sẽ được lưu trữ bởi mã lớp, tên lớp và thuộc vào một khố học nhất định.

8. Nhĩm hc _Lch hc :

Mỗi mơn học cĩ thể mở nhiều nhĩm trong cùng một học kỳ, mỗi nhĩm cĩ lịch học riêng. Việc xếp lịch cho từng mơn học sẽ cĩ dự kiến sẵn.

9. Phịng học :

Mỗi phịng học một mã số hay tên phịng và cĩ số lượng ghế tối đa (sức chứa).

10. Đăng ký mơn học :

Mỗi học kỳ, sinh viên phải tự đăng ký mơn học theo lịch học dự kiến mà Phịng Giáo vụ đã lập kế hoạch trước. Sinh viên cĩ thể đăng ký nhiều mơn học trong cùng học kỳ và cĩ thể đăng ký nhiều lần nhưng phải trước ngày hết hạn đăng ký mơn học đã quy định trước.

11. Mở mơn :

Mỗi ngành học sẽ mở những mơn tương ứng với từng học kỳ. Vậy thuộc tính mở mơn gồm cĩ mã ngành, mã mơn và học kỳ niên khố. Vì thế mà sinh viên thuộc ngành nào thì chỉ cĩ thểđăng ký được những mơn mà ngành học đĩ mở.

12. Thơng tin v vic phiếu thu:

Sau khi đăng ký mơn học xong, sinh viên phải đĩng học phí. Mỗi lần sinh viên đến nộp học phí thì một phiếu thu được lập. Một phiếu thu chỉ thu tiền học phí của một sinh viên tại một học kỳ và trên mỗi phiếu cĩ ghi nhận mã số sinh viên, ngày lập, số tiền đã đĩng. Việc đĩng học phí phải theo đúng thời gian qui định. (adsbygoogle = window.adsbygoogle || []).push({});

Trung tâm Học liệu ĐH Cần Thơ @ Tài liệu học tập và nghiên cứu Những thơng tin về sinh viên, mơn học, lịch học… là cần thiết cho quá

trình đăng ký mơn học của sinh viên. Qua đĩ các quá trình được cụ thể hố thành các báo biểu như sau : Mẫu 1: Bộ Giáo dục và Đào tạo Trường Đại học Cần Thơ. KẾT QUẢĐĂNG KÝ MƠN HỌC Học kỳ_Niên khố:...Ngày ĐK:…………. Tên Sinh viên:...masv:...

Lớp:…………. Tên ngành:……… Tên khoa:……… STT Mã MH Tên mơn học Nhĩm Stc Tổng Stc:…….. Tổng học phí:... Giảm:... Bảo hiểm:…… Thực đĩng:……

Trung tâm Học liệu ĐH Cần Thơ @ Tài liệu học tập và nghiên cứu Tiết Thứ hai Thứ ba Thứ tư Thứ năm Thứ sáu Thứ bảy 1 ….. 10 Mẫu 2: Bộ Giáo dục và Đào tạo Trường Đại học Cần Thơ. LỊCH HỌC DỰ KIẾN Học kỳ_Niên khố:………. Mã khoa:………. Tên khoa:……….. Mã ngành:…... Tênngành:………. STT mơn Tên mơn Stc Tiết Thứ hai Thứ ba Thứ tư Thứ năm Thứ sáu Thứ bảy 1 ….. 10

Trung tâm Học liệu ĐH Cần Thơ @ Tài liệu học tập và nghiên cứu Mẫu 3:

Bộ Giáo dục và Đào tạo Trường Đại học Cần Thơ.

DANH SÁCH SINH VIÊN NỢ HỌC PHÍ THEO TỪNG KHOA Học kỳ_Niên khố:………

Mã khoa:………….. Tên khoa:………..

MASV Họ Tên Phái Năm sinh

Mã ngành Mã lớp Số tiền

Tổng tiền nợ:………

II. XÂY DỰNG CÁC THỰC Thể :

Sau thời gian thu thập và phân tích hệ thống thơng tin quản lý đăng ký mơn học của sinh viên, việc xây dựng các thực thể cho hệ thống được hồn chỉnh bao gồm các thực thể :

1. Thc th SINHVIEN : Khố chính : masv

Ý nghĩa : dùng để lưu trữ thơng tin về các Sinh viên.

STT Thuộc tính Diễn giải Miền giá trị

1 Masv Mã số Sinh viên Kiểu ký tự 2 Hoten Họ tên Sinh viên Kiểu ký tự

3 Phai Phái Kiểu ký tự

4 Namsinh Năm sinh Kiểu Date

2. Thc th DOITUONG :

Trung tâm Học liệu ĐH Cần Thơ @ Tài liệu học tập và nghiên cứu Ý nghĩa : dùng để lưu trữ thơng tin về đối tượng của Sinh viên.

STT Thuộc tính Diễn giải Miền giá trị

1 Madt Mã đối tượng Kiểu ký tự 2 Tendt Tên đối tượng Kiểu ký tự 3 tylegiam Tỷ lệ giảm học

phí

Kiểu số

3. Thc th NGANH :

Khố chính : manganh

Ý nghĩa : dùng để lưu trữ thơng tin về ngành học trong khoa.

STT Thuộc tính Diễn giải Miền giá trị

1 manganh Mã ngành Kiểu ký tự 2 tennganh Tên ngành Kiểu ký tự (adsbygoogle = window.adsbygoogle || []).push({});

4. Thực thể KHOA :

Khố chính : makhoa

Một phần của tài liệu Quản lý đăng ký môn học của sinh viên (Trang 43)