Databases and Warehousing/Discuss a relational database and how it differs from other databases.

ฐานข้อมูลเชิงสัมพันธ์ (Relational Database) แก้ไข

  • เป็นฐานข้อมูลที่ได้รับความนิยมมากที่สุดในปัจจุบัน เนื่องจากเป็นฐานข้อมูลที่ง่ายต่อการทำความเข้าใจโครงสร้างข้อมูล แม้ว่าฐานข้อมูลชนิดนี้จะทำงานช้าและต้องการเครื่องคอมพิวเตอร์ที่มีประสิทธิภาพสูงก็ตาม แต่ด้วยเทคโนโลยีในปัจจุบันคอมพิวเตอร์ได้รับการพัฒนาหให้มีประสิทธิภาพมากขั้นจนสามารถตอบสนองความต้องการของฐานข้อมูลเชิงสัมพันธ์ได้
  • ฐานข้อมูลเชิงสัมพันธ์ประกอบด้วยกลุ่มของตาราง แบบ 2 มิติ โดยแบ่งเป็น แถว (ROW) และ คอลัมน์(Column)ยืดหยุ่นมากแต่ละตารางมีความสัมพันธ์กันใช้ได้ง่าย ในการสร้างฐานข้อมูลเชิงสัมพันธ์จะต้องผ่านกระบวนการ Normalization ในระหว่างการออกแบบเพื่อลดความซ้ำซ้อนและเพื่อให้การจัดการฐานข้อมูลเป็นไปอย่างมีประสิทธิภาพมากขึ้น
  • ฐานข้อมูลเชิงสัมพันธ์ประกอบด้วย
  1. Relation คือ ความสัมพันธ์ระหว่างข้อมูลที่อยู่ในรูปตาราง 2 มิติแสดงข้อมูลในแนวแถวและคอลัมน์
  2. Attribute คือ ชื่อคอลัมน์ของ Relation
  3. Domain คือ กลุ่มของค่าข้อมูลที่เป็นไปได้ของแต่ละ Attribute
  4. Tuple คือ แถวของ Relation
  5. Degree ของ Relation คือ จำนวนของ Attribute ในแต่ละ Relation
  6. Cardinality ของ Relation คือ จำนวนของ Tuple ในแต่ละ Relation
  • จุดเด่นของ Relational Database มิได้แค่ง่ายต่อผู้ใช้ในการออกแบบ แต่ยังง่ายต่อ end user ในการใช้ DBMS มาทำการ สร้างฐานข้อมูล (Create) ขจัดฐานข้อมูล (Remove) เพิ่ม (add) ลบ (delete) แก้ไข (update) และค้นหา (query) ข้อมูล ซึ่งอาจสรุปว่าเราไม่มีความต้องพึ่ง Programmer เลยในการที่จะสร้างฐานข้อมูล และสามารถทำได้อย่างรวดเร็ว ในอดีตระบบฐานข้อมูลให้ผู้ใช้มองเห็นการเก็บข้อมูลในรูปของ ลำดับขั้น (hierarchy) และ เครือข่าย (network) ซึ่งยากต่อการออกแบบและการนำไปใช้และงาน ซึ่งงานด้านฐานข้อมูลทั้งหมดจะต้องใช้ผู้เชี่ยวชาญโดยเฉพาะเท่านั้น

โครงสร้างฐานข้อมูลชนิดอื่นๆ แก้ไข

  • ฐานข้อมูลแบบลำดับขั้น (Hierarchical Database): มีการจัดเก็บข้อมูลในแฟ้มข้อมูลเป็น Segment ซึ่งประกอบด้วย
  1. Child node : node ล่างสุด
  2. Parent Node : node ระดับบน
  3. Root Node  : node ที่อยู่บนสุดซึ่งจะมีเพียงโหนดเดียวเท่านั้นและคอยเรียกข้อมูลโหนดอื่นๆ ที่สามารถมีได้มากกว่า 1 โหนด ทำให้กลายเป็นข้อเสียของฐานข้อมูลชนิดนี้ คือ การเข้าถึงข้อมูลจะต้องใช้เวลานาน เนื่องจากจะต้องอ่านข้อมูลจาก Root Node
  • ฐานข้อมูลแบบเครือข่าย (Network Database): เป็นฐานข้อมูลที่มีลักษณะโครงสร้างคล้ายกับฐานข้อมูลแบบลำดับชั้น แต่สำหรับฐานข้อมูลแบบเครือข่ายจะมีความแตกต่างดังนี้
  1. Child node จะสามารถมี Parent Node ได้มากกว่า 1 Node
  2. Parent Node สามารถมี Child node ได้มากกว่า 1 Nodeเช่นเดียวกัน


ลักษณะความสัมพันธ์เช่นนี้เรียกว่า "Many to Many Relationship" เป็นผลทำให้ฐานข้อมูลแบบเครือข่ายมีโครงสร้างที่ซับซ้อนมาก จึงยากต่อการเปลี่ยนแปลงโครงสร้าง


