200 likes | 518 Views
การจัดแฟ้มข้อมูลแบบคีย์หลายตัว Multiple-Key File Organization. อภิรดา ธาดาเดช ภาควิชาวิทยาการคอมพิวเตอร์ คณะวิทยาศาสตร์ มหาวิทยาลัยสงขลานครินทร์. One Access Key?. Yes. No. Sequential Access Only?. Multi-Key Organization?. Yes. No. Direct Access Only?. Sequential
E N D
การจัดแฟ้มข้อมูลแบบคีย์หลายตัวMultiple-Key File Organization อภิรดา ธาดาเดช ภาควิชาวิทยาการคอมพิวเตอร์ คณะวิทยาศาสตร์ มหาวิทยาลัยสงขลานครินทร์
One Access Key? Yes No Sequential Access Only? Multi-Key Organization? Yes No Direct Access Only? Sequential Organization ? No Yes IndexedSequential Organization Relative Organization ประเภทของการจัดโครงสร้างไฟล์
ลักษณะโครงสร้างของ Multiple-Key • จากหัวข้อที่ผ่านๆมา จะมีการพูดถึงเฉพาะไฟล์ประเภทต่างๆ ที่ใช้ค่าคีย์เดี่ยวๆ (Single Key File) ได้แก่ ไฟล์แบบ Sequential ซึ่งจัดเรียงลำดับเรคอร์ดตามค่าของคีย์หนึ่งฟิลด์ ไฟล์แบบ Relative ซึ่งเราสามารถเข้าถึงตัวเรคอร์ดได้โดยตรงโดยระบุค่าคีย์เฉพาะค่าใด ค่าหนึ่ง และไฟล์แบบ Index Sequential ซึ่งเป็นไฟล์ที่สามารถเข้าถึงได้โดยตรง หรือเข้าถึงแบบจัดเรียงไปตามลำดับก็ได้ โดยการใช้ค่าคีย์ที่สามารถจัดเรียงลำดับเรคอร์ดและเป็นทั้งคีย์ที่ใช้ระบุถึงเรคอร์ดใดก็ได้
องค์ประกอบของ multiple key file • Primary key • Secondary key • Non indexed
ตัวอย่าง • ระบบบุคลากร เข้าถึงแบบสุ่มโดยใช้ รหัสบุคลากร เข้าถึงแบบสุ่มโดยใช้รหัสแผนก เข้าถึงแบบสุ่มโดยใช้เงินเดือน • ระบบคลังสินค้าของบริษัทให้เช่ารถ ซึ่งมีรายละเอียดเป็น รหัสรถ ยี่ห้อ แบบ รุ่น ระยะทางวิ่งมาแล้ว และสี โดยจัดให้สามารถเข้าถึงข้อมูลโดย ใช้ รหัสรถ ยี่ห้อ แบบ ค้นหาข้อมูล
ตัวอย่างสินค้าคงคลังของบริษัทให้เช่ารถยนต์ตัวอย่างสินค้าคงคลังของบริษัทให้เช่ารถยนต์
ความหมาย Multiple-Key • Multiple-Key วิธีการที่สร้างคีย์หลายๆ แบบ เพื่อให้สามารถเข้าถึงเรคอร์ดในไฟล์ ทำให้การสอบถาม หรือเข้าถึงข้อมูลแบบสุ่ม สามารถเข้าถึงได้หลายฟิลด์ • ลักษณะการจัดไฟล์แบบนี้มี 2 แบบ • Inverted • Multilist ในที่นี้จะพูดเฉพาะ Inverted
ความจำเป็นของ Multiple Access • ในระบบสารสนเทศที่เน้นการโต้ตอบ (Interactive Information System) ส่วนใหญ่จะต้องการไฟล์ที่ใช้ค่าคีย์หลายคีย์ในการเข้าถึงและเรียกใช้เรคอร์ดในไฟล์ • วิธีการ อาจสร้างไฟล์หลายๆไฟล์ที่มีข้อมูลซ้ำๆ กัน เพื่อเข้าถึงข้อมูลแบบต่างๆกัน • ปัญหา คือ เปลืองเนื้อที่ เกิดความซ้ำซ้อนของข้อมูล และ ในกรณีแก้ข้อมูล อาจแก้ไขไม่ครบถ้วน และเกิดความขัดแย้งได้
ลักษณะทั่วไปของ Multiple Key • วิธีการแก้ไขปัญหาการเข้าถึงข้อมูลโดยผู้ใช้ต่างระดับกัน จัดให้ไฟล์มีลักษณะการเข้าถึงข้อมูลได้หลายทิศทาง เป็น Multiple Access Path ใช้วิธีการเข้าถึงได้หลายรูปแบบตามความต้องการของผู้ใช้ • แนวคิดพื้นฐานของการจัดไฟล์แบบนี้ คือสร้างหลายดัชนี (Multiple Indexes) ที่จะสามารถชี้เรคอร์ดที่ต้องการได้จากหลายทิศทาง • ค่า Index ที่ใช้ในการจัดการไฟล์ Multiple Key จะมีมากกว่า 1 คีย์ มี Primary Key และ Secondary Key ต่างๆ ที่ต้องการค้นหาด้วย
การจัดโครงสร้างแบบ Inverted File • โครงสร้างแบบ Multiple-Keyเป็นการจัดไฟล์ที่อาศัยความสัมพันธ์ผกผัน (Inverse Relationship)ระหว่างข้อมูลในเรคอร์ดกับค่า Primary Keyของเรคอร์ดนั้น ไฟล์ของข้อมูลจะมีค่าดัชนีผกผันกับค่าคีย์ของเรคอร์ดในไฟล์นั้น เหมือนกับดัชนีของหนังสือ ถือได้ว่ามีค่าผกผันกับหน้าของหนังสือ
การจัดโครงสร้างแบบ Inverted File (ต่อ) ไฟล์แบบ Inverted ประกอบด้วย 2 ส่วน • Directory or inversion indexesประกอบด้วยรายการผกผัน (Inverse List) ของแต่ละSecondary Key ซึ่งนำมาใช้เรียกข้อมูลในส่วนของData Record Area โดยอาศัยPrimary Key เข้าไปดึงข้อมูลออกมา • Data Record Area : อาจจัดเก็บแบบRelative, sequential, or indexed sequential ที่มีค่าPrimary Key เป็นการเข้าถึงข้อมูลแบบสุ่ม
การจัดโครงสร้างแบบ Inverted File (ต่อ) • รายการชื่อฟิลด์ใน Inverted List อาจจัดเก็บเป็นไฟล์ย่อยๆ ไฟล์ละ Secondary Key ก็ได้ หรืออาจจัดเก็บรายการฟิลด์ที่เป็น Secondary Key ทั้งหมดไว้ใน 1 ไฟล์ก็ได้ แต่ละหน่วย (Entry) ในรายการ Inverted List ของแต่ละ Secondary Key จะประกอบด้วย 1 ฟิลด์ ที่เป็น Secondary Key ในไฟล์
Dirctory of Brand and Style Data file contents key
ตัวอย่างข้อมูล ข้อมูลระบบนักศึกษา
สร้าง Inverting File และ Data File • ต้องการค้นข้อมูลแบบสุ่มด้วย รหัสนักศึกษา • ต้องการค้นข้อมูลแบบสุ่ม ว่านักศึกษาที่สังกัดภาคนั้นๆ มีใครบ้าง สามารถเลือกค้นได้จาก รหัสภาควิชา • ต้องการค้นข้อมูลแบบสุ่ม มีใครบ้างที่เรียนวิชารหัสต่างๆ สามารถเลือกค้นได้จาก รหัสวิชาเรียน
สอบถามข้อมูล แล้วจะค้นอย่างไร • ถามข้อมูลเกี่ยวกับนักศึกษา ถ้าทราบรหัส ค้นได้จาก Data File • ถามว่ามีใครบ้างอยู่ภาควิชา Com • ถามว่ามีใครบ้างอยู่ภาควิชา Bio • ถามว่า มีใครบ้างเรียนวิชา 111 • ถามว่า มีใครบ้างเรียนวิชา 111 และอยู่ภาค Com • ถ้าบอกชื่อ จะค้นได้ อย่างไร ควรทำอะไร เพิ่มอย่างไร เพื่อให้การทำงานมีประสิทธิภาพมากยิ่งขึ้น
ประโยชน์ของInverted file • สามารถค้นหาข้อมูลได้ตามเงื่อนไขได้ง่าย เช่น ต้องการหา รถ ยี่ห้อ Dodge style 2ประตู • ประหยัดเนื้อที่ ในส่วนของ ข้อมูล ไม่ต้องเก็บส่วนของ Secondary key ข้อด้อยของ Inverted file เสียเวลา ในการค้นหา หาก ค้นหาในหลายเงื่อนไข
การออกแบบInverted File ควรพิจารณา • ส่วนของ Directory or inversion indexes ว่าต้องการค้นหาข้อมูลผ่านเขตข้อมูลใดบ้าง ควรสร้าง ส่วนinverted เท่าที่จำเป็น • ส่วนของ Data Record Area ซึ่งใช้ได้ทั้งแบบRelative, sequential, or indexed sequential