chapter 8 database design - seekeaw.files.wordpress.com · 1. select...

43
CHAPTER 8 Database Design

Upload: others

Post on 17-Jan-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CHAPTER 8 Database Design - seekeaw.files.wordpress.com · 1. select คือค้าสั่งส้าหรับสืบค้นข้อมูล หรือค้นหาข้อมูลที่จัดเก็บอยู่ในตารางข้อมูล

CHAPTER 8Database Design

Page 2: CHAPTER 8 Database Design - seekeaw.files.wordpress.com · 1. select คือค้าสั่งส้าหรับสืบค้นข้อมูล หรือค้นหาข้อมูลที่จัดเก็บอยู่ในตารางข้อมูล

Outline

1. ระบบฐานขอมล

2. ภาษาส าหรบการจดการฐานขอมล

3. ระบบจดการฐานขอมล

4. ระบบฐานขอมลเชงสมพนธ

5. E-R Model

6. ขนตอนการออกแบบฐานขอมลดวย E-R Model

Page 3: CHAPTER 8 Database Design - seekeaw.files.wordpress.com · 1. select คือค้าสั่งส้าหรับสืบค้นข้อมูล หรือค้นหาข้อมูลที่จัดเก็บอยู่ในตารางข้อมูล

ระบบฐานขอมล

ระบบฐานขอมล (database system) หมายถง วธการในการรวบรวมขอมลเพอใชในองคกรโดยใหมจดการขอมลทเปนมาตรฐานเดยวกน สามารถใชขอมลรวมกนได และสามารถควบคมขอมลได

หรอกลาวอกนยหนงคอ ระบบฐานขอมล เปนการรวบรวมขอมลจ านวนมากไวในทเดยวกนและสามารถเชอมโยงกนได มการจดเกบอยางเปนระเบยบ ชวยใหโปรแกรมประยกตสามารถบรหาร จดเกบ และคนหาขอมลเปนไปอยางมประสทธภาพ

• การรวมขอมลทงหลายเขามาเกบไวในทเดยวกนจะลดการซาซอนของขอมล

• ผใชสามารถมองเหนขอมลทงหมดไดจากสถานทเดยว

Page 4: CHAPTER 8 Database Design - seekeaw.files.wordpress.com · 1. select คือค้าสั่งส้าหรับสืบค้นข้อมูล หรือค้นหาข้อมูลที่จัดเก็บอยู่ในตารางข้อมูล

ภาษาส าหรบการจดการฐานขอมล

การจดการขอมลดวยระบบฐานขอมลชวยให ผใช ผดแลระบบฐานขอมล และขอมลในฐานขอมล สามารถเชอมโยงถงกนไดโดยงายและสะดวก อาท

การเขาถงขอมลเพอเรยกใชงาน

การควบคมความถกตองของขอมล

การดแลมาตรฐานในระบบฐานขอมล

การคดกรองขอมลตามความตองการเพอประโยชนในการใชงานทมประสทธภาพ

ความสามารถดงกลาวขางตนนระบบจดการฐานขอมลไดจดเตรยมไวใหบรการโดยใช

ภาษาเอสควแอล (SQL : Structure Query Language)

ในระบบจดการฐานขอมลมการแบงกลมประเภทของคาสงได 3 กลม ไดแก

1) ภาษาส าหรบการก าหนดนยามขอมล

2) ภาษาส าหรบการจดการขอมล

3) ภาษาส าหรบการควบคมขอมล

Page 5: CHAPTER 8 Database Design - seekeaw.files.wordpress.com · 1. select คือค้าสั่งส้าหรับสืบค้นข้อมูล หรือค้นหาข้อมูลที่จัดเก็บอยู่ในตารางข้อมูล

ภาษาส าหรบการก าหนดนยามขอมล (DDL : Data Definition Language)

กลมค าสง DDL ใชในการก าหนดรายละเอยดของโครงสรางฐานขอมล

จะกาหนดรายละเอยดของขอมลทจดเกบในฐานขอมล ชนดของขอมล ขนาด และสวนอนๆ ทจาเปนและเกยวของ

ตวอยางคาสง เชน create, alter, drop

ตวอยางรปแบบภาษาแอสควแอลในการกาหนดโครงสรางของตาราง เชน

CREATE TABLE ProductBook( P_ID CHAR (3) ,

PName CHAR (50) ,PPrice DECIMAL (4) ,

PRIMARY KEY (P_ID)) ;

Page 6: CHAPTER 8 Database Design - seekeaw.files.wordpress.com · 1. select คือค้าสั่งส้าหรับสืบค้นข้อมูล หรือค้นหาข้อมูลที่จัดเก็บอยู่ในตารางข้อมูล

ภาษาส าหรบการจดการขอมล (DML : Data Manipulation Language)

ภาษาส าหรบการจดการขอมลเพอน ามาใชในการเรยกใชหรอจดเกบขอมลในฐานขอมล

