งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

HO Session 14: Database Design Principles

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "HO Session 14: Database Design Principles"— ใบสำเนางานนำเสนอ:

1 HO 343 -- Session 14: Database Design Principles
EK BUNCHUA Room # 528 Thammasat Business School

2 การออกแบบฐานข้อมูล ... ตอบคำถามต่อไปนี้ก่อน ต้องการเก็บข้อมูลอะไร?
จะใช้กี่ตาราง? แต่ละตารางมีความสัมพันธ์กันอย่างไร?

3 ตัวอย่าง - ต้องการเก็บข้อมูลอะไร?
ข้อมูลพื้นฐานของพนักงาน ได้แก่ ชื่อ ที่อยู่แผนกและตำแหน่งที่ทำงานในปัจจุบัน เงินเดือนปัจจุบัน ฯลฯ ข้อมูลการทำงาน ได้แก่ วันที่เปลี่ยนแปลง การย้ายแผนกและเลื่อนตำแหน่งแต่ละครั้ง เงินเดือนที่ได้รับในแต่ละตำแหน่ง ฯลฯ

4 ตัวอย่าง - จะใช้กี่ตาราง?
ใช้เพียง 1 ตารางได้หรือไม่? อ้าว! แล้วจะเก็บประวัติการทำงานอย่างไร? Table: EMPLOYEE ID 101 102 103 NAME TOM JACK YING CITY BANGKOK PHUKET DATE TITLE MANAGER TYPIST SECRETARY SALARY 20,000 7,500 12,000

5 ตัวอย่าง - จะใช้กี่ตาราง?
ถ้าบันทึกข้อมูลต่อกันไป จะดีหรือไม่? ไม่ควร เพราะเกิดความซ้ำซ้อนของข้อมูล ไม่ควร เพราะข้อมูลที่ซ้ำซ้อนอาจขัดแย้งกัน Table: EMPLOYEE ID 101 102 103 NAME TOM JACK JARK YING CITY BANGKOK BAGKOK PHUKET PHUKIT DATE TITLE SALESMAN SUPERVISOR MANAGER TYPIST SECRETARY SALARY 8,000 10,000 20,000 6,000 7,500 12,000

6 ตัวอย่าง - จะใช้กี่ตาราง?
ถ้าใช้มากกว่า 1 ตาราง ดีกว่าจริงหรือ? ดีกว่าแน่นอน เพราะข้อมูลไม่ซ้ำซ้อน Table: EMPLOYEE Table: JOB ID 101 102 103 NAME TOM JACK YING CITY BKK PHUKET ID 101 102 103 DATE TITLE SALES SUP MGR TYPIST SECRT SALARY 8,000 10,000 20,000 6,000 7,500 12,000 FLAG S X C N

7 ตัวอย่าง - ความสัมพันธ์ของตาราง
ถ้าใช้ 2 ตาราง แล้วใครชื่ออะไร? ไม่มีปัญหา เราสามารถอ้างอิงได้จากตาราง EMPLOYEE Table: JOB ID 101 102 103 DATE TITLE SALES SUP MGR TYPIST SECRT SALARY 8,000 10,000 20,000 6,000 7,500 12,000 FLAG S X C N เพราะนี่คือ คุณสมบัติของ Relational Database

8 ตัวอย่าง - ความสัมพันธ์ของตาราง
PARENT TABLE สงสัยว่า Flag มีไว้ทำไม? Table: EMPLOYEE ID 101 102 103 NAME TOM JACK YING CITY BKK PHUKET CHILD TABLE Table: JOB ID 101 102 103 DATE TITLE SALES SUP MGR TYPIST SECRT SALARY 8,000 10,000 20,000 6,000 7,500 12,000 FLAG S X C N Primary Key Foreign Key

9 ฐานข้อมูลเชิงสัมพันธ์ ...
Relational Database จัดเก็บข้อมูลในลักษณะตารางสองมิติ แบ่งเป็นแถวและคอลัมน์ การออกแบบฐานข้อมูลผ่านกระบวนการ ทำให้เป็นบรรทัดฐาน (Normalization) เพื่อลดความซ้ำซ้อนของข้อมูล

10 แนวคิดของฐานข้อมูลเชิงสัมพันธ์ ...
ข้อมูลในแต่ละเรคอร์ดจะต้องไม่ซ้ำกัน ลำดับของเรคอร์ดไม่เป็นสาระสำคัญ ลำดับของฟีลด์ไม่เป็นสาระสำคัญ แต่ละฟีลด์เก็บข้อมูลได้ครั้งละ 1 ค่า แต่ละฟีลด์ต้องเก็บข้อมูลประเภทเดียวกัน

11 คีย์หลัก (Primary Key) ...
เป็นค่าเอกลักษณ์ (Unique Identifier) ซึ่งจะต้องมีค่าไม่ซ้ำกัน อาจประกอบด้วยหลายฟีลด์รวมกัน เรียกว่า คีย์ร่วม (Composite Key) เป็นไปตามกฎ Entity Integrity Rule กล่าวคือ ไม่เป็นค่าว่าง (Null Value)

12 คีย์นอก (Foreign Key) ... ใช้สำหรับอ้างอิงข้อมูลระหว่างตาราง
เป็นไปตามกฎ Referential Integrity Rule กล่าวคือ Foreign Key จะต้องอ้างอิงไปยัง Primary Key ของอีกตารางหนึ่ง เป็นค่าว่างได้หรือไม่นั้น ขึ้นอยู่กับข้อจำกัด หรือกฎเกณฑ์ในทางปฏิบัติของหน่วยงาน

13 Referential Integrity Options ...
Restricted Update & Restricted Delete Cascade Update & Cascade Delete Nullify Update & Nullify Delete Default Update & Default Delete กฎเกณฑ์ข้างต้นจะมีผลกับค่าของคีย์นอก เมื่อมีการเปลี่ยนแปลงค่าของคีย์หลัก หรือ เมื่อมีการลบเรคอร์ดที่ค่าของคีย์หลักนั้นถูกอ้างอิง

14 Referential Diagram ... ใช้แสดงรายละเอียดของตารางต่าง ๆ
รวมทั้งความสัมพันธ์ระหว่างตาราง ความสัมพันธ์แบบหนึ่งต่อหนึ่ง (1:1) ความสัมพันธ์แบบหนึ่งต่อกลุ่ม (1:n) ความสัมพันธ์แบบกลุ่มต่อกลุ่ม (m:n)


ดาวน์โหลด ppt HO Session 14: Database Design Principles

งานนำเสนอที่คล้ายกัน


Ads by Google