Raw data
Processing
Store in database
Query, analysis
Data presentation
SELECT Orders.OrderID, Customers.CustomerName, Orders.OrderDate
FROM Orders
INNER JOIN Customers
ON Orders.CustomerID=Customers.CustomerID;
SELECT COUNT(ProductID)
FROM Products;
!https://www.w3schools.com/sql/trysql.asp?filename=trysql_select_join
!https://www.w3schools.com/sql/trysql.asp?filename=trysql_select_count
Conceptual data model of Magento1.9 (UML)
Conceptual data mode
Logical data model
Physical data model
Determining data to be stored
(Detail of data)
Determining data relationships between tables
Result of this step is : UML, entity relationship
QA: So why we should break data to tables?
Example: Customer & Shipping Address
Benefits:
Avoid duplicate data
More flexibaal
Easy to maintain and scale up
Cons:
Some time it make more complex to query data
4 address column vs address table
Translate conceptual data model to DBMS schema!
Entity–relationship model
CREATE TABLE `CheckInOut` (
`UserFullCode` int(11) DEFAULT NULL,
`UserEnrollNumber` int(11) DEFAULT NULL,
`TimeDate` varchar(50) DEFAULT NULL,
`TimeStr` varchar(50) DEFAULT NULL,
`TimeType` varchar(10) DEFAULT NULL,
`TimeSource` varchar(4) DEFAULT NULL,
`MachineNo` int(11) DEFAULT NULL,
`CardNo` varchar(60) DEFAULT NULL,
KEY `ospos_checkinout_ibfk_1` (`UserFullCode`),
CONSTRAINT `ospos_checkinout_ibfk_1` FOREIGN KEY (`UserFullCode`) REFERENCES `ospos_people` (`person_id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
Document model
{
"_id" : ObjectId("5bf7d071441dac019ff79232"),
"user" : ObjectId("5bf7d071441dac019ff7922f"),
"imageId" : "visitorImageId1",
"oldFaceId" : "exampleVisitor1",
"newFaceId" : "exampleVisitor1",
"actionType" : "action Example1",
"createdAt" : ISODate("2018-06-01T17:00:00.000Z"),
"__v" : 0,
"updatedAt" : ISODate("2018-11-23T10:03:35.389Z")
}
Which modal that I should choose and why?
The feature of DBMS!
Unilever muốn xây dựng hệ thống phát hiện các hành động bất thường để tăng cường an ninh.
Đây là kết quả của việc phân tích yêu cầu từ khách hàng:
What data we should store in database? 🤔
Camera
Alert
Data model ( mô hình dữ liệu ) là tập các khái niệm để mô tả cấu trúc của CSDL, cũng như các ràng buộc trên cơ sở dữ liệu ấy.
Some types of data model
Tại sao lại chọn data model đó?
Về bản chất, mục tiêu chung của data model là tổ chức cách lưu trữ dữ liệu.
Sự khác nhau của các model là ở cách tổ chức dữ liệu.
Một data model được được chọn thì phải phù hợp nhất với bài toán đang cần giải quyết.
MongoDB: truy xuất dữ liệu nhanh, dễ mở rộng
MySql: Dữ liệu toàn vẹn, ràng buộc chặt chẽ
FaceID and ImageID
Mô hình dữ liệu quan hệ được Edgar Frank Codd đề xuất vào năm 1970. Do tính chất đơn giản và xây dựng trên nền tảng toán học vững chắc nên mô hình quan hệ được sử dụng rộng rãi từ thập niên 80 cho tới nay.
Nhiều hệ thống đang sử dụng mô hình quan hệ như Oracle của Oracle, Sql Server của Microsoft.
Các hệ thống thực tế đang sử dụng mô hình này: TIKI, Lazada...
SQL ( Structured Query Language ) là ngôn ngữ truy vấn mang tính cấu trúc.
Nó được thiết kế để quản lý dữ liệu trong một hệ thống quản lý cơ sở dữ liệu quan hệ (RDBMS).
Table : là một bảng dữ liệu 2 chiều được đặt tên, có một số cột và một số dòng dữ liệu.
Column : là tập các thuộc tính của bảng đó
Row : là một bộ dữ liệu trong một bảng
Primary key : Khoá chính là một loại ràng buộc để định danh duy nhất mỗi row trong table
Khóa ngoại : của một table được xem như con trỏ trỏ tới khóa chính của table khác.
https://sqliteonline.com/
https://www.w3schools.com/sql/default.asp