วันจันทร์ที่ 2 กรกฎาคม พ.ศ. 2555

ฐานข้อมูล

ฐานข้อมูลเชิงสัมพันธ์ นั้นหมายความว่า จะมีการจัดเก็บข้อมูลในลักษณะที่เป็นกลุ่มของข้อมูลที่มีความสัมพันธ์กัน ในฐานข้อมูลหนึ่งๆ สามารถที่จะมีตารางตั้งแต่ 1 ตารางเป็นต้นไป และในแต่ละตารางนั้นก็สามารถมีได้หลายคอลัมน์ (Column) หลายแถว (Row) ตัวอย่างเช่น เราต้องการเก็บข้อมูลพนักงาน ในตารางของข้อมูลพนักงานก็จะประกอบด้วยคอลัมน์ ที่อธิบายชื่อ นามสกุล ที่อยู่ เงินเดือน แผนกที่สังกัด เป็นต้น และในตารางนั้น ก็สามารถที่จะมีข้อมูลพนักงานได้มากกว่า 1 คน (Row) และตารางข้อมูลพนักงานนั้นอาจจะมีความสัมพันธ์กับตารางอื่น เช่น ตารางที่เก็บชื่อและจำนวนบุตรของพนักงาน
ฐานข้อมูลเชิงสัมพันธ์ถูกออกแบบมาเพื่อลดความซ้ำซ้อนของการเก็บข้อมูล และสามารถเรียกใช้ข้อมูลได้อย่างมีประสิทธิภาพ โดยมีหลักดังนี้
1. ตารางจะต้องมีชื่อไม่ซ้ำกัน

2. แต่ละฟิลด์จะบรรจะประเภทข้อมูลเพียงชนิดเดียวเท่านั้น

3. ข้อมูลในแต่ละเรคอร์ดจะต้องไม่ซ้ำกัน

นอกจากนี้แต่ละตารางยังสามารถเริยกได้อีกอย่างว่ารีเลชัน (Relation) แถวแต่ละแถวภายในตารางเรียกว่าทูเปิล (Tuple) และคอลัมน์เรียกว่าแอททริบิวต์ (Attribute)
จุดเด่นของข้อมูลเชิงสัมพันธ์
1. ง่ายต่อการเรียนรู้ และการนำไปใช้งาน ทำให้เห็นภาพข้อมูลชัดเจน
2. ภาษาที่ใช้จัดการข้อมูลเป็นแบบซีเควล ซึ่งมีประสิทธิภาพสูงเข้าใจง่าย
3. การออกแบบระบบมีทฤษฎีรองรับ สามารถลดความซ้ำซ้อนของข้อมูลได้


