แบบจำลองฐานข้อมูล: ตอน 1

 

 
Home Page  |   รายการบทความ   |   ลิงค์ที่เกี่ยวข้อง   |   laploy.com  |  เกี่ยวกับผู้เขียน

 

แบบจำลองฐานข้อมูล: ตอน 1

 

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

ในบทนี้ท่านจะได้เรียนเรื่องแบบจำลองฐานข้อมูลซึ่งประกอบด้วยหัวข้อต่างๆ ดังนี้

•    การประยุกต์ใช้งาน
•    สองสถาปัตยกรรม
•    วิวและออพเจ็กต์พิเศษอื่นๆ
•    นิยามชนิดข้อมูล
•    นิยาม RDBMS
•    ความเป็นมาของ  RDBMS
•    วิวัฒน์ของแบบจำลองฐานข้อมูล

 

2.1. การประยุกต์ใช้งาน
คำว่า "แอพลิเกชัน" (application) คือ "คำจาร์กอน" ในวงการคอมพิวเตอร์ หมายถึงซอฟต์แวร์ที่รันในคอมพิวเตอร์และทำงานบางอย่าง งานที่ว่าอาจเป็นการมีปฏิสัมพันธ์กับผู้ใช้แบบรูปภาพ หรือ GUI ที่ช่วยให้การสร้างรายงานง่ายเพียงแค่ลากเมาส์ไปมา แล้วกดปุ่มสองสามทีก็จะได้รายงานที่สมบูรณ์

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

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

 

2.2. สองสถาปัตยกรรม
การประมวลผลธุรกรรมออนไลน์ (OnLine Transaction Processing ย่อ OLTP) คือสถาปัตยกรรมที่มีผู้ใช้จำนวนมากเข้าถึงข้อมูลจำนวนน้อยๆ แต่ทำอย่างถี่ๆ แบบจำลองฐานข้อมูลที่เหมาะกับการประยุกต์ใช้งานลักษณะนี้คือ "แบบจำลองข้อมูลสำหรับธุรกรรม" (Transactional Database Model ย่อ TDM) ซึ่งเป็นแบบจำลองฐานข้อมูลที่ออกแบบมาสำหรับบริการผู้ใช้งานจำนวนมากที่เข้าถึงข้อมูลที่มีปริมาณน้อยแต่ใช้งานพร้อมกันและอย่างถี่ๆ

แบบจำลองฐานข้อมูลที่ตรงกันข้ามกับ OLTP คือ "โกดังข้อมูล" หรือดาต้าแวร์เฮาส์ (data warehouse) ผู้ใช้จะอัพเดตข้อมูลหรือดึงข้อมูลครั้งละมากๆ (เช่นการดึงข้อมูลเพื่อนำไปใช้ในการวิเคราะห์) มีจำนวนผู้ใช้พร้อมกันไม่มากนัก (เมื่อเทียบกับ OLTP เพราะผู้ใช้งานดาต้าแวร์เฮาส์คือนักวิเคราะห์ข้อมูลซึ่งมีจำนวนน้อยกว่าผู้ใช้แอพลิเกชัน)  เนื่องจากไม่ใช่การทำงานตามลำดับเหตุการณ์ที่เกิดขึ้นจริง (real time) ระบบจึงไม่จำเป็นต้องตอบสนองการทำงานเร็วมากนักก็ได้ ปรกติแบบจำลองข้อมูลลักษณะนี้จะถูกสร้างขึ้นโดยนำฐานข้อมูล OLTP มาแยกย่อยเป็นโครงสร้างที่ซ้ำกันหลายๆ ชุด

 

ภาพ 2-1: การใช้งาน Business Intelligence (BI) และดาต้าแวร์เฮาส์

 

2.3. วิวและออพเจ็กต์พิเศษอื่นๆ
ในฐานข้อมูลนอกจากจะมีตารางและดรรชนีแล้วยังมีออพเจ็กต์อื่นๆ อีกหลายอย่างที่นักออกแบบฐานข้อมูลจำเป็นต้องรู้จักดังต่อไปนี้

  • วิว: วิว (View) คือนิยามคิวรี ตัวมันเองไม่ใช่ตารางและไม่ได้เก็บข้อมูลใดๆ ไว้ภายใน วิวเป็นเพียงโครงสร้างทางตรรกะของตาราง เมื่อสั่งให้วิวทำงานเราจะได้ข้อมูลเป็นตารางเสมือน วิวมีประโยชน์เมื่อนำมาใช้ระหว่างขั้นตอนพัฒนา แต่ไม่ควรนำไปใช้ในขั้นตอนใช้งานจริง เพราะวิวอาจทำให้ประสิทธิภาพของฐานข้อมูลลดลง
  • วิววัตถุ: วิววัตถุ (Materialized views) ตางจากวิวธรรมดาตรงที่มันเป็นตารางข้อมูลชั่วคราวที่ถูกสร้างจากตารางจริงและมีข้อมูลเก็บไว้จริงๆ จุดประสงค์ในการสร้างวิววัตถุคือเพื่อลดภาระของตารางหลัก วิววัตถุมักถูกนำมาใช้เพื่อหาผลรวมของชุดข้อมูล (ดาต้าเซต dataset) ขนาดใหญ่ในงานคลังข้อมูล ในบาง RDBMS จะสนับสนุนการปรับข้อมูล (refresh) ระหว่างตารางจริงกับวิววัตถุโดยอัตโนมัติ ทำให้เราสามารถใช้งานวิววัตถุได้โดยไม่ต้องห่วงเรื่องความล้าสมัยของข้อมูล
  • คลัสเตอร์: คลัสเตอร์ (Cluster) เป็นออพเจ็กต์พิเศษที่ปัจจุบันไม่นิยมใช้แล้ว มันมีลักษณะและจุดประสงค์ในการใช้งานเหมือนวิววัตถุแต่ไม่มีการการปรับข้อมูลอัตโนมัติ
  • ตัวนับอัตโนมัติ: ตัวนับอัตโนมัติ (auto counter) คือคอลัมน์ที่เพิ่มค่าได้โดยอัตโนมัติ ทำให้เราสร้างคอลัมน์ซึ่งทำหน้าที่เป็นกุญแจแทนได้ง่ายขึ้น เพราะ RDBMS จะใส่ค่าในคอลัมน์นี้ให้โดยอัตโนมัติเป็นค่าที่เรียงลำดับ (เช่น 001, 002, 003 ฯลฯ)
  • ตัวประมวลผลแบบขนาน: โปรแกรม RDBMS บางตัวสนับสนุนการแยกตารางออกเป็นหลายส่วนเพื่อให้ตัวประมวลผลหลายตัวประมวลผลไปพร้อมๆ กันได้เพื่อเพิ่มประสิทธิภาพของฐานข้อมูล

ภาพ 2-2: ตัวประมวลผลแบบขนาน CELL/B.E. ที่ผลิตโดยบริษัทไอบีเอ็ม โซนีและโตชิบา

โฆษณา

ใส่ความเห็น

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  เปลี่ยนแปลง )

Google photo

You are commenting using your Google account. Log Out /  เปลี่ยนแปลง )

Twitter picture

You are commenting using your Twitter account. Log Out /  เปลี่ยนแปลง )

Facebook photo

You are commenting using your Facebook account. Log Out /  เปลี่ยนแปลง )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: