ผลการเรียนรู้ครั้งที่ 11
บทที่ 8
โครงงาน project การออกแบบและจัดการฐานข้อมูล
# พรีเซ็นโครงงานจากหัวข้อ การออกแบบและจัดฐานข้อมูลหลักสูตรโรงเรียน
ขั้นตอนการทำโครงงาน
ผลการเรียนรู้ครั้งที่ 11
บทที่ 8
โครงงาน project การออกแบบและจัดการฐานข้อมูล
# พรีเซ็นโครงงานจากหัวข้อ การออกแบบและจัดฐานข้อมูลหลักสูตรโรงเรียน
ขั้นตอนการทำโครงงาน
ผลการเรียนรู้ครั้งที่ 10
สรุปต่อจากบทที่ 7
คำสั่ง SQL ที่เกี่ยวกับ data manipulation
ในส่วนนี้เราจะทำการศึกษาเกี่ยวกับคำสั่งที่ใช้ในการจัดการข้อมูลภายใต้การประยุกต์ใช้คำสั่ง
INSERT, SELECT, COMMIT, UPDATE, ROLLBACK และ DELETE ตามลำดับ
การเพิ่มแถวของข้อมูลในตารางข้อมูล
การเพิ่มข้อมูลในตารางข้อมูลจะสามารถดำเนินการเพิ่มข้อมูลได้ทีละแถวข้อมูลด้วยการประยุกต์ใช้
คำสั่ง INSERT
การเรียกดูแถวข้อมูลต่างๆ
ในการเรียกดูข้อมูลเราจะสามารถเรียกดูข้อมูลในแอทริบิวต่างๆได้มากกว่าหนึ่งแอทริบิว แต่ถ้าเราต้องการ เรียกดูข้อมูลทุกแอทริบิวในตารางข้อมูลหนึ่งๆ เราอาจท าการกำหนดชื่อทุกแอทริบิวในคำสั่ง SELECT หรือเรา ทำการประยุกต์ใช
การอัพเดทข้อมูลแถวต่างๆในตารางข้อมูล
การอัพเดทข้อมูลในตารางหนึ่งๆสามารถดำเนินการโดยประยุกต์ใช้คำสั่ง UPDATE ที่จะมีรูปแบบ
UPDATE tablename
SET columnname = expression [, columnname = expression]
[WHERE conditionlist];
ตัวอย่างเช่น ถ้าเราต้องการอัพเดทข้อมูลในแอทริบิว P_INDATE จากเดิมที่มีค่าเป็น 13 Dec 2009 ให้ กลายเป็น 18 Jan 2010
การกู้คืนข้อมูลในตารางข้อมูล
ในการจัดเก็บข้อมูล ถ้าเรายังไม่ได้ทำการประยุกต์ใช้คำสั่ง COMMIT (จะเป็นคำสั่งสำหรับจัดเก็บ ข้อมูลลงในดิสก์) เราจะสามารถกู้คืนข้อมูลในตารางข้อมูลได้ด้วยการประยุกต์ใช้ค าสั่ง ROLLBACK แต่ถ้าเรา ทำการประยุกต์ใช้คำสั่ง COMMIT ไปแล้ว เราจะไม่สามารถกู้คืนข้อมูลในตารางข้อมูลก่อนการประยุกต์ใช้ คำสั่ง COMMIT ได้ โดยการประยุกต์ใช้คำสั่ง ROLLBACK
การลบข้อมูลออกจากตารางข้อมูล
การลบข้อมูลออกจากตารางหนึ่งๆสามารถดำเนินการโดยประยุกต์ใช้คำสั่ง DELETE ที่จะมีรูปแบบ
DELETE FROM tablename
[WHERE conditionlist];
ตัวอย่างเช่น ถ้าเราต้องการลบข้อมูลออกจากตาราง PRODUCT ที่ซึ่งจะต้องการลบข้อมูลรายการสินค้าที่มี รหัสเป็น ‘BRT-345’
การเพิ่มข้อมูลในตารางข้อมูลด้วยการเรียกดูข้อมูลจากตารางข้อมูลหนึ่งๆ
เราได้ศึกษาเกี่ยวกับการเพิ่มข้อมูลในตารางข้อมูลหนึ่งๆที่ซึ่งในการ ดำเนินการแต่ละครั้งจะเป็นการเพิ่มข้อมูลแถวหนึ่งๆในตารางหนึ่งๆเท่านั้น แต่อย่างไรก็ตามเราสามารถทำการ เพิ่มหลายแถวข้อมูลให้กับตารางข้อมูลด้วยการอ่านข้อมูลจากตารางข้อมูลอื่นโดยการประยุกต์ใช้คำสั่ง
ผลการเรียนครั้งที่ 9
สรุปต่อจากบทที่ 7
คำสั่ง SQL ที่เกี่ยวกับ data definition
ก่อนที่เราจะทำการศึกษาค าสั่ง SQL ส าหรับการสร้างและการกำหนดส่วนประกอบต่างๆของ ตารางข้อมูล ลองพิจารณาแบบจำลองข้อมูลในรูป 7.3 เพื่อใช้เป็นตัวอย่างประกอบ โดยจากรูปจะประกอบไป
ด้วย 5 ตารางข้อมูล : CUSTOMER, INVOICE, LINE, PRODUCT และ VENDOR
การสร้างฐานข้อมูล
ก่อนที่เราจะประยุกต์ใช้ข้อมูลจาก RDBMS เราจะต้องด าเนินการสร้างโครงสร้างของฐานข้อมูล และทำการสร้างตารางข้อมูลที่ใช้ในการจัดเก็บข้อมูลของผู้ใช้ ในการที่จะดำเนินการสร้างโครงสร้างของฐานข้อมูล RDBMS
Database schema
Schema ภายใต้ค าสั่ง SQL จะเป็นกลุ่มของตารางข้อมูลและดัชนีข้อมูลต่างๆในฐานข้อมูลที่ซึ่งจะ เป็นตารางข้อมูลและดัชนีของผู้ใช้หรือแอพพลิเคชันหนึ่งๆ
ชนิดของข้อมูลในฐานข้อมูล
-ข้อมูลเชิงตัวเลข
-ข้อมูลเชิงข้อความหรือตัวอักษร
-ข้อมูลวันที่
การกำหนดโครงสร้างของตารางข้อมูล
ณ ตอนนี้เรามีความพร้อมที่จะทำการกำหนดโครงสร้างตารางข้อมูล PRODUCT และ VENDOR
การกำหนดเงื่อนไข
เราได้เรียนรู้เกี่ยวกับการสร้างแบบจำลองข้อมูลเชิงสัมพันธ์ที่ซึ่งจะกำหนดให้ ตารางข้อมูลจะต้องมี entity integrity และ referential integrity ดังนั้น ในการสร้างฐานข้อมูลจริง เราก็ ควรจะดำเนินการให้ตารางข้อมูลต่างๆมี entity และ referential integrity ด้วยเช่นกัน ในการทำให้ ตารางข้อมูลหนึ่งๆมีคุณสมบัติ
การสร้างดัชนี
แนวความคิดเกี่ยวกับการสร้างดัชนีจะช่วยให้เราสามารถเพิ่มประสิทธิภาพในการค้นหาข้อมูลและยัง สามารถช่วยหลีกเลี่ยงการปรากฏซ้ำของค่าของข้อมูลในแอทริบิวที่ทำการสร้างดัชนีได้ ด้วยเหตุนี้ ภาษา SQL จึงมีคำสั่งที่สนับสนุนการสร้างดัชนีที่ซึ่งจะสามารถดำเนินการได้ด้วยการประยุกต์ใช้คำสั่ง CREATE INDEX
ผลการเรียนครั้งที่ 8
บทที่ 7
ภาษาสอบถามเชิงโครงสร้าง
ภาษา SQL เป็นภาษาที่ใช้สำหรับสร้างฐานข้อมูลและสร้างโครงสร้างการจัดเก็บข้อมูลของ ตารางข้อมูลต่างๆ ใช้สำหรับการจัดการต่างๆกับข้อมูล อาทิเช่น การเพิ่ม ลบ และอัพเดทข้อมูล และยังถูกใช้ สำหรับการสืบค้นข้อมูลสารสนเทศจากฐานข้อมูลด้วยเช่นกัน ภาษา SQL จะมี 2 ฟังก์ชันการทำงานหลัก ดังนี้
Data Definition Language (DDL)—จะเป็นคำสั่ง SQL ที่เกี่ยวข้องกับการสร้างตารางข้อมูล ดัชนี มุมมองต่างๆ และยังรวมถึงคำสั่งสำหรับการกำหนดสิทธิ์ในการเข้าถึงตารางข้อมูลต่างๆ
Data Manipulation Language (DML)—จะเป็นคำสั่ง SQL ที่เกี่ยวข้องกับการเพิ่ม อัพเดท ลบ และสืบค้นข้อมูลจากตารางข้อมูลในฐานข้อมูล โดยคำสั่งประเภท DML
คำสั่ง SQL ทั้งสองหมวดหมู่ข้างต้นจะทำการประยุกต์ใช้คำศัพท์เฉพาะไม่ถึง 100 คำที่ซึ่งจะทำให้เรา สามารถเข้าใจได้ง่าย คำสั่ง SQL จะสนใจเฉพาะเราต้องการจะทำอะไร เช่น ต้องการเรียกดูข้อมูลอะไร ต้องการเพิ่มข้อมูลอะไรในตารางข้อมูลใด ต้องการสร้างตารางข้อมูลใด เป็นต้น แต่จะไม่สนใจถึงวิธีในการ ดำเนินการต่างๆเพื่อที่จะได้มาซึ่งสิ่งที่ต้องการ
หัวใจหลักของ SQL คือ คิวรี (query) ที่ซึ่งจะครอบคลุมคำถามและการดำเนินการ เช่น รายการ สินค้าใดบ้างที่มีราคามากกว่า 100$ ที่ซึ่งถูกจัดเก็บในโกดังสินค้า? และรายการสินค้าเหล่านั้นมีจำนวนเท่าใด? พนักงานที่เริ่มทำงานกับบริษัทหลังจาก 1 January 2015 เป็นจำนวนเท่าใด? เป็นต้น นอกจากคำถามข้างต้น คิวรีของ SQL ยังถูกใช้ในการเพิ่ม ลบ อัพเดทข้อมูลในแถวข้อมูลต่างๆ และยังรวมถึงการสร้างตารางข้อมูล และดัชนี แต่ก่อนที่เราจะประยุกต์ใช้คำสั่ง SQL ในการสืบค้นข้อมูลจากฐานข้อมูล เราควรที่จะต้องทำการ กำหนดโครงสร้างการจัดเก็บข้อมูลด้วยการใช้คำสั่งประเภท DDL เสียก่อน
Diagram (Entity Relationship Diagram) ขึ้นมาเพื่อใช้สําหรับออกแบบฐานข้อมูลนับจากนั้นเป็นต้นมา แผนภาพ E-R ก็ถูกนําออกไปใช้งานอย่างกว้างขวางโดยมีการพัฒนารูปแบบที่หลากหลาย
Entity จะแบ่งออกเป็น 2 ประเภทด้วยกันคือ
ผลการเรียนรู้ครั้งที่ 5
สรุปต่อจากบทที่ 3
คำศัพท์เฉพาะ
และให้นักศึกษาพรีเซ็นงาน เรื่อง : โครงงานฐานข้อมูล
ผลการเรียนรู้ครั้งที่ 4
บทที่ 3
การออกแบบฐานข้อมูลเชิงสัมพันธ์
การทําให้เป็น บรรทัดฐาน (Normal Form) เป็นกระบวนการวิเคราะห์ ภาวการณ์พึ่งพิงซึ่งกันและกันของคอลัมน์หรือ แอตทริบิวต
เกณฑ์ของการเป็นรูปแบบบรรทัดฐาน มีทั้งหมด 6 ระดับ
รูปแบบบรรทัดฐานที่ 1 (1NF)
รูปแบบบรรทัดฐานที่ 2 (2NF)
รูปแบบบรรทัดฐานที่ 3 (3NF)
รูปแบบบรรทัดฐาน BCNF
รูปแบบบรรทัดฐานที่ 4 (4NF)
Normalization คือ การปรับข้อมูลให้เป็นรูปแบบบรรทัดฐานเพื่อลดความซ้ำซ้อนในการเก็บข้อมูลช่วยให้เกิดประสิทธิภาพในการจัดเก็บข้อมูลในฐานข้อมูล รวมทั้งเพิ่มความถูกต้อง และลดปัญหาต่างๆที่จะเกิดขึ้นในภานหลัง
ความจำเป็นในการทำ Normalization
เพื่อลดเนื้อที่ในการจัดเก็บข้อมูลและลดปัญหาของข้อมูลไม่ถูกต้องและช่วยลดปัญหาการเพิ่ม การลบและปรับปรุงข้อมูล
ระดับของ Normalization
การทำ Normalization จะแบ่งเป็น 5 ระดับ แต่โดยทั่วไปมักจะใช้เพียง 3 ระดับ หรือ 4 ระดับ ก็จัดว่าเพียงพอ คือ
ระดับที่ 1
: กำจัดกลุ่มข้อมูลที่ซ่ำกัน ( Repeating Group )
ระดับที่ 2 : กำจัดการขึ้นต่อกันเพียงบางส่วน (
Partial Dependency )
ระดับที่ 3 : กำจัดการขึ้นต่อกันแบบสืบทอด ( Transitive
Dependency )
ระดับที่ 4 : กำจัดการขึ้นต่อกันแบบหลายค่า ( Multi
values Dependency )
ความเข้าใจเกี่ยวกับการทำ Normalization
เนื่องจาก Normalization เป็นการตรวจสอบออกแบบโครงสร้างเพื่อการจัดเก็บข้อมูล ให้เกิดความมั่นใจว่าโครงสร้างข้อมูลที่ออกแบบข้อมูลมีความถูกต้องสมบูรณ์
ดังนั้น การทำนอร์มอลไลซ์ จึงไม่จำเป็นต้องทำทีละขั้นหรือทีละระดับโดยถ้าผู้ออกแบบมีความเชี่ยวชาญ
การทำ Normalization ระดับที่ 1 ( 1NF )
การนอร์มอลไลเซชันระดับที่ 1 คือ การปรับข้อมูลให้อยู่ในรูปแบบบรรทัดฐานระดับที่ 1 ( First Normal From : 1NF ) คือ กำจัดการจัดเก็บข้อมูลที่เป็นกลุ่มข้อมูล ( Repeating Group ) โดยทำให้แอตทริบิวต์ในแต่ละแถวมีค่าข้อมูลเพียงค่าเดียว
การทำ Normalization ระดับที่ 2 ( 2NF )
การนอร์มอลไลเซชันระดับที่ 2 คือ เป็นการแก้ไขปัญหาความซ้าซ้อนของข้อมูล ที่
1. รีเลชันนั้นมีคุณสมบัติอยู่ในรูปแบบนอร์มัล ระดับที่ 1
2.ทุกแอตทริบิวต์จะต้องขึ้นคีย์หลักทั้งหมดไม่แค่บางส่วน
การทำ Normalization ระดับที่ 3 ( 3NF )
การนอร์มอลไลเซชันระดับที่ 3 คือ การปรับข้อมูลให้อยู่ในรูปแบบบรรทัดฐานระดับที่ 3
1.รีเลชันนั้นมีคุณสมบัติอยู่ในรูปแบบนอร์มัล ระดับที่ 2 มาก่อน
2.ทุกแอตทริบิวต์จะต้องขึ้นกับคีย์หลักเพียงคีย์เดียว คือ ต้องไม่มีแอตทริบิวส์ในตารางไปขึ้นกับคีย์อื่นที่ไม่ใช่คีย์หลัก
การทำ Normalization ระดับบอยส์-คอดด์ ( BCNF )
การนอร์มอลไลซ์ระดับบอยส์-คอดด์ ( BCNF ) เป็นการปรับหลังการทำนอร์มอลไลซ์ระดับที่ 3 ซึ่งไม่ค่อยเกิดขึ้นบ่อยส่วนใหญ่จะเกิดในกรณีตารางระดับที่ 3 ที่ทีคีย์หลักเป็นคีย์แบบผสม
การทำ Normalization ระดับที่ 4 ( 4NF )
โดยในตารางนอร์มอลไลซ์ระดับที่ 3 สามารถนำไปใช้งานได้แต่ในกรณีการขึ้นต่อกันแบบหลายค่า ( Multi-valued Dependency ) เช่น การเก็บข้อมูลต่างๆรวมกันสามารถนำมาปรับเป็น การนอร์มอลไลเซชันระดับที่ 4 ได้
ผลการเรียนรู้ครั้งที่ 3
บทที่ 2
สถาปัตยกรรมระบบฐานข้อมูล
สถาปัตยกรรมระบบฐานข้อมูลเป็นมุมมองแนวความคิดที่ใช้ในการอธิบายถึงรูปแบบและโครงสร้างของข้อมูลในระบบฐานข้อมูโดยไม่ขึ้นอยู่กับโครงสร้างจริงของระบบฐานข้อมูลนั้น ๆระดับสถาปัตยกรรมฐานข้อมูลมีทั้งหมด 3 ระดับ
1. ระดับความคิด (Conceptual Level)
: ผู้ออกแบบฐานข้อมูล ใช้วิเคราะห์ความต้องสารสนเทศและออกแบบฐาน
ข้อมูลให้ครบถ้วน
ทั้งตารางฟิลด์และความสัมพันธ์ของตาราง
2. ระดับภายนอก (External Level)
:
ระดับการมองหรือวิว(View) ของข้อมูลภายในฐานข้อมูลของแต่ละคน
3. ระดับภายใน (Internal Level)
:
จัดเก็บฐานข้อมูลไว้ในหน่วยเก็บข้อมูลสำรองจริง
ความสัมพันธ์ (RelationShips) หมายถึง
ความสัมพันธ์ระหว่างเอ็นทิตี้
1.
หนึ่งต่อหนึ่ง (1:1)
เป็นการแสดงความสัมพันธ์ของข้อมูลของเอ็นทิตี้หนึ่งที่มีความสัมพันธ์
กับข้อมูลในอีกเอ็นทิตี้หนึ่ง
2. หนึ่งต่อกลุ่ม (One to Many)
เป็นการแสดงความสัมพันธ์ของข้อมูลในเอ็นทิตี้หนึ่ง ที่มีความสัมพันธ์
ข้อมูลหลายๆข้อมูลในอีกเอ็นทิตี้หนึ่ง
3. กลุ่มต่อกลุ่ม (Many to Many)
เป็นการแสดงความสัมพันธ์ของข้อมูลสองเอ็นทิตี้
แอตทริบิวต์ (Attribute) หมายถึง
ข้อมูลที่ใช้อธิบายคุณสมบัติหรือคุณลักษณะของแต่ละเอ็นทิตี้
ตัวอย่าง เอ็นทิตี้รายวิชา จะประกอบด้วย
แอตทริบิวต์รหัสวิชา ชื่อวิชา และจำนวนหน่วยกิต
Tuple คือ แถวข้อมูลในตาราง
โดยแต่ละแถวของข้อมูลจะประกอบไปด้วยหลายแอตทริบิวต์ หรือคอลัมน์ของข้อมูล
ผลการเรียนรู้ครั้งที่ 2
บทที่ 1
ระบบการจัดฐานข้อมูล
ข้อมูล หมายถึง ข้อเท็จจริง วัตถุ หรือเหตุการณ์ที่เกิดขึ้น ซึ่งถือเป็นข้อมูลดิบ (Raw Data) ที่ยังไม่ผ่านการประมวลผล
สารสนเทศ หมายถึง ข้อมูลที่ผ่านการประมวลผลมาแล้ว โดยสรุปเป็นรายงานทางสารสนเทศในรูปแบบต่างๆที่สามารถนำไปใช้ประกอบการตัดสินใจด้านใดด้านหนึ่ง
แฟ้มข้อมูล หมายถึง สิ่งที่บรรจุข้อมูลต่าง ๆ
ไว้ในที่เดียวกัน ประกอบด้วยโครงสร้างพื้นฐานที่ลำดับจากหน่วยที่เล็กที่สุด
ชนิดของข้อมูล คือข้อมูลที่จัดเก็บลงในแฟ้มข้อมูลหรือฐานข้อมูล ชนิดของข้อมูลแบ่งออกเป็นรูปแบบต่าง ๆ ได้แก่
1. ข้อมูลชนิดข้อความ
2. ข้อมูลที่เป็นรูปแบบ
3. ข้อมูลรูปภาพ
4. ข้อมูลชนิดเสียง
ระบบฐานข้อมูล : ข้อมูลต่าง ๆ จะจัดเก็บรวมอยู่ในฐานข้อมูลชุดเดียวกัน โดยจะมีซอฟต์แวร์จัดการฐานข้อมูล (DBMS) คอยควบคุมและจัดการการเข้าถึงข้อมูลของผู้ใช้ตามแต่ละแผนก
ฐานข้อมูล (Database) : เป็นศูนย์รวมของข้อมูลต่าง ๆ ที่มีความสัมพันธ์กัน โดยจะมีกระบวนการจัดหมวดหมู่ข้อมูลอย่างมีระเบียบแบบแผนและผู้ใช้ทั่วไปสามารถเข้าถึงข้อมูลส่วนกลางนี้ได้ ซึ่งจะทําหน้าที่แบ่งปันข้อมูลแก่ผู้ใช้ตามหน่วยงานต่าง ๆ
(Database Management Systems : DBMS)
เป็นซอฟต์แวร์จัดฐานข้อมูลที่นำมาใช้เป็นเครื่องมืออำนวยความสะดวกต่อผู้ใช้งานและอนุญาตให้ผู้ใช้สร้างฐานข้อมูลเมื่อฐานข้อมูลถูกสร้างและได้กำหนดโครงสร้างเรียบร้อย ฐานข้อมูลก็พร้อมที่จะบันทึกข้อมูล เพื่อควบคุมการเข้าถึงฐาน
ข้อดีข้อจํากัดของฐานข้อมูล
ข้อดี
1. ความอิสระของโปรแกรมและข้อมูล
2. ลดความซํ้าซ้อนในข้อมูล
3. ข้อมูลมีความสอดคล้องตรงกัน
4. การใช้ข้อมูลร่วมกัน
5. เพิ่มผลิตภาพในการพัฒนาโปรแกรม
6. ความเป็นมาตรฐานเดียวกัน
7. ข้อมูลมีคุณภาพยิ่งขึน
8. การเข้าถึงและการตอบสนองข้อมูลดีขึ้น
9. ช่วยลดงานบํารุงรักษาโปรแกรม
10. สนับสนุนการตัดสินใจที่ดี
ข้อเสีย
1. ความซับซ้อน
2. ต้องใช้ความจุเพิ่มมากขึ้น
3. ต้นทุน DBMS ค่อนข้างสูง
4. ต้นทุนเกี่ยวกับอุปกรณ์เพิ่มมากขึ้น
5. ต้นทุนการแปลงข้อมูล
6. สมรรถนะการทํางาน
7. ผลกระทบต่อความล้มเหลวมีสูง
ผลการเรียนรู้ที่ครั้งที่ 1
แนะนำรายวิชาและกระบวนการเรียนรู้ในรายวิชา
ในคาบแรกของรายวิชากระบวนการเจัดฐานข้อมูล อาจารย์ได้อธิบายในรายละเอียดของวิชา
หลักสูตรและประเภทของรายวิชา จุดมุ่งหมายและวัตถุประสงค์ในการเรียนรู้
ลักษณะการดำเนินการและการพัฒนาผลการเรียนรู้นักศึกษา
แผนการสอนและการประเมินผล ปรับปรุงการดำเนินการของรายวิชา
สุดท้ายอาจารย์ได้บอกถึงการสร้าง Blogger ให้เป็นของตัวเองและได้มอบหมายงาน
พร้อมชี้แจงข้อตกลงที่เกี่ยวกับรายวิชา พูดถึงในเรื่องการเก็บคะแนนในชั้นเรียน
ผลการเรียนรู้ครั้งที่ 11 บทที่ 8 โครงงาน project การออกแบบและจัดการฐานข้อมูล # พรีเซ็นโครงงานจากหัวข้อ การออกแบบและจัดฐานข้อมูลหลักสูตรโรง...