1. Trang chủ
  2. » Luận Văn - Báo Cáo

Nghiên cứu ứng dụng khung nhìn thực để nâng cao hiệu năng phần mềm quản lý đào tạo tại trường đại học tài chính kế toán

85 12 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Nghiên Cứu Ứng Dụng Khung Nhìn Thực Để Nâng Cao Hiệu Năng Phần Mềm Quản Lý Đào Tạo Tại Trường Đại Học Tài Chính - Kế Toán
Người hướng dẫn TS. Nguyễn Trần Quang Vinh
Trường học Đại Học Đà Nẵng
Chuyên ngành Quản Lý Đào Tạo
Thể loại luận văn thạc sĩ
Năm xuất bản 2019
Thành phố Đà Nẵng
Định dạng
Số trang 85
Dung lượng 1,92 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

KNT là một đối tượng trong CSDL dùng để lưu trữ kết quả thực thi c a một truy vấn, giúp cải thiện và nâng cao tốc độ thực thi đối với các truy vấn ph c t p, có tần suất sử dụng cao trên

Trang 1

HI UăNĔNG PH NăM MăQU NăLụăĐÀOăT O

LU NăVĔNăTH CăSĨ

H ăTH NGăTHỌNGăTIN

ĐƠăN ngă- 2019

Trang 2

HI UăNĔNG PH NăM MăQU NăLụăĐÀOăT O

ChuyênăngƠnh:ăH ăth ngăthôngătin

Mưăs : 848.01.04

LU NăVĔNăTH CăSĨ

Ng iăh ngăd năkhoaăh c: TS.ăNGUY NăTR NăQU CăVINH

ĐƠăN ngă- 2019

Trang 6

M C L C

L IăCAMăĐOAN i

TịMăT T ii

M CăL C iv

DANHăM CăVI TăT T vi

DANHăM CăCỄCăB NG vii

DANHăM CăCỄCăBI UăĐ ă viii

DANHăM CăCỄCăHỊNH ix

M ăĐ U 1

1 Tính cấp thiết c a đề tài 1

2 Mục tiêu và nhiệm vụ đề tài 3

3 Đối tượng và ph m vi nghiên c u 3

4 Phương pháp nghiên c u 4

5 Kết quả đ t được 4

6 Bố cục luận văn 4

CH NGă1.ăNGHIểNăC UăT NGăQUAN 6

1.1 Tổng quan về khung nhìn thực 6

1.1.1 Tổng quan về khung nhìn thực 6

1.1.2 Phân lo i KNT 9

1.2 Các cơ chế và phương pháp cập nhật KNT 10

1.2.1 Các cơ chế cập nhật KNT 10

1.2.2 Các phương pháp cập nhật KNT 11

1.3 Khung nhìn thực trong PostgreSQL 11

1.3.1 Tổng quan về PostgreSQL 11

1.3.2 Khái niệm về trigger 12

1.3.3 Trigger trong PostgreSQL 13

1.3.4 Hàm trigger 14

Kết luận Chương 1 14

CH NGă2.ăTHI TăK ăH ăTH NG 15

2.1 Mô tả cơ sở dữ liệu hiện t i 15

2.1.1 Yêu cầu hệ thống 15

2.1.2 Mô hình ER 15

2.1.3 Mô hình quan hệ 16

2.1.4 Mô tả chi tiết thiết kế các bảng 16

2.2 Mô tả các ch c năng c a hệ thống 18

Trang 7

2.2.1 Sơ đồ ch c năng tổng quát 18

2.2.2 Mô tả chi tiết các ch c năng 19

2.3 Các ch c năng sẽ ng dụng KNT 26

2.3.1 Đăng ký h c phần 26

2.3.2 H y đăng ký h c phần 29

2.3.3 Xem điểm 30

2.3.4 L c danh sách xét h c bổng 32

2.3.5 L c danh sách nợ h c phần 34

2.4 Thiết kế KNT hỗ trợ cho các ch c năng đã đề xuất 36

2.4.1 KNT hỗ trợ ch c năng xem bảng điểm mv3 37

2.4.2 KNT hỗ trợ ch c năng h y đăng kí h c phần mv2 37

2.4.3 KNT hỗ trợ ch c năng thống kê điểm mv4 38

2.4.4 KNT hỗ trợ ch c năng đăng kí tín chỉ mv1, mv1a, mv1b 38

Kết luận Chương 2 41

CH NGă3.ăCÀIăĐ T,ăTH ăNGHI MăVÀăĐỄNHăGIỄ 42

3.1 Cài đặt KNT 42

3.1.1 KNT hỗ trợ ch c năng xem bảng điểm mv3 42

3.1.2 KNT hỗ trợ ch c năng h y đăng kí h c phần mv2 43

3.1.3 KNT thống kê các lớp h c phần được mở trong kì hiện t i mv1a 45

3.1.4 KNT thống kê danh sách môn h c sinh viên được đăng ký mv1b 46

3.1.5 KNT danh sách lớp h c phần sinh viên được phép đăng ký mv1 48

3.2 Thử nghiệm và kết quả 50

3.2.1 Cấu hình hệ thống, số lượng dữ liệu test 50

3.2.2 Kết quả truy vấn ch n dữ liệu 50

3.2.3 Kết quả truy vấn cập nhật dữ liệu 54

3.3 So sánh, đánh giá 60

3.3.1 So sánh, đánh giá các truy vấn ch n dữ liệu 60

3.3.2 So sánh, đánh giá các truy vấn cập nhật dữ liệu 60

Kết luận Chương 3 62

K TăLU N 63

TÀIăLI UăTHAMăKH O 64 QUY TăĐ NHăGIAOăĐ ăTÀIăLU NăVĔNă(B năsao)

Trang 8

CSDL QH Cơ sở dữ liệu quan hệ

CT HSSV Công tác H c sinh sinh viên

HTQ CSDL Hệ quản tr cơ sở dữ liệu

Trang 9

DANHăM CăCÁC B NG

S ăhi uă

2.1 Mô tả chi tiết các bảng trong CSDL quản lý đào t o 16

3.2 So sánh kết quả truy vấn ch n (select) dữ liệu 603.3 So sánh kết quả truy vấn cập nhật dữ liệu 61

Trang 10

DANHăM CăCỄCăBI UăĐ

S ăhi uă

3.1 So sánh kết quả truy vấn ch n (select) dữ liệu 603.2 So sánh kết quả truy vấn cập nhật dữ liệu 61

Trang 11

2.10 Biểu đồ tuần tự l c danh sách xét h c bổng 252.11 Biểu đồ tuần tự l c danh sách nợ h c phần 25

3.1 Kết quả truy vấn gốc lớp h c phần có thể đăng ký dựa trên

