Hạ tầng công nghệ thông tin sử dụng trong bài toán

Một phần của tài liệu Mô hình cơ sở dữ liệu phân tán và áp dụng vào bài toán quản lý đào tạo (Trang 45)

Trường đại học Hà Tĩnh sử du ̣ng hệ quản trị Cơ sở dữ liệu SQL Server. Hệ thống có ưu điểm :

 Quản lý được dữ liệu dư thừa;

 Đảm bảo tính nhất quán cho dữ liệu;

 Tạo khả năng chia sẻ dữ liệu nhiều hơn;

 Cải tiến tính toàn vẹn cho dữ liệu.

Microsoft SQL Server là một hệ quản trị cơ sở dữ liệu quan hệ do Microsoft phát triển. SQL Server hoạt động theo mô hình khách - chủ cho phép đồng thời cùng lúc có nhiều người dùng truy xuất đến dữ liệu, quản lý việc truy nhập hợp lệ và các quyền hạn của từng người dùng trên mạng. Ngôn ngữ truy vấn quan trọng của Microsoft SQL Server là Transact - SQL. Transact-SQL là ngôn ngữ SQL mở rộng dựa trên SQL chuẩn của ISO và ANSI được sử dụng trong SQL Server. Đặc điểm của Hệ SQL Server:

 Thích hợp trên các hệ điều hành Windows;

 Dễ cài đặt;

 Hoạt động với nhiều giao thức truyền thông;

 Hỗ trợ dịch vụ Data Warehousing: Các thông tin được sắp xếp hợp lý, dễ tìm, tạo điều kiện tối đa cho doanh nghiệp khách hàng quản lý nguồn tài nguyên thông tin.

Hệ thống thông tin theo kiến trúc kho dữ liệu điển hình, như hình vẽ.

Hình 3.2. Giải pháp Data Warehouse

Luận văn sử du ̣ng môi trư ờng Visual Studio để phát triển hệ thống. Theo http: // www.microsoft.com/visualstudio [4]: Microsoft Visual Studio là môi trường phát triển

tích hợp chính (Integrated Development Environment - IDE) được phát triển từ Microsoft. Đây là một loại phần mềm máy tính có công dụng giúp đỡ các lập trình viên trong việc phát triển phần mềm. Các môi trường phát triển hợp nhất thường bao gồm:

 Một trình soạn thảo mã (Source Code Editor): Dùng để viết mã.

 Trình biên dịch (Compiler) và/hoặc trình thông dịch (Interpreter).

 Công cụ xây dựng tự động: Khi sử dụng sẽ biên dịch (hoặc thông dịch) mã nguồn, thực hiện liên kết, và có thể chạy chương trình một cách tự động.

 Trình gỡ lỗi: Hỗ trợ dò tìm lỗi.

 Ngoài ra, còn có thể bao gồm hệ thống quản lý phiên bản và các công cụ nhằm đơn giản hóa công việc xây dựng giao diện người dùng đồ họa (GUI).

 Nhiều môi trường phát triển hợp nhất hiện đại còn tích hợp trình duyệt lớp, trình quản lý đối tượng, lược đồ phân cấp lớp,… để sử dụng trong việc phát triển phần mềm theo hướng đối tượng.