ฐานข้อมูลเชิงวัตถุ ได้รับการพัฒนาขึ้นโดยนำเทคโนโลยีการโปรแกรมเชิงวัตถุเข้ามาใช้ ระบบฐานข้อมูลแบบนี้มีความเหมาะสมกับงานฐานข้อมูลที่เก็บข้อมูลซึ่งค่อนข้างซับซ้อนและมีขนาดใหญ่ตัวอย่างเช่น ฐานข้อมูลเก็บภาพลักษณ์ (Image) หรือภาพกราฟิกส์ (Graphics) ฐานข้อมูลเก็บข้อมูลการทดลองวิทยาศาสตร์ที่ต้องเก็บตัวเลขทศนิยมเป็นจำนวนมาก ฐานข้อมูลของข้อมูลทางภูมิศาสตร์ หรือฐานข้อมูลมัลติมีเดียเป็นต้น ดังนั้น การโปรแกรมเชิงวัตถุจึงมีความเหมาะสมที่จะนำมาใช้ในการพัฒนาฐานข้อมูลเหล่านี้เนื่องจากคุณสมบัติต่างๆ ของโปรแกรมเชิงวัตถุ เช่น วัตถุ คลาส ตัวสร้างชนิด (Type Constructors) หลักนามธรรมของข้อมูล (Encapsulation) ลำดับชั้นและกรรมพันธุ์ของชนิดข้อมูล (Type hierarchies and inheritance) วัตถุที่มีโครงสร้างซับซ้อน (Complex Object) และตัวดำเนินการที่ทำงานได้กับข้อมูลหลายชนิด (Overloading Operator) เป็นต้น
ระบบจัดการฐานข้อมูลเชิงวัตถุได้รับการพัฒนามากขึ้นเรื่อยๆ ตัวอย่างของซอฟต์แวร์ในท้องตลาด ได้แก่ โอทู ของบริษัทโอทูเทคโนโลยี (O2 of O2 Technology) อ็อบเจกต์สโตร์ ของบริษัทอ็อบเจกต์ดีไซน์ (ObjectStore of Object Design) เจ็มสโตน/โอพัล ของบริษัทเซอร์วิโอโลจิก (GEMSTONE/OPAL of ServioLogic) ออนโทส ของบริษัทออนโตลอจิก (ONTOS of Ontologic) อ็อบเจกทิวิตี ของบริษัทอ็อบเจกทิวิตี (OBJECTIVITY of Objectivity Inc.) และ เวอร์แซนต์ ของบริษัทเวอร์แซนต์เทคโนโลยี (VER SANT of Versant Technology) เป็นต้น นอกจากนี้ยังมีหน่วยงานและมหาวิทยาลัยต่างๆ ที่พัฒนาระบบจัดการฐานข้อมูลเชิงวัตถุ เพื่อการทดลองและการศึกษาอยู่หลายแห่ง ตัวอย่างเช่น ระบบโอเรียน (Orion) พัฒนาที่หน่วยงานไมโครอิเล็กทรอนิกส์ และเทคโนโลยีคอมพิวเตอร์ (Microeletronics and Computer Technology Corporation) รัฐเทกซัส ประเทศสหรัฐอเมริกา ซอฟต์แวร์โอเพน โอโอดีบี (Open OODB) พัฒนาขึ้นที่บริษัทเทกซัสระบบไออาร์ไอเอส (IRIS) พัฒนาขึ้นที่หน่วยปฏิบัติการฮิวเลตต์ แพกการ์ด ระบบโอดีอี (ODE) พัฒนาขึ้นที่หน่วยหน่วยปฏิบัติการเอทีแอนที เบลล์ และ ซอฟต์แวร์เอนคอร์/อ็อบเซิร์ฟเวอร์ (ENCORE/ ObServer) พัฒนาขึ้นที่มหาวิทยาลัยบราวน์ เป็นต้น
ระบบฐานข้อมูลเชิงสัมพันธ์ได้รับความนิยมในการใช้งานเป็นอย่างมาก แต่ยังมีข้อจำกัดเมื่อนำไปใช้งานกับข้อมูลที่มีความซับซ้อนมาก จึงได้มีการพัฒนาเทคโนโลยีของแบบจำลองนี้ให้ดีขึ้น โดยนำเทคโนโลยีการโปรแกรมเชิงวัตถุ (Object Oriented Programming Technique) มาใช้ร่วมด้วย และเรียกระบบฐานข้อมูลแบบใหม่นี้ว่าระบบจัดการฐานข้อมูลเชิงวัตถุ-สัมพันธ์ (Object Relational Database Management System : ORDB) ซึ่งถูกพัฒนาขึ้นมาเพื่อตอบสนองต่อความต้องการของผู้ใช้ ซึ่งต้องการที่จะจัดเก็บข้อมูลที่ซับซ้อนมากยิ่งขึ้น เช่น งานสื่อประสม ข้อมูลทางการแพทย์ [เช่น ฟิล์มเอกซเรย์ (X - rays) ภาพลักษณ์เอ็มอาร์ไอ (MRI Imaging) งานแผนที่ ข้อมูลเกี่ยวกับอวกาศ และข้อมูลด้านการเงินซึ่งนับวันจะมีความซับซ้อนขึ้นเป็นอย่างมาก เป็นต้น ผู้ผลิตระบบจัดการฐานข้อมูลเชิงสัมพันธ์ตระหนักดีว่า ลักษณะของข้อมูลที่ผู้ใช้ ต้องการจัดเก็บลงในฐานข้อมูลนั้นมีความหลากหลายมาก การพัฒนาระบบให้สามารถทำงานได้กับชนิดของข้อมูลเพิ่มมากขึ้นนั้น เป็นการแก้ปัญหาระยะสั้น เพราะจะมีชนิดของข้อมูลแบบใหม่ ๆ เกิดขึ้นมาเรื่อยๆ ดังนั้น วิธีการที่เหมาะสมที่สุดก็คือ พัฒนาระบบจัดการฐานข้อมูลให้มีศักยภาพในการขยายความสามารถในการใช้งานกับชนิดของข้อมูลที่ผู้ใช้ต้องการ ซึ่งการขยายประสิทธิภาพตรงจุดนี้ควรที่จะนำเทคโนโลยีการโปรแกรมเชิงวัตถุมาใช้ด้วยเป็นอย่างยิ่ง เพราะมีข้อได้เปรียบใน
หลายๆ ประการ ได้แก่ สภาพเป็นส่วนจำเพาะมากยิ่งขึ้น (Greater Modularity) คุณภาพที่ดีขึ้น (Quality) การนำกลับมาใช้ใหม่ได้อีก (Reusabi lity) และการขยายความสามารถได้ (Extensibility) ตัวอย่างของระบบจัดการฐานข้อมูลที่ขยายจากเชิงสัมพันธ์เป็นเชิงวัตถุ-สัมพันธ์ ได้แก่ ดีบีทู รีเลชันแนล เอกซ์เทนเดอรส์ (DB2 Relational Extenders) อินฟอร์มิกซ์ เดทาเบลดส์ (Informix DataBlades) และ โอราเคิล คาร์ทริดจ์ (Oracle Cartridges) เป็นต้น

ฐานข้อมูลแบบลำดับชั้น (hierarchical data model)
คิดขึ้นโดยบริษัทไอบีเอ็ม เป็นฐานข้อมูลที่นำเสนอข้อมูลและความสัมพันธ์ระหว่างข้อมูลในรูปแบบของ โครงสร้างต้นไม้ (tree structure) เป็นโครงสร้างลักษณะคล้ายต้นไม้เป็นลำดับชั้น ซึ่งแตกออกเป็นกิ่งก้านสาขา ผู้ที่คิดค้นฐานข้อมูลแบบนี้คือ North American Rockwell เพื่อต้องการให้เป็นฐานข้อมูลที่สมารถกำจัดความซ้ำซ้อน (Data Redundancy) โดยใช้แนวความคิดของโปรแกรมที่ชื่อว่า Generalized Update Access Method (GUAM)
3.1 โครงสร้างของฐานข้อมูลแบบลำดับชั้น
1)ลักษณะโครงสร้างระบบฐานข้อมูลที่ใช้รูปแบบนี้จะมีโครงสร้างของข้อมูลเป็นลักษณะ
ความสัมพันธ์แบบพ่อลูก คือ พ่อ (parent) 1 คนมีลูก (child) ได้หลายคน แต่ลูกมีพ่อได้คนเดียว (นั่นคือเป็นความสัมพันธ์แบบ 1 ต่อ n) หรือแบบพ่อคนเดียวมีลูก 1 คน (นั่นคือเป็นความสัมพันธ์แบบ 1 ต่อ 1) ซึ่งจัดแยกออกเป็นลำดับชั้น โดยในระดับชั้นที่ 1 จะมีเพียงแฟ้มข้อมูลเดียวนั่นคือมีพ่อคนเดียว ในระดับที่ 2 จะมีกี่แฟ้มข้อมูลก็ได้ ในทำนองเดียวกันระดับ 2 ก็จะมีความสัมพันธ์กับระดับ 3 เหมือนกับ ระดับ 1 กับระดับ 2 โดยในโครงสร้างข้อมูลแบบลำดับชั้นแต่ละกรอบจะมีตัวชี้ (pointers) หรือ หัวลูกศรวิ่งเข้าหาได้ไม่เกิน 1 หัว จากตัวอย่างดังนี้