ข้อดี :เข้าถึงข้อมูลได้หลายทาง และฐานข้อมูลมีความยืดหยุ่นและมีสมรรถภาพสูง


ข้อเสีย :โครงสร้างมีความซับซ้อนมาก จึงยากต่อการเปลี่ยนแปลงโครงสร้าง


ระบบจัดการฐานข้อมูลแบบลำดับชั้นและแบบเครือข่ายนั้นถือว่าพ้นสมัยไปแล้วเนื่องจากมีความสามารถน้อยกว่าระบบจัดการฐานข้อมูลเชิงสัมพันธ์ ไม่มีความคล่องตัวในการใช้งาน ไม่สามารถสนับสนุนการค้นหาข้อมูลแบบฉับพลัน การอ้างอิงข้อมูลในฐานข้อมูลจะต้องมีกำหนดไว้อย่างชัดเจนและไม่สามารถเปลี่ยนแปลง

  • ฐานข้อมูลเชิงวัตถุ (Object Oriented Database):เป็นฐานข้อมูลที่สามารถจัดเก็บข้อมูลและชุดคำสั่งไว้ด้วยกัน และสามารถจัดการข้อมูลในลักษณะต่างๆ เช่น แบบเขียน รูปภาพ เสียง ภาพเคลื่อนไหวได้อย่างมีประสิทธิภาพ ถึงแม้ว่าฐานข้อมูลชนิดนี้จะมีประสิทธิภาพในการจัดเก็บและจัดการ แต่ก็พบว่ายังไม่มีการนำมาใช้งานอย่างแพร่หลายเท่ากับฐานข้อมูลเชิงสัมพันธ์


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


ระบบจัดการข้อมูลเชิงวัตถุมีองค์ประกอบข้อมูล ดังนี้

  1. Objects
  2. Classes
  3. Entities
  4. Attributes
  5. Methods

อย่างไรก็ตาม ระบบจัดการฐานข้อมูลแบบเชิงวัตถุที่สามารถเก็บข้อมูลมัลติมีเดียได้อย่างง่ายดายก็มีข้อบกพร่องในเรื่องความเร็วในการทำงาน นั่นคือเมื่อเปรียบเทียบกันแล้วระบบการจัดการเชิงสัมพันธ์ที่มีการทำงานลักษณะเดียวกันจะสามารถประมวลผลรายการทำงาน(Transaction)ได้เป็นจำนวนมากกว่าในระยะเวลาเท่ากัน แนวทางแก้ไขในปัจจุบันคือการสร้างระบบผสมเรียกว่า Hybrid Object-Relation DBMS ที่นำข้อดีของทั้งสองระบบเข้ามาผสมผสานกันคือสามารถเก็บข้อมูลมัลติมีเดียได้โดยที่มีความคล่องตัวและรวดเร็วของระบบฐานเชิงสัมพันธ์

  • ฐานข้อมูลหลายมิติ (Multidimensional Database):เป็นฐานข้อมูลที่พัฒนาจากฐานข้อมูลเชิงสัมพันธ์ โดยการขยายเพิ่มความสามารถมาจากฐานข้อมูลเชิงสัมพันธ์ เพิ่มเป็นมิติขึ้นมาโดยใช้รากฐานมาจากฐานข้อมูลเชิงสัมพันธ์ แถวและสดมภ์ลักษณะเป็นลูกบาศก์ เป็นฐานข้อมูลที่ถูกเข้าถึงโดยระบบประมวลผลเชิงวิเคราะห์แบบต่อตรง(Online Analytical Processing : OLAP) บางทีอาจะเรียกว่า ฐานข้อมูลเชิงวิเคราะห์(Analytical Database),ฐานข้อมูลเชิงจัดการ (Management Database) หรือฐานข้อมูลสารสนเทศ (Information Database)


ข้อดี :เข้าใจโครงสร้างได้ดีกว่า ประมวลผลได้รวดเร็ว

Questions for Review แก้ไข

  1. /List the major sources of data.
  2. /List some of the major data problem.
  3. /What is the terabyte?(Write the number.)
  4. /Review the steps of the data life cycle and explain them.
  5. /List some of the categories of data available on the Internet.
  6. /Define data Quality.
  7. /Define document management.
  8. /Describe the hierarchy of a file management system.
  9. /What are the problems that arise from the file environment?
  10. /Discuss a relational database and how it differs from other databases.
  11. /What are the components of a database of a database management system (DBMS)?
  12. /What is the difference between the conceptual, logical and physical views of data?
  13. /How can you get data out of a database?
  14. /What are the benefits of using a DBMS?
  15. /What is the difference between entities and attributes?
  16. /Describe a data warehouse.
  17. /Describe a datamart.
  18. /Define a marketing transaction database.