inflearn logo

Nếu bạn hiểu về chuẩn hóa nhưng chưa biết bắt đầu từ đâu với các bảng đơn hàng, hoàn tiền và đối soát — thực hành mô hình hóa dữ liệu thương mại điện tử, từ yêu cầu 1/38 đến 38/38

Đã học các nguyên tắc thiết kế DB, nhưng phải tạo bảng cho đơn hàng, hoàn tiền và quyết toán như thế nào? Chúng ta sẽ điều chỉnh lược đồ qua 41 bước để một đơn hàng đi xuyên suốt từ thanh toán, hủy một phần, trả hàng, hoàn tiền đến quyết toán, lần lượt đáp ứng 38 yêu cầu.

1 học viên đang tham gia khóa học này

Độ khó Trung cấp trở lên

Thời gian Không giới hạn

MySQL
MySQL
database-modeling
database-modeling
data-modeling
data-modeling
database-design
database-design
backend
backend
MySQL
MySQL
database-modeling
database-modeling
data-modeling
data-modeling
database-design
database-design
backend
backend

Bạn sẽ nhận được điều này sau khi học.

  • Thiết kế các trường dữ liệu snapshot để đơn hàng và khoản đối soát trước đây không bị thay đổi dù giá, tùy chọn, nhà cung cấp hay tỷ lệ phí có thay đổi.

  • Đơn hàng 1: Đối chiếu bản ghi thanh toán bằng thanh toán N, hủy một phần, khóa idempotency và đối soát với đơn vị trung gian thanh toán.

  • Mô hình hóa việc hủy đơn, trả hàng và đổi hàng thành khiếu nại và các hạng mục khiếu nại, đồng thời áp đặt các quy tắc chuyển trạng thái bằng dữ liệu.

  • Phân bổ khoản giảm giá bằng coupon và điểm tích lũy theo từng sản phẩm, đồng thời xác định quy tắc xử lý số lẻ để lưu lại căn cứ tính số tiền hoàn trả.

  • Theo dõi việc xuất hàng từng phần, giao hàng trực tiếp từ nhà cung cấp và thu hồi hàng trả lại trong cùng một cấu trúc xuất hàng, đồng thời xác minh số lượng xuất.

  • Thiết kế việc ghi nhận doanh thu theo tiêu chí xác nhận mua hàng, quyết toán với nhà cung cấp, các dòng điều chỉnh sau khi chốt sổ và nhật ký kiểm toán.

  • Hằng ngày chạy 12 truy vấn SQL để kiểm tra tính nhất quán giữa số tiền và số lượng, đồng thời tiếp nhận các yêu cầu mới dưới dạng thay đổi schema kèm kiểm thử hồi quy.

Tôi đã học các nguyên tắc thiết kế DB rồi, nhưng nên thiết kế các bảng cho đơn hàng, hoàn tiền và quyết toán như thế nào?

Để một đơn hàng đi qua toàn bộ quy trình thanh toán, hủy một phần, trả hàng, hoàn tiền, xác nhận mua hàng và quyết toán, chúng ta sẽ lần lượt đáp ứng 38 yêu cầu bằng cách thay đổi lược đồ của một cửa hàng trực tuyến giả lập qua 41 bước migration. Tất cả SQL đều được chạy trực tiếp trên Docker MySQL.

Nếu áp dụng nguyên xi các nguyên tắc chuẩn hóa đã học trong bài giảng thiết kế, dữ liệu đơn hàng lại phát sinh vấn đề. Giá sản phẩm tăng thì số tiền của các đơn hàng cũ cũng thay đổi; hủy một đôi tất trong đơn hàng đã dùng phiếu giảm giá thì được hoàn thêm 455 won; hóa đơn quyết toán đã chốt lại được tính toán lại sau khi hợp đồng được ký lại. Khóa học này sẽ trước tiên minh họa từng tình huống như vậy bằng cách thực thi SQL thực tế trong mỗi bài, sau đó áp dụng các thay đổi về schema đáp ứng những yêu cầu đó bằng các tệp theo từng giai đoạn, rồi kiểm tra bằng các câu lệnh SQL kiểm thử yêu cầu và xác minh tính nhất quán. Toàn bộ nội dung được kết nối từ đầu đến cuối qua câu chuyện về một schema và một đơn hàng.

