วันอาทิตย์ที่ 28 สิงหาคม พ.ศ. 2554

ฐานข้อมูลแบบเครือข่าย (Network Data Model

ฐานข้อมูลแบบเครือข่าย (Network Data Model)
       ฐานข้อมูลแบบเครือข่ายมีความคล้ายคลึงกับฐานข้อมูลแบบลำดับชั้น ต่างกันที่โครงสร้างแบบเครือข่าย อาจจะมีการติดต่อหลายต่อหนึ่ง (Many-to-one) หรือ หลายต่อหลาย (Many-to-many) กล่าวคือลูก (Child) อาจมีพ่อแม่ (Parent) มากกว่าหนึ่ง

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


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

ฐานข้อมูลแบบลำดับชั้น (hierarchical data model)

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

โครงสร้างของฐานข้อมูลแบบลำดับชั้น
1.) ลักษณะโครงสร้างระบบฐานข้อมูลที่ใช้รูปแบบนี้จะมีโครงสร้างของข้อมูลเป็นลักษณะ
ความสัมพันธ์แบบพ่อลูก คือ พ่อ (Parent) 1 คนมีลูก (child) ได้หลายคน แต่ลูกมีพ่อได้คนเดียว (นั่นคือเป็นความสัมพันธ์แบบ 1 ต่อ n) หรือแบบพ่อคนเดียวมีลูก 1 คน (นั่นคือเป็นความสัมพันธ์แบบ 1 ต่อ 1) ซึ่งจัดแยกออกเป็นลำดับชั้น โดยในระดับชั้นที่ 1 จะมีเพียงแฟ้มข้อมูลเดียวนั่นคือมีพ่อคนเดียว ในระดับที่ 2 จะมีกี่แฟ้มข้อมูลก็ได้ ในทำนองเดียวกันระดับ 2 ก็จะมีความสัมพันธ์กับระดับ 3 เหมือนกับ ระดับ 1 กับระดับ 2 โดยในโครงสร้างข้อมูลแบบลำดับชั้นแต่ละกรอบจะมีตัวชี้ (pointers) หรือ หัวลูกศรวิ่งเข้าหาได้ไม่เกิน 1 หัว จากตัวอย่างดังนี้

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

ฐานข้อมูล ( Data Model )


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

คุณสมบัติหลักของฐานข้อมูล
คุณสมบัติหลักของฐานข้อมูลไม่ว่าจะเป็นฐานข้อมูลใดๆ ทั้งฐานข้อมูลแบบไฮราคี ฐานข้อมูลแบบเครือข่าย ฐานข้อมูลแบบออบเจกต์ ฐานข้อมูลแบบสัมพันธ์ หรือฐานข้อมูลแบบอื่นๆ จะมีคุณสมบัติหลัก ดังต่อไปนี้ คือ
1. โครงสร้างข้อมูล (data structures) คือโครงสร้างข้อมูลระดับตรรกะที่โปรแกรมประยุกต์เห็น เป็นการบอกว่าฐานข้อมูลนั้นๆ มีโครงสร้างข้อมูลเป็นอย่างไร
2. กฎควบคุมความถูกต้อง (integrity constraint) เป็นการบอกว่าโครงสร้างข้อมูลนั้นมีกฎบังคับความถูกต้องอย่างไร
3. ภาษาจัดการข้อมูล (data manipulation language) เป็นการบอกว่ามีภาษาจัดการข้อมูลบนโครงสร้างข้อมูลเป็นอย่างไร

