วันพุธที่ 5 พฤศจิกายน พ.ศ. 2557

รูปแบบของฐานข้อมูล

รูปแบบของฐานข้อมูล 
        รูปแบบของฐานข้อมูล ในที่นี้หมายถึง ตัวแบบข้อมูล (Data Model) ของฐานข้อมูลชนิดต่าง ๆ ซึ่งมีผู้รู้คิดค้นขึ้นมา
        ก่อนอื่นเราควรต้องทราบความหมายของคำว่า ข้อมูลก่อน
        ข้อมูล คือ ข้อเท็จจริงที่ให้มา ซึ่งสามารถอนุมานข้อเท็จจริงเพิ่มเติมขึ้นมาได้ (“Data” refers to given facts from which additional facts can be inferred.)
         ข้อเท็จจริงที่ให้มา คือ ประพจน์ที่เป็นจริงเชิงตรรกศาสตร์ (“Given fact” is a logically true proposition.) ดังนั้น ความหมายฐานข้อมูลในมุมมองนี้ ก็คือ ชุดของประพจน์ที่เป็นจริงดังกล่าว (A database is a collection of such true propositions.)
        ตัวแบบข้อมูล เป็นคำจำกัดความเชิงตรรกะ เป็นนามธรรม บริบูรณ์ในตัวเอง ของวัตถุ ตัวกระทำทางคณิตศาสตร์ และ ฯลฯ ซึ่งรวมกันแล้วประกอบเข้าเป็นเครื่องจักรนามธรรมที่ผู้ใช้โต้ตอบได้ วัตถุดังกล่าวทำให้เราสามารถจำลองโครงสร้างข้อมูลได้ ส่วนตัวกระทำทางคณิตศาสตร์ทำให้เราสามารถจำลองพฤติกรรมของมันได้ (Data Model is an abstrach, self –contained, logical definition of the objects, operators, and so forth, that together constitute the abstract machine with which users interact. The objects allow us to model the structure of data. The operators allow us to model its behaviour.)
        ตัวแบบข้อมูล เป็นเหมือนภาษาในการเขียนโปรแกรม แม้ว่าค่อนข้างจะเป็นนามธรรม แต่โครงสร้างของมันสามารถใช้แก้ปัญหาได้ (Data Model is like a programming language-albeit one that is somewhat abstract – whose constructs con be used to solve problems.)

