แสดงบทความที่มีป้ายกำกับ data แสดงบทความทั้งหมด
แสดงบทความที่มีป้ายกำกับ data แสดงบทความทั้งหมด

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


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














วันอาทิตย์ที่ 31 มีนาคม พ.ศ. 2556

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

  ตอนที่ 1.3 สถาปัตยกรรมของระบบฐานข้อมูล



           

 เรื่องที่ 1.3.1 ระดับของข้อมูล ในระบบฐานข้อมูล

           

              1. ระดับชั้นของระบบจัดการฐานข้อมูล

              ระบบฐานข้อมูล เป็นการนำข้อมูลในองค์การที่มีความเกี่ยวข้องกันมารวมไว้อย่างเป็นระบบในที่เดียวกัน โดยที่ผู้ใช้ฐานข้อมูลจะมองข้อมูลนี้ในแง่มุมหรือวิวที่แตกต่างกันไปตามจุดประสงค์ของการประยุกต์ใช้งาน โดยผู้ใช้ไม่จำเป็นต้องสนใจว่าลักษณะการจัดเก็บข้อมูลโดยแท้จริงแล้วเป็นเช่นไร โดยระบบฐานข้อมูลจะทำการซ่อนรายละเอียดไว้ โดยจัดแบ่งระดับของข้อมูลออกเป็นระดับชั้น
               ระดับชั้นของข้อมูลถูกพัฒนาขึ้นโดย The Standards Planing and Requiremenst Committee (SPARC) ของ American National Standards institure (ANSI) จะถูกแบ่งออกเป็น 4 ระดับ
              1.1 ระดับภายนอก (external level) เป็นระดับที่อยู่สูงสุดโดยผู้ใช้สามารถมองเห็นงานของผู้ใช้แต่ละคน และสามารถเรียกใช้ฐานข้อมูลได้ในระดับนี้
              1.2 ระดับหลักการ (conceptual level) เป็นระดับที่อยู่ถัดขึ้นมาได้แก่ ระดับของการมองแฟ้มข้อมูลของระบบฐานข้อมูลรวมทั้งกฎเกณฑ์ต่าง ๆ เกี่ยวกับข้อมูลและผู้ที่มีสิทธิจะใช้ ข้อมูลในระดับนี้จะถูกใช้โดยโปรแกรมเมอร์หรือผู้เขียนโปรแกรม
              1.3 ระดับภายใน (internal level) เป็นระดับของการจัดความสัมพันธ์ระหว่างแฟ้มข้อมูลของระบบฐานข้อมูลและการเชื่อมโยงแต่ละแฟ้มข้อมูล ข้อมูลในระดับนี้จะถูกใช้โดยผู้จัดการฐานข้อมูลและผู้เขียนโปรแกรมระบบ (system programmer)
             1.4 ระดับโครงสร้างแท้จริง (physical organization level) เป็นระดับที่ต่ำที่สุดอันได้แก่ กลุ่มของแฟ้มข้อมูลที่จัดเก็บไว้เป็นแฟ้มข้อมูลจริงและโครงสร้างของแฟ้มข้อมูล


ภาพที่1.2 แสดงระดับชั้นของข้อมูล


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




