ส่วนที่ 2 database design

104
สสสสสสส สสสสสสส 2 Database 2 Database Design Design สสสสส สสสสส 4 4 สสสสสสสสสสสสสสสสสสสสสสสสสสสสสส สสสสสสสสสสสสสสสสสสสสสสสสสสสสสส สสสสสส สสสสสส (ER-Diagram) (ER-Diagram) สสสสส สสสสส 5 5 สสสสสสสสสสสสส สสสสสสสสสสสสส สสสสสสสสส สสสสสสสสส (Normalization) (Normalization) DBMS Database Management System

Upload: phyre

Post on 25-Jan-2016

75 views

Category:

Documents


3 download

DESCRIPTION

DBMS. Database Management System. ส่วนที่ 2 Database Design. บทที่ 4 โมเดลจำลองความสัมพันธ์ระหว่างข้อมูล (ER-Diagram) บทที่ 5 รูปแบบที่เป็นบรรทัดฐาน (Normalization). วงจรชีวิตการพัฒนาฐานข้อมูล Database Life Cycle : DBLC. วิเคราะห์ความต้องการ Initial Study. ออกแบบฐานข้อมูล - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: ส่วนที่ 2 Database Design

ส่�วนที่�� ส่�วนที่�� 2 Database 2 Database DesignDesign

บที่ที่�� บที่ที่�� 4 4  โมเดลจำ��ลองคว�มส่�มพั�นธ์�ระหว��งข้�อม�ล โมเดลจำ��ลองคว�มส่�มพั�นธ์�ระหว��งข้�อม�ล (ER-(ER-Diagram)Diagram) บที่ที่�� บที่ที่�� 5 5  ร�ปแบบที่��เป นบรรที่�ดฐ�น ร�ปแบบที่��เป นบรรที่�ดฐ�น (Normalization)(Normalization)

DBMS Database Management System

Page 2: ส่วนที่ 2 Database Design

Database Management System

4.2

วงจรชี�ว�ตการพั�ฒนาฐานข้�อมู�ล วงจรชี�ว�ตการพั�ฒนาฐานข้�อมู�ล Database Life Cycle : Database Life Cycle :

DBLCDBLCว"เคร�ะห�คว�ม

ต้�องก�ร

Initial Study ออกแบบฐ�นข้�อม�ล

Database Designส่ร��งฐ�นข้�อม�ล

Implement and Loading

ที่ดส่อบระบบฐ�นข้�อม�ล

Testing and Evaluation

บ��ร%งร�กษ�

Maintenance

ใช้�ง�นจำร"ง

Operation

Page 3: ส่วนที่ 2 Database Design

Database Management System

4.3

Database Initial Study Database Initial Study : :ว"เคร�ะห�คว�มต้�องก�รข้องผู้��ใช้�ว"เคร�ะห�คว�มต้�องก�รข้องผู้��ใช้� Data Design Data Design : :ออกแบบฐ�นข้�อม�ล ออกแบบฐ�นข้�อม�ล ((Data Driven, Joint Data Driven, Joint

Data and Function-driven)Data and Function-driven) Implementation and Loading Implementation and Loading : :ส่ร��งเป นฐ�นข้�อม�ลส่ร��งเป นฐ�นข้�อม�ล Testing and Evaluation Testing and Evaluation : :ที่ดส่อบฐ�นข้�อม�ลที่��ส่ร��งที่ดส่อบฐ�นข้�อม�ลที่��ส่ร��ง Operation Operation ::ใช้�ง�นฐ�นข้�อม�ลใช้�ง�นฐ�นข้�อม�ล Maintenance and Evaluation Maintenance and Evaluation : :บ��ร%งร�กษ�ฐ�นข้�อม�ลบ��ร%งร�กษ�ฐ�นข้�อม�ล

Database Life Cycle :DBLCDatabase Life Cycle :DBLC

Page 4: ส่วนที่ 2 Database Design

บทท�� บทท��44 โมูเดลจ�าลองความูสั�มูพั�นธ์!ระหว$างโมูเดลจ�าลองความูสั�มูพั�นธ์!ระหว$างข้�อมู�ลข้�อมู�ล

  (ER-Diagram)(ER-Diagram)

Page 5: ส่วนที่ 2 Database Design

Database Management System

4.5

OutlineOutline

ประโยช้น�ประโยช้น�ข้องข้องก�รออกแบบฐ�นข้�อม�ลก�รออกแบบฐ�นข้�อม�ล ข้�,นต้อนในก�รออกแบบฐ�นข้�อม�ลข้�,นต้อนในก�รออกแบบฐ�นข้�อม�ล ER-DiagramER-Diagram Map ER to RelationMap ER to Relation

Page 6: ส่วนที่ 2 Database Design

Database Management System

4.6

การออกแบบฐานข้�อมู�ลมู�ประโยชีน!การออกแบบฐานข้�อมู�ลมู�ประโยชีน!อย$างไรอย$างไร เป นก�รว�งแผู้นว��จำะเก-บข้�อม�ลต้��งๆ ที่��จำ��เป น เป นก�รว�งแผู้นว��จำะเก-บข้�อม�ลต้��งๆ ที่��จำ��เป น

ต้�องใช้�ในระบบง�นไว�ในต้�ร�งใดบ��ง โดยย�งคง ต้�องใช้�ในระบบง�นไว�ในต้�ร�งใดบ��ง โดยย�งคง ม�คว�มส่�มพั�นธ์�ระหว��งข้�อม�ลไว�ได� และส่�ม�รถ ม�คว�มส่�มพั�นธ์�ระหว��งข้�อม�ลไว�ได� และส่�ม�รถ

เร�ยกด�ข้�อม�ลที่��เก-บไว�เพั1�อม�ใช้�ง�นได�ต้�มปกต้"เร�ยกด�ข้�อม�ลที่��เก-บไว�เพั1�อม�ใช้�ง�นได�ต้�มปกต้" มองเห-นคว�มส่�มพั�นธ์�ระหว��งข้�อม�ลที่�,งหมดที่��ม�มองเห-นคว�มส่�มพั�นธ์�ระหว��งข้�อม�ลที่�,งหมดที่��ม�

อย�� โดยข้�อม�ลบ�งต้�วอ�จำจำะเก��ยวข้�องก�บข้�อม�ล อย�� โดยข้�อม�ลบ�งต้�วอ�จำจำะเก��ยวข้�องก�บข้�อม�ล อ1�นๆหล�ยต้�ว อ�จำที่��ให�เก"ดก�รเก-บร�ยละเอ�ยด อ1�นๆหล�ยต้�ว อ�จำที่��ให�เก"ดก�รเก-บร�ยละเอ�ยด

ข้องข้�อม�ลน�,นซ้ำ�,�ซ้ำ�อนก�นได�ข้องข้�อม�ลน�,นซ้ำ�,�ซ้ำ�อนก�นได�

Page 7: ส่วนที่ 2 Database Design

Database Management System

4.7

ข้�)นตอนในการออกแบบฐานข้�อมู�ลข้�)นตอนในการออกแบบฐานข้�อมู�ล1. Requirement Analysis

2. Conceptual Design

3. Logical Design

4. Schema Refinement

5. Physical Design

6. Security Design

(ER-Diagram)

(Normalization)

DBA

Database Designer

7. Maintenance

Page 8: ส่วนที่ 2 Database Design

Database Management System

4.81. 1. สั�ารวจความูต�องการใชี�สั�ารวจความูต�องการใชี�งานงาน(Requirement (Requirement Analysis)Analysis)

เป นข้�,นต้อนแรกที่��ส่��ค�ญม�กต้�อระบบฐ�นเป นข้�,นต้อนแรกที่��ส่��ค�ญม�กต้�อระบบฐ�นข้�อม�ลข้�อม�ล

จำะร� �คว�มต้�องก�รข้องผู้��ใช้�ง�นและระบบได�จำะร� �คว�มต้�องก�รข้องผู้��ใช้�ง�นและระบบได�อย��งไรอย��งไร

Page 9: ส่วนที่ 2 Database Design

Database Management System

4.9

จะร��ความูต�องการข้องผู้��ใชี�งานได�จะร��ความูต�องการข้องผู้��ใชี�งานได�อย$างไรอย$างไร ศึ5กษ�เอกส่�รที่��ใช้�ในระบบง�นน�,น ๆศึ5กษ�เอกส่�รที่��ใช้�ในระบบง�นน�,นๆ ก�รใช้�แบบส่อบถ�มก�รใช้�แบบส่อบถ�ม ก�รพั�ดค%ยก�บผู้��ใช้�โดยต้รง ก�รพั�ดค%ยก�บผู้��ใช้�โดยต้รง ข้�อม�ลที่��เร�จำ��เป นต้�องเก-บรวบรวมเพั1�อน��ไปใช้�ในข้�อม�ลที่��เร�จำ��เป นต้�องเก-บรวบรวมเพั1�อน��ไปใช้�ใน

ก�รออกแบบระบบฐ�นข้�อม�ล ประกอบด�วย ก�รออกแบบระบบฐ�นข้�อม�ล ประกอบด�วย– ข้�อม�ลแต้�ละต้�วที่��จำ��เป นต้�องใช้�ในระบบง�นข้�อม�ลแต้�ละต้�วที่��จำ��เป นต้�องใช้�ในระบบง�น(Entity)(Entity)– ร�ยละเอ�ยดข้องข้�อม�ลน�,นร�ยละเอ�ยดข้องข้�อม�ลน�,น(Attribute)(Attribute)– คว�มส่�มพั�นธ์�ระหว��งข้�อม�ลคว�มส่�มพั�นธ์�ระหว��งข้�อม�ล

ที่�,งหมดที่�,งหมด(Relationship)(Relationship)

Page 10: ส่วนที่ 2 Database Design

Database Management System

4.10

ต�)งค�าถามู ถามูระบบ ต�)งค�าถามู ถามูระบบ

ว"ธ์�ที่��จำะต้รวจำส่อบว��คว�มต้�องก�รที่��ส่��รวจำได�ว"ธ์�ที่��จำะต้รวจำส่อบว��คว�มต้�องก�รที่��ส่��รวจำได� เพั�ยงพัอที่��จำะใช้�ง�นจำร"งแล�วหร1อไม� ค1อ ลอง เพั�ยงพัอที่��จำะใช้�ง�นจำร"งแล�วหร1อไม� ค1อ ลอง

ต้�,งค��ถ�มที่��ต้�องก�รด�ว��ข้�อม�ลที่��จำะเก-บในฐ�นต้�,งค��ถ�มที่��ต้�องก�รด�ว��ข้�อม�ลที่��จำะเก-บในฐ�นข้�อม�ลส่�ม�รถน��ม�ใช้�ต้อบค��ถ�มน�,นๆได�ข้�อม�ลส่�ม�รถน��ม�ใช้�ต้อบค��ถ�มน�,นๆได�ที่�,งหมดหร1อไม�ที่�,งหมดหร1อไม�

ถ��ต้อบได� ก-แส่ดงว��เร�ไม�ได�ล1มเก-บข้�อม�ลที่�� ถ��ต้อบได� ก-แส่ดงว��เร�ไม�ได�ล1มเก-บข้�อม�ลที่��จำ��เป นต้�องใช้�ต้�วอ1�นอ�กจำ��เป นต้�องใช้�ต้�วอ1�นอ�ก

Page 11: ส่วนที่ 2 Database Design

Database Management System

4.11

2. 2. ออกแบบฐานข้�อมู�ลระด�บออกแบบฐานข้�อมู�ลระด�บแนวค�ดแนวค�ด(Conceptual Design)(Conceptual Design)

หล�งจำ�กได�คว�มต้�องก�รแล�ว ก-จำะที่��ก�รออกแบบเช้"งหล�งจำ�กได�คว�มต้�องก�รแล�ว ก-จำะที่��ก�รออกแบบเช้"งแนวค"ดแนวค"ด(conceptual design)(conceptual design)

โดยใช้�ต้�วแบบข้�อม�ลเช้"งแนวค"ด โดยใช้�ต้�วแบบข้�อม�ลเช้"งแนวค"ด (conceptual data (conceptual data model) model) เช้�น เช้�น ER-Model ER-Model ในก�รออกแบบเค��ร��งเช้"งแนวค"ดในก�รออกแบบเค��ร��งเช้"งแนวค"ด

ผู้��ออกแบบฐ�นข้�อม�ลจำะต้�อง ผู้��ออกแบบฐ�นข้�อม�ลจำะต้�อง ก��หนดเอนต้"ต้",และแอต้ที่ร"บ"วต้�ก��หนดเอนต้"ต้",และแอต้ที่ร"บ"วต้� ก��หนดคอนส่เต้รนต้� ก��หนดคอนส่เต้รนต้� ก��หนดคว�มส่�มพั�นธ์�ก��หนดคว�มส่�มพั�นธ์�

หล�งจำ�กได�เค��ร��งเช้"งแนวค"ดแล�ว ผู้��ว"เคร�ะห�ระบบจำะน��เค��ร��งหล�งจำ�กได�เค��ร��งเช้"งแนวค"ดแล�ว ผู้��ว"เคร�ะห�ระบบจำะน��เค��ร��งเช้"งแนวค"ดไปย1นย�นก�บผู้��ใช้�ถ5งคว�มต้�องก�รที่�,งหมด เพั1�อให�เช้"งแนวค"ดไปย1นย�นก�บผู้��ใช้�ถ5งคว�มต้�องก�รที่�,งหมด เพั1�อให�แน�ใจำว��ไม�ได�หลงล1มคว�มต้�องก�รหร1อข้�อม�ลบ�งส่�วนไป แน�ใจำว��ไม�ได�หลงล1มคว�มต้�องก�รหร1อข้�อม�ลบ�งส่�วนไป

Page 12: ส่วนที่ 2 Database Design

Database Management System

4.12

3. 3. ออกแบบฐานข้�อมู�ลระด�บตรรกะออกแบบฐานข้�อมู�ลระด�บตรรกะ(Logical Design)(Logical Design)

เม1�อได�ออกแบบเค��ร��งเช้"งแนวค"ดที่��ได�ร�บก�รเม1�อได�ออกแบบเค��ร��งเช้"งแนวค"ดที่��ได�ร�บก�รย1นย�นจำ�กผู้��ใช้�แล�ว ก-จำะจำ�ดที่��ก�รออกแบบเช้"งย1นย�นจำ�กผู้��ใช้�แล�ว ก-จำะจำ�ดที่��ก�รออกแบบเช้"งต้รรกะ ต้รรกะ (logical design) (logical design) เพั1�อออกแบบเค��เพั1�อออกแบบเค��ร��งเช้"งต้รรกะร��งเช้"งต้รรกะ(logical schema) (logical schema) ให�เป นไปให�เป นไปต้�มต้�วแบบข้�อม�ลข้องระบบก�รจำ�ดก�รฐ�นต้�มต้�วแบบข้�อม�ลข้องระบบก�รจำ�ดก�รฐ�นข้�อม�ลข้�อม�ล

เป นข้�,นต้อนก�รแปลง เป นข้�,นต้อนก�รแปลง ER-Diagram ER-Diagram ไปเป นไปเป น ต้�ร�งต้�ม ต้�ร�งต้�ม Relational data Model Relational data Model

Page 13: ส่วนที่ 2 Database Design

Database Management System

4.13

4. 4. ปร�บโครงสัร�างข้�อมู�ลปร�บโครงสัร�างข้�อมู�ล(Schema Refinement)(Schema Refinement)

ต้�ร�งที่��ได�จำ�กก�รออกแบบฐ�นข้�อม�ลในระด�บ ต้�ร�งที่��ได�จำ�กก�รออกแบบฐ�นข้�อม�ลในระด�บLogical Logical ย�งไม�ใช้�ต้�ร�งที่��เหม�ะส่��หร�บน��ไปเก-บย�งไม�ใช้�ต้�ร�งที่��เหม�ะส่��หร�บน��ไปเก-บ

ข้�อม�ลจำร"ง เน1�องจำ�กอ�จำที่��ให�เก"ดคว�มซ้ำ�,�ซ้ำ�อน ข้�อม�ลจำร"ง เน1�องจำ�กอ�จำที่��ให�เก"ดคว�มซ้ำ�,�ซ้ำ�อน ข้องข้�อม�ล และป6ญห�ต้��งๆ เช้�น ป6ญห�ก�รเพั"�ม ข้องข้�อม�ล และป6ญห�ต้��งๆ เช้�น ป6ญห�ก�รเพั"�ม

ข้�อม�ลข้�อม�ล(Insert Anomaly)(Insert Anomaly) ข้�,นต้อนน�, เป นก�รปร�บโครงส่ร��งต้�ร�ง โดยก�ร ข้�,นต้อนน�, เป นก�รปร�บโครงส่ร��งต้�ร�ง โดยก�ร

ที่�� ที่�� Normalization Normalization ซ้ำ5�งจำะที่��ให�ได�จำ��นวนต้�ร�งซ้ำ5�งจำะที่��ให�ได�จำ��นวนต้�ร�งม�กข้5,นกว��เด"มแต้�ป6ญห�ต้��งๆจำะถ�กก��จำ�ดออกไปม�กข้5,นกว��เด"มแต้�ป6ญห�ต้��งๆจำะถ�กก��จำ�ดออกไป

Page 14: ส่วนที่ 2 Database Design

Database Management System

4.14

5. 5. ออกแบบฐานข้�อมู�ลระด�บกายภาพัออกแบบฐานข้�อมู�ลระด�บกายภาพั(Physical Design)(Physical Design)

เป นหน��ที่�� เป นหน��ที่�� DBA DBA เพั1�อให�ระบบฐ�นข้�อม�ลเก"ดเพั1�อให�ระบบฐ�นข้�อม�ลเก"ด ประส่"ที่ธ์"ภ�พัม�กที่��ส่%ด ประส่"ที่ธ์"ภ�พัม�กที่��ส่%ด

ก�รออกแบบในระด�บน�, เก��ยวข้�องก�บก�รส่ร��ง ก�รออกแบบในระด�บน�, เก��ยวข้�องก�บก�รส่ร��ง อ"นเด-กซ้ำ� อ"นเด-กซ้ำ� (Index)(Index)และก�รเล1อกโครงส่ร��งและก�รเล1อกโครงส่ร��ง

ข้�อม�ลระด�บภ�ยใน ข้�อม�ลระด�บภ�ยใน (Internal View) (Internal View) เพั1�อให�เพั1�อให�ส่อดคล�องก�บล�กษณะก�รใช้�ง�นข้�อม�ลที่��เก"ดข้5,นส่อดคล�องก�บล�กษณะก�รใช้�ง�นข้�อม�ลที่��เก"ดข้5,น

บ�อยๆ เช้�น ส่ร��งอ"นเด-กซ้ำ�ที่��คอล�มน�ซ้ำ5�งม�กถ�กใช้� บ�อยๆ เช้�น ส่ร��งอ"นเด-กซ้ำ�ที่��คอล�มน�ซ้ำ5�งม�กถ�กใช้�ก��หนดเป นเง1�อนไข้ในก�รด5งข้�อม�ลก��หนดเป นเง1�อนไข้ในก�รด5งข้�อม�ล

Page 15: ส่วนที่ 2 Database Design

Database Management System

4.15

6. 6. ควบค.มูการน�าไปใชี�ควบค.มูการน�าไปใชี�(Security Design)(Security Design)

เป นก�รก��หนดส่"ที่ธ์"ในก�รใช้�ง�นข้�อม�ลที่�� เป นก�รก��หนดส่"ที่ธ์"ในก�รใช้�ง�นข้�อม�ลที่��DBA DBA จำะก��หนดข้5,นต้�มคว�มเหม�ะส่มจำะก��หนดข้5,นต้�มคว�มเหม�ะส่มและคว�มต้�องก�รข้องผู้��ใช้�ง�นและคว�มต้�องก�รข้องผู้��ใช้�ง�น

Page 16: ส่วนที่ 2 Database Design

Database Management System

4.167. 7. การบ�าร.งร�กษาระบบการบ�าร.งร�กษาระบบ(Maintenance Database (Maintenance Database System)System) เป นข้�,นต้อนที่��ม�คว�มส่��ค�ญก�บระบบม�กเป นข้�,นต้อนที่��ม�คว�มส่��ค�ญก�บระบบม�ก เม1�อระบบที่��ง�นช้��ลง ต้�องต้รวจำส่อบ เม1�อระบบที่��ง�นช้��ลง ต้�องต้รวจำส่อบ เม1�อพับข้�อผู้"ดพัล�ดจำ�กข้�อม�ลที่��เก-บเม1�อพับข้�อผู้"ดพัล�ดจำ�กข้�อม�ลที่��เก-บ เม1�อคว�มต้�องก�รข้องระบบหร1อผู้��ใช้�เปล��ยนไปเม1�อคว�มต้�องก�รข้องระบบหร1อผู้��ใช้�เปล��ยนไป เม1�อนโยบ�ยข้ององค�กรเปล��ยนไปเม1�อนโยบ�ยข้ององค�กรเปล��ยนไป ก�รส่��รองข้�อม�ล เม1�อไร ก�รส่��รองข้�อม�ล เม1�อไร backup / backup / ก�รก��ค1นก�รก��ค1น

ข้�อม�ลข้�อม�ล ก�รป9องก�นไวร�ส่ที่%กช้น"ด โจำรกรรมข้�อม�ล ก�รป9องก�นไวร�ส่ที่%กช้น"ด โจำรกรรมข้�อม�ล

Page 17: ส่วนที่ 2 Database Design

Database Management System

4.17

การออกแบบฐานข้�อมู�ลการออกแบบฐานข้�อมู�ล เป นเร1�องที่��ส่��ค�ญม�ก เพัร�ะม�ผู้ลต้�อ เป นเร1�องที่��ส่��ค�ญม�ก เพัร�ะม�ผู้ลต้�อ

ประส่"ที่ธ์"ภ�พัในก�รใช้�ง�นประส่"ที่ธ์"ภ�พัในก�รใช้�ง�น ควรออกแบบอย��งรอบคอบควรออกแบบอย��งรอบคอบ โดยต้�องที่��คว�มเข้��ใจำในระบบง�นก�อนโดยต้�องที่��คว�มเข้��ใจำในระบบง�นก�อน เพั1�อให�ก�รออกแบบถ�กต้�องและครอบคล%มง�นเพั1�อให�ก�รออกแบบถ�กต้�องและครอบคล%มง�น

ข้องระบบที่�,งหมด ป9องก�นก�รแก�ไข้ภ�ยหล�ง ข้องระบบที่�,งหมด ป9องก�นก�รแก�ไข้ภ�ยหล�งหร1อป9องก�นคว�มซ้ำหร1อป9องก�นคว�มซ้ำ�,�ซ้ำ�อน�,�ซ้ำ�อนข้องง�นที่��ออกแบบข้องง�นที่��ออกแบบ

Page 18: ส่วนที่ 2 Database Design

Database Management System

4.18

Entity Relationship Data Entity Relationship Data ModelModel

โดยโดย ดร ดร.. ป:เต้อร� เช้นน� ร�วป: ป:เต้อร� เช้นน� ร�วป: คค..ศึศึ . . 19761976 ER data model ER data model จำ�ดเป น จำ�ดเป น conceptual data conceptual data

model model ที่��ใช้�ออกแบบฐ�นข้�อม�ลได�อย��งอ"ส่ระ ไม�ต้�อง ที่��ใช้�ออกแบบฐ�นข้�อม�ลได�อย��งอ"ส่ระ ไม�ต้�อง ค��น5งถ5งว��จำะใช้� ค��น5งถ5งว��จำะใช้� DBMS DBMS ช้น"ดไหน ย��ห�ออะไร ด�วย ช้น"ดไหน ย��ห�ออะไร ด�วย

ค%ณส่มบ�ต้"เด�นน�,ที่��ให� ค%ณส่มบ�ต้"เด�นน�,ที่��ให� ER-model ER-model เป นที่��น"ยมใข้�ง�นก�นเป นที่��น"ยมใข้�ง�นก�นม�กในก�รว"เคร�ะห�และออกแบบฐ�นข้�อม�ลม�กในก�รว"เคร�ะห�และออกแบบฐ�นข้�อม�ล

ผู้ลก�รออกแบบด�วย ผู้ลก�รออกแบบด�วย ER-model ER-model ส่�ม�รถแส่ดงด�วยส่�ม�รถแส่ดงด�วย ร�ปภ�พั หร1อ ร�ปภ�พั หร1อ ER-DiagramER-Diagram

น�กว"เคร�ะห�และออกแบบส่�ม�รถใช้� น�กว"เคร�ะห�และออกแบบส่�ม�รถใช้� ER-Diagram ER-Diagram เส่ม1อนเป นเคร1�องม1อในก�รอธ์"บ�ยองค�ประกอบเส่ม1อนเป นเคร1�องม1อในก�รอธ์"บ�ยองค�ประกอบ(Basic (Basic Structure) Structure) และ ข้�อก��หนดเง1�อนไข้ และ ข้�อก��หนดเง1�อนไข้(Integrity (Integrity constraint) constraint) ข้องฐ�นข้�อม�ล ข้องฐ�นข้�อม�ล

Page 19: ส่วนที่ 2 Database Design

Database Management System

4.19

Entity Relationship Data Entity Relationship Data Model(Model(ต$อต$อ)) น�� น�� ER-Diagram ER-Diagram ไปใช้�ที่บที่วนย1นย�นคว�มไปใช้�ที่บที่วนย1นย�นคว�ม

เข้��ใจำที่��ถ�กต้�องก�บ เข้��ใจำที่��ถ�กต้�องก�บ user user ข้องระบบง�นได� ข้องระบบง�นได� เพัร�ะ เพัร�ะ ER-Diagram ER-Diagram ประกอบด�วยประกอบด�วย

ส่�ญล�กษณ�ที่��ส่1�อคว�มหม�ยเข้��ใจำได�ง��ยส่�ญล�กษณ�ที่��ส่1�อคว�มหม�ยเข้��ใจำได�ง��ย เม1�อได� เม1�อได� ER-Diagram ER-Diagram ที่��ถ�กต้�องเหม�ะส่มที่��ถ�กต้�องเหม�ะส่ม

ก�บระบบง�นแล�วและที่ร�บแล�วว��จำะใช้� ก�บระบบง�นแล�วและที่ร�บแล�วว��จำะใช้�DBMS DBMS ช้น"ดใด จำ5งจำะที่��ก�รแปลง ช้น"ดใด จำ5งจำะที่��ก�รแปลง(Mapping) (Mapping) ให�ได�เป น ให�ได�เป น Logical schema Logical schema

ที่��ต้รงก�บ ที่��ต้รงก�บ DBMS DBMS

Page 20: ส่วนที่ 2 Database Design

Database Management System

4.20

Basic Structure

องค�ประกอบข้องโครงส่ร��งข้�อม�ล โดย ER-model ประกอบด�วยโครงส่ร��งด�งน�,EntityRelationshipAttributePrimary Key

Page 21: ส่วนที่ 2 Database Design

Database Management System

4.21

EntityEntity เอนต้"ต้�,เอนต้"ต้�,(Entity)(Entity)