ซงในกลมภาษา DML นนจะครอบคลมการจดการขอมลทงหมด เชน การเพม, แกไข, คนหา และลบขอมล (insert, update, select, delete)

ตวอยางของฐานขอมลทอยในรปแบบของตารางเกบขอมลและภาษาสาหรบการจดการขอมลดงน

SELECT Pname , PPriceFROM ProductBookWHERE PPrice > 400 ;

Page 7: CHAPTER 8 Database Design - seekeaw.files.wordpress.com · 1. select คือค้าสั่งส้าหรับสืบค้นข้อมูล หรือค้นหาข้อมูลที่จัดเก็บอยู่ในตารางข้อมูล

1. SELECT คอคาสงสาหรบสบคนขอมล หรอคนหาขอมลทจดเกบอยในตารางขอมล โดยมกนยมใชงานรวมกบคาสง WHERE เพอใชในการสรางเงอนไขในการแสดงผลขอมล โดยมคาสงโดยยอดงน

SELECT * FROM <ชอตาราง> WHERE ( <เงอนไข> )

2. INSERT คอคาสงสาหรบการเพมขอมลลงไปในตารางขอมล เชนการเพมขอมลพนกงาน, สนคา เปนตน โดยมคาสงโดยยอดงน

INSERT INTO <ชอตาราง> VALUES ( <คาขอมล>, <คาขอมล>, ... N )

3. UPDATE คอคาสงสาหรบการปรบปรง หรอแกไขขอมลในตารางขอมล โดยสามารถใชงานรวมกบคาสง WHERE เพอสรางเงอนไขในการแกไขขอมล

UPDATE <ชอตาราง> SET <ชอ Field> = <คาขอมล> WHERE ( <เงอนไข> )

4. DELETE คอคาสงในการลบขอมลในตารางขอมล โดยสามารถใชงานรวมกบคาสง WHERE เพอสรางเงอนไขสาหรบการลบขอมล

DELETE FROM <ชอตาราง> WHERE ( <เงอนไข> )

Page 8: CHAPTER 8 Database Design - seekeaw.files.wordpress.com · 1. select คือค้าสั่งส้าหรับสืบค้นข้อมูล หรือค้นหาข้อมูลที่จัดเก็บอยู่ในตารางข้อมูล

ภาษาส าหรบการควบคมขอมล (DCL : Data Control Language)

กลมคาสง DCL เปนคาสงทใชในการควบคมความถกตอง ความปลอดภย การเขาใชงานขอมล เชน

การกาหนดสทธของผใชในการเขาใชขอมล (GRANT)

การยกเลกสทธในการเขาใชขอมล (REVOKE)

ดงตวอยางการใชคาสงตอไปน

GRANT SELECT ON ProductBook TO Somchai, Somsri

การกาหนดสทธในการเขาใชขอมลในตารางชอ ProductBook โดยใหสทธในการเรยกดขอมลกบผใชชอ Somchai และ Somsri

Page 9: CHAPTER 8 Database Design - seekeaw.files.wordpress.com · 1. select คือค้าสั่งส้าหรับสืบค้นข้อมูล หรือค้นหาข้อมูลที่จัดเก็บอยู่ในตารางข้อมูล

1. GRANT คอคาสงสาหรบการใหสทธกบบคคลตาง ๆ เพอเขาถงขอมลในระดบทเรากาหนดโดยมรปแบบคาสงโดยยอดงน

GRANT <privilege>

ON <object>

TO <user>

<WITH GRANT OPTION>

2. REVOKE คอคาสงทมไวสาหรบการยกเลกสทธในการเขาถงขอมล ของบคคลตาง ๆ โดยมรปแบบคาสงโดยยอดงนREVOKE <GRANT OPTION FOR><permission>

ON <object>

FROM <user><CASCADE>

Page 10: CHAPTER 8 Database Design - seekeaw.files.wordpress.com · 1. select คือค้าสั่งส้าหรับสืบค้นข้อมูล หรือค้นหาข้อมูลที่จัดเก็บอยู่ในตารางข้อมูล

ระบบจดการฐานขอมล

ระบบจดการฐานขอมล (DBMS : Database Management System) หมายถง กลมของโปรแกรมหรอซอฟตแวรทสรางขนเพอชวยอานวยความสะดวกใหกบผใชขอมลในการสรางและการจดการกบขอมลในฐานขอมล

เนองจากระบบฐานขอมลจะมการรวมขอมลทกหนวยงานทมความสมพนธกนเขาไวดวยกน

ดงนนการเชอมโยงขอมลระหวางกน การเขาถงขอมลเพอการสบคนไปใชงาน และการบารงรกษาอน ๆ จะกระทาไดคอยขางยงยาก

อกทงผใชแตละหนวยงานอาจใชโปรแกรมประยกตในการพฒนาระบบงานทแตกตางกนไป ทาใหมผลกระทบถงการเชอมโยงระหวางโปรแกรมประยกตและขอมลในฐานขอมลจงเปนยงยากดวยเชนกน