เรื่องที่ 1.3.2 ความเป็นอิสระของข้อมูล


             1.แนวคิดเชิงกายภาพและตรรกะ

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

              1.1ความเป็นอิสระของข้อมูลเชิงตรรกะ (logical data independence) ตรรกะ (logical) ในความหมายที่ใช้กับระบบฐานข้อมูลจะหมายถึงมุมมองของผู้ใช้ต่อข้อมูลนั้น โดยขึ้นอยู่กับผู้ใช้ว่าทำงานเกี่ยวข้องกับข้อมูลลักษณะใด ตัวอย่าง ถ้ามีคำถามว่าแฟ้มข้อมูลคืออะไร ถ้าถามบุคคลในวงการคอมพิวเตอร์ คำตอบที่ได้คือที่เก็บรวบรวมเรคอร์ด เพราะว่าบุคคลเหล่านี้ส่วนใหญ่คือโปรแกรมเมอร์ผู้เขียนโปรแกรม ซึ่งในมุมมองของผู้เขียนโปรแกรมนั้นจะมองแฟ้มข้อมูลเป็นเรคอร์ด นั่นคือขณะที่โปรแกรมเมอร์ใช้คำสั่งอ่านข้อมูล (read) 1 คำสั่งจะได้ข้อมูล 1 เรคอร์ด และเมื่อใช้คำสั่งเขียน (write) 1 คำสั่งจะบันทึกข้อมูล 1 เรคอร์ด นั่นคือในมุมมองของโปรแกรมเมอร์จะเห็นแฟ้มข้อมูลเป็นเรคอร์ด แต่ถ้าเราถามเจ้าหน้าที่สารบรรณว่าแฟ้มข้อมูลคืออะไร เจ้าหน้าที่สารบรรณจะตอบว่าคือที่เก็บรวบรวมตัวอักษรหรือข้อความ เพราะว่าเจ้าหน้าที่ดังกล่าวมองแฟ้มข้อมูลเป็นที่เก็บตัวอักษร เนื่องจากใช้โปรแกรมไมโครซอฟต์เวิร์ดจัดการกับข้อมูลและเก็บข้อมูลซึ่งเป็นตัวอักษรและข้อความต่างๆ เป็นแฟ้มข้อมูลนั่นเอง นั่นคือบุคคลเหล่านั้นทั้งโปรแกรมเมอร์และเจ้าหน้าที่สารบรรณมีมุมมองต่อแฟ้มข้อมูลต่างกันขึ้นอยู่กับลักษณะงานที่เกี่ยวข้องด้วย ซึ่งแฟ้มข้อมูลที่ผู้ใช้เห็นนี้เรียกว่า แฟ้มข้อมูลเชิงตรรกะ (logical file) ดังนั้นอาจกล่าวได้ว่า ความเป็นอิสระของข้อมูลเชิงตรรกะ (logical data independence) หมายถึง เมื่อมีการเปลี่ยนแปลงแก้ไขโครงสร้างข้อมูลในระดับแนวคิด จะไม่มีผลกระทบต่อโครงสร้างข้อมูลในระดับภายนอกที่ผู้ใช้ใช้งานอยู่ เช่น เมื่อมีการเปลี่ยนแปลงขนาดของแอตทริบิวต์ในตารางฐานข้อมูลในระดับแนวคิด ก็ไม่จำเป็นต้องไปแก้ไขโปรแกรมประยุกต์ที่ผู้ใช้เขียนขึ้นในระดับภายนอกที่มีการเรียกใช้แอตทริบิวต์นั้นในการทำงานกับฐานข้อมูลต้องรู้ว่าสิ่งที่เราทำงานอยู่ด้วยนั้นเกี่ยวข้องกับระดับกายภาพหรือระดับตรรกะ

            1.2 ความเป็นอิสระของข้อมูลเชิงกายภาพ (physical data independence) กายภาพ (physical)
ในความหมายของระบบผู้ใช้จะหมายถึงมุมมองของระบบปฏิบัติการ (Operating System; OS) ต่อข้อมูลนั้นจากคำถามข้างต้นถามว่าแฟ้มข้อมูลคืออะไร คำตอบที่ได้ในที่นี้คือที่เก็บรวบรวมบิตโดยนำรูปแบบของบิต (bit pattern) มาเรียงต่อกันเป็นสาย ซึ่งเป็นคำตอบในมุมมองของระบบปฏิบัติการ จะเห็นว่าไม่เกี่ยวข้องกับเรคอร์ดหรือตัวอักษร ซึ่งแฟ้มข้อมูลในมุมมองของระบบปฏิบัติการนี้เรียกว่า แฟ้มข้อมูลเชิงกายภาพ (physical file) ความเป็นอิสระของข้อมูลเชิงกายภาพ (physical data independence) หมายถึง เมื่อมีการเปลี่ยนแปลงแก้ไขโครงสร้างข้อมูลในระดับภายใน จะไม่มีผลกระทบต่อโครงสร้างข้อมูลในระดับแนวคิด หรือระดับภายนอก เช่น เมื่อมีการเปลี่ยนวิธีการจัดเก็บข้อมูลจากแบบเรียงลำดับ (sequential) ไปเป็นแบบดัชนี (indexed) ในระดับภายใน ในระดับแนวคิดนั้นจะไม่มีผลกระทบต่อการเปลี่ยนแปลงดังกล่าวหรือโปรแกรมประยุกต์ที่เขียนในระดับภายนอกก็ไม่จำเป็นต้องแก้ไขโปรแกรมตามวิธีการจัดเก็บที่เปลี่ยนแปลงไป


           2.การออกแบบฐานข้อมูล

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


             3.วิวกับการแปลงรูป

             โครงสร้างของสถาปัตยกรรมของฐานข้อมูล 3 ระดับนั้น แต่ละระดับจะมี DBMS ทำหน้าที่ในการ
