Back to Home

DataBase System

Lesson1234567101112131415

Lesson 9 : Physical Data Management



Lesson Plan
Section No.
Section 1
Section 2
Section 3
Test
PDF file
PPT File


<<Prev pageCourse MapNext page>>

Print content of this page
Save content of this page

 

แนวคิดในการจัดระเบียนของแฟ้มข้อมูลและการเข้าถึงข้อมูลเชิงกายภาพ

ในการออกแบบระบบงานนั้น โปรแกรมเมอร์มักจะเก็บรวบรวมข้อมูลไว้เป็นแฟ้ม เนื่องจาก

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

การออกแบบแฟ้มข้อมูลที่ทีประสิทธิภาพนั้น จำเป็นต้องศึกษาวิธีการจัดระบบแฟ้มข้อมูล (file organisation) และ การจัดการแฟ้มข้อมูล เนื่องจากข้อมูลที่ใช้งานส่วนใหญ่ถูกเก็บอยู่ในแฟ้มข้อมูลภายนอก (อุปกรณ์บันทึกข้อมูลภายนอก)

1 โครงสร้างการจัดแฟ้มข้อมูล

ในระบบคอมพิวเตอร์ หน่วยที่เล็กที่สุดของข้อมูลคือบิต (bit) ซึ่งย่อมาจาก binary digit หรือเลขฐานสอง ได้แก่ 0 และ 1 ใช้แทนเหตุการณ์หรือสถานะได้เพียง 2 อย่างเท่านั้น ย่อมไม่เพียงพอ กับแทนข้อมูลจำนวนมหาศาลได้ จึงได้รวมกลุ่มหลายบิตเข้าด้วยกันเพื่อแทนตัวอักษร 1 ตัว หน่วยข้อมูลที่เล็กที่สุดที่มีความหมายต่อผู้ใช้คือ เขตข้อมูล (field) ซึ่งประกอบด้วยตัวอักษรตั้งแต่ 1 ตัวเป็นต้นไปมารวมกันเพื่อให้เกิดความหมายขึ้นมาใช้แทนข้อมูล เช่น 12345 ซึ่งเป็นรหัสพนักงาน เขตข้อมูลอาจเป็นจำนวนหรือข้อมูลแบบตัวอักษรก็ได้ เมื่อรวมเขตข้อมูลที่สัมพันธ์กัน เช่นเขตข้อมูลรหัสพนักงาน และเขตข้อมูลชื่อพนักงานจะกลายเป็นระเบียนของพนักงานคนหนึ่ง เขตข้อมูลที่ไม่มีความสัมพันธ์กันเชิงตรรก (logical relation) แม้จะเอามารวมกันก็ไม่เกิดความหมายหรือไม่เป็นระเบียน เช่น ชื่อคน ราคาสินค้า ถ้านำระเบียนที่มีความสัมพันธ์กันมารวมกันเช่น ระเบียนของพนักงานทุกคนในบริษัทมารวมกันจะกลายเป็น แฟ้มข้อมูลของพนักงาน ในความหมายทั่วไปแล้วระเบียนคือสิ่งที่เราสนใจ อาจเป็นบุคคล สิ่งของ ระเบียนพนักงาน ระเบียนสินค้า

2 ระเบียนข้อมูลและคีย์ (record and key)

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

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

    1. ระเบียนยาวคงที่ (fixed length record) เป็นระเบียนที่ประกอบด้วยเขตข้อมูลแบบเดียวกันตลอดแฟ้ม ระเบียนชนิดนี้ทำให้เขียนโปรแกรมได้ง่าย แต่อาจเปลืองที่เก็บถ้าขนาดจริงของระเบียนต่างกัน เพราะต้องเผื่อที่ให้ทุกๆระเบียนมีขนาดเท่ากับระเบียนที่ใหญ่ที่สุด
    2. ระเบียนยาวแปรผัน (variable length record) ขนาดของระเบียนไม่คงที่ เนื่องจากมีจำนวนเขตข้อมูลในแต่ละระเบียนไม่เท่ากัน หรือความยาวของบางเขตข้อมูลไม่เท่ากัน เช่นแฟ้มข้อมูลที่บันทึกส่วนประกอบผลิตภัณฑ์ ซึ่งผลิตภัณฑ์แต่ละชนิดมีจำนวนส่วนประกอบไม่เท่ากัน ดังนั้นจึงไม่สมควรใช้ระเบียนยาวคงที่ เพื่อประหยัดที่เก็บ
    3. ระเบียนที่ไม่กำหนดความยาว (undefined length record) เป็นรูปแบบหนึ่งของระเบียนยาวแปรผัน ระเบียนชนิดนี้ไม่ได้กำหนดรูปแบบ โปรแกรมเมอร์สามารถใช้ระเบียนได้เต็มที่ ไม่ต้องมีการเปลืองเนื้อที่เก็บไว้ในระเบียนเพื่อระบุความยาวของบล็อกและระเบียน

ในระเบียนหนึ่งๆ มักจะมีเขตข้อมูลหนึ่งที่ใช้สำหรับอ้างอิง จำแนกหรือบอกตำแหน่งที่เก็บระเบียน เราเรียกเขตข้อมูลดังกล่าวว่า คีย์ (key) เช่นระเบียนนักศึกษาที่ประกอบด้วยเขตข้อมูล รหัสยนักศึกษา, ชื่อสกุล, ที่อยู่, เพศ, อาจารย์ที่ปรึกษา เขตข้อมูลที่ใช้อ้างอิงระบียนของนักศึกษาคือรหัสนักศึกษา

คีย์อาจประกอบด้วยตัวเลข หรือตัวอักษร หรือตัวเลขปนตัวอักษรก็ได้ คีย์มี 2 ชนิดคือ คีย์หลัก (primary key) และ คีย์รอง (secondary key)

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

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

 

 

Last Updated: 12/13/2001 11:21:55 AM
© โครงการเครือข่ายสารสนเทศเพื่อพัฒนาการศึกษา ทบวงมหาวิทยาลัย