รายงาน
เรอ่ื ง ระบบจัดการฐานข้อมูล
เสนอ
อ.สรุ ศกั ดิ์ จีนแฉ่ง
จดั ทำโดย
นายพชิ ญุตม์ ตอ่ สกุล
ปวส.2/3 เลขท่ี 24
รายงานนเี้ ปน็ ส่วนหนงึ่ ของวชิ า
ระบบจดั การฐานข้อมลู (30204-2002)
สาขาวิชา เทคโนโลยธี รุ กจิ ดจิ ิทัล
ภาคเรียนท่ี 1/2564
วทิ ยาลยั เทคโนโลยสี หะพาณชิ ยบ์ รหิ ารธุรกจิ
ก
คำนำ
รายงานเลม่ นีจ้ ดั ทาขนึ้ เพ่ือเป็นสว่ นหนง่ึ ของวชิ า ระบบจดั การฐานขอ้ มลู (30204-2002)
เพ่ือใหไ้ ดศ้ กึ ษาหาความรูใ้ นเร่อื งราวของการตระหนกั ว่าหลกั ฐานของขอ้ มลู เป็นสง่ิ ท่ีจาเป็นและสาคญั
อย่างย่ิงในการจดั การธุรกิจในยคุ ปัจจบุ นั การออกแบบฐานขอ้ มลู การบรหิ ารจดั ารฐานขอ้ มลู รวมถึง
ภาษาสอบถามเชงิ โครงสรา้ ง หรอื SQL ลว้ นแลว้ แต่มีความสาคญั ย่งิ ในการบรหิ าร
เนือ้ หาในรายงานนีจ้ ะประกอบไปดว้ ยส่วนต่าง ๆ ความรูพ้ ืน้ ฐานระบบฐานขอ้ มูล
สถาปัตยกรรมระบบฐานขอ้ มลู แบบจาลองฐานขอ้ มลู เชิงสมั พนั ธ์ การออกแบบฐานขอ้ มลู การเปล่ยี น
แผนภาพอีอารเ์ ป็นรีเลชัน กระบวนการแปลงรีเลชันใหอ้ ยู่ในรูปปกติ การเขียนโปรแกรมดว้ ยภาษา
สอบถามเชิงโครงสรา้ ง การบรหิ ารรายการ การบรหิ ารฐานขอ้ มลู และแนวทางในการจดั การ
ผเู้ ขียนหวงั อย่างยง่ิ วา่ รายงานเลม่ นีจ้ ะเป็นประโยชนส์ าหรบั นกั ศกึ ษาและผสู้ นใจท่วั ไป
หากมขี อ้ เสนอแนะอ่นื ๆ ผเู้ ขียนยินดรี บั ไปปรบั ปรุงใหร้ ายงานเลม่ นีม้ ีความสมบรู ณย์ ง่ิ ขนึ้ ไป
ผจู้ ดั ทา
นายพชิ ญตุ ม์ ตอ่ สกลุ
11 ตลุ าคม 2564
สารบญั ข
เรื่อง
คานา หนา้
สารบญั ก
ฐานขอ้ มลู เบอื้ งตน้ ข
ความหมายของระบบฐานขอ้ มลู
องคป์ ระกอบของฐานขอ้ มลู 1
ประโยชนจ์ าการประมวลผลดว้ ยระบบฐานขอ้ มลู 3
รูปแบบของฐานขอ้ มลู 8
แบบจาลองฐานขอ้ มลู 12
ระบบแบบจาลองขอ้ มลู สารสนเทศ 22
ระบบการจดั การ RDBMS 25
คาศพั ทแ์ ละความสมั พนั ธ์ 29
คาศพั ทพ์ ืน้ ฐาน
ความสมั พนั ธร์ ะหวา่ งเอนทติ ี 31
ประเภทของคยี (์ Key) 32
บรรณานกุ รม 34
36
1
ควำมหมำยของระบบฐำนข้อมูล
ฐานขอ้ มลู คอื ชดุ ของสารสนเทศท่มี ีโครงสรา้ งสม่าเสมอ ชดุ ของสารสนเทศใด ๆ กอ็ าจเรยี กวา่ เป็น
ฐานขอ้ มลู ไดถ้ งึ กระนนั้ คาวา่ ฐานขอ้ มลู นีม้ กั ใชอ้ า้ งถึงขอ้ มลู ท่ปี ระมวลผลดว้ ยคอมพวิ เตอรแ์ ละถกู ใชส้ ว่ นใหญ่
เฉพาะในวิชาการคอมพวิ เตอร์ บางครงั้ คานีก้ ถ็ กู ใชเ้ พ่อื อา้ งถงึ ขอ้ มลู ท่ียงั มไิ ดป้ ระมวลผลดว้ ยคอมพิวเตอรเ์ ชน่
กนั ในแง่ของการวางแผนใหข้ อ้ มลู ดงั กลา่ วสามารถประมวลผลดว้ ยคอมพิวเตอรไ์ ด้
ฐานขอ้ มลู ในลกั ษณะท่ีคลา้ ยกบั ฐานขอ้ มลู สมยั ใหมถ่ กู พฒั นาเป็นครงั้ แรกในทศวรรษ 1960 ซง่ึ ผู้
บกุ เบิกในสาขานีค้ ือ ชาลส์ บากแมน แบบจาลองขอ้ มลู สาคญั สองแบบเกิดขนึ้ ในชว่ งเวลานี้ ซง่ึ เรม่ิ ตน้ ดว้ ย
แบบจาลองข่ายงาน (พฒั นาโดย CODASYL) และตามดว้ ยแบบจาลองเชิงลาดบั ชนั้ (นาไปปฏบิ ตั ิใน IMS)
แบบจาลองทงั้ สองแบบนี้ ในภายหลงั ถกู แทนท่ีดว้ ย แบบจาลองเชงิ สมั พนั ธ์ ซง่ึ อย่รู ว่ มสมยั กบั แบบจาลองอกี
สองแบบ แบบจาลองแบบแรกเรยี กกนั วา่ แบบจาลองแบนราบ ซง่ึ ออกแบบสาหรบั งานท่มี ีขนาดเลก็ มาก ๆ
แบบจาลองรว่ มสมยั กบั แบบจาลองเชงิ สมั พนั ธอ์ กี แบบ คอื ฐานขอ้ มลู เชงิ วตั ถุ หรือ โอโอดบี ี3 (OODB)
2
ฐานขอ้ มลู (Database) เป็นการเก็บขอ้ มลู ท่ีมีความสมั พนั ธก์ ันใหอ้ ยู่ในหวั เรื่องหรือจุดประสงค์
อย่างใดอย่างหน่ึง เช่น ช่ือ-นามสกุล ท่ีอยู่ หมายเลขโทรศพั ทเ์ พ่ือน สินคา้ ท่ีมีอยู่ในคลงั สินคา้ เป็นตน้ ซ่ึงเม่ือ
ไดร้ บั การจดั หมวดหม่แู ลว้ จะทาใหส้ ามารถนาเอาสว่ นประกอบนนั้ ๆ เป็นตวั ตงั้ ในการนาออกมาใชป้ ระโยชนไ์ ด้
ระบบฐานขอ้ มลู (Database System) หมายถึงระบบท่ีรวบรวมขอ้ มลู ตา่ ง ๆ ท่ีเก่ียวขอ้ งกนั เขา้ ไว้
ดว้ ยกันไวอ้ ย่างมีระบบ มีความสัมพันธ์ระหว่างขอ้ มูลต่าง ๆ ท่ีชัดเจน ในระบบฐานขอ้ มูลจะประกอบดว้ ย
แฟม้ ขอ้ มลู หลายแฟ้มท่มี ีขอ้ มลู เก่ียวขอ้ งสมั พนั ธก์ นั เขา้ ไวด้ ว้ ยกนั อย่างเป็นระบบและเปิดโอกาสใหผ้ ู้ใชส้ ามารถ
ใชง้ านและดแู ลรกั ษา ปอ้ งกนั ขอ้ มลู เหลา่ นีไ้ ดอ้ ยา่ งมีประสิทธิภาพในการนาขอ้ มลู มาจดั เก็บไวใ้ นคอมพิวเตอรก์ ็
เช่นเดียวกัน คือ จะต้องสรา้ งแฟ้มข้อมูลขึน้ มาสาหรับจัดเก็บข้อมูลท่ีเก่ียวข้องกันเป็นเร่ืองๆ โดยแต่ละ
แฟ้มขอ้ มูลจะประกอบดว้ ยส่วนขอ้ มูลย่อย ๆ หรือฟิ ลด์ (Field) หลายชิน้ ท่ีมีความสมั พันธ์เก่ียวขอ้ งกันและ
ขอ้ มลู แต่ละชดุ ท่ีจดั เก็บในแฟ้มหรือระเบียน(Record) การจดั เก็บในลกั ษณะนีจ้ ะแยกออกเป็นแฟ้มๆคลา้ ยกบั
การจดั เก็บในแฟม้ เอกสารท่ีเป็นกระดาษปกติ แตม่ ีประสทิ ธิภพการใชง้ านและการบารุงรกั ษาท่ีดีกวา่ .
3
องคป์ ระกอบของฐำนข้อมลู
ระบบฐานขอ้ มลู ส่วนใหญ่เป็นระบบท่ีมีการนาคอมพิวเตอรเ์ ขา้ มาช่วยในการจดั เก็บขอ้ มลู โดยมี
ซอฟแวรห์ รือโปรแกรมช่วยในการจดั การขอ้ มลู เหล่านีเ้ พ่ือใหไ้ ดข้ อ้ มลู ตามผใู้ ชต้ อ้ งการองคป์ ระกอบของระบบ
ฐานขอ้ มลู แบง่ ออกเป็น 5 ประเภท คือ
1.ฮารด์ แวร์ ( Hardware )
ในระบบฐานข้อมูลท่ีมีประสิทธิภาพควรมีฮารด์ แวรต์ ่างๆ ท่ีพรอ้ มจะอานวยความสะดวกในการบริหาร
ระบบงานฐานข้อมูลได้อย่างมีประสิทธิ ภาพไม่ว่าจะเป็ นขนาดของหน่วยความจาความเร็วของหน่วย
ประมวลผลกลาง อปุ กรณน์ าเขา้ และออกรายงานรวมถึงหน่วยความจาสารองท่ีรองรบั การประมวลผลขอ้ มลู
ในระบบไดอ้ ยา่ งมีประสทิ ธิภาพ
2.โปรแกรม ( Program )
ในการประมวลผลฐานขอ้ มลู อาจจะใชโ้ ปรแกรมท่ีแตกต่างกนั ทงั้ นีข้ ึน้ อย่กู บั ระบบคอมพิวเตอรท์ ่ีใชว้ ่าเป็นแบบ
ใด โปรแกรมท่ีทาหนา้ ท่ีการสรา้ งการเรียกใชข้ อ้ มูลการจัดทารายงานการปรบั เปล่ียนแกไ้ ขโครงสรา้ ง การ
ควบคมุ หรือกล่าวไดอ้ ีกอย่างหน่ึงว่า ระบบจดั การฐานขอ้ มลู ( Database Management System ) คือ
โปรแกรมหรือซอฟทแ์ วรท์ ่ีทาหนา้ ท่ีในการจดั การฐานขอ้ มลู โดยจะเป็นส่ือกลางระหว่างผูใ้ ช้ และโปรแกรม
ประยกุ ตต์ า่ ง ๆ ท่ีมีอยใู่ นฐานขอ้ มลู
3.ขอ้ มลู ( Data )
ฐานขอ้ มูลเป็นการจัดเก็บรวบรวมขอ้ มลู ใหเ้ ป็นศูนยก์ ลางขอ้ มลู อย่างเป็นระบบ ซ่ึงขอ้ มลู เหล่านีส้ ามารถใช้
ร่วมกันได้ ผูใ้ ชข้ อ้ มลู ในระบบฐานขอ้ มลู จะมองภาพขอ้ มลู ในลกั ษณะท่ีแตกต่างกนั เช่น ผูใ้ ชบ้ างคนมอง
ภาพของขอ้ มลู ท่ีถกู จดั เก็บไวใ้ นส่ือเก็บขอ้ มลู จริง ( Physical Level ) ในขณะท่ีผูใ้ ชบ้ างคนมองภาพขอ้ มลู
จากการใชง้ านของผใู้ ช้ ( External Level )
4.บคุ ลากร ( People )
ผใู้ ชท้ ่วั ไป เป็นบคุ ลากรท่ีใชข้ อ้ มลู จากระบบฐานขอ้ มลู เพ่ือใหง้ านสาเรจ็ ลลุ ว่ งไดเ้ ช่นในระบบขอ้ มลู การจองต๋วั
เคร่อื งบิน
4
ผูใ้ ชท้ ่วั ไป คือ พนักงานจองต๋วั พนักงานปฏิบตั ิงาน ( Operating ) เป็นผูป้ ฏิบตั ิการดา้ นการประมวลผล
การปอ้ นขอ้ มลู ลงเครือ่ งคอมพิวเตอร์
นกั วเิ คราะหแ์ ละออกแบบระบบ ( System Analyst ) เป็นบคุ ลากรท่ีทาหนา้ ท่ีวเิ คราะหร์ ะบบฐานขอ้ มลู และ
ออกแบบระบบงานท่ีจะนามาใช้
ผเู้ ขียนโปรแกรมประยกุ ตใ์ ชง้ าน ( Programmer ) เป็นผทู้ าหนา้ ท่ีเขียนโปรแกรมประยกุ ตใ์ ชง้ านตา่ ง ๆ เพ่ือให้
การจดั เก็บการเรยี กใชข้ อ้ มลู เป็นไปตามความตอ้ งการของผใู้ ช้
ผู้บริหารงานฐานข้อมูล(Database Administrator :DBA ) เป็นบุคคลท่ีทาหน้าท่ีบริหารและควบคุมการ
บริหารงานของระบบฐานขอ้ มลู ทงั้ หมด เป็นผทู้ ่ีจะตอ้ งตดั สินใจว่าจะรวบรวมขอ้ มลู อะไรเขา้ ส่รู ะบบ จดั เก็บ
โดยวิธีใด เทคนิคการเรียกใชข้ อ้ มลู กาหนดระบบการรกั ษาความปลอดภยั ของขอ้ มลู การสรา้ งระบบขอ้ มลู
สารอง การกู้ และประสานงานกบั ผใู้ ชว้ า่ ตอ้ งการใชข้ อ้ มลู อยา่ งไร รวมถึงนกั วิเคราะหแ์ ละออกแบบระบบ และ
โปรแกรมเมอรป์ ระยกุ ตใ์ ชง้ าน เพ่ือใหก้ ารบรหิ ารการใชง้ านเป็นไปอย่างมีประสิทธิภาพ
5. ขนั้ ตอนการปฏิบตั งิ าน ( Procedures )
ในระบบฐานขอ้ มลู ควรมีการจดั ทาเอกสารท่ีระบขุ นั้ ตอนการทางานของหนา้ ท่กี ารงานตา่ งๆในระบบฐานขอ้ มลู
ในสภาวะปกติและในสภาวะท่ีระบบเกิดปัญหา( Failure)ซ่ึงเป็นขัน้ ตอนการปฏิบัติงานสาหรบั บุคลากรทุก
ระดบั ขององคก์ ร
หนว่ ยของขอ้ มลู
หนว่ ยของขอ้ มลู คอมพิวเตอรส์ ามารถจดั เรยี งเป็นลาดบั ชนั้ จากขนาดเลก็ ไปขนาดใหญ่ไดด้ งั นี้
- บิต (bit) เลขฐานสองหน่งึ หลกั ซง่ึ มคี า่ เป็น 0 หรอื 1
- ตัวอักษร (character) กลุ่มขอ้ บิตสามารถแทนค่าตัวอักษรได้ ในชุดอักขระASCII 1 ไบต์ (8 บิต) แทน 1
ตวั อกั ษร
- เขตขอ้ มลู (field) เขตขอ้ มลู ซง่ึ ประกอบดว้ ยกลมุ่ ตวั อกั ษรท่แี ทนขอ้ เทจ็ จรงิ
- ระเบียน (record) คือโครงสรา้ งขอ้ มลู ท่แี ทนตวั วตั ถชุ นิ้ หน่งึ เชน่ ระเบยี นนกั เรยี น
- แฟม้ (file) ตารางท่ีเป็นกลมุ่ ของระเบยี นท่ีมีโครงสรา้ งเดียวกนั
5
- ฐานขอ้ มลู (database) กลมุ่ ของตารางท่ีมีความสมั พนั ธก์ นั
หนว่ ยวดั ความจขุ องหน่วยความจาทางคอมพิวเตอร์
8 bits =1 Byte :B
1,024 Bytes =1 Kilo Byte : KB
1,024 KB = 1 Mega Byte : MB
1,024 MB = 1 Giga Byte : GB
1,024 GB = 1 Tera Byte : TB
หมายเหตุ Kilo = 210 = 1,024
ผู้จดั กำรฐำนขอ้ มูล (Database Administrator)
ผู้จัดการฐานข้อมูล (Database Administrator) : เป็นผู้ดูแลทั้งฐานข้อมูลและระบบจัดการ
ฐานขอ้ มลู มีหนา้ ท่ีรบั ผิดชอบดา้ นความปลอดภยั ของขอ้ มลู ประสานงานและตรวจสอบการใชง้ าน รวมทงั้
จดั หาและดแู ลรกั ษาอปุ กรณท์ งั้ ทางดา้ นฮารด์ แวรแ์ ละซอฟตแ์ วรซ์ ง่ึ บคุ ลากรเหลา่ นี้ ไดแ้ ก่
ผู้จดั กำรฐำนข้อมลู (Database Administrator)
เป็นผดู้ แู ลทงั้ ฐานขอ้ มลู และระบบจดั การฐานขอ้ มลู มีหนา้ ท่ีรบั ผิดชอบดา้ นความปลอดภยั ของ
ขอ้ มลู ประสานงานและตรวจสอบการใชง้ าน รวมทงั้ จดั หา และดแู ลรกั ษาอปุ กรณ์ ทงั้ ทางดา้ นฮารด์ แวร์ และ
ซอฟตแ์ วร์
นักออกแบบฐำนข้อมูล (Database Designer)
รบั ผดิ ชอบการกาหนดรูปแบบ และโครงสรา้ งของขอ้ มลู ท่ีจะนามาเก็บไวใ้ นระบบฐานขอ้ มลู งานนี้
มักจะตอ้ งทาก่อนการจัดเก็บฐานขอ้ มูล โดยนักออกแบบ จะตอ้ งสอบถามรายละเอียดต่างๆ ของขอ้ มูล ท่ี
ตอ้ งการจัดเก็บเป็นฐานขอ้ มลู จากกล่มุ ผูใ้ ช้ เพ่ือใหส้ ามารถเขา้ ใจความตอ้ งการไดอ้ ย่างถูกตอ้ ง แลว้ จึงนา
ขอ้ มลู เหลา่ นนั้ มาวเิ คราะห์ และออกแบบ ซง่ึ เม่ือออกแบบเรียบรอ้ ยแลว้ ก็ควรจะนาไปใหผ้ ใู้ ชต้ รวจสอบวา่ ตรง
กบั ความตอ้ งการของผใู้ ช้ และครบถว้ นหรอื ไม่ ถา้ ไม่ถกู ตอ้ ง หรือไม่ครบถว้ น ก็จะไดแ้ กไ้ ข ก่อนการพฒั นา เพ่ือ
นาไปใชง้ านจรงิ
6
กลุ่มผู้ใช้ (End Users)
คือ กล่มุ ผูท้ ่ีตอ้ งการเขา้ ถึงขอ้ มลู เพ่ือทาการดูขอ้ มลู ปรบั ปรุง ขอ้ มลู และจดั ทารายงานต่างๆ ท่ีเก่ียวขอ้ งกบั
ขอ้ มลู กลมุ่ ผใู้ ชแ้ บง่ ไดเ้ ป็น ๔ ประเภทดว้ ยกนั คอื
๑. ผใู้ ชแ้ บบแคสชวล (casual end users) ตอ้ งการใชข้ อ้ มลู ท่แี ตกตา่ งกนั ในแตล่ ะครงั้ ของการใชง้ าน
๒. ผูใ้ ชท้ ่ีทางานกับขอ้ มลู เหมือนๆ กันในทุกครงั้ (naive หรือ parametric end users) ตวั อย่างเช่น พนกั งาน
ของธนาคาร ท่ที าหนา้ ท่ีรบั ฝาก-ถอนเงิน
๓. กลุ่มผู้ใช้ท่ีต้องเข้าใช้รายละเอียดของข้อมูล ในส่วนโครงสรา้ งภายใน เช่น วิศวกร นักวิทยาศาสตร์
นกั วิเคราะหง์ าน เป็นตน้ (sophisticated end users) และ
๔. ผใู้ ช้ ท่ีใชฐ้ านขอ้ มลู สว่ นบคุ คล (stand-alone users) โดยใชโ้ ปรแกรมสาเรจ็ รูป ท่ีมีวิธีการทางานท่ีง่าย และ
สวยงาoนักวิเคราะห์ระบบและนักเขียนโปรแกรมประยุกต์ ( System analysts and Applica- tion
Programmers)เป็ นผู้รวบรวม วิเคราะห์ ออกแบบโปรแกรม ตามความต้องการของผู้ใช้ และเป็ น
ผพู้ ฒั นาโปรแกรม เพ่ือใหท้ างานตามความตอ้ งการของผใู้ ช้ บุคลากรทงั้ สองประเภท ควรจะมีความคนุ้ เคยกบั
ความสามารถของระบบ จดั การฐานขอ้ มลู ท่ีเลอื กใชเ้ ป็นอย่างดี
ผู้ออกแบบและพฒั นำระบบจัดกำรฐำนขอ้ มลู (DBMS Designers and Implementers)
เป็นกล่มุ บคุ คล ท่ีออกแบบ และพฒั นาซอฟตแ์ วร์ จดั การฐานขอ้ มลู ซ่งึ เป็นซอฟตแ์ วรข์ นาดใหญ่ และซบั ซอ้ น
ประกอบไปดว้ ยสว่ นสาคญั หลายส่วน เช่น สว่ นการสรา้ งพจนานกุ รมขอ้ มลู ภาษาในการดึงขอ้ มลู ส่วนติดต่อ
กบั ผใู้ ช้ สว่ นการเขา้ ถึงขอ้ มลู และสว่ นความปลอดภยั ของขอ้ มลู เป็นตน้ ซ่งึ กลมุ่ นีค้ ือ บรษิ ัทผผู้ ลิตซอฟตแ์ วรด์ ี
บเี อ็มเอส น่นั เอง
ผู้พฒั นำเคร่ืองมือ (Tool Developers) :
เคร่ืองมือ เป็นซอฟตแ์ วร์ ท่ีช่วยในการออกแบบ และใชง้ านระบบฐานขอ้ มลู อีกทงั้ ช่วยเพ่ิมประสิทธิภาพการ
ทางานใหส้ งู ขนึ้ และมกั จะจาหน่ายแยกจากระบบจดั การฐานขอ้ มลู
พนักงำนปฏบิ ัตกิ ำรและผู้ดแู ลระบบ (Operators and Maintenance Personnel)
7
เป็นกลมุ่ บคุ ลากรท่ีทาหนา้ ท่ีดแู ล และบารุงรกั ษา ทงั้ ฮารด์ แวร์ และซอฟตแ์ วรข์ องระบบฐานขอ้ มลู ในขณะใช้
งานจรงิ
โปรแกรมจดั กำรข้อมูล (Data Management Software)
โปรแกรมจัดการขอ้ มลู คือ โปรแกรมสาหรบั การสรา้ ง จัดการ และรวบรวมขอ้ มลู จากไฟลต์ ่างๆ
โดยมีเคร่ืองมืออานวยความสะดวกในการสรา้ งระบบสารสนเทศต่างๆ ได้ เพ่ือให้ข้อมูลถูกจัดเก็บในรูป
แฟม้ ขอ้ มลู
ปัจจุบัน ความตอ้ งการใชข้ อ้ มูลเพ่ิมขึน้ อย่างรวดเร็ว และเพ่ือใหไ้ ดข้ อ้ มูลท่ีทันต่อสถานการณ์
ปัจจุบันมากท่ีสุด จึงทาใหม้ ีการนาฐานขอ้ มูลมาประยุกตใ์ ชใ้ นส่วนงานต่างๆ เพ่ิมมากขึน้ เช่น Microsoft
Access, FoxPro, Clipper, dBase, FoxBASE, Oracle, Microsoft SQL Server, MySQL
8
ประโยชนจ์ ำกำรประมวลผลด้วยระบบฐำนข้อมูล
ในปัจจุบันองค์กรส่วนใหญ่หันมาให้ความสนใจกับระบบฐานข้อมูลกันมาก เน่ืองจากระบบ
ฐานขอ้ มลู มีประโยชนด์ งั ตอ่ ไปนี.้
1.ลดความซา้ ซอ้ นของขอ้ มลู
เน่ืองจากการใชง้ านระบบฐานขอ้ มลู นนั้ ตอ้ งมีการออกแบบฐานขอ้ มลู เพ่ือใหม้ ีความซา้ ซอ้ นของ
ขอ้ มลู นอ้ ยท่ีสดุ จุดประสงคห์ ลกั ของการออกแบบฐานขอ้ มลู เพ่ือการลดความซา้ ซอ้ น สาเหตุท่ีตอ้ งลดความ
ซา้ ซอ้ นเน่ืองจากความยากในการปรบั ปรุงขอ้ มลู กลา่ วคือถา้ เกบ็ ขอ้ มลู ซา้ ซอ้ นกนั หลายแหง่ เม่ือมีการปรบั ปรุง
ขอ้ มูลแลว้ ปรบั ปรุงขอ้ มูลไม่ครบทาใหข้ อ้ มูลเกิดความขัดแยง้ กันของขอ้ มูลตามมา และยงั เปลืองเนือ้ ท่ีการ
จดั เก็บขอ้ มลู ดว้ ยเน่ืองจากขอ้ มลู ชดุ เดียวกนั จดั เก็บซา้ กนั หลายแหง่ น่นั เอง
ถึงแมว้ ่าความซา้ ซอ้ นช่วยใหอ้ อกรายงานและตอบคาถามไดเ้ รว็ ขึน้ แต่ขอ้ มลู จะเกิดความขดั แยง้
กนั ในกรณีท่ีตอ้ งมีการปรบั ปรุงขอ้ มลู หลายแห่ง การออกรายงานจะทาไดเ้ ร็วเท่าใดนนั้ จึงไม่มีความหมายแต่
อย่างใด และเหตผุ ลท่ีสาคญั อีกประการหน่งึ คอื ปัญหาเร่ืองความขดั แยง้ กนั ของขอ้ มลู แกไ้ ขไม่ไดด้ ว้ ยฮารด์ แวร์
ขณะท่ีการออกรายงานชา้ นนั้ ใชค้ วามสามารถของฮารด์ แวรช์ ่วยได้
2.รกั ษาความถกู ตอ้ งของขอ้ มลู
เน่ืองจากระบบจดั การฐานขอ้ มลู สามารถตรวจสอบกฎบงั คบั ความถกู ตอ้ งของขอ้ มลู ใหไ้ ด้ โดยนา
กฎเหล่านนั้ มาไวท้ ่ีฐานขอ้ มลู ซ่ึงถือเป็นหนา้ ท่ีของระบบจัดการฐานขอ้ มลู ท่ีจะจดั การเร่ืองความถูกตอ้ งของ
ขอ้ มลู ใหแ้ ทน แต่ถา้ เป็นระบบแฟ้มขอ้ มลู ผพู้ ฒั นาโปรแกรมตอ้ งเขียนโปรแกรมเพ่ือควบคมุ กฎระเบียบต่าง ๆ
((dataintegrity) เองทงั้ หมด ถา้ เขียนโปรแกรมครอบคลมุ กฎระเบียบใดไม่ครบหรือขาดหายไปบางกฎอาจทา
ใหข้ อ้ มูลผิดพลาดได้ และยังช่วยลดค่าใชจ้ ่ายในการบารุงรกั ษาและพัฒนาโปรแกรมดว้ ย เน่ืองจากระบบ
จดั การฐานขอ้ มลู จดั การใหน้ ่นั เอง เน่ืองจากระบบจดั การฐานขอ้ มลู สามารถรองรบั การใชง้ านของผใู้ ชห้ ลายคน
พรอ้ มกันได้ ดังนั้นความคงสภาพและความถูกตอ้ งของข้อมูลจึงมีความสาคัญมากและตอ้ งควบคุมใหด้ ี
เน่ืองจากผใู้ ชอ้ าจเปล่ียนแปลงแกไ้ ขขอ้ มลู ได้ ซ่งึ จะทาใหเ้ กิดความผิดพลาดกระทบต่อการใชข้ อ้ มลู ของผใู้ ชอ้ ่ืน
ทงั้ หมดได้ ดงั นนั้ ประโยชนข์ องระบบฐานขอ้ มลู ในเรอ่ื งนีจ้ งึ มีความสาคญั มาก
9
3. มีความเป็นอสิ ระของขอ้ มลู
เน่ืองจากมีแนวคิดท่ีวา่ ทาอยา่ งไรใหโ้ ปรแกรมเป็นอิสระจากการเปล่ยี นแปลงโครงสรา้ งขอ้ มลู ในปัจจบุ นั นีถ้ า้ ไม่
ใชร้ ะบบฐานขอ้ มลู การแกไ้ ขโครงสรา้ งขอ้ มลู จะกระทบถึงโปรแกรมดว้ ย เน่ืองจากในการเรยี กใชข้ อ้ มลู ท่เี ก็บอยู่
ในระบบแฟ้มขอ้ มูลนัน้ ตอ้ งใชโ้ ปรแกรมท่ีเขียนขึน้ เพ่ือเรียกใชข้ อ้ มูลในแฟ้มขอ้ มูลนั้นโดยเฉพาะ เช่น เม่ือ
ตอ้ งการรายช่ือพนกั งานท่ีมีเงินเดือนมากกว่า 100,000 บาทต่อเดือน โปรแกรมเมอรต์ อ้ งเขียนโปรแกรมเพ่ือ
อ่านขอ้ มลู จากแฟ้มขอ้ มลู พนกั งานและพิมพร์ ายงานท่ีแสดงเฉพาะขอ้ มลู ท่ีตรงตามเง่ือนไขท่ีกาหนด กรณีท่ีมี
การเปล่ียนแปลงโครงสรา้ งของแฟ้มขอ้ มูลขอ้ มูลเช่น ใหม้ ีดัชนี (index) ตามช่ือพนักงานแทนรหสั พนักงาน
ส่งผลใหร้ ายงานท่ีแสดงรายช่ือพนกั งานท่ีมีเงินเดือนมากกวา่ 100,000 บาทต่อเดือนซ่งึ แต่เดิมกาหนดใหเ้ รยี ง
ตามรหัสพนักงานนั้นไม่สามารถพิมพ์ได้ ทาให้ต้องมีการแก้ไขโปรแกรมตามโครงสรา้ งดัชนี ( index) ท่ี
เปล่ียนแปลงไปลกั ษณะแบบนีเ้ รยี กวา่ ขอ้ มลู และโปรแกรมไม่เป็นอิสระตอ่ กนั สาหรบั ระบบฐานขอ้ มลู นนั้ ขอ้ มลู
ภายในฐานข้อมูลจะเป็นอิสระจากโปรแกรมท่ีเรียกใช้(dataindependence) สามารถแก้ไขโครงสรา้ งทาง
กายภาพของขอ้ มลู ได้ โดยไม่กระทบต่อโปรแกรมท่ีเรียกใชข้ อ้ มลู จากฐานขอ้ มลู เน่ืองจากระบบฐานขอ้ มลู มี
ระบบจดั การฐานขอ้ มลู ทาหนา้ ท่ีแปลงรูป (mapping) ใหเ้ ป็นไปตามรูปแบบท่ีผใู้ ชต้ อ้ งการ เน่ืองจากในระบบ
แฟ้มขอ้ มลู นนั้ ไม่มีความเป็นอิสระของขอ้ มลู ดงั นนั้ ระบบฐานขอ้ มลู ไดถ้ กู พฒั นาขนึ้ มาเพ่ือแกป้ ัญหาดา้ นความ
เป็นอิสระของขอ้ มูล น่ันคือระบบฐานขอ้ มูลมีการทางานไม่ขึน้ กับรูปแบบของฮารด์ แวรท์ ่ีนามาใชก้ ับระบบ
ฐานขอ้ มลู และไม่ขึน้ กบั โครงสรา้ งทางกายภาพของขอ้ มลู และมีการใชภ้ าษาสอบถามในการติดต่อกบั ขอ้ มลู
ภายในฐานขอ้ มูลแทนคาส่งั ของภาษาคอมพิวเตอรใ์ นยุคท่ี 3 ทาใหผ้ ูใ้ ชเ้ รียกใชข้ อ้ มูลจากฐานขอ้ มลู โดยไม่
จาเป็นตอ้ งทราบรูปแบบการจดั เก็บขอ้ มลู ประเภทหรอื ขนาดของขอ้ มลู นนั้ ๆ
4. มีความปลอดภยั ของขอ้ มลู สงู
ถา้ หากทุกคนสามารถเรียกดูและเปล่ียนแปลงขอ้ มลู ในฐานขอ้ มลู ทงั้ หมดได้ อาจก่อใหเ้ กิดความเสียหายต่อ
ขอ้ มลู ได้ และขอ้ มลู บางสว่ นอาจเป็นขอ้ มลู ท่ีไม่อาจเปิดเผยไดห้ รือเป็นขอ้ มลู เฉพาะของผบู้ ริหาร หากไม่มีการ
จดั การดา้ นความปลอดภยั ของขอ้ มลู ฐานขอ้ มลู ก็จะไม่สามารถใชเ้ ก็บขอ้ มลู บางสว่ นได้ระบบฐานขอ้ มลู ส่วน
ใหญ่จะมีการรกั ษาความปลอดภยั ของขอ้ มลู ดงั นี้
10
· มีรหสั ผใู้ ช้ (user) และรหสั ผ่าน (password) ในการเขา้ ใชง้ านฐานขอ้ มลู สาหรบั ผใู้ ชแ้ ต่ละคนระบบฐานขอ้ มลู
มีระบบการสอบถามช่ือพรอ้ มรหัสผ่านของผูเ้ ขา้ มาใชร้ ะบบงานเพ่ือใหท้ างานในส่วนท่ีเก่ียวขอ้ งเท่านนั้ โดย
ปอ้ งกนั ไมใ่ หผ้ ทู้ ่ีไม่ไดร้ บั อนญุ าตเขา้ มาเห็นหรอื แกไ้ ขขอ้ มลู ในสว่ นท่ตี อ้ งการปกปอ้ งไว้
· ในระบบฐานขอ้ มลู สามารถสรา้ งและจดั การตารางขอ้ มลู ทงั้ หมดในฐานขอ้ มลู ทงั้ การเพ่ิมผใู้ ชร้ ะงบั การใชง้ าน
ของผใู้ ช้ อนญุ าตใหผ้ ใู้ ชส้ ามารถเรยี กดู เพ่ิมเติม ลบและแกไ้ ขขอ้ มลู หรือบางสว่ นของขอ้ มลู ไดใ้ นตารางท่ีไดร้ บั
อนญุ าต) ระบบฐานขอ้ มลู สามารถกาหนดสิทธิการมองเห็นและการใชง้ านของผใู้ ชต้ ่างๆ ตามระดบั สิทธิและ
อานาจการใชง้ านขอ้ มลู นนั้ ๆ
· ในระบบฐานขอ้ มลู (DBA) สามารถใชว้ ิว (view) เพ่ือประโยชนใ์ นการรกั ษาความปลอดภยั ของขอ้ มลู ไดเ้ ป็น
อย่างดี โดยการสรา้ งวิวท่ีเสมือนเป็นตารางของผใู้ ชจ้ รงิ ๆ และขอ้ มลู ท่ีปรากฏในวิวจะเป็นขอ้ มลู ท่ีเก่ียวขอ้ งกบั
งานของผใู้ ชเ้ ท่านนั้ ซง่ึ จะไมก่ ระทบกบั ขอ้ มลู จรงิ ในฐานขอ้ มลู
· ระบบฐานขอ้ มลู จะไม่ยอมใหโ้ ปรแกรมใดๆ เขา้ ถึงขอ้ มลู ในระดบั กายภาพ (physical) โดยไม่ผ่าน ระบบการ
จัดการฐานขอ้ มูล และถา้ ระบบเกิดความเสียหายขึน้ ระบบจัดการฐานขอ้ มูลรบั รองไดว้ ่าขอ้ มูลท่ี ยืนยันการ
ทางานสาเรจ็ (commit) แลว้ จะไม่สญู หาย และถา้ กลมุ่ งานท่ียงั ไมส่ าเรจ็ (rollback) นนั้ ระบบจดั การฐานขอ้ มลู
รบั รองไดว้ า่ ขอ้ มลู เดมิ ก่อนการทางานของกลมุ่ งานยงั ไมส่ ญู หาย
· มีการเขา้ รหสั และถอดรหสั (encryption/decryption) เพ่ือปกปิดขอ้ มลู แก่ผทู้ ่ีไม่เก่ียวขอ้ ง เช่นมีการเขา้ รหสั
ขอ้ มลู รหสั ผ่าน
5. ใชข้ อ้ มลู รว่ มกนั โดยมกี ารควบคมุ จากศนู ยก์ ลาง
มีการควบคุมการใชข้ อ้ มูลในฐานขอ้ มูลจากศูนยก์ ลาง ระบบฐานขอ้ มูลสามารถรองรบั การทางานของผูใ้ ช้
หลายคนได้ กลา่ วคือระบบฐานขอ้ มลู จะตอ้ งควบคมุ ลาดบั การทางานใหเ้ ป็นไปอย่างถกู ตอ้ ง เช่นขณะท่ผี ใู้ ช้คน
หน่ึงกาลงั แกไ้ ขขอ้ มลู ส่วนหน่ึงยงั ไม่เสร็จ ก็จะไม่อนุญาตใหผ้ ูใ้ ชค้ นอ่ืนเขา้ มาเปล่ียนแปลงแกไ้ ขขอ้ มลู นัน้ ได้
เน่ืองจากขอ้ มลู ท่ีเขา้ มายงั ระบบฐานขอ้ มลู จะถกู นาเขา้ โดยระบบงานระดบั ปฏิบตั ิการตามหน่วยงานย่อยของ
องคก์ ร ซ่ึงในแต่ละหน่วยงานจะมีสิทธิในการจัดการขอ้ มูลไม่เท่ากัน ระบบฐานขอ้ มูลจะทาการจัดการว่า
หน่วยงานใดใชร้ ะบบจดั การฐานขอ้ มลู ในระดบั ใดบา้ ง ใครเป็นผนู้ าขอ้ มลู เขา้ ใครมีสิทธิแกไ้ ขขอ้ มลู และใครมี
สิทธิเพียงเรยี กใชข้ อ้ มลู เพ่ือท่จี ะใหส้ ิทธิท่ถี กู ตอ้ งบนตารางท่ีสมควรใหใ้ ช้
11
ระบบฐานขอ้ มลู จะบอกรายละเอียดว่าขอ้ มลู ใดถูกจัดเก็บไวใ้ นตารางช่ืออะไร เม่ือมีคาถามจากผูบ้ ริหารจะ
สามารถหาขอ้ มลู เพ่ือตอบคาถามไดท้ นั ทีโดยใชภ้ าษาฐานขอ้ มลู ท่ีมีประสิทธิภาพมาก คือ SQL ซ่ึงสามารถ
ตอบคาถามท่ีเกิดขึน้ ในขณะใดขณะหน่ึงท่ีเก่ียวข้องกับฐานข้อมูลไดท้ ันที โดยไม่จาเป็นตอ้ งเขียนภาษา
โปรแกรมอย่างเช่น โคบอล ซี หรือ ปาสคาล ซ่ึงเสียเวลานานมากจนอาจไม่ทนั ต่อความตอ้ งการใชข้ อ้ มลู เพ่ือ
การตดั สินใจของผบู้ รหิ าร
เน่ืองจากระบบจดั การฐานขอ้ มลู นนั้ สามารถจัดการใหผ้ ูใ้ ชท้ างานพรอ้ มๆ กันไดห้ ลายคน ดังนัน้ โปรแกรมท่ี
พัฒนาภายใตก้ ารดูแลของระบบจัดการฐานขอ้ มูลจะสามารถใชข้ อ้ มูลร่วมกันในฐานขอ้ มูลเดียวกันระบบ
ฐานขอ้ มูลจะแบ่งเบาภาระในการพฒั นาระบบงานถา้ การพฒั นาระบบงานไม่ใชร้ ะบบฐานขอ้ มลู (ใชร้ ะบบ
แฟม้ ขอ้ มลู ) ผพู้ ฒั นาโปรแกรมจะตอ้ งจดั การสง่ิ เหลา่ นีเ้ องทงั้ หมด น่นั คอื ระบบฐานขอ้ มลู ทาใหก้ ารใชข้ อ้ มลู เกิด
ความเป็นอิสระระหว่างการจดั เก็บขอ้ มลู และการประยกุ ตใ์ ช้ เพราะส่วนของการจดั เก็บขอ้ มลู จรงิ ถกู ซ่อนจาก
การใชง้ านจรงิ น่นั เอง
12
รูปแบบของฐำนข้อมลู
ฐานข้อมูลโดยท่ัวไปจะถูกสรา้ งให้มีโครงสรา้ งท่ีง่ายต่อความเข้าใจและการใช้งานของผู้ใช้
โดยท่วั ไปแลว้ ฐานขอ้ มลู ท่ีมีใชอ้ ย่ใู นปัจจบุ นั จะมีโครงสรา้ ง 3 แบบดว้ ยกนั คอื ฐานขอ้ มลู แบบเชิง สมั พนั ธแ์ บบ
ลาดบั ขนั้ และแบบเครือข่าย ระบบฐานขอ้ มลู จะมีการเรียกใชข้ อ้ มลู โดยผูใ้ ชห้ ลายกล่มุ ขอ้ มลู ท่ีผูใ้ ชส้ ามารถ
เรียกใชไ้ ดม้ ีการแบ่งระดบั ของขอ้ มลู ออกเป็นระดบั ต่างๆ เพ่ือใหก้ ารใชข้ อ้ มลู ของ ผูใ้ ชเ้ ป็นไปอย่างเหมาะสม
โดยมีระบบจัดการฐานขอ้ มลู ทาหนา้ ท่ีเช่ือมขอ้ มูลระหว่างข้อมูลในระดับ ต่างๆ เพ่ือใหก้ ารเรียกใชข้ อ้ มูลมี
ประสิทธิภาพ ซง่ึ มีรายละเอยี ด ดงั นี้
1. ศพั ทพ์ ืน้ ฐานของฐานขอ้ มลู
เอนทิตี้ (Entity) หรือ ตาราง (Table) หรือ รีเลช่ัน (Relation) คือ การรวบรวมขอ้ มลู จดั เก็บ ในรูปของตาราง 2
มิติ
แอททรบิ วิ ต์ (Attribute) คือ รายละเอยี ดของขอ้ มลู ในเอนทติ ี้ เป็นช่อื เขตขอ้ มลู หรอื ฟิลด(์ Field)
ความสมั พนั ธ์ (Relationship) คือ ความสมั พนั ธร์ ะหวา่ งเอนทิตี้ (Entity)
ทเู พลิ (Tuple) คอื ค่าของขอ้ มลู ในแตล่ ะแถว (Row) หรอื ท่เี รียกวา่ เรคอรด์ (Record) คารด์ นิ าลติ ี้
(Cardinality) คือ จานวนแถวของขอ้ มลู ในแตล่ ะรเี ลช่นั หรอื จานวนเรคอรด์ ใน
คียห์ ลกั (Primary Key) หรอื คา่ เอกลกั ษณ์ (Unique Identifier) คอื แอททรบิ วิ ตท์ ่ีมีค่าของ
โดเมน (Domain) คอื ขอบเขตของคา่ ของขอ้ มลู ท่ีควรจะเป็นในแต่ละแอททรบิ ิวต์ ฐานขอ้ มลู น่นั เองขอ้ มลู ไมซ่ ่า
ๆ กนั ในแตล่ ะทเู พิล
2. เคา้ รา่ งของฐานขอ้ มลู (Database Schema)
ในการออกแบบฐานขอ้ มลู ตอ้ งระบชุ ่ือของเอนทิตี้ และรายละเอียดของแต่ละเอนทติ ีป้ ระกอบดว้ ย
แอททริบิวตอ์ ะไรบา้ ง มีลกั ษณะความสมั พนั ธข์ องขอ้ มลู ในเอนทิตีอ้ ย่างไร ซ่ึงรายละเอียดของ โครงสรา้ งของ
ฐานขอ้ มลู นีเ้ รยี กวา่ เคา้ รา่ งของฐานขอ้ มลู (Database Schema) สว่ นขอ้ มลู ท่ีถกู บนั ทกึ ลงในฐานขอ้ มลู เรยี กวา่
อนิ สแตนซ์ (Instance หรอื Occurrence) แสดงดงั ตารางท่ี 2.1
Schema หมายถงึ โครงสรา้ งขอ้ มลู หรอื นยิ ามขอ้ มลู
13
Instance หมายถึง เนือ้ ขอ้ มลู ท่ีเก็บอย่ใู นโครงสรา้ งขอ้ มลู
ตารางท่ี 2.1 แสดงโครงสรา้ งของขอ้ มลู พนกั งานบรษิ ัทแหง่ หนง่ึ
จากตวั อย่างตารางท่ี 2.1 สามารถอธิบายโครงสรา้ งของขอ้ มลู ไดด้ งั นี้
เคา้ รา่ งของฐานขอ้ มลู (Database Schema) คอื รหสั พนกั งาน, ช่ือพนกั งาน, ตาแหน่ง, แผนก, วฒุ ิการศกึ ษา
เนือ้ ขอ้ มลู (Instance) คอื 55001, นางสาวสดุ สวย รกั งาน, ผจู้ ดั การท่วั ไป, การตลาด, ปรญิ ญาตรี
เม่ือมีการเรียกใช้หรือแก้ไขข้อมูลจะทาให้ค่าของข้อมูล(Instance) มีการเปล่ียนแปลงได้
ตลอดเวลาส่วนเคา้ รา่ งท่ีไดจ้ ากการออกแบบฐานขอ้ มลู (Database Schema) ไม่ควรมีการ เปล่ียนแปลง ถา้ มี
การเปล่ียนแปลงก็ไม่ควรใหเ้ กดิ ขนึ้ บอ่ ยครงั้
3. ความสมั พนั ธร์ ะหวา่ งเอนทติ ี้
การสรา้ งความสัมพันธ์ระหว่างเอนทิตีใ้ นฐานข้อมูลเชิงสัมพันธ์กระทาได้ โดยการกาหนดให้เอนทิตีท้ ่ีมี
ความสมั พนั ธก์ นั มีแอททรบิ ิวตท์ ่ีเหมอื นกนั และใชค้ า่ ของแอททรบิ ิวตท์ ่เี หมอื นกนั เป็นตวั ระบขุ อ้ มลู ในเอนทติ ีท้ ่ี
มีความสมั พนั ธก์ นั ความสมั พนั ธร์ ะหวา่ งเอนทิตี้ แบง่ ออกเป็น 3 ประเภท ดงั นี้
3.1 ความสมั พนั ธแ์ บบหนง่ึ ตอ่ หน่งึ (One-to-one Relationship)
เป็นการแสดงความสมั พนั ธข์ องขอ้ มลู ในเอนทิตีห้ น่ึง ว่ามีความสมั พนั ธก์ บั ขอ้ มลู ของอีก เอนทิตี้
หนง่ึ ในลกั ษณะท่ีเป็นหนง่ึ ตอ่ หน่งึ เชน่
ความสมั พนั ธข์ องประชาชนกบั หมายเลขรหสั ประจาตวั ประชาชน ซ่ึงประชาชน 1 คน จะตอ้ งมี
หมายเลขรหสั ประจาตวั ประชาชน 1 หมายเลข ซง่ึ ไมช่ า้ กนั
นักศึกษากับรหสั ประจาตัวนักศึกษา นักศึกษาแต่ละคนก็จะมีรหสั ประจาตัวนักศึกษาไม่ ซา้ กัน
รถยนตก์ บั ทะเบียนรถยนตก์ ็เช่นกนั รถยนตแ์ ต่ละคนั ก็จะมีหมายเลขทะเบียนไม่ชา้ กนั จงึ มี ความสมั พนั ธแ์ บบ
หน่งึ ต่อหน่งึ แสดงดงั รูปท่ี 2.1
14
3.2 ความสมั พนั ธแ์ บบหน่งึ ตอ่ กลมุ่ (One-to-many Relationship)
เป็นการแสดงความสมั พนั ธข์ องขอ้ มลู ของเอนทติ หี้ น่ึง วา่ มีความสมั พนั ธก์ บั ขอ้ มลู หลาย ขอ้ มลู กบั
อีกเอนทิตีห้ น่ึง เช่น ความสมั พนั ธข์ อง แผนกกบั พนกั งาน ซ่งึ แผนกแต่ละแผนกจะประกอบไปดว้ ยพนกั งาน ท่ี
สงั กดั อย่ใู นแผนกหลายคน ความสมั พนั ธข์ องโรงเรยี นกบั นกั เรยี น โรงเรียน 1 โรงเรยี น มีนกั เรียนหลายคนเรยี น
อยู่ ในโรงเรยี น จงึ มีความสมั พนั ธแ์ บบหน่งึ ตอ่ กลมุ่ แสดงดงั รูปท่ี 2.2
3.3 ความสมั พนั ธแ์ บบกลมุ่ ตอ่ กลมุ่ (Many-to-many Relationship)
เป็นการแสดงความสมั พนั ธข์ องขอ้ มลู ของ 2 เอนทิตี้ ในลกั ษณะแบบกลมุ่ ตอ่ กลมุ่ เชน่
ความสัมพันธ์ของนักศึกษากับรายวิชา นักศึกษาหลายคน อาจลงทะเบียนเรียนไดห้ ลาย รายวิชาในการ
ลงทะเบียนเรียนแต่ละภาคเรียน และอาจมีลงทะเบียนเรียนหลายครงั้ จึงมี ความสมั พนั ธ์แบบกล่มุ ต่อกล่มุ
ความสมั พนั ธข์ องลกู คา้ /การส่งั ซือ้ กบั สนิ คา้ ลกู คา้ หลายคน อาจซือ้ สินคา้ ไดห้ ลายชนดิ ในการซือ้ แต่ละครงั้ และ
อาจมีการส่งั ซือ้ หลายครงั้ จงึ มีความสมั พนั ธแ์ บบกลมุ่ ต่อกลมุ่ ท่ี 2.3 แสดงดงั รูป
15
4. ระดบั ของขอ้ มลู
ระบบฐานขอ้ มลู เป็นการนาขอ้ มลู ท่ีเก่ียวขอ้ งกนั มารวมกนั ไวใ้ นระบบเดียวกนั เพ่ือใหผ้ ใู้ ช้สามารถ
ใชข้ อ้ มลู ท่ีอย่ใู นฐานขอ้ มลู เดียวกนั ผูใ้ ชแ้ ต่ละคนจะมองขอ้ มลู ในแง่มมุ หรือวิว(View) ท่ี ต่างกัน ผูใ้ ชบ้ างคน
อาจตอ้ งเรยี กใชข้ อ้ มลู ทงั้ แฟ้มขอ้ มลู บางคนอาจตอ้ งการเรยี กใชข้ อ้ มลู เพียง บางสว่ นของแฟ้มขอ้ มลู โดยผใู้ ชไ้ ม่
จาเป็นตอ้ งสนใจวา่ การจดั เก็บขอ้ มลู ท่ีแทจ้ รงิ จะเป็นอย่างไร ดงั นนั้ การเลือกใชว้ ิธีจดั เก็บขอ้ มลู ท่ีเหมาะสม จึง
เป็นสว่ นท่ีทาใหก้ ารเรยี กใชข้ อ้ มลู เกิดประสิทธิภาพ
ระบบฐานขอ้ มูลมีการเรียกใชโ้ ดยผูใ้ ชห้ ลายกล่มุ ขอ้ มลู ท่ีผูใ้ ชส้ ามารถเรียกใชไ้ ดม้ ีการแบ่งระดบั ของขอ้ มลู
ออกเป็นระดบั ตา่ งๆ เพ่ือใหก้ ารใชข้ อ้ มลู ของผใู้ ชเ้ ป็นไปอยา่ งเหมาะสม แบง่ เป็น 3 ระดบั ดงั นี้
4.1 ระดบั ภายนอกหรอื ววิ (External Level หรอื View).
เป็นระดบั ของขอ้ มลู ท่ีอยสู่ งู ท่ีสดุ ประกอบไปดว้ ยภาพท่ีผใู้ ชแ้ ตล่ ะคนมองขอ้ มลู (View) เคา้ รา่ งของขอ้ มลู ระดบั
นีเ้ กดิ จากความตอ้ งการขอ้ มลู ของผใู้ ช้
4.2 ระดบั แนวคิด (Conceptual Level).
เป็นระดับของข้อมูลท่ีอยู่ถัดลงมา อธิบายถึงฐานข้อมูลว่าประกอบด้วยเอนทิตี้ โครงสร้างของข้อมูล
ความสมั พนั ธข์ องขอ้ มลู กฎเกณฑแ์ ละขอ้ จากดั ต่างๆ อย่างไร ขอ้ มลู ในระดบั นี้ เป็นขอ้ มลู ท่ีผ่านการวิเคราะห์
และออกแบบโดยผบู้ ริหารฐานขอ้ มลู (DBA) หรือนกั วิเคราะห์ และ ออกแบบฐานขอ้ มลู เป็นระดบั ของขอ้ มลู ท่ี
ถกู ออกแบบเพ่ือใหผ้ ใู้ ชข้ อ้ มลู ในระดบั ภายนอกสามารถ เรยี กใชข้ อ้ มลู ได้
4.3 ระดบั ภายใน (Internal level หรอื Physical Level)
16
เป็นระดับของขอ้ มูลท่ีอยู่ล่างสุด ซ่ึงขอ้ มลู จะถูกเก็บอยู่จริงในส่ือบนั ทึกขอ้ มูลมีโครงสรา้ ง การจัดเก็บข้อมูล
รวมถึงการเขา้ ถึงขอ้ มลู ตา่ งๆ ในฐานขอ้ มลู เพ่ือดงึ ขอ้ มลู ท่ีตอ้ งการ แสดงดงั รูป ท่ี 2.4
จากรูปท่ี 2.4 แสดงใหเ้ ห็นว่าฐานขอ้ มลู จะประกอบดว้ ยเคา้ รา่ งภายใน 1 ตวั เคา้ รา่ งแนวคิด 1 ตวั และเคา้ รา่ ง
ภายนอกไดห้ ลายๆ ตวั
5. รูปแบบของฐานขอ้ มลู
ขอ้ มลู ในฐานขอ้ มลู โดยท่วั ไปจะถกู สรา้ งใหม้ ีโครงสรา้ งที่งา่ ยต่อความเขา้ ใจและการใชง้ านของผใู้ ช้
โดยท่วั ไปแลว้ ฐานขอ้ มลู ท่มี ีใชอ้ ย่ใู นปัจจบุ นั มี 3 รูปแบบดว้ ยกนั ดงั นี้
5.1 ฐานขอ้ มลู แบบเชิงสมั พนั ธ์ (Relational Database)
ฐานขอ้ มลู แบบเชิงสมั พนั ธ์ ประกอบดว้ ยกล่มุ ของเอนทิตีท้ ่ีมีความสมั พนั ธก์ นั โดยขอ้ มลู ของแต่
ละเอนทิตีจ้ ะถูกจดั เก็บขอ้ มลู ในรูปแบบของตาราง 2 มิติ ในแนวแถว (Row) และแนวคอลมั น์ (Column) โดย
บรรทดั แรกของตารางคือ ช่ือแอททรบิ วิ ต์ แสดงดงั รูปท่ี 2.5
17
ในการเช่ือมโยงขอ้ มลู ระหว่างตาราง จะเช่ือมโยงโดยใชแ้ อททริบิวตท์ ่ีมีอยู่ในทัง้ สองตารางเป็น ตวั เช่ือมโยง
ขอ้ มูลกัน ฐานขอ้ มูลเชิงสัมพันธ์เป็นรูปแบบท่ีง่าย และนิยมใชใ้ นปัจจุบัน ตัวอย่าง รูปแบบฐานขอ้ มูลเชิง
สมั พนั ธข์ องพนกั งานบริษัทแห่งหน่ึง ประกอบดว้ ย 3 ตาราง แสดงดงั ตาราง ท่ี 2.2 ตารางท่ี 2.3 และตารางท่ี
2.4
18
5.2 ฐำนขอ้ มูลแบบลำดบั ขั้น (Hierarchical Database)
เป็นฐานขอ้ มลู ท่ีนาเสนอขอ้ มลู และความสมั พนั ธร์ ะหว่างขอ้ มลู ในรูปแบบของ โครงสรา้ งตน้ ไม้
(Tree Structure) เป็นโครงสรา้ งลักษณะคลา้ ยตน้ ไมเ้ ป็นลาดับขั้น ซ่ึงแตกออกเป็น ก่ิงกา้ นสาขา ผูท้ ่ีคิดคน้
ฐานขอ้ มูลแบบนี้ คือ North American Rockwell โดยใชแ้ นวความคิดของ โปรแกรม Generalized Update
Access Method (GUAM)
19
โครงสรา้ งของฐานขอ้ มลู แบบลาดบั ขนั้ จะมีโครงสรา้ งของขอ้ มลู เป็นลกั ษณะ ความสมั พนั ธแ์ บบ
พอ่ ลกู คอื พอ่ (Parent) 1 คนมีลกู (Child) ไดห้ ลายคน แตล่ กู มพี อ่ ไดค้ นเดียว (ความสมั พนั ธแ์ บบ 1 ตอ่ n) หรอื
แบบพ่อคนเดียวมีลูก 1 คน (ความสมั พนั ธแ์ บบ 1 ต่อ 1) ซ่ึงจดั แยก ออกเป็นลาดบั ขนั้ โดยระดบั ขนั้ ท่ี 1 จะมี
เพียงแฟ้มขอ้ มลู เดียว คือ พ่อ ในระดบั ขั้นท่ี 2 และระดบั ขนั้ ท่ี 3 จะมีก่ีแฟ้มขอ้ มลู ก็ได้ โดยในโครงสรา้ งขอ้ มลู
แบบลาดบั ขนั้ แต่ละกรอบจะมีตวั ชี้ (Pointers) หรอื หวั ลกู ศรว่งิ เขา้ หาไดไ้ ม่เกิน 1 หวั
กฎควบคมุ ความถกู ตอ้ ง คือ เรคอรด์ พ่อสามารถมีเรคอรด์ ลกู ไดห้ ลายเรคอรด์ แต่เรคอรด์ ลกู แต่ละเรคอรด์ จะ
มีเรคอรด์ พอ่ ไดเ้ พยี งเรคอรด์ เดียวเท่านนั้
ตวั อย่าง รา้ นขายเคร่อื งใชไ้ ฟฟา้ ในการขายสนิ คา้ พนกั งานขายสามารถขายสินคา้ ใหแ้ ก่ ลกู คา้ ไดห้ ลายคน แต่
ลกู คา้ แต่ละคนตอ้ งซือ้ สินคา้ กบั พนกั งาน 1 คน แต่ก็สามารถซือ้ สินคา้ ได้ มากกว่า 1 อย่างขึ้นไป แสดงดงั รูปท่ี
2.6 และรูปท่ี 2.7
20
กฎควบคมุ ความถูกตอ้ ง คือ เรคอรด์ พ่อสามารถมีเรคอรด์ ลกู ไดห้ ลายเรคอรด์ แต่เรคอรด์ ลกู แต่
ละเรคอรด์ จะมีเรคอรด์ พอ่ ไดเ้ พียงเรคอรด์ เดยี วเทา่ นนั้
ตวั อย่าง รา้ นขายเคร่อื งใชไ้ ฟฟ้า ในการขายสินคา้ พนกั งานขายสามารถขายสินคา้ ใหแ้ ก่ ลกู คา้ ได้
หลายคน แต่ลกู คา้ แต่ละคนตอ้ งซือ้ สินคา้ กบั พนกั งาน 1 คน แต่ก็สามารถซือ้ สินคา้ ได้ มากกว่า 1 อย่างขึ้นไป
แสดงดงั รูปท่ี 2.6 และรูปท่ี 2.7
- เหมาะสาหรบั งานท่ีตอ้ งการคน้ หาขอ้ มลู แบบมีเง่ือนไขเป็นระดบั และออกรายงานแบบ เรียงลาดบั ตอ่ เน่ือง
- ปอ้ งกนั ระบบความลบั ของขอ้ มลู ไดด้ เี น่ืองจากตอ้ งอา่ นแฟม้ ขอ้ มลู ท่ีเป็นตน้ กาเนดิ ก่อน
ขอ้ จากดั ของรูปแบบฐานขอ้ มลู แบบลาดบั ขนั้
- มีโอกาสเกดิ ความซา้ ซอ้ นมากท่ีสดุ เม่ือเทยี บกบั ฐานขอ้ มลู แบบโครงสรา้ งอ่ืน
- ขาดความสมั พนั ธร์ ะหวา่ งแฟ้มขอ้ มลู ในรูปเครอื ข่าย
- มีความคลอ่ งตวั นอ้ ยกวา่ โครงสรา้ งแบบอ่ืนๆเพราะการเรียกใชข้ อ้ มลู ตอ้ งผ่านทางตน้ กาเนิด (root) เสมอ ถา้
ตอ้ งการคน้ หาขอ้ มลู ซง่ึ ปรากฏในระดบั ลา่ งๆ แลว้ จะตอ้ งคน้ หา ทัง้ แฟ้ม
5.3 ฐานขอ้ มลู แบบเครือขา่ ย (Network Database)
โครงสรา้ งของขอ้ มลู แต่ละแฟ้มขอ้ มลู มีความสมั พนั ธค์ ลา้ ยรา่ งแห โดยมีลกั ษณะ โครงสรา้ งคลา้ ย
กับโครงสรา้ งแบบลาดับขั้น แตกต่างกันตรงท่ีโครงสรา้ งแบบเครือข่ายสามารถมี ตน้ กาเนิดของขอ้ มูลได้
มากกว่า 1 เรคอรด์ การออกแบบลกั ษณะของฐานขอ้ มูลแบบเครือข่ายทาให้ สะดวกในการคน้ หามากกว่า
ลกั ษณะฐานขอ้ มลู แบบลาดบั ขนั้ เพราะไม่ตอ้ งไปเร่ิมคน้ หาตงั้ แต่ขอ้ มลู ตน้ กาเนิดโดยทางเดียว ขอ้ มลู แต่ละ
กลมุ่ จะเช่ือมโยงกนั โดยตวั ชีข้ อ้ มลู ภายในฐานขอ้ มลู แบบนีส้ ามารถมีความสมั พนั ธก์ นั แบบใดก็ได้ อาจเป็นหนง่ึ
ต่อ หน่งึ หน่งึ ตอ่ กลมุ่ หรือกลมุ่ ตอ่ กลมุ่
กฎการควบคมุ ของฐานขอ้ มลู แบบเครอื ข่าย
โครงสรา้ งแบบเครอื ข่ายสามารถยินยอมใหร้ ะดบั ขนั้ ท่ีอย่เู หนือกว่ามีหลายแฟ้มขอ้ มลู แมว้ า่ ระดบั
ขนั้ ถดั ลงมาจะมีเพียงแฟ้มขอ้ มลู เดียว โดยเรคอรด์ ท่ีอย่เู หนือกว่ามีความสมั พนั ธก์ บั เรคอรด์ ท่ีอย่รู ะดบั ล่างได้
มากกวา่ 1 เรคอรด์ โดยแต่ละเรคอรด์ สมั พนั ธก์ นั ดว้ ยการลิงค์ (Links)ฐานขอ้ มลู แบบเครอื ขา่ ยจะทาใหส้ ะดวก
21
ในการคน้ หามากกว่าฐานขอ้ มลู แบบลาดบั ขนั้ เพราะไม่ตอ้ ง ไปเร่ิมคน้ หาตั้งแต่ขอ้ มลู ตน้ กาเนิดโดยทางเดียว
ขอ้ มลู แต่ละกลมุ่ จะเช่ือมโยงกนั โดยตวั ชี้
ตวั อย่างของโครงสรา้ งขอ้ มลู แบบเครือข่าย เช่น รา้ นขายอปุ กรณค์ อมพิวเตอรแ์ ห่งหน่ึง ส่งั สินคา้
หลายชนิดจากผูผ้ ลิตสินคา้ หลายๆ บริษัท แลว้ นาสินคา้ ไปเก็บไวใ้ นคลงั สินคา้ ซ่ึงแสดง ความสมั พันธข์ อง
ผผู้ ลิตสนิ คา้ และคลงั สนิ คา้ โดยการใชล้ กู ศรเช่ือมโยง แสดงดงั รูปท่ี 2.8 และ รูปท่ี 2.9
จากรูป 2.9 พบว่าผผู้ ลิตสินคา้ กบั สินคา้ มีความสมั พนั ธแ์ บบกลมุ่ ต่อกล่มุ กล่าวคือ ผผู้ ลิตสินคา้ แต่ละบริษัท
สามารถขายส่งสินคา้ ไดม้ ากกว่า 1 ชนิด และสินคา้ แต่ละชนิดก็สามารถส่งั ไดจ้ ากผูผ้ ลิต สินคา้ มากกว่า 1
บรษิ ัท สว่ นสินคา้ กบั คลงั สินคา้ มีความสมั พนั ธแ์ บบหน่งึ ต่อหน่ึง กลา่ วคอื ท่ีเก็บ สินคา้ ในคลงั สินคา้ แตล่ ะแห่ง
จะใชเ้ กบ็ สินคา้ แตล่ ะชนิดเทา่ นนั้
22
แบบจำลองฐำนข้อมลู
แบบจาลองฐานขอ้ มลู (Data Model)
แบบจาลองฐานขอ้ มลู แบ่งออกเป็น 4 แบบ คือ
1. ฐานขอ้ มลู แบบลาดบั ชนั้ (Hierarchical Model) เป็นฐานขอ้ มลู ท่ีนาเสนอขอ้ มลู และความสมั พนั ธร์ ะหว่าง
ขอ้ มลู ในรูปแบบของ โครงสรา้ งตน้ ไม้ (tree structure) เป็นโครงสรา้ งลกั ษณะคลา้ ยตน้ ไมเ้ ป็นลาดบั ชนั้ ซง่ึ แตก
ออกเป็นก่ิงกา้ นสาขา หรือท่ีเรียกว่า เป็นการจัดเก็บขอ้ มูลในลกั ษณะความสมั พันธ์แบบ พ่อ-ลูก (Parent-
ChildRelationship Type : PCR Type)
คณุ สมบตั ิของฐานขอ้ มลู แบบลาดบั ขนั้
1. Record ท่ีอยู่ดา้ นบนของโครงสรา้ งหรือพ่อ(Parent Record) นัน้ สามารถมีลูกไดม้ ากกว่าหน่ึงคน แต่ลูก
(ChildRecord) จะไมส่ ามารถมพี อ่ ไดม้ ากกวา่ 1 คนได้
2. ทกุ Record สามารถมีคณุ สมบตั เิ ป็น Parent Record(พอ่ ) ได้
3. ถา้ Record หน่ึงมีลกู มากกว่าหน่ึง Record แลว้ การลาดบั ความสมั พนั ธ์ของ Child Record จะลาดบั จาก
ซา้ ยไปขวา
ขอ้ ดี
• เป็นระบบฐานขอ้ มลู ท่มี ีระบบโครงสรา้ งซบั ซอ้ นนอ้ ยท่ีสดุ
• มีคา่ ใชจ้ ่ายในการจดั สรา้ งฐานขอ้ มลู นอ้ ย
• ลกั ษณะโครงสรา้ งเขา้ ใจง่าย
• เหมาะสาหรบั งานท่ตี อ้ งการคน้ หาขอ้ มลู แบบมีเง่ือนไขเป็นระดบั และออกงานแบบเรียงลาดบั ตอ่ เน่ือง
• ปอ้ งกนั ระบบความลบั ของขอ้ มลู ไดด้ ี เน่ืองจากตอ้ งอา่ นแฟม้ ขอ้ มลู ท่เี ป็นตน้ กาเนิดกอ่ น
ขอ้ เสีย
• Record ลกู ไม่สามารถมี record พอ่ หลายคนได้ เช่น นกั ศกึ ษาสามารถลงทะเบียนไดม้ ากกวา่ 1 วิชา
23
• มีความยดื หย่นุ นอ้ ย เพราะการปรบั โครงสรา้ งของ Tree ค่อนขา้ งยงุ่ ยาก
• มีโอกาสเกิดความซา้ ซอ้ นมากท่สี ดุ เม่ือเทยี บกบั ระบบฐานขอ้ มลู แบบโครงสรา้ งอ่ืน
• หากขอ้ มลู มีจานวนมาก การเขา้ ถึงขอ้ มลู จะใชเ้ วลานานในการคน้ หา เน่ืองจากจะตอ้ งเขา้ ถึงท่ีตน้ กาเนิดของ
ขอ้ มลู
2. ฐานขอ้ มลู แบบเครือขา่ ย (Network Model) ลกั ษณะฐานขอ้ มลู นีจ้ ะคลา้ ยกบั ลกั ษณะฐานขอ้ มลู แบบลาดบั
ชนั้ จะมีขอ้ แตกต่างกนั ตรงท่ีในลกั ษณะฐานขอ้ มลู แบบเครือข่ายนีส้ ามารถมีตน้ กาเนิดของขอ้ มลู ไดม้ ากกว่า 1
และยินยอมใหร้ ะดบั ชนั้ ท่ีอย่เู หนือกว่าจะมีไดห้ ลายแฟ้มขอ้ มลู ถึงแมว้ ่าระดบั ชนั้ ถดั ลงมาจะมีเพียงแฟ้มขอ้ มลู
เดียว
- ลกั ษณะโครงสรา้ งระบบฐานขอ้ มลู แบบเครือข่ายจะมีโครงสรา้ งของขอ้ มลู แต่ละแฟ้มขอ้ มลู มีความสมั พนั ธ์
คลา้ ยรา่ งแห
ขอ้ ดี
• ชว่ ยลดความซา้ ซอ้ นของขอ้ มลู ไดท้ งั้ หมด
• สามารถเช่ือมโยงขอ้ มลู แบบไป-กลบั ได้
• สะดวกในการคน้ หามากกว่าลกั ษณะฐานขอ้ มลู แบบลาดับชัน้ เพราะไม่ตอ้ งไปเร่ิมคน้ หาตัง้ แต่ขอ้ มูลตน้
กาเนิดโดยทางเดยี ว และการคน้ หาขอ้ มลู มีเง่ือนไขไดม้ ากและกวา้ งกวา่ โครงสรา้ งแบบลาดบั ชนั้
3. ฐานข้อมูลเชิงสัมพันธ์ (Relational Model) เป็นการจัดข้อมูลในรูปแบบของตาราง 2 มิติ คือมี แถว
(Row)และ คอลมั น์ (Column) โดยการเช่ือมโยงขอ้ มลู ระหวา่ งตาราง จะใช้ Attribute ท่ีมีอย่ทู งั้ สองตารางเป็น
ตวั เช่ือมโยงขอ้ มลู
ขอ้ ดี
• เหมาะกบั งานท่เี ลือกดขู อ้ มลู แบบมีเง่อื นไขหลายคยี ฟ์ ิลดข์ อ้ มลู
• ปอ้ งกนั ขอ้ มลู ถกู ทาลายหรือแกไ้ ขไดด้ ี เน่ืองจากโครงสรา้ งแบบสมั พนั ธน์ ีผ้ ใู้ ชจ้ ะไม่ทราบว่าการเก็บขอ้ มลู ใน
ฐานขอ้ มลู อยา่ งแทจ้ รงิ เป็นอยา่ งไร จงึ สามารถปอ้ งกนั ขอ้ มลู ถกู ทาลายหรอื ถกู แกไ้ ขไดด้ ี
24
• การเลือกดูขอ้ มลู ทาไดง้ ่าย มีความซบั ซอ้ นของขอ้ มลู ระหว่างแฟ้มต่าง ๆ นอ้ ยมาก อาจมีกา รฝึกฝนเพียง
เลก็ นอ้ ยกส็ ามารถใชท้ างานได้
ขอ้ เสยี
• มีการแกไ้ ขปรบั ปรุงแฟ้มขอ้ มูลไดย้ ากเพราะผูใ้ ชจ้ ะไม่ทราบการเก็บขอ้ มูลในฐานขอ้ มูลอย่างแทจ้ ริงเป็น
อย่างไร
• มีค่าใชจ้ ่ายของระบบสงู มากเพราะเม่ือมีการประมวลผลคือ การอ่าน เพิ่มเติม ปรบั ปรุงหรือยกเลิกระบบ
จะตอ้ งทาการสรา้ งตารางขนึ้ มาใหม่ ทงั้ ท่ีในแฟ้มขอ้ มลู ท่ีแทจ้ รงิ อาจจะมีการเปล่ยี นแปลงเพียงเลก็ นอ้ ย
4. ฐานขอ้ มลู เชิงวตั ถุ (Object Oriented Model)
• ใชใ้ นการประมวลผลขอ้ มลู ทางดา้ นมลั ติมีเดีย คือ มีขอ้ มลู ภาพ และเสียง หรือขอ้ มลู แบบมีการเช่ือมโยงแบบ
เว็บเพจ ซง่ึ ไมเ่ หมาะสาหรบั Relation Model
• มองสง่ิ ตา่ งๆ เป็น วตั ถุ (Object)
วตั ถปุ ระสงคข์ องแบบจาลองขอ้ มลู
• เพ่อื นาแนวคดิ ตา่ งๆ มาเสนอใหเ้ กดิ เป็นแบบจาลอง
• เพ่ือนาเสนอขอ้ มลู และความสมั พนั ธร์ ะหว่างขอ้ มลู ในรูปแบบท่ีเขา้ ใจง่าย เช่นเดียวกนั การดแู ปลนบา้ นท่ีจะ
ทาใหเ้ ราเขา้ ใจโครงสรา้ งบา้ นไดเ้ รว็
• เพ่ือใชใ้ นการส่ือสารระหวา่ งผอู้ อกแบบฐานขอ้ มลู กบั ผใู้ ชใ้ หต้ รงกนั
25
ระบบแบบจำลองข้อมูลสำรสนเทศ
ในการออกแบบฐานขอ้ มลู ในระบบสารสนเทศนนั้ จะตอ้ งใชแ้ บบจาลองของขอ้ มลู เพ่ือนาเสนอรายละเอียดท่ี
เก่ียวท่ีเก่ียวขอ้ งกบั ขอ้ มลู ในฐานขอ้ มลู เน่ืองจากแบบจาลองของขอ้ มลู จะมีรูปแบบในการนาเสนอรายละเอยี ด
ท่ีเก่ียวขอ้ งกบั ฐานขอ้ มลู ท่มี าตรฐาน จงึ ทาใหส้ ามารถนาเสนอตอ่ ผใู้ ชใ้ นแต่ละระดบั ท่มี ีมมุ มองท่ีแตกตา่ งกนั ได้
เป็นอย่างดี ฉะนั้นแบบจาลองขอ้ มูลหรือ Data Model จึงหมายถึงแบบจาลองท่ีใชจ้ าลองโครงสรา้ งขอ้ มูล
ทงั้ หมดในระบบท่ีใชอ้ ธิบายความสมั พนั ธท์ างตรรกะขอ้ มลู และเอนทิตีท่ีเก่ียวขอ้ งกนั ในระบบ โดยจะแสดง
ข้อมูลภาพรวมท่ีไม่สนใจลักษณะการเก็บข้อมูลทางกายภาพ เป็นแบบท่ี ใช้อธิบายถึงโครงสร้างและ
ความสมั พนั ธ์ระหว่างขอ้ มลู ภายในฐานขอ้ มลู จากรูปแบบท่ีเป็นแนวคิดท่ียากต่อการเขา้ ใจใหอ้ ย่ใู นรูปแบบท่ี
สามารถเขา้ ใจและจบั ตอ้ งไดง้ ่ายขนึ้ สามารถแบง่ ออกไดเ้ ป็น 2 ประเภท คือ
1. Conceptual Model เป็นแบบจาลองเชิงแนวคิดท่ีถกู นาไปใชใ้ นขนั้ ตอนการอกแบบฐานขอ้ มลู เพ่ือใหเ้ ห็นว่า
ภายในฐานข้อมูลต้องประกอบด้วยข้อมูลอะไรบ้าง และแต่ละข้อมูลมีความสัมพันธ์กันอย่างไรดังนั้น
แบบจาลองในกลอ่ มมกั จะมีลกั ษณท์ ่ีใชแ้ ทนขอ้ มลู คณุ สมบตั ขิ องขอ้ มลู และความสมั พนั ธร์ ะหวา่ งขอ้ มลู ดงั นนั้
แบบจาลองกล่มุ นีจ้ ึงมักประกอบดว้ ยสญั ลักษณท์ ่ีใชแ้ ทนตวั ขอ้ มูล คุณสมบตั ิของขอ้ มลู และความสมั พนั ธ์
ตา่ งๆ แบบจาลองของขอ้ มลู ประเภทนีไ้ ดแ้ ก่ ER Model
2. Implementation Model เป็นแบบจาลองท่ีถกู นามาอธิบายถึงโครงสรา้ งขอ้ มลู ในขนั้ ตอนการสรา้ งฐานขอ้ มลู
แตล่ ะประเภทท่จี าเป็นตอ้ งใชแ้ บบจาลองขอ้ มลู ในการนาเสนอเช่นเดยี วกบั การนาเสนอรายละเอียดในดา้ นอ่นื ๆ
ท่ีเก่ียวขอ้ งกบั ฐานขอ้ มลู
1.1 แบบจาลองเชงิ สมั พนั ธ์ (Relational Model)
แบบจาลองเชงิ สมั พนั ธเ์ ป็นแบบจาลองขอ้ มลู ท่ีมีพืน้ ฐานทางคณิตศาสตร์ โดยนาหลกั การของ
เซ็ตและตรรกะในการคาดคะเนผลมาใชง้ าน เป็นการกาหนดการแสดงโครงสรา้ งขอ้ มลู วิธีป้องกนั ขอ้ มลู และ
การประมวลผลขอ้ มูล แบบจาลองเชิงสัมพันธ์เป็นแบบจาลองท่ีง่ายต่อการใชง้ าน ผูใ้ ชท้ ่ัวไปสามารถงาน
ฐานขอ้ มูลนีไ้ ดเ้ น่ืองจากผูใ้ ชไ้ ม่จาเป็นตอ้ งทราบเก่ียวกับการจัดเก็บขอ้ มูลในระดบั กายภาพ นอกจากนีก้ าร
แสดงความสมั พนั ธข์ องขอ้ มลู ระหว่างแฟ้มขอ้ มลู จะสามารถมองเห็นไดจ้ ากตวั ขอ้ มลู ท่ีเก็บอย่ใู นแฟ้มขอ้ มลู จึง
เป็นแบบจาลองขอ้ มลู ท่ีนยิ มใชก้ นั มากในปัจจบุ นั
26
แบบจาลองเชิงสมั พนั ธม์ ีลกั ษณะโครงสรา้ งเป็นตารางท่ีมีความสมั พนั ธก์ นั โดยแต่ละแถวของขอ้ มลู ในตาราง
หน่ึงจะเป็นชุดขอ้ มลู ท่ีมีความสมั พนั ธก์ ัน ซ่ึงอาจหมายถึงเอนทิตีหรือความสมั พนั ธ์ระหว่างเอนทิตีก็ ได้ โดย
ขอ้ มลู แต่ละแถวเรยี กว่า ทเู ปิล (Tuple) และช่ือของแตล่ ะคอลมั นเ์ รยี กว่า แอตทรบิ ิวต์ (Attribute) และในการท่ี
จะใชแ้ บบจาลองเชิงสัมพันธ์ออกแบบระบบฐานขอ้ มูลควรจะตอ้ งรูจ้ ักกับความหมายของคาศัพทท์ ่ีมีการ
บญั ญตั ิขนึ้ ใชก้ บั แบบจาลองประเภทนี้ เพ่ือใหเ้ ป็นพืน้ ฐานในการท่ีจะออกแบบฐานขอ้ มลู ตอ่ ไป ดงั นี้
1. รเี ลชนั (Relation) หรือตาราง เป็นความสมั พนั ธข์ องขอ้ มลู ในรูปแบบตาราง 2 มิติประกอบดว้ ยคอลมั นแ์ ละ
แถว โดยคอลมั นแ์ สดงถึงคณุ ลกั ษณะของรีเลชนั และแถวมีความหมายเหมือนระเบียนขอ้ มลู ซ่งึ แต่ละรีเลชนั
จะมีช่ือรเี ลชนั ใชอ้ า้ งองิ
2. แอตทรบิ ิวต์ (Attribute)หมายถงึ แต่ละคอลมั นท์ ่ีอย่ใู นรเี ลชนั แตล่ ะแอตทริบิวตจ์ ะมีช่อื กากบั ในแตล่ ะรเี ลชนั
3. ทเู ปิล (Tuple) หมายถึง แต่ละแถวหรอื แตล่ ะรายการขอ้ มลู ในรีเลชนั
4. ดกี รี (Degree) หมายถึง จานวนแอตทรบิ ิวตข์ องแตล่ ะรเี ลชนั
5. คารฺดินลั ลิตี (Cardinality) หทายถงึ จานวนทเู ปิลในแต่ละรเี ลชนั
6. โดเมน (Domain) คือ การกาหนดขอบเขตและชนิดของข้อมูลเพ่ือป้องกันไม่ให้ข้อมูลท่ีจัดเก็บมีความ
ผดิ พลาดไปจากความจรงิ
7. ค่าว่าง (Null Values) ถา้ มีแอตทริบิวตใ์ ดไม่มีค่าขอ้ มลู เก็ยอย่จู ะเรียกว่าค่าวา่ ง แต่ค่าว่างนีจ้ ะไม่ใช่ช่องว่าง
หรือ0 มนั เป็นการไม่รูห้ รือยงั ไม่พรอ้ มท่ีจะใส่ขอ้ มลู อะไรลงไปในแอตทริบิวตน์ นั้ ซ่งึ ในตอนหลงั เราอาจกลบั มา
ใสใ่ หมไ่ ด้
8. คียห์ ลกั (Primary Key) เป็นคยี ท์ ่ีไดเ้ ลือกมาเพ่ือใชก้ าหนดใหเ้ ป็นค่าคยี ห์ ลกั ของรเี ลชนั ท่ีมีคณุ สมบตั มิ ีความ
เป็นหน่ึงเดียว ค่าของคียห์ ลกั ตอ้ งไม่ซา้ กนั เลย ประกอบดว้ ยจานวนแอตทริบิวตน์ อ้ ยท่ีสดุ ท่ีสามารถเจาะจงทู
เปิลหน่งึ ในรเี ลชนั ได้
9. คยี น์ อก (Foreign Key) เป็นแอตทรบิวหรอื กลมุ่ ของแอตทรบิ ิวตท์ ่ีมีความสมั พนั ธก์ บั คียห์ ลกั ในอกี รเี ลชนั หรอื
ในรีเลชันเดียวกัน เป็นคียท์ ่ีใชเ้ ช่ือมโยงขอ้ มลู เพ่ือสรา้ งความสมั พนั ธ์เขา้ กันคียน์ อกเปรียบเสมือนกาวเช่ือม
ขอ้ มลู ในรีเลชนั หน่งึ ซ่งึ เป็นการสรา้ งความสมั พนั ธร์ ะหว่างรเี ลชนั ซง่ึ รเี ลชนั หน่งึ อาจมีคียน์ อกอย่หู รอื ไม่ก็ได้ แต่
ทกุ รเี ลชนั จะตอ้ งมีคยี ห์ ลกั เสมอ
27
2 Entity-Relationship Model
Entity-Relationship Model หรือ ER Model เป็นแบบจาลองข้อมูลท่ีนาเสนอโครงสร้างของ
ฐานขอ้ มลู ในระดบั ความคิดออกมาในลกั ษณะของแผนภาพท่ีโครงสรา้ งท่ีง่ายต่อการทาความเขา้ ใจทาใหเ้ ห็น
ภาพรวมและความสัมพันธ์ของเอนทิตีทั้งหมดในฐานข้อมูลท่ีเป็นอิสระจากซอฟตแ์ วรท์ ่ีใชใ้ นการพัฒนา
ฐานขอ้ มลู รวมทงั้ รายละเอียดและความสมั พนั ธร์ ะหวา่ งขอ้ มลู ในระบบเป็นภาพรวม ทาใหเ้ ป็นประโยชนต์ อ่ การ
รวบรวมและวเิ คราะหร์ ายละเอยี ดความสมั พนั ธข์ องขอ้ มลู ทาใหผ้ เู้ ก่ียวขอ้ งสามารถเขา้ ใจถกู ตอ้ งตรงกนั
ER Diagram หมายถึง แผนภาพท่ีใชเ้ ป็นเครื่องมือสาหรบั จาลองขอ้ มูล จัดเป็นแบบจาลองเชิง
แนวคิดท่ีใชแ้ สดงลกั ษณะโดยรวมของขอ้ มลู ในระบบ ในรูปแบบของแผนภาพหรือไดอะแกรม(Diagram) เพ่ือ
ตอ้ งการนาเสนอใหเ้ กิดความเขา้ ใจระหวา่ งผอู้ อกแบบผใู้ ชง้ าน ใหเ้ กิดความเขา้ ใจตรงกนั ในเรื่องของขอ้ มลู ท่ีมี
อยใู่ นระบบ ซง่ึ ประกอบดว้ ย เอนทิตี แอตทรบิ วิ ต์ และความสมั พนั ธ์ มีสญั ลกั ษณต์ า่ งๆ ดงั นี้
1. เอนทิตี (Entity) ส่ิงท่ีสนใจและตอ้ งการจดั เก็บขอ้ มลู ไวใ้ นฐานขอ้ มลู ทงั้ ท่ีเป็นบคุ คลส่ิงของ หรอื สถานท่ีหรอื
ส่ิงท่ีอยใู่ นรูปแบบนามธรรมท่ีไมส่ ามารถจบั ตอ้ งได้ จาแนกเอนทติ อี อกเป็น 3 กลมุ่ ดงั นี้
(1) เอนทิตเี ชิงรูปธรรม ประกอบดว้ ย
- เอนทิตีท่ีเป็นบคุ คล เช่น นกั ศกึ ษา ครู เจา้ หนา้ ท่ี เป็นตน้
- เอนทิตีท่ีเป็นสถานท่ี เช่น โรงเรยี น รา้ นคา้ บรษิ ัท เป็นตน้
- เอนทติ ีท่ีเป็นวตั ถุ เช่น สินคา้ รถยนต์ คอมพวิ เตอร์ เป็นตน้
(2) เอนทิตีเชิงแนวความคิด เช่น การขาย แผนก วชิ า เป็นตน้
(3) เอนทิตเี ชงิ เหตกุ ารณ์ เช่น การขาย การยมื การลงทะเบยี น เป็นตน้
เอนทิตีใชส้ ญั ลกั ษณร์ ูปท่ีส่ีเหล่ียมผืนผา้ แทนเอนทิตี และมีช่ือเอนทิตีเป็นคานามกากบั อยู่ในรูป
ส่เี หลีย่ มผนื ผา้
2. แอตทริบิวต์ (Attribute) คือ ขอ้ มลู ท่ีใชอ้ ธิบายคณุ สมบตั ิหรือคณุ ลกั ษณะของเอนทิตีโดยเอนทิตีหน่ึงอาจ
ประกอบดว้ ยแอตทริบิวตไ์ ดม้ ากกว่า 1 แอตทริบิวต์ เช่น เอนทิตีนักกศึกษา ประกอบดว้ ย แอตทริบิวต์ รหสั
28
นกั ศกึ ษา ช่ือ นามสกลุ ท่ีอยู่ และชนั้ เป็นตน้ แอตทริบิวใชส้ ญั ลกั ษณร์ ูปวงรีและมีช่ือแอตทริบิวตท์ ่ีเป็นคานาม
กากบั อยใู่ นวงร
(1) แอตทริบิวต์แบบธรรมดา (Simple of Atomic Attribute) หมายถึง แอตทริบิวต์ท่ีไม่สามารถแบ่งเป็น
สว่ นประกอบย่อย ๆไดอ้ ีก เชน่ รหสั นกั กศกึ ษา ช่ือสกลุ ชนั้ และแผนก เป็นตน้
(2) แอตทริบิวตแ์ บบผสม (Composite Attribute) หมายถึง แอตทริบิวตท์ ่ีสามารถแบ่งออกเป็นแอตทริบิวต์
ยอ่ ยได้ เช่น แอตทรบิ วิ ตท์ ่ีอยู่ ท่ีอาจแบง่ ไดเ้ ป็นแอตทรบิ วิ ตย์ อ่ ย ไดแ้ ก่ เลขท่ี ถนน ตาบล อาเภอ และจงั หวดั
(3) แอตทริบิวตท์ ่ีมีค่าขอ้ มลู เพียงค่าเดียว (Single-Valued-Attribute) หมายถึง แอตทรบิ ิวตท์ ่ีมีค่าขอ้ มลู เพียง
ค่าเดียวเทา่ นนั้ เชน่ รหสั นกั ศกึ ษา ช่ือ นามสกลุ แผนก และชนั้ ซง่ึ แต่ละแอตทรบิ วิ ตม์ ีค่าขอ้ มลู เพยี งค่าเดียว
(4) แอตทริบิวตท์ ่ีมีค่าขอ้ มลู หมายค่า (Multi-Valued-Attribute) หมายถึง แอตทริบิวตท์ ่ีมีค่าขอ้ มลู ได้มากว่า
หน่ึงค่า เช่น แอตทริบิวตห์ มายเลขโทรศพั ท์ ซ่ึงนกั ศึกษาหน่ึงคนสามารถมีหมายเลขโทรศพั ทไ์ ดม้ ากกว่าหน่ึง
หมายเลข แอตทรบิ ิวตท์ ่ีมีค่าขอ้ มลู หลายคา่ ใชส้ ญั ลกั ษณ์รูปวงรเี สน้ คแู่ ทนแอตทรบิ ิวต์ และมีแอตทรบิ ิวตท์ ่ีเป็น
คานามกากบั อยใู่ นวงรี
3. ความสมั พนั ธ์ (Relationship) ความสมั พนั ธใ์ นระบบฐานขอ้ มลู หมายถึง ความสมั พนั ธร์ ะหวา่ งเอนรติ ีเช่น
ความสมั พนั ธร์ ะหว่างเอนทิตนี กั ศกึ ษาและเอนทิตีแผนก ซ่งึ หมายถึงนกั ศึกษาแต่ละคนเรียนอย่แู ผนกใดแผนก
หนง่ึ
(1) ความสมั พนั ธแ์ บบหน่ึงต่อหน่ึง (One to One) เป็นความสมั พนั ธร์ ะหว่างสมาชิกหน่ึงรายการของเอนทิตี
หนง่ึ กบั สมาชกิ เพียงหน่งึ รายการของอกี เอนทิตีหนง่ึ
(2) ความสมั พนั ธแ์ บบหน่ึงต่อกลมุ่ (One to Many) เป็นความสมั พนั ธท์ ่ีสมาชิกหน่งึ รายการของเอนทิตีหน่งึ มี
ความสมั พนั ธก์ บั สมาชิกหลายรายการในอกี เอนทิตหี น่งึ
(3) ความสมั พนั ธแ์ บบกลมุ่ ตอ่ กลมุ่ (Many to Many) เป็นความสมั พนั ธท์ ่สี มาชิกหลายรายการในเอนทิตหี นง่ึ มี
ความสมั พนั ธก์ บั สมาชิกหลายรายการในเอนทติ หี น่งึ
(4) กฎความคงสภาพของขอ้ มลู (Data Integrity Rule) กฎท่ีใชส้ าหรบั รกั ษาความถกู ตอ้ งของขอ้ มลู
ออกเป็น 2 กฎ คอื กฎท่ีเก่ียวขอ้ งกบั เอนทิตี และกฎท่ีเก่ียวขอ้ งกบั การเช่ือมโยงความสมั พนั ธข์ องเอนทิตี
29
ระบบกำรจดั กำร RDBMS
โดยปกติในการจัดการฐานขอ้ มลู ดว้ ยคอมพิวเตอรน์ นั้ จะมีโปรแกรมท่ีเรียกว่า ระบบการจดั การ
ฐานขอ้ มลู หรือ DBMS (Database Management Systems) ซ่ึงเปรียบเสมือนเป็นผูจ้ ดั การฐานขอ้ มลู น่นั เอง
โปรแกรมประเภทนีม้ ีการผลิตออกมาหลายระบบดว้ ยกนั แต่ท่ีไดร้ บั ความนิยมและเป็นท่ีรูจ้ กั กนั ดคี ือ ระบบการ
จั ด ก า ร ฐ า น ข้อ มู ล เ ชิ ง สั ม พั น ธ์ ห รื อ RDBMS (Relational Database Management System) เ ช่ น
Oracle,Sybase, Microsoft SQL Server, Microsoft Access, MySQL เป็นตน้
ลกั ษณะของ DBMS
ระบบการจดั การฐานขอ้ มลู หรอื DBMS จะอานวยความสะดวกกบั ผใู้ ช้ คือสามารถใชง้ านไดโ้ ดยท่ี
ไม่จาเป็นตอ้ งทราบถึงโครงสรา้ งทางกายภาพของขอ้ มูลในระดบั ท่ีลึกมากเหมือนกบั การเขียนโปรแกรมของ
โปรแกรมเมอร์ ระบบดงั กล่าวจะยอมใหผ้ ใู้ ชก้ าหนดโครงสรา้ งและดแู ลรกั ษาฐานขอ้ มลู ไดเ้ ป็นอย่างดี และยงั
สามารถควบคมุ การเขา้ ถึงขอ้ มลู ในสว่ นตา่ งๆตามระดบั การใชง้ านของผใู้ ชแ้ ตล่ ะคนดว้ ย เราอาจพบเห็นการใช้
งานDBMS สาหรบั การจัดการฐานขอ้ มลู ไดใ้ นองคก์ รธุรกิจโดยท่วั ไป เช่น ระบบขอ้ มลู ลกู คา้ ระบ บสินคา้ คง
คลงั ระบบงานลงทะเบียน ระบบงานธรุ กรรมออนไลน์
DBMS เป็นเหมือนตวั กลางท่ียอมใหผ้ ูใ้ ชเ้ ขา้ คน้ คืนขอ้ มลู ไดโ้ ดยมีเคร่ืองมือสาคยั คือ ภาษาท่ีใช้
จดั การกบั ขอ้ มลู โดยเฉพาะเรียกว่า ภาษาเรียกคน้ ขอ้ มลู หรือ ภาษาคิวรี่ (query language) ซ่ึงประกอบดว้ ย
คาส่ังสาหรับเรียกใช้ข้อมูล แก้ไขเปล่ียนแปลงหรือลบข้อมูล และยังสามารถนาไปใช้ร่วมกับการพัฒนา
โปรแกรมประยกุ ตท์ างดา้ นฐานขอ้ มลู (Database application) ไดเ้ ป็นอย่างดี
ภาษาควิ ร่ี (Query language)
30
เป็นภาษาท่ีใชส้ าหรบั สอบถามหรือจดั การฐานขอ้ มลู ใน DBMS โดยภาษาประเภทนีท้ ่ีไดร้ บั ความ
นิยมสงู สดุ คือ ภาษา SQL (Structure Query language ) คดิ คน้ โดยนกั วิทยาศาสตรข์ องไอบีเอ็มในทศวรรษท่ี
1970 มีรูปแบบคาส่ังท่ีคล้ายกับประโยคในภาษาอังกฤษมาก ซ่ึงปัจจุบันองค์กร ANSI (American
NationalStandard Institute) ได้ประกาศให้ SQL เป็นภาษามาตรฐานสาหรับสาหรับระบบการจัดการ
ฐานข้อมูลเชิงสัมพันธ์ (Relational Database Management System หรือ RDBMS) ซ่ึงเป็นระบบ DBMS
แบบท่ีใชก้ นั แพรห่ ลายท่ีสดุ ในปัจจบุ นั
ระบบการจดั การฐานขอ้ มลู เชิงสมั พนั ธ์ ทกุ ระบบจะใชค้ าส่งั พืน้ ฐานของภาษา SQL ไดเ้ หมือนกนั
แต่อาจมีคาส่งั พิเศษท่ีแตกต่างกนั บา้ ง เน่ืองจากบริษัทผูผ้ ลิตแต่ละรายก็พยายามทีจะพฒั นา RDBMS ของ
ตนเองใหม้ ีลกั ษณะท่ีเด่นกว่าระบบอ่ืนโดยเพ่ิมคณุ สมบตั ิท่ีเกินขอ้ จากดั ของ ANSI ซ่ึงคิดว่าเป็นประโยชนต์ ่อ
ผใู้ ชเ้ ขา้ ไปตวั อยา่ งของคาส่งั SQL มีดงั นี้
31
คำศัพทแ์ ละควำมสัมพันธ์
คาศพั ทพ์ ืน้ ฐานตา่ ง ๆท่ีใช้
นิยามและคาศพั ทพ์ ืน้ ฐานเก่ียวกบั ระบบฐานขอ้ มลู
บทิ (Bit) หมายถงึ หน่วยของขอ้ มลู ท่ีมีขนาดเลก็ ท่ีสดุ
ไบท์ (Byte) หมายถึง หนว่ ยของขอ้ มลู ท่ีเกดิ จากการนาบทิ มารวมกนั เป็นตวั อกั ขระ (Character)
เขตขอ้ มลู (Field) หมายถึง หน่วยของขอ้ มลู ท่ีประกอบขึน้ จากตวั อกั ขระตงั้ แต่หน่ึงตวั ขึน้ ไปมารวมกนั แลว้ ได้
ความหมายของสงิ่ ใดสิง่ หนง่ึ เชน่ ช่ือ ท่ีอยู่ เป็นตน้
ระเบียน (Record) หมายถึง หน่วยของขอ้ มลู ท่ีเกิดจากการนเอาเขตขอ้ มลู หลาย ๆ เขตขอ้ มลู มารวมกนั เพ่ือ
เกดิ เป็นขอ้ มลู เร่อื งใดเร่อื งหนง่ึ เช่น ขอ้ มลู ของนกั ศกึ ษา 1 ระเบียน (1 คน) จะประกอบดว้ ย
- รหสั ประจาตวั นกั ศกึ ษา 1 เขตขอ้ มลู
- ช่ือนกั ศกึ ษา 1 เขตขอ้ มลู
- ท่ีอยู่ 1 เขตขอ้ มลู
แฟ้มขอ้ มูล (File) หมายถึงหน่วยของขอ้ มูลท่ีเกิดจากการนาขอ้ มูลหลาย ๆ ระเบียนท่ีเป็นเรื่องเดียวกันมา
รวมกนั เช่น แฟ้มขอ้ มลู นกั ศกึ ษา แฟ้มขอ้ มลู ลกู คา้ แฟ้มขอ้ มลู พนกั งานสว่ นในระบบฐานขอ้ มลู มีคาศพั ทต์ ่าง ๆ
ท่เี ก่ียวขอ้ งดงั นี้
เอนทิตี้ (Entity) หมายถึง ช่ือของส่ิงใดส่ิงหน่งึ ไดแ้ ก่ คน สถานท่ี ส่ิงของ การกระทา ซ่งึ ตอ้ งการจดั ก็บขอ้ มลู ไว้
เชน่ เอนทติ ีล้ กู คา้ เอนทิตพี้ นกั งาน
- เอนทิตีช้ นดิ ออ่ นแอ (Weak Entity) เป็นเอนทติ ที้ ่ีไมม่ ีความหมาย หากขาดเอนทติ อี้ ่นื ในฐานขอ้ มลู
- แอททริบิวต(์ Attribute) หมายถึง รายละเอียดขอ้ มลู ท่ีแสดงลกั ษณะและคุณสมบัติของเอนทิตีห้ น่ึง ๆ เช่น
เอนทติ ีน้ กั ศกึ ษา ประกอบดว้ ย – แอทรบิ ิวตร์ หสั นกั ศกึ ษา
- แอททรบิ วิ ตช์ ่ือนกั ศกึ ษา
- แอททรบิ ิวตท์ ่ีอย่นู กั ศกึ ษา
32
ควำมสัมพนั ธร์ ะหวำ่ งเอนทติ ี้
การสรา้ งความสัมพันธ์ระหว่างเอนทิตีใ้ นฐานข้อมูลเชิงสัมพันธ์กระทาได้ โดยการกาหนดให้เอนทิตีท้ ่ีมี
ความสมั พนั ธก์ นั มีแอททรบิ ิวตท์ ่ีเหมือนกนั และใชค้ ่าของแอททรบิ ิวตท์ ่ีเหมือนกนั เป็นตวั ระบขุ อ้ มลู ในเอนทิตีท้ ่ี
มีความสมั พนั ธก์ นั ความสมั พนั ธร์ ะหวา่ งเอนทิตี้ แบง่ ออกเป็น 3 ประเภท ดงั นี้
1. ความสมั พนั ธแ์ บบหน่งึ ตอ่ หนง่ึ (One-to-one Relationship)
คือ ความสมั พนั ธแ์ บบหน่ึงต่อหน่ึง เป็นการแสดความสมั พนั ธข์ องขอ้ มลู ในเอนทิตีห้ น่ึง ว่ามีความสมั พนั ธก์ บั
ขอ้ มลู ของอกี เอนทติ หี้ น่งึ ในลกั ษณะท่ีเป็นหนง่ึ ตอ่ หน่งึ เช่น
- ความสมั พนั ธข์ องประชาชนกบั หมายเลขรหสั ประจาตวั ประชาชน ซ่ึงประมาณ 1 คน จะตอ้ งมีหมายเลขรหสั
ประจาตวั ประชาชน 1 หมายเลข ซง่ึ ไม่ซา้ กนั
- นกั ศกึ ษากบั รหสั ประจาตวั นกั ศกึ ษา นกั ศกึ ษาแตล่ ะคนจะมีรหสั ประจาตวั นกั ศกึ ษาไม่ซา้ กนั
- รถยนตก์ บั ทะเบียนรถยนตก์ ็เช่นกนั รถยนตแ์ ต่ละคนั ก็จะมีหมายเลขทะเบียนไม่ซา้ กน จึมีความสมั พนั ธแ์ บบ
หน่งึ ตอ่ หน่งึ
33
2. ความสมั พนั ธแ์ บบหนง่ึ ตอ่ กลมุ่ (One-to-many Relationship)
คือ ความสมั พนั ธแ์ บบหน่ึงต่อกล่มุ เป็นการแสดงความสมั พนั ธข์ องขอ้ มลู ของเอนทิตีห้ น่ึง ว่ามีความสมั พนั ธ์
กับขอ้ มลู หลายขอ้ มลู กับอีกเอนทิตีห้ น่ึง เช่น ความสมั พันธ์ของ แผนกกับพนักงาน ซ่ึงแผนกแต่ละ แผนกจะ
ประกอบไปดว้ ยพนกั งานท่ีสงั กดั อย่ใู นแผนกหลายคน
- ความสัมพันธ์ของโรงเรียนกับนักเรียน โรงเรียน 1 โรงเรียน มีนักเรียนหลายคนเรียนอยู่ในโรงเรียน จึงมี
ความสมั พนั ธแ์ บบหน่งึ ตอ่ กลมุ่
3. ความสมั พนั ธแ์ บบกลมุ่ ต่อกลมุ่ (Many-to-many Relationship)
คือ ความสมั พนั ธแ์ บบกลมุ่ ต่อกลมุ่ เป็นการแสดงความสมั พนั ธข์ องขอ้ มลู ของ 2 เอนทติ ี้ ใน
ลักษณะแบบกลุ่มต่อกล่มุ เช่น ความสัมพันธข์ องนึกศึกษากับหลกั สตู ร นักศึกษาหลายคน อาจเรียนอยู่ใน
หลายหลกั สตู ร ความสมั พนั ธข์ องลกู คา้ /คาส่งั ซือ้ กบั สินคา้ ลกู คา้ หลายคน อาจซือ้ สินคา้ ไดห้ ลายชนิด ในการ
ซอื้ แตล่ ะครงั้ และอาจมีคาส่งั ซือ้ หลายครงั้ จงึ มีความสมั พนั ธแ์ บบกลมุ่ ตอ่ กลมุ่
34
ประเภทของคยี ์ (Key)
เพ่อื เพิ่มประสิทธิภาพในการจดั การฐานขอ้ มลู คยี ท์ ่ีใชใ้ นระบบฐานขอ้ มลู มีหลายประเภท ดงั นี้
คยี ห์ ลกั (Primary key)
หมายถึง แอตทรบิ ิวตห์ รือกลมุ่ ของแอตทรบิ ิวตข์ องเทเบิลหน่งึ ท่ีมีขอ้ มลู ไมซ่ า้ กนั และมีค่าเสมอ(ไม่
เป็น NULL) ทาให้สามารถระบุได้ว่าเป็นข้อมูลแถวใดในเทเบิลนั้น คีย์หลักจะใช้ประโยชน์ในการระบุ
(identify)ขอ้ มลู ท่ตี อ้ งการเขา้ ถงึ
คยี ล์ าดบั รอง (Secondary Key)
หรอื บางครงั้ กเ็ รยี กวา่ อนิ เด็ก (index) หรอื ดชั นีซง่ึ นอกจากกาหนดคียห์ ลกั ใหก้ บั แตล่ ะเทเบลิ แลว้
เรายงั ใชอ้ ินเด็กซเ์ ป็นคียช์ ่วยในการคน้ หาหรือจดั เรียงกลมุ่ แถวท่ีมีจานวนมากไดอ้ ย่างรวดเรว็ คอลมั นท์ ่ีเป็นอิน
เด็กซน์ ีอ้ าจยอมใหม้ ีขอ้ มลู ซา้ กนั ได้ (ต่างกบั คียห์ ลกั ซ่งึ จะมีขอ้ มลู ซา้ กนั ไม่ไดแ้ ละคียห์ ลกั ทกุ ตวั จะมีคณุ สมบตั ิ
เป็นอินเดก็ ซอ์ ย่แู ลว้ โดยอตั ิโนมตั ิ) อีกประเด็นหน่งึ คือ การสรา้ งอินเดก็ ซจ์ ากคอลมั นท์ ่ีมีขอ้ มลู ซา้ กนั มากๆ อาจ
ไม่ใหผ้ ลดีมากนกั
คยี ค์ แู่ ขง่ (Candidate Key)
ถา้ ในเทเบิลหน่ึงมีคอลมั นห์ ลายคอลมั นท์ ่ีเป็นคุณสมบตั ิครบถว้ นจนนามาใชเ้ ป็นคียห์ ลกั แทนกนั ได้ จะเรียก
คอลมั นเ์ หลา่ นนั้ แตล่ ะคอลมั นว์ า่ เป็น Candidate Key หรอื คียค์ แู่ ขง่
คียร์ วม (Compound Key)
คียร์ วม (บางครงั้ เรียก Composite key) เป็นคียท์ ่ีเกิดจากการนาคอลมั นห์ ลายๆคอลมั นม์ ารวมกนั เพ่ือใหม้ ี
คุณสมบตั ิเป็นคียห์ ลกั หรือคือไม่มีขอ้ มลู ซา้ และไม่มีค่าว่าง (Null) เน่ืองจากในบางครงั้ การสรา้ งคีย์หลกั จาก
คอลมั นเ์ ดียวอาจมโี อกาสท่ีจะเกิดขอ้ มลู ซา้ กนั ได้
คียน์ อก(Foreign Key)
คียน์ อก เป็นคียท์ ่ีใชเ้ ช่ือมเทเบิลท่ีเก่ียวขอ้ งเขา้ ดว้ ยกนั เช่น ในเทเบิลลกู คา้ จะมีคอลมั นร์ หสั ลกู คา้ เป็นคียห์ ลกั
เราจะใหร้ หสั ลกู คา้ ในเทเบิลลกู คา้ เช่ือมโยงกบั รหสั ลกู คา้ ในเทเบิลการส่งั ซือ้ เพ่ือท่ีจะไดท้ ราบช่ือและท่ีอย่ขู อง
35
ลูกคา้ ท่ีส่งั ซือ้ สินคา้ นัน้ ในกรณีคอลมั นร์ หัสลูกคา้ ในเทเบิลการส่งั ซือ้ จะมีคุณสมบตั ิเป็นคียน์ อก ( ในขณะท่ี
คอลมั นร์ หสั ลกู คา้ เม่ืออย่ใู นเทเบิลลกู คา้ จะมีคณุ สมบตั เิ ป็นคยี ห์ ลกั )
36
บรรณานุกรม
ความหมายของระบบฐานขอ้ มลู (ม.ป.ป.) คน้ เม่ือวนั ท่ี 11 ตลุ าคม 2564.
https://sites.google.com/site/databasebasic/un/unit
https://sites.google.com/site/porkaermcadkarthankhxmul1/khorngsrang-khxng-rabb-than-khxmul
โปรแกรมจดั การฐานขอ้ มลู (ม.ป.ป.) คน้ เม่ือวนั ท่ี 11 ตลุ าคม 2564.
https://www.mdsoft.co.th/%E0%B8%84%E0%B8%A7%E0%B8%B2%E0%B8%A1%E0%B8%A3%E
0%B8%B9%E0%B9%89/183-database-managementsystem.html
องคป์ ระกอบของฐานขอ้ มลู เรอ่ื ง บคุ ลากรท่ีเก่ียวขอ้ งกบั งานระบบฐานขอ้ มลู (ม.ป.ป.)
คน้ เม่ือวนั ท่ี 11 ตลุ าคม 2564
https://sites.google.com/site/khxmulsarsntat1zaka1eieita1olo/kar-cad-keb-khxmul-sarsnthes/xngkh-
prakxb-khxng-rabb-than-khxmul
ประโยชนข์ องฐานขอ้ มลู (ม.ป.ป.) คน้ เม่ือวนั ท่ี 11 ตลุ าคม 2564.
https://www.srisangworn.go.th/home/databaselearn/cs2t3-2.htm
รูปแบบของฐานขอ้ มลู (ม.ป.ป.) คน้ เม่ือวนั ท่ี 11 ตลุ าคม 2564.
https://learning-daraaccess.blogspot.com/2019/12/2_12.html
แบบจาลองของฐานขอ้ มลู (ม.ป.ป.) คน้ เม่ือวนั ท่ี 2 ตลุ าคม 2564.
https://sites.google.com/site/rabbthankhxmul778/than-khxmul/baeb-calxngthan-khxmul
ระบบการจดั การ RDBMS (ม.ป.ป.) คน้ เม่ือวนั ท่ี 11 ตลุ าคม 2564.
http://www.thaigoodview.com/library/contest2552/type2/tech04/22/cit/6_6.ht
คาศพั ทแ์ ละความสมั พนั ธ์ เร่อื ง คาศพั ทพ์ ืน้ ฐาน (ม.ป.ป.) คน้ เม่ือวนั ท่ี 11 ตลุ าคม 2564.
https://sites.google.com/site/natthawadi33/kha-saphth-laea-khwam-samphanth
37
คาศพั ทแ์ ละความสมั พนั ธ์ เรอ่ื ง ความสมั พนั ธร์ ะหวา่ งเอนทติ ี (ม.ป.ป.) คน้ เม่ือวนั ท่ี 11 ตลุ าคม
2564.
https://sites.google.com/site/nganklumthankhxmul/khwam-samphanthrahwang-xe-nthi-ti
คาศพั ทแ์ ละความสมั พนั ธ์ เรอ่ื ง ประเภทของคีย์ (Key) (ม.ป.ป.) คน้ เม่ือวนั ท่ี 11 ตลุ าคม 2564.
https://www.bloggang.com/m/viewdiary.php?id=phuvadetz&month=08-
2010&date=02&group=1&gblog=8
38