การออกแบบฐานข้อมูล

    การออกแบบฐานข้อมูล (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) โดยที่ตารางแต่ละตารางที่สร้างขึ้นจะเป็นอิสระ ดังนั้นผู้ออกแบบฐานข้อมูลจะต้องมีการวางแผนถึงตารางข้อมูลที่จำเป็นต้องใช้ เช่นระบบฐานข้อมูลบริษัทแห่งหนึ่ง ประกอบด้วย ตารางประวัติพนักงาน ตารางแผนกและตารางข้อมูลโครงการ แสดงประวัติพนักงาน ตารางแผนก และตารางข้อมูลโครงการ


แสดงประวัติพนักงาน

รหัส
ชื่อ
วันเข้าทำงาน
เงินเดือน
ตำแหน่ง
แผนก
001
นายแดง
1/1/32
30000
ผู้จัดการ
วิศวกรรม
002
นายเขียว
30/6/34
20000
หัวหน้าช่าง
วิศวกรรม
003
นายดำ
16/4/36
18000
สมุห์บัญชี
บัญชี
004
น.ส น้ำฝน
1/5/39
9000
จัดซื้อ
บัญชี
005
น.ส ทราย
16/6/40
7000
ธุรการ
ธุรการ

 

ตารางแผนก
 
ตารางข้อมูลโครงการ
รหัสแผนก
ชื่อแผนก
10
บัญชี
20
วิศวกรรม
30
ธุรการ
 
รหัสโครงการ
ชื่อโครงการ
วันเริ่ม
วันสิ้นสุด
งบประมาณ
01
ทางด่วนขั้นที่ 3
1/1/38
31/12/41
500000000
02
สร้างเขื่อนเก็บน้ำ
1/5/39
30/4/40
20000000
03
สร้างสนามฟุตบอล
30/6/39
30/10/40
10000000

ตารางแสดงประวัติพนักงาน ตารางแผนก และตารางข้อมูลโครงการา

    ในกรณีที่ผู้ใช้ต้องการเรียกข้อมูลจากตารางทั้ง 3 มาใช้ก็สามารถทำได้โดยการสร้างตารางใหม่ ดังแสดงการสร้างตารางรหัสพนักงานว่าอยู่แผนกไหน ทำงานโครงการอะไรและระยะเวลาในการทำ

รหัสพนักงาน
รหัสแผนก
รหัสโครงการ
ระยะเวลา(วัน)
001
20
03
30
004
10
03
60
002
20
02
180

ตารางแสดงการสร้างตารางรหัสพนักงาน
 

     ข้อดีและข้อเสียของโครงสร้างแบบสัมพันธ์ คือ สามารถสร้างตารางข้นมาใหม่โดยอาศัยหลักการทางคณิตศาสตร์และค้นหาว่าข้อมูลในฐานข้อมูลมีข้อมูลร่วมกับตารางที่สร้างขึ้นมาใหม่หรือไม่ ถ้ามีก็ให้ประมวลผลโดยการอ่านเพิ่มเติมปรับปรุงหรือยกเลิกรายการ ข้อเสีย คือ การศึกษาวิธีการเขียนโปรแกรมและใช้ฐานข้อมูลจะต้องอิงหลักทฤษฏีทางคณิตสาศตร์จึงทำให้การศึกษาเพิ่มเติมของผู้ใช้ ยากแก่การเข้าใจ แต่ในปัจจุบันมีโปรแกรมการสร้างฐานข้อมูลหลายโปรแกรมที่พยายามทำให้การเรียนรู้และการใช้ง่ายขึ้น เช่น โปรแกรมการสร้างฐานข้อมูลโดยใช้ภาษา SQL(Structured Query Language) เป็นต้น

 Page | 1 | 2 | 3 | 4 | 5 | 6 | 7 |