Cây đại số quan hê ̣ đã cấu trúc lại

Một phần của tài liệu (LUẬN văn THẠC sĩ) 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 42)

2.4. Kết luận

Chương trên đã trình bày một số khái niệm liên quan đến thiết kế cơ sở dữ liệu phân tán. Người ta sử du ̣ng nhi ều kiểu tổ chức phân tán khác nhau . Hai dạng được kể đến là (i) phân đoạn ngang; (ii) phân đoạn dọc.

Việc hỏi dữ liệu, tức đặt câu truy vấn trong cơ sở dữ liệu phân tán là cần thiết. Nó được thực hiện theo các bước. Việc sắp xếp lại các phép đại số quan hê ̣ có ý nghĩa đ ối với việc tối ưu câu hỏi quan hệ.

Chƣơng 3. Xây dựng cơ sở dữ liệu phân tán phục vụ quản lý đào tạo

3.1. Đặt bài toán phục vụ đào tạo

Có thể hiểu quản lý đào tạo ở trường đại học là quá trình tác động có mục đích, có kế hoạch của chủ thể quản lý (gồm các cấp quản lý khác nhau từ Ban giám hiệu, các Phòng, Khoa, đến Tổ bộ môn và từng giảng viên) lên các đối tượng quản lý (bao gồm giảng viên, sinh viên, cán bộ quản lý cấp dưới và cán bộ phục vụ đào tạo) thông qua việc vận dụng các chức năng và phương tiện quản lý nhằm đạt được mục tiêu đào tạo của nhà trường.

Các nội dung quản lý đào tạo ở trường đại học, có thể bao gồm các vấn đề liên quan chặt chẽ với nhau như Quản lý mục tiêu đào tạo; Quản lý nội dung và chương trình đào tạo; Quản lý hoạt động dạy của giảng viên; Quản lý hoạt động học của sinh viên; Quản lý cơ sở vật chất, tài chính phục vụ dạy học;...

Nâng cao chất lượng đào tạo, quản lý đào tạo là nhiệm vụ hàng đầu ở các trường đại học. Một trong các biện pháp để cải thiện công tác quản lý đào tạo đó là ứng dụng công nghệ thông tin trong công tác quản lý.

Thay vì quản lý theo phương pháp thủ công thì hiện nay gần như công tác quản lý đào tạo ở các trường đại học được thực hiện thông qua phần mềm ứng dụng. Các phần mềm này thường được xây dựng theo mô hình dữ liệu tập trung. Với khối lượng dữ liệu sử dụng trong một năm học rất lớn và ngày một tăng, thêm vào đó là những hạn chế còn tồn tại trong mô hình dữ liệu tập trung, có thể dẫn tới thời gian truy xuất dữ liệu rất lâu, gây ảnh hưởng đến hiệu quả của quản lý đào tạo.

Những năm gần đây thuật ngữ hệ thống phân tán đã trở nên gần gũi. Việc ứng dụng hệ thống phân tán vào các lĩnh vực đời sống xã hội ngày càng phát triển mạnh mẽ, trong đó có lĩnh vực quản lý đào tạo tại các trường Đại học, đặc biệt là đào tạo theo học chế tín chỉ. Học chế tín chỉ có rất nhiều ưu điểm: hiệu quả đào tạo cao, có tính mềm dẻo và khả năng thích ứng cao,...Tuy nhiên khi áp dụng phương pháp này khối lượng công việc phải quản lý của nhà trường tăng lên rất lớn.

Do đó, việc xây dựng hệ thống cơ sở dữ liệu phân tán để hỗ trợ cho quản lý đào tạo tín chỉ của các trường Đại học là việc cấp thiết hiện nay.

3.2. Hiện trạng tin học hóa tại đại học Hà Tĩnh

Trường Đại học Hà Tĩnh là một trường công lập, đa cấp, đa ngành, đào tạo nguồn nhân lực nhằm đáp ứng các yêu cầu của sự nghiệp phát triển kinh tế - xã hội của đất nước nói chung và tỉnh Hà Tĩnh nói riêng.

Đại học Hà Tĩnh là môi trường giáo dục đề cao quan điểm đào tạo theo nhu cầu xã hội. Dựa trên tình hình phát triển thực tiễn của tỉnh nhà nói riêng và cả nước nói chung, nhà trường đã tăng cường phát triển mới các mã ngành đào tạo đáp ứng nhu

cầu nguồn nhân lực thực tiễn của xã hội. Năm học 2007-2008, ngoại trừ bậc đại học chưa triển khai xây dựng mã ngành, tổng mã ngành đào tạo của các bậc CĐ và TCCN là 18 mã ngành. Năm học 2008-2009, tổng số mã ngành đào tạo của cả ba bậc: ĐH, CĐ và TCCN là 31 mã ngành; năm học 2009-2010 là 33 mã ngành và năm học 2010- 2011 là 47 mã ngành, năm 2011-2012 có 53 mã ngành (trong đó có 18 mã ngành đại học). Qua sự phát triển về quy mô mã ngành và số lượng sinh viên tuyển sinh qua các năm có thể thấy quy mô đào tạo của Trường Đại học Hà Tĩnh đang trên đà phát triển ngày càng mạnh mẽ.

Hình 3.1. Trang thông tin của Trƣờng Đại học Hà Tĩnh

Với quy mô đào tạo trên thì công tác quản lý đào tạo tương đối phức tạp. Hiện tại nhà trường đang sử dụng phần mềm EduSoft phục vụ công tác quản lý. Đối tượng tương tác chính của hệ thống là cán bộ - giáo viên và sinh viên. Phần mềm được xây dựng trên mô hình cơ sở dữ liệu tập trung. Một ví dụ cho sự bất cập ở hệ thống đang sử dụng đó là trong quy trình quản lý điểm của sinh viên, gần như công việc cập nhật điểm học phần đều do phòng đào tạo thực hiện, các khoa và bộ môn chỉ nhập điểm vào các file Excel theo mẫu có sẵn, sau đó gửi cho cán bộ phòng đào tạo, chứ không hề tương tác trực tiếp trên cơ sở dữ liệu. Tiến trình công việc như trên rõ ràng là đang làm trì trệ, giảm hiệu quả của công tác quản lý.

Với khối lượng dữ liệu ngày càng lớn, số lượng công việc ngày càng phức tạp, đạt hiệu quả tốt nhất trong công tác quản lý, cùng với những ưu điểm của hệ thống phân tán, nên chăng đưa mô hình dữ liệu phân tán áp dụng cho hệ thống quản lý đào tạo tại trường.

3.3. Đề xuất cơ sở dữ liệu phân tán tại ĐH Hà Tĩnh 3.3.1. Hạ tầng công nghệ thông tin sử dụng trong bài toán 3.3.1. Hạ tầng công nghệ thông tin sử dụng trong bài toán

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

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 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

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)

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

Một phần của tài liệu (LUẬN văn THẠC sĩ) 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 42)

Tải bản đầy đủ (PDF)

(59 trang)