วันจันทร์ที่ 1 เมษายน พ.ศ. 2556

ความรู้เบื้องต้นเกี่ยวกับระบบฐานข้อมูล 4

ตอนที่ 1.4 แนวคิดฐานข้อมูลแบบต่างๆ




            เรื่องที่ 1.4.1ฐานข้อมูลแบบ Hierarchical Data Model

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


             1.คุณสมบัติหลักของฐานข้อมูล

คุณสมบัติหลักของฐานข้อมูลไม่ว่าจะเป็นฐานข้อมูลใดๆ ทั้งฐานข้อมูลแบบไฮราคี ฐานข้อมูลแบบเครือข่าย ฐานข้อมูลแบบออบเจกต์ ฐานข้อมูลแบบสัมพันธ์ หรือฐานข้อมูลแบบอื่นๆ จะมีคุณสมบัติหลัก ดังต่อไปนี้ คือ
             1.1 โครงสร้างข้อมูล (data structures) คือโครงสร้างข้อมูลระดับตรรกะที่โปรแกรมประยุกต์เห็นเป็นการบอกว่าฐานข้อมูลนั้นๆ มีโครงสร้างข้อมูลเป็นอย่างไร
            1.2 กฎควบคุมความถูกต้อง (integrity constraint) เป็นการบอกว่าโครงสร้างข้อมูลนั้นมีกฎบังคับความถูกต้องอย่างไร
            1.3 ภาษาจัดการข้อมูล (data manipulation language) เป็นการบอกว่ามีภาษาจัดการข้อมูลบนโครงสร้างข้อมูลเป็นอย่างไร

            2.ประเภทของฐานข้อมูล

            ฐานข้อมูลที่รู้จักกันในปัจจุบันมีด้วยกัน 4 ประเภท คือ ฐานข้อมูลแบบเครือข่าย (hierarchical model) ฐานข้อมูลแบบลำดับชั้น (hierarchy model) ฐานข้อมูลแบบสัมพันธ์ (relational model) และฐานข้อมูลแบบจำลองเชิงวัตถุ (object oriented model) ฐานข้อมูลมีการนำเสนอต่อเนื่องมาเป็นระยะๆ ฐานข้อมูลที่ประสบความสำเร็จและมีผู้ใช้ในวงการธุรกิจเริ่มจากฐานข้อมูลแบบแรก คือ ฐานข้อมูลแบบลำดับชั้นหรือไฮราคี ถัดมาคือฐานข้อมูลแบบเครือข่าย และฐานข้อมูลที่มีการใช้กันมากที่สุดในปัจจุบัน คือ ฐานข้อมูลแบบสัมพันธ์ และปัจจุบันนี้มีฐานข้อมูลสมัยใหม่เกิดขึ้นคือฐานข้อมูลแบบออบเจกต์ นั่นคือฐานข้อมูลนั้นมีการนำเสนอข้อมูลและความสัมพันธ์ระหว่างข้อมูลที่แตกต่างกันไป ซึ่งการนำเสนอในฐานข้อมูลแบบสัมพันธ์หรือรูปแบบตารางเป็นที่นิยมใช้กันแพร่หลายมากที่สุด

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




              

              3. ฐานข้อมูลแบบลำดับชั้น (hierarchical data model)

คิดขึ้นโดยบริษัทไอบีเอ็ม เป็นฐานข้อมูลที่นำเสนอข้อมูลและความสัมพันธ์ระหว่างข้อมูลในรูปแบบของ โครงสร้างต้นไม้ (tree structure) เป็นโครงสร้างลักษณะคล้ายต้นไม้เป็นลำดับชั้น ซึ่งแตกออกเป็นกิ่งก้านสาขา ผู้ที่คิดค้นฐานข้อมูลแบบนี้คือ North American Rockwell เพื่อต้องการให้เป็นฐานข้อมูลที่สมารถกำจัดความซ้ำซ้อน (Data Redundancy) โดยใช้แนวความคิดของโปรแกรมที่ชื่อว่า Generalized Update Access Method (GUAM)



             3.1 โครงสร้างของฐานข้อมูลแบบลำดับชั้น
             1)ลักษณะโครงสร้างระบบฐานข้อมูลที่ใช้รูปแบบนี้จะมีโครงสร้างของข้อมูลเป็นลักษณะความสัมพันธ์แบบพ่อลูก คือ พ่อ (parent) 1 คนมีลูก (child) ได้หลายคน แต่ลูกมีพ่อได้คนเดียว (นั่นคือเป็นความสัมพันธ์แบบ 1 ต่อ n) หรือแบบพ่อคนเดียวมีลูก 1 คน (นั่นคือเป็นความสัมพันธ์แบบ 1ต่อ 1) ซึ่งจัดแยกออกเป็นลำดับชั้น โดยในระดับชั้นที่ 1 จะมีเพียงแฟ้มข้อมูลเดียวนั่นคือมีพ่อคนเดียว ใน ระดับที่ 2 จะมีกี่แฟ้มข้อมูลก็ได้ ในทำนองเดียวกันระดับ 2 ก็จะมีความสัมพันธ์กับระดับ 3 เหมือนกับ ระดับ 1 กับระดับ 2 โดยในโครงสร้างข้อมูลแบบลำดับชั้นแต่ละกรอบจะมีตัวชี้ (pointers) หรือ หัวลูกศรวิ่งเข้าหาได้ไม่เกิน 1 หัว จากตัวอย่างดังนี้


