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เช่นเดียวกัน
ลักษณะความสัมพันธ์เช่นนี้เรียกว่า "Many to Many Relationship" เป็นผลทำให้ฐานข้อมูลแบบเครือข่ายมีโครงสร้างที่ซับซ้อนมาก จึงยากต่อการเปลี่ยนแปลงโครงสร้าง
ข้อดี :เข้าถึงข้อมูลได้หลายทาง และฐานข้อมูลมีความยืดหยุ่นและมีสมรรถภาพสูง
ข้อเสีย :โครงสร้างมีความซับซ้อนมาก จึงยากต่อการเปลี่ยนแปลงโครงสร้าง
ระบบจัดการฐานข้อมูลแบบลำดับชั้นและแบบเครือข่ายนั้นถือว่าพ้นสมัยไปแล้วเนื่องจากมีความสามารถน้อยกว่าระบบจัดการฐานข้อมูลเชิงสัมพันธ์ ไม่มีความคล่องตัวในการใช้งาน ไม่สามารถสนับสนุนการค้นหาข้อมูลแบบฉับพลัน การอ้างอิงข้อมูลในฐานข้อมูลจะต้องมีกำหนดไว้อย่างชัดเจนและไม่สามารถเปลี่ยนแปลง
- ฐานข้อมูลเชิงวัตถุ (Object Oriented Database):เป็นฐานข้อมูลที่สามารถจัดเก็บข้อมูลและชุดคำสั่งไว้ด้วยกัน และสามารถจัดการข้อมูลในลักษณะต่างๆ เช่น แบบเขียน รูปภาพ เสียง ภาพเคลื่อนไหวได้อย่างมีประสิทธิภาพ ถึงแม้ว่าฐานข้อมูลชนิดนี้จะมีประสิทธิภาพในการจัดเก็บและจัดการ แต่ก็พบว่ายังไม่มีการนำมาใช้งานอย่างแพร่หลายเท่ากับฐานข้อมูลเชิงสัมพันธ์
จัดการฐานข้อมูลแบบอ๊อบเจ็คกำลังได้รับความนิยมในการนำมาใช้งานอย่างกว้างขวางในปัจจุบันเนื่องจากสามารถเก็บข้อมูลที่เป็นอ๊อบเจ็คได้ทุกชนิดรวมทั้งข้อมูลพื้นฐานทั่วไป หรือแม้กระทั่งโค้ด Applet ของภาษาจาวา(JAVA) ที่นำมาใช้ในโปรแกรมประยุกต์บนเว็บ
ระบบจัดการข้อมูลเชิงวัตถุมีองค์ประกอบข้อมูล ดังนี้
- Objects
- Classes
- Entities
- Attributes
- Methods
อย่างไรก็ตาม ระบบจัดการฐานข้อมูลแบบเชิงวัตถุที่สามารถเก็บข้อมูลมัลติมีเดียได้อย่างง่ายดายก็มีข้อบกพร่องในเรื่องความเร็วในการทำงาน นั่นคือเมื่อเปรียบเทียบกันแล้วระบบการจัดการเชิงสัมพันธ์ที่มีการทำงานลักษณะเดียวกันจะสามารถประมวลผลรายการทำงาน(Transaction)ได้เป็นจำนวนมากกว่าในระยะเวลาเท่ากัน แนวทางแก้ไขในปัจจุบันคือการสร้างระบบผสมเรียกว่า Hybrid Object-Relation DBMS ที่นำข้อดีของทั้งสองระบบเข้ามาผสมผสานกันคือสามารถเก็บข้อมูลมัลติมีเดียได้โดยที่มีความคล่องตัวและรวดเร็วของระบบฐานเชิงสัมพันธ์
- ฐานข้อมูลหลายมิติ (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.