– ส่"�งที่��ม�อย��ในส่"�งที่��ม�อย��ในข้อบเข้ต้ข้องข้อบเข้ต้ข้อง ระบบที่��เร�ส่นใจำ อ�จำ ระบบที่��เร�ส่นใจำ อ�จำ เป น ส่"�งข้อง คน ส่ถ�นที่� ก�รกระที่�� เป น ส่"�งข้อง คน ส่ถ�นที่� ก�รกระที่�� เหต้%ก�รณ�เหต้%ก�รณ�

โดยแต้�ละเอนต้"ต้�,จำะเก-บเร1�องเด�ยวก�นโดยแต้�ละเอนต้"ต้�,จำะเก-บเร1�องเด�ยวก�น– เช้�น น�กศึ5กษ� เช้�น น�กศึ5กษ� , , รถยนต้�รถยนต้� , , หน�งส่1อหน�งส่1อ , , ก�รที่��ผู้"ดก�รที่��ผู้"ด , ,

เพัลงเพัลง , , ก�รเช้�� ก�รเช้�� ,,ประว�ต้"ก�รที่��ง�นประว�ต้"ก�รที่��ง�น , , ก�รประม�ลก�รประม�ล , ,ก�รส่�มมน�ก�รส่�มมน� , , น�,�ต้ก น�,�ต้ก , , บ��นเช้�� เป นต้�นบ��นเช้�� เป นต้�น

Page 22: ส่วนที่ 2 Database Design

Database Management System

4.22

AttributeAttribute ล�กษณะหร1อค%ณส่มบ�ต้"ที่��น��ม�ใช้�อธ์"บ�ยส่"�งต้��งๆ(Entity) และ

คว�มส่�มพั�นธ์�ต้��งๆ(Relationship) ในระบบง�น เช้�น attribute ที่��น��ม�อธ์"บ�ย Entity ข้อง ล�กค�� ในระบบง�น

ข้�ยส่"นค��– ช้1�อ ส่ก%ล ที่��อย�� ร�ยได� ส่ถ�นภ�พั อ�ช้�พั

เช้�น attribute ที่��น��ม�อธ์"บ�ย Entity ข้อง ก�รลดร�ค� ในระบบง�นแส่ดงส่"นค��– คร�,งที่�� ว�นที่��เร"�มต้�น ว�นส่%ดที่��ย ช้1�อส่ถ�นที่��จำ�ดง�น

เช้�น attribute ที่��น��ม�อธ์"บ�ย Relationship ข้องซ้ำ1,อส่"นค�� ในระบบง�นข้�ยส่"นค��– ว�นที่��ซ้ำ1,อ ว�นที่��ต้�องก�รส่�งส่"นค�� จำ��นวนที่��ซ้ำ1,อส่"นค��

Page 23: ส่วนที่ 2 Database Design

Database Management System

4.23

RelationshipRelationship

คว�มส่�มพั�นธ์�ระหว��ง คว�มส่�มพั�นธ์�ระหว��ง entity entity ต้��งๆ ซ้ำ5�งเปร�ยบ ต้��งๆ ซ้ำ5�งเปร�ยบ เที่�ยบได�ก�บกร"ย�โครงส่ร��งข้อง เที่�ยบได�ก�บกร"ย�โครงส่ร��งข้อง 1 1 ประโยค โดย ประโยค โดย

ที่��วไปประกอบด�วย ที่��วไปประกอบด�วย ประธ์�น กร"ย� กรรม ประธ์�น กร"ย� กรรม– ประธ์�น และ กรรม เป นค��น�ม เปร�ยบเป น Entity– กร"ย�แส่ดงคว�มส่�มพั�นธ์�ระหว��งประธ์�นก�บกรรม

เปร�ยบเป น Relationship เช้�น น�กศึ5กษ� 1 คน เร�ยน ได�หล�ยๆว"ช้�ใน1เที่อม

Page 24: ส่วนที่ 2 Database Design

Database Management System

4.24

Degree of Relationship Degree of Relationship

Degree Degree ข้องช้น"ดคว�มส่�มพั�นธ์� ค1อ จำ��นวนข้องช้น"ดคว�มส่�มพั�นธ์� ค1อ จำ��นวนข้องช้น"ดข้อง ข้องช้น"ดข้อง entity entity ที่��ม�ส่�วนร�วมในคว�มที่��ม�ส่�วนร�วมในคว�มส่�มพั�นธ์�น�,น ส่�มพั�นธ์�น�,น – Unary (Recursive) RelationshipUnary (Recursive) Relationship

คว�มส่�มพั�นธ์�ภ�ยใน คว�มส่�มพั�นธ์�ภ�ยใน entity entity เด�ยวก�นเด�ยวก�น – Binary RelationshipBinary Relationship

คว�มส่�มพั�นธ์�ระหว��ง คว�มส่�มพั�นธ์�ระหว��ง 2 entities2 entities– Ternary RelationshipTernary Relationship

คว�มส่�มพั�นธ์�ระหว��ง คว�มส่�มพั�นธ์�ระหว��ง 3 entities3 entities

Page 25: ส่วนที่ 2 Database Design

Database Management System

4.25

ต�วอย$าง ข้อง ต�วอย$าง ข้อง Degree of Degree of RelationshipRelationship

พัน�กง�น ห�วหน��ง�น

1

mUnaryUnary

Mว�ชีาเร�ยน หน�งสั0อ

อาจารย!

ส่อน M

M

TernaryTernary

น�กศึ5กษ�

ลงที่ะเบ�ยน

ว"ช้�เร�ยน

BinaryBinary

MM

MM

Page 26: ส่วนที่ 2 Database Design

Database Management System

4.26

Cardinality of Cardinality of RelationshipsRelationships

จำ��นวน จำ��นวน entity entity ต้�อ ต้�อ entity entity ในคว�มส่�มพั�นธ์�ในคว�มส่�มพั�นธ์�

– One to One relationship (1 to 1)One to One relationship (1 to 1)– One to Many relationship (1 to One to Many relationship (1 to

M)M)– Many to Many relationship (M to Many to Many relationship (M to

M)M)

Page 27: ส่วนที่ 2 Database Design

Database Management System

4.27

Mapping CardinalitiesMapping Cardinalities

One to one One to many

Page 28: ส่วนที่ 2 Database Design

Database Management System

4.28

Mapping Cardinalities Mapping Cardinalities

Many to one Many to many

Page 29: ส่วนที่ 2 Database Design

Database Management System

4.29

One to One One to One RelationshipRelationship

คว�มส่�มพั�นธ์�ที่��แต้�ละแถวข้องข้�อม�ลในเอนต้"ต้�,แรก คว�มส่�มพั�นธ์�ที่��แต้�ละแถวข้องข้�อม�ลในเอนต้"ต้�,แรกส่�ม�รถจำ�บค��ก�บข้�อม�ลในเอนต้"ต้�,ที่��ส่องได�เพั�ยงส่�ม�รถจำ�บค��ก�บข้�อม�ลในเอนต้"ต้�,ที่��ส่องได�เพั�ยงแถวเด�ยวเที่��น�,นแถวเด�ยวเที่��น�,น

เช้�น ระบบข้�อม�ลมห�ว"ที่ย�ล�ย เช้�น ระบบข้�อม�ลมห�ว"ที่ย�ล�ย

– อ�จำ�รย� อ�จำ�รย� 1 1 คน เป นคณบด�ได�เพั�ยง คน เป นคณบด�ได�เพั�ยง 1 1 คณะ และคณะ และ– แต้�ละคณะแต้�ละคณะ ม�อ�จำ�รย�ที่��เป นคณบด�ได�คนเด�ยวเที่��น�,นม�อ�จำ�รย�ที่��เป นคณบด�ได�คนเด�ยวเที่��น�,น

อ�จำ�รย� เป นคณบด�1 1 คณะ

Page 30: ส่วนที่ 2 Database Design

Database Management System

4.30

One to ManyOne to Many คว�มส่�มพั�นธ์�ที่��แต้�ละแถวข้องข้�อม�ลในเอนต้"ต้�,แรก คว�มส่�มพั�นธ์�ที่��แต้�ละแถวข้องข้�อม�ลในเอนต้"ต้�,แรก

ส่�ม�รถจำ�บค��ก�บข้�อม�ลในเอนต้"ต้�,ที่��ส่องได�ม�กกว��ส่�ม�รถจำ�บค��ก�บข้�อม�ลในเอนต้"ต้�,ที่��ส่องได�ม�กกว��หน5�งแถวหน5�งแถว

เช้�น ระบบส่��งซ้ำ1,อส่"นค��ข้องล�กค�� เช้�น ระบบส่��งซ้ำ1,อส่"นค��ข้องล�กค��

– ล�กค��ล�กค�� 1 1 คนส่��งซ้ำ1,อใบส่��งซ้ำ1,อได�หล�ยใบ และ คนส่��งซ้ำ1,อใบส่��งซ้ำ1,อได�หล�ยใบ และ– ใบส่��งซ้ำ1,อแต้�ละใบใบส่��งซ้ำ1,อแต้�ละใบ ถ�กส่��งซ้ำ1,อถ�กส่��งซ้ำ1,อจำ�กล�กค��จำ�กล�กค��เพั�ยงคนเด�ยวเพั�ยงคนเด�ยว

ล�กค�� ส่��งซ้ำ1,อ1 M ใบส่��งซ้ำ1�อ

Page 31: ส่วนที่ 2 Database Design

Database Management System

4.31

Many to ManyMany to Many คว�มส่�มพั�นธ์�ที่��แต้�ละแถวข้องข้�อม�ลในเอนต้"ต้�,แรก ส่�ม�รถ คว�มส่�มพั�นธ์�ที่��แต้�ละแถวข้องข้�อม�ลในเอนต้"ต้�,แรก ส่�ม�รถ

จำ�บค��ก�บข้�อม�ลในเอนต้"ต้�,ที่��ส่องได�ม�กกว��หน5�งแถวจำ�บค��ก�บข้�อม�ลในเอนต้"ต้�,ที่��ส่องได�ม�กกว��หน5�งแถวและในที่�งกล�บก�นข้�อม�ลแต้�ละแถวข้องฝั่6� งเอนต้"ต้�,ที่��ส่องก-และในที่�งกล�บก�นข้�อม�ลแต้�ละแถวข้องฝั่6� งเอนต้"ต้�,ที่��ส่องก-ส่�ม�รถจำ�บค��ก�บข้�อม�ลในเอนต้"ต้�,แรกได�ม�กกว��หน5�งแถวส่�ม�รถจำ�บค��ก�บข้�อม�ลในเอนต้"ต้�,แรกได�ม�กกว��หน5�งแถว

เช้�น ระบบส่��งซ้ำ1,อส่"นค��ข้องล�กค�� เช้�น ระบบส่��งซ้ำ1,อส่"นค��ข้องล�กค��

– ส่"นค�� ส่"นค�� 1 1 อย��ง อย��ง ถ�กส่��งซ้ำ1,อต้�มใบส่��งซ้ำ1,อได�หล�ยใบ และ ถ�กส่��งซ้ำ1,อต้�มใบส่��งซ้ำ1,อได�หล�ยใบ และ– ใบส่��งซ้ำ1,อ ใบส่��งซ้ำ1,อ 1 1 ใบส่��งซ้ำ1,อส่"นค��ได�หล�ยใบส่��งซ้ำ1,อส่"นค��ได�หล�ยอย��งอย��ง

ส่"นค�� ถ�กส่��งซ้ำ1,อM M ใบส่��งซ้ำ1,อ

Page 32: ส่วนที่ 2 Database Design

Database Management System

4.32

Primary KeyPrimary Key

Attribute Attribute หร1อ กล%�มข้อง หร1อ กล%�มข้อง attribute attribute ที่��ที่��แส่ดงเอกล�กษณ�ข้องส่"�งใดส่"�งหน5�งได� ด�งแส่ดงเอกล�กษณ�ข้องส่"�งใดส่"�งหน5�งได� ด�งน�,นส่"�งต้��งๆ จำะม�ค�� น�,นส่"�งต้��งๆ จำะม�ค�� primary key primary key ไม�ซ้ำ�,�ไม�ซ้ำ�,�ก�นเส่มอก�นเส่มอ

Page 33: ส่วนที่ 2 Database Design

เอนต�ต�)

เอนต�ต�)แบบอ$อน(Weak Entity)

ความูสั�มูพั�นธ์!

ความูสั�มูพั�นธ์!แบบอ$อน(Weak Relationship)

แอตทร�บ�วต!

แอตทร�บ�วต!ท��เป1นprimary key

แอตทร�บ�วต!ท��มู�หลายค$า

แอตทร�บ�วต!ประกอบPartial Key เป1น key ข้อง weak entity ซึ่3�งค$า partial key ซึ่�)าก�นได�

E1E1 E2E2

derived attribute เก4บผู้ลข้องการค�านวณ หร0อ

แปลงค$ามูาจากแอตทร�บ�วเด�มู

ความูสั�มูพั�นธ์!ท��ข้�อมู�ลท.กๆ แถวในเอนต�ต�) E2 สัามูารถ

จ�บค�$ได�ก�บข้�อมู�ลแถวใดแถว หน3�งข้อง E1 ได� เร�ยกว$า ข้�อมู�ลใน E2 เป1น total

participation ก�บ E1

ความูสั�มูพั�นธ์!ท��ข้�อมู�ลท.กๆ แถวในเอนต�ต�) E1 สัามูารถ

จ�บค�$ได�ก�บข้�อมู�ลแถวใดแถว หน3�งข้อง E2 ได�เร�ยกว$า ข้�อมู�ลใน E2 เป1น partial

participation ก�บ E1

RR

E1E1 E2E2RR

Page 34: ส่วนที่ 2 Database Design

Database Management System

4.34

สั�ญล�กษณ!ข้อง สั�ญล�กษณ!ข้อง ER ModelER Model

ส่�ญล�กษณ�ส่�ญล�กษณ� คว�มหม�ยคว�มหม�ยส่��เหล��ยมผู้1นผู้��ส่��เหล��ยมผู้1นผู้�� เอนต้"ต้�,เอนต้"ต้�,

