Important Announcement
PubHTML5 Scheduled Server Maintenance on (GMT) Sunday, June 26th, 2:00 am - 8:00 am.
PubHTML5 site will be inoperative during the times indicated!

Home Explore ความรู้พื้นฐานระบบฐานข้อมูล

ความรู้พื้นฐานระบบฐานข้อมูล

Published by deunnony, 2020-06-25 04:29:44

Description: ความรู้พื้นฐานระบบฐานข้อมูล

Search

Read the Text Version

วิชาระบบฐานขอ้ มลู และการออกแบบ ภาพ 1.1 ประกอบการจัดการเรียนการสอน ครูแสงเดือน เพ็ญศศิธร ใชใ้ นการเรยี นการสอนเทา่ น้ัน

จดุ ประสงค์รายวชิ า 1. เข้าใจเกย่ี วกับการออกแบบฐานขอ้ มลู 2. มีทกั ษะในการใช้โปรแกรมจัดการระบบฐานขอ้ มูล 3. มคี ุณลกั ษณะนิสัยท่ีพึงประสงค์ และเจตคติที่ดใี นวิชาชพี คอมพวิ เตอรธ์ รุ กิจ มาตรฐานรายวิชา 1. แสดงความร้เู ก่ียวกบั หลักการระบบฐานข้อมูลและการออกแบบ 2. ออกแบบฐานข้อมลู เชิงสัมพันธ์ตามหลกั การของการจดั รูปแบบบรรทดั ฐาน 3. ใชโ้ ปรแกรมสาเรจ็ รปู ในการจัดการฐานขอ้ มูล คาอธบิ ายรายวชิ า ศึกษาและปฏิบัติเก่ยี วกบั หลกั การของระบบฐานขอ้ มูล ขั้นตอนการพัฒนาระบบฐานข้อมูล สถาปัตยกรรมฐานข้อมลู แบบจาลองข้อมลู การวิเคราะห์และการออกแบบฐานข้อมูล แบบจาลองเอนทิต้ีและ ความสมั พันธ์ รูปแบบบรรทัดฐาน การออกแบบฐานขอ้ มูลเชงิ สัมพนั ธ์ ภาษามาตรฐานบนระบบฐานข้อมลู เชงิ สมั พนั ธ์ การเกดิ ภาวะพร้อมกนั และการก้คู นื การประยกุ ตใ์ ช้ฐานข้อมูลเพ่ือพฒั นาระบบงาน กรณีศึกษา สารบัญ บทที่ 1 รจู้ ักกับระบบฐานขอ้ มลู และการออกแบบ บทที่ 2 ฐานข้อมลู เชิงสัมพันธ์ บทที่ 3 การแสดงความสมั พันธ์ของข้อมูลดว้ ย ER Model บทท่ี 4 ข้อมูลในรปู แบบบรรทัดฐาน บทท่ี 5 Data Definition Language บทท่ี 6 Data Manipulation Language บทที่ 7 Data Retrieval Command บทท่ี 8 การเรียกดูขอ้ มูลข้ันสงู บทที่ 9 การใช้ SQL Function บทท่ี 10 Data Control Language บทที่ 11 Transaction Command บทท่ี 12 ฐานข้อมลู แบบกระจาย บทท1่ี 3 แนะนาโปรแกรมฐานขอ้ มลู MySQL บทที่ 14 การตดิ ตัง้ โปรแกรมฐานข้อมลู MySQL บทที่ 15 การใช้งานโปรแกรมฐานขอ้ มลู MySQL ดว้ ย PhpMyAdmin ครแู สงเดอื น เพญ็ ศศธิ ร ใชใ้ นการเรียนการสอนเทา่ น้ัน