3.2 Kết quả truy vấn sử dụng KNT lớp h c phần có thể đăng ký 51

3.4 Kết quả truy vấn sử dụng KNT h c phần được h y 52

3.6 Kết quả truy vấn sử dụng KNT điểm sinh viên theo 533.7 Kết quả truy vấn gốc lấy danh sách xét h c bổng 533.8 Kết quả truy vấn sử dụng KNT lấy danh sách xét h c bổng 533.9 Kết quả truy vấn gốc l c danh sách nợ h c phần 543.10 Kết quả truy vấn sử dụng KNT l c danh sách nợ h c phần 54

Trang 12

S ăhi uă

3.17 Thời gian truy vấn chèn dùng KNT mv3 và mv2 573.18 Thời gian truy vấn xóa dùng KNT mv3 và mv2 573.19 Thời gian truy vấn sửa dùng KNT mv3 và mv2 573.20 Thời gian truy vấn chèn dùng KNT mv3, mv2, mv1a, mv1b,

Trang 13

M ăĐ U

1.ăTínhăc păthi tăc aăđ ătƠiă

Hiện nay, công nghệ thông tin (CNTT) đang ngày càng phát triển Con người

đã ng dụng CNTT vào công việc cũng như các ho t động hàng ngày Các hệ thống thông tin (HTTT) đã được triển khai trong hầu hết các lĩnh vực: kinh doanh, giải trí, quản tr , hành chính Các hệ thống này có thể ho t động 24/7 và có nhiều ch c năng được thực hiện tự động mà không cần sự kiểm soát c a con người

T i Trường Đ i h c Tài chính - Kế toán, HTTT cũng được triển khai trong các

ho t động: quản lý, d y h c, quảng bá Trong số các HTTT này, HTTT quản lý đào

t o là hệ thống quan tr ng và có sự tương tác cao HTTT quản lý đào t o đã giúp cho quá trình đào t o được diễn ra suôn sẻ, nhanh chóng và dễ kiểm soát

Ngoài những kết quả đáng tin cậy, HTTT quản lý đào t o vẫn còn một số vấn

đề về hiệu năng mà tồn t i lớn nhất là ch c năng đăng ký lớp h c phần (đăng ký tín chỉ) Ch c năng này vừa yêu cầu dữ liệu được trích xuất ph c t p từ cơ sở dữ liệu

(CSDL) vừa có một lượng lớn sinh viên truy cập đồng thời Để có được danh sách lớp

h c phần mà sinh viên có thể đăng ký, chương trình phải tính nhiều dữ liệu trung gian, đặc biệt là tính các môn h c: sinh viên đã h c, sinh viên còn nợ hoặc được phép h c cải thiện và các môn h c được phép h c vượt… Các phép tính này dùng nhiều phép nối () Vì thế thời gian phản hồi c a hệ thống b chậm và nhiều lúc quá tải, không phản hồi Hay ch c năng xét h c bổng, ch c năng này chỉ l c danh sách điểm c a những sinh viên đ tiêu chí xét h c bổng h c tập trong năm h c cụ thể Từ danh sách này, Khoa, Phòng CT HSSV sẽ xem xét l i, cân đối, ch n l c để cấp h c bổng h c tập

Để có được bảng điểm, chương trình phải thực hiện 08 phép nối, lấy dữ liệu từ nhiều bảng; Để có được danh sách xét cấp h c bổng cuối cùng, chương trình phải thực hiện thêm 05 phép thống kê (Sum, Min, Average) Và còn một số ch c năng cần phải nâng cao tốc độ thực thi truy vấn để đ t được hiệu quả tốt nhất

Trong thời gian h c tập khóa h c cao h c c a mình, tôi đã được tiếp cận với kỹ thuật khung nhìn thực (KNT) - một kỹ thuật giúp cải thiện và nâng cao tốc độ thực thi cho các truy vấn ph c t p KNT là một đối tượng trong CSDL dùng để lưu trữ kết quả thực thi c a một truy vấn, giúp cải thiện và nâng cao tốc độ thực thi đối với các truy vấn ph c t p, có tần suất sử dụng cao trên một lượng dữ liệu lớn Ý tưởng c a KNT là dựa trên các bảng kết quả s n có để trả lời truy vấn một cách nhanh chóng mà không cần thực thi l i truy vấn Đối với những truy vấn ph c t p bao gồm nhiều phép nối và các hàm thống kê, hiệu quả sử dụng KNT càng rõ rệt đặc biệt khi áp dụng trên một lượng dữ liệu đ lớn, do đã bỏ qua các bước thực thi phép nối và các hàm thống kê,

Trang 14

đây là những thành phần chiếm nhiều chi phí tài nguyên trong quá trình thực thi truy vấn

ng dụng KNT sử dụng chiến lược cập nhật gia tăng (CNGT) đồng bộ bằng cách sử dụng các trigger, chiến lược cập nhật toàn phần đồng bộ cho thấy hiệu quả khi viết l i truy vấn để sử dụng KNT - tăng tốc độ thực thi c a truy vấn lên nhiều lần, đặc biệt là các truy vấn ph c t p sử dụng lượng dữ liệu lớn, đáp ng được tính t c thời đối với kết quả thực thi truy vấn trong HTTT Ngoài ra cập nhật toàn phần là một phương pháp được sử dụng hi sinh thời gian update, delete để đảm bảo việc thực hiện select trong mùa đăng kí tín chỉ được diễn ra nhanh chóng; Không phụ thuộc vào lượng dữ liệu, diễn ra với một tốc độ cố đ nh, và không mắc phải vấn đề như ở CNGT khi các KNT cập nhật lẫn nhau

Cùng với đó, tôi cũng được tiếp cận hệ quản tr cơ sở dữ liệu (HQT CSDL)

PostgreSQL - một HQT CSDL nguồn mở cho phép tích hợp kỹ thuật KNT vào để nâng cao hiệu năng PostgreSQL là một HQT CSDL mã nguồn mở, được phát triển dựa trên mã nguồn c a trường Đ i h c Berkeley, hỗ trợ đầy đ các thành phần phổ biến c a một HQT CSDL như các truy vấn ph c hợp, bẫy sự kiện, khung nhìn, tính toàn vẹn c a giao d ch, và có thể ch y trên m i hệ điều hành Được phát triển hơn 20 năm qua bởi đội ngũ kĩ sư giàu kinh nghiệm, PostgreSQL đã t o được lòng tin về độ tin cậy cũng như tính đúng đắn, toàn vẹn dữ liệu PostgreSQL không chỉ là cơ sở dữ liệu quan hệ (CSDLQH), nó là quan hệ hướng đối tượng Điều này cung cấp cho nó một vài lợi thế so với các CSDL SQL mã nguồn mở khác như MySQL, MariaDB và