ตัวแบบข้อมูลมี 3 ประเภทที่สำคัญ คือ
  • ตัวแบบเชิงสัมพันธ์ (Relational Model)
  • ตัวแบบเครือข่าย (Network Model)
  • ตัวแบบลำดับชั้น หรือแตกสาขา(Hierarchic Model)
        1. ตัวแบบเชิงสัมพันธ์ (จะกล่าวถึงละเอียดในบทต่อไป) ผู้ใช้ทั่วไปจะมองเห็นตัวแบบเชิงสัมพันธ์ว่า คือ การเก็บข้อมูลเป็นตาราง (Table) หรือถ้าเรียกอย่างเป็นทางการตามทฤษฎีทางคณิตศาสตร์ก็คือ รีเลชั่น (Relation) นั่นเอง ลักษณะของตารางจะมี 2 มิติ คือ แถว (Row) และคอลัมน์ (Column)โดยเอ็นทิตี้ (Entity) ต่าง ๆ จะมีข้อมูลถูกนำมาจัดเก็บในลักษณะเป็นตาราง กล่าวคือ จะไม่มีแฟ้มข้อมูลแม่หรือแฟ้มข้อมูลลูก แฟ้มข้อมูลแต่ละส่วนเป็นอิสระต่อกัน ตัวอย่างผลิตภัณฑ์ระบบบริหารฐานข้อมูลเชิงสัมพันธ์เรียงตามลำดับอักษร ได้แก่
        DB2 (มีหลายรุ่น) ของบริษัท IBM Corp.
        Ingres II ของบริษัท Computer Associates International Inc.
        Informix Dynamic Server ของบริษัท Informix Software Inc.       
        Microsoft SQL Server ของบริษัท Microsoft Corp.           
        Oracle 8i ของบริษัท Oracle Corp.และ
        Sybase Adaptive Server ของบริษัท Sybase Inc.
        2.  ตัวแบบเครือข่าย บางที่เรียกว่า CODASYL Systems หรือ DBTG Systems ตามชื่อคณะทำงานที่เสนอแนะ กล่าวคือ กลุ่มงานฐานข้อมูลแห่งการประชุมว่าด้วยเรื่องภาษาระบบฐานข้อมูล(the Data Base Task Group of the conference on Data Systems Languages) ตัวอย่างเช่น ระบบ IDMS ของบริษัท Computer Associates International Inc. ตัวแบบเครือข่ายนี้ไม่ได้เกี่ยวข้องกับเรื่องการสื่อสารข้อมูล (Data Communication) แต่อย่างใด โดยตัวแบบนี้ในแง่การมองของผู้ใช้จะเป็นไปในรูปของการรวบรวม ระเบียนต่าง ๆ และความสัมพันธ์ระหว่างระเบียน ความแตกต่างที่เห็นได้ชัดเจนระหว่างตัวแบบเชิงสัมพันธ์และแบบเครือข่าย คือ ในตัวแบบเชิงสัมพันธ์จะแฝง (Implicit) การแสดงความสัมพันธ์เอาไว้ (หมายความว่า ระเบียนที่มีความสัมพันธ์กันจะต้องมีค่าของข้อมูลในเขตข้อมูลใด เขตข้อมูลหนึ่งเหมือนกัน) ส่วนการแสดงความสัมพันธ์ในตัวแบบเครือข่ายจะเป็นไปอย่างโจ่งแจ้ง (Explicit) คือ แสดงได้ในโครงสร้างอย่างชัดเจน ตัวอย่างเช่น
                                                                                                                                         



        ในรูปจะเห็นว่า กรอบสี่เหลี่ยมแสดงถึงชนิดของระเบียนในฐานข้อมูลซึ่งจะมี 1 อันต่อ 1 Entity เครื่องหมายลูกศรแสดงถึงความสัมพันธ์ ซึ่งในรูปนี้แสดงความสัมพันธ์แบบหนึ่งต่อกลุ่ม โดยที่หัวลูกศรจะออกจากส่วนของ หนึ่งไปยังส่วนของ กลุ่ม
        วิธีการค้นหาข้อมูลที่ต้องการ จะใช้หัวลูกศรเป็นแนวทาง ซึ่งอาจวิ่งทวนทิศทางกับหัวลูกศรก็ได้ เช่น ถ้าต้องการแสดงรายชื่อของอาจารย์ที่ทำงานอยู่แผนกวิชาที่ 4 ก็เริ่มด้วยการออกคำสั่งแก่ระบบจัดการฐานข้อมูลไห้ค้นหาแผนกที่ 4 ก่อน จากระเบียนของแผนกวิชา จากนั้นให้วิ่งตามลูกศรซึ่งจะเชื่อม (Link) ข้อมูลของแผนกที่ 4 นี้เข้ากับข้อมูลในส่วนของอาจารย์ ซึ่งได้แก่บรรดาระเบียนของอาจารย์ที่ทำงานอยู่แผนกที่ 4 สังเกตว่า ในการค้นหานี้เราจะค้นโดยใช้ลูกศร หรือทางเชื่อมในการโยงความสัมพันธ์ ดังนั้นเราจึงไม่จำเป็นต้องเก็บเขตข้อมูลรหัสแผนกไว้ในระเบียนของอาจารย์อย่างในตัวแบบเชิงสัมพันธ์
     1.ตัวแบบแตกสาขา หรือตัวแบบลำดับ ตัวแบบนี้พัฒนาขึ้นโดยไอบีเอ็ม เมื่อปี พ.ศ. 2511 ตัวอย่างเช่น ระบบ IMS ของ IBM มีความสัมพันธ์ระหว่างแฟ้มข้อมูลเป็นระดับชั้นหรือตามอาวุโส แฟ้มข้อมูลจะมีตำแหน่งจากบนลงล่าง โดยแฟ้มที่อยู่ในระดับที่สูงกว่าจะเป็นแม่ของแฟ้มที่อยู่ในระดับต่ำกว่า ข้อสังเกต คือ แฟ้มหนึ่งจะมีแฟ้มข้อมูลลูก (Child File) ได้หลายแฟ้ม ขณะที่แฟ้มลูกจะมีแฟ้มแม่เพียงแฟ้มเดียว เมื่อมองในลักษณะนี้จะเห็นว่าตัวแบบนี้มีโครงสร้างเหมือนต้นไม้ (Tee) ซึ่งอันที่จริงตัวแบบนี้คล้ายแบบเครือข่าย แต่ต่างกันตรงที่ ตัวแบบแตกสาขามีกฎเกณฑ์เพิ่มขึ้นมาอีก 1 ข้อ คือ ในแต่ละกรอบจะมีหัวลูกศรวิ่งเข้าหาได้ไม่เกิน 1 หัว จากตัวอย่างในภาพของตัวแบบเครือข่าย จะเห็นว่ากรอบอาจารย์มีลูกศรเข้ามา 2 ทาง ดังนั้น เราจะสร้างฐานข้อมูลเดียวกันนี้ด้วยตัวแบบแตกสาขาไม่ได้ แต่ต้องเปลี่ยนแปลงให้เหมาะสม เช่น

        นอกจากนั้น ยังมีลักษณะอีกประการหนึ่งที่สองตัวแบบหลังนี้แตกต่างจากตัวแบบเชิงสัมพันธ์ ก็คือ ในตัวแบบลำกับชั้น และตัวแบบเครือข่ายนั้น จะมีการใช้ตัวชี้  (Pointers) เพื่อแทนเส้นทางขึ้นลงไปตามแผนภาพต้นไม้สำหรับตัวแบบลำดับชั้น และแทนเส้นทางเชื่อมต่อในแผนภาพเครือข่ายของตัวแบบเครือข่าย แต่ในตัวแบบเชิงสัมพันธ์จะไม่มีการเกี่ยวข้องกับตัวชี้ดังกล่าวเลย (C.J. Date, 2000, p. 26)
        นอกจากตัวแบบทั้ง 3 ดังกล่าวแล้ว เมื่อไม่นานมานี้เริ่มมีผลิตภัณฑ์ระบบบริหารฐานข้อมูลแบบใหม่ปรากฏขึ้นมาบ้าง คือ
  • ระบบบริหารฐานข้อมูลเชิงวัตถุ (Object DBMS) เช่น Gemstone ของบริษัท Gemstone Systems Inc.และ Versant ODBMS ของบริษัท Versant Object Technology
  • ระบบบริหารฐานข้อมูลแบบผสมระหว่างเชิงวัตถุและเชิงสัมพันธ์ (Object/Relational DBMS) ตัวอย่างเช่น DB2 และ Informix

ในตำราเล่มนี้จะไม่กล่าวถึงระบบฐานข้อมูลเชิงวัตถุ (Object-oriented Database Systems)
ไปกว่านี้ แม้ว่าจะจัดเป็นตัวแบบหนึ่งของระบบฐานข้อมูล เนื่องจากเป็นเรื่องที่ยังใหม่และอยู่นอกเหนือขอบเขต
ระบบฐานข้อมูล
        ระบบฐานข้อมูล (Database System) เป็นคำประสมระหว่างคำว่า ระบบ” (System) กับคำว่า ฐานข้อมูล” (Database) มีความหมายและองค์ประกอบดังต่อไปนี้

ไม่มีความคิดเห็น:

แสดงความคิดเห็น