ภาพที่ 1.3 แสดงโครงสร้างฐานข้อมูลแบบลำดับขั้น


             จากฐานข้อมูลแบบลำดับชั้นจะมีปัญหาถ้าความสัมพันธ์ของข้อมูลเป็นแบบลูกมีพ่อได้หลายคน จะใช้โครงสร้างฐานข้อมูลแบบลำดับชั้นไม่ได้ เช่น ความสัมพันธ์ระหว่างลูกจ้างกับงานที่ทำ งานชิ้นหนึ่งอาจทำโดยลูกจ้างหลายคนได้ โครงสร้างฐานข้อมูลแบบลำดับชั้นจะไม่สามารถออกแบบลักษณะข้อมูลแบบนี้ได้ ปัญหาเช่นนี้ทำให้ไม่ค่อยมีผู้นิยมใช้ ฐานข้อมูลแบบลำดับชั้น เนื่องจากความสัมพันธ์ของข้อมูลที่จะเก็บไว้ในฐานข้อมูลเป็นแบบพ่อ-ลูกเท่านั้น

            2) กฎควบคุมความถูกต้อง คือ เรคอร์ดพ่อสามารถมีเรคอร์ดลูกได้หลายเรคอร์ด แต่เรคอร์ดลูกแต่ละเรคอร์ดจะมีเรคอร์ดพ่อได้เพียงเรคอร์ดเดียวเท่านั้น จากรูปแบบบฐานข้อมูลแบบลำดับชั้น จะมีปัญหา ถ้าความสัมพันธ์ของข้อมูลเป็นแบบเรคอร์ดลูก 1 เรคอร์ดมีพ่อได้หลายเรคอร์ด จะใช้โครงสร้างฐานข้อมูลแบบลำดับชั้นไม่ได้ เช่นความสัมพันธ์ระหว่างลูกจ้างกับงานที่ทำ งานชิ้นหนึ่งอาจทำโดยลูกจ้างหลายคนได้ โครงสร้างฐานข้อมูลแบบลำดับชั้น จะไม่สามารถออกแบบลักษณะข้อมูลแบบนี้ได้ปัญหาเช่นนี้ทำให้ไม่มีผู้นิยมใช้

            3) การจัดการ รูปของโครงสร้างต้นใช้ภาษาปฏิบัติการทีละเรคอร์ด ตัวอย่างของภาษาปฎิบัติ
