Dữ liệu là tập hợp các thông tin, số liệu, hoặc sự mô tả về các sự kiện, đối tượng, hoặc hiện tượng trong thế giới thực. Dữ liệu có thể được thu thập từ nhiều nguồn khác nhau và có thể tồn tại dưới nhiều định dạng, bao gồm văn bản, hình ảnh, âm thanh, video, và số liệu số.
TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU
Các mô hình cơ sở dữ liệu
2.1 Mô hình dữ liệu file phẳng (Flat file)
Dùng cho các CSDL đơn giản CSDL dạng file phẳng thường là file kiểu văn bản chứa dữ liệu dạng bảng
Hình 2: Cơ sở dữ liệu dạng file phẳng
2.2 Mô hình dữ liệu mạng (Network model)
Các file trong mô hình dữ liệu mạng được gọi là các bản ghi Tập hợp các bản ghi cùng kiểu tạo thành một kiểu thực thể dữ liệu Các kiểu thực thể kết nối với nhau thông qua mối quan hệ cha-con Mô hình này được biểu diễn bởi một đồ thị có hướng và các mũi tên chỉ từ kiểu thực thể cha sang kiểu thực thể con Ví dụ như sau:
Hình 3: Thực thể kết nối Ưu điểm của mô hình này là có thể biểu diễn được các mối quan hệ phức tạp Nhược điểm là truy xuất chậm và không thích hợp với các CSDL có quy mô lớn
2.3 Mô hình dữ liệu phân cấp (Hierarchical model)
Tổ chức theo hình cây, mỗi nút biểu diễn một thực thể dữ liệu Mỗi nút cha có thể có một hoặc nhiều nút con nhưng mỗi nút con chỉ có một nút cha Do đó mô hình dữ liệu phân cấp có thể có các kiểu quan hệ: 1-1, 1-N Nhược điểm của mô hình này là một nút con không thể có quá một nút cha nên không biểu diễn được các quan hệ phức tạp.
Hình 4: Mô hình dữ liệu phân cấp
2.4 Mô hình dữ liệu quan hệ (Relational model)
Trong mô hình dữ liệu quan hệ không có các liên kết vật lý Dữ liệu được biểu diễn dưới dạng bảng với các hàng và các cột Dữ liệu trong hai bảng liên kết với nhau thông qua các cột chung và có các toán tử để thao tác trên các hàng của bảng
Hình 5: Mô hình dữ liệu quan hệ
2.5 Mô hình dữ liệu hướng đối tượng (Object-Oriented model)
Mô hình này ra đời vào khoảng đầu những năm 90, dựa trên cách tiếp cận của phương pháp lập trình hướng đối tượng
Cơ sở dữ liệu bao gồm các đối tượng:
- Mỗi đối tượng bao gồm các thuộc tính, phương thức của đối tượng
- Các đối tượng trao đổi với nhau thông qua các phương thức
- Một đối tượng có thể được sinh ra từ việc kế thừa từ đối tượng khác
Hình 6: Mô hình dữ liệu hướng đối tượng
Hệ quản trị cơ sở dữ liệu là gì?
Hiện nay, một lượng vô cùng lớn các thông tin hữu ích với chúng ta đang tồn tại ở dạng văn bản Việc của chúng ta là phải biết cách quản lý và sử dụng chúng sao cho thật hiệu quả Để quản lý một lượng dữ liệu lớn phức tạp, người sử dụng phải có những công cụ hỗ trợ tính năng đơn giản trong thao tác nhưng lại hiệu quả trong trích lọc thông tin Từ thực tế đó, hệ quản trị cơ sở dữ liệu ra đời.
Hệ quản trị cơ sở dữ liệu (Database Management System - DBMS): Là một hệ thống phần mềm cho phép tạo lập cơ sở dữ liệu và cung cấp cơ chế lưu trữ, truy cập dựa trên các mô hình CSDL
Trên thị trường phần mềm hiện nay ở Việt Nam xuất hiện khá nhiều phần mềm hệ quản trị cơ sở dữ liệu như: Microsoft Access, Foxpro, SQL Server, Oracle Trong đó:
- SQL Server, Microsoft Access, Oracle là các hệ quản trị CSDL điển hình cho mô hình quan hệ
- IMS của IBM là hệ quản trị CSDL điển hình cho mô hình dữ liệu phân cấp
- IDMS là hệ quản trị CSDL điển hình cho mô hình dữ liệu mạng
- Những lợi ích mà DBMS mang lại:
- Cơ chế an toàn, bảo mật cao
- Hỗ trợ các ngôn ngữ giao tiếp Ví dụ như ngôn ngữ truy vấn dữ liệu có cấu trúc - SQL, ngôn ngữ thao tác dữ liệu - DML, ngôn ngữ mô tả, định nghĩa dữ liệu – DDL
3.1 Hệ quản trị CSDL mã nguồn mở Enterprise Postgres
PostgreSQL là một hệ quản trị cơ sở dữ liệu nguồn mở đa tính năng, được sử dụng bởi hàng triệu người dùng trên toàn cầu Nó là một trong những hệ quản trị cơ sở dữ liệu đầu tiên được phát triển và cho phép người dùng quản lý cả dữ liệu có cấu trúc và không cấu trúc Nó có thể được sử dụng trên hầu hết các nền tảng chính và hoàn toàn tuân thủ ACID (Atomicity, Consitency, Isolation và Durability), với việc hỗ trợ foreign keys, joins, views, triggers và stored procedures (hỗ trợ nhiều ngôn ngữ như PL/pgSQL, java, C, python, perl, ).
Ngoài các tính năng chính của một hệ quản trị CSDL, PostgreSQL còn có các tính năng nổi bật như:
- Kiểm soát đồng thời nhiều phiên bản (MVCC)
- Cho phép bổ sung các Extensions, dễ dàng hỗ trợ nhiều loại dữ liệu khác như GIS, Time Series
- Tính năng Foreign Data Wrappers cho phép liên kết với các database khác dễ dàng
- Hỗ trợ nhân bản không đồng thời (asynchronous replication)
- Sao lưu trực tuyến (online backup)
- Phục hồi tại thời điểm lỗi (point-in-time recovery)
- Trong bảng xếp hạng của DB-Engine, PostgreSQL xếp thứ 4, chỉ sau các CSDL của Oracle và Microsoft Có thể nói PostgreSQL đứng đầu trong số các CSDL mã nguồn mở.
Hình 7: (theo: https://db-engines.com/en/ranking)
Enterprise Postgres là một hệ quản trị cơ sở dữ liệu quan hệ đáng tin cậy và mạnh mẽ, dành cho các tổ chức đang yêu cầu một CSDL với hiệu năng truy vấn mạnh mẽ và tính sẵn sàng cao.
Bên cạnh đó, Enterprise Postgres còn cung cấp các tính năng như cài đặt dễ dàng, sao lưu và phục hồi thông minh, đảm bảo tích hợp liền mạch vào bất kỳ hệ thống nghiệp vụ hiện tại nào, cùng với việc hỗ trơ thao tác dễ dàng và trực quan cho người quản trị cũng như người dùng cuối.
Các tính năng của Enterprise Postgres:
Hình 8: Các tính năng của Enterprise Postgres
- Công cụ quản lý cơ sở dữ liệu có thể mở rộng và xử lý hàng terabyte dữ liệu.
- Hỗ trợ đồng thời cả dữ liệu có cấu trúc và dữ liệu phi cấu trúc như JSON,XML, Key-value.
- Bảo mật mã hóa dữ liệu 256-bit (tuân thủ PCI-DSS).
- Che giấu các dữ liệu "nhạy cảm" (Data masking).
- Chỉ mục theo cột trên Memory (In-Memory Columnar Index).
- Dự phòng cho WAL file, tăng khả năng sẵn sàng cao.
- Bộ điều khiển đồng bộ dữ liệu (Mirroring controller).
- Khả năng tương thích cao với các hệ quản trị CSDL phổ biến như Oracle,
MS SQL Server, MySQL giúp cho việc di chuyển dữ liệu (migration) từ các hệ quản trị CSDL khác sang Enterprise Postgres dễ dàng và hiệu quả chi phí.
- Độ tin cậy cao và khả năng sao lưu/phục hồi thông minh.
- Giao diện quản trị nâng cao (GUI). o Quản lý cụm cluster (High availability). o Sao lưu và phục hồi dễ dàng, chỉ với một cú nhấp chuột. o Dashboard thống kê mức độ sử dụng của hệ thống.
- Hỗ trợ (24 x 7 hỗ trợ toàn cầu).
Nâng cao độ tin cậy : Tính toàn vẹn dữ liệu và tính liên tục hoạt động là tối quan trọng đối với bất kỳ tổ chức nào Rất nhiều rủi ro có thể gây mất mát dữ liệu, ví dụ như hỏng ổ đĩa vật lý, hỏng RAID, Enterprise Postgres giảm thiểu rủi ro này thông qua dự phòng dữ liệu trên các nhiều thiết bị phần cứng vật lý khác nhau và điều phối dữ liệu phân tán này trong quá trình tự động fail-over và phục hồi.
An ninh tốt hơn: Khi khối lượng dữ liệu được lưu trữ trong một hệ thống
CNTT tăng lên, thì nguy cơ rò rỉ dữ liệu cũng tăng theo Tất cả dữ liệu trong Enterprise Postgres có thể được bảo vệ bằng cách sử dụng thiết lập mã hóa với cơ chế
Mã hóa dữ liệu trong suốt (TDE) sử dụng các thuật toán tương tự như được sử dụng bởi Chính phủ Mỹ, cung cấp cho khách hàng khả năng bảo vệ dữ liệu ở mức bảo mật cao nhất Enterprise Postgres tăng cường bảo mật ở nhiều cấp độ bao gồm mã hóa dữ liệu, mã hóa nhật ký và mã hóa kết nối nội bộ Bên cạnh đó là tính năng Data Masking, Data Redaction giúp che giấu những thông tin “nhạy cảm”, tránh rò rỉ thất thoát dữ liệu.
Hiệu suất tốt hơn : Chỉ mục theo cột trên bộ nhớ (In-Memory Columnar
Index) của Enterprise Postgres đảm bảo phản hồi nhanh hơn cho các truy vấn phức tạp, cung cấp cho tổ chức/doanh nghiệp thông tin cần thiết và kịp thời để đáp ứng các tình huống quan trọng.
Nâng cao độ tin cậy và cải thiện hiệu năng cùng với sự hỗ trợ dài hạn của đơn vị cung cấp đem lại sự yên tâm và lợi ích đáng kể cho doanh nghiệp.
3.2 Hệ quản trị CSDL Oracle
Oracle là một hệ quản trị cơ sở dữ liệu quan hệ đa mô hình, chủ yếu được thiết kế điện toán lưới và lưu trữ dữ liệu cho doanh nghiệp Đây là một trong những lựa chọn hàng đầu giúp doanh nghiệp xử lý linh hoạt và đưa ra những giải pháp tối ưu cho việc quản lý thông tin và ứng dụng
Cấu trúc của một DBMS
4.1 Các thành phần của một DBMS
- Database (Dữ liệu, Siêu dữ liệu): Đáy kiến trúc là thiết bị nhớ ngoài lưu trữ dữ liệu và siêu dữ liệu Trong phần này không chỉ chứa dữ liệu được lưu trữ trong CSDL mà còn chứa cả các siêu dữ liệu, tức là thông tin cấu trúc của CSDL Ví dụ như tên của các quan hệ, tên các thuộc tính của quan hệ và các kiểu dữ liệu của các thuộc tính này.
- Bộ quản lý lưu trữ: Nhiệm vụ của bộ quản lý lưu trữ là lấy ra các thông tin được yêu cầu từ những thiết bị lưu trữ dữ liệu và thay đổi những thông tin này khi được yêu cầu bởi các mức trên nó của hệ thống.
- Bộ xử lý câu hỏi: Bộ xử lý câu hỏi không chỉ điều khiển các câu hỏi mà còn điều khiển cả các yêu cầu thay đổi dữ liệu hay siêu dữ liệu Nhiệm vụ của nó là tìm ra cách tốt nhất để thực hiện một thao tác được yêu cầu và phát ra lệnh đối với bộ quản lý lưu trữ và thực thi thao tác đó.
- Bộ quản lý giao dịch: Bộ quản lý giao dịch có trách nhiệm đảm bảo tính toàn vẹn của hệ thống Nó phải đảm bảo rằng các thao tác thực hiện thông suốt đồng thời không cản trở các thao tác khác và đảm bảo hệ thống không bị mất dữ liệu thậm chí cả khi lỗi hệ thống xảy ra.
4.2 Các kiểu thao tác với DBMS
- Các truy vấn: Đây là thao tác hỏi đáp về dữ liệu được lưu trữ trong CSDL và được thực hiện thông qua giao diện truy vấn chung hoặc thông qua giao diện của các chương trình ứng dụng
- Cập nhật dữ liệu: Đây là các thao tác, thêm, sửa, xóa dữ liệu trong CSDL. Giống như các truy vấn, chúng có thể được thực hiện thông qua giao diện chung hoặc thông qua giao diện của các chương trình ứng dụng
- Thay đổi sơ đồ: Các lệnh này thường được thực hiện bởi những người sử dụng được cấp phép, thường là những người quản trị CSDL mới được phép thay đổi sơ đồ của CSDL hoặc tạo lập các CSDL mới.
SQL và NoSQL
Trước khi phân biệt SQL và NoSQL chúng ta cần làm rõ được thế nào là SQL và thế nào là NoSQL
SQL (Structured Query Language) là một ngôn ngữ lập trình dùng để quản lý và tương tác với cơ sở dữ liệu quan hệ SQL được sử dụng để thực hiện các thao tác như truy vấn dữ liệu, chèn dữ liệu mới, cập nhật dữ liệu, xóa dữ liệu, và quản lý cấu trúc của cơ sở dữ liệu.
SQL được thiết kế để làm việc chủ yếu với các hệ quản lý cơ sở dữ liệu quan hệ (RDBMS)
SQL chính là viết tắt của Structured Query language, được phát âm là "S-Q-L" hoặc đôi khi là "See-Quel" là ngôn ngữ chuẩn để xử lý Cơ sở dữ liệu quan hệ Một cơ sở dữ liệu quan hệ xác định các mối quan hệ dưới dạng các bảng.
Lập trình SQL có thể được sử dụng hiệu quả để chèn, tìm kiếm, cập nhật, xóa các bản ghi cơ sở dữ liệu. Điều đó không có nghĩa là SQL không thể làm được gì ngoài việc đó Nó có thể làm rất nhiều thứ bao gồm, nhưng không giới hạn, tối ưu hóa và duy trì cơ sở dữ liệu. Các cơ sở dữ liệu quan hệ như Cơ sở dữ liệu MySQL, Oracle, MS SQL Server, Sybase, vv sử dụng SQL.
Các câu lệnh SQL chủ yếu có thể chia thành các nhóm chức năng chính: DDL (Data Definition Language): Các câu lệnh DDL được sử dụng để định nghĩa cấu trúc của cơ sở dữ liệu, bao gồm tạo bảng, xóa bảng, thay đổi cấu trúc bảng, và các đối tượng khác như index và view.
Hình 12: Hình minh hoạ ví dụ nhóm câu lệnh Data Definition Language
DML (Data Manipulation Language): Các câu lệnh DML được sử dụng để thao tác dữ liệu trong cơ sở dữ liệu Các thao tác này bao gồm truy vấn dữ liệu, chèn dữ liệu mới, cập nhật dữ liệu, và xóa dữ liệu.
Hình 13: DML (Data Manipulation Language)
DCL (Data Control Language): Các câu lệnh DCL được sử dụng để kiểm soát quyền truy cập vào dữ liệu Các câu lệnh này bao gồm GRANT (cấp quyền) và REVOKE (hủy quyền).
Hình 14: DCL (Data Control Language)
TCL (Transaction Control Language): Các câu lệnh TCL được sử dụng để kiểm soát quá trình giao dịch trong cơ sở dữ liệu Các câu lệnh này bao gồm COMMIT (xác nhận giao dịch) và ROLLBACK (quay lại trạng thái trước đó của giao dịch).
Hình 15: TCL (Transaction Control Language)
SQL cung cấp một cách tiêu chuẩn và mạnh mẽ để tương tác với cơ sở dữ liệu quan hệ, và nó là một phần quan trọng trong phát triển và quản lý hệ thống thông tin hiện đại.
NoSQL là một thuật ngữ chung đề cập đến các hệ thống quản lý cơ sở dữ liệu không phải là cơ sở dữ liệu quan hệ (RDBMS - Relational Database Management System) Mặc dù NoSQL có thể được hiểu là "Not Only SQL" (Không chỉ SQL), nhưng nó thường được hiểu là "Non-SQL" hoặc "No Traditional SQL."
Các cơ sở dữ liệu NoSQL được thiết kế để đáp ứng các nhu cầu và thách thức của các ứng dụng hiện đại, nơi dữ liệu thường xuyên thay đổi, cần sự mở rộng linh hoạt và phải xử lý các loại dữ liệu khác nhau so với cơ sở dữ liệu quan hệ truyền thống Dưới đây là một số đặc điểm chính của cơ sở dữ liệu NoSQL:
Mô hình dữ liệu phong phú: NoSQL hỗ trợ nhiều mô hình dữ liệu, bao gồm key-value stores, document stores, wide-column stores, và graph databases Mỗi mô hình này được tối ưu hóa cho một loại dữ liệu cụ thể.
Mở rộng ngang dễ dàng: Các cơ sở dữ liệu NoSQL thường dễ dàng mở rộng ngang (horizontal scaling), nghĩa là có thể thêm các nút máy chủ mới để tăng khả năng chịu tải của hệ thống.
Khả năng lưu trữ và xử lý dữ liệu lớn: NoSQL thường được thiết kế để xử lý lượng dữ liệu lớn (Big Data) và có khả năng lưu trữ và truy xuất dữ liệu một cách hiệu quả.
Tính nhanh và linh hoạt: NoSQL thường tập trung vào việc cung cấp hiệu suất cao và thời gian đáp ứng nhanh chóng, đặc biệt là trong các ứng dụng yêu cầu thời gian thực.
Không sử dụng schema cố định: Khác với cơ sở dữ liệu quan hệ có schema cố định, NoSQL thường linh hoạt hơn, cho phép thay đổi cấu trúc dữ liệu một cách dễ dàng.
Da dạng loại dữ liệu: NoSQL hỗ trợ nhiều định dạng dữ liệu, bao gồm dữ liệu văn bản, hình ảnh, âm thanh, và dữ liệu không cấu trúc.
Tầm quan trọng của CSDL
Cơ Sở Dữ Liệu (CSDL) đã trở thành hệ thống hỗ trợ quản lý thông tin cực kỳ quan trọng trong xã hội hiện đại Với sự phát triển không ngừng của công nghệ thông tin,vai trò và tầm quan trọng của CSDL ngày càng được nhấn mạnh, ảnh hưởng đến nhiều khía cạnh trong kinh doanh, giáo dục, y tế, và nhiều lĩnh vực khác.
Hỗ trợ quyết định và kế hoạch: CSDL giúp tổ chức thu thập, lưu trữ và truy xuất thông tin một cách hiệu quả Điều này giúp quản lý và người ra quyết định có được dữ liệu chính xác và nhanh chóng để hỗ trợ quá trình ra quyết định chiến lược và kế hoạch phát triển.
Tối ưu hóa hoạt động kinh doanh: CSDL đóng vai trò quan trọng trong việc tối ưu hóa các quy trình kinh doanh Từ quản lý hàng tồn kho, đặt hàng, đến dịch vụ khách hàng, dữ liệu trong CSDL giúp tổ chức nắm bắt được các cơ hội và thách thức để áp dụng những chiến lược phù hợp.
Tăng cường an ninh thông tin: An ninh thông tin là một trong những vấn đề lớn hiện nay CSDL giúp bảo vệ thông tin quan trọng của tổ chức khỏi các mối đe dọa an ninh, bằng cách áp dụng các biện pháp bảo mật, mã hóa dữ liệu, và quản lý quyền truy cập.
Phát triển công nghệ lớn mạnh: Sự phát triển của công nghệ không thể tưởng tượng mà không có sự hỗ trợ từ CSDL Các ứng dụng di động, Internet of Things (IoT), và trí tuệ nhân tạo (AI) đều phụ thuộc mạnh mẽ vào khả năng quản lý và truy xuất dữ liệu của CSDL.
Hỗ trợ nghiên cứu và phân tích: Trong lĩnh vực nghiên cứu, CSDL chơi một vai trò lớn trong việc thu thập và phân tích dữ liệu Từ nghiên cứu khoa học đến phân tích thị trường, CSDL là nguồn thông tin quan trọng để đưa ra các quyết định có tính chiến lược.
Quản lý y tế và dữ liệu sức khỏe: Trong ngành y tế, CSDL chính là trụ cột của việc quản lý thông tin về bệnh nhân, lịch sử bệnh, và cung cấp dữ liệu chính xác để hỗ trợ chẩn đoán và điều trị.
Hỗ trợ giáo dục và đào tạo: Giáo dục hiện đại không thể phát triển mạnh mẽ mà không có sự hỗ trợ của CSDL Từ quản lý thông tin sinh viên đến việc tạo ra các hệ thống học trực tuyến, CSDL là công cụ quan trọng để nâng cao chất lượng giáo dục.
Khả năng mở rộng và linh hoạt: CSDL ngày càng trở nên linh hoạt và có khả năng mở rộng để đáp ứng với sự tăng trưởng của dữ liệu Hệ thống CSDL phân tán và cơ sở dữ liệu NoSQL đã mở ra những khả năng mới để xử lý dữ liệu lớn và phức tạp.
Hỗ trợ cộng đồng khoa học dữ liệu: Cộng đồng khoa học dữ liệu ngày càng phát triển, và CSDL chơi một vai trò quan trọng trong việc chia sẻ và sử dụng dữ liệu để thúc đẩy nghiên cứu và đổi mới trong nhiều lĩnh vực.
Tăng cường trải nghiệm người dùng: Dữ liệu từ CSDL được sử dụng để cá nhân hóa trải nghiệm người dùng Từ các dịch vụ mua sắm trực tuyến đến các ứng dụng giải trí, khả năng hiểu rõ người dùng thông qua dữ liệu giúp cải thiện chất lượng và sự thoải mái trong trải nghiệm người dùng. Đối mặt với thách thức bảo mật và quyền riêng tư: Mặc dù CSDL mang lại nhiều lợi ích, nhưng cũng đối mặt với những thách thức lớn về bảo mật và quyền riêng tư Việc bảo vệ dữ liệu trở nên ngày càng quan trọng để ngăn chặn sự xâm phạm và lạm dụng thông tin cá nhân.
Kết Luận: Trong thời đại số hiện nay, cơ sở dữ liệu không chỉ là công cụ quản lý thông tin mà còn là động cơ đằng sau sự phát triển toàn diện của nhiều ngành Từ doanh nghiệp đến giáo dục, y tế và nghiên cứu, tầm quan trọng của CSDL không thể phủ nhận Sự tiện lợi, linh hoạt, và khả năng phân tích dữ liệu mạnh mẽ của CSDL là nguồn động viên quan trọng để xây dựng một xã hội thông tin và số hóa Tuy nhiên, để đối mặt với những thách thức ngày càng phức tạp, việc quản lý, bảo vệ thông tin, và giữ vững quyền riêng tư là yếu tố quan trọng cần được chú trọng trong tương lai.
ĐẶC TẢ YÊU CẦU
Tầm quan trọng của thương mại điện tử
Thương mại điện tử không chỉ là một xu hướng mà còn là một cột mốc quan trọng đánh dấu sự chuyển đổi toàn diện trong cách chúng ta mua sắm và kinh doanh trong xã hội hiện nay Tầm quan trọng của thương mại điện tử không chỉ xuất phát từ sự thuận tiện mà nó mang lại, mà còn từ những ảnh hưởng sâu sắc đến kinh tế, xã hội, và văn hóa.
Thương mại điện tử đóng vai trò quan trọng trong việc kích thích tăng trưởng kinh tế và thị trường Nó giúp các doanh nghiệp mở rộng quy mô của họ một cách toàn cầu, không giới hạn bởi các ranh giới địa lý Việc này không chỉ tạo ra cơ hội mới cho doanh nghiệp, mà còn giúp tạo ra và duy trì nhiều việc làm trong ngành công nghiệp thương mại điện tử.
Tầm quan trọng của thương mại điện tử còn được thấy rõ trong sự thay đổi của lối sống của mọi người Ngày nay, việc mua sắm trực tuyến không chỉ là một sự lựa chọn, mà là một phần không thể thiếu của cuộc sống hàng ngày Nó mang lại sự thuận tiện vô song cho người tiêu dùng, từ việc chọn lựa sản phẩm, so sánh giá, đến việc nhận hàng tận cửa.
Không chỉ là một công cụ kinh doanh, thương mại điện tử còn định hình cách chúng ta tương tác xã hội Nó mở rộng không gian thị trường và cung cấp nền tảng cho các doanh nghiệp nhỏ và cá nhân để tham gia vào nền kinh tế số Việc này không chỉ tăng cường sự đa dạng và sự cạnh tranh trong thị trường, mà còn thúc đẩy sự đổi mới và sáng tạo trong kinh doanh.
Thương mại điện tử không chỉ là một phương tiện tiện lợi mà còn là một động lực mạnh mẽ đằng sau sự biến đổi của xã hội hiện nay Nó không chỉ mở ra cơ hội kinh doanh mới mà còn tác động sâu sắc đến cách chúng ta mua sắm, kết nối, và tương tác với thế giới xung quanh Thương mại điện tử, với sức mạnh của nó, đang chính thức ghi dấu ấn trong cuộc sống và phát triển toàn diện của xã hội ngày nay. Ngoài ra, thương mại điện tử còn đóng vai trò quan trọng trong việc định hình thói quen tiêu dùng và phong cách sống hiện đại Việc có thể trải nghiệm mua sắm mọi lúc, mọi nơi thông qua các thiết bị di động đã tạo nên một môi trường tiêu dùng linh hoạt và đa dạng Điều này không chỉ tăng cường sự thuận tiện, mà còn thúc đẩy sự cá nhân hóa trong quá trình mua sắm.
Trong bối cảnh đại dịch toàn cầu, thương mại điện tử càng trở nên quan trọng,đóng vai trò như một phương tiện giúp duy trì kinh doanh và dịch vụ trực tuyến, giảm thiểu tác động tiêu cực đến nền kinh tế Nó cũng giúp tối ưu hóa chuỗi cung ứng và giao hàng, đảm bảo rằng hàng hóa và dịch vụ vẫn được cung cấp một cách an toàn và hiệu quả.
Một khía cạnh khác của tầm quan trọng của thương mại điện tử là khả năng thu thập và phân tích dữ liệu Những thông tin này không chỉ giúp các doanh nghiệp hiểu rõ hơn về nhu cầu và mong muốn của khách hàng mà còn tạo ra cơ hội để cung cấp các trải nghiệm mua sắm cá nhân hóa và chiến lược tiếp thị hiệu quả.
Tóm lại, thương mại điện tử không chỉ là một biểu tượng của sự tiện lợi mà còn là một động lực thúc đẩy sự đổi mới, sự phát triển kinh tế, và sự thay đổi trong cách chúng ta sống Trong xã hội hiện nay, nó trở thành một phần không thể thiếu, đóng vai trò quan trọng trong việc hình thành và định hình môi trường kinh doanh và tiêu dùng.
Thương mại điện tử (e-commerce) đóng vai trò ngày càng quan trọng trong cuộc sống hiện nay, tác động mạnh mẽ đến cách mọi người mua sắm, kinh doanh và tương tác trực tuyến Dưới đây là một số khía cạnh quan trọng của thương mại điện tử trong cuộc sống hiện nay:
- Tiện lợi và linh hoạt: người tiêu dùng có thể mua sắm mọi lúc, mọi nơi, không phụ thuộc vào thời gian hoặc địa điểm cụ thể.
- So sánh giá và sản phẩm : thương mại điện tử cung cấp sự thuận tiện khi so sánh giá và chất lượng sản phẩm từ nhiều nguồn khác nhau trực tuyến.
- Mở rộng thị trường: doanh nghiệp có thể tiếp cận và phục vụ khách hàng trên khắp thế giới mà không gặp các hạn chế về vị trí địa lý.
- Tiết kiệm chi phí : mô hình kinh doanh trực tuyến giảm bớt các chi phí về không gian bán hàng, thuê mặt bằng, và nhân công so với cửa hàng truyền thống.
- An toàn và tiện lợi: hệ thống thanh toán trực tuyến cung cấp phương tiện thanh toán an toàn và tiện lợi như thẻ tín dụng, ví điện tử và các dịch vụ thanh toán trực tuyến.
- Giao dịch nhanh chóng : khách hàng có thể thực hiện thanh toán và hoàn tất giao dịch chỉ trong vài cú click.
Dịch vụ giao hàng và logitics :
- Giao hàng nhanh chóng và linh hoạt: dịch vụ giao hàng ngày càng cải thiện,đôi khi cung cấp các tùy chọn giao hàng trong vài giờ hoặc cùng ngày.
- Theo dõi đơn hàng : người tiêu dùng có thể theo dõi trạng thái của đơn hàng và biết được khi nào sản phẩm sẽ được giao đến.
Dịch vụ khách hàng trực tuyến :
- Chat trực tuyến và hỗ trợ: cung cấp các phương tiện như chat trực tuyến, email, và điện thoại để tương tác với khách hàng, giải đáp thắc mắc và cung cấp hỗ trợ.
Đặt vấn đề
Hiểu được tầm quan trọng của CSDL và TMĐT trong sự phát triển trong việc kinh doanh trên các nền tảng Social và bán hàng trực tuyến Công ty H&M là một kho sách lớn và họ quyết định đưa bán những quyển sách này trên mạng Công ty DBDudes, là một hãng tư vấn cơ sở dữ liệu nổi tiếng, đã được mời đến để giúp đỡ công ty H&M để thiết kế và thực thi cơ sở dữ liệu của công ty này H&M là một kho sách lớn, đặc biệt là các sách về đua ngựa và họ quyết định đưa những quyển sách này lên mạng Người chủ của H&M, viết trong một bản yêu cầu ngắn gọn: “Tôi muốn những khách hàng của tôi có thể xem được danh mục các quyển sách và đặt mua chúng trên Internet”
Hiện nay, tôi nhận những đơn đặt hàng bằng số điện thoại Tôi có các khách hàng là các tập thể, họ gọi điện cho tôi và cung cấp số ISBN của quyển sách và số lượng; họ thường thanh toán bằng thẻ tín dụng
Sau đó, tôi chuẩn bị những quyển sách họ đặt Nếu tôi không có đủ số lượng sách trong kho, tôi đề nghị nhà xuất bản bổ sung và hoãn trả hàng cho khách cho tới khi tôi có đủ số lượng; Tôi muốn chuyển các hóa đơn của cùng một khách hàng một lần Danh mục bao gồm tất cả các quyển sách mà tôi bán Với mỗi quyển sách, danh mục có chứa thông tin về: số ISBN, tiêu đề, tác giả, giá bìa, giá bán, năm xuất bản.Hầu hết khách hàng của tôi là những khách quen, tôi muốn ghi lại thông tin về tên,địa chỉ của họ Những khách mới phải gọi trước cho tôi và đăng ký một tài khoản trước khi họ muốn sử dụng sử dụng website của tôi.
Phạm vi nghiên cứu và giải quyết bài toán
Phạm vi nghiên cứu và giải quyết bài toán tập trung ở mức độ lý thuyết thiết kế cơ sở dữ liệu, không đi sâu vào giải quyết triệt để toàn bộ vấn đề của bài toán.
Mô tả nghiệp vụ
Xác định thực thể và chức năng
Công ty H&M là một kho sách lớn và họ quyết định đưa bán những quyển sách này trên mạng Công ty DBDudes, là một hãng tư vấn cơ sở dữ liệu nổi tiếng, đã được mời đến để giúp đỡ công ty H&M để thiết kế và thực thi cơ sở dữ liệu của công ty này H&M là một kho sách lớn, đặc biệt là các sách về đua ngựa và họ quyết định đưa những quyển sách này lên mạng Người chủ của H&M, viết trong một bản yêu cầu ngắn gọn: “Tôi muốn những khách hàng của tôi có thể xem được danh mục các quyển sách và đặt mua chúng trên Internet”
Hiện nay, tôi nhận những đơn đặt hàng bằng số điện thoại Tôi có các khách hàng là các tập thể, họ gọi điện cho tôi và cung cấp số ISBN của quyển sách và số lượng; họ thường thanh toán bằng thẻ tín dụng
Sau đó, tôi chuẩn bị những quyển sách họ đặt Nếu tôi không có đủ số lượng sách trong kho, tôi đề nghị nhà xuất bản bổ sung và hoãn trả hàng cho khách cho tới khi tôi có đủ số lượng; Tôi muốn chuyển các hóa đơn của cùng một khách hàng một lần Danh mục bao gồm tất cả các quyển sách mà tôi bán Với mỗi quyển sách, danh mục có chứa thông tin về: số ISBN, tiêu đề, tác giả, giá bìa, giá bán, năm xuất bản. Hầu hết khách hàng của tôi là những khách quen, tôi muốn ghi lại thông tin về tên, địa chỉ của họ Những khách mới phải gọi trước cho tôi và đăng ký một tài khoản trước khi họ muốn sử dụng sử dụng website của tôi.
Từ những từ khóa được xác định ở trên ta có thể xác định bảng chức năng như sau:
Bảng 2: Bảng chức năng của hệ thống bán sách
Khách hàng có thể đăng ký tài khoản
CĐT có thể duyệt tài khoản khách hàng sau khi xác nhận thông tin qua điện thoại
CĐT có thể thêm danh mục các các sách
CĐT có thể thêm các quyển sách
CĐT có thể thêm giá bán của quyển sách
CĐT có thể thêm số ISBN của quyển sách
CĐT có thể thêm tiêu đề của quyển sách
CĐT có thể thêm tác giả của quyển sách
CĐT có thể thêm giá bìa của quyển sách
CĐT có thể thêm năm xuất bản của quyển sách
III Quản lý bán sách
Khách hàng có thể đặt sách cần mua và số lượng sách
CĐT có thể xác định được số sách tồn dư trong kho
CĐT có thể xác định được thông tin nhà xuất bản để gọi bổ sung sách khi cần
CĐT có thể thông báo đến khách hàng trạng thái còn/hết của sách
CĐT có thể chọn phương thức thanh toán (thông thường là thẻ tín dụng)
CĐT có thể xác định trạng thái giao sách (hoãn trả hàng, trả hàng)
Căn cứ trên các chức năng phân tích ta có thể xác định sơ bộ các thực thể như sau:
- Người dùng (tài khoản của công ty)
Kết luận: Từ thực tiễn theo dõi và thu thập thông tin, nhu cầu sử dụng của đơn vị và phạm vi của bài toán để đưa ra được các chức năng nghiệp vụ của hệ thống bán sách trực tuyến Việc xác định chức năng nghiệp vụ của hệ thống bán sách trực tuyến dựa trên nhu cầu và phạm vi cụ thể là quan trọng để xây dựng một ứng dụng có tính khả dụng và hiệu suất cao, đồng thời đáp ứng đúng đắn các yêu cầu của đơn vị và người dùng.
PHÂN TÍCH THIẾT KẾ
Luồng nghiệp vụ
Căn cứ trên các chức năng và thực thể ta xác định được các luồng nghiệp vụ như sau:
1.1 Luồng nghiệp vụ đăng ký tài khoản
Hình 18: Luồng nghiệp vụ đăng ký tài khoản
1.2 Luồng nghiệp vụ Quản lý bán sách
Hình 19: Luồng nghiệp vụ quản lý bán sách
Mô hình phân rã chức năng của hệ thống
Hình 20: Sơ đồ phân rã
Căn cứ theo các thông tin yêu cầu của bài toán và mô hình luồng dữ liệu đã được phân tích, Hệ thống quản lý bán sách có thể phân rã thành 05 phân hệ chính:
1 Phân hệ Quản lý bán sách
2 Phân hệ quản lý đăng ký tài khoản của khách hàng
3 Phân hệ quản lý Kho
4 Phân hệ quản trị hệ thống
5 Phân hệ quản trị danh mục
2.2.1 Mô tả Phân hệ Quản lý bán sách
Hình 21: Phân hệ quản lý bán sách
Phân hệ Quản lý bán sách thực hiện quản lý các thông tin liên quan đến việc mua bán sách được phân rã thành các chức năng sau:
- Chức năng Quản lý Đặt sách: o Người sử dụng: Khách hàng o Mô tả: cung cấp tập các chức năng/màn hình giao diện phục vụ cho khách hàng thông qua số ISBN hoặc thông tin sách mà khách hàng muốn mua có thể tra cứu dễ dàng và thực hiện đặt mua chúng trên hệ thống website được xây dựng
- Chức năng Quản lý xác nhận đơn đặt: o Người sử dụng: Cán bộ quản lý của CĐT o Mô tả:
Cung cấp các chức năng/màn hình giao diện phục vụ cho việc xác nhận đơn đặt sau khi khách hàng thực hiện đặt sách.
Cung cấp chức năng/màn hình giao diện phục vụ việc kiểm tra số lượng sách trong kho có đủ theo đơn đặt hay không
- Chức năng quản lý yêu cầu bổ sung o Người sử dụng: Cán bộ quản lý của CĐT o Mô tả:
Cung cấp chức năng/màn hình giao diện cho phép liên lạc với nhà xuất bản để bổ sung thêm sách trong trường hợp sách không đủ số lượng theo yêu cầu đặt hàng của khách hàng
Cung cấp chức năng có thể hiển thị thông tin nhà xuất bản để phục vụ việc gọi điện, email hay liên kết hoặc tích hợp với hệ thống sẵn có của nhà xuất bản…
- Chức năng quản lý đơn hàng – hóa đơn o Người sử dụng: Cán bộ quản lý của CĐT o Mô tả:
Cung cấp chức năng/màn hình giao diện hiển thị danh sách đơn hàng đã được đặt
Cung cấp chức năng/màn hình giao diện hiển thị danh sách đơn hàng đã thanh toán hoặc từ chối thanh toán
Cung cấp chức năng/màn hình giao diện hiển thị sách các đơn hàng chưa đủ số lượng sách
Cung cấp chức năng/màn hình giao diện kiểm tra việc có xuất hóa đơn hay không và đã xuất hóa đơn hay chưa
- Báo cáo thống kê o Người sử dụng: Cán bộ quản lý của CĐT o Mô tả:
Cung cấp chức năng/màn hình giao diện thống kê các đơn hàng theo trạng thái
Cung cấp chức năng/màn hình giao diện thống kê doanh số
2.2.2 Mô tả phân hệ Quản lý đăng ký tài khoản
Hình 22: Phân hệ Quản lý đăng ký tài khoản
Phân hệ Quản lý đăng ký tài khoản thực hiện quản lý các thông tin liên quan đến việc đăng ký tài khoản được phân rã thành các chức năng sau:
- Chức năng Quản lý đăng ký tài khoản o Người sử dụng: Khách hàng o Mô tả: Cung cấp chức năng/màn hình giao diện thực hiện nhập thông tin đăng ký tài khoản
- Chức năng Quản lý duyệt đăng ký o Người sử dụng: Cán bộ quản lý của CĐT o Mô tả: Cung cấp chức năng/màn hình giao diện thực hiện việc phê duyệt tài khoản khách hàng đã đăng ký thì có thông báo (bằng việc khách hàng gọi điện hoặc hệ thống cung cấp chức năng thông báo khi có tài khoản mới đăng ký)
2.2.3 Mô tả phân hệ Quản lý kho
Hình 23: Phân hệ Quản lý kho
Phân hệ Quản lý kho thực hiện quản lý các thông tin liên quan đến việc nhập kho, xuất kho, tồn kho được phân rã thành các chức năng sau:
- Chức năng Quản lý nhập kho o Người sử dụng: Cán bộ quản lý của CĐT o Mô tả: Cung cấp chức năng/màn hình giao diện thực hiện việc nhập sách vào kho và lưu trữ
- Chức năng Quản lý xuất kho o Người sử dụng: Cán bộ quản lý của CĐT o Mô tả: Cung cấp chức năng/màn hình giao diện thực hiện việc xuất sách khỏi kho, hoặc khi có phát sinh yêu cầu xuất sách khỏi kho.
- Chức năng Báo cáo nhập/xuất/tồn o Người sử dụng: Cán bộ quản lý của CĐT o Mô tả: Cung cấp chức năng/màn hình giao diện thực hiện việc lên báo cáo nhập kho, xuất kho, sách tồn trong kho.
2.2.4 Mô tả phân hệ Quản trị hệ thống
Phân hệ Quản trị hệ thống phục vụ cho cán bộ quản lý của CĐT thực hiện quản lý các thông tin, nhiệm vụ: Quản lý tài khoản cán bộ quản lý của CĐT
2.2.5 Mô tả phân hệ Quản trị danh mục
Phân hệ Quản trị danh mục phục vụ cho cán bộ quản lý của CĐT thực hiện quản lý các thông tin, nhiệm vụ:
- Quản lý Danh mục Nhà xuất bản
- Quản lý Danh mục Loại sách
- Quản lý Danh mục Kho (trong trường hợp CĐT có nhiều kho)
- Quản lý Danh mục Sách
- Quản lý Danh mục Tác giả
Xác định thực thể
Từ sơ đồ luồng nghiệp vụ và mô hình phân rã chức năng ta có thể xác định các thực thể có trong hệ thống như sau:
Từ sơ đồ luồng nghiệp vụ và mô hình phân rã chức năng ta có thể xác định các thực thể có trong hệ thống như sau:
8 Cán bộ quản lý CĐT (HtCanBo)
3.2 Xác định thuộc tính cho thực thể
Từ danh sách các thực thể, luồng nghiệp vụ và mô hình phân rã chức năng, ta xác định thuộc tính từng thực thể như sau:
1 Thực thể khách hàng (KhachHang) a Mã khách hàng - MaKhachHang b Tên khách hàng - TenKhachHang c Địa chỉ - DiaChi d Số điện thoại – SoDienThoai e Địa chỉ Email – Email f Ghi chú - GhiChu
2 Thực thể Sách (Sach) a Mã sách – MaSach b Số ISBN - ISBN c Tiêu đề - TieuDe d Tác giả - TacGia e Giá bìa - GiaBia f Giá bán – GiaBan g Năm xuất bản – NamXuatBan
3 Thực thể tác giả (TacGia) a Mã tác giả - MaTacGia b Tên tác giả - TenTacGia c Ngày sinh – NgaySinh d Địa chỉ - DiaChi e Số điện thoại – SoDienThoai f Địa chỉ Email – Email g Học hàm – HocHam h Học vị - HocVi
4 Thực thể Nhà xuất bản (NhaXuatBan) a Mã nhà xuất bản – MaNhaXuatBan b Tên nhà xuất bản – TenNhaXuatBan c Địa chỉ - DiaChi d Số điện thoại – SoDienThoai e Địa chỉ email – Email f Thực thể Loại sách (LoaiSach) g Mã loại sách – MaLoaiSach h Tên loại sách – TenLoaiSach i Ghi chú – GhiChu
5 Thực thể nhà kho (Kho) a Mã kho – MaKho b Tên kho – TenKho c Địa chỉ - DiaChi
6 Thực thể đơn hàng (DonHang) a Mã đơn hàng – MaDonHang b Nơi giao – NoiGiao c Ngày đặt – NgayDat d Ngày giao – NgayGiao
7 Thực thể Cán bộ quản lý CĐT (HtCanBo) a Mã cán bộ - MaCanBo b Tên cán bộ - TenCanBo c Phòng ban – PhongBan d Ngày sinh – NgaySinh e Số điện thoại – SoDienThoai f Địa chỉ - DiaChi g Địa chỉ email – Email
Mô hình liên kết thực thể E-R
Sau khi xác định thực thể, ta có thể xác định mô hình liên kết thực thể như sau:
Hình 24: Mô hình liên kết thực thể E-R
Chuyển đổi mô hình liên kết thực thể ER sang mô hình logic chuẩn 3NF
Đối với mô hình liên kết thực thể ER đã xây dựng ở trên, ta thấy mô hình có nhiều mối quan hệ n:n ví dụ như:
- Quan hệ giữa sách và tác giả: Một quyển sách có thể do nhiều tác giả viết, mỗi tác viết quyển sách đó có vai trò và vị trí thực hiện khác nhau Một tác giả cũng có thể viết nhiều quyền sách.
- Quan hệ giữa sách và đơn hàng: Mỗi đơn hàng có thể mua nhiều quyển sách, mỗi sách cũng có thể được mua từ nhiều đơn hàng khác nhau. Đối với việc chuyển mô hình từ mô hình liên kết thực thể sang mô hình logic, các dạng dữ liệu quan hệ như 1:1 hay n:n cần phải khử để đảm bảo tính logic và tránh dư thừa dữ liệu Tuy nhiên, với việc phát triển các hệ quản trị cơ sở dữ liệu các nhau với các góc nhìn và mục đích sử dụng khác nhau, việc khử dạng dữ liệu quan hệ vẫn là vấn đề cần tranh luận rất nhiều (quan điểm được nêu trong mục 5 chương I).
Kỹ thuật khóa ảo trong thiết kế CSDL là kỹ thuật sử dụng 1 trường dữ liệu đại diện cho tập dữ liệu khóa
Kỹ thuật này có ưu điểm là làm thiết kế của chúng ta trở lên thống nhất phục vụ cho các giai đoạn về sau của việc xây dựng hệ thống đảm tính thống nhất, toàn vẹn và tăng tốc độ gia công phần mềm, dễ dàng sử dụng thiết kế mẫu (design pattern).
Kỹ thuật khóa ảo cũng có nhược điểm là tính logic không còn đảm bảo 1 cách
“rõ ràng”, ngoài ra nó cũng tăng dung lượng lưu trữ dư thừa Do đó, tùy từng bài toán, hệ thống cụ thể mà ta cân nhắc có sử dụng hay không.
5.2.1 Áp dụng kĩ thuật khóa ảo chuyển đổi thực thể đảm bảo mô hình logic 3NF áp dụng với hệ quản trị dữ liệu SQL Server
Thực hiện chuyển đổi mô hình liên kết thực thể sang mô hình logic ta được sơ đồ thiết kế cơ sở dữ liệu như sau
Hình 25:Sơ đồ thiết kế cơ sở dữ liệu
5.2.2 Diễn giải chi tiết từng bảng
Bảng 3: Bảng nhân viên, cán bộ
STT Mã trường Kiểu trường Độ dài Null Unique PK/
8 Email varchar x Bảng KhachHang Bảng 4: Bảng khách hàng
STT Mã trường Kiểu trường Độ dài Null Unique PK/ FK Mặc định
STT Mã trường Kiểu trường Độ dài Null Unique PK/
Bảng LoaiSach Bảng 6: Bảng phân loại sách
STT Mã trường Kiểu trường Độ dài Null Unique PK/ FK Mặc định
Bảng NhaXuatBan Bảng 7: Bảng nhà xuất bản
STT Mã trường Kiểu trường Độ dài Null Unique PK/ FK Mặc định
STT Mã trường Kiểu trường Độ dài Null Unique PK/
8 LoaiSachId int x FK Bảng TacGia Bảng 9: Bảng tác giả
STT Mã trường Kiểu trường Độ dài Null Unique PK/ FK Mặc định
Bảng 10: Bảng chi tiết về sách
STT Mã trường Kiểu trường Độ dài Null Unique PK/
STT Mã trường Kiểu trường Độ dài Null Unique PK/
Bảng 12: Bảng chi tiết đơn hàng
STT Mã trường Kiểu trường Độ dài Null Unique PK/
STT Mã trường Kiểu trường Độ dài Null Unique PK/
STT Mã trường Kiểu trường Độ dài Null Unique PK/
Từ luồng nghiệp vụ của bài toán đi đến phân rã chức năng, xác định thực thể và mối quan hệ giữa các thực thể để chuyển chúng sang mô hình logic Thiết kế CSDL đóng vai trò quan trọng trong việc xây dựng hệ thống thông tin hiệu quả và linh hoạt, như : tăng hiệu suất, đảm bảo an toàn dữ liệu, tương thích với nhu cầu nghiệp vụ…
Như vậy, thiết kế CSDL không chỉ là bước quan trọng mà còn là nền tảng cơ bản cho sự thành công của hệ thống thông tin Một CSDL được thiết kế chặt chẽ và linh hoạt có thể nâng cao hiệu suất, bảo mật thông tin và hỗ trợ phát triển và mở rộng hệ thống trong tương lai.