1. ER
1.1. Entity
1.1.1. Strong
1.1.2. Weak
1.1.2.1. จำเป็นต้องมี Strong Entity
1.1.3. ใน Diagram ใช้รูปสี่เหลี่ยมผืนผ้า เขียนชื่อ Entity ไว้ตรงกลาง
1.2. Attribute
1.2.1. Simple
1.2.1.1. มีองค์เดียวไม่สามารถแยกได้อีก
1.2.2. Composite
1.2.2.1. ประกอบด้วยหลายองค์ประกอบ
1.2.2.2. สามารถแยกย่อยได้อีก
1.2.2.3. (ที่อยู่สามารถแยก เลขที่บ้าน จังหวัด เลขไปรษนีย์)
1.2.3. Single-Value
1.2.3.1. สามารถใส่ได้ค่าเดียว
1.2.4. Multivalue
1.2.4.1. สามารถใส่ได้หลายค่า
1.2.4.2. (เบอร์โทรศัพท์ อาจมีหลายเบอร์)
1.2.5. Derived
1.2.5.1. สามารถหาค่าได้จาก Attribute อื่น
1.2.5.2. (อายุ สามารถหาได้จากวันเกิด)
1.2.6. **Key
1.2.6.1. Super Key
1.2.6.1.1. Attribute หรือกลุ่ม Attribute ที่สามารถแยกแยะแต่ละบรรทัดในตาราง
1.2.6.2. Candidate Key
1.2.6.2.1. Super Key ที่ไม่สามารถแยกส่วนได้อีก
1.2.6.2.2. ไม่สามารถแยกแล้ว ยังเป็น Super Key อยู่
1.2.6.3. Primary Key
1.2.6.3.1. Candidate Key ที่ถูกเลือกเพื่อเป็น Key ของตาราง
1.2.6.4. Alternate Key
1.2.6.4.1. Candidate Key ที่ไม่ได้ถูกเลือกเป็น Primary Key
1.2.6.5. Foreign Key
1.2.6.5.1. Attribute ที่ใช้ในการ Join ไปที่ Primary Key ของตารางอื่น
1.2.7. ใน Diagram ใช้รูปวงกลม โยงเส้นออกมาจาก Entity และเขียนชื่อ Attribute ไว้ตรงกลาง
1.3. Relation
1.3.1. Degree
1.3.1.1. Unary
1.3.1.1.1. Ralation ระหว่าง Entity ประเภทเดียวกัน
1.3.1.1.2. (พนักงาน สามารถเป็นหัวหน้าและลูกน้อง)
1.3.1.2. Binary
1.3.1.2.1. Ralation ระหว่าง Entity สองประเภท
1.3.1.3. Ternary
1.3.1.3.1. Ralation ระหว่าง Entity สามประเภท
1.3.2. Constraints
1.3.2.1. Maxmum Cardinality
1.3.2.1.1. One-to-on 1:1
1.3.2.1.2. One-to-many 1:M
1.3.2.1.3. Many-to-many M:N
1.3.2.1.4. ใน Diagram จะแสดงโดยการเขียนตัวเลข หรือ ตัวอักษร N เพื่อบอกจำนวนสูงสุดที่มีได้ในตาราง Relation
1.3.2.2. Minimum Cardinality
1.3.2.2.1. one or more
1.3.2.2.2. ใน Diagram หากเป็น one or more จะใช้เป็นเส้นตรงคู่
1.3.2.2.3. zero
1.3.2.2.4. ใน Diagram หากเป็น zero จะใช้เป็นเส้นตรงเดี่ยว
1.3.2.3. Cardinality ratio
1.3.2.3.1. เป็นอีกวิธีในการเขียนใน diagram
1.3.2.3.2. (min,max)
1.3.2.3.3. แสดงถึงจำนวน Entity นั้น ๆ ภายในตาราง Relation
1.3.3. ใน Diagram ใช้รูปสี่เหลี่ยมขนมเปียกปูน โยงเส้นออกมาจาก Entity 1 หรือมากกว่า และเขียนชื่อ Relation ไว้ตรงกลาง
1.4. Problem
1.4.1. Not support
1.4.1.1. SPECIALIZATION
1.4.1.1.1. Top - down
1.4.1.2. GENERALIZATION
1.4.1.2.1. Buttom - up
1.4.1.3. ABSTRACTIONS
1.4.2. มีบางช่องในตารางที่ไม่สามารถใส่ค่าได้ (NULL)
2. EER
2.1. superclass
2.1.1. Entity ที่เป็นต้นแบบให้กับ subclass
2.2. subclass
2.2.1. Entity ที่รับ Attribute และคุณสมบัติต่าง ๆ มาจาก superclass
2.3. Spaecialization(Top-down)
2.3.1. ออกแบบจาก superclass แยกออกเป็น subclass
2.4. Generalization(Base-up)
2.4.1. ออกแบบจาก subclass รวมกันเป็น superclass
2.5. Disjointness Constrint
2.5.1. disjoint
2.5.1.1. เมื่อเป็นสมาชิกใน subclass ใดแล้วไม่สามารถร่วมใน subclass อื่นๆ ได้
2.5.1.2. ใน Diagram เขียนใน วงกลมเล็กด้วยตัวอักษร d
2.5.1.3. (คน - ผู้ชาย , ผู้หญิง)
2.5.2. overlap
2.5.2.1. สามารถเป็นสมาชิกได้มากกว่า 1 subclass
2.5.2.2. ใน Diagram เขียนใน วงกลมเล็กด้วยตัวอักษร o
2.5.2.3. (บุคลากรในมหาวิทยาลัย - ครู , นักเรียน , ศิษย์เก่า , ผู้ช่วยสอน)
2.6. Completeness Constrint
2.6.1. total
2.6.1.1. จำเป็นต้องร่วมอย่างน้อย 1 subclass
2.6.1.2. ใน Diagram ใช้เส้นคู่ลากโยงออกมาจาก Entity superclass
2.6.2. partial
2.6.2.1. ไม่จำเป็นต้องร่วมใน subclass
2.6.2.2. ใน Diagram ใช้เส้นเดี่ยวลากโยงออกมาจาก Entity superclass
3. Mapping-ER
3.1. 1.Regular Entity
3.1.1. Composite Attribute
3.1.2. Multivalue Attribute
3.2. 2.Weak Entity
3.3. 3.Binary 1:1 Relation
3.4. 4.Binary 1:N Relation
3.5. 5.Binary M:N Relation
3.6. 6.Multivalue Attribute
3.7. 7.N-ary Ralation
3.8. 8.Specialization or Generalization
3.9. 9.Union Type
4. Normalization
4.1. UNF
4.2. 1NF
4.2.1. ขจัดการใส่หลายค่าภายใน 1 ช่อง (Multivalue) แยกบรรทัด
4.3. 2NF
4.3.1. ขจัด Partial Dependency
4.3.2. A และ B เป็น Primery Key
4.3.3. A -> C A,B -> D
4.3.4. A -> C เป็น Partian Dependency
4.4. 3NF
4.4.1. ขจัด Transitive Dependency
4.4.2. A -> B B -> C
4.4.3. B -> C เป็น Transitive Dependency
4.5. BCNF
4.5.1. ขจัดส่วนที่ไม่ใช่คีย์ แต่สามารถหาค่าย้อนมาที่คีย์
4.5.2. A , B เป็น Primery Key
4.5.3. A,B -> C C -> B
4.5.4. C -> B เป็น Overlap ทำให้ไม่เป็น BCNF
4.6. 4NF
5. FD
5.1. Full FD
5.1.1. เป็นฟังก์ชันที่ตัด key ใดไปไม่สามารถใช้ได้
5.2. Partial Dependency
5.2.1. มีบางส่วนของ คีย์หลัก สามารถระบุข้อมูลได้
5.3. Transitive Dependency
5.3.1. มีบางส่วนที่ไม่ใช้ คีย์ สามารถระบุข้อมูลได้