Page 11: CHAPTER 8 Database Design - seekeaw.files.wordpress.com · 1. select คือค้าสั่งส้าหรับสืบค้นข้อมูล หรือค้นหาข้อมูลที่จัดเก็บอยู่ในตารางข้อมูล

ดงนนจงมการพฒนาโปรแกรมหรอซอฟตแวรระบบจดการฐานขอมลขนมาเพอชวยอานวยความสะดวกในการจดการขอมลดงกลาว

โดยระบบจดการฐานขอมลจะเปรยบเสมอนเปนตวกลางระหวางโปรแกรมประยกตทผใชพฒนากบขอมลในฐานขอมล

Page 12: CHAPTER 8 Database Design - seekeaw.files.wordpress.com · 1. select คือค้าสั่งส้าหรับสืบค้นข้อมูล หรือค้นหาข้อมูลที่จัดเก็บอยู่ในตารางข้อมูล

หนาทของระบบจดการฐานขอมล

1) รบค าสงจากผใช เชน ค าสงการเรยกใชขอมล การปรบปรงขอมล และการลบขอมล แลวท าการแปลใหอยในรปแบบทฐานขอมลเขาใจและสามารถประมวลผลตามค าสงนน ๆ ได

2) น าผลลพธทไดจากการประมวลผลของฐานขอมลน าเสนอกบผใชในรปแบบทผใชเขาใจและสามารถน าไปใชประโยชนได

3) ควบคมความถกตองของขอมลตามทถกก าหนดไว เชน ความถกตองตามชนดของขอมล และความถกตองตามขนาดของขอมลเปนตน

4) รกษาความสมพนธกนระหวางขอมลในฐานขอมลใหถกตอง เพอประโยชนในการเชอมโยงขอมลส าหรบการใชงาน และความสมพนธระหวางขอมลนยงท าใหการปรบปรงหรอแกไขขอมลสามารถกระท าไดโดยงายและสะดวก

5) รกษาความปลอดภยของขอมล ก าหนดสทธการใชขอมลและคอยตรวจสอบสทธของผใชขอมลอยเสมอเพอปองกนความเสยหายทอาจจะเกดกบขอมล

Page 13: CHAPTER 8 Database Design - seekeaw.files.wordpress.com · 1. select คือค้าสั่งส้าหรับสืบค้นข้อมูล หรือค้นหาข้อมูลที่จัดเก็บอยู่ในตารางข้อมูล

ระบบฐานขอมลเชงสมพนธ (relational database system)

เปนการเกบขอมลในรปแบบตาราง (Table) หรอเรยกวา รเลชน (Relation) มลกษณะเปน 2 มต คอ แถว (Row) และคอลมน (Column) การเชอมโยงขอมลระหวางตารางจะเชอมโยงโดยใชแอททรบวต (Attribute) หรอคอลมนทเหมอนกนของทงสองตารางเปนตวเชอมโยง ฐานขอมลเชงสมพนธเปนรปแบบของฐานขอมลทนยมใชในปจจบน

Page 14: CHAPTER 8 Database Design - seekeaw.files.wordpress.com · 1. select คือค้าสั่งส้าหรับสืบค้นข้อมูล หรือค้นหาข้อมูลที่จัดเก็บอยู่ในตารางข้อมูล

ค าศพทเทคนคในระบบฐานขอมลเชงสมพนธ

1) รเลชน (relation) หมายถง ค านามทใชแทนขอมลของเรองใดเรองหนงทจะท าการจดเกบในฐานขอมล บางครงอาจจะใชค าเรยกรเลชนวา ตาราง (table)

หรอ เอนทต (entity) กได

2) แอททรบวต (attribute) หมายถง ชอของขอมลทเกบเปนคอลมนในแตละรเลชน โดยทวไปมความหมายเชนเดยวกนกบค าวา ฟลด แอททรบวตจะเปนขอมลทบอกรายละเอยดคณสมบตของรเลชนวาประกอบดวยขอมลอะไรบาง

3) ทเพล (tuple) หมายถง คาของขอมลในแตละแถวของรเลชน มความหมายเชนเดยวกนกบ เรคคอรด โดยคาของทเพลนมกจะมการเพมขอมล ลบขอมล หรอปรบปรงขอมลอยเกอบตลอดเวลาทมการใชงานฐานขอมลจากผใช

Page 15: CHAPTER 8 Database Design - seekeaw.files.wordpress.com · 1. select คือค้าสั่งส้าหรับสืบค้นข้อมูล หรือค้นหาข้อมูลที่จัดเก็บอยู่ในตารางข้อมูล

4) คาดนาลต (cardinality) หมายถง จ านวนทเพลหรอแถวของรเลชนหนง ๆ ซงคาดนาลตของรเลชนใด ๆ อาจเปลยนแปลงตลอดเวลา เนองจากการใชงานของผใชทมการเพม การแทรกหรอการลบขอมลในฐานขอมล