1. ความหมาย และบอกความสาคัญของ Database Management System – DBMS ระบบฐานข้อมูลและการออกแบบ (Data Base Management system- DBMS) คือ ซอฟต์แวร์ที่เปรียบเสมือนสื่อกลาง ระหว่างผู้ใช้และโปรแกรมต่าง ๆ ที่เกี่ยวข้องกับการใช้ฐานข้อมูล ซึ่งมีหน้าท่ีช่วยให้ผู้ใช้เข้าถึงข้อมูลได้ง่ายสะดวกและมี ประสทิ ธิภาพ ความสาคญั คอื เปน็ ตัวทีค่ อยควบคุมดูแลการใชฐ้ านข้อมูล (Database) การเข้าถึงข้อมูลของผู้ใช้อาจเป็นการสร้างฐานข้อมูล การแก้ไขฐานข้อมูล หรือการเรียกดูข้อมูลตามเง่ือนไขต่างๆออกมา โดยผู้ใช้ไม่จาเป็นต้องรับรู้เกี่ยวกับรายละเอียดภายใน โครงสร้างของฐานข้อมูล 2. ความเป็นอิสระของข้อมูล (Data Independence) แบ่งออกเป็นกี่ระดับ และให้อธิบายลักษณะท่ีสาคัญในแต่ละระดับ ดว้ ย ความเป็นอิสระของขอ้ มูล (Data Independence) แบ่งไดเ้ ป็น 2 ระดบั คอื  ความเปน็ อสิ ระของข้อมลู เชงิ ตรรกะ (Logical Data Independence) เป็นความอิสระของข้อมูลในระดับแนวคิด (Conceptual Level) กับระดับภายนอก (External Level) หากมีการเปล่ียนแปลง โครงสร้างข้อมูลในระดบั แนวคดิ แล้วจะไมม่ ีผลต่อโครงสร้างในระดับภายนอก หรือโปรแกรมประยุกต์ เช่นการเพิ่มฟิลด์ใหม่เข้าไป ในฐานข้อมูล  ความเปน็ อสิ ระของข้อมูลเชิงกายภาพ (Physical Data Independence) เปน็ ความอสิ ระของข้อมูลในระดบั ภายใน (Internal Level) กับระดับแนวคดิ (Conceptual Level) หรือระดับภายนอก (External Level) หากมีการเปล่ียนแปลงในระดับภายใน เช่น การเพ่ิมประสิทธิภาพ การการเรยี กดขู ้อมูลใหเ้ รว็ ขนึ้ โดยการปรบั ปรงุ โครงสรา้ งภายใน จะไมก่ ระทบตอ่ โครงสร้างระดับแนวคดิ หรือโครงสร้างภายนอก 3. ขอ้ เสยี ของการจดั เกบ็ ขอ้ มูลในระบบแฟ้มข้อมลู (File System) - Data Redundancy เป็นปัญหาความซ้าซ้อนกันของข้อมูล ซ่ึงเกิดจากการที่จัดเก็บข้อมูลเรื่องเดียวกันไว้มากกว่า 1 แฟม้ ขอ้ มูล เช่น ฝา่ ยบคุ คลจัดเก็บระบบแฟ้มข้อมลู พนกั งาน และพนักงานขายไว้แยกกนั - Data Inconsistency เป็นปัญหาความไม่ถูกต้องของข้อมูล อันเนื่องจากปัญหาเรื่องความซ้าซ้อนที่ผ่านมา มีการจัดเก็บ ข้อมูลเดียวกันไว้หลายๆแฟ้มข้อมูล ทาให้บางครั้งข้อมูลอาจไม่ตรงกัน สรุปไม่ได้ว่าข้อมูลในแฟ้มข้อมูลไหนเป็นข้อมูลที่ ถูกต้องกันแน่ - Data Anomalyเป็นปัญหาอีกลักษณะหน่ึงของการจัดเก็บข้อมูล อันเน่ืองมาจากการจัดเก็บข้อมูลเดียวกันไว้ในหลายๆ แฟ้มขอ้ มลู โดยปัญหา Data Anomaly น้ีจะเกดิ ข้ึนจากการเปล่ียนแปลงขอ้ มูล คือ การเพม่ิ ลบ และแก้ไขข้อมลู แบ่งเป็น 3 ลักษณะ * Insertion Anomaly จะเกิดขึ้นเม่ือมีการเพิ่มข้อมูลใหม่ลงในแฟ้มข้อมูล เช่น มีพนักงานใหม่ช่ือ นาย E มาทางาน โดยพนกั งานคนนี้ทางานในตาแหน่งพนักงานขายด้วย บริษัทได้ทาการเพ่ิมข้อมูลของนาย E ลงไปในแฟ้มข้อมูลพนักงาน แต่ไม่ได้ เพม่ิ ลงในแฟ้มข้อมลู พนักงานขายด้วย หรอื ในทางกลบั กนั กเ็ ช่นเดียวกนั * Deletion Anomaly จะเกิดขึ้นเมื่อมีการลบข้อมูลในแฟ้มข้อมูล เช่น มีพนักงานชื่อ นาย C ได้ลาออกจากการเป็น พนักงานของบริษัท แต่ทางบริษัทได้ทาการลบข้อมูลของนาย C ออกจากแฟ้มข้อมูลพนักงานท่านั้น แต่ไม่ได้ลบข้อมูลของนาย C ออกจากแฟ้มข้อมูลพนักงานขายดว้ ย หรอื ในทางกลับกนั ก็เชน่ เดยี วกนั * Update Anomaly จะเกิดข้ึนเม่ือมีการแก้ไขข้อมูลในแฟ้มข้อมูล เช่น พนักงานช่ือ นาย A ได้ทาการเปล่ียนช่ือเป็น นาย AA บริษัทได้ทาการแก้ไขช่ือเป็น นาย AA ในแฟ้มข้อมูลพนักงาน แต่ไม่ได้แก้ไขในแฟ้มข้อมูลพนักงานขายด้วย หรือในทาง กลบั กนั ก็เช่นเดยี วกัน ครแู สงเดือน เพ็ญศศธิ ร ใช้ในการเรียนการสอนเท่าน้นั