เอนต้"ต้",แบบอ�อนเอนต้"ต้",แบบอ�อน(Weak Entity)(Weak Entity)

คว�มส่�มพั�นธ์�คว�มส่�มพั�นธ์�

ER-Model ER-Model ตามูแบบข้อง ตามูแบบข้อง Peter Pin Shan Peter Pin Shan ChenChen

Page 35: ส่วนที่ 2 Database Design

Database Management System

4.35

สั�ญล�กษณ!ข้อง สั�ญล�กษณ!ข้อง ER ER model(model(ต$อต$อ))

ส่�ญล�กษณ�ส่�ญล�กษณ� คว�มหม�ยคว�มหม�ยคว�มส่�มพั�นธ์�แบบอ�อนคว�มส่�มพั�นธ์�แบบอ�อน(Weak Relationship)(Weak Relationship)

แอต้ที่ร"บ"วต้�แอต้ที่ร"บ"วต้�

แอต้ที่ร"บ"วต้�ที่��เป น แอต้ที่ร"บ"วต้�ที่��เป นprimary keyprimary key

Page 36: ส่วนที่ 2 Database Design

Database Management System

4.36

สั�ญล�กษณ!ข้อง สั�ญล�กษณ!ข้อง ER ER Model(Model(ต$อต$อ))

ส่�ญล�กษณ�ส่�ญล�กษณ� คว�มหม�ยคว�มหม�ยแอต้ที่ร"บ"วต้�ที่��ม�หล�ยค��แอต้ที่ร"บ"วต้�ที่��ม�หล�ยค��

แอต้ที่ร"บ"วต้�ประกอบ (แอต้ที่ร"บ"วต้�ด��นบนเป นส่�วนประกอบข้องแอต้ที่ร"บ"วต้�ด��นล��ง)

Partial Key เป น key ข้อง weak entity ซ้ำ5�งค�� partial key ซ้ำ�,�ก�นได�

Page 37: ส่วนที่ 2 Database Design

Database Management System

4.37

สั�ญล�กษณ!ข้อง สั�ญล�กษณ!ข้อง ER ER model(model(ต$อต$อ))

ส่�ญล�กษณ�ส่�ญล�กษณ� คว�มหม�ยคว�มหม�ยด�ไรฟ์=แอต้ที่ร"บ"�วต้�(derived attribute) เก-บผู้ลข้องก�รค��นวณหร1อแปลงค��ม�จำ�กแอต้ที่ร"บ"วเด"ม

คว�มส่�มพั�นธ์�ที่��ข้�อม�ลที่%กๆแถวใน เอนต้"ต้", E2 ส่�ม�รถจำ�บค��ได�ก�บ

ข้�อม�ลแถวใดแถวหน5�งข้อง E1 ได� เร�ยกว�� ข้�อม�ลใน E2 เป น total

participation ก�บ E1

E1 E2R

Page 38: ส่วนที่ 2 Database Design

Database Management System

4.38

สั�ญล�กษณ!ข้อง สั�ญล�กษณ!ข้อง ER ER model(model(ต$อต$อ))

ส่�ญล�กษณ�ส่�ญล�กษณ� คว�มหม�ยคว�มหม�ยคว�มส่�มพั�นธ์�ที่��ข้�อม�ลที่%กๆ

แถวในเอนต้"ต้", E1 ส่�ม�รถจำ�บค��ได�ก�บข้�อม�ลแถวใดแถว

หน5�งข้อง E2 ได�เร�ยกว�� ข้�อม�ลใน E2 เป น partial

participation ก�บ E1

E1 E2R

Page 39: ส่วนที่ 2 Database Design

Database Management System

4.39

Participation ConstraintParticipation Constraint เง1�อนไข้ก�รม�ส่�วนร�วม ค1อ จำ��นวนต้���ส่%ดเง1�อนไข้ก�รม�ส่�วนร�วม ค1อ จำ��นวนต้���ส่%ด

ข้องข้องentity entity ที่��อ�กที่��อ�ก entityentityหน5�งม�คว�มส่�มพั�นธ์�หน5�งม�คว�มส่�มพั�นธ์�ด�วย ม� ด�วย ม� 2 2 แบบค1อ แบบค1อ – Total Participation Total Participation

ก�รที่�� ก�รที่�� entity entity หน5�งหน5�งentity entity จำะต้�องม�คว�มส่�มพั�นธ์�จำะต้�องม�คว�มส่�มพั�นธ์�ก�บก�บentity entity อ1�นอย��งน�อยหน��ง อ1�นอย��งน�อยหน��ง entity entity เช้�น อ�จำ�รย�ที่%กเช้�น อ�จำ�รย�ที่%กคนต้�องส่�งก�ดอย��งน�อยใน หน��งคณะ เป นต้�น ก�รม�ส่�วนคนต้�องส่�งก�ดอย��งน�อยใน หน��งคณะ เป นต้�น ก�รม�ส่�วนร�วมที่�,งหมดจำะแส่ดงด�วยเส่�นค��ที่�งด��นช้น"ดข้องร�วมที่�,งหมดจำะแส่ดงด�วยเส่�นค��ที่�งด��นช้น"ดข้องentityentityที่��ที่��ที่%กที่%กentity entity ในช้น"ดน�,นต้�องเข้��ร�วมในคว�มส่�มพั�นธ์�ในช้น"ดน�,นต้�องเข้��ร�วมในคว�มส่�มพั�นธ์�

อ�จำ�รย� ส่�งก�ด คณะM 1

Page 40: ส่วนที่ 2 Database Design

Database Management System

4.40

Participation Participation Constraint(Constraint(ต$อต$อ))

– Partial Participation Partial Participation ก�รที่��ก�รที่��entity entity หน5�งหน5�งentity entity ม�คว�มส่�มพั�นธ์�ก�บม�คว�มส่�มพั�นธ์�ก�บentityentity

อ1�นอย��งน�อยศึ�นย�อ1�นอย��งน�อยศึ�นย�entity entity ค1อในช้น"ดข้องค1อในช้น"ดข้องentity entity เด�ยวก�นอ�จำม�บ�งเด�ยวก�นอ�จำม�บ�งentity entity ที่��ม�ส่�วนร�วมในคว�มส่�มพั�นธ์�ที่��ม�ส่�วนร�วมในคว�มส่�มพั�นธ์�น�,น ในข้ณะที่��บ�งน�,น ในข้ณะที่��บ�งentity entity ที่��ไม�ม�ส่�วนร�วมในคว�มส่�มพั�นธ์�ที่��ไม�ม�ส่�วนร�วมในคว�มส่�มพั�นธ์�น�,นเลย เช้�น แผู้นกบ�งแผู้นกไม�ม�พัน�กง�นส่�งก�ดเลย น�,นเลย เช้�น แผู้นกบ�งแผู้นกไม�ม�พัน�กง�นส่�งก�ดเลย และบ�งแผู้นกอ�จำม�พัน�กง�นส่�งก�ดหล�ยคน และบ�งแผู้นกอ�จำม�พัน�กง�นส่�งก�ดหล�ยคน

ก�รม�ส่�วนร�วมบ�งส่�วนจำะแส่ดงโดยใช้�เส่�นเด�ยวด��นช้น"ดก�รม�ส่�วนร�วมบ�งส่�วนจำะแส่ดงโดยใช้�เส่�นเด�ยวด��นช้น"ดข้องข้องentity entity ที่��บ�งที่��บ�งentityentityในช้น"ดน�,นม�ส่�วนร�วมในคว�มในช้น"ดน�,นม�ส่�วนร�วมในคว�มส่�มพั�นธ์� เช้�น เส่�นเด�ยวจำ�กส่�มพั�นธ์� เช้�น เส่�นเด�ยวจำ�กentity entity แผู้นกแผู้นก

อ�จำ�รย� ส่�งก�ด แผู้นกM 1

Page 41: ส่วนที่ 2 Database Design

Database Management System

4.41

ประเภทข้องประเภทข้อง attributeattribute Simple Attribute Simple Attribute ค1อ แอต้ที่ร"บ"วที่��เก-บค��ได� ค1อ แอต้ที่ร"บ"วที่��เก-บค��ได�

เพั�ยงค��เด�ยวเที่��น�,น เช้�น รห�ส่ล�กค�� ล�กค�� เพั�ยงค��เด�ยวเที่��น�,น เช้�น รห�ส่ล�กค�� ล�กค�� 1 1 คนคนม�รห�ส่ล�กค��ได�หม�ยเลข้เด�ยวม�รห�ส่ล�กค��ได�หม�ยเลข้เด�ยว

Multi-valued attribute Multi-valued attribute ค1อ แอต้ที่ร"บ"วต้�ที่�� ค1อ แอต้ที่ร"บ"วต้�ที่�� เก-บค��ได�ต้�,งแต้� เก-บค��ได�ต้�,งแต้� 1 1 ค��ข้5,นไป เช้�น ค��ข้5,นไป เช้�น เบอร�โที่รศึ�พัที่� เบอร�โที่รศึ�พัที่�

ข้องล�กค�� ม�ที่�,งเบอร�บ��น เบอร�ม1อถ1อ เป นต้�นข้องล�กค�� ม�ที่� ,งเบอร�บ��น เบอร�ม1อถ1อ เป นต้�น

ล�กค�� เบอร�โที่รศึ�พัที่�

Page 42: ส่วนที่ 2 Database Design

Database Management System

4.42

ประเภทข้องแอตทร�บ�วต!ประเภทข้องแอตทร�บ�วต!((ต$อต$อ)) Composite attribute ค1อแอต้ที่ร"บ"วต้�ที่��ประกอบด�วย

แอต้ที่ร"บ"วต้�หล�ยต้�วม�รวมก�นจำ5งให�คว�มหม�ยที่��ช้�ดเจำน

ช้1�อ-ส่ก%ล

ล�กค��

ช้1�อ ส่ก%ล

ที่��อย��

ถนนจำ�งหว�ด

อ��เภอ

Page 43: ส่วนที่ 2 Database Design

Database Management System

4.43

ประเภทข้องแอตทร�บ�วต!ประเภทข้องแอตทร�บ�วต!((ต$อต$อ)) Derived attribute ค1อ แอต้ที่ร"บ"วต้�ที่��เก-บผู้ลก�รค��นวณหร1อ

แปลงค��ม�จำ�กแอต้ที่ร"บ"วต้�อ1�นๆ เช้�น จำ��นวนเง"น(ร�ค�*จำ��นวน)

แผู้นกจำ��นวนพัน�กง�น

รห�ส่แผู้นก

Page 44: ส่วนที่ 2 Database Design

Database Management System

4.44

Weak EntityWeak Entity

Weak entity Weak entity ต้�องม�ค%ณส่มบ�ต้" ต้�องม�ค%ณส่มบ�ต้" 2 2 ข้�อ ค1อ ข้�อ ค1อ 1. 1. ไม�ม� ไม�ม� Primary Key Primary Key ม�เพั�ยง ม�เพั�ยง partial key partial key ((ซ้ำ5�งซ้ำ5�ง

เป นค��ที่��ซ้ำ�,�ก�นได�เป นค��ที่��ซ้ำ�,�ก�นได� ) ) ด�งน�,นน��เอ� ด�งน�,นน��เอ� partial key partial key ไปรวมไปรวมก�บ ก�บ Primary key Primary key ข้อง ข้อง Strong Entity Strong Entity ก-จำะเป นก-จำะเป นค��ที่��ไม�ซ้ำ�,�ได�ค��ที่��ไม�ซ้ำ�,�ได�

2. Weak entity 2. Weak entity ต้�องม�คว�มส่�มพั�นธ์�ก�บ ต้�องม�คว�มส่�มพั�นธ์�ก�บ Strong Strong Entity Entity อย��งน�อย อย��งน�อย 1 entity 1 entity ค1อ ค1อ ล�กษณะข้องก�รล�กษณะข้องก�ร

ข้5,นต้�อก�น ค1อ ก�รที่��เอนต้"ต้�,หน5�งจำะเก"ดข้5,นได�น�,น ข้5,น ข้5,นต้�อก�น ค1อ ก�รที่��เอนต้"ต้�,หน5�งจำะเก"ดข้5,นได�น�,น ข้5,นก�บอ�กเอนต้"ต้�,หน5�งว��ปร�กฏอย��หร1อไม�ก�บอ�กเอนต้"ต้�,หน5�งว��ปร�กฏอย��หร1อไม�

Page 45: ส่วนที่ 2 Database Design

Database Management System

4.45

Weak Entity (Weak Entity (ต$อต$อ)) ต้�วอย��ง ต้�วอย��ง เอนต้"ต้�,พัน�กง�นและเอนต้"ต้�,ญ�ต้" ถ�� เอนต้"ต้�,พัน�กง�นและเอนต้"ต้�,ญ�ต้" ถ��

ไม�ม�เอนต้"ต้�,พัน�กง�น เอนต้"ต้�,ญ�ต้"ก-จำะไม�เก"ดข้5,น ไม�ม�เอนต้"ต้�,พัน�กง�น เอนต้"ต้�,ญ�ต้"ก-จำะไม�เก"ดข้5,น– เอนต้"ต้�,ญ�ต้" เป น เอนต้"ต้�,ญ�ต้" เป น Weak EntityWeak Entity– เอนต้"ต้�,พัน�กง�น เป น เอนต้"ต้�,พัน�กง�น เป น EntityEntity

พัน�กง�น ม� ญ�ต้"1 M

-ญ�ต้" เป น weak entity ที่��ไม�ม� primary key โดยค%ณส่มบ�ต้" ล��ด�บที่�� ม�ค��ซ้ำ�,�ก�นในร�เลช้��น ญ�ต้" เพัร�ะ