5) ดกร (degree) หมายถง จ านวนของคอลมนหรอแอททรบวตในรเลชนหนง ๆ ซงโดยปกตแลวการเปลยนแปลงหรอปรบปรงแอททรบวตมคอนขางนอยมาก ดงนนดกรจงมคาทไมคอยมการเปลยนแปลงนก

6) โดเมน (domain) หมายถง ขอบเขตหรอเซตของคาขอมลทสามารถเปนไปไดในแตละ

แอททรบวต ความหมายของคาขอมลนรวมถงประเภทและขนาดของขอมลดวย ทงนเพอควบคมความถกตองของขอมลในฐานขอมลมใหมการบนทกขอมลผดประเภท หรอเกนขอบเขตทสามารถเปนไปไดตามขอก าหนด เชน โดเมนของ attribute อาจารยประจ าวชา กบ อาจารยทปรกษาถอวาเปนโดเมนเดยวกนเพราะเปนกลมขอมลเดยวกนหรอโดเมนของ attribute วนท จะตองอยระหวาง 1-31 เดอนตองอยระหวาง 1-12 เปนตน

Page 16: CHAPTER 8 Database Design - seekeaw.files.wordpress.com · 1. select คือค้าสั่งส้าหรับสืบค้นข้อมูล หรือค้นหาข้อมูลที่จัดเก็บอยู่ในตารางข้อมูล

Relation

Relation

Attribute

Tup

le

Degree

Cardinality

Page 17: CHAPTER 8 Database Design - seekeaw.files.wordpress.com · 1. select คือค้าสั่งส้าหรับสืบค้นข้อมูล หรือค้นหาข้อมูลที่จัดเก็บอยู่ในตารางข้อมูล

ประเภทของคย

การเกบขอมลในฐานขอมลเชงสมพนธจะตองมการเขาถงขอมลดวยการอางองถงกนทงการอางองระหวางรเลชน และการอางองภายในรเลชนเดยวกน ดงนนจงจ าเปนตองมขอมลใดขอมลหนงทมเอกลกษณเฉพาะตวเพอใชในการอางองน าไปสขอมลอน ๆ ไดอยางชดเจน

*คยชวยแยกความแตกตางของขอมลแตละแถว และใชในการเชอมโยงตาราง

1) Super key แอททรบวตหรอกลมของแอทรบวตทสามารถระบความเปนเอกลกษณของแตละแถวเพอใหแตกตางกนในตารางได เชน ตารางอาจารย Super keys: รหสอาจารย

รหสอาจารยและหมายเลขบตรประชาชนรหสอาจารย ชอสกล และหมายเลขโทรศพท

2) คยคแขง (candidate key) หมายถง ซเปอรคย ขนาดเลกทสดทสามารถอางองขอมลอนในทเพลได

Page 18: CHAPTER 8 Database Design - seekeaw.files.wordpress.com · 1. select คือค้าสั่งส้าหรับสืบค้นข้อมูล หรือค้นหาข้อมูลที่จัดเก็บอยู่ในตารางข้อมูล

3) คยหลก (PK : Primary Key) หมายถง แอททรบวตทมคณสมบตเปนคยคแขงและถกเลอกใหท าหนาทในการอางองขอมลอน ๆ ในทเพลนน ๆเปน Attribute ทมคณสมบตของขอมลทมคาเปนเอกลกษณ หรอไมมคาซ า 4) คยส ารอง (alternate key) หมายถง คยคแขงทไมถกเลอกใหเปนคยหลก5) คยผสม (composite key) คยหลกสามารถประกอบดวยแอททรบวตทมากกวาหนงแอททรบวตรวมกนได เนองจากในบางกรณแอททรบวตเพยงแอททรบวตเดยวไมสามารถใชในการอางองเพอใหทราบถงขอมลอน ๆ ได ดงนนจงเปนตองใชแอททรบวตหลายแอททรบวตรวมกนเปนคยหลกเพอใหเกดการอางองถงขอมลอนไดอยางชดเจน6) คยนอก (FK : Foreign Key) หมายถง แอททรบวตทเปนคยคแขงของรเลชนหนงไปปรากฏอยในอกรเลชนหนง โดยมวตถประสงคเพอเปนการเชอมโยงขอมลระหวางสองรเลชน

Page 19: CHAPTER 8 Database Design - seekeaw.files.wordpress.com · 1. select คือค้าสั่งส้าหรับสืบค้นข้อมูล หรือค้นหาข้อมูลที่จัดเก็บอยู่ในตารางข้อมูล

v

Page 20: CHAPTER 8 Database Design - seekeaw.files.wordpress.com · 1. select คือค้าสั่งส้าหรับสืบค้นข้อมูล หรือค้นหาข้อมูลที่จัดเก็บอยู่ในตารางข้อมูล
Page 21: CHAPTER 8 Database Design - seekeaw.files.wordpress.com · 1. select คือค้าสั่งส้าหรับสืบค้นข้อมูล หรือค้นหาข้อมูลที่จัดเก็บอยู่ในตารางข้อมูล