ความหมายของระบบฐานขอ้ มูล  ฐานข้อมลู (Database) หมายถงึ กลมุ่ ของข้อมูลท่มี ีความสัมพนั ธ์กัน นามาเก็บรวบรวมเข้าไว้ด้วยกนั อยา่ งมรี ะบบและ ขอ้ มลู ที่ประกอบกันเป็นฐานข้อมลู น้ัน ตอ้ งตรงตามวัตถุประสงค์การใชง้ านขององคก์ รดว้ ย เชน่ “ฐานข้อมูลบคุ ลากร”  ระบบฐานข้อมูล (Database System) หมายถงึ การรวมฐานข้อมูลต่างๆ ท่ีมีความสมั พันธก์ นั หรือเป็นระบบงานท่ี เก่ยี วขอ้ งกันบางสว่ น  ระบบจัดการฐานข้อมูล (Database Management System ) หมายถึงกล่มุ โปรแกรมหรอื ซอฟต์แวร์ชนิดหนงึ่ ท่สี รา้ ง ขึน้ มาเพ่อื ทาหน้าท่ีบรหิ ารฐานข้อมลู ให้มปี ระสทิ ธิภาพมากที่สุด เป็นเครอ่ื งมือทีช่ ว่ ยอานวยความสะดวกสาหรับผู้ใช้ DBMS เป็นตัวกลางในการเช่ือมโยงระหว่างผ้ใู ช้และโปรแกรมต่างๆ ที่เก่ยี วข้องกบั ฐานข้อมลู ปจั จุบนั ที่นยิ มใช้ได้แก่ Microsoft Access ,Visual FoxPro ,Oracle ,SQL Server เปน็ ต้น ประโยชน์ของระบบจดั การฐานขอ้ มูล  ลดความซ้าซ้อนของข้อมูล  สามารถหลีกเลยี่ งความขดั แย้งของขอ้ มลู ได้ระดับหน่งึ  สามารถควบคุมเป็นมาตรฐานได้  มีระบบความปลอดภัยสงู  สามารถควบคุมความคงสภาพของข้อมูลได้  สามารถสร้างความสมดุลในความขัดแย้งของความต้องการได้  สามารถสรา้ งความเปน็ อสิ ระของขอ้ มูล ครูแสงเดอื น เพ็ญศศิธร ใชใ้ นการเรยี นการสอนเท่านั้น