ค%ณส่มบ�ต้" ล��ด�บที่�� ม�ค��ซ้ำ�,�ๆ ก�นได�ในหล�ยญ�ต้" เช้�น ล��ด�บที่�� 1 เป นญ�ต้" น�ยข้�ว และล��ด�บที่�� 1 เป นญ�ต้" น�ยแดง

-ฝั่6� งช้น"ดข้องentity ญ�ต้" เป นแบบ Total Participation

ล��ด�บที่��รห�ส่พัน�กง�น

Page 46: ส่วนที่ 2 Database Design

Weak Entities(Weak Entities(ต$อต$อ))

ช้1�อว"ช้�ช้1�อว"ช้�((รห�ส่ว"ช้�รห�ส่ว"ช้� , , ช้1�อว"ช้�ช้1�อว"ช้�))ว"ช้�ที่��เป?ดส่อนว"ช้�ที่��เป?ดส่อน((รห�ส่ว"ช้�รห�ส่ว"ช้�** , , ป:ป:--ภ�คภ�ค , , กล%�มกล%�ม , , เวล�เร�ยนเวล�เร�ยน))

ว"ช้�

เป?ดส่อน

ว"ช้�ที่��เป?ดส่อน

1

M

รห�ส่ว"ช้�

ช้1�อว"ช้�

รห�ส่ก�รเป?ดส่อน

เวล�เร�ยน

ป:-ภ�ค

กล%�ม

Page 47: ส่วนที่ 2 Database Design

Database Management System

4.47

ต�วอย$าง ต�วอย$าง Recursive Recursive RelationshipsRelationships

Course Precond.

ว"ช้�ที่��ลงที่ะเบ�ยน

ว"ช้�ที่��ต้�องผู้��นก�อน

Course(CourseID, CourseName, Unit, PrecondCourseID*)

1

1

ต้�วอย��ง ก�รลงที่ะเบ�ยนบ�งว"ช้� จำะต้�องเร�ยน ต้�วอย��ง ก�รลงที่ะเบ�ยนบ�งว"ช้� จำะต้�องเร�ยน ว"ช้�อ1�นม� ว"ช้�อ1�นม� 1 1 ว"ช้� ว"ช้� (one to one)(one to one)

Page 48: ส่วนที่ 2 Database Design

Database Management System

4.48

Recursive Recursive Relationships(Relationships(ต$อต$อ))CourseIDCourseID CourseNameCourseName UnitUnit PrecondCourseID

*

Database Database Management SystemManagement System

33 41222024122202

41222024122202 Introduction to Introduction to DatabaseDatabase

33

41212024121202 Programming and Programming and algorithmalgorithm

33

41221014122101 Programing Language Programing Language 11

33 41212024121202

41236014123601

Page 49: ส่วนที่ 2 Database Design

ต�วอย$าง ต�วอย$าง Recursive Recursive RelationshipsRelationships

Course Precond.

ว"ช้�ที่��ลงที่ะเบ�ยน

ว"ช้�ที่��ต้�องผู้��นก�อน

Precondition(CourseID, PrecondCourseID)Course(CourseID , CourseName, Unit)

m

m

ต้�วอย��ง ก�รลงที่ะเบ�ยนบ�งว"ช้� จำะต้�องเร�ยนว"ช้�อ1�น ต้�วอย��ง ก�รลงที่ะเบ�ยนบ�งว"ช้� จำะต้�องเร�ยนว"ช้�อ1�น ม� ม� 1 1 ว"ช้�หร1อหล�ยๆว"ช้� ว"ช้�หร1อหล�ยๆว"ช้� (many to many)(many to many)

Page 50: ส่วนที่ 2 Database Design

Recursive Recursive Relationships(Relationships(ต$อต$อ))

CourseIDCourseID CourseNameCourseName UnitUnit

41236014123601 Database Management Database Management SystemSystem

33

41222024122202 Introduction to DatabaseIntroduction to Database 33

41212024121202 Programming and algorithmProgramming and algorithm 33

41221014122101 Programing Language 1Programing Language 1 33

Course

CourseIDCourseID PrecondCourseID

41236014123601 41222024122202

41236014123601 41221014122101

41212024121202 41211014121101

41221014122101 41212024121202

Precondition

Page 51: ส่วนที่ 2 Database Design

ต�วอย$าง ต�วอย$าง Recursive Recursive RelationshipsRelationships

ต้�วอย��ง พัน�กง�นที่��เป นห�วหน�� ต้�วอย��ง พัน�กง�นที่��เป นห�วหน�� 1 1 คน ม�ล�ก คน ม�ล�ก น�องได�หล�ยคน ที่�,งห�วหน��และล�กน�องก-เป น น�องได�หล�ยคน ที่�,งห�วหน��และล�กน�องก-เป น

พัน�กง�นที่�,งค�� พัน�กง�นที่�,งค�� (one to many)(one to many)

Employees Manage

ห�วหน��

ล�กน�อง

1

m

Employees( EmpID, EmpName, BirthDate, MangerID*)

Page 52: ส่วนที่ 2 Database Design

เป นคว�มส่�มพั�นธ์�ที่��ม�เอนต้"ต้�,ที่��เก��ยวข้�องเป นคว�มส่�มพั�นธ์�ที่��ม�เอนต้"ต้�,ที่��เก��ยวข้�อง 33 เอนต้"ต้�,เอนต้"ต้�, เช้�นคว�มส่�มพั�นธ์�ด�กร� เช้�นคว�มส่�มพั�นธ์�ด�กร� 3 3 ข้องคว�มส่�มพั�นธ์�ระหว��ง ข้องคว�มส่�มพั�นธ์�ระหว��ง

ผู้��ข้�ย โครงก�ร ส่"นค�� ผู้��ข้�ย โครงก�ร ส่"นค��– เน1�องจำ�กผู้��ข้�ยส่�ม�รถข้�ยส่"นค��ให�ก�บโครงก�รใดก-ได�เน1�องจำ�กผู้��ข้�ยส่�ม�รถข้�ยส่"นค��ให�ก�บโครงก�รใดก-ได�

ต�วอย$าง ต�วอย$าง Ternary Ternary RelationshipsRelationships

Page 53: ส่วนที่ 2 Database Design

ต�วอย$าง ต�วอย$าง Ternary Ternary RelationshipsRelationships

Mผู้��ข้�ย ส่"นค��

โครงก�ร

ส่��หร�บ M

M

รห�ส่โครงก�ร

รห�ส่ผู้��ข้�ยรห�ส่ส่"นค��

ผู้��ข้�ย-โครงก�ร-ส่"นค��(รห�ส่ผู้��ข้�ย, รห�ส่โครงก�ร , รห�ส่ส่"นค�� , จำ��นวน)

จำ��นวน

Page 54: ส่วนที่ 2 Database Design

ต�วอย$าง ต�วอย$าง Ternary Ternary RelationshipsRelationships

ME2 E3

E1

R M

1

ID1

ID2ID3

RR ( (ID3ID3, , ID2ID2, ID1), ID1)

ME2 E3

E1

R M

M

ID1

ID2ID3

RR ( (ID3,ID3, ID2ID2, , ID1ID1))

Page 55: ส่วนที่ 2 Database Design

Database Management System

4.55

AggregationAggregation Treat aggregation as any other entity typeTreat aggregation as any other entity type

Treatment

Physician PatientTreatM M

Drug

Use

M

M

PhysicianPhysician(…)(…), Patient, Patient(…)(…), Drug, Drug(…)(…)

TreatTreat ( (PhysicianID,PhysicianID, PatientIDPatientID))

UseUse((PhysicianID,PhysicianID, PatientID,PatientID, DrugIDDrugID))

Page 56: ส่วนที่ 2 Database Design

หล�กการแปลง หล�กการแปลง ER ER เป1นร�เลชี��นเป1นร�เลชี��น1.1. ให�แปลงเอนต้"ต้",ที่%กต้�วเป นร�เลช้��น และ ให�แปลงเอนต้"ต้",ที่%กต้�วเป นร�เลช้��น และ

แปลงแอต้ที่ร"บ"วต้�ที่%กต้�วข้องเอนต้"ต้�,ให�แปลงแอต้ที่ร"บ"วต้�ที่%กต้�วข้องเอนต้"ต้�,ให�เป นแอต้ที่ร"บ"วต้�ข้องร�เลช้��นเป นแอต้ที่ร"บ"วต้�ข้องร�เลช้��น

Customer CusID

CusName

CusSurNameCusAdd

Customer(CusID, CusName, CusSurName, CusAdd)

Page 57: ส่วนที่ 2 Database Design

หล�กการแปลง หล�กการแปลง ER ER เป1นร�เป1นร�เลชี��นเลชี��น((ต$อต$อ))2. 2. เพั"�มแอต้ที่ร"บ"วต้�ให�ก�บร�เลช้��นเพั"�มแอต้ที่ร"บ"วต้�ให�ก�บร�เลช้��น

2.1 2.1 ถ��คว�มส่�มพั�นธ์�เป นแบบ ถ��คว�มส่�มพั�นธ์�เป นแบบ 1 to 1 1 to 1 ให�น�� ให�น�� pk pk ข้องร�เลช้��นฝั่6� งใดฝั่6� งหน5�งไปอย��ในร�เลช้��นข้องอ�กข้องร�เลช้��นฝั่6� งใดฝั่6� งหน5�งไปอย��ในร�เลช้��นข้องอ�กฝั่6� งหน5�งฝั่6� งหน5�ง

** ต้�องให�ค��ในแอต้ที่ร"บ"วใหม�เป น Null น�อยส่%ดหร1อไม�ม� Teacher

ThIDThName

ThSurName

Teacher(ThID, ThName, ThSurName)

Faculty(FacID,FacName,ThID*)

เป นคณบด� Faculty

FacIDFacName

1 1

Page 58: ส่วนที่ 2 Database Design

Database Management System

4.58

Teacher(ThID, ThName, ThSurName)

Faculty(FacID,FacName,ThID*)

Teacher(ThID, ThName, ThSurName,FacID*)

Faculty(FacID,FacName)

Page 59: ส่วนที่ 2 Database Design

Database Management System

4.59

FacIDFacID FacNameFacName ThID*ThID*

11 ว"ที่ย�ศึ�ส่ต้ร�ว"ที่ย�ศึ�ส่ต้ร� 001001

22 มน%ษย�มน%ษย� 034034

33 ว"ที่ย�ก�รจำ�ดก�รว"ที่ย�ก�รจำ�ดก�ร 253253

44 คร%ศึ�ส่ต้ร�คร%ศึ�ส่ต้ร� 333333

55 เที่คโนโลย�อ%ต้ฯเที่คโนโลย�อ%ต้ฯ 111111

ThIDThID ThNameThName ThSurNameThSurName

001001 ผู้ศึผู้ศึ..ว�ส่น�ว�ส่น� ใจำด�ใจำด�034034 ออ..ส่มค"ดส่มค"ด ใจำด�ใจำด�253253 รศึรศึ..ฉล�ดฉล�ด ใจำด�ใจำด�333333 ผู้ศึผู้ศึ..ส่ม�ธ์"ส่ม�ธ์" ใจำด�ใจำด�111111 ออ. . ด%ษฎี�ด%ษฎี� ใจำด�ใจำด�002002 ออ. . ประส่งค�ประส่งค� ใจำด�ใจำด�003003 ออ. . ปร�น�ปร�น� ใจำด�ใจำด�

Page 60: ส่วนที่ 2 Database Design

Database Management System

4.60

FacIDFacID FacNameFacName

11 ว"ที่ย�ศึ�ส่ต้ร�ว"ที่ย�ศึ�ส่ต้ร�22 มน%ษย�มน%ษย�33 ว"ที่ย�ก�รจำ�ดก�รว"ที่ย�ก�รจำ�ดก�ร44 คร%ศึ�ส่ต้ร�คร%ศึ�ส่ต้ร�55 เที่คโนโลย�อ%ต้ฯเที่คโนโลย�อ%ต้ฯ

ThIDThID ThNameThName ThSurNameThSurName FacIDFacID

001001 ผู้ศึผู้ศึ..ว�ส่น�ว�ส่น� ใจำด�ใจำด� 11

034034 ออ..ส่มค"ดส่มค"ด ใจำด�ใจำด� 22

253253 รศึรศึ..ฉล�ดฉล�ด ใจำด�ใจำด� 33

333333 ผู้ศึผู้ศึ..ส่ม�ธ์"ส่ม�ธ์" ใจำด�ใจำด� 44

111111 ออ. . ด%ษฎี�ด%ษฎี� ใจำด�ใจำด� 55

002002 ออ. . ประส่งค�ประส่งค� ใจำด�ใจำด�003003 ออ. . ปร�น�ปร�น� ใจำด�ใจำด�

Page 61: ส่วนที่ 2 Database Design

Database Management System

4.61

หมูายเหต.หมูายเหต.

กรณ�ที่��เป น กรณ�ที่��เป น Total Partial Relationship Total Partial Relationship

น�� น�� PK PK ข้องด��นที่��เป น ข้องด��นที่��เป น Partial Partial Relationship Relationship

ไปเป น ไปเป น FK FK ข้องด��นที่��เป น ข้องด��นที่��เป น TotalTotal RelationshipRelationship

Page 62: ส่วนที่ 2 Database Design

หล�กการแปลง หล�กการแปลง ER ER เป1นร�เป1นร�เลชี��นเลชี��น((ต$อต$อ))2. 2. เพั"�มแอต้ที่ร"บ"วต้�ให�ก�บร�เลช้��นเพั"�มแอต้ที่ร"บ"วต้�ให�ก�บร�เลช้��น