การของฐานข้อมูลนี้ ได้แก่ IMS/VS






            4.) ลักษณะเด่นและข้อจำกัดของการจัดการฐานข้อมูลแบบลำดับชั้น
            4.1 ลักษณะเด่น
           - เป็นระบบฐานข้อมูลที่มีระบบโครงสร้างซับซ้อนน้อยที่สุด
           - มีค่าใช้จ่ายในการจัดสร้างฐานข้อมูลน้อย
           - ลักษณะโครงสร้างเข้าใจง่าย
           - เหมาะสำหรับงานที่ต้องการค้นหาข้อมูลแบบมีเงื่อนไขเป็นระดับและออกงานแบบเรียงลำดับต่อเนื่อง
           - ป้องกันระบบความลับของข้อมูลได้ดี เนื่องจากต้องอ่านแฟ้มข้อมูลที่เป็นต้นกำเนิดก่อน
     
          4.2 ข้อจำกัด
          - มีโอกาสเกิดความซ้ำซ้อนมากที่สุดเมื่อเทียบกับระบบฐานข้อมูลแบบโครงสร้างอื่น
          - ขาดความสัมพันธ์ระหว่างแฟ้มข้อมูลในรูปเครือข่าย
          - มีความคล่องตัวน้อยกว่าโครงสร้างแบบอื่น ๆ เพราะการเรียกใช้ข้อมูลต้องผ่านทางต้นกำเนิด (root) เสมอ ถ้าต้องการค้นหาข้อมูลซึ่งปรากฏในระดับล่าง ๆ แล้วจะต้องค้นหาทั้งแฟ้ม



          เรื่องที่ 1.4.2 ฐานข้อมูลแบบ Network Data Model

          1. โครงสร้างของฐานข้อมูลแบบเครือข่าย

         ลักษณะโครงสร้างระบบฐานข้อมูลแบบเครือข่ายจะมีโครงสร้างของข้อมูลแต่ละแฟ้มข้อมูลมีความสัมพันธ์คล้ายร่างแห โดยมีลักษณะโครงสร้างคล้ายกับโครงสร้างแบบลำดับชั้น มีข้อแตกต่างที่ว่าโครงสร้างแบบเครือข่ายสามารถยินยอมให้ระดับชั้นที่อยู่เหนือกว่าจะมีได้หลายแฟ้มข้อมูลถึงแม้ว่าระดับชั้นถัดลงมาจะมีเพียงแฟ้มข้อมูลเดียว เปรียบเสมือนมีความสัมพันธ์แบบลูกจ้างกับงานที่ทำ โดยงานชิ้นหนึ่งอาจทำโดยลูกจ้างหลายคน (m ต่อ n) ดังนี้


ภาพที่1.4 แสดงโตรงสร้างของฐานข้อมูลแบบเครือข่าย


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


           2. กฏการควบคุม

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



         3.ภาษาการจัดการ

         ใช้ภาษาปฏิบัติการทีละเรคอร์ดจัดการกับฐานข้อมูล ตัวอย่าง ระบบปฏิบัติการรูปแบบภาษาของระบบจัดการฐานข้อมูลแบบเครือข่าย ได้แก่ IDMS



         4.ลักษณะเด่นและข้อจำกัดระบบโครงสร้างแบบเครือข่าย

         4.1 ลักษณะเด่น
         เหมาะสำหรับงานที่แฟ้มข้อมูลมีความสัมพันธ์แบบเครือข่าย
         มีโอกาสเกิดความซ้ำซ้อนของข้อมูลน้อยกว่าโครงสร้างแบบลำดับชั้น
         การค้นหาข้อมูลมีเงื่อนไขได้มากและกว้างกว่าโครงสร้างแบบลำดับชั้น
     
         4.2 ข้อจำกัด
         โครงสร้างแบบเครือข่ายเป็นโครงสร้างที่ง่ายไม่ซับซ้อน จึงทำให้ป้องกันความลับของข้อมูลได้ยากมีค่าใช้จ่ายและสิ้นเปลืองพื้นที่ในหน่วยความจำเพราะจะเสียพื้นที่ในอุปกรณ์เก็บข้อมูลสำหรับตัวบ่งชี้มาก
          ถ้าความสัมพันธ์ของระเบียนประเภทต่าง ๆ เกิน 3 ประเภท จะทำให้การออกแบบโครงสร้างแบบเครือข่ายยุ่งยากซับซ้อน
          นอกจากฐานข้อมูลที่กล่าวไปแล้วในปัจจุบันยังมี ฐานข้อมูลแบบออบเจกต์ (object-oriented data
model) ที่ได้มีการคิดค้นและพัฒนากันในปัจจุบัน โดยฐานข้อมูลแบบนี้จะถูกนำเสนอข้อมูลและความสัมพันธ์ระหว่างข้อมูลในรูป ออบเจกต์ (object) สำหรับฐานข้อมูลแบบออบเจกต์นั้นหน่วยงานธุรกิจในปัจจุบันนี้ยังไม่มีการใช้ ยังต้องมีการค้นคว้าและวิจัยต่อไปเพื่อที่จะสร้างฐานข้อมูลแบบออบเจกต์




            เรื่องที่ 1.4.3 ฐานข้อมูลแบบ Relational Data Model

            ฐานข้อมูลแบบสัมพันธ์ (Relational Model) แบ่งออกเป็น 3 ส่วนคือ โครงสร้างข้อมูล (data structure) การควบคุมความถูกต้องให้กับข้อมูล (data integrity) และการจัดการกับข้อมูล (data
manipulation)