คาศัพทพ์ ้ืนฐานของระบบจดั การฐานข้อมลู  ฐเอนทติ ี้ (Entity) คือ สิ่งท่ผี ู้ใช้งานฐานขอ้ มลู ต้องการจะจัดเก็บ ซง่ึ อาจจะเป็นสง่ิ ทีเ่ ป็นรปู ธรรมคือสามารถมองเหน็ ไดด้ ้วยตา  แอททริบิวต์ (Attribute) คือ รายละเอยี ดของข้อมูลใน Entity เชน่ Entity นักศึกษา ประกอบด้วย Attribute รหสั นักศกึ ษา ชือ่ -นามสกลุ ที่อยู่ คณะ สาขาวชิ า เป็นตน้ หรอื Entity พนกั งาน ประกอบดว้ ย Attribute รหัสพนักงาน ชอื่ -นามสกุล แผนก เงนิ เดือน เป็นต้น ดงั น้ัน Attribute จงึ มคี วามหมายเหมอื นกับ เขตข้อมูล (Field)  ทูเพิล (Tuple) คือ คา่ ของข้อมลู ในแต่ละแถว (Row) หรือเรียกวา่ ระเบียน (Record) ลกั ษณะความสมั พันธข์ องฐานข้อมลู  ความสัมพนั ธ์แบบหนึ่งต่อหนึง่ (One-to-one Relationships) เป็นการแสดงความสมั พันธ์ของข้อมลู ในเอนทติ ีห้ น่งึ ท่ี มคี วามสัมพันธ์กับข้อมลู ในอีกเอนทติ ห้ี นง่ึ ในลักษณะหน่ึงต่อหนึง่ (1 : 1)  ความสมั พันธแ์ บบหน่ึงต่อกลมุ่ (One-to-many Relationships) เปน็ การแสดงความสัมพันธ์ของข้อมูลในเอนทิตี้หน่งึ ท่ีมีความสัมพันธ์กบั ขอ้ มูลหลาย ๆ ข้อมลู ในอีกเอนทิต้หี น่ึง ในลกั ษณะ (1:m)  ความสมั พันธ์แบบกลุ่มต่อกลุม่ (Many-to-many Relationships) เปน็ การแสดงความสมั พนั ธ์ของข้อมูลสองเอนทติ ี้ ในลักษณะกลุ่มตอ่ กลุ่ม (m:n) คาศพั ท์ท่ีใชใ้ นการประมวลผลข้อมลู ในคอมพิวเตอร์  เขตขอ้ มูล (Field) หมายถงึ หนว่ ยของข้อมูลทปี่ ระกอบขึ้นจากตัวอกั ขระตั้งแตห่ นง่ึ ตัวข้ึนไปมารวมกันแลว้ ได้ความหมาย ของสง่ิ ใดสงิ่ หนงึ่ เช่น ช่ือ ทอี่ ยู่ เป็นตน้  ระเบยี น (Record) หมายถึง หนว่ ยของข้อมูลท่ีเกดิ จากการนเอาเขตขอ้ มลู หลาย ๆ เขตข้อมูลมารวมกนั เพือ่ เกดิ เป็น ขอ้ มลู เรื่องใดเร่ืองหนึ่ง เชน่ ข้อมลู ของนกั ศกึ ษา 1 ระเบียน (1 คน)  ตาราง (Table) หมายถึงหน่วยของข้อมลู ทเ่ี กิดจากการนาข้อมลู หลาย ๆ ระเบียน(Record) หรอื ตั้งแต่หน่ึงระเบียน (Record) ข้นึ ไปมารวมกนั เช่น ตารางขอ้ มลู นกั ศึกษา ตารางข้อมลู ลกู ค้าตาราง ข้อมูลพนักงาน ครแู สงเดอื น เพ็ญศศิธร ใช้ในการเรียนการสอนเทา่ นั้น