Firebird

KNT giống như các view thông thường trong việc trình diễn tập kết quả c a một truy vấn mà b n muốn sử dụng thường xuyên, ngo i trừ tập kết quả thực sự được lưu trữ trên ổ đĩa giống như các bảng thông thường KNT cũng có thể được đánh chỉ mục, không giống các views thông thường được t o ra mỗi lần chúng được g i, KNT

là các ảnh chụp t i một thời điểm Chúng không được làm mới (refreshed) ngo i trừ được chỉ đ nh Điều này có thể tăng đáng kể tốc độ với các truy vấn sử dụng KNT

Trigger là một th tục đặc biệt mà việc thực thi c a nó tự động khi có sự kiện xảy ra, các sự kiện g i th tục đặc biệt này được đ nh nghĩa trong câu lệnh, thông thường được thực hiện với các sự kiện liên quan đến Insert, Update, Delete dữ liệu Trigger được sử dụng trong việc bảo đảm toàn vẹn dữ liệu theo quy tắc xác đ nh, được quản lý theo bảng dữ liệu hoặc khung nhìn Sử dụng trigger một cách hợp lý trong CSDL sẽ có tác động rất lớn trong việc tăng hiệu năng c a CSDL

Từ vấn đề đang tồn t i trong HTTT quản lý đào t o t i trường và kiến th c

được tiếp cận trong khóa h c, tôi ch n đề tài “Nghiên cứu ứng dụng khung nhìn

Trang 15

thực để nâng cao hiệu năng hệ thống thông tin quản lý đào tạo tại Trường Đại học

Tài chính - Kế toán” để làm luận văn tốt nghiệp

Mục đích c a luận văn là nghiên c u áp dụng KNT vào hệ thống thông tin quản

lý đào t o c a trường Đ i h c Tài chính - Kế toán nhằm tăng tốc hệ thống Điều này

có nghĩa rằng đối tượng nghiên c u c a luận văn là HTTT quản lý đào t o c a trường Trên cơ sở đó, ph m vi nghiên c u c a luận văn là việc áp dụng KNT cho một số truy vấn có độ ph c t p tương đối cao Trong đó, các cài đặt sẽ được triển khai trên HQT

CSDL PostgreSQL - một HQT CSDL

Luận văn sử dụng hai phương pháp nghiên c u: nghiên c u tài liệu và thực nghiệm Trong đó:

- Nghiên c u tài liệu: Tìm hiểu, phân tích, tổng hợp các tài liệu có liên quan từ

các sách, giáo trình, các bài báo

- Thực nghiệm: Xây dựng các truy vấn gốc, KNT, truy vấn dựa trên KNT

2 ăM cătiêuăvƠănhi măv ăđ ătƠi

- Nghiên c u tổng quan về KNT

- Nghiên c u ng dụng KNT trong các HQT CSDL

- Nghiên c u ng dụng KNT nhằm đẩy nhanh các thực thi các truy vấn trên một

số lượng bản ghi lớn

- Nghiên c u hệ thống quản lý đào t o t i Trường Đ i h c Tài chính - Kế toán

- Khai thác các thuật toán CNGT đồng bộ, CNGT toàn phần đã có để ng dụng vào đề tài

- ng dụng KNT vào phần mềm quản lý đào t o t i Trường Đ i h c Tài chính -

Kế toán để nâng hiệu năng

3 ăĐ iăt ngăvƠăph măviănghiênăc u

3.1 Đối tượng nghiên cứu

- HQT CSDL PostgreSQL

- KNT

- Thuật toán CNGT đồng bộ, CNGT toàn phần

- Hệ thống thông tin quản lý đào t o

3.2 Phạm vi nghiên cứu

- ng dụng KNT trong HQT CSDL PostgreSQL

- ng dụng KNT nhằm đẩy nhanh các thực thi các truy vấn

- Nghiên c u hệ thống quản lý đào t o t i Trường Đ i h c Tài chính - Kế toán

- Khai thác các thuật toán CNGT KNT để có để ng dụng vào phần mềm quản

lý đào t o t i Trường Đ i h c Tài chính - Kế toán, đặc biệt là thuật toán CNGT KNT với truy vấn lồng

Trang 16

4 ăPh ngăphápănghiênăc uă

Về phương pháp nghiên c u, tôi sử dụng hai phương pháp chính là nghiên c u

lý thuyết và nghiên c u thực nghiệm

4.1 Phương pháp lý thuyết

Thu thập, ch n l c, phân lo i, ghi chú và nghiên c u các tài liệu (sách, bài báo, luận văn, trang web) có liên quan đến KNT, HQT CSDL PostgreSQL, CNGT KNT, đồng bộ KNT, CNGT toàn phần KNT

4.2 Phương pháp thực nghiệm

- Nghiên c u các ch c năng cần thiết nâng cao tốc độ thực thi truy vấn c a Phần mềm Quản lý đào t o Trường Đ i h c Tài chính - Kế toán

- ng dụng KNT để nâng cao hiệu năng

5 ăK tăqu ăđ tăđ c

5.1 Lý thuyết

- Hiểu thêm về HQT CSDL PostgreSQL, ng dụng KNT trong các HQT CSDL PostgreSQL, cách sử dụng các trigger, CNGT đồng bộ, CNGT toàn phần

- Phân tích được các ch c năng cần thiết để ng dụng KNT nhằm nâng cao tốc

độ thực thi truy vấn c a Phần mềm Quản lý đào t o Trường Đ i h c Tài chính - Kế

toán

5.2 Thực tiễn

- Đề tài sẽ ng dụng KNT trong HQT CSDL PostgreSQL, cách sử dụng các

trigger CNGT đồng bộ, CNGT toàn phần để nâng cao hiệu năng c a phần mềm Quản

lý đào t o t i Trường Đ i h c Tài chính - Kế toán

- Tiến hành kiểm thử so sánh đánh giá tốc độ thực thi truy vấn c a ng dụng

6.ăB ăc călu năvĕnă

Luận văn bao gồm các phần: Mở đầu, các chương, Kết luận và Tài liệu tham khảo Trong đó, các chương gồm:

+ Ch ngă1ă- Nghiênăc uăt ngăquan Chương này trình bày tổng quan các

kiến th c cơ sở về KNT Đầu tiên là giới thiệu về KNT Sau đó là phân lo i KNT Tiếp theo là các phương pháp cập nhật KNT được sử dụng hiện nay Tiếp đến, phần giới thiệu HQT CSDL PostgreSQL được trình bày Cuối chương là các kiến th c liên quan đến KNT trong HQT CSDL PostgreSQL như trigger và hàm trigger