Như vậy, Microsoft Visual Studio được dùng để phát triển Console (thiết bị đầu cuối – bàn giao tiếp người máy) và GUI (giao diện người dùng đồ họa) cùng với các trình ứng dụng như Windows Forms, các Websites, cũng như ứng dụng, dịch vụ web (Web Applications, Web Services). Chúng được phát triển dựa trên một mã ngôn ngữ gốc cũng như mã được quản lý cho các nền tảng được được hỗ trợ Microsoft Windows, Windows Mobile, .NET Framework, .NET Compact Framework và Microsoft Silverlight.

 Visual Studio hỗ trợ rất nhiều ngôn ngữ lập trình, có thể kể tên như sau: C/C++ (Visual C++), VB.NET (Visual Basic.NET), và C# (Visual C#)… cũng như hỗ trợ các ngôn ngữ khác như F#, Python, và Ruby; ngoài ra còn hỗ trợ cả XML/XSLT, HTML/XHTML, JavaScript và CSS…

 Những chức năng của Mirosoft Visual Studio: Microsoft Visual Studio có những chức năng cơ bản sau: Soạn thảo mã (Code Editor); trình gỡ lỗi (Debugger); và thiết kế (Designer). Trong đó chức năng thiết kế được xem là một trong những điểm nhấn của Microsft Visual Studio.

 WinForms Designer: Công cụ tạo giao diện đồ họa dùng WinForms. Điểm đặc biệt ở đây là giao diện với người dùng sinh động, dễ nắm bắt. Nó bao gồm các phím bấm, thanh tác vụ, hay các Box đa dạng (Textbox, List box, GridView…) có thể di chuyển, kéo ra, nhúng thả chúng một cách dễ dàng.

 WPF Designer: WPF Designer còn có tên mã là Cider, được hỗ trợ trong Visual Studio 2008. Nó tạo các mã XAML cho giao diện người sử dụng (UI), mã này tích hợp với trình ứng dụng Microsoft Expression Design;

 Web Designer: Visual Studio cũng hỗ trợ cộng cụ thiết kế trang Web, trong đó cho phép các công cụ thiết kế trang web được kéo, thả, rê, nhúng một cách dễ dàng… Công cụ này dùng để phát triển trình ứng dụng ASP.NET và hỗ trợ HTML, CSS và JavaScript;

 Class Designer: Đây là công cụ dùng để thực thi và chỉnh sửa lớp. Nó có thể dùng mã C# và VB.NET …

 Data Designer: Dùng để chỉnh sửa một cách sinh động, linh hoạt các lược đồ dữ liệu, bao gồm nhiều loại lược đồ, liên kết trong và ngoài;

 Mapping Designer: Công cụ tạo các mối liên hệ giữa sơ đồ dữ liệu và các lớp để quản lý dữ liệu một cách hiệu quả hơn.

3.3.2. Cấu hình SQL Server phân tán tại Trƣờng đại học Hà Tĩnh

3.3.2.1. Thiết lập hệ thống (adsbygoogle = window.adsbygoogle || []).push({});

Thiết lập đăng nhập bằng tài khoản SQL Server.

Hình 3.3. Thiết lập tài khoản

Thiết lập Firewall để mở cổng.

Cấu hình dịch vụ “SQL Server Browser” cho phép điều khiển kết nối và cơ sở dữ liệu phân tán.

Hình 3.5. Cấu hình dịch vụ SQL SERVER

3.3.2.2. Kiến trúc nhân bản (Replication) của SQL Server

Theo https://voer.edu.vn [6]: Kĩ thuật nhân bản trong SQL Server cho phép tạo ra những bản sao dữ liệu giống hệt nhau, di chuyển các bản sao này đến những vùng khác nhau và đồng bộ hoá dữ liệu một cách tự động để tất cả các bản sao có cùng giá trị dữ liệu. Nhân bản có thể thực thi giữa những CSDL trên cùng một server hay những server khác nhau được kết nối bởi mạng LANs,WANs hay Internet.

SQL Server đã đưa ra nhiều cơ chế nhân bản để đáp ứng các yêu cầu khác nhau của ứng dụng. Mỗi loại cung cấp các khả năng và thuộc tính khác nhau nhằm đạt đến mục tiêu của tính độc lập “Site” và sự nhất quán dữ liệu.

Các thành phần chính của nhân bản:

1. Publisher: Là một Server tạo dữ liệu để nhân bản đến các Server khác. Nó xác định dữ liệu nào được nhân bản, dữ liệu nào thay đổi và duy trì những thông tin về các công bố tại Site đó.

2. Subscriber: Là một Server lưu giữ nhân bản và nhận các tác vụ cập nhật. SQL Server 2000 cho phép Subsriber cập nhật dữ liệu nhưng quá trình cập nhập ở Subscriber không giống như ở Publisher. Một Subscriber có thể là một Publisher của các Subscriber khác.

3. Distributor: Là một Server mà chứa CSDL phân tán (Distribution Database) và lưu trữ Metadata, History Data và Transaction. SQL Server sử dụng CSDL phân tán để lưu và chuyển (Store_And_Forward) dữ liệu nhân bản từ Publisher đến các Subscriber. Có 2 loại Distributor: Local Distributor và Remote Distributor.

4. Publication: Đơn giản là một tập hợp các mẩu dữ liệu (Article). Một mẩu là một nhóm dữ liệu được nhân bản. Một mẩu có thể bao gồm một table hay chỉ là một vài hàng (Horizontal Fragment) hay cột (Vertical Fragment). Một Publication thường gồm nhiều mẩu.

Hình 3.6. Các thành phần nhân bản

3.4. Phân tích, thiết kế cơ sở dữ liệu quản lý đào tạo

3.4.1. Lƣợc đồ khái niệm của CSDL

Trong khuôn khổ luận văn mô phỏng quá trình quản lý điểm thi học phần trong nội dung quản lý đào tạo tại trường, nên cần xây dựng các thực thể sau:

1. KHOA: Dùng để lưu trữ các thông tin về các khoa trong trường.

Hình 3.7. Bảng dữ liệu Khoa

Hình 3.8. Bảng dữ liệu Ngành học

3. LOP: Dùng để lưu trữ các thông tin về các lớp học trong trường.

Hình 3.9. Bảng dữ liệu Lớp

4. MONHOC: Dùng để lưu trữ các thông tin về các môn học của từng ngành học.

Hình 3.10. Bảng dữ liệu Môn học

5. SINHVIEN: Dùng để lưu trữ các thông tin về các sinh viên của trường.

Hình 3.11. Bảng dữ liệu Sinh viên

6. DIEM: Dùng để lưu trữ các thông tin về điểm thi học phần của các sinh viên trong trường.

Lược đồ quan hệ của các thực thể:

Hình 3.13. Lƣợc đồ quan hệ giữa các thực thể

3.4.2. Phân đoạn dữ liệu (adsbygoogle = window.adsbygoogle || []).push({});

Hiện tại trường Đại học Hà Tĩnh đang hoạt động tại ba cơ sở. Văn phòng khoa kinh tế và quản trị kinh doanh đặt tại cơ sở ba, khoa nông nghiệp đặt tại cơ sở hai, các khoa còn lại đặt tại cơ sở một. Theo đó chúng ta có thể lựa chọn tiêu chuẩn phân đoạn dữ liệu theo các khoa hoặc bộ môn ở ba cơ sở trên. Với yêu cầu của bài toán đặt ra và mô hình dữ liệu quan hệ ở trên, ta phân mảnh dữ liệu theo phương pháp phân mảnh ngang để xử lý bài toán. Cụ thể như sau:

Cơ sở dữ liệu có bảng KHOA với 10 bộ dữ liệu:

Bảng 3.14. Bảng mã các khoa

Makhoa Tenkhoa

K1 Khoa kỹ thuật - công nghệ

K2 Khoa kinh tế - quản trị kinh doanh K3 Khoa tiểu học - mầm non

K4 Khoa sư phạm tự nhiên

K5 Khoa sư phạm xã hội nhân văn K6 Khoa ngoại ngữ

K7 Khoa lý luận chính trị K8 Bộ môn tâm lý

K9 Bộ môn giáo dục thể chất K10 Khoa nông nghiệp

KHOA1 = σ(makhoa =“k1“) or (makhoa =“k3“) or (makhoa =“k4“) or (makhoa =“k5“) or (makhoa

=“k6“) or (makhoa =“k7“) or (makhoa =“k8“) or (makhoa =“k9“) (KHOA) KHOA2 = σmakhoa =“k10“ (KHOA)

KHOA3 = σmakhoa =“k2“ (KHOA)

Phân mảnh dữ liệu bảng NGANHHOC thành 3 mảnh dựa trên mối liên hệ giữa các quan hệ sau:

KHOA (makhoa, tenkhoa)

NGANHHOC (manganh, tennganh, makhoa)

Và dựa vào tập vị từ nối sau:

KHOA.makhoa = NGANHHOC.makhoa

Như vậy, ta có 3 phân mảnh như sau:

NGANH1 = NGANHHOC |>< KHOA1 NGANH2 = NGANHHOC |>< KHOA2

NGANH3 = NGANHHOC |>< KHOA3

Phân mảnh dữ liệu bảng LOP thành 3 mảnh dựa trên mối liên hệ giữa các quan hệ sau:

KHOA (makhoa, tenkhoa)

NGANHHOC (manganh, tennganh, makhoa) LOP (malop, tenlop, manganh)

Và dựa vào tập vị từ nối sau:

KHOA.makhoa = NGANHHOC.makhoa NGANHHOC.manganh = LOP.manganh

Như vậy, ta có 3 phân mảnh như sau:

LOP1 = LOP |>< NGANHHOC1 LOP2 = LOP |>< NGANHHOC2 LOP3 = LOP |>< NGANHHOC3

Phân mảnh dữ liệu bảng MONHOC thành 3 mảnh dựa trên mối liên hệ giữa các quan hệ sau:

KHOA (makhoa, tenkhoa) (adsbygoogle = window.adsbygoogle || []).push({});

NGANHHOC (manganh, tennganh, makhoa)

MONHOC (mamonhoc, tenmonhoc, sotinchi, manganh)

KHOA.makhoa = NGANHHOC.makhoa NGANHHOC.manganh = MONHOC.manganh

Như vậy, ta có 3 phân mảnh như sau:

MONHOC1 = MONHOC |>< NGANHHOC1 MONHOC2 = MONHOC |>< NGANHHOC2 MONHOC3 = MONHOC |>< NGANHHOC3

Phân mảnh dữ liệu bảng SINHVIEN thành 3 mảnh dựa trên mối liên hệ giữa các quan hệ sau:

KHOA (makhoa, tenkhoa)

NGANHHOC (manganh, tennganh, makhoa) LOP (malop, tenlop, manganh)

SINHVIEN (masv, hoten, ngaysinh, gioitinh, diachi, malop)

Và dựa vào tập vị từ nối sau:

KHOA.makhoa = NGANHHOC.makhoa NGANHHOC.manganh = LOP.manganh LOP.malop = SINHVIEN.malop

Như vậy, ta có 3 phân mảnh như sau:

SINHVIEN1 = SINHVIEN |>< LOP1 SINHVIEN2 = SINHVIEN |>< LOP2 SINHVIEN3 = SINHVIEN |>< LOP3

Phân mảnh dữ liệu bảng DIEM thành 3 mảnh dựa trên mối liên hệ giữa các quan hệ sau:

KHOA (makhoa, tenkhoa)

NGANHHOC (manganh, tennganh, makhoa) LOP (malop, tenlop, manganh)

SINHVIEN (masv, hoten, ngaysinh, gioitinh, diachi, malop) DIEM (masv, mamonhoc, lanthi, diemthi)

Và dựa vào tập vị từ nối sau:

KHOA.makhoa = NGANHHOC.makhoa NGANHHOC.manganh = LOP.manganh LOP.malop = SINHVIEN.malop

Như vậy, ta có 3 phân mảnh như sau:

DIEM1 = DIEM |>< SINHVIEN1 DIEM2 = DIEM |>< SINHVIEN2

DIEM3 = DIEM |>< SINHVIEN3

3.4.3. Định vị dữ liệu

Một trạm chính đặt tại phòng Đào tạo, nơi lưu trữ đầy đủ thông tin dữ liệu. Ba trạm con đặt tại các cơ sở gồm cơ sở một, cơ sở hai và cơ sở ba, là địa điểm đặt các khoa/bộ môn: - Kỹ thuật – Công nghệ - Ngoại ngữ - Lý luận chính trị - Tiểu học - mầm non - SP Tự nhiên

- SP Xã hội – Nhân văn

- Kinh tế - Quản trị kinh doanh - Tâm lý giáo dục

- Giáo dục thể chất

Dữ liệu liên quan đến các đơn vị tại một cơ sở đào tạo sẽ được đặt tại trạm của cơ sở đó. Các đơn vị của cơ sở khác (trạm khác) có thể truy cập tới để tra cứu, thống kê thông tin.

3.4.4. Thiết lập cơ sở dữ liệu phân tán trên các trạm

Hình 3.16. Máy khách theo tin cậy khách/chủ (adsbygoogle = window.adsbygoogle || []).push({});

Hình 3.18. Thí dụ dữ liệu sau khi phân mảnh ngang, tại máy chủ

3.4.5. Các chức năng chính