คณลกษณะในการจดเกบขอมลของรเลชน1) ขอมลในแตละทเพลตองไมซ ากน

การควบคมไมใหเกดความซ าซอนนจะเปนหนาทของโปรแกรมจดการฐานขอมลโดยตรง เมอมการบนทกขอมลทซ าซอนกนโปรแกรมจดการฐานขอมลจะตองมขอความเตอนและไมอนญาตใหมการบนทกขอมลซ าดงกลาว

2) การเรยงล าดบขอมลแตละทเพลกอนหลงไมมผลใด ๆ ในการบนทกขอมลในฐานขอมลคาของขอมลในแตละทเพลตงแตแถวท 1 จนถงแถวสดทาย ระดบความส าคญไมแตกตางกน

แตการเขาถงขอมลจะมการอางองดวยคยหลกมใชการเขาถงแบบเรยงล าดบ

Tuple

Tuple

Page 22: CHAPTER 8 Database Design - seekeaw.files.wordpress.com · 1. select คือค้าสั่งส้าหรับสืบค้นข้อมูล หรือค้นหาข้อมูลที่จัดเก็บอยู่ในตารางข้อมูล

3) การเรยงล าดบของแอททบวตกอนหลงไมมผลใด ๆ

แอททบวตใดอยกอนหรอหลงกได แมวาจะเปนแอททบวตทเปนคยหลกกตาม ทงนเพราะการอางถงแอททบวตใดๆ จะใชชอแอททบวตในการอางอง มใชเขาถงขอมลแบบลาดบ

4) คาของขอมลในแตละแอททรบวตจะบรรจไดเพยงประเภทเดยว

ไมสามารถมความหมาย 2 ความหมายในแอททรบวตเดยวได และไมสามารถเปนคาขอมลหลายประเภทได (ตวเลข กลม ตวอกษร)

Attribute

Page 23: CHAPTER 8 Database Design - seekeaw.files.wordpress.com · 1. select คือค้าสั่งส้าหรับสืบค้นข้อมูล หรือค้นหาข้อมูลที่จัดเก็บอยู่ในตารางข้อมูล

5) คาของขอมลในแตละแอททรบวตจะมไดเพยงคาเดยว

คาในทกแอททรบวตของรเลชนกาหนดใหคาของขอมลในแตละแอททรบวตของรเลชนจะตองมความหมายใดความหมายหนงเพยงความหมายเดยว ไมใชกลมของสงใดสงหนง

Page 24: CHAPTER 8 Database Design - seekeaw.files.wordpress.com · 1. select คือค้าสั่งส้าหรับสืบค้นข้อมูล หรือค้นหาข้อมูลที่จัดเก็บอยู่ในตารางข้อมูล

6) ชอของแอททรบวตในรเลชนจะตองไมซ ากน

ตวอกษรใหญหรอเลกไมเปนสาระสาคญ เชน ชอแอททรบวต Surname และแอททรบวต surname ถอวาเปนชอแอททรบวตเดยวกนแมวาอกษรตวเอสจะเปนอกษรตวใหญหรอเลกกตาม

Page 25: CHAPTER 8 Database Design - seekeaw.files.wordpress.com · 1. select คือค้าสั่งส้าหรับสืบค้นข้อมูล หรือค้นหาข้อมูลที่จัดเก็บอยู่ในตารางข้อมูล

7) คาขอมลทจดเกบในแอททรบวตจะตองมความหมายเดยวกน

ความหมายของคาขอมลนน ๆ ในแอททรบวตเดยวกนจะตองมความหมายในวตถประสงคเดยวกน เชน การจดเกบขอมลในรเลชนพนกงานมการกาหนดชนดขอมลในทกแอททรบวตเปนตวอกษร

Page 26: CHAPTER 8 Database Design - seekeaw.files.wordpress.com · 1. select คือค้าสั่งส้าหรับสืบค้นข้อมูล หรือค้นหาข้อมูลที่จัดเก็บอยู่ในตารางข้อมูล

E-R Model

ในการพฒนาระบบฐานขอมลจะตองมการออกแบบโครงสรางฐานขอมลในระดบแนวคดกอนนาไปพฒนาโปรแกรมฐานขอมลในระดบกายภาพ

เพอการตรวจสอบความเหมาะสมของการจดเกบขอมลในฐานขอมล

โมเดลทนยมใชในการออกแบบและน าเสนอขอมลในระดบแนวคดนคอ Entity-Relationship Model หรอ E-R Model

โดยวตถประสงคเพอนาเสนอโครงสรางของการจดเกบขอมลในฐานขอมล

การนาเสนอจะแสดงเปนแผนภาพ (Diagram) ทประกอบดวย สญลกษณแทนขอมล และความสมพนธของขอมลในลกษณะตาง ๆ

Page 27: CHAPTER 8 Database Design - seekeaw.files.wordpress.com · 1. select คือค้าสั่งส้าหรับสืบค้นข้อมูล หรือค้นหาข้อมูลที่จัดเก็บอยู่ในตารางข้อมูล