+ Ch ngă2ă- Thi tăk ăh ăth ng Chương này trình bày các kết quả thiết kế

CSDL, các ch c năng ng dụng KNT Đầu tiên, chương trình bày kết quả phân tích yêu cầu hệ thống quản lý đào t o t i Trường Đ i h c Tài chính - Kế toán Sau đó là thiết kế mô hình dữ liệu ở m c khái niệm - mô hình ER và mô hình dữ liệu quan hệ Tiếp đó là phân tích thiết kế biểu đồ tuần tự và câu lệnh truy vấn cho các ch c năng hệ

Trang 17

thống có kết nối ph c t p hay thường được truy cập đồng thời cần ng dụng KNT để nâng cao hiệu năng Sau cùng là thiết kế KNT hỗ trợ cho các ch c năng được nêu ra

+ Ch ngă3ă- CƠiăđ t,ăth ănghi măvƠăđánhăgiá Chương này trình bày các kết

quả cài đặt, thử nghiệm KNT và đánh giá Đầu tiên là cài đặt các KNT được thiết kế ở Chương 2 Sau đó là ch y thử nghiệm một số truy vấn đối ch ng cho các KNT được cài đặt Cuối cùng là các so sánh, đánh giá về kết quả thử nghiệm

Trang 18

CH NGă1 NGHIểNăC UăT NGăQUAN

1.1 T ng quan v khung nhìn th c

1.1.1 Tổng quan về khung nhìn thực

Một khung nhìn (view) có thể được xem như là một bảng “ảo” trong CSDL có nội dung được đ nh nghĩa thông qua một truy vấn (câu lệnh SELECT) Điểm khác biệt giữa khung nhìn và bảng là khung nhìn không được xem là một cấu trúc lưu trữ dữ liệu tồn t i trong CSDL Thực chất dữ liệu quan sát được trong khung nhìn được lấy từ các bảng thông qua câu lệnh truy vấn dữ liệu

Để hình dung về khung nhìn, ta xét trường hợp dữ liệu sau Một trường cần quản lý danh sách sinh viên theo lớp nên lập một CSDL gồm 02 bảng Bảng th nhất

mô tả về lớp như Bảng 1.1 Bảng th hai mô tả về sinh viên như Bảng 1.2

Bảng 1.2 Danh sách sinh viên

masv hodem ten ngaysinh malop

ta t o ra một khung nhìn bằng cách nối bảng lớp và bảng sinh viên l i rồi bỏ bớt các đặc tính không cần thiết Và việc bỏ bớt này không ảnh hưởng gì đến CSDL thật Khung nhìn kết quả có được như Bảng 1.3

Trang 19

Cấu trúc khung nhìn danh sách sinh viên:

CREATE VIEW DSSV(masv,hodem,ten,tuoi,tenlop) AS

SELECT masv, hodem, ten,DATEDIFF(YY, ngaysinh, GETDATE()), tenlop

FROM sinhvien, lop

WHERE sinhvien.malop = lop.malop

Bảng 1.3 Khung nhìn danh sách sinh viên

masv hodem ten tuoi tenlop

1501002 Lê Thanh An 22 Kế toán khóa 15

1501003 Trần Văn Bình 22 Kế toán khóa 15

1502001 Võ Văn Kiệt 21 Kế toán khóa 16

1502002 Lê Hồng Mến 21 Kế toán khóa 16

1503001 Tr nh Thanh Bình 20 Kế toán khóa 17

Khi khung nhìn đã được đ nh nghĩa, ta có thể sử dụng câu lệnh SELECT để truy vấn dữ liệu từ khung nhìn như đối với các bảng Khi trong câu truy vấn xuất hiện

khung nhìn, HQT CSDL sẽ dựa vào đ nh nghĩa c a khung nhìn để chuyển yêu cầu truy vấn dữ liệu liên quan đến khung nhìn và việc truy vấn dữ liệu được thực hiện bởi yêu cầu tương đương trên các bảng

Việc sử dụng khung nhìn trong cơ sở dữ liệu đem l i các lợi ích sau đây: bảo mật dữ liệu, đơn giản hoá các thao tác truy vấn dữ liệu, tập trung và đơn giản hóa dữ liệu, độc lập dữ liệu

Tuy nhiên, việc sử dụng khung nhìn cũng tồn t i một số nhược điểm:

Do HQT CSDL thực hiện việc chuyển đổi các truy vấn trên khung nhìn thành những truy vấn trên các bảng cơ sở nên nếu một khung nhìn được đ nh nghĩa bởi một

truy vấn ph c t p thì sẽ dẫn đến chi phí về mặt thời gian khi thực hiện truy vấn liên quan đến khung nhìn sẽ lớn

Mặc dù thông qua khung nhìn có thể thực hiện được thao tác bổ sung và cập nhật dữ liệu cho bảng cơ sở nhưng chỉ h n chế đối với những khung nhìn đơn giản Đối với những khung nhìn ph c t p thì thường không thực hiện được; hay nói cách khác là dữ liệu trong khung nhìn là chỉ đ c

Một khung nhìn có thể được cụ thể hóa bằng cách lưu trữ các bộ dữ liệu c a các

khung nhìn trong cơ sở dữ liệu, được g i là khung nhìn thực (KNT - Materialized

view)

KNT là một đối tượng trong CSDL dùng để lưu trữ kết quả thực thi c a một

Trang 20

truy vấn, giúp cải thiện và nâng cao tốc độ thực thi đối với các truy vấn ph c t p, có tần suất sử dụng cao trên một lượng dữ liệu lớn Ý tưởng c a KNT là dựa trên các bảng kết quả s n có để trả lời truy vấn một cách nhanh chóng mà không cần thực thi

l i truy vấn Đối với những truy vấn ph c t p bao gồm nhiều phép nối và các hàm thống kê, hiệu quả sử dụng KNT càng rõ rệt đặc biệt khi áp dụng trên một lượng dữ liệu đ lớn, do đã bỏ qua các bước thực thi phép nối và các hàm thống kê, đây là những thành phần chiếm nhiều chi phí trong quá trình thực thi truy vấn

Giả sử ta có CSDL quản lý việc mua bán hàng hóa, với các bảng Đơn hàng, Đặt

hàng và Khách hàng được mô tả như Hình 1.1

Dữ liệu từ các bảng gốc (BG) càng tăng theo thời gian, tốc độ thực hiện c a truy vấn càng chậm

Hình 1.2 Hoạt động của HQT CSDL khi yêu cầu dữ liệu từ nhiều bảng

Trang 21

Tuy nhiên, thông qua việc triển khai lưu trữ bằng KNT, người dùng có thể dễ dàng có được kết quả và sử dụng nó một cách trực tiếp hoặc kết hợp nó với các truy vấn khác Lúc này, hiệu quả truy vấn xem như đ t m c tối đa, vì HQT CSDL chỉ cần