ประเภทของฐานข้อมูล
ฐานข้อมูลที่รู้จักกันในปัจจุบันมีด้วยกัน 4 ประเภท คือ
- ฐานข้อมูลแบบเครือข่าย (hierarchical model)
- ฐานข้อมูลแบบลำดับชั้น (hierarchy model)
- ฐานข้อมูลแบบสัมพันธ์ (relational model)
- ฐานข้อมูลแบบจำลองเชิงวัตถุ (object oriented model)
ฐานข้อมูลมีการนำเสนอต่อเนื่องมาเป็นระยะๆ ฐานข้อมูลที่ประสบความสำเร็จและมีผู้ใช้ในวงการธุรกิจเริ่มจากฐานข้อมูลแบบแรก คือ ฐานข้อมูลแบบลำดับชั้นหรือไฮราคี ถัดมาคือฐานข้อมูลแบบเครือข่าย และฐานข้อมูลที่มีการใช้กันมากที่สุดในปัจจุบัน คือ ฐานข้อมูลแบบสัมพันธ์ และปัจจุบันนี้มีฐานข้อมูลสมัยใหม่เกิดขึ้นคือฐานข้อมูลแบบออบเจกต์ นั่นคือฐานข้อมูลนั้นมีการนำเสนอข้อมูลและความสัมพันธ์ระหว่างข้อมูลที่แตกต่างกันไป ซึ่งการนำเสนอในฐานข้อมูลแบบสัมพันธ์หรือรูปแบบตารางเป็นที่นิยมใช้กันแพร่หลายมากที่สุด

Topology


ความสัมพันธ์ทางพื้นที่ (Spatial Topology) ข้อมูลพื้นที่แสดงทิศทาง (vector data) โดยทั่วไปจะมีระบบการจัดเก็บข้อมูลเฉพาะของข้อมูลแต่ละลักษณะ (each graphic object) ซึ่งลักษณะความสัมพันธ์ของข้อมูลพื้นที่และระบบการจัดเก็บนี้เรียกว่า ความสัมพันธ์ทางพื้นที่ (spatial topology) โดยการจัดเก็บข้อมูลดังกล่าวใช้เนื้อที่น้อย (minimize) วิเคราะห์ข้อมูลได้รวดเร็ว (fast analysis) และหลังจากได้สร้าง topology เรียบร้อยแล้ว ข้อมูลต่างๆ สามารถนำมาวิเคราะห์เชิงพื้นที่ได้ ทั้งนี้ หลักเกณฑ์ในการจัดเก็บข้อมูลมีดังนี้
- จุด (point) แสดงด้วยค่าพิกัด x, y
- เส้น (arcs) แต่ละเส้นจะเชื่อมต่อกันโดย nodes
- พื้นที่ (polygon) ประกอบด้วยเส้นที่เชื่อมต่อกันมายังจุดเดิม

ความหมายของ TOPOLOGY ในแนวของ GIS คือ "a spatial relationship between features" หรือ ความสัมพันธ์เชิงตำแหน่งระหว่างกลุ่มรูปร่างอันได้แก่ เส้น จุด และรูปเหลี่ยม

Topology คือกระบวนการทางคณิตศาสตร์เพื่อใช้สร้างความสัมพันธ์ระหว่างของข้อมูลเชิงพื้นที่ และคุณสมบัติของข้อมูลเชิงพื้นที่ ประกอบด้วย
- การเชื่อมต่อกันของเส้น
- ทิศทางของเส้น
- ความยาวของเส้น
- รูปหลายเหลี่ยมที่อยู่ติดกัน
- เนื้อที่

Topology ถูกสร้างไว้หลายประเภทของการวิเคราะห์เชิงพื้นที่เพื่อใช้ให้ผู้ใช้ตั้งคำถามหาความสัมพันธ์นั้น ๆ
               
ปัจจุบันข้อมูล GIS บางตัวก็มี TOPOLOGY บางตัวก็ไม่มีTOPOLOGY ข้อมูลที่มี TOPOLOGY จะทำให้การวิเคราะห์ข้อมูลดีกว่า และรวดเร็วกว่า แต่ปัจจุบันเครื่องคอมพิวเตอร์มีความรวดเร็วมากขึ้น อาจจะเห็นไม่แตกต่างมากนัก ตัวอย่างข้อมูล GIS ที่ไม่มี TOPOLOGY ก็ได้แก่ ข้อมูล Shape file แต่ก็สามารถทำงานได้อย่างมากมาย