Professional Documents
Culture Documents
DatabaseBookNew 3
DatabaseBookNew 3
ระบบฐานข้อมูล
Database Systems
มณกันต์ สมเกื้อ
สาขาวิชาคอมพิวเตอร์ธุรกิจ คณะวิทยาการจัดการ
มหาวิทยาลัยราชภัฏสุราษฎร์ธานี
2560
ก
คานา
เอกสารประกอบการสอน รายวิชาระบบฐานข้อมูล รหัสวิชา MBC0507 ฉบับนี้ จัดทํา
ขึ้นเพื่อใช้ประกอบการสอนในชั้นเรียนของนักศึกษาสาขาวิชาคอมพิวเตอร์ธุรกิจ ซึ่งผู้เรียบเรียงได้
รวบรวมข้อมูลจากเอกสาร ตํารา หนังสือ เว็บไซต์ต่างๆ รวมถึงประสบการณ์ของผู้เรียบเรียงเอง เพื่อ
ประโยชน์ในการทําความเข้าใจเนื้อหามากยิ่งขึ้น โดยได้แบ่งเนื้อหาออกเป็น 6 บท โดยแต่ละบทได้
เรียงลําดับต่อ เนื่อ งในกระบวนการต่างๆ ที่ ใช้ในการออกแบบฐานข้อ มู ลเชิงสัม พันธ์ อีก ทั้งเนื้อหา
เกี่ยวกับคําสั่ง SQL (Structure Query Language) ในตอนท้ายซึ่งเป็นคําสั่งที่ใช้ทํางานกับฐานข้อมูล
เชิงสัมพันธ์
ผู้เรียบเรียงขอขอบพระคุณเนื้อหาจากแหล่งที่มาต่างๆ ที่ได้ใช้อ้างอิงและขอขอบคุณทุก
ฝ่ายที่ช่วยเหลือให้เอกสารประกอบการสอนฉบับนี้สําเร็จเป็นเล่มสมบูรณ์ หวังเป็นอย่างยิ่งว่าเอกสาร
ประกอบการสอนวิชาระบบฐานข้อมูล ฉบับนี้จะเป็นประโยชน์ต่อการเรียนการสอนรายวิชาระบบ
ฐานข้อมูล ต่อไป
มณกันต์ สมเกื้อ
ผู้เรียบเรียง
2560
ข
สารบัญ
หน้า
แผนบริหารการสอนประจาบทที่ 1 ___________________________________________ 1
บทที่ 1 ความรู้เบื้องต้นเกี่ยวกับระบบฐานข้อมูล _________________________________ 3
1.1 ตัวอย่างการประยุกต์ใช้ฐานข้อมูล _________________________________________ 4
1.2 ความสาคัญของการออกแบบฐานข้อมูล _____________________________________ 6
1.3 โครงสร้างแฟ้มข้อมูล __________________________________________________ 7
1.4 ข้อจากัดของระบบแฟ้มข้อมูล ___________________________________________ 10
1.5 ระบบฐานข้อมูล_____________________________________________________ 12
1.6 สภาพแวดล้อมของระบบฐานข้อมูล _______________________________________ 13
1.7 ประเภทของระบบฐานข้อมูล____________________________________________ 16
1.8 หน้าที่ของระบบจัดการฐานข้อมูล DBMS ___________________________________ 17
1.9 แบบจาลองฐานข้อมูล_________________________________________________ 20
1.9.1 แบบจําลองฐานข้อมูลลําดับชั้น _______________________________________ 20
1.9.2 แบบจําลองฐานข้อมูลเครือข่าย_______________________________________ 23
1.9.3 แบบจําลองฐานข้อมูลเชิงสัมพันธ์ _____________________________________ 24
1.9.4 แบบจําลองฐานข้อมูลเชิงวัตถุ ________________________________________ 26
1.9.5 แบบจําลองฐานข้อมูลหลายมิติ _______________________________________ 27
สรุปท้ายบท___________________________________________________________ 28
คาถามทบทวนบทที่ 1 ___________________________________________________ 29
เอกสารอ้างอิงบทที่ 1 ____________________________________________________ 30
แผนบริหารการสอนประจาบทที่ 2 __________________________________________ 31
บทที่ 2 การออกแบบฐานข้อมูลด้วย ER-Diagram ______________________________ 33
2.1 สัญลักษณ์ที่ใช้ใน ER-Diagram _________________________________________ 34
2.2 ชนิดของความสัมพันธ์ ________________________________________________ 37
ค
สารบัญ (ต่อ)
หน้า
สารบัญ (ต่อ)
หน้า
แผนบริหารการสอนประจาบทที่ 4 __________________________________________ 87
บทที่ 4 Normalization ________________________________________________ 89
4.1 Functional Dependency (FDs) _______________________________________ 89
4.1.8 Multi-Value Dependency (MVDs)____________________________________ 93
4.2 Dependency Diagram ______________________________________________ 94
4.5 Dependency Diagram _____________________________________________ 95
4.6 การทาให้อยู่ในรูปแบบทีเ่ ป็นบรรทัดฐาน (Normalization) ______________________ 96
4.6.1 ระดับของการทํา Normalization ____________________________________ 96
สรุปท้ายบท__________________________________________________________ 100
คาถามทบทวนบทที่ 4 __________________________________________________ 101
เอกสารอ้างอิงบทที่ 4 ___________________________________________________ 102
แผนบริหารการสอนประจาบทที่ 5 _________________________________________ 103
บทที่ 5 การสร้างฐานข้อมูลด้วยระบบจัดการฐานข้อมูล __________________________ 105
5.1 ประเภทข้อมูลใน Microsoft Access (Microsoft Access Data Type) ____________ 105
5.2 การสร้างฐานข้อมูลด้วย Microsoft Access 2010 ___________________________ 113
สรุปท้ายบท__________________________________________________________ 118
คาถามท้ายบทที่ 5 _____________________________________________________ 119
เอกสารอ้างอิงบทที่ 5 ___________________________________________________ 120
แผนบริหารการสอนประจาบทที่ 6 _________________________________________ 121
บทที่ 6 คาสั่ง SQL : Structure Query Language ____________________________ 123
6.1 ประวัติและความเป็นมาของ SQL _______________________________________ 123
6.2 ประเภทของคาสั่ง SQL ______________________________________________ 124
6.3 ภาษานิยามข้อมูล (Data Definition Language : DDL) ______________________ 124
6.3.1 การสร้างตาราง _________________________________________________ 124
6.3.2 สร้างดัชนี _____________________________________________________ 125
6.3.3 การสร้าง _____________________________________________________ 126
6.3.4 คําสั่งที่ใช้ในการลบ ______________________________________________ 127
จ
สารบัญ (ต่อ)
หน้า
สารบัญภาพ
หน้า
ภาพที่ 1.1 อุปกรณ์ที่ใช้กบั ระบบ POS ___________________________________________ 5
ภาพที่ 1.2 ระบบบริหารงานทะเบียนมหาวิทยาลัยราชภัฏสุราษฎร์ธานี ____________________ 5
ภาพที่ 1.3 โครงสร้างแฟ้มข้อมูล _______________________________________________ 8
ภาพที่ 1.4 แสดงตัวอย่างการเก็บข้อมูลด้วยไฟล์ ____________________________________ 9
ภาพที่ 1.7 ตัวอย่างฐานข้อมูลภายใต้โครงสร้างแบบจําลองฐานข้อมูลลําดับชั้น ______________ 21
ภาพที่ 1.8 แบบจําลองฐานข้อมูลเครือข่าย _______________________________________ 23
ภาพที่ 1.9 ตัวอย่างฐานข้อมูลภายใต้โครงสร้างแบบจําลองฐานข้อมูลเชิงสัมพันธ์ ____________ 25
ภาพที่ 2.1 แสดงตัวอย่างสัญลักษณ์ที่ใช้ใน ER-DIAGRAM ______________________________ 34
ภาพที่ 2.2 แสดงลักษณะความสัมพันธ์แบบ RECURSIVE ______________________________ 35
ภาพที่ 2.3 แสดงลักษณะความสัมพันธ์แบบเอ็นทิตี กับเอ็นทิตี _________________________ 36
ภาพที่ 2.4 แสดงลักษณะความสัมพันธ์แบบ TERNARY________________________________ 36
ภาพที่ 2.5 แสดงลักษณะความสัมพันธ์แบบมี WEAK ENTITY ___________________________ 37
ภาพที่ 2.6 แสดงลักษณะความสัมพันธ์แบบหนึง่ ต่อหนึง่ ______________________________ 38
ภาพที่ 2.7 แสดงลักษณะความสัมพันธ์แบบหนึง่ ต่อกลุ่ม ______________________________ 38
ภาพที่ 2.8 แสดงลักษณะความสัมพันธ์แบบกลุม่ ต่อกลุ่ม ______________________________ 38
ภาพที่ 2.9 แสดงลักษณะความสัมพันธ์แบบหนึง่ ต่อหนึง่ ______________________________ 39
ภาพที่ 2.10 แสดงลักษณะความสัมพันธ์แบบหนึ่งต่อกลุม่ _____________________________ 40
ภาพที่ 2.11 แสดงลักษณะความสัมพันธ์แบบกลุม่ ต่อกลุ่ม _____________________________ 41
ภาพที่ 2.12 ลักษณะการใช้ COMPOSITE ENTITY เพื่อแก้ปญ ั หาความสัมพันธ์แบบกลุ่มต่อกลุ่ม ____ 42
ภาพที่ 2.13 แสดงลักษณะของการระบุ CARDINALITY ________________________________ 43
ภาพที่ 2.14 ลักษณะของการระบุ CARDINALITY กรณีมี COMPOSITE ENTITY _________________ 44
ภาพที่ 2.15 ลักษณะของการระบุ OPTIONAL ______________________________________ 45
ภาพที่ 2.16 แสดงลักษณะของการระบุ OPTIONAL กรณีมี COMPOSITE ENTITY _______________ 46
ภาพที่ 2.17 แสดงการระบุ แอตทริบิวต์ ใน ER-DIAGRAM _____________________________ 47
ภาพที่ 2.18 แสดงตัวอย่างการระบุ แอตทริบิวต์ ใน ER-DIAGRAM________________________ 47
ภาพที่ 2.19 แสดงสัญลักษณ์ แอตทริบิวต์ ________________________________________ 48
ภาพที่ 2.20 แสดงสัญลักษณ์ KEY ATTRIBUTE______________________________________ 48
ช
สารบัญภาพ (ต่อ)
หน้า
ภาพที่ 2.21 แสดงสัญลักษณ์ COMPOSITE ATTRIBUTE ________________________________ 48
ภาพที่ 2.22 แสดงสัญลักษณ์ MULTI VALUE ATTRIBUTE ______________________________ 49
ภาพที่ 2.23 แสดงสัญลักษณ์ DERIVED ATTRIBUTE __________________________________ 49
ภาพที่ 2.24 ER-DIAGRAM แสดงความสัมพันธ์ระหว่างผู้รบั เหมากับการมีรถบรรทุก ___________ 51
ภาพที่ 2.25 ER-DIAGRAM แสดงความสัมพันธ์ระหว่างพนักงานกับการชัง่ รถบรรทุก ___________ 52
ภาพที่ 2.26 ER-DIAGRAM แสดงความสัมพันธ์ระหว่างลูกค้ากับการจ้างผูร้ ับเหมา ____________ 54
ภาพที่ 2.27 ER-DIAGRAM แสดงความสัมพันธ์ระหว่างพนักงานกับการจ่ายเงินกับลูกค้า ________ 56
ภาพที่ 2.28 ER-DIAGRAM แสดงความสัมพันธ์ระหว่างพนักงานกับการบันทึกราคารับซื้อ _______ 57
ภาพที่ 2.29 ER-DIAGRAM แสดงความสัมพันธ์ระหว่างพนักงานกับการรับเงินจากโรงงาน _______ 58
ภาพที่ 2.30 ER-DIAGRAM ของลานเทปาล์ม ______________________________________ 60
ภาพที่ 3.1 ตารางข้อมูลพนักงาน ______________________________________________ 69
ภาพที่ 3.2 ตารางข้อมูลพนักงานและ CANDIDATE KEY _______________________________ 70
ภาพที่ 3.3 ตารางข้อมูลพนักงานและ UNIQUE SUBSET _______________________________ 71
ภาพที่ 3.4 การเชื่อมความสัมพันธ์ระหว่างตารางด้วย FOREIGN KEY ______________________ 72
ภาพที่ 3.5 สัญลักษณ์ SIMPLE ATTRIBUTE ________________________________________ 74
ภาพที่ 3.6 ER-DIAGRAM ที่มีความสัมพันธ์แบบหนึง่ ต่อหนึง่ ____________________________ 74
ภาพที่ 3.7 ER-DIAGRAM ที่มีความสัมพันธ์แบบหนึง่ ต่อหนึง่ และมีคีย์เป็น COMPOSITE KEY_______ 75
ภาพที่ 3.8 ER-DIAGRAM ที่มีความสัมพันธ์แบบหนึง่ ต่อกลุ่ม____________________________ 76
ภาพที่ 3.9 ER-DIAGRAM ที่มีความสัมพันธ์แบบกลุ่มต่อกลุ่ม ___________________________ 77
ภาพที่ 3.10 เอ็นทิตี ที่มี COMPOSITE ATTRIBUTE ___________________________________ 78
ภาพที่ 3.11 เอ็นทิตี ที่มี MULTI VALUE ATTRIBUTE __________________________________ 78
ภาพที่ 3.12 เอ็นทิตี ที่มี DERIVED ATTRIBUTE ______________________________________ 79
ภาพที่ 3.13 ER-DIAGRAM ที่มีความสัมพันธ์กบั WEAK ENTITY __________________________ 80
ภาพที่ 3.14 ER-DIAGRAM แสดงความสัมพันธ์แบบ RECURSIVE _________________________ 81
ภาพที่ 3.15 ตัวอย่าง ER-DIAGRAM เพื่อใช้ในการแปลงให้อยูใ่ นรูปของรีเลชัน _______________ 82
ภาพที่ 4.1 FUNCTIONAL DEPENDENCY (FDS) ______________________________________ 90
ภาพที่ 4.2 ตัวอย่างของข้อมูลที่เป็น FUNCTIONAL DEPENDENCY _________________________ 90
ซ
สารบัญภาพ (ต่อ)
หน้า
ภาพที่ 4.3 ตัวอย่างข้อมูลการ DETERMINANT หนึ่งค่า กับ DEPENDENCY หลายค่า _____________ 91
ภาพที่ 4.4 ตัวอย่างข้อมูลการ DETERMINANT ที่มีการขึ้นต่อกันแบบสองทาง ________________ 91
ภาพที่ 4.5 ตัวอย่างข้อมูลการ DETERMINANT มากกว่า 1 ค่าเพื่ออ้างถึง DEPENDENCY __________ 92
ภาพที่ 4.6 แสดงตัวอย่าง FULLY FUNCTIONAL DEPENDENCY ___________________________ 93
ภาพที่ 4.7 ตัวอย่างการไม่เป็น FULLY FUNCTIONAL DEPENDENCY ________________________ 93
ภาพที่ 4.8 ตัวอย่าง MULTI-VALUE DEPENDENCY ___________________________________ 93
ภาพที่ 4.9 แสดงตัวอย่าง DEPENDENCY DIAGRAM ___________________________________ 94
ภาพที่ 4.10 แสดงตัวอย่าง DEPENDENCY DIAGRAM ที่มี DETERMINANT Nมากกว่า 1 แอตทริบิวต์ ___ 94
ภาพที่ 4.11 ลักษณะของ DEPENDENCY DIAGRAM ___________________________________ 95
ภาพที่ 4.12 ตารางข้อมูลผลการเรียนของนักศึกษา _________________________________ 98
ภาพที่ 4.13 ตารางข้อมูลผลการเรียนของนักศึกษาซึง่ กําจัด REPEATING GROUP แล้ว __________ 98
ภาพที่ 4.14 แสดง DEPENDENCY DIAGRAM ของตารางผลการเรียนนักศึกษา ________________ 99
ภาพที่ 5.1 DATA TYPE ของ MICROSOFT ACCESS __________________________________ 105
ภาพที่ 5.2 แสดง ER-DIAGRAM ของระบบทะเบียนและตารางสอน ______________________ 109
ภาพที่ 5.3 หน้าต่างโปรแกรม MICROSOFT ACCESS 2010 ____________________________ 113
ภาพที่ 5.4 ลําดับการสร้างฐานข้อมูลในโปรแกรม MICROSOFT ACCESS 2010 ______________ 114
ภาพที่ 5.5 ตารางเปล่าในโปรแกรม MICROSOFT ACCESS 2010 ________________________ 114
ภาพที่ 5.6 การสร้างฐานข้อมูลด้วยมุมมอง DESIGN VIEW ในโปรแกรม MICROSOFT ACCESS 2010 115
ฌ
สารบัญตาราง
หน้า
แผนบริหารการสอนประจาวิชา
รายวิชา ระบบฐานข้อมูล (Database System) รหัสวิชา MBC0507
จานวนหน่วยกิต 3(2-2-5) เวลาเรียน 60 ชั่วโมง/ภาคเรียน
คาอธิบายรายวิชา
แนวคิดระบบฐานข้อมูล ประเภทของฐานข้อมูล ฐานข้อมูลเชิงสัมพันธ์ ภาษาประมวลผลข้อมูล SQL
การออกแบบฐานข้อมูล โมเดลข้อมูลแบบ ER(Entity-Relationship) การแปลง ER Diagram เป็น
รีเลชัน (Relation) การลดความซ้ําซ้อนของข้อมูลด้วยกระบวนการ Normalization ฝึกออกแบบ
ฐานข้อมูลโดยใช้กรณีตัวอย่างทางธุรกิจ ใช้ระบบจัดการฐานข้อมูลและโปรแกรมเข้าถึงข้อมูลตัวอย่าง
เพื่อทดลองสร้าง บันทึก แก้ไข ข้อมูลในฐานข้อมูลด้วยภาษาประมวลผลข้อมูล (SQL)
วัตถุประสงค์เชิงพฤติกรรม
หลังจากศึกษารายวิชานี้จบแล้วนักศึกษาจะมีพฤติกรรมที่พึงประสงค์ ดังนี้
1. นัก ศึ กษาสามารถอธิบ ายแนวคิดเกี่ ยวกั บ ระบบการจัดเก็ บ ข้อมู ลด้วยฐานข้อมูล และ
สามารถเปรียบเทียบกับวิธีการเก็บข้อมูลด้วยวิธีอื่นได้
2. นักศึกษาสามารถอธิบายถึงลักษณะของฐานข้อมูลประเภทต่างๆ ได้
3. นักศึกษาสามารถออกแบบฐานข้อมูลเชิงสัมพันธ์ด้วยเครื่องมือต่างๆ ดังต่อไปนี้ได้
3.1 นัก ศึ ก ษาสามารถออกแบบและวิเ คราะห์ ความสัม พัน ธ์ข องข้อ มู ล ด้ว ย Entity
Relationship Diagram (ER-Diagram) ได้
3.2 นักศึกษาสามารถแปลง ER-Diagram ให้อยู่ในรูปของรีเลชัน ได้
3.3 นักศึกษาสามารถทํากระบวนการ Normalization กับรีเลชัน ต่างๆ ตั้งแต่ระดับ
First Normal Form, Second Normal Form และ Third Normal Form ได้
4. นักศึกษาสามารถใช้โปรแกรมจัดการฐานข้อมูล (DBMS : Database Management
Systems) ในการสร้างและจัดการข้อมูลจากที่ออกแบบไว้ได้
5. นักศึกษาสามารถใช้คําสั่ง SQL (Structure Query Language) ประเภทต่างๆ ได้
ฎ
เนื้อหา
บทที่ 1 แนวคิดระบบฐานข้อมูล 4 ชั่วโมง
1.1 ความสําคัญของการออกแบบฐานข้อมูล
1.2 ระบบแฟ้มข้อมูล (File System)
1.3 ระบบฐานข้อมูล
1.4 สภาพแวดล้อมของระบบฐานข้อมูล
1.5 ประเภทของฐานข้อมูล
1.6 หน้าที่ของระบบจัดการฐานข้อมูล
1.7 Database Models
1.8 แบบจําลองฐานข้อมูลประเภทต่างๆ
วิธีสอนและกิจกรรมในการเรียนการสอน
1. วิธีสอน
1.1 ทบทวนเนือ้ หาก่อนหน้าเพื่อเชื่อมโยงเข้าสู่เนือ้ หาประจําบท
1.2 ชี้แจงวัตถุประสงค์ สิง่ ที่นักศึกษาต้องทําได้หรืออธิบายได้เมือ่ เสร็จสิ้นกิจกรรมการเรียน
การสอนแต่ละครั้ง
2. กิจกรรมการเรียนการสอน
2.1 ในเนื้อหาภาคทฤษฎีผู้สอนจะใช้วิธีการอธิบายเนื้อหาพร้อมการเขียนภาพประกอบต่างๆ
เป็นขั้นตอนไปเรื่อยๆ เพื่อเป็นการลําดับความเข้าใจให้กับผู้เรียน
2.2 บรรยายเนื้อหาที่เป็นทฤษฎี จากนั้นให้ร่วมกิจกรรมทดลองทํากรณีศึกษาต่างๆ ตามเรื่อง
ที่เรียนร่วมกับผู้สอน
2.3 ทวนสอบความเข้าใจของนักศึกษาด้วยการให้ทําชิ้นงานและออกมานําเสนอหน้าชั้นให้
อาจารย์ฟังแบบไม่เป็นทางการ
2.4 ในเนื้อหาภาคปฏิบัติผู้สอนจะใช้เครือ่ งคอมพิวเตอร์และโปรแกรมระบบจัดการฐานข้อมูล
เพื่อให้ผู้เรียนได้ทดลองสร้างฐานข้อมูลที่ผ่านการออกแบบมาแล้ว
2.5 ในเนื้อหาภาคปฏิบัติเกี่ยวกับคําสั่ง SQL ผู้สอนจะแนะนําลักษณะการทํางานของคําสั่ง
ต่างๆ จากนั้นสาธิตการใช้คําสั่งให้ผู้เรียนดูเป็นตัวอย่าง แล้วจึงตั้งโจทย์ให้ผู้เรียนทดลอง
ทํา
ฐ
3. สื่อการเรียนการสอน
3.1 เอกสารประกอบการสอนรายวิชาระบบฐานข้อมูล
3.2 อุปกรณ์ฉายภาพจากจอคอมพิวเตอร์เพือ่ ใช้ในการสาธิต
3.3 กระดานไวท์บอร์ดเพือ่ อธิบายเนือ้ หาทีจ่ ําเป็นต้องลําดับความคิดในภาคทฤษฎี
3.4 โปรแกรมระบบจัดการฐานข้อมูล
3.5 เครื่องคอมพิวเตอร์ซงึ่ สามารถทํางานกับโปรแกรมระบบจัดการฐานข้อมูล
3.6 ซอฟต์แวร์ที่ช่วยอํานวยความสะดวกในการวาดแผนผังต่างๆ
3.7 ระบบเครือข่ายอินเทอร์เน็ตซึ่งใช้ค้นหากรณีศึกษาต่างๆ นํามาวิเคราะห์ในระหว่างเวลา
ทําการเรียนการสอน
4. การวัดและประเมินผล
4.1 การวัดผล
4.1.1 คะแนนภาคทฤษฎี 55 เปอร์เซ็นต์
- การทําแบบฝึกหัดและการส่งงาน 30 เปอร์เซ็นต์
- การสอบ 25 เปอร์เซ็นต์
4.1.2 คะแนนภาคปฏิบัติ 35 เปอร์เซ็นต์
- การทํากิจกรรมและทดสอบในห้องเรียน 20 เปอร์เซ็นต์
- การสอบ 15 เปอร์เซ็นต์
4.1.3 จิตพิสัย (คุณลักษณะอันพึงประสงค์) 10 เปอร์เซ็นต์
4.2 การประเมินผล
ประเมินผลแบบอิงเกณฑ์ จากคะแนนรวมทั้งหมดของผู้เรียน โดยใช้เกณฑ์การตัดสินดังนี้
ระดับคะแนน ความหมายของผลการเรียน ค่าระดับคะแนน ค่าร้อยละ
A ดีเยี่ยม 4.0 81-100
B+ ดีมาก 3.5 76-80
B ดี 3.0 71-75
C+ พอใช้ค่อนข้างดี 2.5 66-70
C พอใช้ 2.0 61-65
D+ อ่อน 1.5 56-60
D อ่อนมาก 1.0 51-55
E ตก 0.0 0-50
ฑ
5. เอกสารอ่านประกอบกาหนดการสอน
โอภาส เอี่ยมสิริวงศ์.(2559). ระบบฐานข้อมูล (Database Systems) ฉบับปรับปรุง
เพิ่มเติม. กรุงเทพฯ : บริษัท ซีเอ็ดยูเคชั่น จํากัด (มหาชน).
ชาญชัย ศุภอรรถกร และ เอกรินทร์ คําคูณ. ระบบฐานข้อมูล. กรุงเทพฯ : บริษทั ซีเอ็ด
ยูเคชั่น จํากัด (มหาชน).
สมควร สํากํา. ระบบจัดการฐานข้อมูล. บริษัท แม็คเอ็ดดูเคชั่น จํากัด.
จํานวนชั่วโมง
สัปดาห์ที่ เนื้อหา
ทฤษฎี ปฏิบัติ
1 บทที่ 1 แนวคิดระบบฐานข้อมูล 3 1
2-5 บทที่ 2 การออกแบบฐานข้อมูลด้วย ER-Diagram 9 3
6 บทที่ 3 การแปลง ER-Diagram ให้อยู่ในรูปของรีเลชัน 3 1
7-8 บทที่ 4 Normalization 6 2
9-10 บทที่ 5 การสร้างฐานข้อมูลด้วยระบบจัดการฐานข้อมูล 6 2
11-15 บทที่ 6 คําสั่ง SQL 6 18
33 27
รวม
60
แผนบริหารการสอนประจาบทที่ 1
หัวข้อเนื้อหา
บทที่ 1 แนวคิดระบบฐานข้อมูล
1.1 ความสําคัญของการออกแบบฐานข้อมูล
1.2 ระบบแฟ้มข้อมูล
1.3 ระบบฐานข้อมูล
1.4 สภาพแวดล้อมของระบบฐานข้อมูล
1.5 ประเภทของระบบฐานข้อมูล
1.6 หน้าที่ของระบบจัดการฐานข้อมูล (Database Management Systems)
1.7 แบบจําลองฐานข้อมูล (Database Models)
1.8 แบบจําลองฐานข้อมูลประเภทต่างๆ
วัตถุประสงค์เชิงพฤติกรรม
วัตถุป ระสงค์ในบทที่ 1 นี้ เมื่อผู้เรียนได้ศึกษาเกี่ยวกับเนื้อหาและสาระของแนวคิดระบบ
ฐานข้อมูลแล้ว ผู้เรียนจะมีพฤติกรรมที่พึงประสงค์ ดังนี้
1. อธิบายความสําคัญของการออกแบบฐานข้อมูลได้
2. อธิบายลักษณะการจัดเก็บข้อมูลด้วยระบบแฟ้มข้อมูลได้
3. อธิบายลักษณะการจัดเก็บข้อมูลด้วยระบบฐานข้อมูลได้
4. วิเคราะห์จุดเด่น จุดด้อยของการเก็บข้อมูลด้วยระบบแฟ้มข้อมูลกับระบบฐานข้อมูลได้
5. อธิบายลักษณะของฐานข้อมูลแต่ละประเภทได้
6. อธิบายหน้าที่การทํางานของระบบจัดการฐานข้อมูลและสามารถยกตัวอย่างระบบจัดการ
ฐานข้อมูลกับงานได้อย่างเหมาะสม
7. อธิบาย Database Models ได้
8. อธิบายแบบจําลองฐานข้อมูลประเภทต่างๆ ได้
วิธีสอนและกิจกรรมการเรียนการสอนประจาบท
1. วิธีการสอน
1.1 ยกตัวอย่างเรื่องสําคัญและใกล้ตัวนักศึกษาและสมมุตสิ ถานการณ์ให้เลวร้ายเมื่อข้อมูล
เหล่านั้นไม่สามารถใช้การใช้หรือหายไป
2
2. กิจกรรมการเรียนการสอน
2.1 ผู้สอนยกตัวอย่างสถานการณ์สําคัญที่เป็นเรื่องใกล้ตัวนักศึกษาและสมมุติสถานการณ์
ให้เลวร้ายเช่น ข้อมูลบางส่วนหรือทั้งหมดหาย ข้อมูลมีการเปลี่ยนแปลงผิดปกติ แล้ว
ให้ นัก ศึก ษาช่วยกั นวิเ คราะห์ผ ลกระทบที่ เ กิ ด ขึ้นเมื่ อเกิ ดเหตุ ก ารณ์ จ ากที่ ผู้ส อน
ยกตัวอย่าง
2.2 ผู้เรียนร่วมแสดงความคิดเห็น อภิปรายร่วมกัน
2.1 ผู้เรียนทําแบบฝึกหัดท้ายบทที่ 1 แล้วมานําเสนออาจารย์ฟังเป็นรายบุคคล เพื่อทวน
สอบความรู้ความเข้าใจ ทัศนคติ แนวคิด ของผู้เรียน
สื่อการเรียนการสอน
สื่อการเรียนการสอนในบทนี้ประกอบด้วย
1. เอกสารประกอบการสอนรายวิชาระบบฐานข้อมูล
2. กระดานเพื่อใช้ในการอธิบายและลําดับความคิดนักศึกษาในเรื่องที่ผสู้ อนบรรยาย
3. แบบฝึกหัดท้ายบทที่ 1
การวัดผลและประเมินผล
การวัดผลและการประเมินผล ประกอบด้วยการวัดผลและการประเมินผล ดังนี้
1. สังเกตความสนใจในกิจกรรมการเรียนการสอนของผูเ้ รียน
2. สังเกตพฤติกรรมการมีส่วนร่วมในชั้นเรียน เช่น การซักถาม การตอบคําถาม ตลอดจนการ
อภิปรายร่วมกัน
3. วัดและประเมินผลเป็นรายบุคคลจากการส่งแบบฝึกหัดท้ายบทที่ 1 ด้วยการนําเสนอเป็น
รายบุคคลกับผู้สอน
3
การจัดการฐานข้อมูลเริ่มต้นจากการที่องค์การบริหารการบินและอวกาศสหรัฐอเมริกา
หรือนาซาได้ว่าจ้างบริษัทไอบีเอ็ม (IBM) ประเทศสหรัฐอเมริกาให้ออกแบบระบบเก็บรวบรวมข้อมูลที่
ได้จากการสํารวจดวงจันทร์ใ นโครงการอะพอลโล (โครงการอะพอลโลเป็นโครงการสํารวจอวกาศ
อย่างจริงจัง และมีการส่งมนุษย์ขึ้นบนดวงจันทร์ได้สําเร็จด้วยยานอะพอลโล 11) ซึ่งถือเป็นต้นกําเนิด
ของระบบการจัดการฐานข้อมูล ต่อมาบริษัท ไอบีเอ็ม ได้พัฒนาระบบการจัดการฐานข้อมูลขึ้นมาใหม่
เพื่อให้ใช้งานกับธุรกิจทั่วๆ ไปได้ เรียกว่า DL/I (Data Language/I) จนในที่สุดก็กลายมาเป็นระบบ
IMS (Information Management System)
ในอดีตยุคที่มีไมโครคอมพิวเตอร์เกิดขึ้นใหม่ๆ โปรแกรมสําเร็จรูปทางด้านการจัดการ
ฐานข้อมูลที่นิยมใช้กันอย่างแพร่หลาย คือ Personal Filling System ต่อมาได้มีโปรแกรมฐานข้อมูล
เพิ่มขึ้นหลายโปรแกรม เช่น Datastar DB Master และ dBASE II เป็นต้น โดยเฉพาะโปรแกรม
dBASE II ได้รับความนิยมมาก จนกระทั่งในปี พ.ศ. 2528 ผู้ผลิตได้สร้าง dBASE III Plus ออกมาซึ่ง
สามารถจัดการฐานข้อมูลแบบสัมพันธ์ (Relational) เชื่อมโยงแฟ้มข้อมูลต่างๆ เข้าด้วยกัน ค้นหา
และนํามาสร้างเป็นรายงานตามความต้องการได้ส ะดวก รวดเร็ว ต่อมาได้มี ก ารสร้ างโปรแกรม
สําเร็จรูปเกี่ยวกับฐานข้อมูลออกมา เช่น FoxBASE FoxPro Microsoft Access และ Oracle เป็น
ต้น
สํารับยุคปัจจุบัน การใช้งานฐานข้อมูลก็มิได้ถูกจํากัดให้ใช้งานเฉพาะฐานข้อมูลภายใน
อีกต่อไป แต่จะมีก ารเชื่อมโยงเข้ากับฐานข้อมูลภายนอกอื่นๆ เข้าด้วยกัน จนกลายเป็นฐานข้อมู ล
ขนาดใหญ่ที่เรียกว่า “คลังข้อมูล (Data Warehouse)” ซึ่งภายใต้ข้อมูลกองโตขนาดมหึมาเหล่านี้ เรา
สามารถนําเครื่องมือสกัดเอาเฉพาะข้อมูลสําคัญๆ ที่ อยู่ในคลัง จนก่ อเกิดเป็นสารสนเทศและองค์
ความรู้อันทรงคุณค่า เพื่อนําไปใช้วิเคราะห์แนวโน้มในทางธุรกิจหรือใช้ในการศึกษานิ่งที่ต้องการมุ่ง
ประเด็นได้ต่อไป
4
นอกจากตัวอย่างการประยุกต์ใช้ฐานข้อมูลที่กล่าวมาข้างต้นแล้ว ในชีวิตประจําวันยังมี
การใช้ฐานข้อมูลกั นอีกมากมาย ได้แก่ การเดินทางโดยใช้ตั๋วอิเล็กทรอนิก ส์ต่างๆ การบันทึ กเวลา
ทํางาน การทําธุรกรรมกับ ธนาคาร ทะเบียนราษฎร เวชระเบียนในโรงพยาบาล การใช้โทรศัพท์
ร้านอาหาร โรงภาพยนตร์ ฯลฯ ก็ล้วนแล้วแต่มีการใช้งานฐานข้อมูลทั้งสิ้น โดยข้อมูลที่บันทึกอยู่ใน
ฐานข้อมู ล นั้นนอกจากจะเป็นการทํ าธุ ร กรรมปกติกั บ งานใดๆ แล้ว ข้อมู ลที่ บันทึ ก ไว้ยัง สามารถ
นํามาใช้ประโยชน์โดยการนําเสนอในรูปแบบของสารสนเทศ ต่างๆ ได้อย่างสะดวก รวดเร็ว ได้อีกด้วย
ดังนั้นการบริหารงานในปัจจุบันจึงสามารถทําได้อย่างมีประสิทธิภาพมากยิ่งขึ้น โดยการตัดสินใจหรือ
วางแผนใดๆ ล้วนแล้วแต่อ ยู่บ นพื้ นฐานของข้อมู ล ทั้ ง สิ้น เช่น การวางแผนการตลาดของบริษั ท
โทรศัพท์มื อถือ อาจจะนําข้อ มู ลจากพฤติก รรมการใช้โ ทรศัพท์ของลูกค้า มาวิเ คราะห์ด้วยระบบ
คอมพิวเตอร์แล้วนําเสนอเป็นสารสนเทศให้ฝ่ายการตลาดนํามาใช้ประกอบการตัดสินใจในการออก
โปรโมชั่นใหม่ๆ เพื่อจูงใจลูกค้า โดยข้อมูลเหล่านั้นอาจจะได้มาจากข้อมูลจํานวนมากแต่กลับใช้เวลา
เพียงไม่กี่วินาทีในการได้มาซึ่งผลการวิเคราะห์ด้วยระบบคอมพิวเตอร์ ซึ่งหากใช้คนทําอาจจะต้องใช้
เวลา งบประมาณ เป็นจํานวนมาก หรืออาจจะไม่ทันต่อการใช้งานก็เป็นได้
ส่วนในมุมของผู้ใช้บริการ ซึ่งอาจจะหมายถึงลูกค้า หรือผู้ใช้บริการต่างๆ ทั้งทีเ่ ป็นภาครัฐ
และเอกชนก็ได้รับข้อมูลที่ทันสมัยตลอดเวลา เมื่อนําฐานข้อมูลเหล่านั้นมานําเสนอในรูปแบบต่างๆ ที่
เข้ าถึ ง ได้ง่ า ย โดยอาจนํ าเสนอในรูป แบบของเว็บ ไซต์ หรือ แม้ แ ต่บ นอุ ป กรณ์พ กพาต่า งๆ เช่ น
โทรศัพท์มือถือแบบ Smart Phone ซึ่งใช้งานกันอย่างแพร่หลายในปัจจุบัน ตัวอย่างเช่น ปัจจุบัน
กรมสรรพากรของประเทศไทย มีการให้บริการยื่นแบบเสียภาษีหลายประเภทผ่านเว็บ ไซต์ ผู้ยื่นแบบ
เสียภาษีสามารถทําได้ด้วยตัวเองโดยไม่ต้องเดินทางไปยังสํานักงานสรรพากรพื้นที่ และการกรอกแบบ
ต่างๆ ก็ยังสามารถทําได้ง่าย สะดวก และมีความถู กต้องมากขึ้น เพราะมีการตรวจสอบด้วยระบบ
คอมพิวเตอร์ อี กทั้ ง งานต่างๆ เหล่านี้ซึ่ง ใช้คอมพิวเตอร์ หรือระบบคอมพิวเตอร์ทําการแทนนั้น
สามารถลดจํานวนพนักงานซึ่งคอยให้บริการได้ด้วย ซึ่งการลดคนจะเป็นการลดปัญหาอย่างอื่นในการ
บริหารองค์กรได้อีกด้วย เนื่องจากระบบคอมพิวเตอร์ ทํางานด้วยระบบอัตโนมัติและให้บริการโดย
มาตรฐานเดิมในทุกๆ การทํารายงาน อีกทั้งไม่ต้องจัดสรรสวัสดิการต่างๆ ให้เหมือนกับการใช้คนใน
การปฏิบัติงาน ไม่มีการลางาน ไม่ต้องจ่ายเงินโบนัสหรือค่าล่วงเวลาใดๆ เพิ่มเติม
1.2 ความสาคัญของการออกแบบฐานข้อมูล
จากที่กล่าวไปแล้วข้างต้นฐานข้อมูลมีประโยชน์และเข้ามามีบทบาทในทุกๆ วงการก็จริง
แต่การออกแบบฐานข้อมูลให้สามารถทํางานได้อย่างมีประสิทธิภาพ และรองรับการทํางานในอนาคต
นั้นเป็นเรื่องละเอียดอ่อ นและจะต้องใช้การศึกษา ทําความเข้าใจมากพอสมควร หากผู้ที่ออกแบบ
7
1.3 โครงสร้างแฟ้มข้อมูล
การบัน ทึ ก ข้ อ มู ล ด้ วยระบบแฟ้ ม ข้อ มู ล เป็ นการบั น ทึ ก ข้ อมู ล แบบแรกๆ ในระบบ
คอมพิ วเตอร์แต่ก็ ยัง มีใช้ม าจนถึงปัจจุบันเนื่องจากเป็นการบันทึ กข้อมู ลแบบง่ายๆ ด้วยการเขียน
โปรแกรมในภาษาต่างๆ บันทึกลงไฟล์โดยตรง แต่ก็ยัง มีข้อจํากั ดและปัญหาหลายประการในการ
บันทึกข้อมูลแบบนี้ การบันทึกข้อมูลแบบดังกล่าวจึงเหมาะกับข้อมูลบางประเภทเท่านั้น หากเป็น
ข้อมูลที่มีความซับซ้อนอาจจะก่อให้เกิดปัญหาในภายหลังได้ อีกทั้งการออกแบบและการนําไปใช้ยัง
ค่อนข้างใช้เวลานานและความปลอดภัยต่ําเนื่ องจากระบบความปลอดภัยของข้อมูลแบบนี้ก็จะต้อง
พัฒนาขึ้นมาเองตามมาตรฐานของแต่ละคนที่ออกแบบมา ไม่ได้มีมาตรฐานแน่นอน โดยการบันทึก
ข้อมูลแบบนี้จะต้องทําความเข้าใจพื้นฐานดังนี้
โครงสร้างแฟ้มข้อมูล ประกอบด้วยโครงสร้างพื้นฐานที่ลําดับจากหน่วยเล็กที่สุด แล้ว
นํามารวมเข้าด้วยกันเพื่อกลายเป็นหน่วยใหญ่ตามลําดับ ดังภาพที่ 1.3
8
ทั้งยังต้องกําหนดขนาดความกว้างของแต่ละฟิลด์ ซึ่งจากตัวอย่างจะเห็นว่าจะเก็บด้วยกันจํานวน 6
ฟิลด์ ซึ่งประกอบด้วยฟิลด์ ดังนี้ รหัสนักศึกษา คํานําหน้า ชื่อ สกุล เพศ และ วัน/เดือน/ปีเกิด โดย
จากตัวอย่างจะมีรายละเอียดและขอบเขตของแต่ละฟิลด์ ดังนี้
รหัสนักศึกษา ประกอบ ขึ้นจากตัวเลขจํานวน 5 หลัก ซึ่งไม่ว่าจะมีจํานวนกี่ Record ก็
ตามตัวเลขในฟิลด์นี้ก็ยังจะเป็นจํานวน 5 หลัก เท่านั้น ไม่สามารถเพิ่มหรือลดได้ อีกปัญหาที่อาจจะ
พบกั บ ฟิ ล ด์นี้ คื อ รหั ส นั ก ศึก ษาของแต่ ล ะ Record จะต้อ งไม่ ซ้ํ า กั น ดัง นั้ นผู้ ที่ เ ขี ย นโปรแกรม
(Programmer) เพื่อเก็บข้อมูล ไฟล์นี้จะต้องเขียนโปรแกรมมาคอยตรวจสอบเงื่อนไขดังกล่าว เพื่อ
ป้องกันความผิดพลาดที่อาจจะเกิดขึ้นได้
ในส่วนของ คํานําหน้า ชื่อ สกุ ล และเพศ ประกอบขึ้นจากตัวอัก ษรซึ่ง ไม่ สามารถ
กําหนดความกว้างที่แน่นอนได้ว่าจะต้องมีกี่ตัวอักษรในฟิลด์นี้ ดังนั้นในการออกแบบจึงต้องมีการเผื่อ
ขนาดของฟิลด์เหล่านี้ไว้ให้เพียงพอที่ข้อมูลอาจจะเกิดขึ้นใหม่ในอนาคตซึ่งอาจจะมีความยาวมากกว่า
แต่หากไม่ได้คํานึงถึงไว้ในการออกแบบตั้งแต่ต้นอาจจะเกิดปัญหาได้หากในอนาคตมี ข้อมูลที่มีขนาด
มากกว่าที่ ได้ออกแบบไว้ ก็ อาจจะต้องตัดให้เหลือเท่ากับ จํานวนที่ สามารถเก็ บได้ ซึ่ง อาจจะไม่ได้
ความหมาย หรือความหมายอาจจะเปลี่ยนไป อีกปัญหาหนึ่งที่อาจจะเกิดขึ้นกับข้อมูลในฟิลด์นี้คือ
หากผู้บันทึกข้อมูลพิมพ์คํานําหน้าเป็นอย่างอื่นเช่น “นางสาว” เป็น “น.ส.” หรือข้อมูลเพศ “ชาย”
หรือ “หญิง” ซึ่งอาจจะมีการบันทึกเป็น “ช” หรือ “ญ” ซึ่งโดยปกติแล้ว คําย่อหรือคําเต็มนั้นก็ มี
ความหมายเหมือนกัน แต่ในการเก็บข้อมูลที่เป็นคนละรูปแบบตามกรณีนี้ อาจจะก่อให้เกิดปัญหาขึ้น
ในภายหลังได้ และหากจะต้องการป้องกันความผิดพลาดแบบนี้ที่อาจจะเกิดขึ้นได้ ผู้เขียนโปรแกรมก็
จะต้องเขียนโปรแกรมเพื่อป้องกันความผิดพลาดนี้ขึ้นมาเองโดยเฉพาะ
ส่วน วัน/เดือน/ปีเกิด นั้น เป็นการจัดเก็บวันที่ ซึ่งโดยปกติแล้ว วันที่นั้นสามารถจัดเก็บ
ได้หลายรูปแบบ เช่น วัน/เดือน/ปี หรือ เดือน/วัน/ปี อีกทั้ง ปีนั้นยังสามารถเข้าใจได้ว่าอาจจะเป็นปี
แบบพุทธศักราช หรืออาจจะเป็นคริสต์ศักราช ซึ่งการจัดเก็บแบบไฟล์นั้น ไม่มีรูปแบบในการจัดเก็บ
โดยเฉพาะ ดังนั้นผู้เขียนโปรแกรมจึงจําเป็นต้องเขียนโปรแกรมเข้ามาควบคุมส่วนนี้ด้วยเช่นกัน และ
หากต้องการใช้วันที่ในรูปแบบที่นอกเหนือจากที่จัดเก็บไว้เป็นรูปแบบอื่น เช่น อยากจะแสดง ปี เป็น
คริสต์ศักราช ก็จะเขียนโปรแกรมเพื่อแปลงค่าเหล่านั้นขึ้นมาใหม่
1.4 ข้อจากัดของระบบแฟ้มข้อมูล
จากที่กล่าวมาแล้วข้างต้น ในการใช้งานระบบแฟ้มข้อมูล นั้นยังมีข้อจํากัดอยู่หลาย
ประการ ซึ่งอาจสรุปเป็นข้อๆ ได้ดังต่อไปนี้
11
1.5 ระบบฐานข้อมูล
เนื่องจากการเก็บข้อมูล ด้วยระบบแฟ้มข้อมูล นั้น มีข้อจํากัดหลายประการดังที่กล่าว
มาแล้วข้างต้น จึงได้มีการคิดค้นวิธีการเก็บข้อมูลด้วยระบบฐานข้อมูลขึ้น เพื่อขจัดข้อจํากัดเหล่านั้น
โดยการเก็บข้อมูลด้วยระบบฐานข้อมูลนั้น จะมีการเก็บข้อมูลแยกออกจากตัวโปรแกรมที่เขียนขึ้น
อย่างชัดเจน อีกทั้งยังมีระบบบริหารจัดการซึ่งเป็นมาตรฐานเดียวกัน ทําให้สามารถทําความเข้าใจได้
ง่าย มีความปลอดภัยสูงขึ้น และยังสามารถใช้งานร่วมกันได้อย่างปลอดภัยและลดปัญหาต่างๆ ที่เกิด
ขึ้นกับการบันทึกข้อมูลด้วยระบบแฟ้มข้อมูลโดยการเก็บข้อมูลด้วยระบบฐานข้อมูลนั้นจะมีตัวกลางที่
เรียกว่า DBMS (Database Management System) ซึ่งจะทําหน้าที่ในการบริหารจัดการข้อมูลใน
ฐานข้อมูล โดยไม่ต้องมีการเขียนโปรแกรมควบคุมใดๆ เพิ่มเติม และสามารถทํางานร่วมกันได้อย่างมี
ประสิท ธิภาพและมี ม าตรฐานในการทํ างานที่ ทั่ วโลกยอมรับ โดยลั ก ษณะการทํ า งานของระบบ
ฐานข้อมูลนั้นดังแสดงในภาพที่ 1.5
1.6 สภาพแวดล้อมของระบบฐานข้อมูล
ในการใช้งานระบบฐานข้อมูลนั้นมีความปลอดภัยและถูกต้อง อีกทั้งยังลดปัญหาต่างๆ ที่
เกิ ดขึ้นกั บการจัดเก็ บ ข้อ มู ลด้วยระบบแฟ้ม ข้อมู ล ก็จ ริง แต่ร ะบบฐานข้อมู ล ก็ยัง มีองค์ป ระกอบที่
เพิ่ม ขึ้น จากระบบแฟ้ ม ข้อ มู ล ค่อ นข้ างมาก ดัง นั้น จึง ต้อ งทํ าความเข้า ใจกั บ สภาพแวดล้ อมและ
องค์ประกอบต่างๆ ซึ่งประกอบกันขึ้นเป็นระบบฐานข้อมูล ดังต่อไปนี้
1. ฮาร์ดแวร์ (Hardware) คืออุป กรณ์ต่างๆ ที่ ใช้ในระบบฐานข้อมู ล เช่น เครื่อง
คอมพิวเตอร์รวมถึงอุปกรณ์ต่อพ่วงต่างๆ อุปกรณ์แม่ข่าย อุปกรณ์เครือข่ายต่างๆ ระบบสํารองข้อมูล
โดยอุปกรณ์แต่ละชนิดจะต้องมีความเข้ากันได้และทํางานเป็ นระบบเดียวกันร่วมกับส่วนอื่นๆ ของ
องค์ประกอบ
2. ซอฟต์แวร์ (Software) คือส่วนประกอบของโปรแกรมต่างๆ ซึ่ง จะใช้ในระบบ
เพื่อให้ระบบทํางานได้ อย่างมีเสถียรภาพ ปัจจุบันซอฟต์แวร์ยังมีให้เลือกใช้ทั้งประเภทที่ต้องจ่ายเงิน
เป็นค่า License และที่เป็น Open Source แต่หากเป็นระบบฐานข้อมูลทีม่ ีความสําคัญมากๆ อาจจะ
ต้องเลี่ยงการใช้งานซอฟต์แวร์ประเภท Open Source เนื่องจากการพัฒนาซอฟต์แวร์ประเภทนี้ คน
ทั่วโลกช่วยกันพัฒนา ดังนั้นอาจจะมีช่องโหว่ของซอฟต์แวร์ ซึ่งเป็นที่เปิดเผย อาจจะไม่ปลอดภัยกับ
ระบบฐานข้อมูลที่มีความสําคัญมากๆ โดยซอฟต์แวร์ที่ใช้ในระบบฐานข้อมูลอาจแบ่งย่อยออกได้ดังนี้
2.1 ซอฟต์แวร์ระบบปฏิบัติการ (Operating Systems) ซึ่งมีอุปกรณ์หลาย
อย่ า งที่ ต้ อ งใช้ ซ อฟต์ แ วร์ ป ระเภทนี้ เ พื่ อ ใช้ ใ นการทํ า งานเบื้ อ งต้ น ของอุ ป กรณ์ โดยซอฟต์ แ วร์
ระบบปฏิบัติการนี้จะมีหน้าที่บริหารจัดการฮาร์ดแวร์และอุปกรณ์ต่อพ่วงที่เกี่ยวข้อง และยังมีหน้าที่ให้
ซอฟต์แวร์ประเภทอื่นๆ สามารถทํางานบนระบบปฏิบัติการอีกด้วย โดยฮาร์ดแวร์ส่วนใหญ่จะต้องใช้
ระบบปฏิบัติการทํางานเสมอและยังขึ้นอยู่กับประเภทของฮาร์ดแวร์อีกด้วย ระบบปฏิบัติการแต่ละ
ประเภทจะทํางานบนฮาร์ดแวร์ที่ได้ออกแบบไว้เท่านั้น เช่น ระบบปฏิบัติการ Windows 7 จะทํางาน
บนเครื่อง IBM Compatible เท่านั้น แต่หากเป็นฮาร์ดแวร์ประเภทอื่นเช่นเครื่องตระกูล Macintosh
ก็จะต้องใช้ระบบปฏิบัติการ Mac OS ของบริษัท Apple เท่านั้น เป็นต้น
2.2 ซอฟต์แวร์ระบบจัดการฐานข้อมูล (DBMS Software) เป็นซอฟต์แวร์ที่
สําคัญมากในระบบฐานข้อมูล โดยซอฟต์แวร์ประเภทนี้จะทําหน้าที่บริหารจัดการฐานข้อมูล ซึ่งมีอยู่
14
หลายระดับ ความสามารถและราคาให้เ ลือ กใช้ ซอฟต์ แวร์ป ระเภทนี้ที่ รู้จั ก กั นดี เ ช่น Microsoft
Access ซึ่ง ติดมากับโปรแกรมในชุด Microsoft Office ของบริษัท ไมโครซอฟต์ แต่หากต้องการ
ความสามารถที่มากขึ้นอาจจะใช้ Microsoft SQL Server หรือ Oracle ของบริษัท Oracle แต่หาก
ต้องการใช้ประเภทที่เป็น Open Source ก็สามารถเลือกใช้ MySQL Server เป็นต้น
2.3 แอปพลิเ คชั น โปรแกรมและโปรแกรมอรรถประโยชน์ (Application
Programs and Utilities Software) ส่วน Application Program เป็นส่วนที่ใช้เป็นตัวกลางในการ
ติดต่อระหว่าง user กับ Database ซึ่งโปรแกรมประเภทนี้อาจจะพัฒนาขึ้นมาใช้เองในองค์กรต่างๆ
โดยมีหน้าที่ต่างกันไป ส่วนซอฟต์แวร์อรรถประโยชน์ (Utilities Software) อาจจะเป็นซอฟต์แวร์ที่
ช่วยอํานวยความสะดวกในการทํางานเพิ่มเติม เช่น โปรแกรมที่ใช้ในการสร้างรายงานต่างๆ โดยไม่
ต้องเขียนโปรแกรมเพิ่มเติมมากนัก ที่นิยมใช้กันมากในปัจจุบัน ได้แก่ Crystal Report ซึ่งช่วยสร้าง
รายงานโดยดึงข้อมูลจากฐานข้อมูลมาแสดงในรูปแบบรายงานตั้งแต่แบบพื้นฐานจนถึงรายงานที่มี
ความซับซ้อนมากๆ ได้
3. คน (People) ส่วนประกอบของระบบที่สําคัญอีกอย่างหนึ่งคือ “คน” ซึ่งระบบจะ
ประสบความสําเร็จมากน้อยเพียงใดนั้นขึ้นอยู่กับส่วนประกอบนี้เป็นหลัก โดยเริ่มตั้งแต่สร้างระบบ
ขึ้นมา จนถึงการใช้งานระบบ และการดูแลรักษาระบบ ล้วนแล้วแต่จําเป็นต้องใช้คนซึ่งมีหน้าที่ต่ างกัน
ดังนี้
3.1 ผู้บริหารระบบ (System Administrators) ทําหน้าที่โดยรวมทั้งหมด
ในระบบและเป็นผู้ที่มีสิทธิมากที่สุดในระบบด้วย โดยทําหน้าที่ดูแลระบบทั่วไปทั้งระบบ
3.2 ผู้บริหารฐานข้อมูล (Database Administrators) จะมีห น้าที่เกี่ยวข้องกั บ
ฐานข้อมูล บางครั้งตําแหน่งนี้จะเรียกย่อๆ ว่า “DBAs” โดยทําหน้าที่บริหารจัดการฐานข้อมูล ตั้งกฎ
ต่างๆ เกี่ยวกับฐานข้อมูลเพื่อให้ผู้ปฏิบัติงานส่วนอื่นทราบและปฏิบัติไปในทิศทางเดียวกัน เพื่อความ
ถูกต้อง มีเสถียรภาพ และเกิดความปลอดภัยกับระบบมากที่สุด
3.3 ผู้ออกแบบฐานข้อมู ล (Database Designers) ทําหน้าที่ ในการออกแบบ
ฐานข้อมูลตามมาตรฐานของฐานข้อมูลในรูปแบบนั้นๆ ให้ถูกต้อง มีประสิทธิภาพ และความปลอดภัย
ในการใช้งานมากที่สุด หากฐานข้อมูลออกแบบมาไม่ดีตั้งแต่ต้นอาจจะส่งผลกระทบในภายหลังซึ่งไม่
สามารถแก้ไขได้ หรือการแก้ไขนั้นทําได้ยากมากและอาจะส่งผลกระทบต่อส่วนงานต่างๆ ด้วย
3.4 นัก วิ เ คราะห์ ร ะบบและโปรแกรมเมอร์ (Systems Analysts and
Programmers) โดยนักวิเคราะห์ระบบนั้นจะทําหน้าที่ออกแบบโปรแกรมซึ่งหากใช้ร่วมกับฐานข้อมูล
แล้ ว ถื อ เป็ น ส่ ว นสํ า คั ญ เพราะโปรแกรมเป็ น เสมื อ นส่ ว นที่ เ ชื่ อ มต่ อ กั บ ผู้ ใ ช้ ใ นระดั บ อื่ น ๆ ส่ ว น
โปรแกรมเมอร์นั้นมีหน้าที่เขียนคําสั่ง หรือชุดคําสั่งโปรแกรมให้ทํางานได้ตามที่นักวิเคราะห์ระบบได้
ออกแบบไว้
15
1.8 หน้าที่ของระบบจัดการฐานข้อมูล
สิ่งสําคัญอย่างหนึ่งในระบบฐานข้อมูลก็คือระบบจัดการฐานข้อมูล ดังนั้นในหัวข้อนี้จะ
กล่าวถึงลักษณะของระบบจัดการฐานข้อมูล ซึ่งจะกล่าวถึงหน้าที่หลักๆ ที่ระบบจัดการฐานข้อมูลควร
มีเป็นเบื้องต้น แต่ก็ อาจจะมี ระบบจัดการฐานข้อมูล บางประเภทที่มี ฟังก์ ชั่นการทํางานมากกว่านี้
ขึ้นอยู่กับผู้ผลิตแต่ละรายจะเพิ่มเติมคุณลักษณะพิเศษ เพื่อเป็นจุดขายให้กับผลิตภัณฑ์ของตนเอง โดย
คุณสมบัติเบื้องต้นของระบบจัดการฐานข้อมูล มีดังต่อไปนี้
1. ระบบจัดการพจนานุกรมข้อมูล (Data Dictionary Management) โดยพจนานุกรม
ข้อมูลนั้นเป็นสิ่งสําคัญที่จะบอกถึงลักษณะและรายละเอียดต่างๆ ของข้อมูล ความสัมพันธ์ ลักษณะ
ของข้อ มูล เพื่ อ แสดงเป็นเอกสารที่บ อกคุณลัก ษณะของฐานข้อมู ล นั้นๆ เพื่อให้ผู้ที่ จําเป็นต้องนํา
ฐานข้อมูลไปใช้ได้ศึกษา ทําความเข้าใจ หรือแม้กระทั่งการนําไปปรับปรุงฐานข้อมูลในอนาคต โดย
สามารถนําไปวิเคราะห์ ทําความเข้าใจ และวางแผนในการบริหารจัดการฐานข้อมูลให้มีประสิทธิภาพ
18
ดังนั้นความถูกต้องในข้อมูลย่อมมีความคงสภาพสูง แม้ว่าในปัจจุบันจะไม่นิยมใช้แบบจําลองประเภท
นี้แล้วก็ตาม แต่ยังอาจพบได้ในองค์กรขนาดใหญ่สําหรับ เทคโนโลยีนี้ใช้งานได้ดีบนแบบจําลองบน
แบบจําลองข้อ มู ล ที่ ใช้โ ครงสร้างแบบทรีและการเข้าถึง ข้อมู ล ส่วนใหญ่เ ริ่ม ต้นจากแฟ้ม เดียวกั น
แบบจําลองฐานข้อมูลลําดับชั้นเหมาะกับการประมวลผลธุรกรรมขนาดใหญ่ ทุกวันนี้ยังคงมีองค์กร
เก่าแก่เพียงบางแห่งเท่านั้นที่ใช้งานอยู่ ตัวอย่างซอฟต์แวร์จัดการฐานข้อมูลบนแบบจําลองชนิดนี้คือ
IMS (Information Management System) ของบริษัท IBM แต่ด้วยแนวโน้มระบบฐานข้อมูล ในยุค
ปัจจุบันล้วนสร้างขึ้นภายใต้แบบจําลองฐานข้อมูลเชิงสัมพันธ์แทบทั้งสิ้น ดังนั้น ทางบริษัท IBM จึงได้
เตรียมชุดซอฟต์แวร์สําหรับใช้เป็นเครื่องมือในการเคลื่อนย้าย (Migration) จากฐานข้อมูล IMS มา
เป็น DB2 เพื่อรองรับการเปลี่ยนแปลงข้อมูลของลูกค้า โดยฐานข้อมูล DB2 เป็นผลิตภัณฑ์ซอฟต์แวร์
จัดการฐานข้อมูลเชิงสัมพันธ์ของบริษัท IBM เช่นกัน สํ า หรั บข้ อ ดี และข้ อเสี ยของ แบบจํ าลอ ง
ฐานข้อมูลลําดับชั้น มีดังต่อไปนี้
ข้อดี
1. เป็นโครงสร้างที่ง่ายต่อการทําความเข้าใจ มีลักษณะเหมือนกับโครงสร้างต้นไม้
2. เป็นโครงสร้างที่มีความซับซ้อนน้อยที่สุด เหมาะกับข้อมูลที่มีความสัมพันธ์แบบหนึ่ง
ต่อกลุ่ม
3. การป้อ งกั นความปลอดภัยในข้อมูล ค่อนข้างดี เนื่องจากต้องอ่านข้อมู ลที่ เ ป็นต้น
กําเนิดก่ อนทําให้ความถูกต้องของข้อมูลในฐานข้อมู ลมีสูงหรือที่เรียกว่ามี ความคง
สภาพสูง
4. เหมาะกับข้อมูลที่มีการเรียงลําดับแบบต่อเนื่อง
ข้อเสีย
1. ยากต่อการพัฒนา ซึ่งผู้พัฒนาต้องมีความรู้ความเข้าใจเกี่ยวกับโครงสร้างทางกายภาพ
ของข้อมูลที่จัดเก็บอยู่ภายในฐานข้อมูลเป็นอย่างดี
2. เมื่อมีการเปลี่ยนแปลงในโครงสร้าง แอปพลิเคชันโปรแกรมทั้งหมดต้องเปลี่ยนแปลง
ตาม เนื่องจากขาดอิสระในโครงสร้าง
3. ในการเรียกใช้ข้อมูลจําเป็นต้องผ่านโหนดรากเสมอ ดังนั้นหากต้องการค้นหาข้อมูลซึ่ง
อยู่ในระดับต่างๆ จะต้องค้นหาข้อมูลทั้งแฟ้มข้อมูล
4. ไม่มีภาษามาตรฐานที่นําไปใช้จัดการกับฐานข้อมูล
5. ขาดมาตรฐานการรองรับที่ชัดเจน
23
ความสัมพันธ์ระหว่างข้อมูลในแบบจําลองฐานข้อมูลเครือข่ายจะเรียกว่าเซต (Set)
แต่ละเซตอย่างน้อยประกอบด้วยเรคอร์ด 2 ชนิดด้วยกัน คือ Owner Record ที่เปรียบเสมือนกับ
โหนดพ่อ และ Member Record ที่ Owner Record และ Member Record ได้ตามโครงสร้าง
แบบเมซ (Mesh Structure)
ปัจจุบันแบบจําลองชนิดนี้ ยังมีมีใช้งานอยู่บนเครื่องคอมพิวเตอร์ระดับเมนเฟรม
โดยเฉพาะโปรแกรมจัดการฐานข้อมูล IDMS (Integrated Database Management System) ของ
บริษัท Computer Associates ซึ่งปัจจุบันคือบริษัท CA Technologies ซึ่งได้รับความนิยมมาก
ภายใต้การใช้งานบนโครงสร้างแบบจําลองดังกล่าวและในทํานองเดียวกัน โครงสร้างแบบจําลอง
ฐานข้อมูลแบบเครือข่ายยังคงใช้พอยน์เตอร์หรือตัวชี้ในการเชื่อมโยงความสัมพันธ์ระหว่างเรคคอร์ดใน
24
ปัจจุบันมีโปรแกรมประยุกต์มากมายที่พัฒนาเพื่อใช้งานบนแบบจําลองฐานข้อมูล
เชิงสัมพันธ์ ซอฟต์แวร์จัดการฐานข้อมูล (DBMS) ส่วนใหญ่ล้วนสนับสนุนการทํางานของแบบจําลอง
ดังกล่าว ด้วยการใช้คําสั่ง SQL ในการจัดการกับฐานข้อมูล สําหรับข้อดีและข้อเสียของแบบจําลอง
ฐานข้อมูลชนิดนี้ มีดังนี้
ข้อดี
1. มีความเป็นอิสระในโครงสร้าง หากมีการเปลี่ยนแปลงโครงสร้างตารางจะไม่
ส่งผลต่อโปรแกรมที่ใช้งาน
2. การนําเสนอข้อมู ล ในรูป แบบตารางก่ อให้เ กิ ด มโนภาพถึง ลัก ษณะข้อมู ล ที่
สามารถจับต้องได้ ง่ายต่อการทําความเข้าใจ ช่วยในการออกแบบฐานข้อมูล
การนําไปใช้และการจัดการสะดวกมากขึ้น
3. การเรียกดูข้อมูลสามารถเรียกใช้งานผ่านชุดคําสั่ง SQL ซึ่งเป็นภาษาในยุคที่ 4
4. มีระบบความปลอดภัยที่ดี เนื่องจากโครงสร้างการจัดเก็บข้อมูลทางกายภาพ
ผู้ใช้ทั่วไปไม่สามารถรับรู้ได้เนื่องจากถูกซ่อนอยู่ภายใน
5. ระบบจั ดการฐานข้อ มู ล ยุคใหม่ ที่ ใ ช้ง านในปัจ จุบั นล้ วนรองรับ เทคโนโลยี
ฐานข้อมูลเชิงสัมพันธ์แทบทั้งสิ้น
26
ข้อเสีย
1. ค่าใช้จ่ายเกี่ ยวกั บ ระบบค่อ นข้ างสู ง เนื่องจากจํา เป็นต้องใช้ท รัพ ยากรทั้ ง
ฮาร์ดแวร์และซอฟต์แวร์ที่มีความสามารถสูง รวมถึงต้นทุนของระบบจัดการฐานข้อมูลเองก็จะสูงขึ้น
ตามระดับความสามารถ
2. เนื่องจากแนวคิดฐานข้อมูลเชิงสัมพันธ์ในภาพรวมนั้นง่ายต่อการนําไปใช้งาน
ดังนั้น บุคคลที่ไม่ได้รับการฝึกอบรมหรือเป็นผู้ที่มีความรู้ไม่ดีพอ ได้นําเครื่องมือไปใช้หรือออกแบบ
ผิดๆ ทําให้ระบบที่ดีต้องกับแย่ลง และหากไม่ได้รับการตรวจสอบอาจจะก่อให้เกิดความซ้ําซ้อนใน
ข้อมูลได้เช่นเดียวกับระบบแฟ้มข้อมูล
3. เนื่องจากฐานข้อมูลเชิงสัมพันธ์มีเครื่องมือสนับสนุนมากมายที่สามารถนํามาใช้
เพื่อพัฒนาระบบด้วยระยะเวลาอันสั้น ดังนั้น อาจเกิดปัญหากับกรณีมีพนักงานบางคนอยากลองวิชา
หรือทดลองศึกษาด้วยการลักลอบพัฒนาแอปพลิเคชันเพื่อใช้งานเองในทางที่ผิดหรือกระทําโดยไม่ได้
รับอนุญาตซึ่งอาจส่งผลกระทบต่อฐานข้อมูลองค์กรไม่ทางใดก็ทางหนึ่ง
1.9.4 แบบจาลองฐานข้อมูลเชิงวัตถุ (Object-Oriented Database Model)
แบบจําลองชนิดนี้ถือเป็นเทคโนโลยีใหม่ของการจัดการฐานข้อมูลเชิงวัตถุ ซึ่งเกิด
จากแนวคิดการเขียนโปรแกรมเชิงวัตถุ (Object-Oriented Program : OOP) ด้วยการมองทุกสิ่งเป็น
วัตถุ โดยแต่ละวัตถุจะเป็นแหล่งรวมของข้อมูลโอเปอเรชัน (Data and Operation) มีคลาส (Class)
เป็นตัวกําหนดคุณสมบัติหรือรายละเอียดของวัตถุ รวมทั้งคุณสมบัติห่อหุ้ม (Encapsulation) ที่การ
เข้าถึงข้อมูลเมื่อวัตถุอื่นๆ ได้ส่งเมสเสจร้องขอมา จะต้องได้รับการตอบรับจากเมธอดในวัตถุนั้นว่าจะ
อนุญาตให้เข้าถึงข้อมูลตนหรือไม่ ข้อดีของแบบจําลองฐานข้อมูลเชิงวัตถุนี้ก็คือ สามารถจัดการกับ
ข้อมู ล ชนิดต่ างๆ ที่ มี ค วามซับ ซ้อ นได้ เ ป็ นอย่ างดี เช่น ข้อ มู ล ประเภท กราฟิก วีดี โ อ และเสีย ง
นอกจากนี้ยังสนับสนุนคุณสมบัติการนํากลับมาใช้ใหม่ (Reusable) ทั้งนี้แบบจําลองฐานข้อมูลเชิง
วัตถุถือเป็นเทคโนโลยีใหม่ของระบบจัดการฐานข้อมูล ที่มักนําไปใช้กับหน่วยงานขนาดใหญ่ สําหรับ
ข้อดีและข้อเสียของแบบจําลองฐานข้อมูลชนิดนี้ มีดังต่อไปนี้
ข้อดี
1. คุณสมบัติด้านการสืบทอด (Inheritance) ทําให้ข้อมูลมีความคงสภาพสูง
2. มีคุณสมบัติในการนํากลับมาใช้ใหม่
3. การนําเสนอข้อมูลรูปแบบวิชวล (Visual) ทําให้เข้าใจความหมายได้ดี
27
ข้อเสีย
1. ยังต้องพึ่งพาผู้เชี่ยวชาญโดยเฉพาะ และมีค่าใช้จ่ายเกี่ยวกับระบบค่อนข้างสูง
2. ยังไม่มีมาตรฐานรองรับที่ชัดเจนเมื่อเทียบกับแบบจําลองฐานข้อมูลเชิงสัมพันธ์
อีกทั้งผลิตภัณฑ์ระบบจัดการฐานข้อมูลที่ใช้งานบนแบบจําลองฐานข้อมูลเชิง
สัมพันธ์ ได้พัฒนาขีดความสามารถก้าวไปอีกขั้นหนึ่งด้วยการผนวกเทคโนโลยี
เชิงวัตถุไปด้วย ที่เรียกว่า Object-Relational Database
3. ผู้เชี่ยวชาญส่วนใหญ่คุ้นเคยกับเทคโนโลยีฐานข้อมูลเชิงสัมพันธ์มากกว่า
1.9.5 แบบจาลองฐานข้อมูลหลายมิติ (Multidimensional Database Model)
แบบจําลองชนิดนี้ใช้งานกับคลังข้อมูล (Data Warehousing) โดยนําเสนอข้อมูล
ได้หลายมิติทําให้สามารถวิวข้อมูลได้มากกว่าหนึ่งมุมมอง เพื่อให้ผู้บริหารสามารถมองเห็นปัญหาทาง
ธุรกิจและสร้างวิธีแก้ปัญหาได้ดียิ่งขึ้น กล่าวคือ แบบจําลองฐานข้อมูลหลายมิติจะนําข้อมูลธุรกรรม
ทางธุรกิจมาจัดรูปแบบให้อยู่ในรูปมิติ เช่น การนําข้อมูลผลิตภัณฑ์สินค้า กับข้อมูลพื้นที่การขาย มา
ประมวลเป็นตารางในรูปแบบหลายมิ ติ ทําให้ผู้ใช้สามารถตัดขวางหรือแบ่งข้อมูล ออกเป็นส่วนๆ
(Data Cube) มาวิเคราะห์ใช้งานได้ตามต้องการ ตัวอย่างแบบจําลองฐานข้อมูลหลายมิติที่ถูกสร้าง
เพื่อใช้งานในฐานข้อมูลเชิงสัมพันธ์ คือ Star Schema ซึ่งจะมี Fact Table เป็นศูนย์กลางในการ
บรรจุแอตตริบิวต์ทั้งหมดที่ถูกวัดหรือวิเคราะห์ ส่วนตารางมิติ (Dimension Tables) ก็คือตารางแกน
ต่างๆ ที่จะเชื่อมโยงเข้ากับตาราง Fact ผ่านคีย์ สําหรับข้อดีและข้อเสียของแบบจําลองฐานข้อมูลชนิด
นี้ มีดังต่อไปนี้
ข้อดี
1. สามารถนํามาประยุกต์ใช้เพื่อวางแผนกลยุทธ์ และสร้างวิธีแก้ปัญหาธุรกิจได้
2. ข้อมูลที่นําเสนอสามารถนําเสนอมุมมองได้หลายมิติ
ข้อเสีย
1. ใช้เงินลงทุนสูง ทั้งฮาร์ดแวร์และซอฟต์แวร์ที่นํามาใช้เพื่อการวิเคราะห์
2. คลั ง ข้ อ มู ล ต้อ งได้รั บ การออกแบบที่ ดี มิ ฉะนั้น อาจจะไม่ ส ามารถนํ ามาใช้
ประโยชน์ได้อย่างคุ้มค่า
3. ผู้เชี่ยวชาญเฉพาะด้านมีจํานวนน้อย
4. เหมาะสําหรับธุรกิจขนาดใหญ่
28
สรุปท้ายบท
ในบทที่ 1 นี้ได้กล่าวถึงความเป็นมาและความสําคัญ ของการบันทึกข้อมูลตั้งแต่อดีตมา
จนถึงการจัดเก็บข้อมูลด้วยฐานข้อมูล อีกทั้งยังได้อธิบายวิธีการเก็บข้อมูลในรูปแบบของไฟล์ซึ่งไม่ได้มี
วิธีการเก็บข้อมูลหรือข้อตกลงที่ชัดเจนเมือ่ เปรียบเทียบกับการบันทึกข้อมูลด้วยระบบฐานข้อมูลโดยได้
อธิบ ายถึงลัก ษณะของไฟล์ ข้อมู ล ข้อจํากัดต่างๆ ในการเก็บ ข้อมู ลด้วยระบบแฟ้มข้อมูล นอกจาก
วิธี ก ารเก็ บ ข้อ มู ล ด้ วยระบบแฟ้ ม ข้ อ มู ล แล้ วในบทนี้ ยัง ได้ อ ธิบ ายถึง วิธี ก ารเก็ บ ข้ อมู ล ด้ วยระบบ
ฐานข้อมูล สภาพแวดล้อมที่ใช้กับการเก็บข้อมูลด้วยระบบฐานข้อมูล ประเภทของฐานข้อมูล ระบบ
จัดการฐานข้อมู ล และยั ง กล่าวถึง Database Models ทั้ง ที่ เป็น Conceptusl Model และ
Implementation Model ในตอนท้ายของบทยังได้กล่าวถึงแบบจําลองฐานข้อมูลประเภทต่างๆ ไม่
ว่าจําเป็น แบบจําลองฐานข้อมู ลแบบลําดับ ชั้น แบบจําลองฐานข้อมู ลแบบเครือข่าย แบบจําลอง
ฐานข้อมูลเชิงสัมพันธ์ และ แบบจําลองฐานข้อมูลเชิงวัตถุ ซึ่งในบทนี้ผู้เรียนจะได้เห็นความเป็นมาและ
ภาพรวมต่างๆ ของการจัดเก็บข้อมูลด้วยระบบฐานข้อมูล
29
คาถามทบทวนบทที่ 1
1. จงอธิบายลักษณะการเก็บข้อมูลด้วยระบบแฟ้มข้อมูลมาพอเข้าใจ
2. จงอธิบายลักษณะการเก็บข้อมูลด้วยระบบฐานข้อมูลมาพอเข้าใจ
3. จงอธิบายเปรียบเทียบวิธีการเก็บข้อมูลด้วยระบบแฟ้มข้อมูลและระบบฐานข้อมูลในประเด็นสําคัญ
มาเป็นข้อๆ
4. เมื่อต้องการจัดเก็บข้อมูลด้วยระบบฐานข้อมูล ระบบฐานข้อมูลดังกล่าวจําเป็นต้องมีสภาพแวดล้อม
สําคัญอะไรบ้าง
5. DMBS คืออะไร หากจําเป็นต้องใช้งานจะต้องมีองค์ประกอบอื่นใดบ้างร่วมด้วย
6. จงอธิบายลักษณะเฉพาะของแบบจําลองฐานข้อมูลประเภทต่างๆ
30
เอกสารอ้างอิงบทที่ 1
แผนบริหารการสอนประจาบทที่ 2
หัวข้อเนื้อหา
บทที่ 2 การออกแบบฐานข้อมูลด้วย ER-Diagram
2.1 สัญลักษณ์ที่ใช้ใน ER-Diagram
2.2 ชนิดของความสัมพันธ์
2.3 วิธีวิเคราะห์ชนิดของความสัมพันธ์ใน ER-Diagram
2.4 วิธีวิเคราะห์ Cardinality
2.5 Optional, Mandatory
2.6 แอตทริบิวต์
วัตถุประสงค์เชิงพฤติกรรม
วัตถุประสงค์ในบทที่ 2 นี้ เมื่อผู้เรียนได้ศึกษาเกี่ยวกับการออกแบบฐานข้อมูลด้วย ER-
Diagram แล้ว ผู้เรียนจะมีพฤติกรรมที่พึงประสงค์ ดังนี้
1. ผู้เรียนสามารถใช้สัญลักษณ์ของ ER-Diagram ในรูปแบบทีถ่ ูกต้องในการเขียน ER-
Diagram
2. ผู้เรียนสามารถวิเคราะห์และแก้ปญ ั หาความสัมพันธ์ใน ER-Diagram ได้
3. ผู้เรียนสามารถวิเคราะห์ค่าความเป็นไปได้ของข้อมูลระหว่างเอ็นทิตี (Entity) ต่างๆ
(Cardinality) ได้
4. ผู้เรียนสามารถวิเคราะห์ Optional และ Mandatory ใน ER-Diagram ได้
5. ผู้เรียนสามารถกําหนด แอตทริบิวต์ ต่างๆ ให้แต่ละเอ็นทิตี ได้อย่างเหมาะสม
วิธีสอนและกิจกรรมการเรียนการสอนประจาบท
1. วิธีการสอน
1.1 ผู้สอนบรรยายเนื้อหาใหม่
1.2 ให้ผู้เรียนมีส่วนร่วมในกิจกรรมการเรียนการสอน โดยการตอบคําถาม และตัวอย่าง
ต่างๆ
1.3 กําหนดให้ผเู้ รียนวิเคราะห์งานของตัวเองหรือกลุ่ม ด้วย ER-Diagram
1.4 กําหนดวิธีการส่งงานโดยให้ผู้เรียนแต่ละคนหรือกลุม่ มาอธิบายงานโดยผูส้ อนอาจะ
สอบถามเพิ่มเติมเพื่อทวนสอบความเข้าใจในแต่ละเรื่อง
32
2. กิจกรรมการเรียนการสอน
2.1 ผู้สอนบรรยายเนื้อใหม่ซึ่งผู้เรียนไม่เคยมีความรู้มาก่อน โดยระหว่างที่บรรยายจะให้
ผู้เรียนมีส่วนร่วมในการยกตัวอย่างเพิม่ เติมจากทีผ่ ู้สอนยกตัวอย่างไปแล้วเพื่อทดสอบ
ความเข้าใจ
2.2 เมื่ อ ผู้ส อนบรรยายเนื้อ หาเสร็จ ไปในแต่ล ะประเด็นก็ ท ดสอบโดยการตั้ง โจทย์ใน
ประเด็นที่ ได้บ รรยายไปให้ ผู้เ รี ยนช่ วยกั นทํ า โจทย์ดัง กล่า ว โดยให้ช่ว ยกั น เสนอ
ความเห็นของแต่ละกลุ่มหรือของผู้เรียนแต่ละคนโดย
2.3 กําหนดโจทย์ประจําสัปดาห์ให้ผู้เรียนแต่ละคนหรือแต่ละกลุ่มทําในชั้นเรียน และให้
ส่งงานโดยการนําเสนอกับผู้สอนและหากเพื่อนกลุ่ม อื่นๆ สนใจฟังหรือร่วมแสดง
ความคิดเห็นก็สามารถทําได้เพื่อทวนสอบความรู้ ความเข้าใจ ของผู้เรียน
สื่อการเรียนการสอน
สื่อการเรียนการสอนในบทนี้ประกอบด้วย
1. เอกสารประกอบการสอนรายวิชาระบบฐานข้อมูล
2. กระดานเพื่อใช้ในการอธิบายและลําดับความคิดนักศึกษาในเรื่องที่ผสู้ อนบรรยาย
3. แบบฝึกหัดท้ายบทที่ 2
การวัดผลและประเมินผล
การวัดผลและการประเมินผล ประกอบด้วยการวัดผลและการประเมินผล ดังนี้
1. สังเกตความสนใจในกิจกรรมการเรียนการสอนของผูเ้ รียน
2. สังเกตพฤติกรรมการมีส่วนร่วมในชั้นเรียน เช่น การซักถาม การตอบคําถาม ตลอดจนการ
อภิปรายร่วมกัน
3. วัดและประเมินผลเป็นรายบุคคลหรือรายกลุม่ จากการส่งแบบฝึกหัดท้ายบทที่ 2 ด้วยการ
นําเสนอเป็นรายบุคคลหรือรายกลุ่มกับผู้สอน
33
2.2 ชนิดของความสัมพันธ์
เมื่อ กล่าวถึง ชนิดของความสัม พันธ์นั้น ขั้นตอนการวิเ คราะห์ความสัมพันธ์ของข้อมู ล
ต่างๆ โดยใช้ ER-Diagram นั้น สามารถปรากฏความสัมพันธ์ระหว่างข้อมูลต่างๆ ได้ 3 ชนิด ดังนี้
1. ความสัมพันธ์แบบหนึ่งต่อหนึ่ง (One to One Relationship) โดยความสัมพันธ์แบบ
นี้ จ ะเป็ น ความสั ม พั น ธ์ ที่ มี ลั ก ษณะสิ่ ง หนึ่ ง สั ม พั น ธ์ กั บ อี ก สิ่ ง หนึ่ ง เพี ย งหน่ ว ยเดี ย วเท่ า นั้ น เช่ น
38
ความสัมพันธ์ระหว่างคนไทยกับใบสูติบัตรนั้นมีลักษณะความสัมพันธ์แบบหนึ่งต่อหนึ่ง กล่าวคือ คน
ไทยแต่ละคนนั้นจะมีสูติบัตรเพียงคนละหนึ่งฉบับเท่านั้น และสูติบัตรแต่ละฉบับก็เป็นของคนไทยเพียง
หนึ่งคน ดังภาพที่ 2.6
ในการวิเคราะห์ความสัมพันธ์ซึ่งได้ผลลัพธ์เป็นแบบหนึ่งต่อหนึ่งนั้น จะเห็นได้ว่าไม่ว่าจะ
วิเคราะห์จากเอ็นทิตี ใดไปหาเอ็นทิตี ใดก็ยังได้ผลลัพธ์เหมือนเดิม จึงจะสรุปความสั มพันธ์ได้ แต่หาก
เป็นความสัมพันธ์ชนิดอื่น เมื่อวิเคราะห์ทั้งสองฝั่งแล้ว จะได้ผลลัพธ์ที่แตกต่างกัน ดังตัวอย่างต่อไปนี้
จากภาพที่ 2.11 จะเห็นว่ าผลลั พธ์จ ากการวิ เ คราะห์ ความสัม พั นธ์ร ะหว่ างเอ็นทิ ตี
นัก ศึก ษา ซึ่ง สัม พั นธ์โ ดยการลงทะเบียนกั บ เอ็น ทิ ตี วิ ชา นั้น เป็นแบบกลุ่ม ต่ อกลุ่ม ซึ่ ง ได้จ าก
กระบวนการวิเคราะห์ชนิดของความสัมพันธ์ตามขั้นตอน 3 ขั้นตอนที่กล่าวไปแล้วในการวิเคราะห์
ชนิดของความสัมพันธ์แบบ หนึ่งต่อหนึ่งและหนึ่งต่อกลุม่ ในตัวอย่างนี้ก็เช่นเดียวกัน ยังมีวิธีการในการ
วิเคราะห์ชนิดของความสัมพันธ์แบบเดียวกันกับสองกรณีแรก ดังนี้
ดังภาพที่ 2.14
จะต้อ งมี อ าจารย์ เ ป็ น ผู้รั บ ผิ ด ชอบรายวิ ช าเสมอ เส้น เชื่ อ มความสัม พัน ธ์ ฝั่ง อาจารย์จึ ง เรี ยกว่ า
Mandatory
อาจกล่าวโดยสรุปได้ว่าหากจะพิจารณาว่าเส้นเชื่อมความสัมพันธ์เส้นใดเป็น Optional
หรือไม่นั้นสามารถพิจารณาจากค่า Cardinality ที่วิเคราะห์ได้โดยเมื่อใดก็ตามที่มีค่า Cardinality
ส่วนของค่าน้อ ยที่สุดเป็น 0 สัญ ลัก ษณ์ของเส้นเชื่อมความสัม พันธ์ฝั่งตรงข้ามก็จ ะเป็น Optional
เสมอ
2.6 แอตทริบิวต์
เมื่อสามารถวิเคราะห์ความสัมพันธ์ได้แล้วในขั้นตอนนี้จะกล่าวถึงการระบุข้อมูลเพิ่มเติม
เข้าไปใน ER-Diagram ซึ่งจะเป็นข้อมูลในระดับที่ย่อยกว่า Entity ซึ่งเรียกข้อมูลย่อยๆ นี้ว่า แอตทริ
บิวต์ ซึ่งก็มีความสําคัญไม่น้อยไปกว่าเอ็นทิตี เลย เพราะในขั้นตอนต่อไปในการออกแบบฐานข้อมูล
เชิงสัมพันธ์นั้นเอ็นทิตี เหล่านี้จะมีบทบาทมาก ผู้ออกแบบฐานข้อมูลเชิงสัมพันธ์จึงต้องรู้จัก แอตทริ
บิวต์ ประเภทต่างๆ ทั้งนี้การระบุสัญลักษณ์ของ แอตทริบิวต์ นั้นสามารถทําได้โดยการนําสัญลักษณ์
รูปวงรีซึ่งใช้แทน แอตทริบิวต์ แล้วลากเส้นเชื่อมต่อกับเอ็นทิตี ดังภาพที่ 2.17
47
ความสํา พันธ์แบบหนึ่ง ต่ อ กลุ่ม แต่ ยัง ไม่ ส ามารถสรุป ความสัม พัน ธ์ได้จ ะต้องมี ก ารวิเ คราะห์จ าก
รถบรรทุกกลับไปหาผู้รับเหมาด้วย ดังนี้ รถบรรทุกแต่ละคันจะเป็นของผู้รับเหมาคนใดคนหนึ่งเท่านั้น
(One-to-One) จึงสรุปความสัมพันธ์ของผู้รับเหมากับการมีรถบรรทุกได้ว่าเป็นแบบหนึ่งต่อกลุ่ม ดัง
ภาพที่ 2.24
ส่วนการวิเคราะห์ Cardinality จากเอ็นทิตี ผู้รับเหมาไปหารถบรรทุก วิเคราะห์ได้
ดังนี้ ผู้รับเหมาแต่ละรายจะต้องมีรถบรรทุกอย่างน้อยหนึ่งคันและผู้รับเหมาแต่ละคนจะมีรถบรรทุกกี่
คันก็ได้ ดังนั้นค่า Cardinality ของผู้รับเหมาจึงได้ผลลัพธ์เป็น (1,*) จากนั้นจะต้องวิเคราะห์ค่า
Cardinality จากฝั่งรถบรรทุกไปหาผู้รับเหมาซึ่งผลการวิเคราะห์เป็นดังนี้ รถบรรทุกแต่ละคันจะต้อง
เป็นของผู้รับเหมารายใดรายหนึ่งเท่านั้น ดังนั้นค่า Cardinality ของเอ็นทิตี รถบรรทุกไปหาผู้รับเหมา
จึงได้ผลลัพธ์เป็น (1,1) จากการวิเคราะห์ Cardinality ของเอ็นทิตี คู่นี้ไม่มีค่า Min ของฝั่งใดมีค่าเป็น
ศูนย์เลย ดัง นั้นเส้นเชื่อมความสัม พันธ์ทั้ง สองเส้นจึงเป็น Mandatory กล่าวคือผู้รับ เหมาจะไม่ มี
รถบรรทุกไม่ได้ เช่นเดียวกัน รถบรรทุกจะไม่มีเจ้าของเป็นผู้รับเหมาไม่ได้เช่นกัน
2.2 ความสัมพันธ์ระหว่างเอ็นทิตี พนักงาน กับการชั่งน้ําหนักรถบรรทุก
สรุปท้ายบท
การออกแบบฐานข้อมูลด้วย ER-Diagram เป็นการออกแบบฐานข้อมูลเชิงสัมพันธ์ในขั้นตอน
แรกซึ่งจะเป็นให้อยู่ในรูปของแผนภาพโดยแผนภาพที่ใช้ในการออกแบบความสัมพันธ์ใน ER-Diagram
นั้นมีมาจากหลายค่ายหากนําของค่ายใดมาใช้ก็ต้องยึดให้เป็นรูปแบบเดียวกัน โดยขั้นตอนแรกในการ
ออกแบบความสัมพันธ์ด้วย ER-Diagram นั้นเริ่มต้นด้วยการวิเคราะห์ เอ็นทิตี จากนั้นเป็นการจับคู่
ความสัมพันธ์ของเอ็นทิตี แล้วจึงทําการวิเคราะห์ความสัมพันธ์ โดยความสัมพันธ์ที่ วิเคราะห์ได้นั้นจะ
ประกอบด้วยความสัม พั นธ์แบบหนึ่ง ต่อหนึ่ง หนึ่ง ต่อกลุ่ม และกลุ่ม ต่อกลุ่ม โดยความสัม พันธ์ที่
สามารถนํ าไปสร้า งในฐานข้ อ มู ล เชิ ง สั ม พั นธ์ ไ ด้ นั้น มี เ พีย งความสัม พั น ธ์แ บบหนึ่ ง ต่อ หนึ่ ง และ
ความสัมพันธ์แบบหนึ่งต่อกลุ่มเท่านั้น หากวิเคราะห์แล้วว่าความสัมพันธ์เป็นแบบกลุ่มต่อกลุ่มจะต้อง
แก้ปัญหาโดยอาจจะใช้ Composite Entity หรืออาจจะวิเคราะห์แล้วแยกเอ็นทิตี เพิ่มเติม เมื่อได้
ความสัมพันธ์แล้ว ER-Diagram ก็จําเป็นต้องใส่ แอตทริบิวต์ ให้กับแต่ละเอ็นทิตี ซึ่ง แอตทริบิวต์ ก็มี
หลายประเภทจําเป็นต้องวิเคราะห์และใส่สัญลัก ษณ์ของ แอตทริบิวต์ ต่างๆ ให้ถูกต้องและมีความ
เหมาะสม จึงจําได้ ER-Diagram ที่มีความสมบูรณ์และพร้อมที่จะไปออกแบบฐานข้อมูลในขั้นตอน
ต่อไป
64
คาถามทบทวนท้ายบทที่ 2
1. จงระบุสัญลักษณ์ที่ใช้ในการเขียน ER-Diagram ในรูปแบบของมาตรฐานใดมาตรฐานหนึ่งให้ครบ
ทุกสัญลักษณ์
2. จงอธิบายความแตกต่างระหว่างเอ็นทิตี กับ Weak Entity
3. จงยกตัวอย่าง ER-Diagram ที่มีความสัมพันธ์แบบหนึ่งต่อหนึ่ง หนึ่งต่อกลุ่ม และกลุ่มต่อกลุ่ม และ
อธิบายความสัมพันธ์ดังกล่าวพร้อมเหตุผลของความสัมพันธ์นั้น
4. จากคําตอบในข้อ 3 ให้แก้ปัญหาความสัมพันธ์แบบกลุม่ ต่อกลุม่ ให้เป็นรูปแบบที่สามารถนําไปสร้าง
ในฐานข้อมูลเชิงสัมพันธ์ได้
5. จากคําตอบในข้อ 3 และ ข้อ 4 ซึ่งคําตอบจะได้ ER-Diagram ที่อธิบายความสัมพันธ์ไว้แล้วให้เพิ่ม
Cardinality และอธิบายให้เข้าใจ
6. จงวิเคราะห์ความเป็น Optional หรือ Mandatory จาก ER-Diagram ในข้อก่อนหน้านี้เพิ่มเติม
7. จงใส่ แอตทริบิวต์ ให้ ER-Diagram ให้สมบูรณ์
65
เอกสารอ้างอิงบทที่ 2
แผนบริหารการสอนประจาบทที่ 3
หัวข้อเนื้อหา
บทที่ 3 การแปลง ER-Diagram ให้อยู่ในรูปรีเลชัน
3.1 ชนิดของคีย์ที่ใช้ในการออกแบบฐานข้อมูล
3.2 วิธีการแปลง ER-Diagram ให้อยู่ในรูปของรีเลชัน
3.3 กฎต่างๆ ในการแปลง ER-Diagram ให้อยู่ในรูปของรีเลชัน
วัตถุประสงค์เชิงพฤติกรรม
วัตถุประสงค์ในบทที่ 3 นี้ เมื่อผู้เรียนได้ศึกษาเกี่ยวกับเนื้อหาในการแปลง ER-Diagram ให้
อยู่ในรูปของรีเลชัน แล้ว ผู้เรียนจะมีพฤติกรรมที่พึงประสงค์ ดังนี้
1. อธิบายลักษณะของคีย์ชนิดต่างๆ ได้
2. วิเคราะห์คีย์ชนิดต่างๆ ได้อย่างถูกต้องเหมาะสม
3. สามารถทําการแปลง ER-Diagram ให้อยู่ในรูปของรีเลชัน ได้อย่างถูกต้อง เหมาะสม
4. สามารถอธิบายกฎในการแปลง ER-Diagram ให้อยู่ในรูปรีเลชัน ได้อย่างถูกต้องและ
นําไปใช้งานได้อย่างถูกต้อง เหมาะสม
วิธีสอนและกิจกรรมการเรียนการสอนประจาบท
1. วิธีการสอน
1.1 บรรยายเนื้อหา
1.2 สาธิตตัวอย่างในการแปลง ER-Diagram ให้อยู่ในรูปรีเลชัน
2. กิจกรรมการเรียนการสอน
2.1 ผู้ส อนบรรยายเนื้อ หาเกี่ ยวกั บ คีย์ป ระเภทต่างๆ ที่ ใช้ในการออกแบบฐานข้อมู ล
รวมถึงวิธีการวิเคราะห์คีย์เหล่านั้น โดยขณะที่บรรยายเนื้อหาให้ผู้เรียนมีส่วนร่วมใน
กิจกรรมการเรียนการสอนโดยการให้ตอบคําถาม หรือมีส่วนร่วมในการยกตัวอย่าง
2.2 ผู้สอนแนะนํากฎที่ใช้ในการแปลง ER-Diagram ให้อยู่ในรูปของรีเลชัน แก่ผู้เรียน
2.3 ผู้สอนสาธิตวิธีการแปลง ER-Diagram ให้อยู่ในรูปของรีเลชัน ด้วยวิธีลําดับความคิด
ให้แก่ผู้เรียนเป็นขั้นตอนไปจนเสร็จกระบวนการ
67
สื่อการเรียนการสอน
สื่อการเรียนการสอนในบทนี้ประกอบด้วย
1. เอกสารประกอบการสอนรายวิชาระบบฐานข้อมูล
2. กระดานเพื่อใช้ในการอธิบายและลําดับความคิดนักศึกษาในเรื่องที่ผสู้ อนบรรยาย
3. แบบฝึกหัดท้ายบทที่ 3
การวัดผลและประเมินผล
การวัดผลและการประเมินผล ประกอบด้วยการวัดผลและการประเมินผล ดังนี้
1. สังเกตความสนใจในกิจกรรมการเรียนการสอนของผูเ้ รียน
2. สังเกตพฤติกรรมการมีส่วนร่วมในชั้นเรียน เช่น การซักถาม การตอบคําถาม ตลอดจนการ
อภิปรายร่วมกัน
3. วัดและประเมินผลเป็นรายบุคคลจากการส่งแบบฝึกหัดท้ายบทที่ 3 ด้วยการนําเสนอเป็น
รายบุคคลกับผู้สอน
68
69
1
Unique Subset คือ การมีค่าไม่ซ้ํากันในแต่ละแถว
71
ส่วน Super Key อื่ นๆ นั้นไม่เ ข้าเงื่อนไขที่ จ ะเป็น Candidate Key คือมี Unique
Subset เกิดขึ้น เช่น รหัสพนักงาน ร่วมกับ ชื่อพนักงาน นั้นจะมี Unique Subset เกิดขึ้น ดังภาพที่
3.3
กรณีที่ 1
คนไทย (เลขประจาตัวประชาชน, คํานําหน้านาม, ชื่อ, สกุล, เพศ, วันเกิด)
สูติบัตร (หมายเลขสูติบัติ, ผู้ออกสูติบัตร, วันที่, เลขประจําตัวประชาชน)
กรณีที่ 2
คนไทย (เลขประจาตัวประชาชน, คํานําหน้านาม, ชื่อ, สกุล, เพศ, วันเกิด,
หมายเลขสูตบิ ัติ)
สูติบัตร (หมายเลขสูติบัติ, ผู้ออกสูติบัตร, วันที่)
ต้องการ Mapping ER-Diagram คู่นี้ จะต้องนํา แอตทริบิวต์ A1 จากเอ็นทิตี A ไปเป็น Foreign Key
ให้กับ แอตทริบิวต์ B ซึ่งจะได้รีเลชัน ผลลัพธ์ ดังนี้
จาก ER-Diagram ในภาพที่ 3.9 ซึ่ ง แสดงความสั ม พั น ธ์ ร ะหว่ า งนั ก ศึ ก ษากั บ การ
ลงทะเบียนรายวิ ชานั้ นเป็น ชนิด ความสั ม พั นธ์ แบบกลุ่ ม ต่ อกลุ่ ม และเกิ ด Composite Entity
ลงทะเบียน ดังนั้นเมื่อต้องการ Mapping ER-Diagram นี้ให้เป็นรีเลชัน จะต้องนํา คีย์หลัก ของเอ็นทิ
ตี นักศึกษา ซึ่งก็คือ รหัสนักศึกษา และอีกด้านหนึ่งคือ คีย์หลัก ของเอ็นทิตี วิชา ซึ่งก็คือ รหัสวิชา
มาร่วมกันเป็น คีย์หลัก ของ Composite Entity ลงทะเบียน ซึ่งจะได้รีเลชัน ดังต่อไปนี้
นักศึกษา (รหัส นักศึก ษา, คํานําหน้านาม, ชื่อ, สกุล , กลุ่ม เรียน, สาขาวิชา, คณะ,
วันเกิด)
80
ใบเสร็จ (เลขที่ใบเสร็จ, วันที่, นามผู้ซื้อ, บ้านเลขที่, ซอย, ถนน, ตําบล, อําเภอ, จังหวัด,
รหัสไปรษณีย์, ผู้รับเงิน
รายละเอียดใบเสร็จ (เลขที่ใบเสร็จ, รหัสสินค้า, จํานวน, ราคา/หน่วย)
นักศึกษา (รหัส นัก ศึก ษา, คํานําหน้านาม, ชื่อ, สกุ ล , กลุ่ม เรีย น, สาขาวิ ชา, คณะ,
รหัสนักศึกษาที่เป็นหัวหน้า)
สําหรับเอ็นทิตี C นั้นเมื่อทําการแปลงให้อยู่ในรูปของรีเลชั่นแล้วจะได้ออกมาเป็น 2
รีเลชั่นคือรีเลชั่น C และรีเลชั่น C4 เนื่องจากเดิม C4 เป็น Multi Value Attribute ซึ่ง แอตทริบิวต์
ประเภทนี้เมื่อใช้เก็บข้อมูลจริงอาจจะมีค่าได้มากกว่าหนึ่งค่าจึงต้องแยกออกมาเป็นรีเลชั่น ซึ่งวิธีแยก
ออกมาเป็นรีเลชั่นนั้นจะเป็นว่า แอตทริบิวต์ C4 จะกลายมาเป็นรีเลชัน C4 และในรีเลชั่น C4 นี้จะ
ประกอบด้วย แอตทริบิวต์ C1 ซึ่งกําหนดให้เป็นคีย์หลักร่วมกับตัวมันเองคือ C4
ส่วนในรีเลชั่น C นั้นจะประกอบไปด้วย C1 ซึ่งเป็นคีย์หลัก C2 และ C3 เท่านั้น
D (D1, D2, D3)
จากเอ็นทิตี D นั้น เมื่อแปลงให้อยู่ในรูปของรีเลชั่นแล้วจะประกอบด้วย รีเลชั่น D โดยมี
สมาชิกในรีเลชั่นที่เป็น แอตทริบิวต์ ประกอบด้วย D1 ซึ่งเป็นคีย์หลัก D2 และ D3
F (F1, F2, C1, D1)
จาก ER-Diagram จะเห็นได้ว่าเอ็นทิตี F นั้นเป็น Composite Entity ดังนั้นเมื่อทําการ
แปลงให้อยู่ในรูปของรีเลชั่นก็จะได้รีเลชั่น F ซึ่งมีสมาชิกเป็น แอตทริบิวต์ ประกอบด้วย F1 และ F2
ส่วน C1 ซึ่งนํามาเป็นคีย์หลักร่วมกับ D1 ซึ่ง C1 นอกจากนํามาเป็นคีย์หลักร่วมแล้วยังทําหน้าที่เป็น
Foreign Key ไปยังรีเลชั่น C เช่นเดียวกับ D1 ก็ยังทําหน้าที่เป็น foreign Key เชื่อมไปยังรีเลชั่น D
ด้วยเช่นกัน
E (E1, E2, E3, A1)
สําหรับเอ็นทิตี E นั้นจะเห็นว่าใน ER-Diagram เป็น Weak Entity ดังนั้นเมื่อทําการ
แปลงเอ็นทิตี E ให้อยู่ในรูปของรีเลชั่นก็จะได้รีเลชั่น E ซึ่งประกอบด้วยสมาชิกที่เป็น แอตทริบิวต์
ดังนี้ E1 เป็นคีย์หลักตาม ER-Diagram ส่วน E2 และ E3 ก็นํามาเป็น แอตทริบิวต์ ตามปกติ ส่วน แอ
ตทริบิวต์ A1 ซึ่งเป็นคีย์หลักของเอ็นทิตี A จะนํามาเป็นคีย์หลักร่วมกับ แอตทริบิวต์ E1 ซึ่งเป็นคีย์
หลักเดิมของรีเลชั่นอยู่แล้ว
84
คาถามทบทวนบทที่ 3
1. จงอธิบายลักษณะของคีย์ประเภทต่างๆ ดังต่อไปนี้
1.1 Primary Key
1.2 Super Key
1.3 Composite Key
1.4 Candidate Key
1.5 Foreign Key
2. จงแปลง ER-Diagram ต่อไปนี้ให้อยู่ในรูปของรีเลชัน
86
เอกสารอ้างอิงบทที่ 3
แผนบริหารการสอนประจาบทที่ 4
หัวข้อเนื้อหา
บทที่ 4 Normalization
4.1 Function Dependency
4.2 Fully Functional Dependency
4.3 Multi-Value Dependency
4.4 Dependency Diagram
4.5 Normalization
วัตถุประสงค์เชิงพฤติกรรม
วัตถุประสงค์ในบทที่ 4 นี้ เมื่อผู้เรียนได้ศึกษาเกี่ยวกับกระบวนการทํา Normalization แล้ว
ผู้เรียนจะมีพฤติกรรมที่พึงประสงค์ ดังนี้
1. อธิบายลักษณะของการขึ้นต่อกันแบบต่างๆ ต่อไปนี้ได้ Functional Dependency
Fully Functional Dependency Multi-Value Dependency
2. สามารถวิเคราะห์การขึ้นต่อกันและเขียนออกมาให้อยู่ในรูปของ Dependency Diagram
ได้
3. สามารถใช้ข้อมูลจาก Dependency Diagram มาทํา Normalization ตั้งแต่ระดับ 1NF
2NF และ 3NF ได้
วิธีสอนและกิจกรรมการเรียนการสอนประจาบท
1. วิธีการสอน
1.1 บรรยายเนื้อหา
1.2 สาธิตขั้นตอนการทํา Dependency Diagram
1.3 สาธิตขั้นตอนการทํา Normalization โดยใช้ข้อมูลจาก Dependency Diagram
2. กิจกรรมการเรียนการสอน
2.1 ผู้ส อนบรรยายเนื้อหาเกี่ ยวกับ การขึ้นต่อกันหรือ Dependency แบบต่างๆ โดย
ยกตัวอย่างประกอบและจัดมีให้ส่วนร่วมในชั้นเรียนของผู้เรียนโดยให้ผู้เรียนช่วยตอบ
คําถามหรือทําตัวอย่างให้สําเร็จไปพร้อมกับอาจารย์ผู้สอน
88
สื่อการเรียนการสอน
สื่อการเรียนการสอนในบทนี้ประกอบด้วย
1. เอกสารประกอบการสอนรายวิชาระบบฐานข้อมูล
2. กระดานเพื่อใช้ในการอธิบายและลําดับความคิดนักศึกษาในเรื่องที่ผสู้ อนบรรยาย
3. แบบฝึกหัดท้ายบทที่ 4
การวัดผลและประเมินผล
การวัดผลและการประเมินผล ประกอบด้วยการวัดผลและการประเมินผล ดังนี้
1. สังเกตความสนใจในกิจกรรมการเรียนการสอนของผูเ้ รียน
2. สังเกตพฤติกรรมการมีส่วนร่วมในชั้นเรียน เช่น การซักถาม การตอบคําถาม ตลอดจนการ
อภิปรายร่วมกัน
3. วัดและประเมินผลเป็นรายบุคคลจากการส่งแบบฝึกหัดท้ายบทที่ 4 ด้วยการนําเสนอเป็น
รายบุคคลหรือรายกลุ่มกับผูส้ อน
89
บทที่ 4 Normalization
การทํา Normalization เป็นวิธีที่ใช้ในการปรับโครงสร้างของตารางเพื่อให้ได้ตารางที่
สามารถเก็บข้อมูลได้โดยไม่มีปัญหาใดๆ ตามมาในภายหลัง โดยให้อยู่ในรูปแบบที่เรียกว่า Normal
form ส่วนตารางนั้นในกระบวนการออกแบบฐานข้อมูลนั้นจะเรียกว่าเรียกว่ารีเลชัน
การทํา Normalization นั้นสามารถทําได้ 6 ขั้นตอน แต่ก็ไม่มีความจําเป็นจะต้องทําจน
ครบทั้ง 6 ขั้นตอน ขึ้นอยู่กับแต่ละกรณี โดยการทํา Normalization นั้นมีขั้นตอนต่างๆ ตามลําดับ
ดังนี้
ขั้นตอนที่ 1 First Normal Form (1 NF)
ขั้นตอนที่ 2 Second Normal Form (2 NF)
ขั้นตอนที่ 3 Third Normal Form (3 NF)
ขั้นตอนที่ 4 Boyce-Codd Normal Form (BCNF)
ขั้นตอนที่ 5 Fourth Normal Form (4 NF)
ขั้นตอนที่ 6 Fifth Normal Form (5 NF)
ก่อนที่จะเข้าขั้นตอนการทํา Normalization จะต้องมีความรู้พื้นฐานเกี่ยวกับการขึ้นต่อ
กัน Dependency ประเภทต่างๆ เพื่อให้สามารถทํ า Normalization ได้อย่างถูก ต้องมากยิ่ง ขึ้น
ดังต่อไปนี้
4.1 Functional Dependency (FDs)
ก่อนที่จะกล่าวถึง Functional Dependency เพื่อทําความเข้าใจในสัญลักษณ์ต่างๆ
จะต้องเข้าใจถึงตัวกําหนดค่า Determinant ซึ่งหมายถึง แอตทริบิวต์ ที่สามารถกําหนดค่าใน แอตทริ
บิวต์ อื่นได้ เช่น รหัสนักศึกษา เป็น Determinant ของชื่อนักศึกษา เป็นต้น จากตัวอย่างชื่อนักศึกษา
ซึ่งถูกกําหนดค่าโดยรหัสนักศึกษาซึ่งเป็ น Determinant จะเรียกว่า Dependency ซึ่งจะเขียนแทน
ด้วยสัญลักษณ์ดังนี้
รหัสนักศึกษา ชื่อนักศึกษา
ประเภทของ Dependency
4.1.1 Functional Dependency ที่เกิดจากความสัมพันธ์ระหว่าง Determinant และ
Determinant อย่างละ 1 ค่า เช่น
รหัสนักศึกษา ชื่อนักศึกษา
90
ที่มา : ผู้เรียบเรียง
ที่มา : ผู้เรียบเรียง
ภาพที่ 4.2 ตัวอย่างของข้อมูลที่เป็น Functional Dependency
คาถามทบทวนบทที่ 4
1. จงอธิบายลักษณะของการขึ้นต่อกันของข้อมูลแต่ละประเภทดังนี้ พร้อมยกตัวอย่างประกอบ
1.1 ลักษณะของ Function Dependency
1.2 ลักษณะของ Fully Functional Dependency
1.3 ลักษณะของ Multi-Value Dependency
2. จงเขียน Dependency Diagram จากข้อมูล ในใบเสร็จ ที่นักศึกษาจัดหามาเองโดยกํ าหนดให้
นักศึกษาแต่ละคนจะต้องใช้ใบเสร็จจากต่างที่กัน
3. จงนําผลลัพธ์ที่ได้จากการวิเคราะห์ Dependency Diagram ในข้อ 2 มาทํา Normalization โดย
ให้แสดงผลลัพธ์ของกระบวนการ Normalization ในระดับ 1NF, 2NF และ 3NF
102
เอกสารอ้างอิงบทที่ 4
แผนบริหารการสอนประจาบทที่ 5
หัวข้อเนื้อหา
บทที่ 5 การสร้างฐานข้อมูลด้วยระบบจัดการฐานข้อมูล
5.1 ชนิดของข้อมูล (Data Type) ใน Microsoft Access
5.2 ขั้นตอนการสร้างฐานข้อมูลด้วย Microsoft Access
วัตถุประสงค์เชิงพฤติกรรม
วัตถุประสงค์ในบทที่ 5 นี้ เมื่อผู้เรียนได้ศึกษาเกี่ยวกับการสร้างฐานข้อมูลด้วยระบบจัดการ
ฐานข้อมูลแล้ว ผู้เรียนจะมีพฤติกรรมทีพ่ ึงประสงค์ ดังนี้
1. นําฐานข้อมูลทีผ่ ่านการออกแบบไว้มาสร้างเป็นฐานข้อมูลด้วยโปรแกรม Microsoft
Access ได้อย่างถูกต้อง เหมาะสม
2. สามารถกําหนดชนิดของข้อมูลในตารางข้อมูลได้อย่างเหมาะสมกับข้อมูลที่ตอ้ งการจัดเก็บ
วิธีสอนและกิจกรรมการเรียนการสอนประจาบท
1. วิธีการสอน
1.1 สาธิตขั้นตอนการสร้างฐานข้อมูลด้วยเครือ่ งคอมพิวเตอร์ที่ติดตั้งโปรแกรมจัดการ
ฐานข้อมูล Microsoft Access
1.2 ผู้เรียนทดลองสร้างฐานข้อมูลด้วย Microsoft Access จากฐานข้อมูลทีเ่ คยออกแบบ
ไว้ด้วยตนเอง
2. กิจกรรมการเรียนการสอน
2.1 ผู้สอนทบทวนเนื้อ หาจากตัวอย่างฐานข้อมูล ที่เ คยออกแบบมาทั้ งหมดเพื่อเตรียม
ข้อมูลมาสร้างในระบบจัดการฐานข้อมูล Microsoft Access
2.2 ผู้สอนสาธิตขั้นตอนการสร้างฐานข้อมูลด้วยโปรแกรมจัดการฐานข้อมูล Microsoft
Access พร้อมทั้งบรรยายเนื้อหาประกอบในประเด็นต่างๆ ที่เ กี่ยวข้องกั บแต่ล ะ
ขั้นตอน
2.3 ผู้เรียนฝึกปฏิบัติใช้โปรแกรมจัดการฐานข้อมูลด้วยโปรแกรม Microsoft Access โดย
การสร้างฐานข้อมูล จากที่ผู้เรียนแต่ ละคนได้ออกแบบไว้ในขั้นตอนก่อนหน้า โดยมี
ผู้สอนคอยให้คําแนะนํา
104
สื่อการเรียนการสอน
สื่อการเรียนการสอนในบทนี้ประกอบด้วย
1. เอกสารประกอบการสอนรายวิชาระบบฐานข้อมูล
2. เครื่องฉายภาพโปรเจ็คเตอร์
4. เครื่องไมโครคอมพิวเตอร์ทมี่ ีพอร์ตส่งออกภาพด้วยเครื่องฉายโปรเจ็คเตอร์ได้
5. ระบบปฏิบัติการ Microsoft Windows และ โปรแกรม Microsoft Access รุ่นที่รองรับ
กับระบบปฏิบัติการคอมพิวเตอร์
6. แบบฝึกหัดท้ายบทที่ 5
การวัดผลและประเมินผล
การวัดผลและการประเมินผล ประกอบด้วยการวัดผลและการประเมินผล ดังนี้
1. สังเกตความสนใจในกิจกรรมการเรียนการสอนของผูเ้ รียน
2. สังเกตพฤติกรรมการมีส่วนร่วมในชั้นเรียน จากการฝึกปฏิบตั ิของผู้เรียนในแต่ละกรณี
3. วัดและประเมินผลเป็นรายบุคคลจากการส่งแบบฝึกหัดท้ายบทที่ 5 ซึ่งเป็นแบบฝึกหัด
ภาคปฏิบัติด้วยระบบจัดการฐานข้อมูล Microsoft Access
105
บทที่ 5 การสร้างฐานข้อมูลด้วยระบบจัดการฐานข้อมูล
เมื่อผ่านกระบวนการออกแบบฐานข้อมูลมาแล้วในขั้นตอนนี้จะเป็นการนําฐานข้อมูลที่
ออกแบบมา มาสร้างด้วยระบบจัดการฐานข้อมูล (DBMS : Database Management System) ซึ่ง
ในขั้นตอนนี้จะขึ้นอยู่กับระบบจัดการฐานข้อมูลทีใ่ ช้ด้วย เนื่องจากระบบจัดการฐานข้อมูลแต่ละระบบ
จะมีรูปแบบในการสร้างอีกทั้งชนิดของข้อมูล (Data Type) ที่แตกต่างกันไป โดยในที่นี้จะยกตัวอย่าง
การสร้างฐานข้อมูลด้วยระบบจัดการฐานข้อมูลที่มีชื่อว่า Microsoft Access ซึ่งเป็นโปรแกรมหนึ่งที่
อยู่ในชุด Microsoft Office ของบริษัท Microsoft โดย Microsoft Access มีการสั่งงานผ่านระบบ
GUI (Graphic User Interface) ซึ่งสามารถสั่งงานต่างๆ ผ่านระบบกราฟิก จึงทําให้ง่ายต่อการทํา
ความเข้าใจและใช้งาน
5.1 ประเภทข้อมูลใน Microsoft Access (Microsoft Access Data Type)
ก่อนที่จะสร้างฐานข้อมูลด้วย Microsoft Access ประเด็นแรกที่จะต้องพิจารณาคือชนิด
ของข้อมูลที่ Microsoft Access มีให้ใช้งาน ซึ่งประกอบด้วยชนิดข้อมูลต่างๆ ดังต่อไปนี้
2
OLE ย่อมาจาก Object Linking and Embedding เป็นเทคนิคของ แอพพลิเคชั่น (Application)
บนระบบปฏิบัติการ Windows ที่ใช้ในการแลกเปลี่ยนข้อมูลระหว่างกัน เช่น สามารถนํารูปภาพจาก
โปรแกรม Paintbrush มาใช้ใน Microsoft Access ได้
110
ชื่อฐานข้อมูล : StudentRegis3
ชื่อตาราง : Student ใช้ในการเก็บข้อมูลนักศึกษา
ชื่อเขตข้อมูล ชนิดข้อมูล ขนาด คําอธิบาย
(Field Name) (Data Type)
St_ID Text 13 รหัสนักศึกษา (PK)4
ST_Title Text 25 คํานําหน้านาม
ST_Name Text 30 ชื่อ
ST_Lastname Text 30 สกุล
ST_Dept Text 25 สาขา
ST_Faculty Text 25 คณะ
3
ชื่อของฐานข้อมูลควรตัง้ เป็นภาษาอังกฤษ ถึงแม้ว่าระบบจัดการฐานข้อมูลบางตัวจะอนุญาตให้ตั้ง
เป็นภาษาไทยก็ตาม และชื่อฐานข้อมูลควรขึ้นต้นด้วยตัวอักษรภาษาอังกฤษ ไม่ใช่สัญลักษณ์พเิ ศษ
ประกอบในการตั้งชื่อ
4
PK เป็นอักษรย่อของ Primary Key ซึ่งเป็นคีย์หลักของตาราง
112
คุณสมบัติ
ของฟิลด์
Auto Number
Currency
Date Time
Memo
117
Number
Text
Yes/No
สรุปท้ายบท
เนื้อหาในบทนี้กล่าวถึงการนํารีเลชัน ที่ผ่านกระบวนการ Normalization มาสร้างด้วยระบบ
จัดการฐานข้อมู ลซึ่งเนื้อหาในบทนี้ได้ยกตัวอย่างโปรแกรมจัดการฐานข้อมูล Microsoft Access
เนื่องจากส่วนเชื่อมต่อผู้ใช้ของโปรแกรมนี้ง่ายต่อการทําความเข้าใจซึ่งเมื่ อทําความเข้าใจได้แล้วก็
สามารถจะประยุกต์ใช้กั บระบบจัดการฐานข้อมูล ชนิดอื่นได้เช่นกัน โดยผู้เรียนต้องทําความเข้าใจ
ประเภทของข้อมูลที่ใช้ในโปรแกรม (Data Type) ซึ่งระบบจัดการฐานข้อมูลต่างชนิดกันก็อาจจะมี
ประเภทของข้อมูลที่หลากหลายแตกต่างกัน แต่หากจะแบ่งประเภทของข้อมูลหลักๆ ก็ได้แก่ ข้อความ
ตัวเลข วันที่และเวลา ค่าทางตรรกะ ทั้งนี้ประเภทข้อมูลทีย่ กตัวอย่างมาข้างต้นจะแตกต่างกันไปตาม
ระบบจัดการฐานข้อมูล ซึ่งสร้างขึ้นมาโดยมีลัก ษณะเฉพาะตัวของแต่ล ะโปรแกรม โดยผู้ที่จะสร้าง
ฐานข้อมูลด้วยระบบจัดการฐานข้อมูลจะต้องออกแบบประเภทของข้อมูลได้อย่างเหมาะสมตามแต่
ชนิดของระบบจัดการฐานข้อมูล เมื่อเสร็จสิ้นกระบวนการออกแบบเนื้อหาในบทนี้ได้กล่าวถึงขั้นตอน
การนําฐานข้อมูล ที่ออกแบบไว้ไปสร้างด้วยระบบจัดการฐานข้อมูล Microsoft Access และการ
กําหนดค่าต่างๆ
119
คาถามท้ายบทที่ 5
1. หากต้องการเก็บข้อมูลต่างๆ ดังต่อไปนี้ สามารถกําหนดประเภทของข้อมูลเป็นอะไรได้บ้างหากใช้
ระบบจัดการฐานข้อมูล Microsoft Access
1.1 ตัวเลข
1.2 ตัวเลขผสมกับตัวอักษรในข้อมูลเดียวกัน
1.3 ตัวอักษร
1.4 วันที่
1.5 เวลา
1.6 ตําแหน่งที่ใช้ในการเก็บรูปภาพ (Path)
1.7 ตัวเลขซึ่งต้องการให้เป็นรันนิ่งนัมเบอร์
1.8 ข้อความยาวๆ ซึ่งไม่จําเป็นต้องนํามาใช้ในการอ้างอิง
2. จงออกแบบฐานข้อมูล เพื่อเก็บข้อมูลศิษย์เก่ าซึ่ง จะใช้เก็บ ข้อมูล เพื่อนๆ ในกลุ่ม เรียนในการใช้
ติดต่อกันหลังจากเรียนจบ แล้วนําฐานข้อมูลที่ออกแบบไว้มาสร้างด้วยระบบจัดการฐานข้อมูล
120
เอกสารอ้างอิงบทที่ 5
แผนบริหารการสอนประจาบทที่ 6
หัวข้อเนื้อหา
บทที่ 6 คําสั่ง SQL (Structure Query Language)
6.1 ประเภทของคําสั่ง SQL
6.2 การเขียนคําสั่ง SQL แต่ละประเภท
วัตถุประสงค์เชิงพฤติกรรม
วัตถุประสงค์ในบทที่ 6 นี้ เมื่อผู้เรียนได้ศึกษาเกี่ยวกับคําสั่ง SQL แล้ว ผู้เรียนจะมีพฤติกรรม
ที่พึงประสงค์ ดังนี้
1. แยกแยะคําสั่ง SQL แต่ละคําสัง่ ได้ว่าอยู่ในประเภทใด
2. เขียนคําสั่ง SQL เพื่อทํางานกับฐานข้อมูลได้
วิธีสอนและกิจกรรมการเรียนการสอนประจาบท
1. วิธีการสอน
1.1 บรรยายความรูเ้ กี่ยวกับคําสั่ง และ ประเภทของคําสั่ง SQL
1.2 สาธิตวิธีการเขียนคําสั่ง SQL แต่ละประเภท
2. กิจกรรมการเรียนการสอน
2.1 ผู้สอนบรรยายความรู้ต่างๆ เกี่ยวกับคําสั่ง SQL และประเภทของคําสั่ง SQL
2.2 ผู้สอนสาธิตวิธีการเขียนคําสั่ง SQL และผลลัพธ์ของแต่ล ะคําสั่ง พร้อมอธิบ าย
รายละเอี ยดของแต่ล ะคําสั่ง พร้อมแสดงผลลัพธ์ด้ว ยคอมพิ วเตอร์ จ ากการสั่ง ให้
ประโยคคําสั่งนั้นทํางาน
2.3 ผู้เรียนฝึกปฏิบัติการเขียนคําสั่ง SQL เมื่อผู้สอนสาธิตในแต่ละคําสั่งเสร็จ ผู้สอนจะตั้ง
โจทย์ในเรื่องเดียวกันให้ผู้เรียนทดลองปฏิ บัติด้วยการเขียนคําสั่ง SQL ตามโจทย์ที่
ผู้สอนกําหนดจากนั้นให้ผู้เรียนสั่งแสดงผลลัพธ์ หากมีข้อผิดพลาดให้ผู้เรียนพยามแก้
ด้วยตนเองโดยมีผู้สอนคอยให้คําแนะนํา
122
สื่อการเรียนการสอน
สื่อการเรียนการสอนในบทนี้ประกอบด้วย
1. เอกสารประกอบการสอนรายวิชาระบบฐานข้อมูล
2. เครื่องฉายภาพโปรเจ็คเตอร์
4. เครื่องไมโครคอมพิวเตอร์ทมี่ ีพอร์ตส่งออกภาพด้วยเครื่องฉายโปรเจ็คเตอร์ได้
5. ระบบปฏิบัติการ Microsoft Windows และ โปรแกรม Microsoft Access รุ่นที่รองรับ
กับระบบปฏิบัติการคอมพิวเตอร์
6. ฐานข้อมูลตัวอย่างทีม่ ีข้อมูลพอสมควรในการแสดงผลลัพธ์จากการสั่งให้คําสั่ง SQL
ทํางาน
7. แบบฝึกหัดท้ายบทที่ 6
การวัดผลและประเมินผล
การวัดผลและการประเมินผล ประกอบด้วยการวัดผลและการประเมินผล ดังนี้
1. สังเกตความสนใจในกิจกรรมการเรียนการสอนของผูเ้ รียน
2. สังเกตพฤติกรรมการมีส่วนร่วมในชั้นเรียน จากการฝึกปฏิบตั ิของผู้เรียนในแต่ละกรณี
3. วัดและประเมินผลเป็นรายบุคคลจากการส่งแบบฝึกหัดท้ายบทที่ 6 ซึ่งเป็นแบบฝึกหัด
ภาคปฏิบัติการเขียนคําสัง่ SQL
123
ที่มา : http://www.thaicreate.com/tutorial/sql-create-table.html
TableName หมายถึง ชื่อตารางที่ต้องการสร้าง
ColumnName1 หมายถึงชื่อฟิลด์ที่ 1
DataType หมายถึง ชนิ ดของข้อมู ล ซึ่ง ขึ้นอยู่ กั บ ระบบจั ดการฐานข้อมู ล เช่ นหาก
กําหนดให้ฟิลด์นี้เป็นตัวอักษรและใช้ระบบจัดการฐานข้ อมูล MS Access จะต้องกําหนดชนิดเป็น
Text แต่หากใช้ระบบจัดการฐานข้อมูลอื่นอาจจะมีชนิดข้อมูลตัวอักษรให้เลือกมากขึ้นเช่น Varchar
โดยหากจะให้เห็นตัวอย่างการสร้างตารางและกํ าหนดฟิลด์ต่างๆ ในตาราง สามารถ
ศึกษาได้จากตัวอย่างต่อไปนี้
ที่มา : http://www.thaicreate.com/tutorial/sql-create-table.html
จากตัวอย่างเป็นคําสั่งที่ใช้ในการสร้างตารางชื่อ customer ซึ่งประกอบด้วยฟิลด์ดังนี้
CustomerID เป็นตัวอักษรไม่เกิน 4 ตัวอักษร และไม่อนุญาตให้เป็นค่าว่าง (NOT NULL)
Name เป็นตัวอักษรไม่เกิน 50 ตัวอักษร และไม่อนุญาตให้เป็นค่าว่าง
Email เป็นตัวอักษรไม่เกิน 50 ตัวอักษร และไม่อนุญาตให้เป็นค่าว่าง
CountryCode เป็นตัวอักษรไม่เกิน 2 ตัวอักษร และไม่อนุญาตให้เป็นค่าว่าง
Budget เป็นตัวเลขทศนิยมแบบ double และไม่อนุญาตให้เป็นค่าว่าง
Used เป็นตัวเลขทศนิยมแบบ double และไม่อนุญาตให้เป็นค่าว่าง
6.3.2 สร้างดัชนี (CREATE INDEX)
เป็น คําสั่ ง ที่ ใช้สํ าหรับ การสร้า ง Index โดยการ Index ข้อ มู ล ในฟิ ล ด์นั้ นตั ว
ฐานข้อมู ลจะให้ความสําคัญกับฟิ ลด์ที่เป็น Index โดยจะจัดเรียงต้นแบบเพื่อให้ง่ายต่อการเข้าถึง
ข้อมูลกลุ่มนั้นๆ ซึ่งการ Index จะเป็นประโยชน์ในการค้นหาข้อมูล ซึ่งมีรปู แบบการใช้คําสั่งดังต่อไปนี้
126
ที่มา : http://www.thaicreate.com/tutorial/sql-create-index.html
ในการสร้าง Index นั้นสามารถทําได้ 2 กรณี คือสามารถสร้าง Index ร่วมกับการสร้าง
ตาราง หรือสามารถสร้าง Index เพิ่มเติมหากมีตารางข้อมูลอยู่แล้วด้วยการใช้คําสั่ง ALTER TABLE
ตามรูปแบบการใช้คําสั่งข้างต้น
จากรูปแบบการใช้คําสั่งในกรณีที่สร้าง Index พร้อมกับการสร้างตารางข้อมูล สามารถ
ใช้คําสั่ง INDEX (ColumnName1, ColumnName2) โดยคําสั่งนี้จะสั่งให้ฟิลด์ที่ชื่อ ClumnName1
ตามด้วยฟิลด์ ColumnName2 เป็นฟิลด์ที่เป็น Index ของตารางตามลําดับ
ในกรณีที่มีตารางข้อมูลอยู่แล้วต้องการสร้าง Index ขึ้นมาในภายหลังสามารถใช้คําสั่ง
ALTER TABLE "TableName" ADD INDEX (Column1,Column2) ซึ่ง TableName หมายถึงชื่อ
ตารางที่ต้องการสร้าง Index และ Column1, Column2 คือชื่อฟิล ด์ที่ ต้องการให้เ ป็น Index
ตามลําดับ
6.3.3 การสร้าง View (CREATE VIEW)
การสร้าง View เป็นการสร้างโครงสร้างตารางที่ถูกจําลองขึ้นตามคําสั่ง SQL ที่เขียน
ขึ้น ซึ่งโดยปกติแล้วการคิวรี (Query) ข้อมูลจากตารางหากมีการ Join ข้อมูลหลายๆ ตารางแล้วได้ผล
ลัพธ์ที่ต้องการ เมื่อนําคิวรีนั้นไปงานงานบ่อยจะนิยมสร้าง View ขึ้นมาใช้งานแทน ดังตัวอย่างต่อไปนี้
CREATE VIEW StudentDetails
AS SELECT St_ID, ST_Name, ST_Dept
FROM Student
6.3.4 คาสั่งที่ใช้ในการลบ
การลบซึ่งสามารถลบ ตารางข้อมูล ดัชนี หรือแม้แต่วิว นั้น ต้องระมัดระวังเป็นอย่าง
มาก เนื่อ งจากข้อ มูล มี ความสําคัญ อีกทั้ ง คําสั่ง นี้ยัง เป็นการลบข้อมู ล ซึ่ง อาจจะมี ความสําคัญ ใน
ตารางข้อมูลออกทั้งตารางซึ่งรวมถึงข้อมูลที่อยู่ในตารางนั้นทั้งหมดด้วยเช่นเดียวกัน ซึ่งหากตรวจสอบ
จนมั่นใจแล้วว่ามี ความจําเป็นต้อ งลบตารางข้อมู ลออกจากฐานข้อมู ลจริงๆ โดยนอกจากการลบ
ตารางข้อมูลแล้วก็ยังสามารถลบ ดัชนี และ วิว ได้ด้วยเช่นกัน คําสั่งต่อไปนี้
DROP TABLE TableName
แต่หากต้องการเลือกข้อมูลจากทุกๆ ฟิลด์ในตารางข้อมูลลูกค้าสามารถเครื่องหมายดอกจัน
(*) แทนชื่อคอลัมน์หรือชื่อฟิลด์ทั้งหมดในตารางดังต่อไปนี้
130
ผลของตัวดําเนินการทางตรรกะ AND
ผลลัพธ์จากเงือ่ นไขที่ 1 ผลลัพธ์จากเงือ่ นไขที่ 2 ผลลัพธ์ของเงื่อนไขทั้งหมด
จริง (True) จริง (True) จริง (True)
จริง (True) เท็จ (False) เท็จ (False)
เท็จ (False) เท็จ (False) เท็จ (False)
132
ผลของตัวดําเนินการทางตรรกะ OR
ผลลัพธ์จากเงือ่ นไขที่ 1 ผลลัพธ์จากเงือ่ นไขที่ 2 ผลลัพธ์ของเงื่อนไขทั้งหมด
จริง (True) จริง (True) จริง (True)
จริง (True) เท็จ (False) จริง (True)
เท็จ (False) เท็จ (False) เท็จ (False)
ซึ่งผลลัพธ์ของคําสั่งข้างต้นจะได้ดังนี้
จากประโยคคํา สั่ ง SQL ข้า งต้น อธิ บ ายได้ว่ า ต้ อ งการเลื อกข้ อมู ล ทุ ก ฟิ ล ด์ จ ากตาราง
customer โดยมีเงื่อนไขว่าข้อมูลในฟิลด์ Budget จะต้องมีค่าอยู่ระหว่าง 1000000 ถึง 3000000
ซึ่งผลลัพธ์ที่ได้จากการทํางานของประโยคคําสั่งดังกล่าวเป็นดังนี้
จากรูปแบบการใช้คําสั่งข้างต้นจะเป็นความแตกต่างในการอ้างชื่อฟิลด์ที่ต้องการเรียกดูข้อมูล
จากคําสั่งอื่นๆ ที่เคยกล่าวมาแล้วเนื่องจากเป็นการเรียกดูข้อมูลจากตารางมากกว่าหนึ่งตาราง ดังนั้น
ในการอ้างถึงชื่อฟิลด์ใดๆ จะต้องใช้รูปแบบการอ้างชื่อดังนี้ “ชื่อตารางข้อมูล.ชื่อฟิลด์ ” เพื่อให้ทราบ
ว่าแต่ละฟิลด์ที่อ้างถึงนั้นมาจากตารางข้อมูลใด โดยตัวอย่างการใช้คําสั่งเพื่อ JOIN ข้อมูลจากสอง
ตารางมีดังนี้
136
จากตัวอย่างคําสั่งอธิบายได้ว่าคําสั่งนี้เขียนขึ้นเพื่อเรียกดูข้อมูลทุกฟิลด์จากตาราง customer
และตาราง audit โดยให้มีความสัมพันธ์ระหว่างตารางทั้งสองตารางด้วยฟิลด์ customerID ของทั้ง
สองตารางเข้าด้วยกัน ผลลัพธ์ที่ได้จะเป็นดังนี้
137
จากรูป แบบการใช้ คํา สั่ง DISTINCT ข้ างต้น หากยกตัว อย่ างตารางข้ อมู ล ลู ก ค้ า ซึ่ง มี
รายละเอียดของตารางข้อมูลดังนี้
UPDATE เป็นคําสั่งที่ใช้สําหรับแก้ไขข้อมูลในตารางโดยสามารถทําการแก้ไขได้หลายฟิลด์
และหลายระเบียน (Record) ภายในการใช้คําสั่งเพียง 1 คําสั่ง ทั้งนี้ขึ้นอยู่กับการใช้เงื่อนไขด้วยคําสั่ง
WHERE ร่วมในการระบุเงื่อนไขในการแก้ไขข้อมูลในตาราง โดยมีรูปแบบการใช้คําสั่งดังนี้
140
คําสั่ง นี้เ ป็นคําสั่งเพื่อ ลบข้อมู ลจากตาราง country โดยมีเ งื่อนไขว่าข้อมูล ที่ ต้องการลบ
จะต้องมีค่าในฟิลด์ CountryCode เป็นคําว่า JP
เมื่อสั่งให้ประโยคคําสั่ง SQL นี้ทํางานผลลัพธ์ที่ได้จะเป็นดังภาพ
142
สรุปท้ายบท
ในบทนี้ได้กล่าวถึงคําสั่ง SQL (Structure Query Language) ซึ่งเป็นคําสั่ง ที่ใช้สําหรับ
จัดการระบบฐานข้อมูลเชิงสัมพั นธ์ ซึ่งผู้ผลิตแต่ละรายก็ได้ออกผลิตภัณฑ์ที่ใช้จัดการฐานข้อมูล แต่
คําสั่ง SQL ก็ยังใช้เป็นภาษากลางที่ใช้ในการติดต่อระบบจัดการฐานข้อมูลเชิงสัมพันธ์ ซึ่งคําสั่ง SQL
นั้นสามารถแบ่งเป็นประเภทต่างๆ ได้ดังนี้ DDL (Data Definition Language) คําสั่งประเภทนี้ใช้ใน
การจัดการและนิยามโครงสร้างของฐานข้อมูล ซึ่งได้แก่ การสร้างฐานข้อมูล การแก้ไข หรือการลบ
ฐานข้อมูล ส่วนคําสั่งประเภท DCL (Data Control Language) เป็นกลุ่มของภาษา SQL ที่ใช้สําหรับ
กําหนดสิทธิในการเข้าถึงข้อมูลที่จัดเก็บอยู่ในระบบจัดการฐานข้อมูล ส่วนคําสั่งประเภทสุดท้ายคือ
คําสั่งประเภท DML (Data Manipulation Language) เป็นกลุ่มคําสั่งที่จัดได้ว่าเป็นแกนสําคัญของ
ภาษา SQL ซึ่งคําสั่งในกลุ่มนี้จะใช้ในการปรับปรุงข้อมูล เพิ่มข้อมูล การทํา Query ข้อมูล
144
คาถามทบทวนบทที่ 6
1. คําสั่ง SQL มีกี่ประเภทอะไรบ้าง และแต่ละประเภทมีลักษณะสําคัญในการทํางานอย่างไร
2. จงยกตัวอย่างคําสั่ง SQL แต่ละประเภท พร้อมทั้งอธิบายว่าแต่ละคําสั่งใช้เพื่อทําอะไร พร้อมทั้ง
ยกตัวอย่างการใช้คําสั่ง
3. จงเขียนคําสั่ง SQL เพื่อแสดงข้อมูลจากตารางข้อมูลมากกว่าหนึ่งตารางที่สัมพันธ์กัน
145
เอกสารอ้างอิงบทที่ 6
1
การออกแบบตารางในฐานข้อมูล. [ออนไลน์]. เข้าถึงได้จาก http://61.7.221.103/access-
online/database/design.htm (วันที่ค้นข้อมูล 15 กรกฎาคม 2559)
3
บริษัทไมโครซอฟต์ ประเทศไทย. การตั้งค่าขนาดเขตข้อมูล. [ออนไลน์]. เข้าถึงได้จาก
https://support.office.com/th-th/article/การตั้งค่าขนาดเขตข้อมูล-7df5f880-8613-4141-
a643-3b27ee34961f (วันที่ค้นข้อมูล 15 กรกฎาคม 2559)
4 บริษัทไมโครซอฟต์ ประเทศไทย. การแทรก สร้าง หรือลบข้อมูลทีเ่ ก็บค่าวันที่. [ออนไลน์]. เข้าถึงได้
จาก https://support.office.com/th-th/article/การแทรก-สร้าง-หรือลบเขตข้อมูลทีเ่ ก็บค่าวันที่-
8a6900a4-72d8-4dbf-be09-f0aec8a86ed1?ui=th-TH&rs=th-TH&ad=TH (วันที่ค้นข้อมูล 15
กรกฎาคม 2559)
5
การออกแบบตารางในฐานข้อมูล. [ออนไลน์]. เข้าถึงได้จาก http://61.7.221.103/access-
online/database/design.htm (วันที่ค้นข้อมูล 15 กรกฎาคม 2559)