แปลงรูประดับข้อมูลจากระดับหนึ่งไปยังอีกระดับหนึ่ง ได้แก่ การแปลงรูประหว่างระดับภายนอกกับระดับแนวคิด และระหว่างระดับแนวคิดกับระดับภายในการถ่ายทอดมุมมองจากสถาปัตยกรรมในระดับที่สูงกว่าไปยังระดับที่ต่ำกว่า เรียกว่า การแปลงรูป (mapping) การแปลงรูปแบ่งเป็น 2 ลักษณะ คือ หนึ่งการแปลงรูประหว่างระดับภายนอกกับระดับแนวคิดและสองการแปลงรูประหว่างระดับแนวคิดกับระดับภายใน

             3.1 การแปลงรูประหว่างระดับภายนอกกับระดับแนวคิด (external/conceptual mapping) เป็นการกำหนดความสอดคล้องกันระหว่างมุมมองในระดับภายนอกและระดับแนวคิดที่เรียกว่า ความเป็นอิสระของข้อมูลเชิงตรรกะ(logical data independence) โดยถ่ายทอดมุมมองที่มีต่อข้อมูลจากสถาปัตยกรรมในระดับภายนอกไปยังสถาปัตยกรรมในระดับแนวคิด เพื่อให้ผู้ใช้ฐานข้อมูลสามารถมีมุมมองข้อมูลที่แตกต่างกันได้ ในระดับแนวคิดนั้นอาจมีการเปลี่ยนแปลง ชนิดข้อมูล (data type) ของแอตทริบิวต์เปลี่ยนแปลงชื่อแอตทริบิวต์ เป็นต้น โดยสามารถเชื่อมการเปลี่ยนแปลงนี้ไปสู่แอตทริบิวต์ระดับภายนอกได้ ทำให้สคีมาภายนอกก็ยังคงใช้ได้เหมือนเดิมไม่ต้องเปลี่ยนแปลงใดๆ หรือกล่าวว่านี่คือการรักษาความเป็นอิสระข้อมูลเชิงตรรกะนั่นเอง
             3.2 การแปลงรูประหว่างระดับแนวคิดกับระดับภายใน (conceptual/internal mapping) เป็นการกำหนดความสอดคล้องกันระหว่างมุมมองในระดับแนวคิดกับระดับภายในที่เรียกว่าความเป็นอิสระของข้อมูลเชิงกายภาพ ( physical data independence) โดยถ่ายทอดมุมมองที่มีต่อข้อมูลจากสถาปัตยกรรมในระดับแนวคิดไปยังสถาปัตยกรรมในระดับภายในเพื่อนำโครงสร้างของข้อมูลในระดับแนวคิดไปแปลงเป็นโครงสร้างของข้อมูลในระดับกายภาพเพื่อใช้ในการจัดเก็บข้อมูล โดยระบุโครงสร้างเรคอร์ดและฟิลด์ที่ใช้จัดเก็บข้อมูลในระดับภายใน ถ้าโครงสร้างของข้อมูลในฐานข้อมูลที่จัดเก็บเปลี่ยนแปลงไปเช่น เมื่อมีการเปลี่ยนนิยามโครงสร้างการจัดเก็บทำให้การแปลงรูปจากระดับแนวคิดไปยังระดับภายในต้องเปลี่ยนแปลงตามไปด้วย แต่สคีมาแนวคิดยังคงอยู่เหมือนเดิมไม่ต้องเปลี่ยนแปลงแต่อย่างใด หรือกล่าวอีกนัยหนึ่งผลของการเปลี่ยนแปลงในระดับภายในต้องเป็นอิสระจากระดับแนวคิด เพื่อที่จะรักษาความเป็นอิสระของข้อมูลเชิงกายภาพนั่นเองการแปลงรูปข้อมูลระหว่างระดับแนวคิดกับระดับภายในทำให้ผู้ใช้งานฐานข้อมูลไม่ว่าในระดับแนวคิดหรือระดับภายนอกไม่จำเป็นต้องทราบว่าข้อมูลที่ตนใช้งานอยู่ถูกจัดเก็บในดิสก์อย่างไร เมื่อต้องการใช้ข้อมูลใดสามารถอ้างถึงชื่อตารางและฟิลด์ได้โดยตรงซึ่งจะเป็นหน้าที่ของระบบจัดการฐานข้อมูลที่จะดูว่าข้อมูลที่ผู้ใช้ต้องการเก็บอยู่ในตำแหน่งแทรกใด ไซลินเดอร์ใดในดิสก์ แล้วทำการดึงข้อมูลนั้นมาให้แก่ผู้ใช้


