Lý thuyết về cơ sở dữ liệu

Một phần của tài liệu Xây dựng chương trình quản lý nhân sự_Đồ án tốt nghiệp (Trang 38 - 90)

3.2.1 Định nghĩa về cơ sở dữ liệu

Cơ sở dữ liệu là phần cốt lõi của nhiều ứng dụng phần mềm kinh doanh. Cơ sở dữ liệu rất phổ biến trong thế giới kinh doanh vì chúng cho phép truy cập tập trung đến các thông tin theo một các nhất quán, hiệu quả và tương đối dễ dàng cho việc phát triển và bảo trì.

Cơ sở dữ liệu là tập hợp có tổ chức của các dữ liệu về thế giới thực trong một lĩnh vực nào đó có liên quan với nhau về mặt logic. Chúng được lưu trữ ở bộ nhớ ngoài. Cơ sở dữ liệu là một kho chứa thông tin.

3.2.2 Định nghĩa dữ liệu

Dữ liệu là các sự kiện, văn bản, đồ họa, hình ảnh và đoạn phim video có ý nghĩa trong môi trường của người dùng.

3.2.3 Ưu nhược điểm của cơ sở dữ liệuNhững ưu điểm khi tiếp cận CSDL Những ưu điểm khi tiếp cận CSDL

• Giảm bớt dư thừa dữ liệu.

• Có thể tránh được sự không nhất quán trong dữ liệu lưu trữ.

• Tăng tính dùng chung dữ liệu.

• Tính chuẩn hoá cao.

• Tăng tính an toàn dữ liệu.

• Có thể giữ được sự toàn vẹn dữ liệu.

Nhược điểm của cơ sở dữ liệu

• Như với bất kỳ quyết định kinh doanh nào, ứng dụng theo hướng CSDL cần trả giá và chịu một vài rủi ro như cần đến nhân sự mới và chuyên sâu, chi phí quản lý và thực hiện, giải quyết va chạm tâm lý…

• Chi phí về quản lý, thực hiện.

• Chi phí chuyển đổi hệ thống.

• Nhu cầu sao chép và khôi phục dữ liệu.

• Va chạm về quan điểm sử dụng CSDL.

3.2.4 Hệ thống cơ sở dữ liệu

• Mô hình phân cấp (Hierarchical model)

Mô hình phân cấp hay mô hình CSDL dạng cây được tổ chức theo cấu trúc từ trên xuống dưới giống như cây lộn ngược. Mỗi nút tương ứng với một kiểu dữ liệu, có thể có một hoặc nhiều trường, mô tả thực thể và một nhánh cây tạo nên một liên kết giữa kiểu dữ liệu này với kiểu dữ liệu khác. Mỗi nút đều có một nút cha và nhiều nút con, trừ nút gốc là không có cha.

• Mô hình mạng

Mô hình mạng được biểu diễn như một đồ thị có hướng. Mỗi nút có thể nối với một nút bất kỳ để biểu diễn một liên kết 1-n thông qua con trỏ liên kết. Sự khác nhau chính giữa hệ thống mạng và hệ thống phân cấp là mô hình mạng không ràng buộc về số và hướng của các liên kết thiết lặp giữa các nút.

• Mô hình quan hệ

Cơ sở dữ liệu quan hệ được xây dựng theo lý thuyết do E.F.Codd giới thiệu năm 1970. Thuật ngữ “quan hệ” là do bảng dữ liệu hai chiều được Codd gọi là bảng quan hệ. Mô hình quan hệ khác hẳn với các mô hình trước nó và từ năm 1980 đã trở thành mô hình được dùng rộng rãi để phát triển hệ quản trị CSDL.

Theo mô hình quan hệ, dữ liệu được thể hiện trong bảng hai chiều, gồm các dòng và cột. Các bảng gọi là các “quan hệ”, các dòng gọi là các “bộ” và cột là “thuộc tính”. Theo cách nhìn của các mô hình trƣớc thì mỗi dòng là một bản ghi, các thuộc tính cho biết ý nghĩa của các giá trị trong bản ghi.

Mô hình phân cấp và mô hình mạng được xếp vào thế hệ đầu của CSDL. Thế hệ thứ hai của các hệ quản trị CSDL có mô hình quan hệ. Các mô hình này được xem là mô hình cổ điển. Mô hình mới nhất được xếp vào thế hệ thứ ba của CSDL là mô hình hướng đối tượng. Công nghệ CSDL hướng đối tượng dùng lược đồ gồm tập các “lớp”. Mỗi lớp được mô tả gồm tập các “thuộc tính” và “phương thức”. Mỗi đối tượng thuộc lớp đều mang đầy đủ các thuộc tính và phương thức của lớp đó.

