ฐานข้อมูล

Data Engineering เบื้องต้น

Vincent Vankrunkelsven

Data Engineer, DataCamp

ฐานข้อมูลคืออะไร

 

ภาพของฐานข้อมูล

ชุดข้อมูลขนาดใหญ่ที่จัดเก็บอย่างเป็นระเบียบ เพื่อให้ค้นหาและเรียกใช้ได้อย่างรวดเร็ว

 

  • เก็บข้อมูล
  • จัดระเบียบข้อมูล
  • เรียกดู/ค้นหาข้อมูลผ่าน DBMS
Data Engineering เบื้องต้น

ฐานข้อมูลและการจัดเก็บไฟล์

ฐานข้อมูล

 

ภาพของฐานข้อมูล

  • มีการจัดระเบียบอย่างดี
  • รองรับฟังก์ชัน เช่น การค้นหา การทำ replication ...

ระบบไฟล์

 

ภาพของไฟล์

  • มีการจัดระเบียบน้อยกว่า
  • เรียบง่าย มีฟังก์ชันเพิ่มเติมน้อยกว่า
Data Engineering เบื้องต้น

ข้อมูลแบบมีโครงสร้างและไม่มีโครงสร้าง

มีโครงสร้าง (Structured): มี database schema

  • ฐานข้อมูลเชิงสัมพันธ์ (relational database)

 

มีโครงสร้างบางส่วน (Semi-structured)

  • JSON

 

ไม่มีโครงสร้าง (Unstructured): ไม่มี schema คล้ายไฟล์ทั่วไป

  • วิดีโอ รูปภาพ

ภาพของฐานข้อมูล

 

{ "key": "value"}

 

ภาพของไฟล์

Data Engineering เบื้องต้น

SQL และ NoSQL

SQL

  • ตาราง
  • Database schema
  • ฐานข้อมูลเชิงสัมพันธ์

 

ภาพ MySQL

ภาพ PostgreSQL

NoSQL

  • ฐานข้อมูลแบบไม่เชิงสัมพันธ์
  • มีโครงสร้างหรือไม่มีโครงสร้าง
  • Key-value store (เช่น การแคช)
  • Document DB (เช่น JSON object)

 

ภาพ Redis/MongoDB

Data Engineering เบื้องต้น

SQL: Database Schema

-- Create Customer Table 
CREATE TABLE "Customer" (
  "id" SERIAL NOT NULL,
  "first_name" varchar,
  "last_name" varchar,
  PRIMARY KEY ("id")
);

-- Create Order Table 
CREATE TABLE "Order" (
  "id" SERIAL NOT NULL,
  "customer_id" integer REFERENCES "Customer",
  "product_name" varchar,
  "product_price" integer,
  PRIMARY KEY ("id")
);

Database schema ของ Customer และ Order

-- Join both tables on foreign key
SELECT * FROM "Customer"
INNER JOIN "Order"
ON "customer_id" = "Customer"."id";
 id | first_name | ... | product_price
  1 | Vincent    | ... |            10
Data Engineering เบื้องต้น

SQL: Star Schema

Star schema ประกอบด้วย fact table หนึ่งตารางหรือมากกว่า ที่อ้างอิงไปยัง dimension table จำนวนเท่าใดก็ได้

แผนภาพ Star Schema ของ Customers และ Orders

  • Facts: สิ่งที่เกิดขึ้น (เช่น การสั่งซื้อสินค้า)
  • Dimensions: ข้อมูลเกี่ยวกับสิ่งต่างๆ (เช่น ข้อมูลลูกค้า)
1 https://en.wikipedia.org/wiki/Star_schema
Data Engineering เบื้องต้น

มาฝึกกันเถอะ!

Data Engineering เบื้องต้น

Preparing Video For Download...