ภาพที่1.5 โครงสร้างของฐานข้อมูลแบบสัมพันธ์


             1.โครงสร้างข้อมูล (Data Structure)

             โครงสร้างของฐานข้อมูลแบบสัมพันธ์เป็นการนำเสนอข้อมูลและความสัมพันธ์ระหว่างข้อมูลในรูป รีเลชัน (relation) Relation จะถูกเรียกอีกอย่างหนึ่งว่าตาราง(Table) โครงสร้างของ Relationประกอบด้วย
             1.1 แถว (Row) ของข้อมูล (body) แถวข้อมูล 1 แถว (body) หมายถึงข้อมูล 1 รายการ ซึ่งแต่
ละแถวของ Relation เรียกว่า “Tuple” Tuple คือ แถวข้อมูลในตาราง โดยแต่ละแถวของข้อมูลจะประกอบไปด้วยหลาย Attribute หรือคอลัมน์ของข้อมูล จำนวนแถวข้อมูลในตารางเราเรียกว่า Cardinality และจำนวน attributes ทั้งหมดในตารางเราเรียกว่า Degree
            1.2 สดมภ์ (Column) แต่ละสดมภ์ของ Relation ได้แก่คุณลักษณะของข้อมูลในแต่ละแถวซึ่งเราเรียกว่า “Attribute” เช่น ตัวอย่าง relation S สำหรับเก็บรายละเอียดของ suppliers ประกอบด้วย รหัส ชื่อสถานะ และเมือง ซึ่ง relation ดังกล่าวจะประกอบไปด้วย 5 tuples โดยแต่ละ tuples ประกอบไปด้วย 4