เรื่องที่ 1.3.3 ภาษาที่ใช้ในระบบฐานข้อมูล


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

              1. ภาษานิยามข้อมูล (Data Definition Language; DDL)

              เป็นภาษาที่ใช้ในการกำหนดสคีมาระดับแนวคิด ภาษานิยามข้อมูลใช้กำหนดวิวของผู้ใช้และโครงสร้างการจัดเก็บข้อมูล สำหรับระบบจัดการฐานข้อมูลบางตัวอาจมีภาษานิยามวิว (View Definition
Language; VDL) และภาษานิยามการจัดเก็บข้อมูล (Storage Definition Language; SDL) แยกต่างหากเพื่อกำหนดวิวและโครงสร้างการจัดเก็บ ตามลำดับ ซึ่งระบบจัดการฐานข้อมูลจะมีส่วนแปลภาษานิยามข้อมูล ทำหน้าที่แปลงประโยคคำสั่งภาษานิยามข้อมูล (DDL) เพื่อกำหนดรายละเอียดของโครงสร้างและเก็บไว้ในสารบัญแฟ้มของระบบจัดการฐานข้อมูล นั่นคือผลจากการแปลงประโยคคำสั่งที่เขียนด้วยภาษานิยามข้อมูล (DDL) จะทำให้ได้ตารางที่เก็บข้อมูลเกี่ยวกับโครงสร้างที่ได้จากการออกแบบฐานข้อมูลนั้นๆ ซึ่งเรียกว่า
พจนานุกรมข้อมูล (data dictionary) ซึ่งเก็บรายละเอียดฐานข้อมูลที่สร้างขึ้นมีชื่ออะไร มีโครงสร้างประกอบด้วยตารางชื่ออะไร แต่ละตารางประกอบด้วยฟิลด์ใดบ้าง ฟิลด์แต่ละฟิลด์มีชนิดข้อมูลเป็นอะไร มีความกว้างของข้อมูลเท่าใด และมีฟิลด์ใดบ้างเป็นคีย์ มีดัชนี (index) ช่วยในการค้นหาข้อมูลหรือไม่ เป็นต้น

               2. ภาษาจัดการข้อมูล (Data Manipulation Language; DML)

               เป็นภาษาใช้สำหรับจัดการข้อมูลภายในฐานข้อมูล ได้แก่การเรียกค้น เพิ่ม ลบ และปรับปรุงฐานข้อมูล ภาษาจัดการข้อมูล (DML) มี ประเภทหลักๆ คือเป็นภาษาที่ผู้ใช้กำหนดโครงสร้างหรือแบบแผนในการเก็บข้อมูล เช่น กำหนดหัวข้อและลักษณะของคอลัมน์ของตารางต่าง ๆ ที่จะใช้บันทึกข้อมูล ภาษากำหนดข้อมูล จะทำให้เกิดตารางที่จะจัดเก็บข้อมูลที่สำคัญต่อการทำงานของ DBMS ขึ้นมาชุดหนึ่ง ตารางนี้มีชื่อว่าพจนานุกรมข้อมูล (data dictionary) ซึ่งระบบจัดการฐานข้อมูลจะอาศัยโครงสร้างจากแฟ้มข้อมูลนี้เสมอ เช่น ดัชนี (index) ต่าง ๆ เป็นต้น
               การเรียกดูข้อมูลออกจากฐานข้อมูลจะต้องผ่านคำสั่งหรือข้อความของภาษาจัดการข้อมูลหาข้อความซึ่งกลุ่มของข้อความเหล่านั้นมีลักษณะเป็นการถามระบบข้อมูลเพื่อให้ระบบจัดการฐานข้อมูลหาคำตอบจากข้อมูลที่เก็บไว้และตอบกลับมา กลุ่มของข้อความเหล่านั้นเรียกว่า ภาษาคำถาม (query language) แต่โดยทั่วไปแล้วคำว่า DML และ ภาษาคำถาม จะใช้แทนกันเสมอ เช่น


                                SELECT                EMPLOYEE-NAME
                                FROM                   EMPLOYEE-FILE
                                WHERE      SEX  =  “FEMALE” AND SALARY GREATER THAN 5000


              เป็นการไปเรียกดูข้อมูลชื่อของลูกจ้างที่เป็นผู้หญิงและมีเงินเดือนมากกว่า 5,000 จากฐานข้อมูลชื่อ EMPLOYEE-FILE


           

              3. ภาษาที่ใช้ในการควบคุมข้อมูล หรือ DCL (data control language)

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