Sau khi hoàn thành bài giảng này, bạn sẽ…

  • Thiết kế các trường lưu ảnh chụp dữ liệu để đơn hàng và quyết toán trước đây không thay đổi dù giá, tùy chọn, nhà cung cấp hay tỷ lệ hoa hồng có thay đổi.

  • Đơn hàng 1 : Thanh toán N, hủy một phần, khóa idempotency, đối soát với cổng thanh toán để khớp các bản ghi thanh toán.

  • Mô hình hóa việc hủy đơn, trả hàng và đổi hàng thành khiếu nại và các mục khiếu nại, đồng thời áp dụng các quy tắc chuyển trạng thái bằng dữ liệu.

  • Phân bổ mức giảm giá coupon và điểm tích lũy cho từng sản phẩm, đồng thời xác định quy tắc làm tròn phần dư để lưu lại căn cứ tính số tiền hoàn trả.

  • Theo dõi việc giao hàng từng phần, giao hàng trực tiếp từ nhà cung cấp và thu hồi hàng trả lại trong cùng một cấu trúc xuất hàng, đồng thời kiểm tra số lượng hàng đã xuất.

  • Thiết kế việc ghi nhận doanh thu theo tiêu chí xác nhận mua hàng, đối soát với nhà cung cấp, các dòng điều chỉnh sau khi chốt sổ và nhật ký kiểm toán.

  • Hằng ngày chạy 12 câu SQL để kiểm tra tính nhất quán của số tiền và số lượng, đồng thời tiếp nhận các yêu cầu mới dưới dạng thay đổi schema kèm kiểm thử hồi quy.

Phù hợp với những người này.

  • Lập trình viên backend đã học về thiết kế cơ sở dữ liệu nhưng chưa từng trực tiếp thiết kế các bảng đơn hàng, thanh toán, hoàn tiền và đối soát.

  • Lập trình viên mới gia nhập công ty thương mại điện tử và cần tìm hiểu cấu trúc dữ liệu đơn hàng từ đầu.

  • Nhà phân tích dữ liệu muốn hiểu qua cấu trúc bảng vì sao số liệu doanh thu và hoàn tiền không khớp nhau.

  • PM muốn hiểu dữ liệu được ghi nhận như thế nào khi lập kế hoạch đơn hàng và xử lý khiếu nại.

Chương trình học (7 phần · 40 bài · khoảng 307 phút)

  • Phần 1. Bắt đầu: một đơn hàng và schema đầu tiên — Demo hoàn chỉnh: một đơn hàng từ đầu đến khâu đối soát, đơn hàng đầu tiên trong 5 phút, 36 yêu cầu và schema đầu tiên, các mốc kiểm tra migration, tách đơn hàng và từng mặt hàng, không lưu tiền bằng FLOAT

  • Mục 2. Sản phẩm · Giá · Trạng thái — Sản phẩm · Tùy chọn · SKU, ảnh chụp giá, ảnh chụp tên tùy chọn và phụ phí, lưu cấu thành số tiền cần thanh toán, trạng thái thuộc về từng mặt hàng chứ không phải đơn hàng, lịch sử trạng thái: đã thay đổi khi nào

  • Phần 3. Thanh toán — một đơn hàng, nhiều lần thanh toán, sổ cái điểm tích lũy, hủy một phần: không ghi đè phê duyệt, khóa idempotency: nhấn hai lần cũng chỉ thanh toán một lần, đối soát với đơn vị xử lý thanh toán, SQL kiểm tra tính nhất quán của thanh toán

  • Mục 4. Khiếu nại và hoàn tiền — Mô hình khiếu nại: không sửa số lượng, bảng chuyển trạng thái khiếu nại, đổi hàng: đổi mặt hàng nào lấy mặt hàng nào, phân bổ giảm giá coupon và 455 won, phân bổ điểm tích lũy và phần lẻ, bảng hoàn tiền: lưu lại căn cứ tính toán

  • Phần 5. Giao hàng — Giao hàng từng phần: đơn giao hàng và các mục trong đơn, nhà cung cấp giao hàng trực tiếp, sự kiện và thời gian giao hàng, thu hồi hàng trả lại cũng như giao hàng, chính sách phí vận chuyển khi trả hàng, tính nhất quán của số lượng xuất kho

  • Phần 6. Coupon và quyết toán — Chính sách, phát hành và sử dụng coupon, lưu điều kiện coupon dưới dạng dữ liệu, ghi nhận doanh thu khi nào: xác nhận mua hàng, quyết toán với nhà cung cấp và ảnh chụp tỷ lệ hoa hồng, trả hàng sau khi chốt sổ: dòng điều chỉnh

  • Phần 7. Vận hành và đồ án tổng kết — nhật ký kiểm toán, kiểm tra tính nhất quán hằng ngày và các ngoại lệ đã biết, bảng tổng hợp phục vụ truy vấn, đồ án tổng kết ①: yêu cầu mới và đơn hàng quà tặng, đồ án tổng kết ②: thời hạn hiệu lực của điểm tích lũy và kiểm thử hồi quy toàn diện

Môi trường thực hành