สญลกษณทใชใน E-R Model

สญลกษณ

E หมายถง ชอเอนทต

R หมายถง ชอของความสมพนธ

A หมายถง ชอของแอททรบวต

Page 28: CHAPTER 8 Database Design - seekeaw.files.wordpress.com · 1. select คือค้าสั่งส้าหรับสืบค้นข้อมูล หรือค้นหาข้อมูลที่จัดเก็บอยู่ในตารางข้อมูล
Page 29: CHAPTER 8 Database Design - seekeaw.files.wordpress.com · 1. select คือค้าสั่งส้าหรับสืบค้นข้อมูล หรือค้นหาข้อมูลที่จัดเก็บอยู่ในตารางข้อมูล

4.8.2 องคประกอบของ E-R Model

ในการออกแบบฐานขอมลดวย E-R Model มองคประกอบทส าคญ 3 สวนคอ

เอนทต (entity)

ความสมพนธระหวางเอนทต (relationship)

แอททรบวต (attribute)

1) เอนทต

เปนกลมของขอมลของสงตาง ๆ ทระบบงานตองการจะจดเกบ ซงอาจจะเปนขอมลเกยวกบ คน สถานท สงของ หรอการกระท า เอนทตอาจจะเปนขอมลในลกษณะรปธรรม หรอนามธรรมกได

นกศกษา อาจารย รายวชา การลงทะเบยนเรยน

Page 30: CHAPTER 8 Database Design - seekeaw.files.wordpress.com · 1. select คือค้าสั่งส้าหรับสืบค้นข้อมูล หรือค้นหาข้อมูลที่จัดเก็บอยู่ในตารางข้อมูล

2) ความสมพนธระหวางเอนทต

การเชอมโยงความสมพนธกนโดยตรงระหวางสองเอนทต หรออาจเชอมโยงดวยการผานเอนทตตวกลาง การก าหนดความสมพนธระหวางเอนทต ใหมความสมพนธกนอยางไรขนอยกบเงอนไขในการท างานของระบบงานทพฒนาฐานขอมล

E2E1 R1 M

รปแบบของความสมพนธระหวางเอนทตโดยทวไปม 3 รปแบบ

คอ ความสมพนธแบบ 1:1, 1:M และ M:N

Page 31: CHAPTER 8 Database Design - seekeaw.files.wordpress.com · 1. select คือค้าสั่งส้าหรับสืบค้นข้อมูล หรือค้นหาข้อมูลที่จัดเก็บอยู่ในตารางข้อมูล

2.1) ความสมพนธแบบ one - to - one ( 1:1 )

ความสมพนธแบบ one - to - one เปนความสมพนธของรายการขอมลแตละรายการในตารางท 1 จะมความสมพนธกบรายการขอมลในตารางท 2 เพยง 1 รายการ ขณะเดยวกนรายการขอมลแตละรายการในตารางท 2 จะมความสมพนธกบรายการขอมลในตารางท 1 เพยง 1 รายการเชนกน

รหสนกศกษานกศกษา ม1 1

Page 32: CHAPTER 8 Database Design - seekeaw.files.wordpress.com · 1. select คือค้าสั่งส้าหรับสืบค้นข้อมูล หรือค้นหาข้อมูลที่จัดเก็บอยู่ในตารางข้อมูล

2.2) ความสมพนธแบบ one - to - many ( 1:M )

ความสมพนธแบบ one - to - many เปนความสมพนธของรายการขอมลแตละรายการในตารางท 1 จะมความสมพนธกบรายการขอมลในตารางท 2 หลายรายการ แตขณะเดยวกนรายการขอมลแตละรายการในตารางท 2 จะมความสมพนธกบรายการขอมลในตารางท 1 ได 1รายการ

นกศกษาหลกสตร สงกด1 M

Page 33: CHAPTER 8 Database Design - seekeaw.files.wordpress.com · 1. select คือค้าสั่งส้าหรับสืบค้นข้อมูล หรือค้นหาข้อมูลที่จัดเก็บอยู่ในตารางข้อมูล

2.3) ความสมพนธแบบ many - to - many ( M:N )

ความสมพนธแบบ many - to - many เปนความสมพนธของรายการขอมลแตละรายการในตารางท 1 จะมความสมพนธกบรายการขอมลในตารางท 2 ไดหลายรายการ และขณะเดยวกนรายการขอมลแตละรายการในตารางท 2 จะมความสมพนธกบรายการขอมลในตารางท 1 ไดหลายรายการเชนเดยวกน

วชานกศกษา ลงทะเบยนM N

Page 34: CHAPTER 8 Database Design - seekeaw.files.wordpress.com · 1. select คือค้าสั่งส้าหรับสืบค้นข้อมูล หรือค้นหาข้อมูลที่จัดเก็บอยู่ในตารางข้อมูล

3) แอททรบวต