Thế hệ thứ ba của hệ quản trị nhằm đáp ứng các yêu cầu về:  Các ứng dụng mới của công nghệ thông tin.

 Khai thác trong môi trường phức tạp như phân tán, không đồng nhất,…  Xử lý các dữ liệu hướng đối tượng và thực hiện suy diễn trên các dữ liệu.

3.2.5 Các dạng chuẩn

Năm 1970, khi đề xuất mô hình CSDL quan hệ, trong lý thuyết ban đầu Codd E.F đưa ra ba dạng chuẩn của quan hệ. Đó là: dạng chuẩn thứ nhất (First Normal Form-1NF), dạng chuẩn thứ hai (2NF), dạng chuẩn thứ ba (3NF). Ngoài ba dạng chuẩn trên trong lý thuyết chuẩn hoá còn có một số dạng chuẩn khác, tuy nhiên chúng không sử dụng rộng rãi nên ta không xét ở đây.

• Dạng chuẩn thứ nhất (First Normal Form-1NF): Một lược đồ quan hệ R được gọi là ở dạng chuẩn thứ nhất khi và chỉ khi toàn bộ các miền có mặt trong R đều chỉ chứa các giá trị nguyên tố, tức là các giá trị đơn.

• Dạng chuẩn thứ hai (2NF): Lược đồ quan hệ R ở dạng chuẩn hai nếu nó ở dạng chuẩn một và nếu mỗi thuộc tính không khóa của R là phụ thuộc hàm đầy đủ vào khóa chính, không phụ thuộc hàm vào một phần của khóa.

• Dạng chuẩn thứ ba (3NF): Lược đồ quan hệ R là ở dạng chuẩn ba nếu nó là dạng chuẩn hai và mỗi thuộc tính không khóa của R không phụ thuộc hàm bắc cầu vào khóa chính. Hay nói cách khác, các thuộc tính không khóa không phụ

3.2.6 Hệ quản trị cơ sở dữ liệu SQL Server

SQL được sử dụng để điều khiển tất cả các chức năng mà một hệ quản trị cơ sở dữ liệu cung cấp cho người dùng bao gồm:

• Định nghĩa dữ liệu: SQL cung cấp khả năng định nghĩa các cơ sở dữ liệu, các cấu trúc lưu trữ và tổ chức dữ liệu cũng như mối quan hệ giữa các thành phần dữ liệu.

• Truy xuất và thao tác dữ liệu: Với SQL, người dùng có thể dễ dàng thực hiện các thao tác truy xuất, bổ sung, cập nhật và loại bỏ dữ liệu trong các cơ sở dữ liệu.

• Điều khiển truy cập: SQL có thể được sử dụng để cấp phát và kiểm soát các thao tác của người sử dụng trên dữ liệu, đảm bảo sự an toàn cho cơ sở dữ liệu.

• Đảm bảo toàn vẹn dữ liệu: SQL định nghĩa các ràng buộc toàn vẹn trong cơ sở dữ liệu nhờ đó đảm bảo tính hợp lệ và chính xác của dữ liệu trước các thao tác cập nhật cũng như các lỗi của hệ thống.

Như vậy, có thể nói rằng SQL là một ngôn ngữ hoàn thiện được sử dụng trong các hệ thống cơ sở dữ liệu và là một thành phần không thể thiếu trong các hệ quản trị cơ sở dữ liệu. Mặc dù SQL không phải là một ngôn ngữ lập trình như C, C++, Java,... song các câu lệnh mà SQL cung cấp có thể được nhúng vào trong các ngôn ngữ lập trình nhằm xây dựng các ứng dụng tương tác với cơ sở dữ liệu.

Khác với các ngôn ngữ lập trình quen thuộc như C, C++, Java, ... SQL là ngôn ngữ có tính khai báo. Với SQL, người dùng chỉ cần mô tả các yêu cầu cần phải thực hiện trên cơ sở dữ liệu mà không cần phải chỉ ra cách thức thực hiện các yêu cầu như thế nào. Chính vì vậy, SQL là ngôn ngữ dễ tiếp cận và dễ sử dụng.

Tính năng nổi trội trong SQL Server 2008: • Đưa ra cơ chế chống lỗi phụ.

• Microsoft đưa ra nền tảng Quản Lý Tường Minh cho phép công việc quản trị trở nên dễ dàng nhưng vẫn đảm bảo được tính hiểu quả.

• Ứng dụng CSDL SQL được sử dụng hầu hết trong các ứng như Exchange Server 2007 UM, Sharepoint Server 2007 cho đến OCS 2007 vì vậy nếu không có khả năng giám sát tập trung hệ CSDL thì đúng là một thiếu sót nặng nề. Vì vậy với việc tích hợp tốt nhất với các sản phẩm giám sát hệ thống System Center, doanh nghiệp sẽ hơn trong việc quản lý và giám sát tự động hạ tầng. • Với sự ra đời của nền tảng DotNet 3.5 và bộ công cụ lập trình Visual Studio

