การออกแบบฐานข้อมูล
การออกแบบฐานข้อมูล (Designing Databases) มีความสำคัญต่อการจัดการระบบฐานข้อมูล
(DBMS) ทั้งนี้เนื่องจากข้อมูลที่อยู่ภายในฐานข้อมูลจะต้องศึกษาถึงความสัมพันธ์ของข้อมูล
โครงสร้างของข้อมูลการเข้าถึงข้อมูลและกระบวนการที่โปรแกรมประยุกต์จะเรียกใช้ฐานข้อมูล
ดังนั้น เราจึงสามารถแบ่งวิธีการสร้างฐานข้อมูลได้ 3 ประเภท
1. รูปแบบข้อมูลแบบลำดับขั้น
หรือโครงสร้างแบบลำดับขั้น (Hierarchical data model) วิธีการสร้างฐาน
ข้อมูลแบบลำดับขั้นถูกพัฒนาโดยบริษัท ไอบีเอ็ม จำกัด ในปี 1980 ได้รับความนิยมมาก ในการพัฒนาฐานข้อมูลบนเครื่องคอมพิวเตอร์ขนาดใหญ่และขนาดกลาง
โดยที่โครงสร้างข้อมูลจะสร้างรูปแบบเหมือนต้นไม้
โดยความสัมพันธ์เป็นแบบหนึ่งต่อหลาย (One- to -Many) ดังรูป
แสดงโครงสร้างลำดับขั้นของผู้สอนทักษะผู้สอน หลักสูตรที่สอน
รูปที่ 5.9 แสดงโครงสร้างลำดับขั้นของผู้สอน
ทักษะผู้สอน หลักสูตรที่สอน
แสดงส่วนประกอบของระบบจัดการฐานข้อมูล
(Elements of a database management systems) ข้อดีและข้อเสียของระบบการจัดการฐานข้อมูล
ระบบการจัดการฐานข้อมูลจะมีทั้งข้อดีและข้อเสียในการที่องค์การจะนำระบบนี้มาใช้กับหน่วยงาของตนโดยเฉพาะหน่วยงานที่เคยใช้คอมพิวเตอร์แล้วแต่ได้จัดแฟ้มแบบดั้งเดิม
(Convention File) การที่จะแปลงระบบเดิมให้เป็นระบบใหม่จะทำได้ยากและไม่สมบูรณ์
ไม่คุ้มกับการลงทุน ทั้งนี้เนื่องจากค่าใช้จ่าในการพัฒนาฐานข้อมูลจะต้องประกอบด้วย
วิธีการจัดแบบลำดับขั้นเป็นการจัดกลุ่มของข้อมูลที่มีความสัมพันธ์กันและกำหนดให้เป็นเซ็กเมนต์
(Segment) โดยมีการแยกประเภทของเซ็กเมนต์ว่าเป็นเซ็กเมนต์ราก
(Root segment) หรือ เซ็กเมนต์ที่เป็นตัวพึ่ง(Dependent
segment) แสดงถึงฐานข้อมูลของฝ่ายที่มีการเปิดอบรมของบริษัทหนึ่งซึ่งจัดอยู่ในรูปแบบลำดับขั้น
เซ็กเมนต์ที่เป็นราก คือ ชื่อฝ่าย (Department name) โดยมีเซ็กเมนต์ที่เป็นตัวพึ่ง
2 เซ็กเมนต์คือ เซ็กเม็นผู้สอน(Instructor) และหลักสูตร (Course) สำหรับเซ็กเมนต์ผู้สอนก็จะมีตัวพึ่งอีก
1 เซ็กเมนต์ คือ เซ็กเมนต์ความชำนาญ(Skill) ส่วนเซ็กเมนต์หลักสูตรก็จะมีตัวพึ่งเป็นเซ็กเมนต์เปิดสอนโดยและเข้าเซ็กเมนต์สุดท้ายก็คือเซ็กเมนต์ผู้เรียนซึ่งเป็นตัวพึ่งของเซ็กเมนต์เปิดสอนโดย
การติดต่อของข้อมูลแบบลำดับขั้นจำเป้นจะต้องอาศัยตัวชี้ (Pointer)
ซึ่งสามารถแบ่งตัวชี้ออกเป็น 2 ประเภท คือ
|
1. ตัวชี้เซ็กเมนต์ที่เป็นตัวพึ่ง
(Child Pointer)
2. ตัวชี้เซ็กเมนต์ระดับเดียวกัน (Twin Pointer) |
ข้อดีและข้อเสียของโครงสร้างแบบลำดับขั้น คือ
สามารถสร้างความสัมพันธ์ให้เด่นชัดของข้อมูลแต่ละลำดับว่าข้อมูลเป็นเซ็กเมนต์ราก
หรือเป็นพ่อแม่(Parent) และข้อมูลเป็นเซ็กเมนต์ตัวพึ่งหรือตัวลูก
(Child) ส่วนข้อเสีย โครงสร้างแบบนี้มีความคล่องตัวน้อย
เพราะต้องเริ่มอ่านจากเซ็กเมนต์ที่เป็นรากก่อน นอกจากนั้นการออกแบบฐาน
ข้อมูลต้องระมัดระวังการซ้ำซ้อนของข้อมูล
|
2. รูปแบบข้อมูลแบบเครือข่าย
(Network data Model) ฐานข้อมูลแบบเครือข่ายมีความคล้ายคลึงกับฐาน
ข้อมูลแบบลำดับชั้น ต่างกันที่โครงสร้างแบบเครือข่าย
อาจจะมีการติดต่อหลายต่อหนึ่ง (Many-to-one) หรือ
หลายต่อหลาย (Many-to-many) กล่าวคือลูก (Child) อาจมีพ่อแม่ (Parent) มากกว่าหนึ่ง
สำหรับตัวอย่างฐานข้อมูลแบบเครือข่ายใหลองพิจารณาการจัดการข้อมูลของห้องสมุด
ซึ่งรายการจะประกอบด้วย ชื่อเรื่อง ผู้แต่ง สำนักพิมพ์ ที่อยู่ ประเภทหนังสือ
และปีที่พิมพ์ ดังนั้นการจัดข้อมูลแบบเก่าจะทำให้ข้อมูลซ้ำซ้อนกันมาก ดังรูป
|
ดูรูปแสดงการออกแบบรายการแบบเก่า
จากรูปจะเห็นว่าโอกาสที่ข้อมูลจะซ้ำซ้อนมีมากในระบบการจัดการแฟ้มแบบเก่า
หนังสือแต่ละเล่มหรือแต่ละชื่อเรื่องต่างก็มีรายการแยกต่างหาก
ดังนั้นบรรดาผู้แต่งที่แต่งหนังสือมากกว่าหนึ่งเล่มจะปรากฏมากว่าหนึ่งครั้งในไฟล์นอกจากนั้นสำนักพิมพ์แต่ละแห่งพิมพ์หนังสือหลายเล่ม
ดังนั้นชื่อของสำนักพิมพ์ ที่อยู่ก็จะปรากฏซ้ำๆกันในไฟล์ข้อมูลรวม
ดังนั้นผู้วางระบบฐานข้อมูลจึงแนะนำให้สร้างฐานข้อมูลลักษณะเครือข่าย
รูปแสดงการสร้างฐานข้อมูลแบบเครือข่าย
|
เพื่อลดความซ้ำซ้อน โดยการสร้างความสัมพันธ์ระหว่างรายการเข้าด้วยกัน
จะเห็นว่าความสัมพันธ์แบบหนึ่งต่อหลายรายการ (Record) ระหว่างรายการชื่อสำนักพิมพ์และชื่อเรื่อง
ซึ่งแสดงโดยมีรูปลูกศรซ้อนกัน 2 หัวเราเรียกรวมชื่อสำนักพิมพ์และชื่อเรื่องซึ่งมีความสัมพันธ์กันว่าเซตและเรียกว่าสกีมา(Schema)
ดังนั้นชื่อผู้แต่งแต่ละคนจะปรากฏเพียงหนึ่งครั้งและเชื่อมโยงกับชื่อหนังสือที่เป็นผู้แต่ง
ขณะที่ชื่อสำนักพิมพ์ก็เชื่อมโยงกับหนังสือที่ตนเป็นผู้พิมพ์
เมื่อต้องการเข้าถึงรายการจะสามารถเข้าถึงผ่านทางชื่อเรื่อง ชื่อผู้แต่ง หรือชื่อสำนักพิมพ์
ก็ได้ โดยอาศัยเส้นทางเชื่อมต่อระหว่าง รายการ
ทำให้ข้อมูลทุกรายการสามารถติดต่อถึงกันได้อย่างถูกต้อง รายการหรือเรคอร์ดสมาชิก
(Member) เช่น เรียก
เรคอร์ดของผู้แต่งก่อนก็เป็นเรคอร์ดนำและหาตัวเชื่อมเพื่อไปค้นหารายชื่อหนังสือที่แต่งซึ่งเป็นเรคอร์ดสมาชิกก็จะปรากฏขึ้น
ข้อดีและข้อเสียของโครงสร้างแบบเครือข่าย คือเรคอร์ดแต่ละประเภท
สามารถใช้เป็นเรคอร์ดนำได้โดยกล่าวถึงก่อน
ส่วนการซ้ำซ้อนของข้อมูลจะมีน้อยมากเนื่องจากเรคอร์ดสมาชิกสามารถใช้ร่วมกันได้
เช่น รายละเอียดของหนังสือหนึ่งเล่มอาจจะแต่งจากผู้แต่งหลายคน
จึงสามารถใช้ร่วมกันได้ ข้อเสีย ความสัมพันธ์ของเรคอร์ดประเภทต่างๆไม่ควรจะเกิน 3
ประเภท เช่น ชื่อเรื่อง ผู้แต่ง สำนักพิมพ์
หากมีความสัมพันธ์หลายประเภท อาจจะออกแบบเครือข่ายไม่ได้หรือยุ่งยากขึ้น
เนื่องจากมีข้อจำกัดในการออกแบบ
|
3. รูปแบบความสัมพันธ์ข้อมูล
(Relation data model) เป็นลักษณะการออกแบบฐานข้อมูลโดยจัดข้อมูลให้อยู่ในรูปของตารางที่มีระบบคล้ายแฟ้ม
โดยที่ข้อมูลแต่ละแถว (Row) ของตารางจะแทนเรคอร์ด (Record)
ส่วน ข้อมูลนแนวดิ่งจะแทนคอลัมน์ (Column) ซึ่งเป็นขอบเขตของข้อมูล
(Field) โดยที่ตารางแต่ละตารางที่สร้างขึ้นจะเป็นอิสระ
ดังนั้นผู้ออกแบบฐานข้อมูลจะต้องมีการวางแผนถึงตารางข้อมูลที่จำเป็นต้องใช้
เช่นระบบฐานข้อมูลบริษัทแห่งหนึ่ง ประกอบด้วย ตารางประวัติพนักงาน
ตารางแผนกและตารางข้อมูลโครงการ แสดงประวัติพนักงาน ตารางแผนก และตารางข้อมูลโครงการ
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
แสดงประวัติพนักงาน
ตารางแสดงประวัติพนักงาน ตารางแผนก
และตารางข้อมูลโครงการา
ในกรณีที่ผู้ใช้ต้องการเรียกข้อมูลจากตารางทั้ง
3 มาใช้ก็สามารถทำได้โดยการสร้างตารางใหม่
ดังแสดงการสร้างตารางรหัสพนักงานว่าอยู่แผนกไหน
ทำงานโครงการอะไรและระยะเวลาในการทำ
ตารางแสดงการสร้างตารางรหัสพนักงาน
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ข้อดีและข้อเสียของโครงสร้างแบบสัมพันธ์ คือ
สามารถสร้างตารางข้นมาใหม่โดยอาศัยหลักการทางคณิตศาสตร์และค้นหาว่าข้อมูลในฐานข้อมูลมีข้อมูลร่วมกับตารางที่สร้างขึ้นมาใหม่หรือไม่
ถ้ามีก็ให้ประมวลผลโดยการอ่านเพิ่มเติมปรับปรุงหรือยกเลิกรายการ ข้อเสีย คือ
การศึกษาวิธีการเขียนโปรแกรมและใช้ฐานข้อมูลจะต้องอิงหลักทฤษฏีทางคณิตสาศตร์จึงทำให้การศึกษาเพิ่มเติมของผู้ใช้
ยากแก่การเข้าใจ
แต่ในปัจจุบันมีโปรแกรมการสร้างฐานข้อมูลหลายโปรแกรมที่พยายามทำให้การเรียนรู้และการใช้ง่ายขึ้น
เช่น โปรแกรมการสร้างฐานข้อมูลโดยใช้ภาษา SQL(Structured Query Language)
เป็นต้น
ตัวอย่างหน้าจอการทำงานการเปิดโต๊ะ และ สถานะของโต๊ะ |
การสั่งอาหาร 2
การเช็คบิล
การรับชำระ 1
การรับชำระ 2
การย้ายโต๊ะ
อ้างอิง
http://www.pakeypan.com/res.html
ไม่มีความคิดเห็น:
แสดงความคิดเห็น