đ c từ bảng KNT kết quả c a truy vấn thay vì phải thực hiện phép nối và tính toán các biểu th c thống kê, vốn là các thao tác chiếm nhiều chi phí Lúc này, CSDL như Hình

1.3

Hình 1.3 CSDL quản lý đặt giao hàng dùng KNT

Tuy nhiên, việc sử dụng KNT cũng có những nhược điểm, đó là: KNT làm tiêu tốn không gian lưu trữ và phải được cập nhật khi các bảng chi tiết cơ bản được sửa đổi

1.1.2 Phân loại KNT

KNT được chia làm 04 lo i: bản sao, hăm hở, rất lười và lười

a) KNT bản sao (snapshot materialized view):

Chiến lược cập nhật: kiểu KNT được cập nhật theo yêu cầu

Cài đặt: KNT bản sao được cài đặt khá dễ dàng bằng cách g i hàm sau:

refresh_matview() Khi g i hàm refresh_matview(), HQT CSDL sẽ tự động xóa nội dung c a KNT trước đó, rồi thực hiện truy vấn khung nhìn và điền kết quả vào l i KNT với nội dung hiện t i c a khung nhìn đó

b) KNT hăm hở (eager materialized view):

Chiến lược cập nhật: Chúng được cập nhật ngay sau khi có bất kỳ thay đổi nào

được thực hiện với CSDL đó mà sẽ ảnh hưởng đến nó Điều này được thực hiện với một hệ thống kích ho t trên tất cả các bảng cơ sở Phụ thuộc vào hàm thay đổi được (như now()) sẽ gây ra cho KNT trở nên sai lệch, nhưng có thể được sửa chữa với

Trang 22

những làm mới nhỏ, mà chỉ ảnh hưởng đến các hàng

Cài đặt: Việc thực thi KNT hăm hở được thực hiện qua hai hàm sau:

mv_refresh_row(PK): cập nhật bộ giá tr với khóa chính PK

mv_refresh(): sử dụng nếu khung nhìn dựa vào hàm thay đổi được như “now()”

Khi đó, các trigger với các bẫy sự kiện trong các HQT CSDL tương ng với các truy vấn INSERT, UPDATE và DELETE sẽ được g i thông qua hàm mv_refresh_row() một cách thích hợp

c) KNT rất lười (very lazy materialized view):

Mô tả KNT rất lười như sau:

Chiến lược cập nhật: Chúng sẽ ghi l i các hàng trong KNT cần phải được cập

nhật, nhưng sẽ không cập nhật cho đến khi hướng đến Điều này sẽ rất hữu ích nếu b n đang cam kết nhiều giao d ch mà ảnh hưởng đến KNT đó, nhưng không muốn thực sự cập nhật KNT cho đến sau này Chúng có ch c năng tương đương với các KNT bản

sao

Cài đặt: Việc cài đặt KNT kiểu rất lười qua các bước sau:

Ghi tất cả những thay đổi trên các bảng cơ sở trong một bản ghi (sử dụng một

số trigger và hàm)

Cài đặt một hàm "matview_refresh()" mà đ c bản ghi đó và cập nhật KNT theo danh sách các thay đổi trong bản ghi

d) KNT lười (lazy materialized view):

Chiến lược cập nhật: Chúng sẽ ghi l i các hàng trong KNT cần phải được cập

nhật, và cập nhật chúng khi giao d ch được thực hiện Điều này hữu ích nếu nhiều sự thay đổi sẽ ảnh hưởng đến các hàng giống nhau và cũng sẽ cho phép những thay đổi được thực hiện nhanh hơn nhiều

Cài đặt: Tương tự như KNT rất lười, việc g i và thực thi KNT thông qua hàm

“matview_refresh()”, trong đó cơ chế g i sẽ được g i theo cam kết và không theo yêu cầu

Trang 23

bộ khai thác thời gian trì hoãn cho phép trong cập nhật dữ liệu được xác đ nh bởi công nghệ xử lý dữ liệu trong các hệ thống thông tin và ý nghĩa c a các bài toán giải quyết trong đó

1.2.2 Các phương pháp cập nhật KNT

Các quá trình cập nhật dữ liệu cho một KNT để đáp ng với những thay đổi trong dữ liệu cơ bản được g i là cập nhật KNT Có 03 phương pháp cập nhật KNT: toàn phần, gia tăng và ép buộc

a) Cập nhật toàn phần (COMPLETE): là cập nhật làm mới l i bảng dữ liệu KNT Tương tự việc xóa tất cả dữ liệu đã có và thêm dữ liệu mới Thực hiện phương pháp này tốn nhiều thời gian

b) CNGT (FAST hay còn g i là INCREMENTAL): là cập nhật chỉ sửa đổi nội dung KNT tương ng với các thay đổi trong các BG Thực hiện phương pháp này rất tiết kiệm thời gian Tuy nhiên, không phải trường hợp cập nhật dữ liệu KNT nào cũng dễ/có thể thực hiện theo phương pháp này

c) Cập nhật ép buộc (FORCE): là cập nhật xem xét khi có khả năng thì thực hiện CNGT, còn nếu không thì sử dụng cập nhật toàn phần

1.3 Khung nhìn th c trong PostgreSQL

1.3.1 Tổng quan về PostgreSQL

PostgreSQL là một HQT CSDL mã nguồn mở, được phát triển dựa trên mã nguồn c a trường Đ i h c Berkeley, hỗ trợ đầy đ các thành phần phổ biến c a một HQT CSDL như các truy vấn ph c hợp, bẫy sự kiện, khung nhìn, tính toàn vẹn c a giao d ch, và có thể ch y trên m i hệ điều hành Được phát triển hơn 20 năm qua bởi đội ngũ kĩ sư giàu kinh nghiệm, PostgreSQL đã t o được lòng tin về độ tin cậy cũng như tính đúng đắn, toàn vẹn dữ liệu

PostgreSQL không chỉ là cơ sở dữ liệu quan hệ (CSDLQH), nó là quan hệ hướng đối tượng Điều này cung cấp cho nó một vài lợi thế so với các CSDL SQL mã nguồn mở khác như MySQL, MariaDB và Firebird

Một đặc điểm cơ bản c a CSDLQH hướng đối tượng là hỗ trợ các đối tượng người dùng tự đ nh nghĩa và các hành vi c a chúng bao gồm các kiểu dữ liệu, các hàm, các thao tác, các tên miền và các chỉ mục Điều này làm cho PostgreSQL cực kỳ m nh

và linh ho t Trong những cái khác, các cấu trúc dữ liệu ph c t p có thể được t o ra, lưu trữ, và truy xuất

