Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Chào mừng trở lại, các Losers thân mến! 👋 Mình là Loser1 đây, và hôm nay chúng ta sẽ tiếp tục hành trình khám phá thế giới Cơ Sở Dữ Liệu (CSDL) trong series “Database for Data Science”. Sau bài trước về tổng quan CSDL, hôm nay chúng ta sẽ đi sâu vào một chủ đề cực kỳ quan trọng: Mô hình dữ liệu! 💡✨
🤔 Bạn có bao giờ tự hỏi: “Làm thế nào để tổ chức dữ liệu một cách hợp lý nhất cho việc phân tích và xây dựng mô hình Machine Learning?” hay “Làm sao để lưu trữ dữ liệu mà vẫn dễ dàng truy xuất và xử lý trong Data Science?”
👉 Câu trả lời chính là: Mô hình dữ liệu (Data Model)!
Mô hình dữ liệu giúp chúng ta hiểu rõ cấu trúc, mối quan hệ và cách thức hoạt động của dữ liệu. Nó giống như một bản thiết kế cho ngôi nhà dữ liệu của bạn vậy! 🏠💡
Trong Data Science, việc lựa chọn mô hình dữ liệu phù hợp sẽ giúp:
Mô hình dữ liệu là tập hợp các khái niệm và quy tắc để biểu diễn và tổ chức dữ liệu trong một hệ thống. Nó bao gồm:
Mô hình dữ liệu được phân thành 3 mức chính, tương ứng với cách nhìn nhận dữ liệu từ cao đến thấp:
1️⃣ Mô hình mức cao (High-Level Model)
Link tham khảo : https://www.geeksforgeeks.org/what-is-high-level-design-learn-system-design/
2️⃣ Mô hình mức cài đặt (Implementation Model)
Link tham khảo : https://www.sciencedirect.com/topics/computer-science/implementation-model
3️⃣ Mô hình mức thấp (Low-Level Model)
Link Tham Khảo : https://www.geeksforgeeks.org/what-is-low-level-design-or-lld-learn-system-design/
Hãy cùng xem qua một số mô hình phổ biến nhé! 🚀
Link Tham Khảo : https://www.geeksforgeeks.org/introduction-of-er-model/
1️⃣ Khách hàng (Customer): Thông tin cá nhân của khách hàng.
CustomerID
: Mã định danh duy nhất cho mỗi khách hàng.Name
: Tên khách hàng.Age
: Tuổi của khách hàng.Gender
: Giới tính của khách hàng.2️⃣ Sản phẩm (Product): Thông tin về sản phẩm.
ProductID
: Mã định danh duy nhất cho mỗi sản phẩm.ProductName
: Tên sản phẩm.Category
: Danh mục sản phẩm (ví dụ: Điện tử, Thời trang).Price
: Giá bán của sản phẩm.3️⃣ Giao dịch (Transaction): Ghi nhận giao dịch giữa khách hàng và sản phẩm.
TransactionID
: Mã định danh duy nhất cho mỗi giao dịch.CustomerID
: Liên kết với khách hàng đã thực hiện giao dịch.ProductID
: Liên kết với sản phẩm được mua.Quantity
: Số lượng sản phẩm được mua.Date
: Ngày giao dịch diễn ra.1️⃣ Mua (Purchase): Khách hàng mua sản phẩm.
Transaction
) liên kết một khách hàng (Customer
) với một hoặc nhiều sản phẩm (Product
).2️⃣ Thuộc danh mục (BelongsTo): Sản phẩm thuộc một danh mục.
Product
) thuộc một danh mục cụ thể (ví dụ: Laptop thuộc danh mục “Electronics”).Customer --(Purchase)--> Transaction <--(Includes)-- Product
| |
+-----------------(BelongsTo)--------+
Transaction
để tìm hiểu xu hướng mua sắm của từng nhóm khách hàng.
Minh họa: 📊➡️📊 (Mối quan hệ giữa các thực thể).
Link tham khảo : https://www.geeksforgeeks.org/relational-model-in-dbms/
CustomerID | Name | Age | Gender |
---|---|---|---|
C001 | Nguyễn A | 25 | Male |
C002 | Trần B | 30 | Female |
CustomerID
).Name
), tuổi (Age
), và giới tính (Gender
).ProductID | ProductName | Category | Price |
---|---|---|---|
P001 | Laptop | Electronics | 1500 |
P002 | Smartphone | Electronics | 800 |
ProductID
).ProductName
), danh mục (Category
), và giá bán (Price
).TransactionID | CustomerID | ProductID | Quantity | Date |
---|---|---|---|---|
T001 | C001 | P001 | 1 | 2023-10-01 |
T002 | C002 | P002 | 2 | 2023-10-02 |
TransactionID
).CustomerID
) với một sản phẩm (ProductID
).Quantity
) và ngày giao dịch (Date
) cũng được ghi nhận.1️⃣ Truy vấn dữ liệu để phân tích xu hướng mua sắm:
Transaction
.C001
:sql SELECT * FROM Transaction WHERE CustomerID = 'C001';
C001
đã mua 1 laptop vào ngày 2023-10-01.2️⃣ Xây dựng pipeline dữ liệu phục vụ mô hình Machine Learning:
Customer
, Product
, và Transaction
để tạo tập dữ liệu huấn luyện.Ưu điểm: Đơn giản, dễ sử dụng, mạnh mẽ với SQL.
Icon minh họa: 🗂️ (Bảng dữ liệu).
Link Tham Khảo : https://www.geeksforgeeks.org/document-databases-in-nosql/
{
"LogID": "L001",
"UserID": "U001",
"Action": "Login",
"Timestamp": "2023-10-01T10:00:00Z",
"Details": {
"IP": "192.168.1.1",
"Device": "Mobile"
}
}
LogID
).UserID
) thực hiện hành động (Action
) tại thời điểm cụ thể (Timestamp
).IP
) và thiết bị sử dụng (Device
).1️⃣ Phân tích hành vi người dùng từ nhật ký:
U001
từ thiết bị di động.U001
thường đăng nhập vào buổi sáng từ thiết bị di động.2️⃣ Xây dựng hệ thống gợi ý dựa trên hành vi người dùng:
Ưu điểm: Linh hoạt, phù hợp với dữ liệu phi cấu trúc.
Icon minh họa: 📜📦 (NoSQL Document).
👉 Mô hình phù hợp: Mô hình quan hệ (Relational Model)
Lý do:
Ví dụ bảng dữ liệu:
📌 Bảng Sinh viên (Students):
StudentID | Name | DateOfBirth | Major | Year |
---|---|---|---|---|
S001 | Minh Nguyễn | 2005-12-12 | AI | 2 |
S002 | Quý Trần | 2004-11-05 | Data Science | 3 |
📌 Bảng Môn học (Courses):
CourseID | CourseName | Credits | InstructorID |
---|---|---|---|
C001 | Machine Learning | 3 | T001 |
C002 | Database Systems | 4 | T002 |
📌 Bảng Đăng ký môn học (Enrollments):
EnrollmentID | StudentID | CourseID | Grade |
---|---|---|---|
E001 | S001 | C001 | A |
E002 | S002 | C002 | B |
✅ Ưu điểm: Mô hình quan hệ giúp quản lý dữ liệu có tổ chức, tránh trùng lặp, đảm bảo tính toàn vẹn dữ liệu.
👉 Mô hình phù hợp: Mô hình NoSQL (Time-Series Database hoặc Document-Based Model)
Lý do:
Ví dụ dữ liệu JSON cho IoT:
{
"sensor_id": "S001",
"location": "Building A, Room 101",
"timestamp": "2025-02-18T10:30:00Z",
"temperature": 26.5,
"humidity": 60.2,
"pressure": 1012.5
}
✅ Ưu điểm:
🔥 Tóm lại:
Mô hình dữ liệu | Cấu trúc dữ liệu | Ứng dụng chính |
ER Model | Thực thể & Quan hệ | Thiết kế cơ sở dữ liệu ban đầu |
Relational Model | Bảng dữ liệu có liên kết | Phân tích dữ liệu với SQL |
NoSQL Model | Dữ liệu phi cấu trúc | Big Data, phân tích hành vi |
🎉 Chúc mừng các bạn đã hoàn thành bài học về mô hình dữ liệu! Đây là một bước tiến quan trọng trong hành trình chinh phục CSDL và Data Science. Hãy nhớ rằng:
🚀 Hãy tiếp tục theo dõi series “Database for Data Science” để khám phá thêm nhiều kiến thức thú vị nhé! Nếu bạn thấy bài viết hữu ích, đừng quên chia sẻ và để lại cảm xúc bên dưới! ❤️✨
Loser1 from Learning AI with Losers
“Học không ngừng nghỉ, tăng lên 1% mỗi ngày!” 🌟