การออกแบบฐานข้อมูล

การออกแบบฐานข้อมูล

Lis Sulmont

Curriculum Manager

การออกแบบฐานข้อมูลคืออะไร?

  • กำหนดวิธีจัดเก็บข้อมูลในเชิงตรรกะ
    • ข้อมูลจะถูกอ่านและอัปเดตอย่างไร?
  • ใช้ database models: ข้อกำหนดระดับสูงสำหรับโครงสร้างฐานข้อมูล
    • ยอดนิยมที่สุด: relational model
    • ตัวเลือกอื่น ๆ: NoSQL models, object-oriented model, network model
  • ใช้ schemas: พิมพ์เขียวของฐานข้อมูล
    • กำหนดตาราง ฟิลด์ ความสัมพันธ์ indexes และ views
    • การแทรกข้อมูลในฐานข้อมูลเชิงสัมพันธ์ต้องปฏิบัติตาม schema
การออกแบบฐานข้อมูล

Data modeling

กระบวนการสร้าง data model สำหรับข้อมูลที่จะจัดเก็บ

1. Conceptual data model: อธิบาย entities, relationships และ attributes

  • เครื่องมือ: data structure diagrams เช่น entity-relational diagrams และ UML diagrams

2. Logical data model: กำหนดตาราง คอลัมน์ และความสัมพันธ์

  • เครื่องมือ: database models และ schemas เช่น relational model และ star schema

3. Physical data model: อธิบายการจัดเก็บข้อมูลทางกายภาพ

  • เครื่องมือ: partitions, CPUs, indexes, backup systems และ tablespaces
1 https://en.wikipedia.org/wiki/Data_model
การออกแบบฐานข้อมูล

Conceptual - ER diagram

ER diagram ของตัวอย่างเพลง

Entities, relationships และ attributes

Logical - schema

Logical schema ของตัวอย่างเพลง

การแปลงที่เร็วที่สุด: entities จะกลายเป็นตาราง

การออกแบบฐานข้อมูล

ตัวเลือกการออกแบบฐานข้อมูลอื่น ๆ

ตัวอย่าง ER diagram อื่นของตัวอย่างเพลง

การกำหนดตาราง

ตัวอย่าง ER diagram อื่นของตัวอย่างเพลง

การออกแบบฐานข้อมูล

เหนือกว่า relational model

Dimensional modeling

การปรับ relational model สำหรับการออกแบบ data warehouse

  • ปรับให้เหมาะกับคิวรี OLAP: รวมข้อมูล ไม่ใช่อัปเดต (OLTP)
  • สร้างด้วย star schema
  • ตีความและขยาย schema ได้ง่าย
การออกแบบฐานข้อมูล

องค์ประกอบของ dimensional modeling

Fact table และ dimension tables ของตัวอย่างเพลง

จัดระเบียบโดย:

  • กำลังวิเคราะห์อะไร?
  • entities เปลี่ยนแปลงบ่อยแค่ไหน?

Fact tables

  • กำหนดโดย use-case ทางธุรกิจ
  • เก็บบันทึกของ metric
  • เปลี่ยนแปลงบ่อย
  • เชื่อมต่อกับ dimensions ผ่าน foreign keys

Dimension tables

  • เก็บคำอธิบาย attributes
  • เปลี่ยนแปลงไม่บ่อย
การออกแบบฐานข้อมูล

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

การออกแบบฐานข้อมูล

Preparing Video For Download...