PosgreSQL cũng là HQT CSDL đóng vai trò tiên phong trong việc đưa ra những khái niệm quan tr ng mà các HQT CSDL thương m i khác rất lâu sau mới có

Là một HQT CSDL mã nguồn mở hàng đầu trên thế giới và KNT đã được triển khai trên PostgreSQL ở các phiên bản 9.3.4, 9.4, 10… KNT giống như các view thông

Trang 24

thường trong việc trình diễn tập kết quả c a một truy vấn mà b n muốn sử dụng thường xuyên, ngo i trừ tập kết quả thực sự được lưu trữ trên ổ đĩa giống như các bảng thông thường KNT cũng có thể được đánh chỉ mục, không giống các views thông thường được t o ra mỗi lần chúng được g i, KNT là các ảnh chụp t i một thời điểm Chúng không được làm mới (refreshed) ngo i trừ được chỉ đ nh Điều này có thể tăng đáng kể tốc độ với các truy vấn ch y sử dụng KNT Thay vì sử dụng các views thông thường hoặc phải làm các join ph c t p trên các bảng hoặc thực hiện các hàm tập hợp (aggregation funcitons) trong truy vấn, sử dụng materialized views với các

dữ liệu cần thiết s n sàng và chờ đợi trên ổ đĩa để tăng hiệu quả Khi b n s n sàng cập nhật dữ liệu trong materialized view, nó có thể làm mới sử dụng lệnh REFRESH, tuy nhiên KNT trong PostgreSQL vẫn chưa hỗ trợ vấn đề cập nhật đồng bộ gia tăng

Do vậy, việc nghiên c u các kỹ thuật CNGT cho KNT trên PostgesSQL đang rất được quan tâm

1.3.2 Khái niệm về trigger

Trigger là một th tục đặc biệt mà việc thực thi c a nó tự động khi có sự kiện xảy ra, các sự kiện g i th tục đặc biệt này được đ nh nghĩa trong câu lệnh, thông thường được thực hiện với các sự kiện liên quan đến Insert, Update, Delete dữ liệu Trigger được sử dụng trong việc bảo đảm toàn vẹn dữ liệu theo quy tắc xác đ nh, được quản lý theo bảng dữ liệu hoặc khung nhìn

Điểm khác biệt giữa th tục lưu trữ và trigger là: các th tục lưu trữ được thực thi khi người sử dụng có lời g i đến chúng còn các trigger l i được “g i” tự động khi xảy ra những giao tác làm thay đổi dữ liệu trong các bảng hoặc khung nhìn

Mỗi một trigger được t o ra và gắn liền với một bảng hoặc một khung nhìn nào

đó trong CSDL Khi dữ liệu trong bảng hoặc khung nhìn b thay đổi (t c là khi bảng hoặc khung nhìn ch u tác động c a các câu lệnh INSERT, UPDATE hay DELETE) thì trigger sẽ được tự động kích ho t

Sử dụng trigger một cách hợp lý trong CSDL sẽ có tác động rất lớn trong việc tăng hiệu năng c a CSDL Các trigger thực sự hữu dụng với những khả năng sau:

Một trigger có thể nhận biết, ngăn chặn và huỷ bỏ được những thao tác làm thay đổi trái phép dữ liệu trong cơ sở dữ liệu

Các thao tác trên dữ liệu (xoá, cập nhật và bổ sung) có thể được trigger phát hiện ra và tự động thực hiện một lo t các thao tác khác trên CSDL nhằm đảm bảo tính hợp lệ c a dữ liệu

Thông qua trigger, ta có thể t o và kiểm tra được những mối quan hệ ph c t p hơn giữa các bảng trong CSDL mà bản thân các ràng buộc không thể thực hiện được

Có thể đ nh nghĩa nhiều trigger cho một sự kiện trên một bảng Lúc đó, chúng

Trang 25

sẽ được thực thi theo th tự alphabet theo tên c a trigger

Có thể xác đ nh sự kiện insert, update hay delete cũng như thời điểm g i trigger

là trước (before) hay sau (after) từ bên trong trigger, nên ta có thể sinh mã một trigger cho tất cả các sự kiện trên mỗi bảng

1.3.3 Trigger trong PostgreSQL

PostgreSQL hỗ trợ 2 lo i trigger là trigger viết bằng ngôn ngữ PL/pgSQL và trigger viết bằng ngôn ngữ C Có nghiên c u đã ch ng minh được trigger viết bằng ngôn ngữ C cho hiệu suất cao hơn trigger viết bằng ngôn ngữ PL/pgSQL (khoảng 13%), mặc dù việc triển khai C trigger trên PostgreSQL được cho là rất ph c t p và không được khuyến ngh Tuy nhiên, đề tài vẫn sử dụng trigger viết bằng ngôn ngữ C với hy v ng tối ưu hóa hiệu suất cập nhật, một bước quan tr ng trong quá trình CNGT

Trigger trên PostgreSQL có thể xử lý một tập các bản ghi, hoặc chỉ xử lý một bản ghi Chỉ trigger xử lý một bản ghi mới có thể nhìn thấy dữ liệu đang được thao tác

Vì vậy đề tài thực hiện sinh mã nguồn trigger bắt sự kiện thay đổi dữ liệu trên các BG theo cơ chế xử lý từng bản ghi một trong tập các bản ghi được cập nhật Việc xử lý từng bản ghi là không năng suất so với xử lý một tập các bản ghi, nên trong tương lai nếu PostgreSQL hỗ trợ khả năng đ c được tập dữ liệu đang xử lý trong thân hàm

trigger, hiệu suất cập nhật sẽ được gia tăng đáng kể

Một bảng có thể được khai báo nhiều trigger, vì vậy các trigger thực hiện CNGT có thể được cài đặt song song với các trigger khác c a người dùng Quá trình cập nhật KNT bằng trigger được thể hiện như Hình 1.4

Trang 26

1.3.4 Hàm trigger

Khi một hàm được khai báo trả về kiểu trigger và được n p vào server, có thể

t o hàm trigger bằng lệnh: CREATE TRIGGER <tên trigger> {BEFORE|AFTER} {INSERT|DELETE|UPDATE} ON <tên bảng> FOR EACH ROW EXECUTE

PROCEDURE <tên hàm C> Trong đó:

Tên trigger do người dùng tùy ch n, tên hàm C trùng với tên hàm nằm ngay sau lệnh CREATE FUNCTION <tên hàm>, không nhất thiết phải trùng hoàn toàn với tên hàm trong tệp thư viện chia sẻ

K tălu năCh ngă1

