บทที่ 12 indexed sequential file

Download Report

Transcript บทที่ 12 indexed sequential file

INDEXED FILES
แฟ้มดรรชนี
การจัดการแฟ้ ม
สำหรับแฟ้มใด กำรกระทำต่อแฟ้มมี 4 อย่ำง
• กำรสร้ ำงแฟ้ม
• กำรเรี ยกข้ อมูลจำกแฟ้มออกมำใช้
• กำรปรับปรุงและดูแลข้ อมูลในแฟ้ม
– กำรลบเรคอร์ ด
– กำรเพิ่มหรื อแทรกเรคอร์ ด
– กำรเปลี่ยนแปลง แก้ ไขข้ อมูลในเรคอร์ ด
• กำรคัดลอกข้ อมูลจำกแฟ้มเพื่อสำรองข้ อมูลและจัดข้ อมูลใหม่
การเข้าถึงข้อมูลในแฟ้ ม
มี 3 วิธี คือ
• กำรเข้ ำถึงข้ อมูลแบบลำดับ (Sequential access) กำรเข้ ำถึงเร
คอร์ ดของข้ อมูลจะเป็ นไปตำมลำดับตำมตำแหน่งของเรคอร์ ด
• กำรเข้ ำถึงข้ อมูลแบบสุม่ (Random access) กำรเข้ ำถึงเรคอร์ ด
ของข้ อมูลเป็ นไปโดยสุม่ เพื่อหำที่อยูข่ องเรคอร์ ดนัน้
• กำรเข้ ำถึงข้ อมูลแบบลำดับผสมกับแบบสุม่ (Dynamic access)
ทำโดยสุม่ หำที่อยูข่ องเรคอร์ ด จำกนันจะอ่
้ ำนเรคอร์ ดของข้ อมูลที่อยูใ่ น
ลำดับที่เรี ยงต่อกับเรคอร์ ดนัน้
การจัดการแฟ้ ม
มี 3 วิธี
• Sequential Organization
• Indexed Organization
• Relative Organization
แฟ้ มดรรชนี (Indexed Files)
ใช้ เพือบันทึกหรื อเพิ่มข้ อมูลเข้ ำไปในแฟ้มดรรชนี
sort
sort
Create indexed file
Create indexed file
การค้ นหาข้ อมูลจากแฟ้ มดรรชนี
ทำได้ 3 วิธี คือ
1. ค้ นหำแบบลำดับ
2. ค้ นหำแบบสุม่
3. ค้ นหำแบบไดนำมิค
การค้นหาแบบลาดับ
• มีกำรทำงำนเหมือนแฟ้มลำดับ (Sequential file) ซึง่ ในกำร
ทำงำนแบบนี ้ ใช้ ACCESS MODE IS SEQUENTIAL
SELECT IND-FILE ASSIGN TO "D:\DATA\IND.DAT"
ORGANIZATION IS INDEXED
ACCESS IS SEQUENTIAL
FD IND-FILE.
RECORD KEY IS XCODE.
01 IND-REC.
05 XCODE
05 XNAME
05 XQUANT
05 XPRICE
05
PIC 99.
PIC X(10).
PIC 9(4).
PIC 9(4)V99.
PIC XX.
การค้นหาแบบลาดับ
• คำสัง่ ต่ำงๆที่ใช้ กบั กำรค้ นหำแบบเรี ยงลำดับนี ้ จะใช้ งำนแบบเดียวกับ
กำรทำงำนแบบเรี ยงลำดับ รวมทังค
้ ำสัง่ READ ซึง่ มีรูปแบบต่อไปนี ้
Create report form indexed file
Create report form
indexed file
การค้นหาแบบสุ่ ม
ใช้ ACCESS MODE IS RANDOM
ถ้ ำไม่มี ACCESS MODE จะถือว่ำเป็ น SEQUENTIAL
SELECT IND-FILE ASSIGN TO "D:\COBOLMIX\DATA\IND.DAT"
ORGANIZATION IS INDEXED
ACCESS IS RANDOM
FD IND-FILE.
RECORD KEY IS XCODE.
01 IND-REC.
05 XCODE PIC 99.
05 XNAME PIC X(10).
05 XQUANT PIC 9(4).
05 XPRICE PIC 9(4)V99.
05
PIC XX.
การค้นหาแบบสุ่ ม
การค้นหาแบบไดนามิก
ค้ นหำแบบไดนำมิก ใช้ ACCESS MODE IS DYNAMIC
สำมำรถค้ นหำข้ อมูลได้ ทงแบบเรี
ั้
ยงตำมลำดับและแบบสุม่
การค้นหาแบบไดนามิค
การปรับปรุ งแฟ้ มดรรชนีแบบลาดับ
• กำรปรับปรุงข้ อมูลโดยวิธีลำดับเหมำะสำหรับกรณีที่มีข้อมูลที่ต้องกำร
ปรับปรุงจำนวนมำก เมื่อเทียบกับจำนวนข้ อมูลที่มีอยู่
• ถ้ ำมีกำรเปิ ดแฟ้มด้ วยคำสัง่ OPEN I-O จะสำมำรถใช้ คำสัง่
REWRITE เพื่อแก้ ไขข้ อมูล และ ใช้ คำสัง่ DELETE เพื่อลบเรคอร์ ดของ
ข้ อมูลออกจำกแฟ้มได้
แฟ้ มดรรชนีแบบลาดับ
การปรับปรุงข้ อมูลในแฟ้ มดรรชนีแบบสุ่ ม
• ในกรณีที่มีเพียงบำงเรคอร์ ดเท่ำนันที
้ ่ต้องกำรปรับปรุง มักจะใช้ วิธีกำร
เข้ ำถึงข้ อมูลแบบสุม่
คาสั่ ง OPEN I-O
• ใช้ เมื่อต้ องกำรเปิ ดแฟ้ม เพื่อให้ สำมำรถทังอ่
้ ำนและบันทึกข้ อมูลลงใน
แฟ้มได้
• ดังนันเมื
้ ่อต้ องกำรปรับปรุงแฟ้ม จะต้ องใช้ คำสัง่ OPEN I-O
คาสั่ ง REWRITE
• ใช้ เพื่อแก้ ไขข้ อมูลในเรคอร์ ดที่ได้ เคยบันทึกลงในแฟ้มดรรชนีก่อนหน้ ำนี ้
ซึง่ จะต้ องเปิ ดแฟ้มโดยคำสัง่ OPEN I-O จึงจะสำมำรถใช้ คำสัง่
REWRITE ได้ ก่อนที่จะใช้ คำสัง่ REWRITE แก้ ไขข้ อมูล อำจใช้
คำสัง่ READ เพื่ออ่ำนข้ อมูลก่อนหรื อไม่ก็ได้
คาสั่ ง DELETE
• ใช้ สำหรับลบข้ อมูลออกจำกแฟ้มดรรชนี
• โดยจะต้ องเปิ ดแฟ้มด้ วยคำสัง่ OPEN I-O
• หำกค้ นเรคอร์ ดที่ต้องกำรลบไม่พบ จะกระทำที่กลุม่ คำสัง่ -1