2.2 2.2 ถ��คว�มส่�มพั�นธ์�เป นแบบ ถ��คว�มส่�มพั�นธ์�เป นแบบ 1 to M1 to M ให�น�� ให�น�� pk pk ข้องร�เลช้��นฝั่6� งที่��เป น ข้องร�เลช้��นฝั่6� งที่��เป น 11ไปอย��ในร�เลช้��นข้องฝั่6� งที่��ไปอย��ในร�เลช้��นข้องฝั่6� งที่��

เป น เป น MM

Customer

CusID

CusName

CusSurName

Customer(CusID, CusName, CusSurName)

Orders(OID,OrderDate, ReqDate ,CusID*)

ส่��งซ้ำ1,อ Orders

OIDOrderDate

1 M

ReqDate

Page 63: ส่วนที่ 2 Database Design

หล�กการแปลง หล�กการแปลง ER ER เป1นร�เป1นร�เลชี��นเลชี��น((ต$อต$อ))2. 2. เพั"�มแอต้ที่ร"บ"วต้�ให�ก�บร�เลช้��นเพั"�มแอต้ที่ร"บ"วต้�ให�ก�บร�เลช้��น

2.3 2.3 แอต้ที่ร"บ"วต้�ที่��อย��บนคว�มส่�มพั�นธ์� จำะน��ไปใส่�ในร� แอต้ที่ร"บ"วต้�ที่��อย��บนคว�มส่�มพั�นธ์� จำะน��ไปใส่�ในร� เลช้��นใด ก-ข้5,นอย��ก�บว��เม1�อใส่�ลงในร�เลช้��นน�,นแล�ว เลช้��นใด ก-ข้5,นอย��ก�บว��เม1�อใส่�ลงในร�เลช้��นน�,นแล�ว

จำะม�บ�งแถวหร1อไม�ม�แถวข้�อม�ลใดเลยที่��ม�ค��ในจำะม�บ�งแถวหร1อไม�ม�แถวข้�อม�ลใดเลยที่��ม�ค��ใน แอต้ที่ร"บ"วต้�เป น แอต้ที่ร"บ"วต้�เป น NullNull

Customer

CusID

CusName

CusSurName

Customer(CusID, CusName, CusSurName)

Orders(OID,OrderDate, ReqDate ,CusID*)

ส่��งซ้ำ1,อ Orders

OIDOrderDate

1 M

ReqDate

Page 64: ส่วนที่ 2 Database Design

หล�กการแปลง หล�กการแปลง ER ER เป1นร�เป1นร�เลชี��นเลชี��น((ต$อต$อ))3. 3. ส่ร��งร�เลช้��นใหม�ส่��หร�บคว�มส่�มพั�นธ์�แบบ ส่ร��งร�เลช้��นใหม�ส่��หร�บคว�มส่�มพั�นธ์�แบบ M to M M to M

โดยส่ร��ง โดยส่ร��ง PK PK ได�จำ�ก ก�รน��เอ� ได�จำ�ก ก�รน��เอ� PK PK ข้องแต้�ละร�เลช้��นข้องแต้�ละร�เลช้��น ม�ประกอบก�น ม�ประกอบก�น หร1อ ส่ร��งแอต้ที่ร"บ"วส่�ข้5,นม�ใหม�หร1อ ส่ร��งแอต้ที่ร"บ"วส่�ข้5,นม�ใหม�

Products

PID

PName

Price

Product(PID, PName, Price)

Orders(OID,OrderDate, ReqDate ,CusID*)

OrderDetail(OID*, PID*, Discount, Amount, UnitPrice)

ร�ยก�รส่��งซ้ำ1�อ Orders

OIDUnitPrice

M M

Amount

Discount

Page 65: ส่วนที่ 2 Database Design

Database Management System

4.65ต�วอย$างต�วอย$าง สัร�าง สัร�าง primary key primary key ใหมู$ใหมู$

น�กศึ5กษ� ว"ช้�ลงที่ะเบ�ยน

รห�ส่น�กศึ5กษ�ช้1�อ-น�มส่ก%ล

ช้1�อว"ช้�

กล%�มรห�ส่ว"ช้�

M M

เกรด

น�กศึ5กษ� (รห�ส่น�กศึ5กษ�,ช้1�อ-น�มส่ก%ล)ว"ช้� (รห�ส่ว"ช้�,กล%�ม,ช้1�อว"ช้�)ลงที่ะเบ�ยน (รห�ส่ก�รลงที่ะเบ�ยน,รห�ส่น�กศึ5กษ�*,รห�ส่ว"ช้�*,กล%�ม*,เกรด)

Page 66: ส่วนที่ 2 Database Design

หล�กการแปลง หล�กการแปลง ER ER เป1นร�เป1นร�เลชี��นเลชี��น((ต$อต$อ))4. ส่��หร�บเอนต้"ต้",ที่��ม�แอต้ที่ร"บ"วต้�แบบหล�ยค�� ให�ส่ร��งร�เลช้��นเพั"�ม ที่��ม�แอต้ที่ร"บ"วต้�แบบหล�ยค��น�,น PK ข้องร�เลช้��นใหม�เก"ดจำ�ก PK ข้องร�เลช้��นเด"มประกอบ

ก�บ แอต้ที่ร"บ"วต้�ที่��เก"ดจำ�กแอต้ที่ร"บ"วแบบหล�ยค��

Customer

CusID

CusName

CusSurName

Customer(CusID, CusName, CusSurName)

CusCredit(CusID*, CreditNum)

CreditNum

Page 67: ส่วนที่ 2 Database Design

Database Management System

4.67

ห�กพับ multivalued attribute ควรแยกออกม�เป น composite attribute

พัน�กง�นรห�ส่

ช้1�อ

เบอร�โที่รศึ�พัที่�

พัน�กง�น(รห�ส่,ช้1�อ,น�มส่ก%ล,เบอร�โที่รศึ�พัที่�1 ,เบอร�โที่รศึ�พัที่�2 )

น�มส่ก%ล

Page 68: ส่วนที่ 2 Database Design

หล�กการแปลง หล�กการแปลง ER ER เป1นร�เป1นร�เลชี��นเลชี��น((ต$อต$อ))5. ส่��หร�บเอนต้"ต้�,แบบอ�อน ให�ส่ร��งเป นร�เลช้��น และม� PK

ที่��ม�จำ�ก PK ข้องร�เลช้��นหน5�งรวมก�บ PK ข้องเอนต้"ต้�,แบบอ�อน

Invoice(Inv no, Date)

InvoiceDetail( Inv no* ,Line)

Date

Invoice hasInvoice Detail

Inv no Line

1 M

Page 69: ส่วนที่ 2 Database Design

Database Management System

4.69

Mulitvalued AttributesMulitvalued Attributesและการแปลงเป1นร�เลชี��นและการแปลงเป1นร�เลชี��น

FACULTY_MEMBERFACULTY_MEMBER ( (NameName, Phone), Phone)

FACULTY_DEGREESFACULTY_DEGREES ( (Name*,Name*, DegreeDegree))

Faculty Member Degrees

Phone

Faculty Member has Degree

Name

Degree

Page 70: ส่วนที่ 2 Database Design

Database Management System

4.70EER modelEER model((Enhanced Entity Relationship Enhanced Entity Relationship Model)Model) เป น Model ที่��น��แนวค"ดข้อง ER Model ม�เพั"�มเต้"มในเร1�อง

1. คว�มส่�มพั�นธ์�แบบ Superclass/Subclass หร1อSupertype/Subtype

2. แนวค"ดข้อง Generalization/Specialization ซ้ำ5�งเป น แนวค"ดที่��ใช้�ในก�รส่ร��งคว�มส่�มพั�นธ์�ข้อง Entity ที่��เป น

Superclass/Subclass รวมที่�,งก�รถ��ยที่อดค%ณส่มบ�ต้"(Attribute Inheritance)

เหม�ะที่��จำะน��ม�ใช้�ก�บระบบง�นที่�งธ์%รก"จำที่��ม�คว�มส่ล�บซ้ำ�บซ้ำ�อน ซ้ำ5�ง จำะช้�วยลดคว�มซ้ำ�บซ้ำ�อนข้องข้�อม�ล ก�รเข้�ยน Model ที่��ได�ง��ย

Page 71: ส่วนที่ 2 Database Design

Database Management System

4.71

EER modelEER model Superclass ค1อ ร�ปแบบข้อง Entity ที่��เป นต้�นแบบข้อง Entity อ1�นๆ โดย

Superclass จำะประกอบไปด�วย Subclass ต้��งๆ

Subclass ค1อ Entity ที่��ม�ค%ณส่มบ�ต้"บ�งอย��งที่��แต้กต้��งจำ�กส่ม�ช้"กข้องSubclass ด�วยก�น แต้�จำะม�ค%ณส่มบ�ต้"พั1,นฐ�นต้�ม Superclass

ต�วอย$าง : Entity พัน�กง�น เป น Superclass ประกอบด�วยข้�อม�ล รห�ส่พัน�กง�น, ช้1�อ , ว�นที่��เร"�มที่��ง�นEntity น�,ประกอบด�วย Subclass ค1อ

- ผู้��บร"ห�ร จำะม�ข้�อม�ลเฉพั�ะ ค1อ รถและเง"นเด1อนประจำ��ต้��แหน�ง- ผู้�� เช้��ยวช้�ญ จำะม�ข้�อม�ลเฉพั�ะเก��ยวก�บคว�มช้��น�ญและค��ต้อบแที่น

- พัน�กง�นแรงง�น จำะม�ข้�อม�ลเฉพั�ะ ค1ออ�ต้ร�ค��จำ��งร�ยว�น ข้�อม�ลข้อง Entity ที่��เป น Subclass จำะต้�องม�ข้�อม�ลที่�,งหมดจำ�กSuperclass

Page 72: ส่วนที่ 2 Database Design

Database Management System

4.72

Manager Specialist Labor

-รถประจำ��ต้��แหน�ง

-เง"นเด1อนประจำ��ต้��แหน�ง

- คว�มช้��น�ญ

- ค��ต้อบแที่นผู้��เช้��ยวช้�ญ

-ค��จำ��งร�ยว�น

Superclass/Subclass

รห�ส่พัน�กง�น

ช้1�อพัน�กง�นว�นที่��เร"�มง�น

Employee

Page 73: ส่วนที่ 2 Database Design

Database Management System

4.73

การถ$ายทอดค.ณสัมูบ�ต� (Attribute Inheritance)

- Subclass จำะร�บถ��ยที่อดค%ณส่มบ�ต้"ที่%กๆอย��ง จำ�ก Superclass

- ที่��ให�ไม�ต้�องก��หนด Attribute ซ้ำ�,�ซ้ำ�อนในSubclass

- ต้�วอย��ง : Subclass ผู้��บร"ห�ร,ผู้��เช้��ยวช้�ญและ พัน�กง�นแรงง�น จำะได�ร�บถ��ยที่อดค%ณส่มบ�ต้"

ที่%กๆอย��งจำ�ก Superclass Employee

Page 74: ส่วนที่ 2 Database Design

Database Management System

4.74

Generalization• เป นกระบวนก�รจำ�ดก�รก�บ Entity ที่��เ ป นแม�แบบ เพั1�อ

ใช้�ก��หนดล�กษณะท��เหมู0อนก�นหร0อร$วมูก�น ว"ธ์�ก�รน�, เป นว"ธ์�แบบล��งข้5,นบน (Bottom-Up Approach)

ด�วยการมูองหาสั��งท��เหมู0อนก�นใน Subclass เช้�น ก�รพั"จำ�รณ� Entity ที่��เป น Subclass ค1อ ผู้��บร"ห�ร ,

ผู้��เช้��ยวช้�ญและพัน�กง�นแรงง�น ว��ม�ล�กษณะอะไรที่�� เหม1อนก�น เพั1�อออกแบบ Entity ที่��เป น Superclass

ค1อ Employee ซ้ำ5�งม�ข้�อม�ลร�วมก�น ค1อ รห�ส่พัน�กง�นช้1�อและว�นที่��เร"�มที่��ง�น

• จำะก��หนดซ้ำ�บคล�ส่ก�อน แล�วค�อยห�ว��ซ้ำ�บคล�ส่ที่�,งหมดน�,นม�แอต้ที่ร"บ"วต้�อะไรที่��เหม1อนก�นบ��ง

Page 75: ส่วนที่ 2 Database Design

Database Management System

4.75

Specialization• เป นกระบวนก�รจำ�ดก�รก�บ Entity ที่��ม�คว�มแต้กต้��งก�นในกล%�ม

ข้องส่ม�ช้"กซ้ำ5�งข้5,นก�บ Superclass ว"ธ์�น�,เป นว"ธ์�แบบบนลงล��ง (Top-Down Approach) ด�วยการมูองจ.ดท��แตกต$างก�นระหว$าง Subclass เช้�น Superclass Employee ประกอบด�วยพัน�กง�นที่��เป นผู้��บร"ห�ร ผู้��เช้��ยวช้�ญและพัน�กง�นแรงง�น ซ้ำ5�งม�รายละเอ�ยดเฉพัาะต้�มประเภที่พัน�กง�น

• เคร0�องหมูายท��ใชี�แสัดงความูสั�มูพั�นธ์!ข้อง Superclass/Subclass • เคร1�องหม�ย U แส่ดงว�� Subclass เป น Subset ข้อง Superclass

• จำ%ดเช้1�อมต้�อ ค1อ วงกลม• เส่�นที่��ล�กจำ�ก Superclass ม�ย�ง Subclass ค1อ เส่�นที่��ถ��ยที่อด

ค%ณส่มบ�ต้"

Page 76: ส่วนที่ 2 Database Design

Database Management System

4.76 ต�วอย$าง ธ์.รก�จมู�การว$าจ�างพัน�กงาน

โดยม�พัน�กง�นที่��แต้กต้��งก�น 3 ประเภที่ ค1อ 1.Hourly Employees – พัน�กง�นร�ยช้��วโมง