2008 đã giúp cho các nhà phát triển ứng dụng và CSDL trên SQL Server 2008 trở nên hiệu quả hơn nhiều. Đáng kể nhất trong số đó là ADO.Net mới trong DotNet 3.5 đưa ra khái niệm Nền Tảng Đối Tượng ADO giúp cho lập trình viên thao tác với CSDL như một đối tượng. Kế đến không thể nhắc tới đứa con cưng con ngôn ngữ CSDL là LINQ, nhờ nó mà các lập trình viên có thể chuyển đôi qua lại giữa ngôn ngữ ứng dụng như C#,VB.NET và ngôn ngữ truy vấn SQL, nhờ vậy các nhà lập trình có thể thực hiện truy vấn CSDL ngay trong các dòng lệnh của ngôn ngữ lập trình ứng dụng.

• Khi người dùng có thể thực hiện một truy vấn mà liên quan đến dữ liệu trên hai phân vùng CSDL thì SQL Server 2008 sẽ xử lý truy vấn này song hành cùng lúc trên mỗi phân vùng.

• Tính năng kinh doanh thông minh là tính năng có tầm quan trọng lớn trong các hệ CSDL lớn đặc biệt trong khối tài chính như ngân hàng, chứng khoán.

3.3 Microsoft Visual Studio 20103.3.1 Nền tảng .NET 3.3.1 Nền tảng .NET

Nền tảng .NET bao gồm bốn nhóm sau:

• Một tập các ngôn ngữ, bao gồm C# và Visual Basic .Net; một tập các công cụ phát triển bao gồm Visual Studio .Net; một tập đầy đủ các thư viện phục vụ cho việc xây dựng các ứng dụng web, các dịch vụ web và các ứng dụng Windows;

còn có CLR - Common Language Runtime: (ngôn ngữ thực thi dùng chung) để thực thi các đối tượng được xây dựng trên bô khung này.

• Một tập các Server Xí nghiệp .Net như SQL Server 2000. Exchange 2000, BizTalk 2000, … chúng cung cấp các chức năng cho việc lưu trữ dữ liệu quan hệ, thư điện tử, thương mại điện tử B2B, …

• Các dịch vụ web thương mại miễn phí, vừa được công bố gần đậy như là dự án Hailstorm; nhà phát triển có thể dùng các dịch vụ này để xây dựng các ứng dụng đòi hỏi tri thức về định danh người dùng…

• .NET cho các thiết bị không phải PC như điện thoại (cell phone), thiết bị game

3.3.2 .NET Framework

.NET Framework là một nền tảng lập trình và cũng là một nền tảng thực thi ứng dụng chủ yếu trên hệ điều hành Microsoft Windows được phát triển bởi Microsoft. Các chương trình được viết trên nền .NET Framework sẽ được triển khai trong môi trường phần mềm được biết đến với tên Common Language Runtime (CLR). Môi trường phần mềm này là một máy ảo trong đó cung cấp các dịch vụ như an ninh phần mềm, quản lý bộ nhớ, và các xử lý lỗi ngoại.

.NET framework đơn giản hóa việc viết ứng dụng bằng cách cung cấp nhiều thành phần được thiết kế sẵn, người lập trình chỉ cần học cách sử dụng và tùy theo sự sáng tạo mà gắn kết các thành phần đó lại với nhau.

.NET Framework nằm ở tầng trên của hệ điều hành (bất kỳ hệ điều hành nào không chỉ là Windows). .NET Framework bao gồm:

• Bốn ngôn ngữ chính thức: C#, VB.Net, C++, và Jscript.NET

• Common Language Runtime - CLR, nền tảng hướng đối tượng cho phát triển ứng dụng Windows và web mà các ngôn ngữ có thể chia sẻ sử dụng.

3.3.3 Ngôn ngữ C#

C# là một ngôn ngữ lập trình hướng đối tượng được phát triển bởi Microsoft, là phần khởi đầu cho kế hoạch .NET của họ. Tên của ngôn ngữ bao gồm ký tự thăng theo Microsoft nhưng theo ECMA là C#, chỉ bao gồm dấu số thường. Microsoft phát triển C# dựa trên C++ và Java. C# được miêu tả là ngôn ngữ có được sự cân bằng giữa C++, Visual Basic, Delphi và Java.

Là một ngôn ngữ hướng đối tượng, C# hỗ trợ các khái niệm về đóng gói

encapsulation, thừa kế inheritance và đa hình polymorphism. Tất cả các biến và