ชนิดของคยี ์ KEY  คีย์หลกั (Primary Key) เป็นฟิลดท์ ีม่ ีคา่ ไม่ซา้ ซ้อนกนั ในทุกเรคคอร์ด ในตารางน้นั  คีย์คแู่ ขง่ (Candidate Key) เป็นฟิลดห์ น่งึ หรอื หลายฟลิ ดท์ ่ีมีคุณสมบัติเป็น Primary Keyได้แต่ไม่ไดเ้ ป็นคยี ์หลัก เช่น ชอื่ และนามสกุล สามารถกันเป็นคียค์ ู่แข่งได้  คยี ร์ วม (Compound Key) เป็นคีย์ทเ่ี กดิ จากการรวมข้อมูลหลายฟลิ ดใ์ ห้มีคณุ สมบัติเหมือนคยี ห์ ลกั (มคี ่าไม่ซ้ากนั และ ไม่มีค่าว่าง หรือ null value) เชน่ การนาฟิลดช์ ื่อพนักงาน มารวมกับฟลิ ดส์ กลุ ของพนักงาน ทาใหเ้ กดิ เปน็ ฟลิ ด์ข้อมลู ที่มคี า่ ไม่ซ้าซอ้ นกนั เราเรยี กคยี ท์ ีเ่ กดิ จากการรวมช่อื พนักงาน และสกุลวา่ Compound Key หรอื คยี ์รวม  คียน์ อก (Foreign Key) เป็นคยี ท์ ี่เช่อื ม Table ทีเ่ กยี่ วข้องหรือมีความสัมพนั ธ์กนั เชน่ ใน Table หลักสตู ร กาหนดให้ รหสั วิชาเปน็ Primary Key และทาการเช่ือมโยงไปยงั Table ลงทะเบียนเพื่อต้องการทราบช่ือวชิ าและหนว่ ยกิตที่ นกั เรียนลงทะเบียน โดยกาหนดฟลิ ด์ รหัสวชิ า ใน Table ลงทะเบียนเปน็ Foreign Key ในลกั ษณะความสมั พนั ธ์ One to Many หมายความว่า รหสั วิชา 1 วิชา สามารถให้นักเรียนลงทะเบียนได้มากกว่า 1 คน ดงั น้นั จงึ มรี หสั ซา้ กนั ได้ใน Table ลงทะเบียน การออกแบบฐานขอ้ มลู การออกแบบฐานข้อมูลมีขั้นตอนดงั นี้ 1. กาหนดเอนทติ ี Entity ทกุ ตวั ในระบบฐานข้อมูลน้นั ๆ ตวั อยา่ งเช่น ในระบบฐานข้อมลู การลงทะเบียนเรียนประกอบด้วย เอนทติ ี้ใบลงทะเบยี น ประวัตินักศกึ ษาและรายวิชา 2. กาหนดคีย์หลักและแอตทรบิ ิวต์ต่าง ๆ ของเอนทิตีในระบบฐานข้อมลู เพ่ือประโยชน์ในการนาไปจัดการฐานข้อมลู เป็น ลาดับถดั ไป 3. กาหนดความสมั พันธร์ ะหวา่ งเอนทิตี ครูแสงเดอื น เพ็ญศศิธร ใชใ้ นการเรยี นการสอนเท่านนั้


Like this book? You can publish your book online for free in a few minutes!
Create your own flipbook