2. Salary Employees – พัน�กง�นประจำ�� ได�ร�บเง"นเด1อน

3. Consultants – ที่��ปร5กษ� ได�ร�บเง"นพั"เศึษ

โดย Attribute ที่��ส่��ค�ญข้องพัน�กง�นแต้�ละประเภที่ ประกอบด�วย Hourly Employee (Emp_no, Emp_name, Address,

Date_hired, Hourly_Rate) Salary Employee (Emp_no, Emp_name,

Address, Date_hired, Annual_Salary) Consultant ( Emp_no, Emp_name, Address,

Date_hired, Contract_No, Billing_Rate)

Page 77: ส่วนที่ 2 Database Design

Database Management System

4.77

Employee

Emp_noEmp_name Address

Date_hired

d

Hourly Employee

Salary Employee

Consultant

Hourly_rate Annual_SalaryContact_noBilling_Rate

UU

U

Page 78: ส่วนที่ 2 Database Design

Database Management System

4.78

สัร�าง สัร�าง EER model EER model ตามูหล�กการ ตามูหล�กการ specializationspecialization

พัน�กง�น

พัน�กง�นที่��ได�ร�บ เง"นเด1อน

พัน�กง�นที่��ได�ร�บค��ต้อบแที่นเป นช้��วโมง

dเง"นเด1อน ร�ยช้��วโมง

รห�ส่พัน�กง�น

ช้1�อพัน�กง�น

ต้��แหน�ง

อ�ต้ร�ค��แรงต้�อช้ม.เง"นเด1อน

พัน�กง�นได�ร�บค��จำ��งเป นแบบใดแบบหน5�ง

ช้น"ดค��ต้อบแที่น

Page 79: ส่วนที่ 2 Database Design

Database Management System

4.79

แปลง แปลง EER EER เป1น เป1น relationrelation

แบ�ง แบ�ง 4 4 กรณ�กรณ�– แปลงได� แปลงได� 1 1 ต้�ร�ง โดยน��แอต้ที่ร"บ"วต้�ข้อง ต้�ร�ง โดยน��แอต้ที่ร"บ"วต้�ข้อง

subclass subclass ที่%กต้�ว จำ�บม�ไว�ในต้�ร�งข้อง ที่%กต้�ว จำ�บม�ไว�ในต้�ร�งข้อง superclasssuperclass

– แปลงได�ต้�ร�งเที่��ก�บจำ��นวนข้อง แปลงได�ต้�ร�งเที่��ก�บจำ��นวนข้อง subclass subclass โดยน��แอต้ที่ร"บ"วต้�ข้อง โดยน��แอต้ที่ร"บ"วต้�ข้อง superclass superclass ที่%กต้�วไปรวมก�บแอต้ที่ร"บ"วต้�ที่%กต้�วไปรวมก�บแอต้ที่ร"บ"วต้�ข้องแต้�ละ ข้องแต้�ละ subclasssubclass

Page 80: ส่วนที่ 2 Database Design

Database Management System

4.80

แปลง แปลง EER EER เป1น เป1น relationrelation

แบ�ง แบ�ง 4 4 กรณ�กรณ�– 3.3.แปลงได�ต้�ร�งเที่��ก�บจำ��นวน แปลงได�ต้�ร�งเที่��ก�บจำ��นวน

superclasssuperclassและและsubclass subclass โดยต้�ร�งที่��โดยต้�ร�งที่��เป น เป น superclass superclass จำะม�แอต้ที่ร"บ"วต้�ข้องต้�วจำะม�แอต้ที่ร"บ"วต้�ข้องต้�วม�นเอง แต้�ส่��หร�บม�นเอง แต้�ส่��หร�บsubclass subclass ให�น�� ให�น�� pk pk ข้องข้องsuperclass superclass ไปรวมไว�ย�งแต้�ละ ไปรวมไว�ย�งแต้�ละ subclass subclass ด�วย ด�วย

Page 81: ส่วนที่ 2 Database Design

Database Management System

4.81

แปลง แปลง EER EER เป1น เป1น relationrelation

แบ�ง แบ�ง 4 4 กรณ�กรณ�– 4.4.ใช้�ได�ก�บคว�มส่�มพั�นธ์� ใช้�ได�ก�บคว�มส่�มพั�นธ์� superclass-superclass-

subclass subclass แบบ แบบ overlappedoverlapped แปลงต้�ร�งได�เพั�ยงต้�ร�งเด�ยวเที่��น�,น ค1อ แปลงต้�ร�งได�เพั�ยงต้�ร�งเด�ยวเที่��น�,น ค1อ

ต้�ร�งที่��เก"ดจำ�ก ต้�ร�งที่��เก"ดจำ�ก superclass superclass โดยน�� โดยน�� attribute attribute ที่%กต้�วม�จำ�ก ที่%กต้�วม�จำ�ก subclasssubclass

และเพั"�ม และเพั"�ม attribute attribute ใหม� ให�ม�จำ��นวนเที่��ก�บ ใหม� ให�ม�จำ��นวนเที่��ก�บ subclass subclass เพั1�อเก-บ เพั1�อเก-บ flagflagข้องข้องsubclasssubclass

Page 82: ส่วนที่ 2 Database Design

Database Management System

4.82

การแปลงเป1นร�เลชี��นการแปลงเป1นร�เลชี��น ที่��ได� ที่��ได� 2 2 ว"ธ์�ค1อว"ธ์�ค1อ

– ว"ธ์� ว"ธ์� 1 1 แปลงเป น แปลงเป น 3 3 ร�เลช้��น ค1อ ร�เลช้��น ค1อ พัน�กง�นพัน�กง�น((รห�ส่พัน�กง�นรห�ส่พัน�กง�น , , ช้1�อพัน�กง�นช้1�อพัน�กง�น , , ต้��แหน�งต้��แหน�ง , , ช้น"ดค��ต้อบแที่นช้น"ดค��ต้อบแที่น)) เง"นเด1อนเง"นเด1อน((รห�ส่พัน�กง�นรห�ส่พัน�กง�น , , เง"นเด1อนเง"นเด1อน)) ค��ต้อบแที่นเป นช้มค��ต้อบแที่นเป นช้ม((รห�ส่พัน�กง�นรห�ส่พัน�กง�น , , อ�ต้ร�ค��แรงอ�ต้ร�ค��แรง))

– เหม�ะก�บก�รใช้�ข้�อม�ลพัน�กง�นบ�อยๆโดยไม�ส่นเร1�องค��จำ��งเหม�ะก�บก�รใช้�ข้�อม�ลพัน�กง�นบ�อยๆโดยไม�ส่นเร1�องค��จำ��ง– ว"ธ์� ว"ธ์� 2 2 แปลงเป น แปลงเป น 2 2 ร�เลช้��น ค1อ ร�เลช้��น ค1อ

พัน�กง�นที่��ได�ร�บเง"นเด1อนพัน�กง�นที่��ได�ร�บเง"นเด1อน((รห�ส่พัน�กง�นรห�ส่พัน�กง�น , , ช้1�อพัน�กง�นช้1�อพัน�กง�น , , ต้��แหน�งต้��แหน�ง , , เง"นเง"นเด1อนเด1อน))

พัน�กง�นที่��ได�ร�บค��ต้อบแที่นเป นช้มพัน�กง�นที่��ได�ร�บค��ต้อบแที่นเป นช้ม((รห�ส่พัน�กง�นรห�ส่พัน�กง�น , , ช้1�อพัน�กง�นช้1�อพัน�กง�น , ,ต้��แหน�งต้��แหน�ง , , อ�ต้ร�ค��แรงเป นช้มอ�ต้ร�ค��แรงเป นช้ม))

– เหม�ะก�บคว�มต้�องก�รใช้�ข้�อม�ลพัน�กง�นแยกก�น เหม�ะก�บคว�มต้�องก�รใช้�ข้�อม�ลพัน�กง�นแยกก�น

Page 83: ส่วนที่ 2 Database Design

Database Management System

4.83 สัร�าง สัร�าง EER model EER model ตามูหล�กการ ตามูหล�กการ

specializationspecialization((ต$อต$อ))พัน�กง�น

พัน�กง�นที่��ได�ร�บ เง"นเด1อน

พัน�กง�นที่��ได�ร�บค��ต้อบแที่นเป นช้��วโมง

Oเง"นเด1อน ร�ยช้��วโมง

รห�ส่พัน�กง�น

ช้1�อพัน�กง�น

ต้��แหน�ง

อ�ต้ร�ค��แรงต้�อช้ม.เง"นเด1อน

พัน�กง�นแต้�ละคนม�ส่"ที่ธ์"Dได�ร�บที่�,งเง"นเด1อนและค��ต้อบแที่นเป นช้��วโมงด�วย

ช้น"ดค��ต้อบแที่น

Page 84: ส่วนที่ 2 Database Design

Database Management System

4.84

การแปลงเป1นร�เลชี��นการแปลงเป1นร�เลชี��น แปลงได�ร�เลช้��นเด�ยวและเก-บข้�อม�ลที่%กอย��งลงไปแปลงได�ร�เลช้��นเด�ยวและเก-บข้�อม�ลที่%กอย��งลงไป เพั"�มแอต้ที่ร"บ"วต้�ที่��ที่��หน��ที่��เป นแฟ์ล-ก ส่��หร�บเก-บค�� เพั"�มแอต้ที่ร"บ"วต้�ที่��ที่��หน��ที่��เป นแฟ์ล-ก ส่��หร�บเก-บค��

T T หร1อ หร1อ FF

พัน�กง�นพัน�กง�น((รห�ส่พัน�กง�นรห�ส่พัน�กง�น , , ช้1�อพัน�กง�นช้1�อพัน�กง�น , , ต้��แหน�งต้��แหน�ง , ,แฟ์ล-กเง"นเด1อนแฟ์ล-กเง"นเด1อน , , เง"นเด1อนเง"นเด1อน , , แฟ์ล-กค��ต้อบแที่นเป นแฟ์ล-กค��ต้อบแที่นเป นช้มช้ม , , อ�ต้ร�ค��แรงต้�อช้มอ�ต้ร�ค��แรงต้�อช้ม))– ถ��แฟ์ล-กเง"นเด1อน ม�ค��เป นจำร"ง ถ��แฟ์ล-กเง"นเด1อน ม�ค��เป นจำร"ง , , ควรต้�องม�ค��ในช้�องเง"นควรต้�องม�ค��ในช้�องเง"น

เด1อนด�วยเด1อนด�วย

Page 85: ส่วนที่ 2 Database Design

Database Management System

4.85

สัร�าง สัร�าง EER model EER model ตามูหล�กการ ตามูหล�กการ generalizationgeneralization

พัน�กง�น

พัน�กง�นที่��ได�ร�บ เง"นเด1อน

พัน�กง�นที่��ได�ร�บค��ต้อบแที่นเป นช้��วโมง

O

ช้น"ดค��ต้อบแที่น

เง"นเด1อน ร�ยช้��วโมง

Page 86: ส่วนที่ 2 Database Design

Database Management System

4.86Constraint Constraint สั�าหร�บ สั�าหร�บSpecialization Specialization และ และGeneralizationGeneralization

1.Condition 1.Condition เง1�อนไข้ในก�รจำ��แนกข้�อม�ลเง1�อนไข้ในก�รจำ��แนกข้�อม�ล 2.Disjoint/Overlap Constraint2.Disjoint/Overlap Constraint

– d d ข้�อม�ลระด�บข้�อม�ลระด�บ superclass superclass ส่�ม�รถส่�มพั�นธ์�ก�บส่�ม�รถส่�มพั�นธ์�ก�บ subclasssubclass ได�เพั�ยงหน5�งต้�วเที่��น�,นได�เพั�ยงหน5�งต้�วเที่��น�,น

– เช้�น พัน�กง�นที่%กคน ส่�ม�รถร�บ เง"นเด1อนหร1อค��ต้อบแที่นเป นช้ม. เพั�ยงอย��งใดอย��งหน5�งเที่��น�,น

– o o ข้�อม�ลระด�บข้�อม�ลระด�บ superclass superclass ส่�ม�รถส่�มพั�นธ์�ก�บส่�ม�รถส่�มพั�นธ์�ก�บ subclasssubclass ได�ม�กกว��หน5�งต้�วได�ม�กกว��หน5�งต้�ว

– พัน�กง�นที่%กคนส่�ม�รถร�บเง"นเด1อนหร1อค��ต้อบแที่นเป นช้ม. อย��งใดอย��งหน5�งหร1อได�ร�บที่�,งส่องอย��งก-ได�

Page 87: ส่วนที่ 2 Database Design

Database Management System

4.87Constraint Constraint สั�าหร�บ สั�าหร�บSpecialization Specialization และ และGeneralizationGeneralization((ต$อต$อ))

3.Completeness/Incompleteness3.Completeness/Incompleteness– ห�กระบ% ห�กระบ% subclass subclass ที่�,งหมดได�อย��งครบถ�วน ที่�,งหมดได�อย��งครบถ�วน

เร�ยกว�� เร�ยกว�� Completeness Completeness

Page 88: ส่วนที่ 2 Database Design

Database Management System

4.88 ข้�อมู�ลพัน�กงาน แบ$งประเภทข้อง ข้�อมู�ลพัน�กงาน แบ$งประเภทข้อง งานท��ร�บผู้�ดชีอบเป1น งานท��ร�บผู้�ดชีอบเป1น 3 3 กล.$มูกล.$มู

เท$าน�)นเท$าน�)น Completeness Completeness

พัน�กง�น

ผู้��จำ�ดก�ร เลข้�น%ก�ร

dผู้��จำ�ดก�ร เลข้�น%ก�ร

รห�ส่พัน�กง�น

ช้1�อพัน�กง�น ประเภที่ง�น

ว"ศึวกร

ว"ศึวกร

