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

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

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


Relation คือ ความสัมพันธ์ระหว่างข้อมูลที่อยู่ในรูปตาราง 2 มิติแสดงข้อมูลในแนวแถวและคอลัมน์
Attribute คือ ชื่อคอลัมน์ของ Relation
Domain คือ กลุ่มของค่าข้อมูลที่เป็นไปได้ของแต่ละ Attribute
Tuple คือ แถวของ Relation
Degree ของ Relation คือ จำนวนของ Attribute ในแต่ละ Relation
Cardinality ของ Relation คือ จำนวนของ Tuple ในแต่ละ Relation


จุดเด่นของ Relational Database มิได้แค่ง่ายต่อผู้ใช้ในการออกแบบ แต่ยังง่ายต่อ end user ในการใช้ DBMS มาทำการ สร้างฐานข้อมูล (Create) ขจัดฐานข้อมูล (Remove) เพิ่ม (add) ลบ (delete) แก้ไข (update) และค้นหา (query) ข้อมูล ซึ่งอาจสรุปว่าเราไม่มีความต้องพึ่ง Programmer เลยในการที่จะสร้างฐานข้อมูล และสามารถทำได้อย่างรวดเร็ว ในอดีตระบบฐานข้อมูลให้ผู้ใช้มองเห็นการเก็บข้อมูลในรูปของ ลำดับขั้น (hierarchy) และ เครือข่าย (network) ซึ่งยากต่อการออกแบบและการนำไปใช้และงาน ซึ่งงานด้านฐานข้อมูลทั้งหมดจะต้องใช้ผู้เชี่ยวชาญโดยเฉพาะเท่านั้น
โครงสร้างฐานข้อมูลชนิดอื่นๆ
ฐานข้อมูลแบบลำดับขั้น (Hierarchical Database): มีการจัดเก็บข้อมูลในแฟ้มข้อมูลเป็น Segment ซึ่งประกอบด้วย


Child node : node ล่างสุด
Parent Node : node ระดับบน
Root Node : node ที่อยู่บนสุดซึ่งจะมีเพียงโหนดเดียวเท่านั้นและคอยเรียกข้อมูลโหนดอื่นๆ ที่สามารถมีได้มากกว่า 1 โหนด ทำให้กลายเป็นข้อเสียของฐานข้อมูลชนิดนี้ คือ การเข้าถึงข้อมูลจะต้องใช้เวลานาน เนื่องจากจะต้องอ่านข้อมูลจาก Root Node


ฐานข้อมูลแบบเครือข่าย (Network Database): เป็นฐานข้อมูลที่มีลักษณะโครงสร้างคล้ายกับฐานข้อมูลแบบลำดับชั้น แต่สำหรับฐานข้อมูลแบบเครือข่ายจะมีความแตกต่างดังนี้


Child node จะสามารถมี Parent Node ได้มากกว่า 1 Node
Parent Node สามารถมี Child node ได้มากกว่า 1 Nodeเช่นเดียวกัน

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

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

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

Objects
Classes
Entities
Attributes
Methods


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

Questions for Review

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