หมายถง คณสมบตของเอนทต หรอ รายละเอยดของเอนทตทใชอธบายคณลกษณะของเอนทต โดยเอนทตหนง ๆ อาจจะประกอบดวยแอททรบวตหลายแอททรบวตขนอยกบระบบฐานขอมลวาตองการจดเกบรายละเอยดใดบาง

รหสนกศกษา

นกศกษา

ทอย เพศ

อาย

ชอสกลรหสวชา

วชา

หนวยกต

ค าอธบาย

ชอวชา

รหส

หลกสตร

อาจารยทปรกษา

ชอหลกสตร

Page 35: CHAPTER 8 Database Design - seekeaw.files.wordpress.com · 1. select คือค้าสั่งส้าหรับสืบค้นข้อมูล หรือค้นหาข้อมูลที่จัดเก็บอยู่ในตารางข้อมูล

จากองคประกอบของ E-R Model และตวอยางทกลาวมาขางตน สามารถน ามาเขยนเปนแผนภาพ E-R ของระบบงานนกศกษาไดดงตอไปน

ลงทะเบยนเรยนรหสนกศกษา

นกศกษาชอสกล

รหสวชา

ชอวชาวชาNM

หนวยกต

หลกสตร

สงกด

รหส ชอหลกสตร

1

M

เพศ อาย

ทอย

ค าอธบาย

อาจารยทปรกษา

Page 36: CHAPTER 8 Database Design - seekeaw.files.wordpress.com · 1. select คือค้าสั่งส้าหรับสืบค้นข้อมูล หรือค้นหาข้อมูลที่จัดเก็บอยู่ในตารางข้อมูล

ขนตอนการออกแบบฐานขอมลดวย E-R Model

การออกแบบฐานขอมลดวย E-R Model ประกอบดวยขนตอน 2 ขนตอน

การวเคราะหระบบ

การออกแบบ E-R Model 1. การวเคราะหระบบ

• การออกแบบฐานขอมลควรมการวเคราะหระบบกอนวามลกษณะหรอเงอนไขการท างานอยางไร • มขอมลอะไรบางทเกยวของกบการท างานในแตละสวน รวมถงผใชขอมล และขอมลอน ๆ • ในการรวบรวมขอมลโดยทวไปอาจจะใชหลากหลายวธการ เชน ศกษาจากเอกสาร การตอบแบบสอบถาม การสงเกต การสมภาษณ เปนตน • การน าเสนอขอมลหรอผลจากการวเคราะหระบบอาจจะเขยนเปนแผนภาพการไหลของขอมล (data flow diagram) • นอกจากการรวบรวมขอมลและเงอนไขตาง ๆ ทเกยวของแลว ในการออกแบบฐานขอมลจะตองค านงถงมมมองการใชขอมลของผใชดวย

Page 37: CHAPTER 8 Database Design - seekeaw.files.wordpress.com · 1. select คือค้าสั่งส้าหรับสืบค้นข้อมูล หรือค้นหาข้อมูลที่จัดเก็บอยู่ในตารางข้อมูล

2. การออกแบบ E-R Model เปนแผนภาพแสดงภาพรวมของฐานขอมลคอการแสดงขอมลท

เกยวของและความสมพนธทเกดขนในฐานขอมล

เคารางของฐานขอมลเชงสมพนธ

ก าหนด Entities

ก าหนดRelationship

ก าหนด Attribute

ก าหนดคย

วเคราะหระบบ

ออกแบบ E-R Model

แปลง E-R Modelเปนฐานขอมลเชงสมพนธ

Page 38: CHAPTER 8 Database Design - seekeaw.files.wordpress.com · 1. select คือค้าสั่งส้าหรับสืบค้นข้อมูล หรือค้นหาข้อมูลที่จัดเก็บอยู่ในตารางข้อมูล

สมาชก

คนยม

บรรณารกษ

หนงสอ

11

11

11

M

11

MM M

MM

Page 39: CHAPTER 8 Database Design - seekeaw.files.wordpress.com · 1. select คือค้าสั่งส้าหรับสืบค้นข้อมูล หรือค้นหาข้อมูลที่จัดเก็บอยู่ในตารางข้อมูล

1) การก าหนดเอนทตขนตอนการก าหนดเอนทตเปนการก าหนดกลมของขอมลหรอวตถ (Object) ท

เกยวของกบระบบงาน เชน ขอมลบคคล สงของ สถานท หรอขอมลอน ๆ ในฐานขอมลหนง ๆ อาจประกอบดวยเอนทตหลายเอนทต

2) การก าหนดความสมพนธระหวางเอนทตเมอทราบถงเอนทตตาง ๆ ทมในฐานขอมลแลว ขนตอนตอไปตองก าหนด

ความสมพนธระหวางเอนทตวามความสมพนธระหวางสองเอนทต สามเอนทต หรอมากกวา แตโดยทวไปไมควรก าหนดความสมพนธของเอนทตทมากเกนไปเนองจากจะสงผลถงการท างานของฐานขอมลทซบซอนมากขน