ภาพที่ 1.3 แสดงโครงสร้างฐานข้อมูลแบบลำดับขั้น

จากฐานข้อมูลแบบลำดับชั้นจะมีปัญหาถ้าความสัมพันธ์ของข้อมูลเป็นแบบลูกมีพ่อได้หลายคน จะใช้โครงสร้างฐานข้อมูลแบบลำดับชั้นไม่ได้ เช่น ความสัมพันธ์ระหว่างลูกจ้างกับงานที่ทำ งานชิ้นหนึ่งอาจทำโดยลูกจ้างหลายคนได้ โครงสร้างฐานข้อมูลแบบลำดับชั้นจะไม่สามารถออกแบบลักษณะข้อมูลแบบนี้ได้ ปัญหาเช่นนี้ทำให้ไม่ค่อยมีผู้นิยมใช้ ฐานข้อมูลแบบลำดับชั้น เนื่องจากความสัมพันธ์ของข้อมูลที่จะเก็บไว้ในฐานข้อมูลเป็นแบบพ่อ-ลูกเท่านั้น
2) กฎควบคุมความถูกต้อง คือ เรคอร์ดพ่อสามารถมีเรคอร์ดลูกได้หลายเรคอร์ด แต่เรคอร์ดลูกแต่ละเรคอร์ดจะมีเรคอร์ดพ่อได้เพียงเรคอร์ดเดียวเท่านั้น จากรูปแบบบฐานข้อมูลแบบลำดับชั้น จะมีปัญหา ถ้าความสัมพันธ์ของข้อมูลเป็นแบบเรคอร์ดลูก 1 เรคอร์ดมีพ่อได้หลายเรคอร์ด จะใช้โครงสร้างฐานข้อมูลแบบลำดับชั้นไม่ได้ เช่นความสัมพันธ์ระหว่างลูกจ้างกับงานที่ทำ งานชิ้นหนึ่งอาจทำโดยลูกจ้างหลายคนได้ โครงสร้างฐานข้อมูลแบบลำดับชั้น จะไม่สามารถออกแบบลักษณะข้อมูลแบบนี้ได้ ปัญหาเช่นนี้ทำให้ไม่มีผู้นิยมใช้
3) การจัดการ รูปของโครงสร้างต้นใช้ภาษาปฏิบัติการทีละเรคอร์ด ตัวอย่างของภาษาปฎิบัติการของฐานข้อมูลนี้ ได้แก่ IMS/VS
4.) ลักษณะเด่นและข้อจำกัดของการจัดการฐานข้อมูลแบบลำดับชั้น
4.1 ลักษณะเด่น
- เป็นระบบฐานข้อมูลที่มีระบบโครงสร้างซับซ้อนน้อยที่สุด
- มีค่าใช้จ่ายในการจัดสร้างฐานข้อมูลน้อย
- ลักษณะโครงสร้างเข้าใจง่าย
- เหมาะสำหรับงานที่ต้องการค้นหาข้อมูลแบบมีเงื่อนไขเป็นระดับและออกงานแบบเรียงลำดับต่อเนื่อง
- ป้องกันระบบความลับของข้อมูลได้ดี เนื่องจากต้องอ่านแฟ้มข้อมูลที่เป็นต้นกำเนิดก่อน
4.2 ข้อจำกัด
- มีโอกาสเกิดความซ้ำซ้อนมากที่สุดเมื่อเทียบกับระบบฐานข้อมูลแบบโครงสร้างอื่น
- ขาดความสัมพันธ์ระหว่างแฟ้มข้อมูลในรูปเครือข่าย
- มีความคล่องตัวน้อยกว่าโครงสร้างแบบอื่น ๆ เพราะการเรียกใช้ข้อมูลต้องผ่านทางต้นกำเนิด (root) เสมอ ถ้าต้องการค้นหาข้อมูลซึ่งปรากฏในระดับล่าง ๆ แล้วจะต้องค้นหาทั้งแฟ้ม