Chương này trình đã bày tổng quan các kiến th c cơ sở về KNT và HQT CSDL PostgreSQL Các kiến th c cơ sở về KNT được trình bày bao gồm: khái niệm, phân

lo i KNT và các phương pháp cập nhật KNT Các kiến th c về HQT CSDL PostgreSQL được trình bày như trigger, hàm trigger

Đây là những kiến th c tr ng tâm liên quan đến việc xây dựng KNT trên PostgreSQL sẽ được nghiên c u ở các chương sau

Trang 27

CH NGă2 THI TăK ăH ăTH NG

2.1.ăMôăt ăc ăs ăd ăli uăhi năt i

- Trong kỳ, tiến hành công tác d y, h c theo kế ho ch năm h c

- Cuối kỳ, giảng viên môn h c nhập điểm cho lớp h c phần mà mình d y

- Kết thúc kỳ h c, Phòng Khảo thí tổ ch c thi và nhập điểm thi

- Những sai sót trong quá trình nhập điểm thành phần, điểm thi có thể gửi văn bản nhờ Phòng Đào t o sửa giúp

- Cuối năm, Phòng CT HSSV, khoa có thể l c danh sách sinh viên theo điểm kết quả để xem xét cấp h c bổng Phòng Đào t o, khoa có thể l c danh sách nợ h c phần

để cố vấn sớm, cảnh bảo h c tập đến sinh viên

2.1.2 Mô hình ER

Hinh 2.1 Mô hình ER của hệ thống

Trang 28

2.1.3 Mô hình quan h

Từ mô hình ER có được ở Hình 2.1, chuyển mô hình này sang mô hình quan hệ

ta được mô hình cơ sở dữ liệu c a hệ thống như Hình 2.2

Hình 2.2 Mô hình quan hệ

2.1.4 Mô tả chi tiết thiết kế các bảng

Mô tả chi tiết thiết kế c a các bảng trong CSDL như Bảng 2.1

Bảng 2.1 Mô tả chi tiết các bảng trong CSDL quản lý đào tạo

Trang 29

B ng Cột Ki uăd ăli u Ghi chú

TenHe nvarchar(30) Tên hệ đào t o

Trang 30

2.2 Mô t các ch cănĕngăc a h th ng

2.2.1 Sơ đồ chức năng tổng quát

Hệ thống thực tế có nhiều ch c năng Sau đây là sơ đồ ch c năng tổng quát đã được lược bỏ các ch c năng phụ

Hình 2.3 Chức năng hệ thống

Trang 31

2.2.2 Mô tả chi tiết các chức năng

Sau đây, luận văn mô tả chi tiết (biểu đồ tuần tự) c a các ch c năng thường xuyên trong hệ thống

a) T o h c phần:

Hình 2.4 Biểu đồ tuần tự tạo lớp học phần

Trang 32

b) Đăng ký h c phần

Hình 2.5 Biểu đồ tuần tự đăng ký học phần

Trang 33

c) H y đăng ký h c phần

Hình 2.6 Biểu đồ tuần tự hủy đăng ký học phần

Trang 34

d) Nhập điểm thành phần

Hình 2.7 Biểu đồ tuần tự nhập điểm thành phần

Trang 35

e) Nhập điểm thi

Hình 2.8 Biểu đồ tuần tự nhập điểm thi

thi

Trang 36

f) Xem điểm

Hình 2.9 Biểu đồ tuần tự xem điểm

Trang 38

2.3 Các ch cănĕngăs ng d ng KNT

Các ch c năng sẽ ng dụng KNT là các ch c năng mà việc t o ra dữ liệu sử dụng phải được tính toán nhiều/ph c t p làm tốn nhiều thời gian hoặc b truy cập đồng thời với số lượng lớn người dùng

2.3.1 Đăng ký học phần

- Mô tả quá trình thao tác dữ liệu c a ch c năng: Gồm 2 quá trình

+ Quá trình 1: lấy danh sách h c phần có thể đăng ký

Dữ liệu vào: Masv, KyThu

Dữ liệu ra: Danh sách các lớp h c phần mà sinh viên có thể đăng ký: ds

Xử lý: - Danh sách lớp h c phần đang mở có thể đăng ký bổ sung:

A   TrangThai = true  count(MaSV)<50 (LOPHOCPHAN)

- Danh sách các môn h c có lớp đang mở:

B   MONHOC.* (A  MONHOC)

- Các môn h c trong kỳ hiện t i c a sinh viên masv:

C   MONHOC.* ( (SINHVIEN.MaSV = masv  KyHT = KyThu) (SINHVIEN 

LOP  NGANH  CHUONGTRINH  MONHOC))

- Các môn h c mà sinh viên masv đã h c:

D   MONHOC.* ( SINHVIEN.MaSV = masv (SINHVIEN  HOC 

LOPHOCPHAN  MONHOC))

- Các môn h c mà sinh viên masv còn nợ hoặc được phép cải thiện:

E   MONHOC.* ( (MaSV = masv  (DiemTP*0.4 + DiemThi*0.6)<5.5)  Cuoi=1(SINHVIEN  HOC  LOPHOCPHAN  MONHOC))

- Các môn h c mà sinh viên masv được phép h c vượt:

F   MHTruoc in D.MaMH (MONHOC)

- Danh sách môn h c mà sinh viên masv được đăng ký:

G  B  (C  E  F)

- Danh sách các lớp h c phần mà sinh viên có thể đăng ký:

H   MaMH in G.MaMH (A)

ds = H SELECT dbo.LOPHOCPHAN.*

FROM dbo.LOPHOCPHAN WHERE

