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

QUẢN LÝ CỬA HÀNG VẬT LIỆU XÂY DỰNG

75 20 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 đề Quản Lý Cửa Hàng Vật Liệu Xây Dựng
Tác giả Đoàn Đăng Khoa
Người hướng dẫn Th.s Nguyễn Chí Cường
Trường học Trường Đại Học Tây Đô
Chuyên ngành Công Nghệ Thông Tin
Thể loại luận văn tốt nghiệp
Năm xuất bản 2017
Thành phố Cần Thơ
Định dạng
Số trang 75
Dung lượng 4,49 MB

Cấu trúc

  • CHƯƠNG 1. TỔNG QUAN (14)
    • I. ĐẶT VẤN ĐỀ (14)
    • II. LỊCH SỬ GIẢI QUYẾT VẤN ĐỀ (15)
    • III. PHẠM VI CỦA ĐỀ TÀI (15)
    • IV. PHƯƠNG PHÁP NGHIÊN CỨU (15)
      • 1.4.1. Phương pháp nghiên cứu lý thuyết (15)
      • 1.4.2. Phương pháp nghiên cứu thực nghiệm (15)
      • 1.4.3. Phương pháp điều tra (16)
    • V. HƯỚNG GIẢI QUYẾT (16)
  • CHƯƠNG 2. CƠ SỞ LÝ THUYẾT (17)
    • I. GIỚI THIỆU VỀ CƠ SỞ DỮ LIỆU VÀ HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU (17)
      • 2.1.1. Cơ sở dữ liệu (17)
      • 2.1.2. Hệ quản trị cơ sở dữ liệu (18)
    • II. KHÁI NIỆM PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG THÔNG TIN (20)
    • III. TỔNG QUAN VỀ NGÔN NGỮ LẬP TRÌNH C# (21)
    • IV. TỔNG QUAN VỀ MICROSOFT VISUAL STUDIO 2013 (24)
    • V. TỔNG QUAN VỀ DEVEXPRESS (24)
    • VI. TỔNG QUAN VỀ ADO.NET (25)
    • VIII. THÀNH PHẦN DỮ LIỆU PHÂN TÍCH HỆ THỐNG (32)
      • 2.8.1. Mô hình dữ liệu mức quan niệm (CDM) 19 2.8.2. Mô hình quan hệ (Relational Model) 19 2.8.3. Mô hình thực thể - kết hợp 20 2.8.4. Mô hình dữ liệu mức logic (LDM) 20 IX. THÀNH PHẦN XỬ LÝ PHÂN TÍCH HỆ THỐNG (32)
    • X. GIỚI THIỆU VỀ MÃ HÓA MẬT KHẨU (34)
      • 2.10.1. Mã hóa đối xứng 21 2.10.2. Mã hóa bất đối xứng 24 CHƯƠNG 3. NỘI DUNG NGHIÊN CỨU (34)
    • I. THIẾT KẾ CƠ SỞ DỮ LIỆU VẬT LÝ (38)
      • 3.1.1. Bảng Khách hàng 25 3.1.2. Bảng Nhà cung cấp 25 3.1.3. Bảng Loại hàng 26 3.1.4. Bảng Hàng hóa 26 3.1.5. Bảng Nhân viên 27 3.1.6. Bảng Kho 27 3.1.7. Bảng Người dùng 28 3.1.8. Bảng Người dùng – Nhân viên 28 3.1.9. Bảng Hóa đơn nhập 29 3.1.10. Bảng Chi tiết hóa đơn nhập 30 3.1.11. Bảng Hóa đơn xuất 31 3.1.12. Bảng Chi tiết hóa đơn xuất 32 II. MÔ HÌNH THỰC THỂ KẾT HỢP (CDM) (38)
    • III. MÔ HÌNH DỮ LIỆU VẬT LÝ (PDM) (47)
  • CHƯƠNG 4. KẾT QUẢ NGHIÊN CỨU (51)
    • I. GIAO DIỆN HỆ THỐNG (51)
      • 4.1.1. Giao diện đăng nhập 38 4.1.2. Giao diện Đổi mật khẩu 38 4.1.3. Giao diện Thông tin tài khoản 39 4.1.4. Giao diện Nhân viên 40 4.1.5. Giao diện Group tài khoản nhân viên và người dùng 41 II. GIAO DIỆN DANH MỤC (52)
      • 4.2.1. Giao diện Khách hàng 42 4.2.2. Giao diện Nhà cung cấp 43 4.2.3. Giao diện Loại hàng 44 4.2.4. Giao diện Hàng hóa 45 4.2.5. Giao diện Nhập hàng 46 4.2.6. Giao diện chi tiết hóa đơn nhập 47 4.2.7. Giao diện Xuất hàng 48 4.2.8. Giao diện chi tiết hóa đơn xuất 49 4.2.9. Giao diện Kho 50 III. GIAO DIỆN BÁO CÁO –THỐNG KÊ (56)
    • IV. GIAO DIỆN PREVIEW (71)
      • 4.4.1. Mẫu hóa đơn bán hàng 57 4.4.2. Mẫu phiếu nhập hàng 58 4.4.3. Mẫu phiếu báo cáo – thống kê 59 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN (71)
  • KẾT LUẬN (74)

Nội dung

TỔNG QUAN

ĐẶT VẤN ĐỀ

Ngày nay, sự phát triển mạnh mẽ của công nghệ thông tin đã làm thay đổi cách thức con người ứng dụng vào công việc và nâng cao nhu cầu cuộc sống Tất cả các lĩnh vực kinh tế và xã hội đều được hiện đại hóa thông qua việc quản lý bằng máy tính Công nghệ thông tin không chỉ ảnh hưởng đến khoa học kỹ thuật và kinh tế mà còn cải thiện giáo dục và các hoạt động xã hội Nhờ vào sự phát triển này, các hoạt động sản xuất, mua bán và quản lý hàng hóa trở nên phong phú và đa dạng hơn.

Hầu hết các cửa hàng vật liệu xây dựng hiện nay vẫn sử dụng phương pháp thủ công trong quản lý, từ lưu trữ, thống kê đến nhập xuất và tìm kiếm Phương pháp này không chỉ tốn nhiều thời gian và công sức mà còn mang lại hiệu quả thấp, dễ dẫn đến sai sót Việc thiếu phần mềm máy tính hỗ trợ quản lý càng làm cho công việc trở nên khó khăn và tốn kém hơn.

Việc xây dựng chương trình quản lý vật liệu cho các cửa hàng là rất cần thiết để thay thế các công việc thủ công kém hiệu quả và tốn thời gian Đề tài nghiên cứu “Quản lý cửa hàng vật liệu xây dựng” nhằm giải quyết vấn đề quản lý vật liệu, giảm thiểu thời gian so với phương pháp viết tay cổ điển Nhờ đó, người quản lý có thể đưa ra kế hoạch và quyết định chính xác, giảm chi phí, tăng khả năng cạnh tranh và nâng cao hiệu quả hoạt động sản xuất kinh doanh.

Khóa luận tập trung phát triển xây dựng hệ thống bao gồm:

Tìm hiểu các nghiệp vụ quản lý bán hàng của các cửa hàng vật liệu xây dựng. Phân tích các đặc điểm của quy trình bán hàng.

Tiếp cận một số phần mềm Quản lý bán hàng sẵn có.

Thiết kế giao diện chương trình phù hợp với người dùng.

Dùng phương pháp phân tích thiết kế hệ thống để tiến hành thực hiện đề tài.

LỊCH SỬ GIẢI QUYẾT VẤN ĐỀ

Đề tài “Quản lý cửa hàng vật liệu xây dựng” đã được nhiều khóa trước thực hiện, nhưng vẫn còn thiếu nhiều chức năng cần thiết Vì vậy, tôi quyết định chọn đề tài này cho bài khóa luận tốt nghiệp của mình Chương trình phần mềm sẽ được phát triển với các chức năng mới như đăng nhập hệ thống, quản lý thông tin người dùng, báo cáo thống kê và quản lý nhập xuất, lưu trữ hàng hóa.