ฐานข้อมูลแบบ Network Data Model

1. โครงสร้างของฐานข้อมูลแบบเครือข่าย

ลักษณะโครงสร้างระบบฐานข้อมูลแบบเครือข่ายจะมีโครงสร้างของข้อมูลแต่ละแฟ้มข้อมูลมีความสัมพันธ์คล้ายร่างแห โดยมีลักษณะโครงสร้างคล้ายกับโครงสร้างแบบลำดับชั้น มีข้อแตกต่างที่ว่าโครงสร้างแบบเครือข่ายสามารถยินยอมให้ระดับชั้นที่อยู่เหนือกว่าจะมีได้หลายแฟ้มข้อมูลถึงแม้ว่าระดับชั้นถัดลงมาจะมีเพียงแฟ้มข้อมูลเดียว เปรียบเสมือนมีความสัมพันธ์แบบลูกจ้างกับงานที่ทำ โดยงานชิ้นหนึ่งอาจทำโดยลูกจ้างหลายคน (m ต่อ n) ดังนี้

ภาพที่1.4 แสดงโตรงสร้างของฐานข้อมูลแบบเครือข่าย

แฟ้มข้อมูลการสั่งซื้อจะถูกเชื่อมโยงกับแฟ้มข้อมูลลูกค้าเพิ่มขึ้นอีก 1 แฟ้มข้อมูล ทำให้แฟ้มข้อมูลการสั่งซื้อเปรียบเสมือนงาน 1 ชิ้น จะถูกทำโดยลูกจ้าง มากกว่า 1 คน หรือในแฟ้มข้อมูลรหัสสินค้าจะมีแฟ้มข้อมูลการสั่งซื้อและแฟ้มข้อมูลรายการสินค้าเป็นพ่อ ซึ่งการออกแบบลักษณะของฐานข้อมูลแบบเครือข่ายจะทำให้สะดวกในการค้นหามากกว่าลักษณะฐานข้อมูลแบบลำดับชั้น เพราะไม่ต้องไปเริ่มค้นหาตั้งแต่ข้อมูลต้นกำเนิดโดยทางเดียว ข้อมูลแต่ละกลุ่มจะเชื่อมโยงกันโดยตัวชี้ ลักษณะฐานข้อมูลนี้จะคล้ายกับลักษณะฐานข้อมูลแบบลำดับชั้น จะมีข้อแตกต่างกันตรงที่ในลักษณะฐานข้อมูลแบบเครือข่ายนี้สามารถมีต้นกำเนิดของข้อมูลได้มากกว่า 1