attribute โดยภายในคอลัมน์จะประกอบด้วย
            โดเมน (Domain) เป็นการกำหนดขอบเขตค่าข้อมูลและชนิดข้อมูลของแต่ละ attribute ที่เป็นไปได้ทั้งหมด เช่นจากรูป domain ของ S# คือกลุ่มของรหัส suppliers ทั้งหมด ได้แก่ S1, S2, S3, S4 และ S5 และ กำหนดว่า STATUS ของตาราง S จะต้องมีค่าเป็น 10, 20 และ 30 เท่านั้น หรือ S# จะต้องมีค่าเป็น S1,S2, S3, S4 และ S5 เท่านั้น และ CITY ของ suppliers ทั้งหมดจะต้องเป็น ปทุมธานี นนทบุรี และกรุงเทพฯเท่านั้น เป็นต้น 
            คีย์หลัก(Primary key) เป็น attribute หรือกลุ่มของ attribute ที่บ่งบอกว่าข้อมูลจะต้องไม่ซ้ำกันในแต่ละแถวข้อมูลของตาราง

           2. การควบคุมความถูกต้องให้กับข้อมูล (data integrity)

          ในฐานข้อมูลแบบสัมพันธ์ มีกฎการควบคุมความถูกต้องของข้อมูลดังนี้

           2.1 Tuple มีข้อมูลไม่ซ้ำกัน เนื่องจาก Relation ในโครงสร้างข้อมูลแบบสัมพันธ์อยู่ในรูปแบบของเซตทางคณิตศาสตร์ โดยภายในเซตจะต้องประกอบไปด้วยสมาชิกที่ไม่ซ้ำกัน ดังนั้น Relation R ใดๆต้องมี attribute ใด attribute หนึ่งที่ทำให้แต่ละ tuple ใน relation มีข้อมูลไม่ซ้ำกัน เช่น Relation CUSTOMER เป็น relation ที่เก็บประวัติของลูกค้าบัญชีเงินกู้ของธนาคาร และประกอบไปด้วย เลขที่บัตรประชาชน ชื่อ นามสกุล และ ที่อยู่ของลูกค้า ซึ่งจะเห็นว่าข้อมูลลูกค้ามีชื่อและนามสกุลซ้ำกัน คือปรากฎลูกค้าชื่อ สมบัติ นามสกุล มิมำพันธ์ จำนวน 2 tuple แต่มี attribute เลขที่บัตรประชาขน (CITIZEN_ID) เป็นสิ่งที่บ่งบอกให้รู้ว่าลูกค้าทั้งสองคนเป็นคนละคนกัน


           2.2 Tupleไม่มีลำดับจากบนลงล่าง เนื่องจาก body Relation ในโครงสร้างข้อมูลแบบสัมพันธ์อยู่ในรูปแบบของเซตทางคณิตศาสตร์ โดยภายในเซตจะต้องประกอบไปด้วยสมาชิกที่ไม่มีลำดับ
           2.3 Attribute ไม่มีลำดับจากซ้ายไปขวา เนื่องจาก heading ของ Relation ในโครงสร้างข้อมูลแบบสัมพันธ์อยู่ในรูปแบบของเซตทางคณิตศาสตร์ โดยภายในเซตจะต้องประกอบไปด้วยสมาชิกที่ไม่มีลำดับ

           2.4 ค่าของ attribute ทุกค่าจะต้องเป็น atomicity เนื่องจาก Domain มีเฉพาะค่าที่เป็น atomic เท่านั้น ดังนั้นทุก attribute ในแต่ละตำแหน่งของ tuple ใน relation จะมีค่าเพียงค่าเดียว จะไม่มีรายการของข้อมูล (repeating group หรือ list of value หรือ array) ใน relation นั่นคือ relation ต้องผ่านขั้นตอนการเพิ่มประสิทธิภาพของข้อมูล (Normalization) ตัวอย่างเช่น Relation SP ก่อนทำการเพิ่มประสิทธิภาพของข้อมูลค่าของข้อมูลในแต่ละ Tuple จะมีลักษณะของรายการข้อมูล (repeating group) หลังจากทำการเพิ่มประสิทธิภาพของข้อมูลในตารางแล้ว ค่าข้อมูลในแต่ละ Tuple ไม่มีรายการข้อมูลอีก




            2.5 กำหนด Domain ให้กับข้อมูล จะมีข้อกำหนดว่าค่าที่กำหนดให้กับข้อมูลจะต้องเป็นค่า Scalar นั่นคือจะต้องเป็นค่าข้อมูลที่มีความหมายและเป็นหน่วยเล็กที่สุด ไม่สามารถแบ่งแยกออกไปได้อีก เช่นเลขที่เงินกู้ 014100001 สามารถแบ่งออกเป็น รหัสสาขา รหัสปียื่นกู้ และลำดับบัญชีเงินกู้ เป็นต้น หรือที่อยู่สามารถแบ่งย่อยออกไปเป็น เลขที่บ้าน ตำบล อำเภอ จังหวัด ฯลฯ ดังนั้น เลขที่เงินกู้ และที่อยู่ ไม่มีค่าเป็น Scalar เพราะยังสามารถแบ่งย่อยออกไปได้อีก แต่ รหัส supplier (S#) มีค่าเป็น S1 ซึ่งแบ่งย่อยอีกไม่ได้เพราะฉะนั้น S1 มีค่าเป็น Scalar ค่าข้อมูลที่เก็บในฐานข้อมูลที่มีค่าเป็น Scalar นี้เราจะเรียกว่ามีคุณลักษณะของ atomicity ข้อมูลที่สามารถนำมากำหนด Domain ได้ จะต้องเป็นข้อมูลที่เป็นอิสระจากข้อมูลอื่นเช่น relation S ,P และ SP ดังรูปข้างล่างนี้ รหัส ชื่อ สถานะ และเมืองของ supplier เป็นข้อมูลที่อิสระจากข้อมูลอื่น ในทำนองเดียวกับ รหัส ชื่อ สี น้ำหนัก และเมืองของ relation part เป็นข้อมูลที่เป็นอิสระจากข้อมูลอื่น แต่ relation SP รหัสตัวแทนจำหน่าย(S#) ค่าที่กำหนดขึ้นมาเป็นไปตามรหัสตัวแทนจำหน่าย (S#) ของ relation S และรหัสวัสดุ (P#) ค่าที่กำหนดขึ้นมาเป็น ไปตามรหัสวัสดุ (P#) ของ relation P ดังนั้นทั้งสอง attribute จึงไม่สามารถนำมากำหนด domain ของ relation SP ได้





             2.6 ข้อมูลจะต้องเป็นข้อมูลชนิดเดียวกัน เช่น ถ้าค่าข้อมูลของ COLOR ใน relation P มีค่าที่เป็นไปได้คือ “สีฟ้าน้ำทะเล” “สีฟ้าอ่อน” หรือ “น้ำตาล” แต่ถ้าเรากำหนดให้ค่าของ COLOR สามารถเป็น 1 สำหรับสีฟ้าน้ำทะเล หรือ 2 สำหรับสีฟ้าอ่อน และ 3 สำหรับสีน้ำตาล โดยค่าข้อมูลของ attribute COLOR สามารถบันทึกค่าข้อมูลได้ทั้งสองแบบแล้ว เราไม่สามารถกำหนด Domain ได้เพราะค่าข้อมูลมีชนิดเป็นได้ทั้ง string และ เลขจำนวนเต็ม ในเวลาเดียวกันไม่ได้


            3.การจัดการข้อมูล

           ภาษาฐานข้อมูล (structured query language, SQL) เป็นภาษาที่ใช้กันอย่างแพร่หลายมีลักษณะคล้ายกับภาษาอังกฤษ ใช้ในการปฏิบัติงานและควบคุมฐานข้อมูล ในภาษาฐานข้อมูลจะมีคำสั่งดังนี้การสร้างตาราง สามารถทำด้วยคำสั่ง CREATE TABLE คำสั่งสอบถามข้อมูลพื้นฐานเป็นการสอบถามข้อมูลหรือ query


           คำสั่งการป้อนข้อมูลเพิ่มลงสู่ตารางเราสามารถปรับปรุงเปลี่ยนแปลงแก้ไขข้อมูลที่มีอยู่แล้วในตารางได้ด้วยคำสั่ง UPDATE นอกจากการแก้ไขข้อมูลด้วยคำสั่ง DELETE เราสามารถสอบถามข้อมูลครั้งหนึ่งจากตารางได้มากกว่าหนึ่งตาราง โดยใช้โครงสร้างของ SQL ที่เรียกว่า joining คำสั่งใน SQL สามารถกำหนดความปลอดภัยในการควบคุมการเข้าถึงข้อมูลในฐานข้อมูลได้ โดยคำสั่ง GRANT เป็นการกำหนดสิทธิมอบอำนาจให้สามารถเข้าถึงข้อมูล REVOKE เป็นการเรียกสิทธิอำนาจคืนจากการกำหนดมอบสิทธิด้วยคำสั่ง GRANT








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



           4.ลักษณะเด่นและข้อจำกัดของการจัดการฐานข้อมูลแบบสัมพันธ์
           4.1 ลักษณะเด่น
                1) เหมาะกับงานที่เลือกดูข้อมูลแบบมีเงื่อนไขหลายคีย์ฟิลด์ข้อมูล
                2) ป้องกันข้อมูลถูกทำลายหรือแก้ไขได้ดี เนื่องจากโครงสร้างแบบสัมพันธ์นี้ผู้ใช้จะไม่ทราบว่าการเก็บข้อมูลในฐานข้อมูลอย่างแท้จริงเป็นอย่างไร จึงสามารถป้องกันข้อมูลถูกทำลายหรือถูกแก้ไขได้ดี
               3) การเลือกดูข้อมูลทำได้ง่าย มีความซับซ้อนของข้อมูลระหว่างแฟ้มต่าง ๆ น้อยมาก อาจมี
การฝึกฝนเพียงเล็กน้อยก็สามารถใช้ทำงานได้

         4.2 ข้อจำกัด
              1)มีการแก้ไขปรับปรุงแฟ้มข้อมูลได้ยากเพราะผู้ใช้จะไม่ทราบการเก็บข้อมูลในฐานข้อมูลอย่างแท้จริงเป็นอย่างไร

             2)มีค่าใช้จ่ายของระบบสูงมากเพราะเมื่อมีการประมวลผลคือ การอ่าน เพิ่มเติม ปรับปรุงหรือยกเลิกระบบจะต้องทำการสร้างตารางขึ้นมาใหม่ ทั้งที่ในแฟ้มข้อมูลที่แท้จริงอาจจะมีการเปลี่ยนแปลงเพียงเล็กน้อย แต่ต้องมาปรับแต่งตารางใหม่ให้ผู้ใช้แฟ้มข้อมูลนั้นถูกใช้ในรูปของตารางที่ดูง่ายสำหรับผู้ใช้


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














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

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