- Quản lý dữ liệu về sinh viên

Hình 3.19. Giao diện quản lý dữ liệu sinh viên

- Quản lý thông tin học phần

- Cập nhật kết quả thi học phần

Hình 3.21. Giao diện cập nhật điểm học phần

- Tra cứu điểm thi học phần

Hình 3.22. Giao diện tra cứu điểm học phần

3.5. Kết luận

Chương trên đã trình bày phần ứng dụng của luận văn. Trong luận văn đã tìm hiểu được thực trạng tin học hóa trong công tác quản lý đào tạo tại Trường Đại học Hà Tĩnh. Luận văn đề xuất giải pháp cơ sở dữ liệu phân tán tại Đại học Hà Tĩnh, sử du ̣ng dữ liệu về quản lý đào tạo của Trường Đại học Hà Tĩnh và vận dụng tin c ậy phân mảnh ngang. Sau đó luận văn đã triển khai được một số chức năng của hệ thống cơ sở dữ liệu, đáp ứng được vai trò của hệ thống trợ giúp công tác quản lý đào tạo.

KẾT LUẬN

Kết quả của luận văn

Luận văn đã tìm hiểu về cơ sở dữ liệu phân tán , tập trung vào kiến trúc của hệ thống cơ sở dữ liệu phân tán, hệ quản trị cơ sở dữ liệu phân tán và các d ạng kiến trúc, phân mảnh dữ liệu.

Luận văn cũng tiếp cận với bài toán xử lý vấn tin phân tán, tìm hiểu các bước trong phân rã vấn tin là giai đoạn đầu tiên của quá trình xử lý câu vấn tin.

Trong phần ứ ng du ̣ng , luận văn sử du ̣ng d ữ liệu về quản lý và đào tạo của Trường đại học Hà Tĩnh, sử du ̣ng tin cậy phân mảnh ngang.

Một số chức năng của hệ thống cơ sở dữ liệu đã đáp ứng được vai trò của hệ thống trợ giúp công tác quản lý đào tạo (i) hỏi dữ liệu về sinh viên, môn học, tổ chức học tập; (ii) cập nhật kết quả học tập của sinh viên; (iii) chuẩn bị các bảng biểu thống kê, liên quan đến kết quả học tập của sinh viên, với mục đích giúp công tác quản lý tại cơ sở đào tạo.

Hƣớng nghiên cứu tiếp theo

Học viên sẽ phát triển hệ thống, đáp ứng nhu cầu xử lí dữ liệu về kết quả học tập của sinh viên tại Trường đại học Hà Tĩnh.

Một số chức năng trong hệ thống cơ sở dữ liệu phân tán c ần được tiếp tục mở rộng và phát triển.

TÀI LIỆU THAM KHẢO

Tiếng Việt

[1]. Đỗ Trung Tuấn (1999), Cơ sở Dữ liệu, Nhà xuất bản Giáo dục.

[2]. Đồng Thị Bích Thủy (2010), Bài giảng Cơ sở dữ liệu nâng cao, ĐHKHTN Hồ Chí Minh.

[3]. Giáo trình Cơ sở dữ liệu phân tán, Đại học KHTN - ĐHQGHN, 2014. [4]. http:// www.microsoft.com/visualstudio

[5]. http://htu.edu.vn [6]. https://voer.edu.vn

[7]. Nguyễn Văn Huân, Phạm Việt Bình (2009), Giáo trình hệ cơ sở dữ liệu phân tán và suy diễn, Nhà xuất bản Khoa học và Kỹ thuật.

[8]. Phạm Thế Quế (2009), Cơ sở dữ liệu phân tán, Nhà xuất bản Thông tin Truyền thông.

Tiếng Anh

[9]. M.Tamer Ozsu và Patricle Valduriez (1999), Principles of Distributed Database Systems. (adsbygoogle = window.adsbygoogle || []).push({});

[10].R. Ramakrishnan, Johannes Gehrke (2014), Database Management Systems, http: // pages.cs.wisc.edu/ ~dbbook/openAccess/thirdEdition.

Một phần của tài liệu Mô hình cơ sở dữ liệu phân tán và áp dụng vào bài toán quản lý đào tạo (Trang 45)