2. กฏการควบคุม

โครงสร้างแบบเครือข่ายสามารถยินยอมให้ระดับชั้นที่อยู่เหนือกว่าจะมีได้หลายแฟ้มข้อมูลถึงแม้ว่าระดับชั้นถัดลงมาจะมีเพียงแฟ้มข้อมูลเดียว โดยเรคอร์ดที่อยู่เหนือกว่ามีความสัมพันธ์กับเรคอร์ดที่อยู่ระดับล่างได้มากกว่า 1 เรคคอร์ด โดยแต่ละเรคคอร์ดสัมพันธ์กันด้วยลิงค์ (links) ฐานข้อมูลแบบเครือข่ายจะทำให้สะดวกในการค้นหามากกว่าฐานข้อมูลแบบลำดับชั้น เพราะไม่ต้องไปเริ่มค้นหาตั้งแต่ข้อมูลต้นกำเนิดโดยทางเดียว ข้อมูลแต่ละกลุ่มจะเชื่อมโยงกันโดยตัวชี้

3.ภาษาการจัดการ

ใช้ภาษาปฏิบัติการทีละเรคอร์ดจัดการกับฐานข้อมูล ตัวอย่าง ระบบปฏิบัติการรูปแบบภาษาของระบบจัดการฐานข้อมูลแบบเครือข่าย ได้แก่ IDMS

4.ลักษณะเด่นและข้อจำกัดระบบโครงสร้างแบบเครือข่าย

4.1 ลักษณะเด่น
เหมาะสำหรับงานที่แฟ้มข้อมูลมีความสัมพันธ์แบบเครือข่าย
มีโอกาสเกิดความซ้ำซ้อนของข้อมูลน้อยกว่าโครงสร้างแบบลำดับชั้น
การค้นหาข้อมูลมีเงื่อนไขได้มากและกว้างกว่าโครงสร้างแบบลำดับชั้น
4.2 ข้อจำกัด
โครงสร้างแบบเครือข่ายเป็นโครงสร้างที่ง่ายไม่ซับซ้อน จึงทำให้ป้องกันความลับของข้อมูลได้ยาก
มีค่าใช้จ่ายและสิ้นเปลืองพื้นที่ในหน่วยความจำเพราะจะเสียพื้นที่ในอุปกรณ์เก็บข้อมูลสำหรับตัวบ่งชี้มาก
ถ้าความสัมพันธ์ของระเบียนประเภทต่าง ๆ เกิน 3 ประเภท จะทำให้การออกแบบโครงสร้างแบบเครือข่ายยุ่งยากซับซ้อน
นอกจากฐานข้อมูลที่กล่าวไปแล้วในปัจจุบันยังมี ฐานข้อมูลแบบออบเจกต์ (object-oriented data model) ที่ได้มีการคิดค้นและพัฒนากันในปัจจุบัน โดยฐานข้อมูลแบบนี้จะถูกนำเสนอข้อมูลและความสัมพันธ์ระหว่างข้อมูลในรูป ออบเจกต์ (object) สำหรับฐานข้อมูลแบบออบเจกต์นั้นหน่วยงานธุรกิจในปัจจุบันนี้ยังไม่มีการใช้ ยังต้องมีการค้นคว้าและวิจัยต่อไปเพื่อที่จะสร้างฐานข้อมูลแบบออบเจกต์



ไม่มีความคิดเห็น:

แสดงความคิดเห็น