บทที่ 1รู้จกั กบั ระบบฐานข้อมูล
สาระสาคญั ขอ้ มูลนบั ว่าเป็ นส่ิงท่ีมีความสาคญั ต่อหน่วยงาน หรือองคก์ รทุกแห่ง เน่ืองจากขอ้ มูลจะเป็นเสมือนเคร่ืองมือท่ีช่วยประกอบการตดั สินใจ ถา้ หน่วยงาน หรือองคก์ รใดขาดซ่ึงขอ้ มูลกจ็ ะไม่สามารถขบั เคลื่อนธุรกิจใหบ้ รรลุวตั ถุประสงคไ์ ดเ้ ลย
จุดประสงค์ทว่ั ไป1. เพ่อื ใหท้ ราบความหมาย และลกั ษณะของระบบแฟ้ มขอ้ มูล2. เพ่ือใหท้ ราบถึงปัญหาในการจดั เกบ็ ขอ้ มูลในระบบแฟ้ ม3. เพือ่ ใหท้ ราบความหมายของความเป็นอิสระของขอ้ มูล4. เพือ่ ใหท้ ราบความหมาย และองคป์ ระกอบของระบบฐานขอ้ มลู5. เพอื่ ใหท้ ราบขอ้ มลู และองคป์ ระกอบของ DBMSเนือ้ หาสาระ1. ระบบแฟ้ มขอ้ มูล (File Systems)2. Data Independene3. ความหมายของระบบฐานขอ้ มลู4. องคป์ ระกอบของ DBMS
1.1 ระบบแฟ้ มข้อมูล ในอดีตองคก์ ร หรือบริษทั ต่างๆจะใชว้ ิธีการเกบ็ ขอ้ มลู ต่างๆ เช่น ขอ้ มูลพนกั งาน ขอ้ มลูลกู คา้ ขอ้ มลู การขาย เป็นตน้ ไวภ้ ายในแฟ้ มเอกสาร จากเร่ิมแรกองคก์ ร หรือบริษทั อาจมีขอ้ มูลไม่มากนกั ดงั น้นั การคน้ หาขอ้ มลู จากแฟ้ มเอกสารกจ็ ะสามารถทาไดง้ ่าย แต่ต่อมาเม่ือองคก์ ร หรือบริษทั มีขอ้ มลู ปริมาณมากข้ึนจานวนแฟ้ มเอกสารกม็ ีปริมาณมากข้ึนทาใหก้ ารคน้ หา และจดั การขอ้ มูลทาไดอ้ ยา่ งยากลาบาก
1.2 DATA INDEPENDENCE ปัญหาอยา่ งหน่ึงในระบบแฟ้ มขอ้ มลู (FILE SYSTEMS) คือ เม่ือมีการเปล่ียนแปลงโครงสร้างทางกายภาพของแฟ้ มขอ้ มูลใดจะตอ้ งมีการเปลี่ยนแปลงโปรแกรมต่างๆ ที่เรียกใชข้ อ้ มลูน้นั ดว้ ย ดว้ ยเหตุน้ีภายในระบบในพ้ืนฐานขอ้ มลู จึงมีการปรับปรุงกาหนดใหข้ อ้ มูลตอ้ งเป็นอิสระจากตวั โปรแกรมที่เรียกใช้ เพ่ือที่จะสามารถแกไ้ ขโครงสร้างทางกายภาพของขอ้ มลู ได้ โดยไม่กระทบต่อโปรแกรมที่เรียกใชข้ อ้ มูลจากฐานขอ้ มูลน้นั ลกั ษณะน้ีเรียกวา่ ขอ้ มูลมีความเป็นอิสระต่อกนั (DATA INDEPENDENCE) ซ่ึงแบ่งไดเ้ ป็น 2 ระดบั คือ• ความเป็นอิสระขอ้ งขอ้ มลู เชิงตรรกะ (LOGICAL DATA INDEPENDENCE)• ความเป็นอิสระของขอ้ มูลเชิงกายภาพ (PHYSICAL DATA INDEPENDENCE)
1.3 ความหมายของระบบฐานข้อมูล จากปัญหาต่างๆ ของการจดั เก็บขอ้ มูลในระบบแฟ้ มขอ้ มูล (File Systems) ในหวั ขอ้ท่ีผา่ นมาทาใหเ้ กิดวธิ ีการจดั เกบ็ ขอ้ มลู ในรูปแบบใหม่กวา่ ที่เรียกวา่ ฐานขอ้ มูล (database)โดยฐานขอ้ มูล หมายถึง กลุ่มของ ขอ้ มลู ที่ถูกเกบ็ รวบรวมไว้ โดยมีความสัมพนั ธ์ซ่ึงกนั และกนั มีการกาจดั ความซ้าซอ้ นของขอ้ มูลออก และเก็บขอ้ มูลเหล่าน้ีไวท้ ี่ศูนยก์ ลาง เพ่ือท่ีจะนาขอ้ มูลเหล่าน้ีมาใชร้ ่วมกนั
1.4 องค์ประกอบของ DBMS จากในหัวขอ้ ท่ีผ่านมาเราไดท้ ราบความหมายและหน้าท่ีของ DBMS ไปแลว้ ในหัวขอ้ น้ีเราจะมาเจาะลึกในส่วนของ DBMS ใหม้ ากข้ึน โดยจะมาทาความเขา้ ใจหนา้ ท่ีขององคก์ รของ DBMS ซ่ึงแบ่งองคป์ ระกอบของ DBMS ไดเ้ ป็น 4 ส่วน ดงั ต่อไปน้ี-Data Definition-Data Manipulation-Application Generation-Data Administration
บทที่ 2ฐานข้อมูลเชิงสัมพนั ธ์
สาระสาคญั ฐานขอ้ มูลเชิงสัมพนั ธ์ เป็ นฐานขอ้ มูลท่ีได้รับความนิยมใช้กันมากท่ีสุดในปัจจุบนั เน่ืองจาก ความง่ายในการทาความเขา้ ใจ และท่ีสาคญั คือ เป็ นฐานขอ้ มูลที่สามารถแกป้ ัญหาในเร่ืองของ Data Redundancy และ Data Inconsistency รวมท้งั มีการแยกโครงสร้างของฐานขอ้ มลู ออกเป็น Logical และ Physical ดว้ ย
จุดประสงค์ทวั่ ไป1. เพอ่ื ใหร้ ู้จกั โครงสร้างของฐานขอ้ มลู เชิงสัมพนั ธ์2. เพื่อใหท้ ราบหลกั การควบคุมความถกู ตอ้ ง3. เพ่อื ใหร้ ู้จกั คียป์ ระเภทต่างๆ4. เพ่ือใหร้ ู้จกั กฎความคงสภาพของ Entity5. เพื่อใหร้ ู้จกั กฎความคงทนของการอา้ งอิงเนือ้ หาสาระ1. โครงสร้างของฐานขอ้ มูลเชิงสมั พนั ธ์2. การควบคุมความถกู ตอ้ งใหก้ บั ขอ้ มูล (Data Integrity)
2.1 โครงสร้างของฐานขอ้ มูลเชิงสัมพนั ธ์ ฐานขอ้ มูลเชิงสมั พนั ธ์ เป็ นการจดั เกบ็ ขอ้ มูลในรูปแบบของตาราง (Table) ที่มีลกั ษณะเป็นสองมิติ คือ แถว (Rom) และคอลมั น์ (Column) ฐานขอ้ มูล (Database)2.2 การควบคุมความถกู ตอ้ งใหก้ บั ขอ้ มูล (Data Integrity) เพ่ือความถูกตอ้ งของขอ้ มูลภายในฐานขอ้ มูลจึงไดม้ ีการต้งั กฎเพื่อควบคุมความถูกตอ้ งของขอ้ มลู ข้ึนเรียกวา่ Data Integrity หรือ Integrity Rule ดงั น้ี • พนกั งานแต่ละคนตอ้ งสงั กดั ในแผนกงานใดแผนกงานหน่ึง • การระบุเพศของพนกั งานใหใ้ ชส้ ัญลกั ษณ์ M= เพศชาย และ F=เพศหญิง • วนั เดือนปี เกิดของพนกั งานใหจ้ ดั เกบ็ อยใู่ นรูปแบบ วนั /เดือน/ปี • เงินเดือนของพนกั งานตอ้ งเป็นคา่ บวก จะติดลบไม่ได้
บทที่ 3การแสดงความสมั พนั ธ์ของขอ้ มลู
สาระสาคญั Entity Relationship Model (ER Model) เป็นเครื่องมือท่ีใชส้ าหรับการออกแบบฐานข้อมูลในระดับแนวคิดโดยใช้ในการวาดแสดงความสมั พนั ธ์ของขอ้ มลู ต่างๆภายในฐานขอ้ มูล ER Model พฒั นาโดยPeter Pin Shan จาก Massachusetts Institute of Technology (MT) ในปี พ.ศ. 1976 เน้ือหาในบทน้ีเร่ิมจากการใหค้ วามหมายของสญั ลกั ษณ์ต่างๆท่ีใชใ้ น ER Model ต่อจากน้ันจะแสดงตวั อย่างการสร้าง ERModel และในส่วนสุดทา้ ยจะเป็นการเปลี่ยน ER Model ใหเ้ ป็นตาราง
จุดประสงค์ทว่ั ไป1. เพอ่ื ใหท้ ราบความหมาย และรู้จกั สญั ลกั ษณ์ต่างๆของ ER Model2. เพื่อใหท้ ราบแต่ละประเภทของ Entity3. เพ่อื ใหท้ ราบแต่ละประเภทของ Attributes4. เพือ่ ใหท้ ราบแต่ละประเภทของ Relationship5. เพื่อใหเ้ ขา้ ใจกระบวนการสร้าง ER Diagram6. เพ่ือใหท้ ราบวธิ ีการเปลี่ยนแปลง ER Diagram เป็นตาราง
เนือ้ หาสาระ 1. ความหมายของสญั ลกั ษณ์ต่างๆ ของ ER Model 2. วธิ ีการสร้าง ER Diagram 3. การแปลง ER Diagram เป็นตาราง
3.1 ความหมายของสญั ลกั ษณ์ต่างๆของ ER Model Entity คือ สิ่งท่ีมีอยจู่ ริง จบั ตอ้ งได้ ใชส้ าหรับเกบ็ ขอ้ มลู ภายในระบบ เช่น บุคคล สินคา้ แผนกงาน เป็นตน้ Entity แบ่งออกเป็น 2 ประเภท คือ 1. Regular Entity คือ Entity ทว่ั ๆไปท่ีตวั Entity เองมีคุณสมบตั ิท่ีสามารถกาหนดใหเ้ ป็นเอกลกั ษณ์เฉพาะกบั Entity ได้ ไม่ตอ้ งอาศยั Entity อ่ืนในการคงตวั 2. Weak Entity คือ Entity อ่อนแอ ท่ีไม่สามารถคงอยไู่ ด้ ตอ้ งอาศยั Entity อ่ืนในการคงตวั Attribute คือ คุณสมบตั ิหรือลกั ษณะของ Entity เป็ นการแสดงรายละเอียด ทาให้ทราบว่าEntity เกบ็ ขอ้ มูลอะไรบา้ ง สญั ลกั ษณ์ของ Attribute จะใชร้ ูปวงรีระบุช่ือของ Attribute โดยมีเส้นตรงเชื่อมต่อออกมาจาก Entity
3.2 วิธีการสร้าง ER Diagram ข้นั ตอนการสร้าง ER Diagram แสดงใหเ้ ขา้ ใจไดง้ ่ายต่อไปน้ีอธิบายข้นั ตอนท้งั 6 ข้นั ตอน ไดด้ งั น้ี 1. ศึกษาถึงลกั ษณะหนา้ ที่งานระบบ (Business Function) วา่ มีรายละเอียดของการทางานและขอ้ มูลที่เก่ียวขอ้ งอะไรบา้ ง โดยข้นั ตอนน้ีสามารถศึกษาไดจ้ ากเอกสาร รายงาน การสัมภาษณ์ หรือการเฝ้ าสงั เกตการณ์ 2. กาหนด Entity ที่ควรจะมีอยใู่ นฐานขอ้ มลู ฐานขอ้ มลู หน่ึงๆ ประกอบดว้ ยหลาย Entityโดยการกาหนด Entity จะตอ้ งคาถึงถึงประเภท Entity คือ Regular Entity และ Weak Entity
3. กาหนด Relationship ระหวา่ ง Entity วา่ มีความสมั พนั ธ์อยา่ งไรบา้ ง รวมถึงกาหนดชนิดความสมั พนั ธว์ า่ เป็นอยา่ งไร (1:1,1:M,M:M) 4. กาหนด Attributes ของ Entity วา่ ควรมีรายละเอียดอะไรบา้ ง พร้อมท้งั พิจารณาวา่ Attributes ใดบา้ งท่ีเป็นแบบ Composite Attribute หรือ Derived Attribute 5. กาหนด Key ของแต่ละEntity วา่ จะใชร้ ายละเอียดของขอ้ มลู ใดเป็นคียข์ องEntity น้นั ๆ ซ่ึงจะตอ้ งเป็นรายละเอียดของขอ้ มูลที่มีค่าเป็นเอกลกั ษณ์ หรือ ค่าเฉพาะไม่ซ้าซอ้ นใน Entity น้นั ๆ 6. ประกอบส่วนประกอบท้งั หมด และอาจมีการปรับปรุงเคา้ ร่างใหม่ (RefinementPrimitive) เพ่ือเป็นการทบทวน ER Diagram เพ่อื ใหไ้ ด้ ER Diagram ที่สมบูรณ์
บทที่4ขอ้ มูลในรูปแบบบรรทดั ฐาน
สาระสาคญั ประเด็นท่ีสาคญั ของฐานขอ้ มูลเชิงสัมพนั ธ์ คือการออกแบบฐานขอ้ มูลให้ขอ้ มูลท่ีจดั เก็บไวภ้ ายตารางขอ้ มูล (Table) ไม่มีความซ้าซอ้ นเกิดข้ึน ดงั น้นั Normalization ก็คือการปรับปรุงโครงสร้างขอ้ มูลของฐานขอ้ มูลที่มีความซ้าซ้อนให้อยู่ในรูปแบบที่เป็ นบรรทดั ฐาน เน้ือหาในบทน้ีจะเร่ิมจากการอธิบายถึงปัญหาของการจดั การขอ้ มูล ต่อดว้ ยหลกั การของ Functional Dependency และการทา Normalization ในระดบั ต่างๆ
จุดประสงค์ทว่ั ไป 1. เพ่อื ใหเ้ ขา้ ใจถึงปัญหาต่างๆของการจดั การฐานขอ้ มลู 2. เพื่อใหท้ ราบความหมายของ Functional Dependency 3. เพ่อื ใหท้ ราบ และเขา้ ใจลกั ษณะของ Functional Dependency ในแต่ละประเภท 4. เพอ่ื ใหเ้ ขา้ ใจวธิ ีการจดั การขอ้ มูลใหอ้ ยใู่ นรูปแบบบรรทดั ฐาน 5. เพ่ือใหท้ ราบลกั ษณะของรูปแบบบรรทดั ฐานในแต่ละข้นั
เนือ้ หาสาระ 1. ปัญหาการจดั การฐานขอ้ มูล (Anomalies) 2. Functional Dependency 3.การจดั การขอ้ มลู ในรูปแบบบรรทดั ฐาน (Normalization)
4.1 ปัญหาการจัดการฐานข้อมูล (Anomalies) Anomalies เป็นปัญหาที่สาคญั ในการจดั การฐานขอ้ มูล โดยมีท้งั หมด 3 ประเภท คือ การเพ่มิ ลบ แกไ้ ข ในการอธิบายจะใชก้ ารเกบ็ ขอ้ มลู พนกั งาน ต่อไปน้ี• ปัญหาการเพม่ิ ขอ้ มลู (Insertion Anomalies)• ปัญหาการลบขอ้ มลู (Deletion Anomalies)• ปัญหาการแกไ้ ขขอ้ มลู (Update Anomalies)
ข้อสังเกต ในการทา NORMALIZATION ตารางฐานขอ้ มูลจะช่วยแกป้ ัญหาเรื่องการจดั การฐานขอ้ มูลท้งั 3กรณีไดค้ ือ INSERTION ANOMALIES, DELETION ANOMALIES และ UPDATE ANOMALIESได้ แต่เมื่อเราทาได้ NORMALIZATION ตารางฐานขอ้ มูลโดยเฉพาะเมื่อทา NORMAL FORM ในระดบั ที่สูงข้ึนเร่ือยๆแลว้ จะทาใหเ้ กิดการแตกตารางเพิ่มข้ึน ดงั น้นั ปัญหาท่ีตามมากค็ ือ การเขา้ ถึงขอ้ มลู ในตารางท้งั หมด จะตอ้ งใชว้ ิธีการเช่ือมตาราง (JOIN TABLE) ซ่ึงการเขียน SQL(STRUCTURE QUERY LANGUAGE) เพ่ือเชื่อมตารางกจ็ ะมีความยงุ่ ยากมากข้ึน และการเขา้ ถึงขอ้ มูลจากหลายๆ ตารางกจ็ ะใชเ้ วลาในการเขา้ ถึงมากกวา่ เดิม
บทท่ี 5Data Definition Language
สาระสาคญั เมื่อเราไดอ้ อกแบบ และทาการ Normalization ตารางฐานขอ้ มูลเรียบร้อยแลว้ เราจะตอ้ งมาเรียนรู้กบั ภาษา SQL ซ่ึงเป็นภาษาในการจดั การฐานขอ้ มูลเชิงสัมพนั ธ์ และภาษา SQL น้ีก็ได้แบ่งออกเป็นหลายประเภท เน้ือหาบทที่น้ีจะกล่าวถึงประเภทของ SQL ในการนิยามโครงสร้างของขอ้ มลู นนั่ กค็ ือ Data Definition Language หรือเรียกส้นั ๆวา่ DDL
จุดประสงค์ทวั่ ไป 1. เพอื่ ใหท้ ราบถึงความหมายของ SQL ประเภท Data Definition Language 2. เพื่อใหท้ ราบถึงคาสงั่ ในการสร้างฐานขอ้ มูล และตารางฐานขอ้ มลู 3. เพอ่ื ใหท้ ราบถึงคาสง่ั ในการแกไ้ ขโครงสร้างตารางฐานขอ้ มูล 4. เพอื่ ใหท้ ราบถึงคาสงั่ ในการลบฐานขอ้ มลู และตารางฐานขอ้ มูล
เนือ้ หาสาระ 1. ความหมายของ Data Definition Language 2. การใชง้ านคาสง่ั CREATE 3. การใชง้ านคาสง่ั ALTER 4. การใชง้ านคาสงั่ DROP
5.1 ความหมายของ Data Definition Language Data Definition Language คือภาษาที่ใชน้ ิยมโครงสร้างขอ้ มูล ประกอบไปดว้ ยคาสง่ั ในการสร้างฐานขอ้ มลู การแกไ้ ขฐานขอ้ มูล การลบฐานขอ้ มูล การสร้างฐานขอ้ มูล การแกไ้ ขตารางฐานขอ้ มลู การลบตารางฐานขอ้ มูล โดยมีคาสงั่ ดงั ต่อไปน้ี • คาสง่ั CREATE ใชส้ าหรับสร้างฐานขอ้ มูล และตารางขอ้ มลู • คาสงั่ ALTER ใชส้ าหรับแกไ้ ขโครงสร้างของตารางขอ้ มลู • คาสง่ั DROP ใชส้ าหรับลบฐานขอ้ มูล และตารางฐานขอ้ มลู5.2 การใช้คาสั่ง CREATE คาสง่ั CREATE เป็นคาสง่ั ท่ีใชใ้ นการสร้างฐานขอ้ มลู และตารางฐานขอ้ มลู
5.2.1 การใชค้ าสง่ั CREATE DATABASE สาหรับสร้างฐานขอ้ มลู 5.2.2 การใชค้ าสงั่ CREATE TABLE สาหรับสร้างตารางฐานขอ้ มูล5.3 การใชค้ าสงั่ ALTER 5.3.1 คาสง่ั ALTER TABLE เป็นคาสงั่ เพอ่ื แกไ้ ขโครงสร้างของตาราง5.4 การใชค้ าสง่ั DROP เป็นคาสง่ั สาหรับการจดั การลบฐานขอ้ มลู และตารางฐานขอ้ มูล 5.4.1 คาสงั่ DROP DATABASE ใชส้ าหรับลบฐานขอ้ มลู 5.4.2 คาสง่ั DROP TABLE ใชส้ าหรับลบตาราง
บทท่ี 6Data Manipulation Language
สาระสาคญั เมื่อเราไดเ้ รียนรู้คาส่งั ประเภท Data Definition Language จะเห็นวา่ เราสามารถท่ีสร้างฐานขอ้ มูล และสร้างตารางไดแ้ ลว้ แต่ตารางที่เราสร้างข้ึนเป็ นเพียงโครงสร้างหรือตารางเปล่าๆ เท่าน้ัน ยงั ไม่ได้มีขอ้ มูลอยู่ภายในตาราง เพราะฉะน้ันในบทน้ีเราจะตอ้ งเรียนรู้เก่ียวกบั ภาษา SQL อีกประเภทหน่ึงคือ Data Manipulation Language หรือ DML ซ่ึงประกอบไปดว้ ย คาสงั่ INRERT, UPDATE และ DELETE
จุดประสงค์ทวั่ ไป 1. เพ่ือใหท้ ราบถึงความหมายของภาษา SQL ประเภท Data Definition Language 2. เพ่อื ใหท้ ราบถึงคาสงั่ ในเพ่ิมขอ้ มลู ไปในตาราง 3. เพื่อใหท้ ราบถึงคาสงั่ ในการแกไ้ ข ปรับปรุงขอ้ มูลในตาราง 4. เพื่อใหท้ ราบถึงคาสงั่ ในการลบขอ้ มูลในตาราง
เนือ้ หาสาระ 1. ความหมายของ Data Definition Language 2. การใชง้ านคาสง่ั CREATE 3. การใชง้ านคาสง่ั ALTER 4. การใชง้ านคาสงั่ DROP
6.1 ความมายของ Data Manipulation Language Data Manipulation Language คือ ภาษาที่ใชใ้ นการจดั การขอ้ มลู ภายในตารางประกอบดว้ ยคาสง่ั ในการเรียกดูขอ้ มลู การเพ่มิ ขอ้ มูล การแกไ้ ขขอ้ มูล และการลบขอ้ มลู โดยในบทน้ีเราจะเรียนรู้กนั 3 คาสง่ั ดงั ต่อไปน้ี • คาสงั่ INSERT เป็นคาสง่ั สาหรับเพม่ิ ขอ้ มูลเขา้ ไปในตาราง • คาสงั่ UPDATE เป็นคาสงั่ สาหรับแกไ้ ขค่าขอ้ มลู ท่ีอยใู่ นตาราง • คาสงั่ DELETE เป็นคาสง่ั สาหรับลบขอ้ มูลที่อยใู่ นตาราง6.2 การใชค้ าสง่ั INSERT คาสง่ั INSERT เป็นคาสงั่ สาหรับเพ่ิมขอ้ มูลเขา้ ไปในตาราง
6.2.1 คาสง่ั INSERT แบบ 1 ไม่ตอ้ งระบุช่ือฟิ ลดใ์ นตาราง เพ่ิมเฉพาะค่าขอ้ มลู เขา้ ไปโดยเรียงจากลาดบั ฟิ ลดจ์ ากซา้ ยไปขวา6.2.2 คาสงั่ INSERT แบบที่ 2 ระบุช่ือฟิ ลดท์ ่ีตอ้ งการและคา่ ขอ้ มูลที่ตอ้ งการเพม่ิ เขา้ ไป6.3 การใชค้ าสง่ั UPDATE คาสงั่ UPDATE เป็นคาสงั่ สาหรับแกไ้ ขขอ้ มลู ท่ีอยใู่ นตาราง6.4 การใชค้ าสงั่ DELETE คาสง่ั DELETE เป็นคาสง่ั สาหรับลบขอ้ มลู ท่ีอยใู่ นตาราง
บทท่ี 7Data Retrieval Command
สาระสาคญั Data Retrieval Language เป็นประเภทคาส่งั ที่ใชใ้ นการเรียกดูขอ้ มูลโดยอยภู่ ายใตก้ ลุ่มของ Data Manipulation Language หรือ DML คาส่ังท่ีอยใู่ นประเภท Data ManipulationLanguage นน่ั คือคาสง่ั SELECT ซ่ึงมีหนา้ ท่ีในการแสดงหรือเรียกดู (Query) ขอ้ มูลตารางฐานขอ้ มลู ในบทน้ีเราจะมาเรียนรู้คาสง่ั SELECT ในเบ้ืองตน้ ก่อน และเรียนรู้การใชง้ านตวัดาเนินการ Operatons) เพิ่มเติมเพ่ือให้การใชง้ านคาสั่ง SELECT มีประสิทธิภาพและเกิดประโยชนม์ ากท่ีสุด
จุดประสงค์ 1. เพ่ือใหท้ ราบถึงประโยชนข์ องการใชค้ าสงั่ SELECT 2. เพือ่ ใหท้ ราบถึงรูปแบบคาสง่ั SELECT เบ้ืองตน้ 3. เพือ่ ใหท้ ราบถึงคาสง่ั SELECT แบบมีเง่ือนไข 4. เพือ่ ใหท้ ราบถึงตวั ดาเนินการที่ใชร้ ่มกบั คาสง่ั SELECT 5. เพือ่ ใหท้ ราบถึงคาสงั่ Order By ท่ีใชส้ าหรับการเรียงลาดบั ขอ้ มลู
เนือ้ หาสาระ1. การใชง้ านคาสง่ั SELECT เบ้ืองตน้2. การใชง้ านคาสง่ั SELECT แบบมีเงื่อนไข3. การใชง้ านตวั ดาเนินการร่วมกบั คาสง่ั SELECT4. การเรียงลาดบั ขอ้ มูล
7.1 การใชค้ าสงั่ SELECT เบ้ืองตน้7.2 การใชง้ านคาสง่ั SELECT แบบมีเง่ือนไข การใชง้ านคาส่ัง SELECT แบบมีเง่ือนไข ทาเราสามารถระบุเง่ือนไขเพ่ือกรองขอ้ มูลเฉพาะบางแถวที่เราตอ้ งการ ทาการ SELECT ขอ้ มูลมีความยดื หยนุ่ และไดข้ อ้ มลู ที่ตรงกบั ความตอ้ งการ7.3 การใชง้ านตวั ดาเนินการร่วมกบั คาสง่ั SELECT ตวั ดาเนินการ (OPERATORS) มีหลายประเภทเราสามารถใชต้ วั ดาเนินการประเภทต่างๆร่วมกบั คาสง่ั SELECT เพ่ือเพิ่มความสามารถใหก้ บั คาส่งั SELECT และยงั สามารถทาใหเ้ ราเรียกดูขอ้ มูลท่ีมีความซบั ซอ้ นมากข้ึนดว้ ย ตวั ดาเนินการบางประเภทเราไดเ้ รียนรู้ไปแลว้ เช่นเครื่องหมายเท่ากบั (=), เคร่ืองหมายมากกง่า (>), เคร่ืองหมายนอ้ ยกวา่ (<) เป็นตน้
7.4 การเรียงลาดบั ขอ้ มูล ขอ้ มลู ท่ีแสดงออกมาจะเรียงตามท่ีจดั เกบ็ ไวใ้ นตารางฐานขอ้ มลู แต่ถา้ เราตอ้ งการจดัเรียงลาดบั การแสดงขอ้ มลู ตามฟิ ลดใ์ หเ้ รียงลาดบั จากค่ามากไปนอ้ ย หรือจากค่านอ้ ยไปมาก ก็สามารถทาไดโ้ ดยใชค้ าสง่ั ORDER BY โดยระบชุ ื่อฟิ ลดท์ ่ีตอ้ งการใชเ้ ป็นตวั เรียงลาดบั ซ่ึงเป็นการเรียงจากคา่ นอ้ ยไปมาก (Ascending) (อาจจะระบุคาสงั่ ASC ต่อทา้ ยหรือไม่กไ็ ด)้ แต่ถา้ ตอ้ งการเรียงจากคา่ มากไปนอ้ ย (Descending) ใหร้ ะบุคาสงั่ DESC ไวต้ ่อจากชื่อฟิ ลดด์ ว้ ย
บทท่ี 8การเรียกดูขอ้ มลู ข้นั สูง
สาระสาคญั คาสง่ั SELECT ท่ีเราไดเ้ รียนรู้ในบทท่ีแลว้ ทาใหเ้ ราสามารถแสดงหรือเรียกดูขอ้ มูลจากตารางขอ้ มูลไดใ้ นเบ้ืองตน้ ในบทน้ีเราจะเรียนรู้การเรียกดูขอ้ มูลข้นั สูงไม่วา่ จะเป็นการเรียกขอ้ มูลที่มากกวา่ 1 ตาราง (Joins) การเรียกดูขอ้ มูลดว้ ยคาส่ังSELECT แบบซ้อนหลายระดบั เพื่อให้ไดข้ อ้ มูลที่มีความซับซ้อน และตรงความตอ้ งการมากข้ึน
จุดประสงค์ทวั่ ไป 1. เพอ่ื ใหท้ ราบถึงประโยชน์ของการ Join ตารางมากกวา่ ตาราง 2. เพือ่ ใหท้ ราบถึงการ SELECT แบบซอ้ นหลายระดบัเนือ้ หาสาระ 1. การเรียกดูขอ้ มลู จากตารางมากกวา่ 1 ตาราง โดยการ Join 2. การเรียกใชง้ านคาสง่ั SELECT แบบซอ้ นหลายระดบั
8.1 การเรียกดูขอ้ มลู จากตารางมากกวา่ 1 ตาราง โดย Join การที่เราออกแบบตารางในการจดั เกบ็ ขอ้ มูล ขอ้ มูลที่เก่ียวขอ้ งหรือมีความสมั พนั ธ์กนั อาจอยกู่ นั คนละตารางได้ เราจึงเรียนรู้การเรียกดูขอ้ มูลจากตารางท่ีมีความสมั พนั ธก์ นั มากกวา่ 1 ตาราง การเรียกดูขอ้ มลู มากกวา่ 1 ตาราง หมายถึงการเรียกดูขอ้ มลู จากตารางหลายๆ ตารางผา่ นฟิ ลดท์ ี่มีความสมั พนั ธก์ นั นิยมเรียกอีกอยา่ งหน่ึงวา่ การ Join ตารางนน่ั เองการ Join ตารางมีหลายรูปแบบ ดงั น้ี 1. INNER JOIN 2. LEFT JOIN 3. RIGE JOIN8.2 การใชค้ าสง่ั SELECT แบบซอ้ นหลายระดบั (Subqueries) เราสามารถใชง้ านคาสง่ั SELECT แบบซอ้ นหลายระดบั ไดห้ ากเราตอ้ งการขอ้ มูลท่ีมีความซบั ซอ้ นมากยงิ่ ข้ึน
บทที่ 9การใช้ SQL Function
สาระสาคญั ในระบบการจดั การฐานขอ้ มูล (DBMS) แต่ละตวั จะมี SQL Function มาตรฐานมาใหเ้ ราใชง้ าน ประโยชน์ของการใช้ SQL Function ก็คือตวั ช่วยอานวยความสะดวกในการเรียกดูขอ้ มูลต่างๆ ในรูปแบบของการคานวณ ท้งั ตวั เลขและตวั อกั ษร ตวั อย่างประเภทของฟังกช์ นั อาทิเช่น ฟังกช์ นั การจดั การขอ้ ความ ฟังกช์ นั ทางดา้ นคณิตศาสตร์ฟังกช์ นั การคานวณดา้ นวนั ที่และเวลา เป็นตน้
จุดประสงค์ทว่ั ไป 1. เพอื่ ใหท้ ราบ และเขา้ ใจถึงประโยชน์ของการใช้ SQL Function 2. เพื่อใหท้ ราบ และเขา้ ใจเก่ียวกบั การจดั กลุ่มขอ้ มลู (Group By) 3. เพอ่ื ใหท้ ราบ และเขา้ ใจเก่ียวกบั การกรองขอ้ มลู ท่ีมีเง่ือนไข (HAVING)เนือ้ หาสาระ 1. ฟังกช์ นั เก่ียวกบั การคานวณ และสรุปค่าของขอ้ มูล (Aggregate Function) 2. การจดั ขอ้ มูลดว้ ย Group By 3. การกรองกลุ่มขอ้ มูลที่มีเงื่อนไข ดว้ ย HAVING
9.1 ฟังกช์ นั เกี่ยวกบั การคานวณ และสรุปของขอ้ มลู (Aggregate Function)ฟังกช์ นั ที่เกี่ยวขอ้ งกบั การคานวณ และสรุปค่าของขอ้ มูล มีดงั ต่อไปน้ี9.1.1 การหาคา่ เฉล่ียดว้ ยฟังกช์ นั AVG9.1.2 การนบั จานวนแถวที่ไดจ้ ากการเรียกดขู อ้ มูล (query) ดว้ ยฟังกช์ นัCOUNT9.1.3 การหาค่ามากที่สุดของฟิ ลดน์ ้นั ๆ ดว้ ยฟังกช์ นั MAX9.1.4 การหาคา่ นอ้ ยท่ีสุดของฟิ ลดน์ ้นั ๆ ดว้ ยฟังกช์ นั MIN9.1.5 การหาผลรวมของฟิ ลดน์ ้นั ๆ ดว้ ยฟังกช์ นั SUM
Search