จากนนตองก าหนดรปแบบของความสมพนธวาเปนแบบใด ไดแก หนงตอหนง หนงตอกลม หรอกลมตอกลม

สวนชอของความสมพนธทก าหนดจะตองเปนค ากรยาหรอแสดงการกระท า

Page 40: CHAPTER 8 Database Design - seekeaw.files.wordpress.com · 1. select คือค้าสั่งส้าหรับสืบค้นข้อมูล หรือค้นหาข้อมูลที่จัดเก็บอยู่ในตารางข้อมูล

3) การก าหนดแอททรบวตก าหนดรายละเอยดหรอคณสมบตใหกบเอนทต รายละเอยดตาง ๆ ของแอททร

บวตอาจไดจากการศกษาเอกสารและการสมภาษณผใชงานทเกยวของกบขอมล นอกจากจะตองวเคราะหวาในแตละเอนทตจะประกอบดวยแอททรบวตอะไรบางแลว

4) การก าหนดคยการก าหนดแอททรบวตทท าหนาทเปนคย โดยคยทจะตองพจารณาไดแก คยคแขง

คยหลก คยส ารอง และคยนอก แตละแอททรบวตทจะก าหนดใหเปนคยประเภทใดตองมการค านงถงคณสมบตของคยแตละประเภท เชน คยคแขง ตองมคณสมบตเปนหนงเดยวหรอเปนเอกลกษณ มคาขอมลเปนคาวางไมได สามารถอางองถงขอมลอน ๆ ในแตละทเพลไดอยางชดเจน เปนตน

Page 41: CHAPTER 8 Database Design - seekeaw.files.wordpress.com · 1. select คือค้าสั่งส้าหรับสืบค้นข้อมูล หรือค้นหาข้อมูลที่จัดเก็บอยู่ในตารางข้อมูล

5) การแปลงแผนภาพ E-R ใหเปนเคารางฐานขอมลเชงสมพนธ• จากแผนภาพ E-R ทผานขนตอนการออกแบบแลว จะตองมการแปลงแผนภาพนนใหอยในรปแบบของฐานขอมลเชงสมพนธ • ผลจากการออกแบบฐานขอมลดวย E-R และแปลงใหเปนฐานขอมลเชงสมพนธแลว คอ เคารางของฐานขอมล ซงเปนเคารางของฐานขอมลในระดบแนวคด ทอธบายถงโครงสรางของขอมลทจะจดเกบในฐานขอมล • ฐานขอมลทไดจากการแปลงนถาผออกแบบเหนวามความเหมาะสมมากทสดแลว สามารถน าไปสรางฐานขอมลในระดบภายในไดเลย

Page 42: CHAPTER 8 Database Design - seekeaw.files.wordpress.com · 1. select คือค้าสั่งส้าหรับสืบค้นข้อมูล หรือค้นหาข้อมูลที่จัดเก็บอยู่ในตารางข้อมูล

8.10 สรป

การประยกตใชระบบฐานขอมลเพอชวยในการจดเกบขอมล เนองจากเปนระบบทมประสทธภาพในการจดการขอมล ผใชงานฐานขอมลไมจาเปนตองเขยนโปรแกรมภาษาคอมพวเตอรกสามารถใชงานไดผานระบบจดการฐานขอมล

แบบจาลองฐานขอมลทใชกนอยางแพรหลายคอ ระบบฐานขอมลเชงสมพนธ

การจดเกบขอมลจะมลกษณะเปนตารางสองมต ใชภาษาสาหรบฐานขอมลคอภาษาเอสควแอล

การกาหนดความสมพนธระหวางขอมลขนอยกบเงอนไขการทางานไดแก แบบหนงตอหนง แบบหนงตอกลม และแบบกลมตอกลม

การออกแบบฐานขอมลทดนอกเหนอจากการกาหนดความสมพนธทถกตองแลว ยงตองมการจดรปแบบของโครงสรางการจดเกบใหเปนรปแบบบรรทดฐาน เพอชวยลดพนทในการจดเกบขอมล ลดความซาซอน และชวยใหการบารงรกษาขอมลทาไดสะดวกและงายมากยงขน

Page 43: CHAPTER 8 Database Design - seekeaw.files.wordpress.com · 1. select คือค้าสั่งส้าหรับสืบค้นข้อมูล หรือค้นหาข้อมูลที่จัดเก็บอยู่ในตารางข้อมูล

แบบฝกหดทายบท

ใหศกษาเงอนไขในการด าเนนงานของระบบการยมคนหนงสอในหองสมด 1 แหง แลวท าการออกแบบฐานขอมลดวยแผนภาพ E-R โดยละเอยดทกขนตอน

นกศกษา หองสมด

ในการออกแบบฐานขอมลดวย E-R Model มองคประกอบทส าคญ 3 สวนคอ • เอนทต (entity)• ความสมพนธระหวางเอนทต (relationship)• แอททรบวต (attribute)

หนงสอ