PHẠM VI CỦA ĐỀ TÀI

Đề tài được thực hiện trong phạm vi kiến thức đã học và nghiên cứu thêm các tài liệu tham khảo.

Phân tích thiết kế hệ thống thông tin tập trung vào việc đáp ứng các yêu cầu hàng ngày của người quản lý và nhân viên bán hàng trong cửa hàng Công việc này bao gồm cập nhật hàng hóa, nhập và bán sản phẩm, tìm kiếm thông tin về hàng hóa, cũng như thực hiện báo cáo thống kê định kỳ.

PHƯƠNG PHÁP NGHIÊN CỨU

1.4.1 Phương pháp nghiên cứu lý thuyết Đọc hiểu các tài liệu, sách liên quan đến lập trình C#. Đọc hiểu các tài liệu, sách liên quan đến hệ quản trị cơ sở dữ liệu SQL. Đọc hiểu các tài liệu, sách liên quan đến phân tích thiết kế hệ thống.

Các website, tài liệu tham khảo liên quan đến đề tài.

1.4.2 Phương pháp nghiên cứu thực nghiệm

Sử dụng ngôn ngữ lập trình C-Sharp (C#) trên nền Visual Studio 2013

Cài đặt hệ quản trị cở sở dữ liệu SQL Server 2008.

Cài đặt phần mềm hỗ trợ thiết kế giao diện Form Devexpress 15.2.7.

Cài đặt phần mềm hỗ trợ thiết kế mô hình dữ liệu Power Designer 16.0.

Phương pháp chuyên gia: tham khảo ý kiến của thầy cô và bạn bè.

Phương pháp quan sát: Quan sát quy trình nghiệp vụ quản lý trên thực tế của các cửa hàng vật liệu xây dựng.

Thu thập dữ liệu, xử lý và thống kê để làm luận cứ cho đề tài.

HƯỚNG GIẢI QUYẾT

‒ Xây dựng mô hình CDM và PDM.

‒ Thiết kế CSDL, các ràng buộc toàn vẹn.

‒ Thiết kế ứng dụng: các chức năng, Forms và Reports.

‒ Cài đặt chương trình ứng dụng, nhập liệu, chạy thử và kiểm tra lỗi.

‒ Viết một bài báo cáo về công việc đã thực hiện theo mẫu qui định.

CƠ SỞ LÝ THUYẾT

GIỚI THIỆU VỀ CƠ SỞ DỮ LIỆU VÀ HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU

Cơ sở dữ liệu là tập hợp dữ liệu về các đối tượng cần quản lý, được lưu trữ trên thiết bị điện tử và điều hành bởi hệ quản lý thống nhất Hệ thống này thực hiện ba chức năng chính: quản lý, lưu trữ và truy xuất thông tin hiệu quả.

• Cập nhập dữ liệu: thêm, sửa, xóa.

• Tìm kiếm và kết xuất dữ liệu.

❖ Sơ lược sự phát triển của Microsofts SQL

SQL được phát triển từ ngôn ngữ SEQUEL2 bởi IBM vào những năm 70, nhằm phục vụ cho các hệ thống quản trị cơ sở dữ liệu lớn Ban đầu, SQL chỉ được sử dụng trên các máy đơn lẻ, nhưng với sự gia tăng nhu cầu xây dựng cơ sở dữ liệu lớn tập trung trên máy chủ, SQL đã trở thành công cụ chính để xử lý dữ liệu Ngày nay, SQL được tích hợp vào hầu hết các ngôn ngữ lập trình bậc cao và đóng vai trò quan trọng trong phát triển web, đặc biệt là trong việc tạo ra các trang web động một cách nhanh chóng.

SQL đã được ANSI và ISO công nhận là ngôn ngữ chuẩn cho cơ sở dữ liệu quan hệ, nhưng tiêu chuẩn này vẫn chưa hoàn thiện 100% Do đó, các ngôn ngữ lập trình khác đã mở rộng và bổ sung thêm cho SQL chuẩn để phù hợp với nhu cầu ứng dụng của mình, dẫn đến sự khác biệt rõ rệt giữa các phiên bản SQL.

SQL, hay còn gọi là Ngôn ngữ truy vấn có cấu trúc, là một hệ thống quản trị cơ sở dữ liệu đa người dùng theo kiểu Client/Server Đây là một công cụ quan trọng để lưu trữ dữ liệu cho nhiều ứng dụng lớn hiện nay và được áp dụng rộng rãi trong nhiều lĩnh vực khác nhau Hầu hết các ngôn ngữ lập trình bậc cao như Visual Basic, Oracle và Visual C đều hỗ trợ SQL, giúp người dùng dễ dàng tương tác với cơ sở dữ liệu.

‒ SQL là công cụ sử dụng để tổ chức, quản lý và truy xuất dữ liệu được lưu trữ trong các cơ sở dữ liệu.

‒ SQL là một hệ thống ngôn ngữ bao gồm tập các câu lệnh sử dụng để tương tác với cơ sở dữ liệu quan hệ.

‒ 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: các cấu trúc lưu trữ và tổ chức liệu.

SQL cung cấp khả năng định nghĩa dữ liệu cũng như mối quan hệ giữa các cơ sở dữ liệu, các thành phần dữ

Với SQL, người dùng có khả nă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 một cách dễ dàng trong các cơ sở dữ liệu.

SQL giúp cấp phát và kiểm soát quyền truy cập của người sử dụng đối với dữ liệu, từ đó đảm bảo an toàn cho cơ sở dữ liệu.

SQL đảm bảo toàn vẹn dữ liệu thông qua việc định nghĩa các ràng buộc, giúp duy trì tính hợp lệ và chính xác của dữ liệu Điều này rất quan trọng trong việc xử lý các thao tác cập nhật và giảm thiểu lỗi hệ thống.

Cơ sở dữ liệu quan hệ là một loại cơ sở dữ liệu được tổ chức thành các thực thể, trong đó mỗi thực thể bao gồm một tập hợp các giá trị tương ứng với các thuộc tính của nó.

2.1.2 Hệ quản trị cơ sở dữ liệu

Hệ quản trị cơ sở dữ liệu (DBMS) là phần mềm chuyên dụng nhằm quản lý cơ sở dữ liệu, hỗ trợ người dùng trong việc lưu trữ, sửa đổi, xóa và tìm kiếm thông tin hiệu quả.

Có nhiều loại hệ quản trị cơ sở dữ liệu (CSDL) đa dạng, từ những phần mềm nhỏ gọn hoạt động trên máy tính cá nhân đến các hệ thống phức tạp được triển khai trên một hoặc nhiều siêu máy tính.

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

• Hệ quản trị CSDL tốt thì khá phức tạp.

• Hệ quản trị CSDL tốt thường rất lớn chiếm nhiều dung lượng bộ nhớ.

• Giá cả khác nhau tùy theo môi trường và chức năng.

• Hệ quản trị CSDL được viết tổng quát cho nhiều người dùng thì thường chậm.

❖ Gi ới thiệu chung về SQL SERVER 2008

SQL Server 2008 có tên mã là “katmai” Ngày 27/02/2008 , Microsoft tổ chức một sự kiện có tên Heroes Happen Here nhằm giới thiệu sản phẩm mới SQL Server 2008.

SQL Server 2008 đóng vai trò quan trọng trong việc nâng cao công nghệ NET 3.0 thông qua LINQ (Language Integrated Query) Nó cung cấp hỗ trợ mạnh mẽ cho các thực thể dữ liệu doanh nghiệp và cải thiện các tùy chọn đồng bộ dữ liệu.

Cài đặt SQL Server 2008 đã được đơn giản hóa với nhiều nâng cao, bao gồm việc tách biệt dữ liệu cấu hình và các bit “engine” Điều này giúp dễ dàng tạo một đĩa hệ thống không cấu hình cơ bản để phân phối đến nhiều máy chủ Ngoài ra, người dùng có thể cập nhật các nâng cấp mới nhất từ website Microsoft và cài đặt các gói dịch vụ cùng bản vá một cách thuận tiện Tính năng gỡ bỏ cài đặt các gói dịch vụ cũng được thực hiện dễ dàng.

Microsoft SQL Server 2008 là nền tảng dữ liệu mạnh mẽ, đóng vai trò quan trọng trong việc phát triển ứng dụng cơ sở dữ liệu Nền tảng này cho phép doanh nghiệp truy cập và xử lý dữ liệu từ nhiều thiết bị, nền tảng và dịch vụ khác nhau, tạo ra một hệ sinh thái dữ liệu toàn diện và hiệu quả.

Xây dựng các ứng dụng có khả năng nâng cấp cao với SQL Server 2008

Phát triển các thủ tục hiệu suất cao cho việc truy cập và quản lý dữ liệu trong cơ sở dữ liệu có thể được thực hiện thông qua tích hợp SQL Server Common Language Runtime (CLR) với Microsoft NET Framework và các ngôn ngữ lập trình như C# và Visual Basic NET Việc tạo ra các giải pháp không đồng bộ dựa trên message sử dụng cấu trúc hướng dịch vụ giúp điều chỉnh quy trình trong toàn doanh nghiệp và mở rộng khả năng với Service Broker Đồng thời, xây dựng các giải pháp dữ liệu phân bố có khả năng nâng cấp cao bằng cách hỗ trợ các chuẩn như SOAP và HTTP Nền tảng Dữ liệu Microsoft cung cấp nhiều công nghệ và sản phẩm giúp các chuyên gia phát triển phần mềm xây dựng ứng dụng cơ sở dữ liệu mạnh mẽ, đáp ứng nhu cầu đa dạng của các doanh nghiệp.

KHÁI NIỆM PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG THÔNG TIN

❖ Khái niệm hệ thống thông tin:

Hệ thống thông tin là một tập hợp các thành phần được tổ chức một cách có hệ thống, có nhiệm vụ thu thập, xử lý, phân tích và tổng hợp thông tin Nó hỗ trợ các nhà quản lý trong việc quản lý cơ sở dữ liệu hiệu quả và đưa ra quyết định kinh doanh, từ đó mang lại lợi ích cho tổ chức.

❖ Các thành phần của hệ thống thông tin:

+ Phần mềm hệ thống: điều khiển phần cứng và các phần mềm khác (hệ điều hành, phần mềm điều khiển thiết bị ).

Phần mềm ứng dụng là các chương trình được sử dụng để xử lý dữ liệu nhằm tạo ra thông tin hữu ích Những ứng dụng này có thể bao gồm các sản phẩm do công ty phát triển hoặc phần mềm được mua từ các nhà cung cấp bên ngoài.

• Con người: người sử dụng hệ thống, là người cho – nhận thông tin đối với hệ thống.

+ Người sử dụng bên trong: người quản lý, kỹ thuật viên.

+ Người sử dụng bên ngoài: khách hàng, nhà cung cấp.

❖ Vòng đời phát triển hệ thống thông tin:

Vòng đời phát triển hệ thống (SDLC) là quá trình bao gồm nhiều giai đoạn, bắt đầu từ khi khởi động dự án cho đến khi kết thúc việc khai thác hệ thống SDLC giúp đảm bảo rằng các yêu cầu của dự án được thực hiện một cách hiệu quả và hệ thống được phát triển theo đúng kế hoạch.

• Vòng đời phát triển điển hình:

+ Khảo sát hệ thống và xác lập dự án.

TỔNG QUAN VỀ NGÔN NGỮ LẬP TRÌNH C#

Ngôn ngữ C# được phát triển từ C và C++, với mục tiêu tạo ra một nền tảng dễ sử dụng hơn Microsoft đã cải tiến và bổ sung nhiều đặc tính mới, tương tự như trong ngôn ngữ Java Những mục đích chính khi xây dựng ngôn ngữ C# bao gồm việc nâng cao trải nghiệm lập trình cho người dùng.

• C# là ngôn ngữ đơn giản

• C# là ngôn ngữ hiện đại

• C# là ngôn ngữ hướng đối tượng

• C# là ngôn ngữ mạnh mẽ và mềm dẻo

• C# là ngôn ngữ có ít từ khóa

• C# là ngôn ngữ hướng module

• C# sẽ trở nên phổ biến

C# là ngôn ngữ đơn giản

C# đơn giản hóa nhiều phức tạp và rối rắm của các ngôn ngữ như Java và C++, bằng cách loại bỏ các macro, template, đa kế thừa và lớp cơ sở ảo Những yếu tố này thường gây nhầm lẫn và vấn đề cho các lập trình viên C++ Nếu bạn học C# đầu tiên, bạn sẽ không phải trải qua những khó khăn này, nhưng cũng sẽ không nhận ra được hiệu quả của C# khi giải quyết các vấn đề đó.

Ngôn ngữ C# được coi là đơn giản vì nó được xây dựng dựa trên nền tảng của C và C++ Những ai đã quen thuộc với C, C++ hoặc thậm chí là Java sẽ nhận thấy C# có nhiều điểm tương đồng về diện mạo, cú pháp, biểu thức, toán tử và các chức năng khác.

C++ đã được cải tiến để trở nên đơn giản hơn, bao gồm việc loại bỏ những phần dư thừa và thêm vào cú pháp mới Một ví dụ điển hình là ba toán tử trong C++ để làm việc với các thành viên: ::, , và ->, điều này có thể gây nhầm lẫn cho người học Ngược lại, C# sử dụng một toán tử duy nhất là (dot), giúp giảm bớt sự phức tạp và làm cho việc học trở nên dễ dàng hơn Những cải tiến này hỗ trợ người mới học trong việc nắm bắt ngôn ngữ lập trình một cách hiệu quả.

Nếu bạn đã quen thuộc với Java và thấy rằng nó đơn giản, thì bạn sẽ nhận ra rằng C# cũng dễ sử dụng Mặc dù nhiều người không coi Java là ngôn ngữ dễ học, nhưng thực tế là C# dễ hơn cả Java lẫn C++.

C# là một ngôn ngữ lập trình hiện đại với nhiều đặc điểm nổi bật như xử lý ngoại lệ, thu gom bộ nhớ tự động, kiểu dữ liệu mở rộng và bảo mật mã nguồn Những tính năng này được kỳ vọng trong một ngôn ngữ hiện đại, và C# đáp ứng đầy đủ Dù có thể cảm thấy những đặc tính này phức tạp khi mới bắt đầu học lập trình, nhưng qua các chương trong cuốn sách này, bạn sẽ dần dần hiểu rõ hơn về chúng.

Con trỏ là một yếu tố quan trọng trong ngôn ngữ C++, nhưng cũng gây ra nhiều rắc rối Ngược lại, C# đã loại bỏ những phức tạp và khó khăn liên quan đến con trỏ Trong C#, bộ thu gom bộ nhớ tự động và kiểu dữ liệu an toàn được tích hợp, giúp giải quyết các vấn đề rắc rối mà C++ gặp phải.

C# là ngôn ngữ hướng đối tượng

Ngôn ngữ lập trình hướng đối tượng (Object-oriented language) có ba đặc điểm chính: đóng gói (encapsulation), kế thừa (inheritance) và đa hình (polymorphism) C# hoàn toàn hỗ trợ các đặc tính này, và phần hướng đối tượng của C# sẽ được trình bày chi tiết trong một chương riêng ở phần sau.

C# là ngôn ngữ mạnh mẽ và cũng mềm dẻo

C# là một ngôn ngữ lập trình linh hoạt, cho phép người dùng tự do sáng tạo mà không bị ràng buộc bởi những giới hạn cứng nhắc Ngôn ngữ này phù hợp cho nhiều loại dự án, từ ứng dụng xử lý văn bản, ứng dụng đồ họa, cho đến bảng tính và cả các trình biên dịch cho ngôn ngữ khác.

C# là ngôn ngữ ít từ khóa

C# là một ngôn ngữ lập trình với số lượng từ khóa hạn chế, chủ yếu dùng để mô tả thông tin Mặc dù nhiều người cho rằng ngôn ngữ có nhiều từ khóa sẽ mạnh mẽ hơn, nhưng điều này không hoàn toàn đúng với C# Ngôn ngữ này vẫn có khả năng thực hiện mọi nhiệm vụ lập trình một cách hiệu quả.

C# là ngôn ngữ hướng module

Mã nguồn C# được tổ chức thành các lớp, trong đó chứa các phương thức thành viên Các lớp và phương thức này có thể được tái sử dụng trong các ứng dụng hoặc chương trình khác Bằng cách truyền các mẫu thông tin cho các lớp và phương thức, chúng ta có thể tạo ra mã nguồn tái sử dụng một cách hiệu quả.

C# sẽ là một ngôn ngữ phổ biến

C# là một trong những ngôn ngữ lập trình mới nổi và có tiềm năng trở thành phổ biến nhờ sự cam kết mạnh mẽ của Microsoft và nền tảng NET Mặc dù một công ty không thể tự mình làm cho một sản phẩm trở nên phổ biến, nhưng Microsoft đã hỗ trợ C# bằng cách áp dụng ngôn ngữ này trong nhiều sản phẩm của mình Khác với sự thất bại của hệ điều hành Microsoft Bob, C# đã được sử dụng rộng rãi trong công việc hàng ngày của Microsoft, chứng minh khả năng và tính cần thiết của nó đối với các lập trình viên.

Microsoft NET đóng vai trò quan trọng trong sự thành công của C#, mang đến một cách tiếp cận mới trong việc phát triển và triển khai ứng dụng Bên cạnh đó, C# sẽ ngày càng trở nên phổ biến nhờ vào những đặc điểm nổi bật của ngôn ngữ này, như tính đơn giản, hướng đối tượng và sức mạnh vượt trội.

TỔNG QUAN VỀ MICROSOFT VISUAL STUDIO 2013

With the release of Windows 8.1, Microsoft officially introduced the complete version of Visual Studio 2013 This renowned programming toolkit consists of five main components: Visual Studio Ultimate 2013, Visual Studio Premium 2013, Visual Studio Professional 2013, Visual Studio Test Professional 2013, and Visual Studio Team Foundation Server 2013.

Visual Studio 2013 là công cụ mạnh mẽ giúp lập trình viên phát triển, phân phối và quản lý ứng dụng, tối ưu hóa việc khai thác các thiết bị và dịch vụ hiện đại Phiên bản này được trang bị nhiều tính năng mới, nâng cao chất lượng và rút ngắn thời gian phát triển ứng dụng Với các công cụ và nền tảng được cập nhật, lập trình viên có thể dễ dàng viết và chạy thử ứng dụng cho Windows 8.1.

Microsoft Visual Studio is an integrated development environment (IDE) from Microsoft, designed for creating computer programs for Windows, as well as websites, web applications, and web services It leverages Microsoft's software development platforms, including Windows API, Windows Forms, Windows Presentation Foundation, Windows Store, and Microsoft Silverlight Visual Studio is capable of generating both machine code and managed code.

Visual Studio là một công cụ mạnh mẽ bao gồm trình soạn thảo mã với hỗ trợ IntelliSense và cải tiến mã nguồn Nó tích hợp trình gỡ lỗi cho cả mã nguồn và máy, cùng với các công cụ thiết kế ứng dụng, web, lớp và cơ sở dữ liệu Hệ thống cũng hỗ trợ plug-in để mở rộng chức năng, bao gồm cả hỗ trợ cho hệ thống quản lý phiên bản như Subversion và các bộ công cụ mới cho biên tập và thiết kế trực quan trong phát triển phần mềm.

TỔNG QUAN VỀ DEVEXPRESS

DevExpress là một framework được thiết kế cho nền tảng NET Framework, cung cấp các điều khiển và công nghệ hỗ trợ phát triển phần mềm Các thành phần của DevExpress bao gồm nhiều công cụ hữu ích cho lập trình viên.

• WinForms Controls: Cung cấp các control cho WinForms.

• ASP.NET Controls: Cung cấp các control cho WebForms.

• WPF Controls: Cung cấp các control cho WPF.

• Silverlight Controls: Cung cấp các control cho Silverlight.

• XtraCharts: Control cung cấp các loại biểu đồ.

• XtraReports: Cung cấp các control tạo báo cáo.

• XPO: Cung cấp môi trường làm việc với database.

• XAF: Một công nghệ mới giúp việc phát triển phần mềm một cách nhanh chóng.

Sau nhiều phiên bản nâng cấp, DevExpress đã cải thiện và bổ sung nhiều tính năng mới Phiên bản hiện tại cung cấp cho bạn những công cụ và môi trường tuyệt vời, giúp bạn nhanh chóng và dễ dàng biến ý tưởng của mình thành hiện thực.

TỔNG QUAN VỀ ADO.NET

ADO.NET là một thành phần quan trọng của NET Framework, đóng vai trò là "bộ thư viện lớp" cho ngôn ngữ MS.NET Được thiết kế với mô hình dữ liệu "ngắt kết nối", ADO.NET cho phép người dùng truy xuất cấu trúc dữ liệu phức tạp từ cơ sở dữ liệu, sau đó ngắt kết nối và thực hiện các thao tác cần thiết Thiết kế này đánh dấu một bước tiến so với ADO trước đây, vốn yêu cầu duy trì kết nối liên tục trong quá trình thao tác dữ liệu.

❖ SO SÁNH VỚI PHIÊN BẢN ADO

Trước khi ADO.NET ra đời, Microsoft đã phát triển ADO, một bộ thư viện mạnh mẽ cho việc xử lý dữ liệu ADO nổi bật với tính linh hoạt, dễ sử dụng và khả năng tích hợp tốt với các ngôn ngữ lập trình như Visual Basic, C# và ASP 3.0.

ADO.NET được xem là thế hệ tiếp theo của ADO, kế thừa các ưu điểm của ADO nhưng có thiết kế hoàn toàn mới Một số đặc điểm nổi bật của ADO.NET mà ADO không có bao gồm khả năng làm việc với dữ liệu không kết nối và hỗ trợ tốt hơn cho các ứng dụng web.

ADO.NET được thiết kế hoàn toàn dựa vào XML vì XML là chuẩn trao đổi dữ liệu tiến bộ và tốt nhất trên môi trường internet hiện nay.

ADO.NET được thiết kế hoàn toàn hướng đối tượng: đây là đặc điểm chi phối hoàn toàn bộ các sản phẩm Microsoft NET.

ADO.NET sở hữu hai đặc điểm nổi bật mà ADO không có, và dưới đây là sự so sánh chi tiết giữa hai công nghệ này ADO.NET mang lại khả năng kết nối và xử lý dữ liệu hiệu quả hơn, giúp cải thiện hiệu suất trong các ứng dụng Trong khi đó, ADO chủ yếu dựa vào mô hình kết nối trực tiếp, ADO.NET cho phép làm việc với dữ liệu một cách không đồng bộ và hỗ trợ các kiến trúc ứng dụng hiện đại hơn.

Dữ liệu xử lý Recordset: tương đương 1 Dataset: tương được đưa vào dưới bảng dữ liệu trong database đương 1 database dạng

Duyệt dữ liệu Recordset chỉ cho phép duyệt “tự do, ngẫu nhiên”, duyệt tuần tự, từng dòng một truy cập thẳng tới bảng, dòng, cột mong muốn.

Recordset cũng có thể ngắt kết nối nhưng tư tưởng Dataset được thiết kế

Dữ liệu ngắt kết nối trong thiết kế ban đầu của Recordset được phát triển với mục tiêu chính là kết nối, vì vậy việc hỗ trợ ngắt kết nối không được chú trọng mạnh mẽ Điều này dẫn đến việc cần cải thiện khả năng hỗ trợ ngắt kết nối để đáp ứng tốt hơn nhu cầu người dùng.

Khi trao đổi dữ liệu với ADO.NET trao đổi ADO qua internet, thường sử dữ liệu qua internet rất dễ

Khả năng vượt qua chuẩn COM và ADO.NET gặp nhiều khó khăn do tường lửa thiết kế theo chuẩn XML Điều này dẫn đến việc trao đổi dữ liệu ADO qua Internet thường gặp nhiều hạn chế.

Kiến trúc ADO.NET có hai phần:

Phần kết nối là yếu tố quan trọng khi làm việc với cơ sở dữ liệu, cho phép thực hiện các thao tác dữ liệu hiệu quả Để thao tác thành công, việc thiết lập kết nối với cơ sở dữ liệu là điều cần thiết.

Connection: Đối tượng quản lý đóng/mở kết nối tới Database Có 2 dạng

Connection tùy theo nguồn dữ liệu là gì (OleDb hay SQL Server) đó là OleDbConnection SqlConnection.

Command là đối tượng thực hiện các câu lệnh tương tác để truy vấn và rút trích dữ liệu từ cơ sở dữ liệu sau khi đã thiết lập kết nối Tương tự như Connection, Command có hai dạng tùy thuộc vào nguồn dữ liệu là OleDbCommand và SqlCommand, tương ứng với OleDb và SQL Server.

DataReader là một đối tượng chuyên xử lý việc đọc dữ liệu, được thiết kế tối ưu cho các ứng dụng web Nó chỉ xử lý một dòng dữ liệu tại một thời điểm, giúp tiết kiệm bộ nhớ và tăng tốc độ xử lý DataReader có hai loại chính là OleDbDataReader và SqlDataReader, tùy thuộc vào nguồn dữ liệu Dữ liệu của đối tượng này được tạo ra khi thực hiện câu lệnh ExecuteReader() từ đối tượng Command.

DataAdapter là một đối tượng quan trọng trong ADO.NET, đóng vai trò cầu nối giữa database và dataset Do dataset là đối tượng ngắt kết nối, nó không thể liên lạc trực tiếp với database, vì vậy cần có DataAdapter để lấy dữ liệu từ database Mặc dù DataAdapter vẫn duy trì kết nối khi thao tác với database, nhưng chức năng chính của nó là phục vụ cho việc ngắt kết nối.

Dataset là đối tượng duy nhất chịu trách nhiệm ngắt kết nối, không cần biết về loại Database hay cách kết nối Nhiệm vụ của Dataset là nhận và xử lý dữ liệu từ DataAdapter, hoạt động như một Database trong bộ nhớ với tất cả các bảng và quan hệ Dataset bao gồm nhiều đối tượng con như DataTable (tương đương với một bảng), và các đối tượng cấp thấp hơn như DataRow (tương đương với một dòng) và DataColumn (tương đương với một cột).

DataRelation tương đương với các quan hệ trong cơ sở dữ liệu, cùng với các thành phần như DataTableCollection, DataRowCollection và DataColumnCollection Mặc dù Dataset là một bước tiến lớn trong kiến trúc ADO.NET, nhưng việc sử dụng Dataset trong các ứng dụng Web không được khuyến khích do kích thước lớn và tính nặng nề của nó, khiến cho việc truyền tải qua mạng trở nên khó khăn.

❖ SỬ DỤNG ADO.NET TRONG CSHARP (C#)

Để tương tác hiệu quả với cơ sở dữ liệu (CSDL), bất kỳ hệ CSDL nào cũng cần tuân thủ các bước quan trọng sau đây.

B1: Khai báo thư viện kết nối đến CSDL

B2: Khởi tạo đối tượng kết nối cơ sở dữ liệu: ServerName, Database Name, User + Pass (Nếu có).

B3: Khởi tạo đối tượng truyền câu lệnh SQL.

B4: Kết nối đối tượng 2 và 3.

Nếu bạn có nhu cầu SELECT dữ liệu để trình bày theo 1 mục đích nào đó thì tiếp theo bước 4 ở trên, cần thêm các bước sau:

B5: Khởi tạo đối tượng bộ điều phối (DataAdapter).

B7: Lấy 5 đỗ dữ liệu vào 6.

Sau khi được 1 bảng dữ liệu, chúng ta có quyền thao tác tùy ý:

Trình bày dữ liệu dạng bảng.

Tính toán các công thức.

Tương tác INSERT, UPDATE, DELETE

Nếu bạn có nhu cầu thay đổi dữ liệu: Thêm, Xóa, Sửa thì thêm các bước sau vào sau bước 4:

Khởi tạo ExcecuteNonQuery() để thực thi dữ liệu.

Sau khi được thực thi:

Dữ liệu ở phía CSDL bị thay đổi.

Khai báo thư viện hệ CSDL

Chú ý: khi tương tác với server

Phải khai báo Tên server (Server name)

Để đảm bảo tính chính xác khi sử dụng Database dưới dạng tập tin Excel hoặc Access, cần chỉ rõ vị trí lưu trữ Nên khuyến khích người dùng lưu trữ các tập tin này trong thư mục gốc của ứng dụng, cụ thể là thư mục Bin\Debug\.

Có 2 phương thức truy vấn đến server SQL Server:

Windows Authentication (Không cần nhập user và pass) SQL Authentication (Phải khai báo user và pass).

Chỉ rõ User và Pass nếu như server chỉ cho phép kết với thông qua giao thức này.

VII KIẾN TRÚC ENTITY FRAMEWORK

Entity Framework là nền tảng hỗ trợ làm việc với cơ sở dữ liệu thông qua ánh xạ Object/Relational Mapping (ORM), cho phép người dùng truy vấn và thao tác với cơ sở dữ liệu một cách gián tiếp thông qua các đối tượng lập trình.

THÀNH PHẦN DỮ LIỆU PHÂN TÍCH HỆ THỐNG

2.8.1 Mô hình dữ liệu mức quan niệm (CDM)

Dữ liệu là tập hợp các ký hiệu tạo nên thông tin phản ánh các khía cạnh của tổ chức, đóng vai trò quan trọng trong hệ thống thông tin Với tính phức tạp của các tổ chức, việc thông tin phản ánh chính xác và kịp thời là cần thiết Do đó, cần nghiên cứu các phương pháp nhận biết, tổ chức và lưu trữ dữ liệu để xử lý và khai thác chúng một cách hiệu quả.

Mức quan niệm trong hệ thống thông tin có vai trò quan trọng trong việc nhận diện và xác định chính xác các lớp đối tượng cũng như mối quan hệ giữa chúng trong tổ chức Thông tin về các đối tượng và mối quan hệ này tạo thành dữ liệu cốt lõi của hệ thống thông tin tổ chức.

Đến nay, có nhiều phương pháp để mô tả và trình bày thành phần dữ liệu của các tổ chức, trong đó mô hình được ưa chuộng vì tính trực quan và dễ hiểu Mô hình là tập hợp các phần tử, thường được sử dụng như mục tiêu cho ánh xạ từ các tập khác trong thế giới thực, giúp phản ánh các lớp đối tượng, quan hệ và xử lý trong tổ chức Với hình thức trực quan, mô hình dễ dàng mô tả, biểu diễn và nghiên cứu những vấn đề phức tạp, trừu tượng hoặc những đối tượng khó thực hiện trực tiếp.

2.8.2 Mô hình quan hệ (Relational Model)

Mô hình quan hệ dựa trên khái niệm quan hệ để biểu diễn các lớp đối tượng và mối liên quan giữa chúng, với ưu điểm là có cơ sở toán học vững chắc từ đại số quan hệ, phù hợp cho những hệ thống thông tin đơn giản và người phát triển có kiến thức toán học Tuy nhiên, nhược điểm của mô hình này là nghèo nàn về ngữ nghĩa, khó diễn đạt và khó hiểu cho người tham gia xây dựng hệ thống, đặc biệt là người dùng, do đó nó thích hợp hơn với mức logic về dữ liệu thay vì mức quan niệm.

2.8.3 Mô hình thực thể - kết hợp

Mô hình này dựa trên các khái niệm thực thể, mối kết hợp và bản số, với đặc điểm giàu ngữ nghĩa, dễ hình dung và được chuẩn hóa bằng những quy tắc chặt chẽ Sự giàu ngữ nghĩa của mô hình giúp việc mô hình hóa hệ thống trở nên thuận lợi, cho phép mọi thành phần, đặc biệt là người dùng, dễ dàng nắm bắt.

2.8.4 Mô hình dữ liệu mức logic (LDM)

Chúng ta đã tìm hiểu về phương pháp xây dựng mô hình dữ liệu mức quan niệm cho tổ chức, với ngữ nghĩa phong phú giúp người dùng dễ hiểu Tuy nhiên, để hệ thống quản lý tập tin và cơ sở dữ liệu có thể tiếp nhận, cần chuyển đổi sang mô hình logic, gần gũi với ngôn ngữ máy tính hơn Giai đoạn này, gọi là phân tích và thiết kế dữ liệu mức logic, không đi sâu vào chi tiết kỹ thuật về truy xuất hay lưu trữ, mà chú trọng đến khả năng và giới hạn của hệ thống quản lý Mô hình logic tập trung vào cách tổ chức dữ liệu, đảm bảo đáp ứng yêu cầu về thời gian xử lý.

Như vậy, mục tiêu của mô hình logic cho dữ liệu là nhằm:

• Tối ưu hóa cách tổ chức đó.

Có ba kiểu mô hình cơ sở dữ liệu chính: mô hình mạng, mô hình phân cấp và mô hình quan hệ Mô hình mạng là kiểu đầu tiên xuất hiện, phát triển vào những năm đầu của ngành công nghệ thông tin.

70 Sau đó là mô hình quan hệ và mô hình phân cấp gần như xuất hiện đồng thời Mô hình quan hệ dù xuất hiện sau nhưng có nhiều đặc tính ưu việt hơn hai kiểu mô hình còn lại và nhanh chóng phát triển Hiện nay hầu hết các hệ quản trị cơ sở dữ liệu cài đặt theo mô hình quan hệ Chính vì vậy mà chúng ta quan tâm tới việc chuyển mô hình thực thể kết hợp thành cơ sở dữ liệu theo mô hình quan hệ.

IX THÀNH PHẦN XỬ LÝ PHÂN TÍCH HỆ THỐNG

Lưu đồ dòng dữ liệu là công cụ phân tích các thành phần xử lý trong hệ thống thông tin, giúp biểu diễn mối liên kết giữa các hoạt động thông qua việc trao đổi dữ liệu trong quá trình hoạt động của hệ thống.

GIỚI THIỆU VỀ MÃ HÓA MẬT KHẨU

Trong mật mã học, thuật toán khóa đối xứng là một nhóm các thuật toán mã hóa, trong đó khóa dùng để mã hóa và giải mã có mối quan hệ rõ ràng, cho phép dễ dàng tìm ra khóa này nếu biết khóa kia Loại mã khóa này không được công khai.

Khóa mã hóa và khóa giải mã có thể giống nhau hoặc chỉ khác nhau qua một biến đổi đơn giản Những khóa này đại diện cho bí mật được chia sẻ giữa hai hoặc nhiều bên, giúp duy trì tính bảo mật trong kênh truyền thông.

Các thuật ngữ liên quan đến mã hóa chìa khóa đối xứng bao gồm mã hóa đơn khóa, mã hóa một khóa và mã hóa khóa cá nhân Tuy nhiên, thuật ngữ "khóa cá nhân" có thể gây nhầm lẫn vì nó cũng được sử dụng trong bối cảnh mật mã hóa khóa công khai.

Mã hóa đối xứng có một số dạng như sau:

- Mã hóa dữ liệu DES (Data Encryption Standard)

- Mã hóa mật mã AES (Advanced Encryption Standard)

- Mã hóa mật mã khối

Chế độ CBC (Cipher Block Chaining) sử dụng phương pháp kết hợp phản hồi để mã hóa văn bản Trước khi mã hóa mỗi khối văn bản thuần, nó được kết hợp với văn bản mã hóa của khối trước đó thông qua phép toán OR độc lập bitwise Điều này đảm bảo rằng ngay cả khi có nhiều khối giống nhau trong văn bản thuần, chúng sẽ được mã hóa thành các khối khác nhau Các vector khởi tạo cũng được kết hợp với khối văn bản thuần đầu tiên thông qua phép toán OR trước khi tiến hành mã hóa Nếu một khối văn bản mã hóa bị đọc sai, khối văn bản thuần tương ứng cũng sẽ bị ảnh hưởng, dẫn đến việc một bit trong khối tiếp theo, ở vị trí tương tự, cũng sẽ bị đọc sai.

CFB (Cipher Feedback) là phương thức mã hóa xử lý từng bước của văn bản thuần túy thành văn bản mật mã, thay vì xử lý toàn bộ khối cùng lúc Chế độ này sử dụng một thanh ghi thay đổi có kích thước lớn, được chia thành nhiều phần Ví dụ, với kích thước khối 8 byte, mỗi byte sẽ được xử lý riêng lẻ Nếu một bit trong văn bản mật mã bị sai, sẽ dẫn đến việc đọc sai một vài bước tiếp theo của văn bản thuần cho đến khi bit lỗi được loại bỏ khỏi thanh ghi thay đổi Kích thước phản hồi thường dao động theo thuật toán, nhưng thường là 8 bit hoặc tương ứng với kích thước khối.

Chế độ Ăn cắp Văn bản Cipher (CTS) là một phương pháp mã hóa cho phép xử lý văn bản thuần với bất kỳ chiều dài nào, đồng thời tạo ra văn bản mật mã có chiều dài tương đương CTS hoạt động tương tự như chế độ CBC đối với tất cả các khối ngoại trừ hai khối cuối cùng của văn bản thuần, giúp đảm bảo tính bảo mật và tính toàn vẹn cho dữ liệu mã hóa.

Chế độ Electronic Codebook (ECB) mã hóa mỗi khối dữ liệu một cách độc lập, dẫn đến việc các khối văn bản giống hệt nhau trong cùng một thông điệp sẽ được mã hóa thành các khối giống hệt nhau khi sử dụng cùng một khóa Tuy nhiên, chế độ này không được khuyến khích do có nhiều lỗ hổng an ninh Việc lặp lại đáng kể trong văn bản thuần có thể khiến cho việc phá vỡ mã hóa trở nên dễ dàng hơn, khi kẻ tấn công có thể phân tích từng khối để xác định khóa mã hóa.

Chế độ phản hồi đầu ra (OFB) là một phương pháp xử lý dữ liệu, trong đó các bước tăng giảm của văn bản thuần túy được chuyển đổi thành văn bản mật mã mà không cần xử lý toàn bộ khối cùng một lúc OFB tương tự như chế độ CFB, nhưng điểm khác biệt chính nằm ở cách thanh ghi thay đổi được lấp đầy Nếu một bit trong văn bản mật mã bị đọc sai, thì bit tương ứng của văn bản thuần sẽ cũng bị sai Tuy nhiên, nếu có thêm hoặc thiếu bit trong văn bản mật mã, văn bản thuần túy sẽ bị sai từ thời điểm đó.

Mã hóa dữ liệu DES

DES (Tiêu chuẩn Mã hóa Dữ liệu) là một phương pháp mã hóa được FIPS công nhận vào năm 1976 và nhanh chóng trở thành tiêu chuẩn toàn cầu Tuy nhiên, thuật toán của DES đã gây ra nhiều tranh cãi do các yếu tố như thiết kế mật, độ dài khóa ngắn và nghi ngờ về khả năng bị bẻ khóa bởi NSA Những vấn đề này đã thúc đẩy nghiên cứu sâu hơn về mã hóa khối và các phương pháp thám mã liên quan.

Hiện nay, DES không còn đủ an toàn cho nhiều ứng dụng do độ dài khóa chỉ 56 bit quá nhỏ, dẫn đến việc khóa này đã bị phá trong vòng chưa đầy 24 giờ Nhiều phân tích đã chỉ ra những điểm yếu lý thuyết trong mã hóa, tuy không khả thi trong thực tế Triple DES, với việc thực hiện DES ba lần, được tin tưởng là an toàn hơn, mặc dù vẫn có khả năng bị phá trên lý thuyết Gần đây, DES đã được thay thế bằng AES (Tiêu chuẩn Mã hóa Tiên tiến).

Mã hóa mật mã AES

Trong mật mã học, AES (Tiêu chuẩn mã hóa tiên tiến) là một thuật toán mã hóa khối được chính phủ Hoa Kỳ công nhận làm tiêu chuẩn mã hóa toàn cầu Được phát triển bởi hai nhà mật mã học người Bỉ, Joan Daemen và Vincent Rijmen, thuật toán này có tên gọi "Rijndael" và đã trải qua quá trình tiêu chuẩn hóa kéo dài 5 năm do Viện tiêu chuẩn và công nghệ quốc gia Hoa Kỳ (NIST) thực hiện AES được kỳ vọng sẽ được áp dụng rộng rãi như tiêu chuẩn tiền nhiệm DES và đã được nghiên cứu kỹ lưỡng trước khi được chấp thuận.

Phần mềm quản lý cửa hàng vật liệu xây dựng sử dụng mã hóa khối theo dạng ECB (Electronic Code Book) Ưu điểm của phương pháp này là khả năng mã hóa hệ thống lưu trữ dữ liệu, cho phép cập nhật từng đơn vị một cách dễ dàng mà không ảnh hưởng đến các cơ sở dữ liệu khác.

Nhược điểm: nếu được sử dụng trong ngân hàng sẽ bị đánh cắp thông tin do đó nó không có lợi cho bảo mật hệ thống ngân hàng.

2.10.2 Mã hóa bất đối xứng

Mật mã hóa khóa công khai cho phép người dùng trao đổi thông tin bí mật mà không cần chia sẻ khóa bí mật trước đó Phương pháp này dựa trên việc sử dụng một cặp khóa có mối quan hệ toán học, bao gồm khóa công khai và khóa cá nhân (khóa bí mật).

Mật mã hóa khóa bất đối xứng thường bị nhầm lẫn với mật mã hóa khóa công khai, mặc dù chúng không hoàn toàn giống nhau Một số thuật toán mật mã khóa bất đối xứng yêu cầu giữ bí mật cả hai khóa dùng cho mã hóa và giải mã, không chỉ riêng khóa công khai.

Trong mật mã hóa khóa công khai, khóa cá nhân cần được bảo mật trong khi khóa công khai có thể được chia sẻ rộng rãi Một trong hai khóa được sử dụng để mã hóa dữ liệu, trong khi khóa còn lại dùng để giải mã Điều quan trọng là hệ thống phải đảm bảo rằng không thể xác định được khóa bí mật chỉ dựa vào khóa công khai.

Hệ thống mật mã hóa khóa công khai có thể sử dụng với các mục đích:

THIẾT KẾ CƠ SỞ DỮ LIỆU VẬT LÝ

❖ KHACHHANG(MAKH, TENKH, DIACHI, SDT)

Bảng KHACHHANG thể hiện khách hàng của cửa hàng Các khách hàng được phân biệt với nhau bởi mã khách hàng và tên khách hàng.

STT Tên thuộc Kiểu dữ Khóa Khóa Diễn giải tính liệu chính ngoại

1 MAKH varchar(15) x Mã Khách hàng

2 TENKH nvarchar(50) Tên Khách hàng

3 DIACHI nvarchar(50) Địa chỉ Khách hàng

4 SDT nvarchar(50) Số điện thoại Khách hàng

Bảng 1 Mô tả bảng Khách hàng

❖ NHACUNGCAP(MANCC, TENNCC, DIACHI, SDT)

Bảng NHACUNGCAP thể hiện Nhà cung cấp của cửa hàng Các nhà cung cấp được phân biệt với nhau bởi mã nhà cung cấp và tên nhà cung cấp.

STT Tên thuộc Kiểu dữ Khóa Khóa Diễn giải tính liệu chính ngoại

1 MANCC varchar(15) x Mã Nhà cung cấp

2 TENNCC nvarchar(50) Tên Nhà cung cấp

3 DIACHI nvarchar(50) Địa chỉ Nhà cung cấp

4 SDT nvarchar(15) Số điện thoại Nhà cung cấp

Bảng 2 Mô tả bảng Nhà cung cấp

❖ LOAIHANG(MALOAI, TENLOAI, DIENGIAI, FLAG)

Bảng LOAIHANG thể hiện loại hàng của cửa hàng Các loại hàng được phân biệt với nhau bởi mã loại hàng và tên loại hàng.

STT Tên thuộc Kiểu dữ Khóa Khóa Diễn giải tính liệu chính ngoại

1 MALOAI varchar(15) x Mã loại hàng

2 TENLOAI nvarchar(50) Tên loại hàng

3 DIENGIAI text Diễn giải cho loại hàng

4 FLAG int Gắn cờ thể hiện trạng thái “Còn kinh doanh” của loại hàng Bảng 3 Mô tả bảng loại hàng

❖ HANGHOA(MAHH, MALOAI, TENHH, DONVI_TINH, XUATXU, GIA)

Bảng HANGHOA thể hiện Hàng hóa của cửa hàng Các Hàng hóa được phân biệt với nhau bởi mã Hàng hóa và tên Hàng hóa.

STT Tên thuộc Kiểu dữ Khóa Khóa Diễn giải tính liệu chính ngoại

1 MAHH varchar(15) x Mã Hàng hóa

2 MALOAI varchar(15) x Mã loại tham chiếu đến hàng hóa.

3 TENHH nvarchar(50) Tên Hàng hóa

4 DONVI_TINH nvarchar(50) Địa chỉ Hàng hóa

5 XUATXU nvarchar(50) Số điện thoại Hàng hóa

Bảng 4 Mô tả bảng Hàng hóa

❖ NHANVIEN(MANV, TENNV, GIOITINH, NGAYSINH, DIACHI, SDT,

Bảng NHANVIEN thể hiện Nhân viên của cửa hàng Các Nhân viên được phân biệt với nhau bởi mã Nhân viên và tên Nhân viên.

STT Tên thuộc Kiểu dữ Khóa Khóa Diễn giải tính liệu chính ngoại

1 MANCC varchar(15) x Mã Nhân viên

2 TENNCC nvarchar(50) Tên Nhân viên

3 GIOITINH nvarchar(5) Giới tính Nhân viên

4 NGAYSINH datetime Ngày sinh Nhân viên

5 DIACHI nvarchar(50) Địa chỉ Nhân viên

6 SDT nvarchar(50) Số điện thoại Nhân viên

7 DIENGIAI text Diễn giải Nhân viên

8 FLAG int Gắn cờ thể hiện trạng thái “Hoạt động” của Nhân viên Bảng 5 Mô tả bảng Nhân viên

Bảng KHO thể hiện kho của cửa hàng Cho chúng ta biết đang ở kho nào và số lượng bao nhiêu.

STT Tên thuộc Kiểu dữ Khóa Khóa Diễn giải tính liệu chính ngoại

2 MAHH varchar(15) x Mã hàng hóa tham chiếu đến kho.

3 SOLUONG int Số lượng hàng trong kho

Bảng 6 Mô tả bảng kho

❖ NGUOIDUNG (USERNAME, PASSWORD, LOAI, ACTIVE)

Bảng NGUOIDUNG thể hiện sự phân quyền khi đăng nhập vào hệ thống của chương trình.

STT Tên thuộc Kiểu dữ Khóa Khóa Diễn giải tính liệu chính ngoại

Tên đăng nhập dùng để phân biệt

1 USERNAME varchar(15) x các tài khoản đăng nhập chương trình.

2 PASSWORD nvarchar(50) Mật khẩu đăng nhập chương trình.

3 LOAI int Phân loại tài khoản quản trị.

4 ACTIVE int Trạng thái hoạt động của tài khoản

Bảng 7 Mô tả bảng Người dùng

3.1.8 Bảng Người dùng – Nhân viên

❖ TBLNGUOIDUNG_NHANVIEN(ID_I, USERNAME, MANV)

Bảng TBLNGUOIDUNG_NHANVIEN thể hiện việc kết hợp giữa bảng Nhân viên và bảng Người dùng với nhau.

STT Tênthuộc Kiểudữ Khóa Khóa Diễn giải tính liệu chính ngoại

1 ID_I int x Số Người dùng – Nhân viên

2 USERNAME varchar(15) x Tên đăng nhập tham chiếu đến người dùng – nhân viên.

3 MANV varchar(15) x Mã nhân viên tham chiếu đến người dùng – nhân viên.

Bảng 8 Mô tả bảng Người dùng – Nhân viên

❖ HOADON_NHAP(SO_HD_NHAP,MANCC,MANV,NGAYLAP_NHAP,

Bảng HOADON_NHAP thể hiện hóa đơn nhập của cửa hàng Các hóa đơn nhập được phân biệt với nhau bởi số hóa đơn.

STT Tên thuộc tính Kiểu dữ Khóa Khóa Diễn giải liệu chính ngoại

1 SO_HD_NHAP varchar(15) x Số hóa đơn nhập

2 MANCC varchar(15) x Mã nhà cung cấp tham chiếu đến hóa đơn nhập.

3 MANV varchar(15) x Mã nhân viên tham chiếu đến hóa đơn nhập.

4 NGAYLAP_NHAP Datetime Ngày lập hóa đơn nhập

5 FLAGNHAP Int Gắn cờ thể hiện trạng thái

“xong” của hóa đơn nhậpBảng 9 Mô tả bảng hóa đơn nhập

3.1.10 Bảng Chi tiết hóa đơn nhập

❖ CHITIET_HD_NHAP(ID,MAHH,SO_HD_NHAP,SOLUONG_NHAP,

Bảng CHITIET_HD_NHAP cung cấp thông tin chi tiết về hóa đơn nhập hàng của cửa hàng, với từng chi tiết hóa đơn được phân biệt thông qua số hiệu riêng.

STT Tên thuộc tính Kiểu dữ Khóa Khóa Diễn giải liệu chính ngoại

1 ID Int x Số chi tiết hóa đơn nhập

2 MAHH varchar(15) x Mã hàng hóa tham chiếu đến chi tiết hóa đơn nhập.

3 SO_HD_NHAP varchar(15) x Số hóa đơn nhập tham chiếu đến chi tiết hóa đơn nhập.

4 SOLUONG_NHAP int Số lượng nhập hàng vào của chi tiết hóa đơn nhập

5 DONGIA_NHAP int Đơn giá nhập hàng vào của chi tiết hóa đơn nhậpBảng 10 Mô tả bảng chi tiết hóa đơn nhập

❖ HOADON_XUAT(SO_HD_XUAT,MAKH,MANV,NGAYLAP_XUAT,

Bảng HOADON_XUAT thể hiện hóa đơn xuất của cửa hàng Các hóa đơn xuất được phân biệt với nhau bởi số hóa đơn.

STT Tên thuộc tính Kiểu dữ Khóa Khóa Diễn giải liệu chính ngoại

1 SO_HD_XUAT varchar(15) x Số hóa đơn xuất

2 MAKH varchar(15) x Mã khách hàng tham chiếu đến hóa đơn xuất.

3 MANV varchar(15) x Mã nhân viên tham chiếu đến hóa đơn xuất.

4 NGAYLAP_XUAT Date&time Ngày lập hóa đơn xuất

5 FLAGXUAT Int Gắn cờ thể hiện trạng thái

“xong” của hóa đơn xuấtBảng 11 Mô tả bảng hóa đơn xuất

3.1.12 Bảng Chi tiết hóa đơn xuất

❖ CHITIET_HD_XUAT(IDXUAT,IDKHO,SO_HD_XUAT

Bảng CHITIET_HD_XUAT cung cấp thông tin chi tiết về hóa đơn xuất của cửa hàng, trong đó mỗi chi tiết hóa đơn được phân biệt bằng số riêng của nó.

STT Tên thuộc tính Kiểu dữ Khóa Khóa Diễn giải liệu chính ngoại

1 IDXUAT int x Số chi tiết hóa đơn xuất

2 IDKHO int x Số Kho tham chiếu đến chi tiết hóa đơn xuất.

3 SO_HD_XUAT varchar(15) x Số hóa đơn xuất tham chiếu đến chi tiết hóa đơn xuất.

4 SOLUONG_XUAT int Số lượng xuất hàng ra của chi tiết hóa đơn xuất

5 DONGIA_XUAT long int Đơn giá xuất hàng ra của chi tiết hóa đơn xuấtBảng 12 Mô tả bảng chi tiết hóa đơn xuất

II MÔ HÌNH THỰC THỂ KẾT HỢP (CDM)

MALOAI Characters (15) ID_ Integer MANCC Characters (15)

TENNCC Variable characters (50) SOLUONG_NHAP Integer

DIENGIAI Text DONGIA_NHAP Long integer DIACHI Variable characters (50)

FLAG Integer Identifier_1 SDT Variable characters (50)

NHAP_CHO HH_THUOC_LOAIHANG

HANGHOA HANGHOA_HD_NHAP HOADON_NHAP

MAHH Characters (15) SO_HD_NHAP Characters (15)

NGAYLAP_NHAP Date & Time TENHH Variable characters (50)

XUATXU Variable characters (50) Identifier_1

IDXUAT Integer HDX_KHO IDKHO Integer

SOLUONG_XUAT Integer SOLUONG Integer

DONGIA_XUAT Long integer Identifier_1

GIOITINH Variable characters (5) TBLNGUOIDUNG_NHANVIEN

NGAYSINH Date NHANVIEN_TBL ID_I Integer

DIACHI Variable characters (50) Identifier_1

FLAG Integer NV_HD_NHAP

NV_HD_XUAT TENKH Variable characters (50)

DIACHI Variable characters (50) SDT Variable characters (50) Identifier_1

KH_HD_XUAT USERNAME Characters (15)

SO_HD_XUAT Characters (15) Identifier_1

MÔ HÌNH DỮ LIỆU VẬT LÝ (PDM)

LOAIHANG CHITIET_HD_NHAP NHACUNGCAP

MALOAI char(15) ID_ int FK_CHITIET NHAP_CHO_HOADON_N MANCC char(15)

TENLOAI varchar(50) MAHH char(15) TENNCC varchar(50)

DIENGIAI text SO_HD_NHAP char(15) DIACHI varchar(50)

FLAG int SOLUONG_NHAP int SDT varchar(50)

FK_HANGHOA _HH_THUOC LOAIHANG SO_HD_NHAP char(15) FK_HOADON _N_NCC_HD_NH_NHACUNGC

FK_CHITIET HANGHOA_H_HANGHOA MANV char(15)

DONVI_T INH varchar(50) IDKHO int

XUATXU varchar(50) FK_KHO_HANGHOA_K_HANGHOA MAHH char(15)

IDXUAT int FK_CHITIET HDX_KHO_KHO

IDKHO int FK_HOADON_N_NV_HD_ NHA_NHANVIEN

SO_HD_XUAT char(15)

FK_CHITIET XUAT_CHO_HOADON _X NHANVIEN

MANV char(15) TBLNGUOIDUNG_NHANVIEN

TENNV varchar(50) ID_I int

GIOITINH varchar(5) USERNAME char(15)

NGAYSINH datetime MANV char(15)

DIACHI varchar(50) FK_TBLNGUOI_ NHANVIEN NHANVIEN

FK_HOADON_X_NV_HD_XUA_NHANVIEN TENKH varchar(50)

SO_HD_XUAT char(15)

MANV char(15) USERNAME char(15)

NGAYLAP_XUAT datetime FK_HOADON_X_KH_HD_XUA_KHACHHAN PASSWORD varchar(50)

IV MÔ HÌNH DATABASE DIAGRAMS

SDT HOADON_NHAP CHITIET_HD_NHA

Hình 3 Mô hình Database Diagrams

V Sơ đồ phân rã chức năng

Hình 4 Sơ đồ phân rã chức năng

KẾT QUẢ NGHIÊN CỨU

Ngày đăng: 23/02/2022, 18:25

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w