Khởi chạy MySQL 8.4 bằng Docker và thay từng tệp giai đoạn trong lược đồ của cửa hàng chuyên doanh thể thao và dã ngoại ảo “Loop Market” qua từng buổi học. Lệnh ./db.sh reset N đưa hệ thống về trạng thái bắt đầu buổi học đó, dù bạn đang ở buổi nào; ./reqs.sh hiển thị số yêu cầu có thể xử lý, còn ./verify.sh hiển thị kết quả kiểm tra tính nhất quán về số tiền và số lượng. Tất cả con số và thông báo lỗi trên màn hình bài giảng đều là kết quả thu được khi thực sự chạy bài thực hành này.

Kiến thức cần có trước tiên

  • Khái niệm cơ bản về chuẩn hóa

  • JOIN và GROUP BY trong SQL

  • Máy tính đã cài đặt Docker (để chạy cơ sở dữ liệu thực hành)

Những nội dung không được đề cập trong khóa học này

  • Xử lý đồng thời và khóa khi trừ hàng tồn kho

  • Tối ưu hóa truy vấn · kế hoạch thực thi

  • Giao dịch phân tán · hàng đợi tin nhắn

  • Cách tích hợp với một cổng thanh toán cụ thể

  • Ánh xạ ORM

Hướng dẫn

Lời thuyết minh trên slide là giọng nói tổng hợp. Tất cả dữ liệu đều là dữ liệu giả lập phục vụ đào tạo, và các con số có thể thay đổi tùy theo môi trường thực thi.

Khuyến nghị cho
những người này

Khóa học này dành cho ai?

  • Lập trình viên backend đã tham gia các khóa học về thiết kế cơ sở dữ liệu nhưng chưa từng tự tay thiết kế các bảng đơn hàng, thanh toán, hoàn tiền và đối soát.

  • Một lập trình viên mới gia nhập công ty thương mại điện tử, cần tìm hiểu cấu trúc dữ liệu đơn hàng từ đầu.

  • Nhà phân tích dữ liệu muốn hiểu vì sao số liệu doanh thu và hoàn tiền không khớp thông qua cấu trúc bảng.

  • PM muốn biết dữ liệu được lưu lại như thế nào khi lên kế hoạch về đơn hàng và khiếu nại.

Cần biết trước khi bắt đầu?

  • Khái niệm cơ bản về chuẩn hóa

  • SQL JOIN và GROUP BY

  • Máy tính đã cài Docker (dùng để chạy DB thực hành)

Xin chào
Đây là dorian05202988

Xác minh sự nghiệp

Tôi là một chuyên gia dữ liệu với hơn 20 năm kinh nghiệm trong lĩnh vực cơ sở dữ liệu và CNTT. Trong vai trò DBA và quản lý nhóm Nền tảng Cơ sở dữ liệu, tôi phụ trách các nền tảng cơ sở dữ liệu, với chuyên môn về MySQL, PostgreSQL, Oracle, MongoDB, tinh chỉnh SQL, AWS, Terraform và Python. Dựa trên kinh nghiệm trong các lĩnh vực trò chơi, tài chính và dịch vụ CNTT, tôi trình bày về cơ sở dữ liệu và kiến trúc đám mây. Tôi đã xuất bản 『Học các mẫu SQL tinh chỉnh thực tế Oracle』 và 『Sổ tay ứng dụng dự án thực tế Oracle Pro*C』, đồng thời thuyết trình về serverless, lựa chọn cơ sở dữ liệu và chiến lược đa cơ sở dữ liệu tại AWS Summit 2018·2019 và sự kiện 데이터야 놀자 2020. Gần đây, tôi tập trung vào phân tích và khuyến nghị tinh chỉnh truy vấn chậm bằng Bedrock LLM, tự động hóa việc tính toán thông số DB, cũng như quy trình tra cứu thông qua máy chủ DB Meta MCP và bot Slack. Tôi giải thích về tự động hóa cơ sở dữ liệu dành cho nhà phát triển và việc ứng dụng AI vào công việc dành cho người không chuyên về phát triển thông qua các bài thực hành phù hợp với đối tượng và mục tiêu của từng khóa học. Thay vì áp dụng nguyên xi các đề xuất của AI, tôi truyền đạt các tiêu chí đánh giá như kiểm tra tính tương đương của kết quả, kế hoạch thực thi và điều kiện quan sát; nếu thiếu căn cứ thì tạm thời chưa áp dụng. Dữ liệu vận hành của công ty và thông tin xác thực không được đưa vào tài liệu giảng dạy.

Thêm

Chương trình giảng dạy

Tất cả

40 bài giảng ∙ (5giờ 8phút)

Tài liệu khóa học:

Tài liệu bài giảng
Ngày đăng: 
Cập nhật lần cuối: 

Đánh giá

Chưa có đủ đánh giá.
Hãy trở thành tác giả của một đánh giá giúp mọi người!

Khóa học khác của dorian05202988

Hãy khám phá các khóa học khác của giảng viên!

Khóa học tương tự

Khám phá các khóa học khác trong cùng lĩnh vực!

Ưu đãi có thời hạn

49.280 ₫

30%

1.449.249 ₫