(

(TrangThai = 1) AND (dbo.LOPHOCPHAN.MaLopHP in (

Trang 39

select dbo.LOPHOCPHAN.MaLopHP FROM dbo.LOPHOCPHAN INNER JOIN dbo.HOC ON dbo.LOPHOCPHAN.MaLopHP = dbo.HOC.MaLopHP

GROUP BY dbo.LOPHOCPHAN.MaLopHP HAVING (count(MaSV)<50))

)

AND

dbo.LOPHOCPHAN.MaMH in (

SELECT dbo.MONHOC.MaMH FROM dbo.LOPHOCPHAN INNER JOIN dbo.MONHOC ON dbo.LOPHOCPHAN.MaMH = dbo.MONHOC.MaMH

WHERE (dbo.LOPHOCPHAN.TrangThai = 1)

INTERSECT (

SELECT dbo.MONHOC.MaMH FROM dbo.SINHVIEN INNER JOIN dbo.LOP ON dbo.SINHVIEN.MaLop = dbo.LOP.MaLop INNER JOIN

dbo.NGANH ON dbo.LOP.MaNg = dbo.NGANH.MaNg INNER JOIN

dbo.CHUONGTRINH ON dbo.NGANH.MaNg = dbo.CHUONGTRINH.MaNg INNER JOIN

dbo.MONHOC ON dbo.CHUONGTRINH.MaMH = dbo.MONHOC.MaMH

WHERE (dbo.LOP.KyHT - dbo.CHUONGTRINH.KyThu = 0) AND (dbo.SINHVIEN.MaSV = masv)

UNION

Trang 40

SELECT dbo.MONHOC.MaMH FROM dbo.SINHVIEN INNER JOIN dbo.HOC ON dbo.SINHVIEN.MaSV = dbo.HOC.MaSV INNER JOIN

dbo.LOPHOCPHAN ON dbo.HOC.MaLopHP = dbo.LOPHOCPHAN.MaLopHP INNER JOIN

dbo.MONHOC ON dbo.LOPHOCPHAN.MaMH = dbo.MONHOC.MaMH

WHERE (dbo.SINHVIEN.MaSV = masv) AND (dbo.HOC.Cuoi = 1) AND (dbo.HOC.DiemTP * 0.4 + dbo.HOC.DiemThi * 0.6 < 5.5)

UNION

SELECT dbo.MONHOC.MaMH FROM dbo.MONHOC

WHERE dbo.MONHOC.MAMH in (

SELECT dbo.MONHOC.MaMH FROM dbo.SINHVIEN INNER JOIN dbo.HOC ON dbo.SINHVIEN.MaSV = dbo.HOC.MaSV INNER JOIN

dbo.LOPHOCPHAN ON dbo.HOC.MaLopHP = dbo.LOPHOCPHAN.MaLopHP INNER JOIN

dbo.MONHOC ON dbo.LOPHOCPHAN.MaMH = dbo.MONHOC.MaMH

WHERE (dbo.HOC.Cuoi = 1) )

) ) )

Ngày đăng: 24/04/2022, 15:33

HÌNH ẢNH LIÊN QUAN

2.1. Mô tả chi tiết các bảng trong CSDL quản lý đào to 16 - Nghiên cứu ứng dụng khung nhìn thực để nâng cao hiệu năng phần mềm quản lý đào tạo tại trường đại học tài chính   kế toán
2.1. Mô tả chi tiết các bảng trong CSDL quản lý đào to 16 (Trang 9)
DANHăM CăCÁC HÌNH - Nghiên cứu ứng dụng khung nhìn thực để nâng cao hiệu năng phần mềm quản lý đào tạo tại trường đại học tài chính   kế toán
DANHăM CăCÁC HÌNH (Trang 11)
hình Tên hình Trang - Nghiên cứu ứng dụng khung nhìn thực để nâng cao hiệu năng phần mềm quản lý đào tạo tại trường đại học tài chính   kế toán
h ình Tên hình Trang (Trang 12)
Giả sử ta có CSDL quản lý việc mua bán hàng hóa, với các bảng Đơn hàng, Đặt hàng và Khách hàng  được mô tả như Hình 1.1 - Nghiên cứu ứng dụng khung nhìn thực để nâng cao hiệu năng phần mềm quản lý đào tạo tại trường đại học tài chính   kế toán
i ả sử ta có CSDL quản lý việc mua bán hàng hóa, với các bảng Đơn hàng, Đặt hàng và Khách hàng được mô tả như Hình 1.1 (Trang 20)
Hình 1.3. CSDL quản lý đặt giao hàng dùng KNT - Nghiên cứu ứng dụng khung nhìn thực để nâng cao hiệu năng phần mềm quản lý đào tạo tại trường đại học tài chính   kế toán
Hình 1.3. CSDL quản lý đặt giao hàng dùng KNT (Trang 21)
2.1.2. Mô hình ER - Nghiên cứu ứng dụng khung nhìn thực để nâng cao hiệu năng phần mềm quản lý đào tạo tại trường đại học tài chính   kế toán
2.1.2. Mô hình ER (Trang 27)
2.1.3. Mô hình quan hệ - Nghiên cứu ứng dụng khung nhìn thực để nâng cao hiệu năng phần mềm quản lý đào tạo tại trường đại học tài chính   kế toán
2.1.3. Mô hình quan hệ (Trang 28)
Hình 2.3. Chức năng hệ thống - Nghiên cứu ứng dụng khung nhìn thực để nâng cao hiệu năng phần mềm quản lý đào tạo tại trường đại học tài chính   kế toán
Hình 2.3. Chức năng hệ thống (Trang 30)
Hình 2.4. Biểu đồ tuần tự tạo lớp học phần - Nghiên cứu ứng dụng khung nhìn thực để nâng cao hiệu năng phần mềm quản lý đào tạo tại trường đại học tài chính   kế toán
Hình 2.4. Biểu đồ tuần tự tạo lớp học phần (Trang 31)
Hình 2.5. Biểu đồ tuần tự đăng ký học phần - Nghiên cứu ứng dụng khung nhìn thực để nâng cao hiệu năng phần mềm quản lý đào tạo tại trường đại học tài chính   kế toán
Hình 2.5. Biểu đồ tuần tự đăng ký học phần (Trang 32)
Hình 2.6. Biểu đồ tuần tự hủy đăng ký học phần - Nghiên cứu ứng dụng khung nhìn thực để nâng cao hiệu năng phần mềm quản lý đào tạo tại trường đại học tài chính   kế toán
Hình 2.6. Biểu đồ tuần tự hủy đăng ký học phần (Trang 33)
Hình 2.7. Biểu đồ tuần tự nhập điểm thành phần - Nghiên cứu ứng dụng khung nhìn thực để nâng cao hiệu năng phần mềm quản lý đào tạo tại trường đại học tài chính   kế toán
Hình 2.7. Biểu đồ tuần tự nhập điểm thành phần (Trang 34)
Hình 2.8. Biểu đồ tuần tự nhập điểm thi - Nghiên cứu ứng dụng khung nhìn thực để nâng cao hiệu năng phần mềm quản lý đào tạo tại trường đại học tài chính   kế toán
Hình 2.8. Biểu đồ tuần tự nhập điểm thi (Trang 35)
Hình 2.9. Biểu đồ tuần tự xem điểm - Nghiên cứu ứng dụng khung nhìn thực để nâng cao hiệu năng phần mềm quản lý đào tạo tại trường đại học tài chính   kế toán
Hình 2.9. Biểu đồ tuần tự xem điểm (Trang 36)
Hình 2.10. Biểu đồ tuần tự lọc danh sách xét học bổng - Nghiên cứu ứng dụng khung nhìn thực để nâng cao hiệu năng phần mềm quản lý đào tạo tại trường đại học tài chính   kế toán
Hình 2.10. Biểu đồ tuần tự lọc danh sách xét học bổng (Trang 37)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN