ฐานข้อมูลเบื้องต้น (ตอนที่ 1)

ฐานข้อมูล (Database)

คือ แหล่งจัดเก็บ และ รวบรวมกลุ่มข้อมูลที่เกี่ยวข้องกัน สัมพันธ์กัน เป็นส่วนของข้อมูลที่อยู่ในองค์กร ในระบบเดียวกัน

คุณสมบัติของฐานข้อมูล

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

ตัวอย่าง ฐานข้อมูลของมหาวิทยาลัย นะคับก็จะมีกลุ่มข้อมูลประมาณนี้

  • กลุ่มข้อมูลอาคาร/สถานที่
  • กลุ่มข้อมูลนักศึกษา
  • กลุ่มข้อมูลตารางสอน/เรียน
  • กลุ่มข้อมูลอาจารย์/เจ้าหน้าที่
  • กลุ่มข้อมูลงบประมาณ
  • กลุ่มข้อมูลการลงทะเบียน
  • กลุ่มข้อมูลหลักสูตรการเรียน
  • กลุ่มข้อมูลอื่น ๆ

แฟ้มข้อมูล / ตารางข้อมูล ( Table )

คือกลุ่มข้อมูลที่เก็บรายการที่เกี่ยวข้องกัน อ้างอิงเรื่องเดียวกันนำมารวมกัน อาทิเช่น ตารางข้อมูลนักศึกษา, ตารางข้อมูลอาจารย์/เจ้าหน้าที่, ตารางข้อมุลอาคาร/สถานที่. ตารางข้อมูลการจัดตารางการสอน ฯลฯ

แฟ้มข้อมูล / ตารางข้อมูล

ตัวอย่าง ตารางข้อมูลนักศึกษา นะคับ ก็จะมีประมาณนี้

  • นักศึกษาคนที่ 1
  • นักศึกษาคนที่ 2
  • นักศึกษาคนที่ 3
  • นักศึกษาคนที่ …
  • นักศึกษาคนที่ N

ระเบียนข้อมูล (Record / Tuple / Row)

คือ ชุดข้อมูลที่เก็บรายละเอียดที่เกี่ยวข้องกันกับของสิ่งเดียวกัน อาทิเช่น นักศึกษา 10 คนในตาราง คือ เก็บชุดข้อมูลนักศึกษา 10 ระเบียน, อาจารย์ 200 คนในตารางคือ เก็บชุดข้อมูลอาจารย์ไว้ 200 ระเบียน

ตัวอย่าง ระเบียนของนักศึกษา จะมีข้อมูลประมาณนี้คับ

  • รหัสนักศึกษา
  • ชื่อ-นามสกุล นักศึกษา
  • เพศ
  • วันเดือนปีเกิด
  • อื่นๆ

เขตข้อมูล (Field / Attribute / Column)

คือ รายละเอียดที่เกิดจากกลุ่มอักขระที่รวมกันแล้วก่อให้เกิดความหมายเช่น ชื่อคน สัตว์ สิ่งของ อายุ ที่อยู่ ฯลฯ

รหัสนักศึกษา 47231440138
ชื่อนักศึกษา กาญจนา
นามสกุลนักศึกษา น้ำใจงาม
เพศ หญิง
วันเดือนปีเกิด 21 มิถุนายน 2529
ที่อยู่ติดต่อได้ 119 ถ.ลำปาง-แม่ทะ ..
อื่น ๆ ….

หมายเหตุ : แต่ละเขตข้อมูลเมื่อมีการจัดเก็บต้องระบบชนิดข้อมูลให้ชัดเจน เช่น ชื่อนักศึกษา ก็จะเก็บข้อมูลประเภท ตัวอักษร ( varchar )

โครงสร้างในการจัดเก็บข้อมูลในคอมพิวเตอร์

data_in_com

ฐานข้อมูลที่เราต้องการมีอะไรบ้าง ?

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

วิธีการออกแบบฐานข้อมูล

ประสบการณ์ที่เคยออกแบบ หรือ ศึกษาจากตัวอย่างของระบบงานที่ใกล้เคียง
วิธีการ Normalization  (ฐานข้อมูลเบื้องต้น ตอนที่ 2)