chapter 8 database design - seekeaw.files.wordpress.com · 1. select...
TRANSCRIPT
![Page 1: CHAPTER 8 Database Design - seekeaw.files.wordpress.com · 1. select คือค้าสั่งส้าหรับสืบค้นข้อมูล หรือค้นหาข้อมูลที่จัดเก็บอยู่ในตารางข้อมูล](https://reader031.vdocuments.net/reader031/viewer/2022011813/5e38137fce095d549601701c/html5/thumbnails/1.jpg)
CHAPTER 8Database Design
![Page 2: CHAPTER 8 Database Design - seekeaw.files.wordpress.com · 1. select คือค้าสั่งส้าหรับสืบค้นข้อมูล หรือค้นหาข้อมูลที่จัดเก็บอยู่ในตารางข้อมูล](https://reader031.vdocuments.net/reader031/viewer/2022011813/5e38137fce095d549601701c/html5/thumbnails/2.jpg)
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 คือค้าสั่งส้าหรับสืบค้นข้อมูล หรือค้นหาข้อมูลที่จัดเก็บอยู่ในตารางข้อมูล](https://reader031.vdocuments.net/reader031/viewer/2022011813/5e38137fce095d549601701c/html5/thumbnails/3.jpg)
ระบบฐานขอมล
ระบบฐานขอมล (database system) หมายถง วธการในการรวบรวมขอมลเพอใชในองคกรโดยใหมจดการขอมลทเปนมาตรฐานเดยวกน สามารถใชขอมลรวมกนได และสามารถควบคมขอมลได
หรอกลาวอกนยหนงคอ ระบบฐานขอมล เปนการรวบรวมขอมลจ านวนมากไวในทเดยวกนและสามารถเชอมโยงกนได มการจดเกบอยางเปนระเบยบ ชวยใหโปรแกรมประยกตสามารถบรหาร จดเกบ และคนหาขอมลเปนไปอยางมประสทธภาพ
• การรวมขอมลทงหลายเขามาเกบไวในทเดยวกนจะลดการซาซอนของขอมล
• ผใชสามารถมองเหนขอมลทงหมดไดจากสถานทเดยว
![Page 4: CHAPTER 8 Database Design - seekeaw.files.wordpress.com · 1. select คือค้าสั่งส้าหรับสืบค้นข้อมูล หรือค้นหาข้อมูลที่จัดเก็บอยู่ในตารางข้อมูล](https://reader031.vdocuments.net/reader031/viewer/2022011813/5e38137fce095d549601701c/html5/thumbnails/4.jpg)
ภาษาส าหรบการจดการฐานขอมล
การจดการขอมลดวยระบบฐานขอมลชวยให ผใช ผดแลระบบฐานขอมล และขอมลในฐานขอมล สามารถเชอมโยงถงกนไดโดยงายและสะดวก อาท
การเขาถงขอมลเพอเรยกใชงาน
การควบคมความถกตองของขอมล
การดแลมาตรฐานในระบบฐานขอมล
การคดกรองขอมลตามความตองการเพอประโยชนในการใชงานทมประสทธภาพ
ความสามารถดงกลาวขางตนนระบบจดการฐานขอมลไดจดเตรยมไวใหบรการโดยใช
ภาษาเอสควแอล (SQL : Structure Query Language)
ในระบบจดการฐานขอมลมการแบงกลมประเภทของคาสงได 3 กลม ไดแก
1) ภาษาส าหรบการก าหนดนยามขอมล
2) ภาษาส าหรบการจดการขอมล
3) ภาษาส าหรบการควบคมขอมล
![Page 5: CHAPTER 8 Database Design - seekeaw.files.wordpress.com · 1. select คือค้าสั่งส้าหรับสืบค้นข้อมูล หรือค้นหาข้อมูลที่จัดเก็บอยู่ในตารางข้อมูล](https://reader031.vdocuments.net/reader031/viewer/2022011813/5e38137fce095d549601701c/html5/thumbnails/5.jpg)
ภาษาส าหรบการก าหนดนยามขอมล (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 คือค้าสั่งส้าหรับสืบค้นข้อมูล หรือค้นหาข้อมูลที่จัดเก็บอยู่ในตารางข้อมูล](https://reader031.vdocuments.net/reader031/viewer/2022011813/5e38137fce095d549601701c/html5/thumbnails/6.jpg)
ภาษาส าหรบการจดการขอมล (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 คือค้าสั่งส้าหรับสืบค้นข้อมูล หรือค้นหาข้อมูลที่จัดเก็บอยู่ในตารางข้อมูล](https://reader031.vdocuments.net/reader031/viewer/2022011813/5e38137fce095d549601701c/html5/thumbnails/7.jpg)
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 คือค้าสั่งส้าหรับสืบค้นข้อมูล หรือค้นหาข้อมูลที่จัดเก็บอยู่ในตารางข้อมูล](https://reader031.vdocuments.net/reader031/viewer/2022011813/5e38137fce095d549601701c/html5/thumbnails/8.jpg)
ภาษาส าหรบการควบคมขอมล (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 คือค้าสั่งส้าหรับสืบค้นข้อมูล หรือค้นหาข้อมูลที่จัดเก็บอยู่ในตารางข้อมูล](https://reader031.vdocuments.net/reader031/viewer/2022011813/5e38137fce095d549601701c/html5/thumbnails/9.jpg)
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 คือค้าสั่งส้าหรับสืบค้นข้อมูล หรือค้นหาข้อมูลที่จัดเก็บอยู่ในตารางข้อมูล](https://reader031.vdocuments.net/reader031/viewer/2022011813/5e38137fce095d549601701c/html5/thumbnails/10.jpg)
ระบบจดการฐานขอมล
ระบบจดการฐานขอมล (DBMS : Database Management System) หมายถง กลมของโปรแกรมหรอซอฟตแวรทสรางขนเพอชวยอานวยความสะดวกใหกบผใชขอมลในการสรางและการจดการกบขอมลในฐานขอมล
เนองจากระบบฐานขอมลจะมการรวมขอมลทกหนวยงานทมความสมพนธกนเขาไวดวยกน
ดงนนการเชอมโยงขอมลระหวางกน การเขาถงขอมลเพอการสบคนไปใชงาน และการบารงรกษาอน ๆ จะกระทาไดคอยขางยงยาก
อกทงผใชแตละหนวยงานอาจใชโปรแกรมประยกตในการพฒนาระบบงานทแตกตางกนไป ทาใหมผลกระทบถงการเชอมโยงระหวางโปรแกรมประยกตและขอมลในฐานขอมลจงเปนยงยากดวยเชนกน
![Page 11: CHAPTER 8 Database Design - seekeaw.files.wordpress.com · 1. select คือค้าสั่งส้าหรับสืบค้นข้อมูล หรือค้นหาข้อมูลที่จัดเก็บอยู่ในตารางข้อมูล](https://reader031.vdocuments.net/reader031/viewer/2022011813/5e38137fce095d549601701c/html5/thumbnails/11.jpg)
ดงนนจงมการพฒนาโปรแกรมหรอซอฟตแวรระบบจดการฐานขอมลขนมาเพอชวยอานวยความสะดวกในการจดการขอมลดงกลาว
โดยระบบจดการฐานขอมลจะเปรยบเสมอนเปนตวกลางระหวางโปรแกรมประยกตทผใชพฒนากบขอมลในฐานขอมล
![Page 12: CHAPTER 8 Database Design - seekeaw.files.wordpress.com · 1. select คือค้าสั่งส้าหรับสืบค้นข้อมูล หรือค้นหาข้อมูลที่จัดเก็บอยู่ในตารางข้อมูล](https://reader031.vdocuments.net/reader031/viewer/2022011813/5e38137fce095d549601701c/html5/thumbnails/12.jpg)
หนาทของระบบจดการฐานขอมล
1) รบค าสงจากผใช เชน ค าสงการเรยกใชขอมล การปรบปรงขอมล และการลบขอมล แลวท าการแปลใหอยในรปแบบทฐานขอมลเขาใจและสามารถประมวลผลตามค าสงนน ๆ ได
2) น าผลลพธทไดจากการประมวลผลของฐานขอมลน าเสนอกบผใชในรปแบบทผใชเขาใจและสามารถน าไปใชประโยชนได
3) ควบคมความถกตองของขอมลตามทถกก าหนดไว เชน ความถกตองตามชนดของขอมล และความถกตองตามขนาดของขอมลเปนตน
4) รกษาความสมพนธกนระหวางขอมลในฐานขอมลใหถกตอง เพอประโยชนในการเชอมโยงขอมลส าหรบการใชงาน และความสมพนธระหวางขอมลนยงท าใหการปรบปรงหรอแกไขขอมลสามารถกระท าไดโดยงายและสะดวก
5) รกษาความปลอดภยของขอมล ก าหนดสทธการใชขอมลและคอยตรวจสอบสทธของผใชขอมลอยเสมอเพอปองกนความเสยหายทอาจจะเกดกบขอมล
![Page 13: CHAPTER 8 Database Design - seekeaw.files.wordpress.com · 1. select คือค้าสั่งส้าหรับสืบค้นข้อมูล หรือค้นหาข้อมูลที่จัดเก็บอยู่ในตารางข้อมูล](https://reader031.vdocuments.net/reader031/viewer/2022011813/5e38137fce095d549601701c/html5/thumbnails/13.jpg)
ระบบฐานขอมลเชงสมพนธ (relational database system)
เปนการเกบขอมลในรปแบบตาราง (Table) หรอเรยกวา รเลชน (Relation) มลกษณะเปน 2 มต คอ แถว (Row) และคอลมน (Column) การเชอมโยงขอมลระหวางตารางจะเชอมโยงโดยใชแอททรบวต (Attribute) หรอคอลมนทเหมอนกนของทงสองตารางเปนตวเชอมโยง ฐานขอมลเชงสมพนธเปนรปแบบของฐานขอมลทนยมใชในปจจบน
![Page 14: CHAPTER 8 Database Design - seekeaw.files.wordpress.com · 1. select คือค้าสั่งส้าหรับสืบค้นข้อมูล หรือค้นหาข้อมูลที่จัดเก็บอยู่ในตารางข้อมูล](https://reader031.vdocuments.net/reader031/viewer/2022011813/5e38137fce095d549601701c/html5/thumbnails/14.jpg)
ค าศพทเทคนคในระบบฐานขอมลเชงสมพนธ
1) รเลชน (relation) หมายถง ค านามทใชแทนขอมลของเรองใดเรองหนงทจะท าการจดเกบในฐานขอมล บางครงอาจจะใชค าเรยกรเลชนวา ตาราง (table)
หรอ เอนทต (entity) กได
2) แอททรบวต (attribute) หมายถง ชอของขอมลทเกบเปนคอลมนในแตละรเลชน โดยทวไปมความหมายเชนเดยวกนกบค าวา ฟลด แอททรบวตจะเปนขอมลทบอกรายละเอยดคณสมบตของรเลชนวาประกอบดวยขอมลอะไรบาง
3) ทเพล (tuple) หมายถง คาของขอมลในแตละแถวของรเลชน มความหมายเชนเดยวกนกบ เรคคอรด โดยคาของทเพลนมกจะมการเพมขอมล ลบขอมล หรอปรบปรงขอมลอยเกอบตลอดเวลาทมการใชงานฐานขอมลจากผใช
![Page 15: CHAPTER 8 Database Design - seekeaw.files.wordpress.com · 1. select คือค้าสั่งส้าหรับสืบค้นข้อมูล หรือค้นหาข้อมูลที่จัดเก็บอยู่ในตารางข้อมูล](https://reader031.vdocuments.net/reader031/viewer/2022011813/5e38137fce095d549601701c/html5/thumbnails/15.jpg)
4) คาดนาลต (cardinality) หมายถง จ านวนทเพลหรอแถวของรเลชนหนง ๆ ซงคาดนาลตของรเลชนใด ๆ อาจเปลยนแปลงตลอดเวลา เนองจากการใชงานของผใชทมการเพม การแทรกหรอการลบขอมลในฐานขอมล
5) ดกร (degree) หมายถง จ านวนของคอลมนหรอแอททรบวตในรเลชนหนง ๆ ซงโดยปกตแลวการเปลยนแปลงหรอปรบปรงแอททรบวตมคอนขางนอยมาก ดงนนดกรจงมคาทไมคอยมการเปลยนแปลงนก
6) โดเมน (domain) หมายถง ขอบเขตหรอเซตของคาขอมลทสามารถเปนไปไดในแตละ
แอททรบวต ความหมายของคาขอมลนรวมถงประเภทและขนาดของขอมลดวย ทงนเพอควบคมความถกตองของขอมลในฐานขอมลมใหมการบนทกขอมลผดประเภท หรอเกนขอบเขตทสามารถเปนไปไดตามขอก าหนด เชน โดเมนของ attribute อาจารยประจ าวชา กบ อาจารยทปรกษาถอวาเปนโดเมนเดยวกนเพราะเปนกลมขอมลเดยวกนหรอโดเมนของ attribute วนท จะตองอยระหวาง 1-31 เดอนตองอยระหวาง 1-12 เปนตน
![Page 16: CHAPTER 8 Database Design - seekeaw.files.wordpress.com · 1. select คือค้าสั่งส้าหรับสืบค้นข้อมูล หรือค้นหาข้อมูลที่จัดเก็บอยู่ในตารางข้อมูล](https://reader031.vdocuments.net/reader031/viewer/2022011813/5e38137fce095d549601701c/html5/thumbnails/16.jpg)
Relation
Relation
Attribute
Tup
le
Degree
Cardinality
![Page 17: CHAPTER 8 Database Design - seekeaw.files.wordpress.com · 1. select คือค้าสั่งส้าหรับสืบค้นข้อมูล หรือค้นหาข้อมูลที่จัดเก็บอยู่ในตารางข้อมูล](https://reader031.vdocuments.net/reader031/viewer/2022011813/5e38137fce095d549601701c/html5/thumbnails/17.jpg)
ประเภทของคย
การเกบขอมลในฐานขอมลเชงสมพนธจะตองมการเขาถงขอมลดวยการอางองถงกนทงการอางองระหวางรเลชน และการอางองภายในรเลชนเดยวกน ดงนนจงจ าเปนตองมขอมลใดขอมลหนงทมเอกลกษณเฉพาะตวเพอใชในการอางองน าไปสขอมลอน ๆ ไดอยางชดเจน
*คยชวยแยกความแตกตางของขอมลแตละแถว และใชในการเชอมโยงตาราง
1) Super key แอททรบวตหรอกลมของแอทรบวตทสามารถระบความเปนเอกลกษณของแตละแถวเพอใหแตกตางกนในตารางได เชน ตารางอาจารย Super keys: รหสอาจารย
รหสอาจารยและหมายเลขบตรประชาชนรหสอาจารย ชอสกล และหมายเลขโทรศพท
2) คยคแขง (candidate key) หมายถง ซเปอรคย ขนาดเลกทสดทสามารถอางองขอมลอนในทเพลได
![Page 18: CHAPTER 8 Database Design - seekeaw.files.wordpress.com · 1. select คือค้าสั่งส้าหรับสืบค้นข้อมูล หรือค้นหาข้อมูลที่จัดเก็บอยู่ในตารางข้อมูล](https://reader031.vdocuments.net/reader031/viewer/2022011813/5e38137fce095d549601701c/html5/thumbnails/18.jpg)
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 คือค้าสั่งส้าหรับสืบค้นข้อมูล หรือค้นหาข้อมูลที่จัดเก็บอยู่ในตารางข้อมูล](https://reader031.vdocuments.net/reader031/viewer/2022011813/5e38137fce095d549601701c/html5/thumbnails/19.jpg)
v
![Page 20: CHAPTER 8 Database Design - seekeaw.files.wordpress.com · 1. select คือค้าสั่งส้าหรับสืบค้นข้อมูล หรือค้นหาข้อมูลที่จัดเก็บอยู่ในตารางข้อมูล](https://reader031.vdocuments.net/reader031/viewer/2022011813/5e38137fce095d549601701c/html5/thumbnails/20.jpg)
![Page 21: CHAPTER 8 Database Design - seekeaw.files.wordpress.com · 1. select คือค้าสั่งส้าหรับสืบค้นข้อมูล หรือค้นหาข้อมูลที่จัดเก็บอยู่ในตารางข้อมูล](https://reader031.vdocuments.net/reader031/viewer/2022011813/5e38137fce095d549601701c/html5/thumbnails/21.jpg)
คณลกษณะในการจดเกบขอมลของรเลชน1) ขอมลในแตละทเพลตองไมซ ากน
การควบคมไมใหเกดความซ าซอนนจะเปนหนาทของโปรแกรมจดการฐานขอมลโดยตรง เมอมการบนทกขอมลทซ าซอนกนโปรแกรมจดการฐานขอมลจะตองมขอความเตอนและไมอนญาตใหมการบนทกขอมลซ าดงกลาว
2) การเรยงล าดบขอมลแตละทเพลกอนหลงไมมผลใด ๆ ในการบนทกขอมลในฐานขอมลคาของขอมลในแตละทเพลตงแตแถวท 1 จนถงแถวสดทาย ระดบความส าคญไมแตกตางกน
แตการเขาถงขอมลจะมการอางองดวยคยหลกมใชการเขาถงแบบเรยงล าดบ
Tuple
Tuple
![Page 22: CHAPTER 8 Database Design - seekeaw.files.wordpress.com · 1. select คือค้าสั่งส้าหรับสืบค้นข้อมูล หรือค้นหาข้อมูลที่จัดเก็บอยู่ในตารางข้อมูล](https://reader031.vdocuments.net/reader031/viewer/2022011813/5e38137fce095d549601701c/html5/thumbnails/22.jpg)
3) การเรยงล าดบของแอททบวตกอนหลงไมมผลใด ๆ
แอททบวตใดอยกอนหรอหลงกได แมวาจะเปนแอททบวตทเปนคยหลกกตาม ทงนเพราะการอางถงแอททบวตใดๆ จะใชชอแอททบวตในการอางอง มใชเขาถงขอมลแบบลาดบ
4) คาของขอมลในแตละแอททรบวตจะบรรจไดเพยงประเภทเดยว
ไมสามารถมความหมาย 2 ความหมายในแอททรบวตเดยวได และไมสามารถเปนคาขอมลหลายประเภทได (ตวเลข กลม ตวอกษร)
Attribute
![Page 23: CHAPTER 8 Database Design - seekeaw.files.wordpress.com · 1. select คือค้าสั่งส้าหรับสืบค้นข้อมูล หรือค้นหาข้อมูลที่จัดเก็บอยู่ในตารางข้อมูล](https://reader031.vdocuments.net/reader031/viewer/2022011813/5e38137fce095d549601701c/html5/thumbnails/23.jpg)
5) คาของขอมลในแตละแอททรบวตจะมไดเพยงคาเดยว
คาในทกแอททรบวตของรเลชนกาหนดใหคาของขอมลในแตละแอททรบวตของรเลชนจะตองมความหมายใดความหมายหนงเพยงความหมายเดยว ไมใชกลมของสงใดสงหนง
![Page 24: CHAPTER 8 Database Design - seekeaw.files.wordpress.com · 1. select คือค้าสั่งส้าหรับสืบค้นข้อมูล หรือค้นหาข้อมูลที่จัดเก็บอยู่ในตารางข้อมูล](https://reader031.vdocuments.net/reader031/viewer/2022011813/5e38137fce095d549601701c/html5/thumbnails/24.jpg)
6) ชอของแอททรบวตในรเลชนจะตองไมซ ากน
ตวอกษรใหญหรอเลกไมเปนสาระสาคญ เชน ชอแอททรบวต Surname และแอททรบวต surname ถอวาเปนชอแอททรบวตเดยวกนแมวาอกษรตวเอสจะเปนอกษรตวใหญหรอเลกกตาม
![Page 25: CHAPTER 8 Database Design - seekeaw.files.wordpress.com · 1. select คือค้าสั่งส้าหรับสืบค้นข้อมูล หรือค้นหาข้อมูลที่จัดเก็บอยู่ในตารางข้อมูล](https://reader031.vdocuments.net/reader031/viewer/2022011813/5e38137fce095d549601701c/html5/thumbnails/25.jpg)
7) คาขอมลทจดเกบในแอททรบวตจะตองมความหมายเดยวกน
ความหมายของคาขอมลนน ๆ ในแอททรบวตเดยวกนจะตองมความหมายในวตถประสงคเดยวกน เชน การจดเกบขอมลในรเลชนพนกงานมการกาหนดชนดขอมลในทกแอททรบวตเปนตวอกษร
![Page 26: CHAPTER 8 Database Design - seekeaw.files.wordpress.com · 1. select คือค้าสั่งส้าหรับสืบค้นข้อมูล หรือค้นหาข้อมูลที่จัดเก็บอยู่ในตารางข้อมูล](https://reader031.vdocuments.net/reader031/viewer/2022011813/5e38137fce095d549601701c/html5/thumbnails/26.jpg)
E-R Model
ในการพฒนาระบบฐานขอมลจะตองมการออกแบบโครงสรางฐานขอมลในระดบแนวคดกอนนาไปพฒนาโปรแกรมฐานขอมลในระดบกายภาพ
เพอการตรวจสอบความเหมาะสมของการจดเกบขอมลในฐานขอมล
โมเดลทนยมใชในการออกแบบและน าเสนอขอมลในระดบแนวคดนคอ Entity-Relationship Model หรอ E-R Model
โดยวตถประสงคเพอนาเสนอโครงสรางของการจดเกบขอมลในฐานขอมล
การนาเสนอจะแสดงเปนแผนภาพ (Diagram) ทประกอบดวย สญลกษณแทนขอมล และความสมพนธของขอมลในลกษณะตาง ๆ
![Page 27: CHAPTER 8 Database Design - seekeaw.files.wordpress.com · 1. select คือค้าสั่งส้าหรับสืบค้นข้อมูล หรือค้นหาข้อมูลที่จัดเก็บอยู่ในตารางข้อมูล](https://reader031.vdocuments.net/reader031/viewer/2022011813/5e38137fce095d549601701c/html5/thumbnails/27.jpg)
สญลกษณทใชใน E-R Model
สญลกษณ
E หมายถง ชอเอนทต
R หมายถง ชอของความสมพนธ
A หมายถง ชอของแอททรบวต
![Page 28: CHAPTER 8 Database Design - seekeaw.files.wordpress.com · 1. select คือค้าสั่งส้าหรับสืบค้นข้อมูล หรือค้นหาข้อมูลที่จัดเก็บอยู่ในตารางข้อมูล](https://reader031.vdocuments.net/reader031/viewer/2022011813/5e38137fce095d549601701c/html5/thumbnails/28.jpg)
![Page 29: CHAPTER 8 Database Design - seekeaw.files.wordpress.com · 1. select คือค้าสั่งส้าหรับสืบค้นข้อมูล หรือค้นหาข้อมูลที่จัดเก็บอยู่ในตารางข้อมูล](https://reader031.vdocuments.net/reader031/viewer/2022011813/5e38137fce095d549601701c/html5/thumbnails/29.jpg)
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 คือค้าสั่งส้าหรับสืบค้นข้อมูล หรือค้นหาข้อมูลที่จัดเก็บอยู่ในตารางข้อมูล](https://reader031.vdocuments.net/reader031/viewer/2022011813/5e38137fce095d549601701c/html5/thumbnails/30.jpg)
2) ความสมพนธระหวางเอนทต
การเชอมโยงความสมพนธกนโดยตรงระหวางสองเอนทต หรออาจเชอมโยงดวยการผานเอนทตตวกลาง การก าหนดความสมพนธระหวางเอนทต ใหมความสมพนธกนอยางไรขนอยกบเงอนไขในการท างานของระบบงานทพฒนาฐานขอมล
E2E1 R1 M
รปแบบของความสมพนธระหวางเอนทตโดยทวไปม 3 รปแบบ
คอ ความสมพนธแบบ 1:1, 1:M และ M:N
![Page 31: CHAPTER 8 Database Design - seekeaw.files.wordpress.com · 1. select คือค้าสั่งส้าหรับสืบค้นข้อมูล หรือค้นหาข้อมูลที่จัดเก็บอยู่ในตารางข้อมูล](https://reader031.vdocuments.net/reader031/viewer/2022011813/5e38137fce095d549601701c/html5/thumbnails/31.jpg)
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 คือค้าสั่งส้าหรับสืบค้นข้อมูล หรือค้นหาข้อมูลที่จัดเก็บอยู่ในตารางข้อมูล](https://reader031.vdocuments.net/reader031/viewer/2022011813/5e38137fce095d549601701c/html5/thumbnails/32.jpg)
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 คือค้าสั่งส้าหรับสืบค้นข้อมูล หรือค้นหาข้อมูลที่จัดเก็บอยู่ในตารางข้อมูล](https://reader031.vdocuments.net/reader031/viewer/2022011813/5e38137fce095d549601701c/html5/thumbnails/33.jpg)
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 คือค้าสั่งส้าหรับสืบค้นข้อมูล หรือค้นหาข้อมูลที่จัดเก็บอยู่ในตารางข้อมูล](https://reader031.vdocuments.net/reader031/viewer/2022011813/5e38137fce095d549601701c/html5/thumbnails/34.jpg)
3) แอททรบวต
หมายถง คณสมบตของเอนทต หรอ รายละเอยดของเอนทตทใชอธบายคณลกษณะของเอนทต โดยเอนทตหนง ๆ อาจจะประกอบดวยแอททรบวตหลายแอททรบวตขนอยกบระบบฐานขอมลวาตองการจดเกบรายละเอยดใดบาง
รหสนกศกษา
นกศกษา
ทอย เพศ
อาย
ชอสกลรหสวชา
วชา
หนวยกต
ค าอธบาย
ชอวชา
รหส
หลกสตร
อาจารยทปรกษา
ชอหลกสตร
![Page 35: CHAPTER 8 Database Design - seekeaw.files.wordpress.com · 1. select คือค้าสั่งส้าหรับสืบค้นข้อมูล หรือค้นหาข้อมูลที่จัดเก็บอยู่ในตารางข้อมูล](https://reader031.vdocuments.net/reader031/viewer/2022011813/5e38137fce095d549601701c/html5/thumbnails/35.jpg)
จากองคประกอบของ E-R Model และตวอยางทกลาวมาขางตน สามารถน ามาเขยนเปนแผนภาพ E-R ของระบบงานนกศกษาไดดงตอไปน
ลงทะเบยนเรยนรหสนกศกษา
นกศกษาชอสกล
รหสวชา
ชอวชาวชาNM
หนวยกต
หลกสตร
สงกด
รหส ชอหลกสตร
1
M
เพศ อาย
ทอย
ค าอธบาย
อาจารยทปรกษา
![Page 36: CHAPTER 8 Database Design - seekeaw.files.wordpress.com · 1. select คือค้าสั่งส้าหรับสืบค้นข้อมูล หรือค้นหาข้อมูลที่จัดเก็บอยู่ในตารางข้อมูล](https://reader031.vdocuments.net/reader031/viewer/2022011813/5e38137fce095d549601701c/html5/thumbnails/36.jpg)
ขนตอนการออกแบบฐานขอมลดวย 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 คือค้าสั่งส้าหรับสืบค้นข้อมูล หรือค้นหาข้อมูลที่จัดเก็บอยู่ในตารางข้อมูล](https://reader031.vdocuments.net/reader031/viewer/2022011813/5e38137fce095d549601701c/html5/thumbnails/37.jpg)
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 คือค้าสั่งส้าหรับสืบค้นข้อมูล หรือค้นหาข้อมูลที่จัดเก็บอยู่ในตารางข้อมูล](https://reader031.vdocuments.net/reader031/viewer/2022011813/5e38137fce095d549601701c/html5/thumbnails/38.jpg)
สมาชก
คนยม
บรรณารกษ
หนงสอ
11
11
11
M
11
MM M
MM
![Page 39: CHAPTER 8 Database Design - seekeaw.files.wordpress.com · 1. select คือค้าสั่งส้าหรับสืบค้นข้อมูล หรือค้นหาข้อมูลที่จัดเก็บอยู่ในตารางข้อมูล](https://reader031.vdocuments.net/reader031/viewer/2022011813/5e38137fce095d549601701c/html5/thumbnails/39.jpg)
1) การก าหนดเอนทตขนตอนการก าหนดเอนทตเปนการก าหนดกลมของขอมลหรอวตถ (Object) ท
เกยวของกบระบบงาน เชน ขอมลบคคล สงของ สถานท หรอขอมลอน ๆ ในฐานขอมลหนง ๆ อาจประกอบดวยเอนทตหลายเอนทต
2) การก าหนดความสมพนธระหวางเอนทตเมอทราบถงเอนทตตาง ๆ ทมในฐานขอมลแลว ขนตอนตอไปตองก าหนด
ความสมพนธระหวางเอนทตวามความสมพนธระหวางสองเอนทต สามเอนทต หรอมากกวา แตโดยทวไปไมควรก าหนดความสมพนธของเอนทตทมากเกนไปเนองจากจะสงผลถงการท างานของฐานขอมลทซบซอนมากขน
จากนนตองก าหนดรปแบบของความสมพนธวาเปนแบบใด ไดแก หนงตอหนง หนงตอกลม หรอกลมตอกลม
สวนชอของความสมพนธทก าหนดจะตองเปนค ากรยาหรอแสดงการกระท า
![Page 40: CHAPTER 8 Database Design - seekeaw.files.wordpress.com · 1. select คือค้าสั่งส้าหรับสืบค้นข้อมูล หรือค้นหาข้อมูลที่จัดเก็บอยู่ในตารางข้อมูล](https://reader031.vdocuments.net/reader031/viewer/2022011813/5e38137fce095d549601701c/html5/thumbnails/40.jpg)
3) การก าหนดแอททรบวตก าหนดรายละเอยดหรอคณสมบตใหกบเอนทต รายละเอยดตาง ๆ ของแอททร
บวตอาจไดจากการศกษาเอกสารและการสมภาษณผใชงานทเกยวของกบขอมล นอกจากจะตองวเคราะหวาในแตละเอนทตจะประกอบดวยแอททรบวตอะไรบางแลว
4) การก าหนดคยการก าหนดแอททรบวตทท าหนาทเปนคย โดยคยทจะตองพจารณาไดแก คยคแขง
คยหลก คยส ารอง และคยนอก แตละแอททรบวตทจะก าหนดใหเปนคยประเภทใดตองมการค านงถงคณสมบตของคยแตละประเภท เชน คยคแขง ตองมคณสมบตเปนหนงเดยวหรอเปนเอกลกษณ มคาขอมลเปนคาวางไมได สามารถอางองถงขอมลอน ๆ ในแตละทเพลไดอยางชดเจน เปนตน
![Page 41: CHAPTER 8 Database Design - seekeaw.files.wordpress.com · 1. select คือค้าสั่งส้าหรับสืบค้นข้อมูล หรือค้นหาข้อมูลที่จัดเก็บอยู่ในตารางข้อมูล](https://reader031.vdocuments.net/reader031/viewer/2022011813/5e38137fce095d549601701c/html5/thumbnails/41.jpg)
5) การแปลงแผนภาพ E-R ใหเปนเคารางฐานขอมลเชงสมพนธ• จากแผนภาพ E-R ทผานขนตอนการออกแบบแลว จะตองมการแปลงแผนภาพนนใหอยในรปแบบของฐานขอมลเชงสมพนธ • ผลจากการออกแบบฐานขอมลดวย E-R และแปลงใหเปนฐานขอมลเชงสมพนธแลว คอ เคารางของฐานขอมล ซงเปนเคารางของฐานขอมลในระดบแนวคด ทอธบายถงโครงสรางของขอมลทจะจดเกบในฐานขอมล • ฐานขอมลทไดจากการแปลงนถาผออกแบบเหนวามความเหมาะสมมากทสดแลว สามารถน าไปสรางฐานขอมลในระดบภายในไดเลย
![Page 42: CHAPTER 8 Database Design - seekeaw.files.wordpress.com · 1. select คือค้าสั่งส้าหรับสืบค้นข้อมูล หรือค้นหาข้อมูลที่จัดเก็บอยู่ในตารางข้อมูล](https://reader031.vdocuments.net/reader031/viewer/2022011813/5e38137fce095d549601701c/html5/thumbnails/42.jpg)
8.10 สรป
การประยกตใชระบบฐานขอมลเพอชวยในการจดเกบขอมล เนองจากเปนระบบทมประสทธภาพในการจดการขอมล ผใชงานฐานขอมลไมจาเปนตองเขยนโปรแกรมภาษาคอมพวเตอรกสามารถใชงานไดผานระบบจดการฐานขอมล
แบบจาลองฐานขอมลทใชกนอยางแพรหลายคอ ระบบฐานขอมลเชงสมพนธ
การจดเกบขอมลจะมลกษณะเปนตารางสองมต ใชภาษาสาหรบฐานขอมลคอภาษาเอสควแอล
การกาหนดความสมพนธระหวางขอมลขนอยกบเงอนไขการทางานไดแก แบบหนงตอหนง แบบหนงตอกลม และแบบกลมตอกลม
การออกแบบฐานขอมลทดนอกเหนอจากการกาหนดความสมพนธทถกตองแลว ยงตองมการจดรปแบบของโครงสรางการจดเกบใหเปนรปแบบบรรทดฐาน เพอชวยลดพนทในการจดเกบขอมล ลดความซาซอน และชวยใหการบารงรกษาขอมลทาไดสะดวกและงายมากยงขน
![Page 43: CHAPTER 8 Database Design - seekeaw.files.wordpress.com · 1. select คือค้าสั่งส้าหรับสืบค้นข้อมูล หรือค้นหาข้อมูลที่จัดเก็บอยู่ในตารางข้อมูล](https://reader031.vdocuments.net/reader031/viewer/2022011813/5e38137fce095d549601701c/html5/thumbnails/43.jpg)
แบบฝกหดทายบท
ใหศกษาเงอนไขในการด าเนนงานของระบบการยมคนหนงสอในหองสมด 1 แหง แลวท าการออกแบบฐานขอมลดวยแผนภาพ E-R โดยละเอยดทกขนตอน
นกศกษา หองสมด
ในการออกแบบฐานขอมลดวย E-R Model มองคประกอบทส าคญ 3 สวนคอ • เอนทต (entity)• ความสมพนธระหวางเอนทต (relationship)• แอททรบวต (attribute)
หนงสอ