Page 89: ส่วนที่ 2 Database Design

Database Management System

4.89 ข้�อมู�ลยานพัาหนะ แบ$งซึ่�บคลาสัได� ข้�อมู�ลยานพัาหนะ แบ$งซึ่�บคลาสัได� 2 2 กล.$มู ไมู$ครอบคล.มูรถยนต! กล.$มู ไมู$ครอบคล.มูรถยนต!

ประเภทอ0�นๆประเภทอ0�นๆ Incompleteness Incompleteness

รถ

รถยนต้� รถบรรที่%ก

dรถยนต้� รถบรรที่%ก

ประเภที่ง�น

Page 90: ส่วนที่ 2 Database Design

Database Management System

4.90

ล�กษณะข้องการจ�บค�$ล�กษณะข้องการจ�บค�$ข้�อมู�ลข้�อมู�ล(Participation)(Participation) Disjoint and Total Participation

–พัน�กง�นที่%กคน ส่�ม�รถร�บ เง"นเด1อนหร1อค��ต้อบแที่นเป นช้ม. เพั�ยงอย��งใดอย��งหน5�งเที่��น�,น

Disjoint and Partial Participation–พัน�กง�น ที่��ได�ร�บเง"น ต้�องได�ร�บเง"นเด1อนหร1อ

ค��ต้อบแที่นเป นช้ม. เพั�ยงอย��งใดอย��งหน5�ง เที่��น�,น แต้�อ�จำม�พัน�กง�นบ�งคนที่��ไม�ได�ร�บ

เง"นแบบใดๆเลย

Page 91: ส่วนที่ 2 Database Design

Database Management System

4.91

ล�กษณะข้องการจ�บค�$ล�กษณะข้องการจ�บค�$ข้�อมู�ลข้�อมู�ล(Participation)(Participation) Overlap and Total Participation

– พัน�กง�นที่%กคนส่�ม�รถร�บเง"นเด1อนหร1อค��ต้อบแที่นเป นช้ม. อย��งใดอย��งหน5�งหร1อได�ร�บที่�,งส่องอย��งก-ได�

Overlap and Partial Participation–พัน�กง�น ที่��ได�ร�บเง"น ต้�องได�ร�บเง"นเด1อน

หร1อค��ต้อบแที่นเป นช้ม. อย��งใดอย��ง หน5�งหร1อได�ร�บที่�,งส่องอย��งก-ได� แต้�อ�จำม�

พัน�กง�นบ�งคนไม�ได�ร�บค��เง"นแบบใดๆ

Page 92: ส่วนที่ 2 Database Design

Database Management System

4.92

ป9ญหาในการเข้�ยน ป9ญหาในการเข้�ยน ER-ER-DiagramDiagram

Fan TrapFan Trap– เป นป6ญห�ที่��เก"ดจำ�กล�กษณะก�รจำ�ดเป นป6ญห�ที่��เก"ดจำ�กล�กษณะก�รจำ�ด

คว�มส่�มพั�นธ์�ระหว��ง คว�มส่�มพั�นธ์�ระหว��ง EntityEntity Chasm TrapChasm Trap

– เป นป6ญห�ที่��เก"ดจำ�กก�รเช้1�อมโยงคว�มเป นป6ญห�ที่��เก"ดจำ�กก�รเช้1�อมโยงคว�มส่�มพั�นธ์�ระหว��งข้�อม�ลไม�ได�ส่�มพั�นธ์�ระหว��งข้�อม�ลไม�ได�

Page 93: ส่วนที่ 2 Database Design

Database Management System

4.93

Fan Trap Fan Trap แบบ แบบ 1 1

น�กศึ5กษ�

เก"ดจำ�กเอนต้"ต้�,ที่��ม�คว�มส่�มพั�นธ์�ก�บเอนต้"เก"ดจำ�กเอนต้"ต้�,ที่��ม�คว�มส่�มพั�นธ์�ก�บเอนต้" ต้�,อ1�นม�กกว�� ต้�,อ1�นม�กกว�� 1 1 ต้�วและม�ช้น"ดคว�มต้�วและม�ช้น"ดคว�ม

ส่�มพั�นธ์�ออกจำ�กต้�วเองเป น ส่�มพั�นธ์�ออกจำ�กต้�วเองเป น 1 1 ส่�วนอ�กส่�วนอ�ก ข้��งหน5�งเป น ข้��งหน5�งเป น MM

คณะ หล�กส่�ต้ร

ส่�งก�ด ม�M M1 1

Page 94: ส่วนที่ 2 Database Design

Database Management System

4.94

Fan TrapFan Trap((ต$อต$อ))

ส่มค"ด

จำร"ย�

ส่�ยใจำ

r1

r2

r3

บ�ญช้�

มน%ษย�

r4

r5

r6

บร"ห�ร

บ�ญช้�

ภ�ษ�อ�งกฤษ

สัมูค�ดและจร�ยา เร�ยนคณะบ�ญชี� แต$ไมู$สัามูารถบอกได�ว$าใครเร�ยนหล�กสั�ตรบ�ญชี�หร0อบร�หาร

Page 95: ส่วนที่ 2 Database Design

Database Management System

4.95 ทางแก� ทางแก� Fan Trap Fan Trap แบบ แบบ11

คณะ

เปล��ยนแปลงต้��แหน�งข้องเอนต้"ต้�,เปล��ยนแปลงต้��แหน�งข้องเอนต้"ต้�,

หล�กส่�ต้ร

น�กศึ5กษ�

ม� ส่�งก�ดM M1 1

Page 96: ส่วนที่ 2 Database Design

Database Management System

4.96

Fan Trap Fan Trap แบบ แบบ 2 2 เก"ดจำ�กก�รที่��เอนต้"ต้�,ม�คว�มส่�มพั�นธ์�แบบเก"ดจำ�กก�รที่��เอนต้"ต้�,ม�คว�มส่�มพั�นธ์�แบบ

เช้1�อมต้�อเน1�องก�นเป นวงกลมเช้1�อมต้�อเน1�องก�นเป นวงกลม

โครงก�ร

ผู้��ข้�ย ส่"นค��ข้�ยMM

ใช้�ซ้ำ1,อ

M

MM

M

•ผู้��ข้�ยข้�ยส่"นค��อะไร •โครงก�รต้"ดต้�อซ้ำ1,อจำ�กผู้��ข้�ยร�ยใด•โครงก�รต้�องก�รใช้�ส่"นค��ใดบ��ง

เม1�อโครงก�รต้"ดต้�อซ้ำ1,อข้�ยจำ�กผู้��ข้�ย

แต้�ละร�ยแล�ว จำะซ้ำ1,อส่"นค��อะไรจำ�กผู้��ข้�ย

ร�ยน�,นๆ?

Page 97: ส่วนที่ 2 Database Design

Database Management System

4.97 ทางแก� ทางแก� Fan Trap Fan Trap แบบ แบบ22

โดยเพั"�มเอนต้"ต้�,ต้�วกล�งโดยเพั"�มเอนต้"ต้�,ต้�วกล�ง

โครงก�ร

ผู้��ข้�ย ที่ะเบ�ยนก�รซ้ำ1,อ-ใช้�ส่"นค��

ข้�ยM1

ใช้�

ซ้ำ1,อ

M

1M

ส่"นค��1

Page 98: ส่วนที่ 2 Database Design

Database Management System

4.98

Chasm TrapChasm Trap เป นป6ญห�ที่��เก"ดจำ�กก�รเข้�ยนเอนต้"ต้�,ที่��ม�เป นป6ญห�ที่��เก"ดจำ�กก�รเข้�ยนเอนต้"ต้�,ที่��ม�

คว�มส่�มพั�นธ์�ก�บเอนต้"ต้�,อ1�นๆม�กกว�� คว�มส่�มพั�นธ์�ก�บเอนต้"ต้�,อ1�นๆม�กกว�� 1 1 ต้�วและคว�มส่�มพั�นธ์�บ�งส่�วนเป น ต้�วและคว�มส่�มพั�นธ์�บ�งส่�วนเป น

partial participation partial participation ที่��ให�ก�รจำ�บค��ที่��ให�ก�รจำ�บค��ข้�อม�ลระหว��งเอนต้"ต้�,ไม�ได�ครบถ�วนข้�อม�ลระหว��งเอนต้"ต้�,ไม�ได�ครบถ�วน

หล�กส่�ต้ร

น�กศึ5กษ�

โครงง�น

ส่�งก�ด ช้�วยง�นM 11 M

Page 99: ส่วนที่ 2 Database Design

Database Management System

4.99

Chasm TraChasm Trapp ( (ต$อต$อ))

บ�ญช้�

บร"ห�ร

มน%ษย�

r1

r2

r3

ส่มค"ด

จำร"ย�

ส่�ยใจำ

r4

r5

ง�น1

ง�น2

ง�น3

โครงงานชี0�อ งาน1 ไมู$มู�น�กศึ3กษาชี$วยงาน ท�าให�ไมู$ทราบว$าโครงงานน�)เป1นข้องหล�กสั�ตรใด

Page 100: ส่วนที่ 2 Database Design

Database Management System

4.100 ทางแก� ทางแก� Chasm Chasm TrapTrap

หล�กส่�ต้ร

น�กศึ5กษ�

โครงง�น

ส่�งก�ด ช้�วยง�นM 11 M

1เจำ��ข้อง

M

เพั"�มคว�มส่�มพั�นธ์�ที่��เช้1�อมเอนต้"ต้�,หล�กส่�ต้รก�บโครงง�นเพั"�มคว�มส่�มพั�นธ์�ที่��เช้1�อมเอนต้"ต้�,หล�กส่�ต้รก�บโครงง�น

Page 101: ส่วนที่ 2 Database Design

Database Management System

4.101

แบบฝึ<กห�ดท�ายบทท�� แบบฝึ<กห�ดท�ายบทท�� 44 1. ยกต้�วอย��งคว�มส่�มพั�นธ์�แบบ 1-1, 1 to M, M

to M ม�แบบละ 2 ต้�วอย��ง 2. เข้�ยน ER-Diagram จำ�กคว�มต้�องก�รข้อง

ระบบย1ม- ค1นหน�งส่1อในห�องส่ม%ด ด�งต้�อไปน�,– หน�งส่1ออ�จำม�เหม1อนก�นหล�ยเล�ม บรรณ�ร�กษ�จำ5งไม�

ส่�ม�รถใช้� ISBN เพั1�อแยกระหว��งเล�มที่��เหม1อนก�นได�ต้�องส่ร��งรห�ส่ข้องหน�งส่1อแต้�ละเล�มข้5,นม�ใหม�

– หน�งส่1อแต้�ละเล�มม�ผู้��แต้�งเพั�ยงหน5�งคน– ก�รย1มหน�งส่1อในห�องส่ม%ดแห�งน�, เป?ดให�บร"ก�รเฉพั�ะ

ส่ม�ช้"กเที่��น�,น ซ้ำ5�งก�รเป นส่ม�ช้"กน�,น ม�ว�นหมดอ�ย% และ ข้�อม�ลส่�วนต้�วค1อ ช้1�อ ที่��อย��และเบอร�โที่ร

Page 102: ส่วนที่ 2 Database Design

Database Management System

4.102

แบบฝึ<กห�ดท�ายบทท�� แบบฝึ<กห�ดท�ายบทท�� 4(4(ต$อต$อ))– ส่ม�ช้"กแต้�ละคนย1มหน�งส่1อได�คร�,งละไม�เก"น 5 เล�ม– ก�รย1ม- ค1นแต้�ละคร�,งจำะต้�องบ�นที่5กด�วยว��ย1มว�นใด จำะ

ต้�องส่�งหน�งส่1อค1นเม1�อไร ว�นที่��ค1นหน�งส่1อ และถ��ส่�งช้��กว��ก��หนดต้�องเส่�ยค��ปร�บ

บรรณ�ร�กษ� ต้�องจำ�ดที่��ร�ยง�นเพั1�อส่ร%ปในแต้�ละเด1อนและส่ม�ช้"กก-ต้�องก�รบร"ก�รด�งน�,– ร�ยได�จำ�กค��ปร�บในแต้�ละเด1อน– แต้�ละเด1อนม�ผู้��ม�ใช้�บร"ก�รห�องส่ม%ดจำ��นวนเที่��ไร และ

ย1มหน�งส่1อเป นจำ��นวนก��เล�ม– หน�งส่1อในหมวดใดที่��ม�ส่ม�ช้"กย1มม�กส่%ด– ส่ม�ช้"กม�กจำะค�นห�หน�งส่1อที่��ต้�องก�รด�วยช้1�อหน�งส่1อ

ช้1�อผู้��แต้�งและ ISBN

Page 103: ส่วนที่ 2 Database Design

Database Management System

4.103

แบบฝึ<กห�ดท�ายบทท�� แบบฝึ<กห�ดท�ายบทท��44((ต$อต$อ)) 3. 3. จำงแปลง จำงแปลง ER diagram ER diagram จำ�กข้�อ จำ�กข้�อ 2 2 ให�เป นให�เป น

ต้�ร�งต้�ร�ง 4. 4. จำงแปลงจำงแปลง ER ER เป น เป น RelationRelation

ช้1�อว"ช้�

เป?ดส่อน ว"ช้�ที่��เป?ดส่อน

รห�ส่ว"ช้� รห�ส่ก�รเป?ดส่อน

1 Mช้1�อว"ช้�หน�วยก"ต้

ป:-ภ�ค กล%�ม

ส่ถ�นที่��เร�ยน

เวล�เร�ยน

Page 104: ส่วนที่ 2 Database Design

Database Management System

4.104

Product

Uses

QuantityUsed

Product Code

be a component of

be an assembly of

Bills of Material

Product Desc.

m

m

5. 5. จำงแปลงจำงแปลง ER ER เป น เป น RelationRelation