phương pháp, bao gồm cả phương thức Main, điểm nhập của ứng dụng, được đóng gói trong định nghĩa lớp Class. Một lớp có thể kế thừa trực tiếp từ một lớp cha, nhưng nó có thể thực hiện bất kỳ số lượng các giao diện. Các phương thức ghi đè lên các phương pháp ảo trong một lớp cha yêu cầu từ khóa override như là một cách để tránh xác định lại việc định nghĩa lại mã nguồn. Trong C#, một cấu trúc giống như một lớp, nó là một loại ngăn xếp stack được phân bổ có thể thực hiện các giao diện, nhưng không hỗ trợ thừa kế.

CHƯƠNG 4: PHÂN TÍCH THIẾT KẾ HỆ THỐNG 4.1 Sơ đồ phân rã chức năng (BFD)

Hình 4.1: Sơ đồ phân rã chức năng (BFD)

4.2 Sơ đồ luồng dữ liệu (DFD)

Hình 4.2: Sơ đồ luồng dữ liệu mức ngữ cảnh

1- Yêu cầu cập nhật thông tin: nhân sự, hợp đồng lao động, quá trình

công tác, quá trình đào tạo, khen thưởng/ kỷ luật, thôi việc, yêu cầu báo cáo nhân sự…

2- Thông báo kết quả: nhân sự, hợp đồng lao động, công tác, đào tạo, khen thưởng kỷ luật, thôi việc, báo cáo nhân sự.

3- Yêu cầu các quyết định, thống kê báo cáo 4- Trả về kết quả

5- Yêu cầu cập nhật thông tin người dùng, sao lưu, phục hồi dữ liệu 6- Thông tin: người dùng phản hồi sao lưu, phục hồi.

4.2.3 Sơ đồ luồng dữ liệu mức dưới đỉnh4.2.3.1 Chức năng quản trị hệ thống 4.2.3.1 Chức năng quản trị hệ thống

Hình 4.4: Sơ đồ luồng dữ liệu mức dưới đỉnh chức năng quản trị hệ thống

Hình 4.6: Sơ đồ luồng dữ liệu mức dưới đỉnh chức năng quản lý danh mục

4.3 Sơ đồ thực thể liên kết

4.3.1 Mối quan hệ giữa các tập thực thể

1- Một nhân viên chỉ có một dân tộc nhưng một dân tộc có thể có nhiều nhân viên cùng thuộc.

2- Một nhân viên chỉ có một tôn giáo (hoặc không) nhưng một tôn giáo có thể có nhiều nhân viên cùng thuộc.

3- Một nhân viên có thể thuộc nhiều đơn vị, một đơn vị có nhiều nhân viên cùng thuộc.

4- Một nhân viên có thể thuộc nhiều phòng ban, một phòng ban có nhiều nhân viên.

5- Một nhân viên có thể giữ nhiều chức vụ một lúc, một chức vụ cũng có thể có nhiều nhân viên cùng giữ.

6- Một nhân viên có thể có nhiều loại chứng chỉ khác nhau và một loại chứng chỉ có thể được nhiều nhân viên có.

7- Một nhân viên có thể có nhiều chuyên môn và một chuyên môn có thể có nhiều nhân viên có.

8- Một nhân viên có thể có nhiều chuyên môn, chứng chỉ, và ngoại ngữ. Mỗi một chuyên môn, chứng chỉ và ngoại ngữ tương ứng với những trình độ khác nhau. Ở cùng một trình độ có nhiều nhân viên.

9- Một nhân viên có thể biết nhiều ngoại ngữ và một ngoại ngữ có thể có nhiều nhân viên biết.

10- Một nhân viên có thể ký nhiều hợp đồng nhưng một hợp đồng chỉ được ký bởi một nhân viên.

11- Một nhân viên có thể có nhiều loại hợp đồng và một loại hợp đồng có thể có nhiều nhân viên có.

12- Một hợp đồng tương ứng với một loại hợp đồng. Một loại hợp đồng có nhiều hợp đồng cùng loại.

13- Một nhân viên chỉ có một hồ sơ nhân sự và một bộ hồ sơ nhân sự chỉ thuộc về một nhân viên.

14- Một hồ sơ nhân sự chỉ có một hồ sơ ngoại ngữ, một hồ sơ ngoại ngữ đó chỉ thuộc về hồ sơ nhân sự đó. Nhiều hồ sơ ngoại ngữ có chung một ngoại ngữ. 15- Một hồ sơ nhân sự chỉ có một hồ sơ chứng chỉ, một hồ sơ chứng chỉ đó chỉ

thuộc về hồ sơ nhân sự đó. Nhiều hồ sơ chứng chỉ có chung một chứng chỉ. 16- Một hồ sơ nhân sự chỉ có một hồ sơ chuyên môn, một hồ sơ chuyên môn đó

Một phần của tài liệu Xây dựng chương trình quản lý nhân sự_Đồ án tốt nghiệp (Trang 38 - 90)

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

(90 trang)
w