Section 1: Lab: ระบบฐานข้อมูลและ DBMS ในปัจจุบัน
- ฐานข้อมูลคืออะไร และทำไมต้องใช้ DBMS แทนการเก็บในไฟล์
- ฐานข้อมูลเชิงสัมพันธ์เทียบกับ Document, Key-Value และ Vector Database
- DBMS ที่นิยมในปัจจุบัน: PostgreSQL, MySQL, MariaDB, SQL Server และบริการบนคลาวด์
- ขั้นตอนการออกแบบ: Conceptual, Logical และ Physical
- Lab: รัน PostgreSQL 18 ด้วย Docker และเชื่อมต่อด้วย DBeaver
Section 2: Lab: Relational Model, Key และ Data Integrity
- Relation, Tuple, Attribute และ Domain กับคำที่ใช้ในทางปฏิบัติ
- Candidate Key, Primary Key, Natural Key, Surrogate Key และ Foreign Key
- Entity Integrity, Referential Integrity, Domain Integrity และความหมายของ NULL
- กลุ่มคำสั่ง SQL: DDL, DML และ DCL
- Lab: ทดลองเพิ่มข้อมูลที่ผิดกฎแล้วดูว่าฐานข้อมูลป้องกันอย่างไร
Section 3: Workshop: วิเคราะห์ความต้องการและ Business Rule
- เก็บความต้องการจากผู้ใช้ เอกสาร แบบฟอร์ม และรายงานที่มีอยู่
- เขียน Business Rule ให้ชัดเจน เช่น ลูกค้าหนึ่งคนมีได้หลายคำสั่งซื้อ
- หาคำนามเป็น Entity และคำกริยาเป็น Relationship
- จัดทำอภิธานศัพท์ข้อมูลเพื่อให้ทุกฝ่ายใช้คำเดียวกัน
- Workshop: วิเคราะห์โจทย์ระบบลงทะเบียนอบรมจากแบบฟอร์มจริง
Section 4: Lab: เขียน ER Diagram
- Entity, Attribute แบบ Composite, Multivalued และ Derived
- Relationship, Cardinality และ Optionality แบบหนึ่งต่อหนึ่ง หนึ่งต่อกลุ่ม และกลุ่มต่อกลุ่ม
- สัญลักษณ์ Crow's Foot เทียบกับแบบ Chen และการอ่านความหมายของเส้น
- Weak Entity และ Identifying Relationship
- Lab: วาด ER Diagram ระบบลงทะเบียนอบรมด้วย draw.io
Section 5: Lab: รูปแบบ ER ที่พบบ่อยในงานจริง
- Associative Entity สำหรับความสัมพันธ์กลุ่มต่อกลุ่มที่มีข้อมูลของตัวเอง
- Recursive Relationship เช่น พนักงานกับหัวหน้า และหมวดหมู่ซ้อนหมวดหมู่
- Supertype และ Subtype เช่น ลูกค้าบุคคลกับลูกค้านิติบุคคล
- เก็บประวัติและข้อมูลที่เปลี่ยนตามเวลา เช่น ราคาสินค้าและสถานะคำสั่งซื้อ
- Lab: ขยาย ER Diagram ให้รองรับโปรโมชัน ประวัติราคา และผู้ประสานงานของบริษัท