บทที่ 2 สถาปัตยกรรมของฐานข้อมูล
       สถาปัตยกรรมของฐานข้อมูลแบบ ANSI SPARC
 (American National Standard Institute -
Standards Planning and Requirements
Committee) เป็นการแบ่งระดับของข้อมูลใน
ระบบฐานข้อมูล ซึ่งข้อมูลถูกมองจากผู้ใช้ในรูปแบบที่
แตกต่างกัน ตามวัตถุประสงค์ของการใช้งาน แบ่งได้
3 ระดับ
      1. ระดับภายนอก(External level / View)
เป็นระดับที่ประกอบด้วยภาพของข้อมูลที่ผู้ใช้แต่ละคน
มอง ตามความต้องการใช้ข้อมูล ซึ่งประกอบด้วย
entities , attributes และ relationships ของแต่ละ
คน เช่น นักศึกษาต้องการข้อมูลคะแนนและเกรดของ
                                                 Db02-1
ข้อมูลที่จดเก็บในฐานข้อมูล
                      ั
            รหัสนักศึกษา        ชือ-นามสกุล
                                  ่                          คะแนนเก็บ ปลาย
ภาค         คะแนนรวม       เกรด
            4583170141          นางสาววรลักษณ์ เทพอักษร          28           23
                  51 C
            4583170144          นางสาวนนท์ภัทรา ทองเลิศ          37           31
                  68 B
            4583170148          นายบัณฑิต สุขโข         31        32
      63    C+
            4583170151          นายปริญญา อรชร          31        37      68
            B
            4583170153          นายวสกร ชื่นอารมย์      25        32      57
            C+


           มุมมองของนักศึกษาแต่ละ             มุมมองของอาจารย์ที่ปรึกษา
           คน
                                                        4583170144
                    นายบัณฑิต สุขโข                     68     B
               C+
                                                        4583170151
                    นายปริญญา อรชร                      68     B
              B

                    นายวสกร ชื่นอารมย์
              C+                                                                   Db02-2
สถาปัตยกรรมของฐานข้อมูล
        2. ระดับแนวความคิด(Conceptual/Logical level)
 เป็นระดับการกำาหนดรูปแบบข้อมูล ขนาดของข้อมูล และ
ความสัมพันธ์ระหว่างข้อมูล ได้แก่ การกำาหนดเอนติตี้ แอต
ตริบิว ความสัมพันธ์ และกฎเกณฑ์ที่เกี่ยวข้องกับข้อมูล ซึง ่
            เป็นระดับการออกแบบฐานข้อมูล
       การนำาเสนอโครงสร้างของข้อมูล เรียกว่า เค้าร่างเชิง
              แนวคิด(Conceptual Schema)
       ซึงจะเกี่ยวข้องกับกฎควบคุมความถูกต้องของข้อมูล
         ่
ความปลอดภัยของข้อมูล ความสัมพันธ์ของข้อมูล และผูมี     ้
                 สิทธิใช้ขอมูลในส่วนต่างๆ
                          ้



                                                        Db02-3
รายละเอียดแฟ้มข้อมูล           รายละเอียดแฟ้มข้อมูล
คะแนน                          นักศึกษา
ชื่อลักษณะประจำา       ∝   1
ประเภท ขนาด                    ชื่อลักษณะประจำา
รหัสนักศึกษา           1       ประเภท ขนาด
Char       11                  รหัสนักศึกษา
รหัสวิชา       Char            Char        11
            6                  ชื่อ-นามสกุล
คะแนนเก็บ                      Char        40
Num         2                  วิชาเอก          Char
ปลายภาค50
                               รายละเอียดแฟ้มข้อมูล
                                           30
Num         2                  ทีอ า
                               วิชยู่
                                  ่             Char
รวม 100        Num         1               30
                               ชื่อลักษณะประจำา
            3                  เบอร์โทรฯ
                               ประเภท ขนาด
เกรด           Char            Char        11
                               รหัสวิชา        Char
            1                  ชื่อผู้ปกครอง
                                            6
                               Char        40
                               ชื่อวิชา        Char
                                            40
                               หน่วยกิต
                               Num          2
                                                       Db02-4
สถาปัตยกรรมของฐานข้อมูล
      3. ระดับภายใน ( Internal level / Storage
view /physical level) เป็นระดับ การจัดเก็บข้อมูลใน
ฐานข้อมูล ณ ตำาแหน่งใดๆ ในดิสก์

       ซึงรวมถึง รูปแบบเรคอร์ท เช่น Indexes ,
         ่
Hashing algorithm , block size , pointer , สื่อข้อมูล ,
Data structure , File organizations , Interface กับ
Operating System ,วิธีการ access ข้อมูล , การจัด
เก็บข้อมูลลงใน storage device ,     การสร้าง Index ,
การเรียกค้นข้อมูล เป็นต้น


                                                      Db02-5
สถาปัตยกรรมของฐานข้อมูล
External ของนักศึกษา            External ของ
อาจารย์ที่ปรึกษา
นายยิ่งยศ ได้ GPA = 3.29        1. นายยิ่งยศ
                    2. นายดำา
                    3. นายแดง
Conceptual Level
รายละเอียด  การลงทะเบียน / ประวัตนศ./ วิชา/
                                 ิ
อาจารย์
Internal Level
id : integer; name string[40]; Addr : string[50];
                                                    Db02-6
Mapping
   คือกระบวนการแปลง requests และ results
ระหว่าง schema 3 ระดับ
        สังเกตได้วา 3 schemas เป็นการอธิบายถึง
                   ่
ข้อมูล ที่ถูกจัดเก็บจริงๆ ใน physical level แต่
DBMS จะทำาให้ผู้ใช้มองเห็นข้อมูลที่ใช้เท่านั้น
(External level)
        โดย DBMS จะทำาการแปลงความต้องการของผู้
ใช้ (external schema) ด้วยการค้นหาข้อมูลที่เก็บใน
หน่วยความจำา(internal schema) ซึงตรงกับข้อมูล
                                      ่
ที่อยู่ในระดับ conceptual schema โดย

    - แปลง external schema เป็น
conceptual schema
                                                    Db02-7
Mapping
 External
  view



Conceptu
 al level

Struct STAFF {                             Internal
int staff_No;          int Branch_No; char level
Fname[15];
char Lname[15];              char Department[15];
struct date Date_of_birth; Float Salary;
struct STAFF * next; /* pointer to next record */ Db02-8
เหตุผลของการกำาหนดสถาปัตยกรรม

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

         • Schema (System view)
         • Subschema (user view)



                                                     Db02-9
เหตุผลของการกำาหนดสถาปัตยกรรม
ต่อมาพัฒนาทำาการแบ่งเป็น 3 ระดับ ด้วยเหตุผล ดังนี้
       1. แต่ละ user สามารถที่จะ access ข้อมูล
เดียวกันแต่แตกต่างกันที่ view ซึง user สามารถ
                                  ่
เปลี่ยนแปลง view ของตนเองได้ โดยไม่กระทบต่อการใช้
งานของผูใช้อื่น
          ้
       2. Users ไม่สามารถที่จะเข้าถึงในส่วนของหน่วย
ความจำา ได้
       3. DBA สามารถที่จะเปลี่ยนแปลงโครงสร้างของ
หน่วยความจำา
จะไม่กระทบต่อ user view
       4. การเปลี่ยนแปลงในส่วนกายภาพของหน่วย
ความจำา จะไม่มีผลกระทบต่อโครงสร้างภายในของฐาน
ข้อมูล
                                                     Db02-10
ความเป็นอิสระของข้อมูล
ความอิสระของข้อมูล แบ่งออกเป็น 2 ลักษณะ
      1. ความอิสระของข้อมูลเชิงตรรกะ(Logical Data
  Independence) : การเปลี่ยนแปลงแก้ไขโครงสร้าง
  ข้อมูลในระดับแนวคิด จะไม่มผลกระทบโครงสร้าง
                               ี
ข้อมูลในระดับภายนอก เช่น การเปลียนขนาดของแอตตริ
                                   ่
     บิวไม่ตองแก้ไขโปรแกรมที่เรียกใช้แอตตริบิวนั้น
            ้

       2. ความอิสระของข้อมูลเชิงกายภาพ (Physical
 Data Independence) : การแก้ไขโครงสร้างข้อมูลใน
  ระดับภายใน จะไม่มผลกระทบต่อโครงสร้างข้อมูล
                     ี
 ระดับแนวคิดหรือระดับภายนอก เช่น การเปลี่ยนวิธีจัด
   เก็บข้อมูลจาก Sequential ไปเป็น Indexed ในระดับ
แนวคิด โดยโปรแกรมประยุกต์ที่เขียนในระดับภายนอกก็ไม่
                                                 Db02-11
Data Model
       แบบจำาลองข้อมูล หมายถึงสถาปัตยกรรมฐาน
ข้อมูลระดับแนวความคิด(logical level) ที่นำาเสนอ
แบบข้อมูล (data type) ความสัมพันธ์ (Relation) และ
กฎเกณฑ์(constraints) ให้ผู้ใช้เห็นเข้าใจได้ เช่น
   • ข้อมูลภายในฐานข้อมูล
   • ความสัมพันธ์กันของแต่ละข้อมูล
   • โครงสร้างข้อมูล
   • กฎควบคุมความถูกต้อง ของโครงสร้างข้อมูล
   • กลุ่มคำาสั่งปฏิบัติงานพื้นฐานสำาหรับ เรียกค้น จัด
   เก็บ และปรับปรุงข้อมูลในฐานข้อมูล



                                                         Db02-12
ประเภทของ Data Model
      1. Conceptual (High level data model)
เป็นแบบจำาลองทีเน้นมุมมอง(view)ในการรับรู้ข้อมูลของ
                ่
ผูใช้ และการออกแบบฐานข้อมูล เพื่ออธิบายส่วน
  ้
ประกอบและความสัมพันธ์ของข้อมูล ซึงได้แก่ E-R
                                       ่
Model และ Object-oriented Model
      2. Physical (Low-level data model) เป็น
แบบจำาลองที่แสดงการอธิบายรายละเอียดของวิธีการที่
ข้อมูลถูกจัดเก็บลงในหน่วยความจำา
      3. Representational (Implementation
data model) เป็นแบบจำาลองที่อธิบายรายละเอียดของ
โครงสร้างข้อมูลที่ทำาการสร้างว่าใช้แบบจำาลองข้อมูล
แบบใด เช่น Hierarchical Database Model ,
Network Database Model หรือ Relational             Db02-13
Hierarchical data model
              1. Hierarchical data model ประกอบด้วย
         records ที่ถกจัดเก็บในโครงสร้างข้อมูลแบบต้นไม้ จะ
                       ู
         ประกอบด้วยโหนด(node) และ กิ่ง(arc หรือ edge)
         ที่ทำาการเชือมระหว่างโหนดซึงในโครงสร้างจะประกอบ
                     ่              ่
         ด้วย root node (โหนดบนสุด) และ child nodes
                                          ro o t n o d e
           a rc /e d g e


                                                           ro o t o f s u b tre e

c h ild n o d e s




                           s u b tre e

                                                                       Db02-14
Hierarchical data model
   การเข้าถึงข้อมูลของโครงสร้าง มีดงนี้
                                   ั
   1. Pre-order traversal วิธีการนี้เริ่มต้นจาก Top down
   โดยเริ่มจาก root node และ access subtrees ตาม
   ลำาดับจากซ้ายไปขวา ตามลำาดับ (root/left/right)
   2. Post-order traversal วิธีการนี้เริ่มต้นจาก bottom
   up และ access subtrees จาก ซ้ายไปขวา ขึนไปตาม ้
                         B 3
   ลำาดับ(left/right/root)
S G 5   S G 1 4   S G 2 3   S G 3 7        P G 4      P G 1 6   P G 2 1   P G 3 6


                                 C R 7 6           C R 5 6                C R 5 6

   B3 , SG5 , SG14 , SG23 , SG37 , PG4 , CR76 , CR56 , PG16 ,
   PG21 , PG36 , CR56 (Pre-order)
   SG5 , Sg14 , SG23 , SG37, CR76, CR56, PG4 , PG16 , PG21 ,
                                                         Db02-15
ข้อดีของ Hierarchical data
               model
1. ระบบ DBMS ช่วยให้การใช้งานข้อมูลร่วมกัน มีความ
ปลอดภัย
2. DBMS ให้อิสระในการเปลี่ยนแปลงโครงสร้างข้อมูล
หรือหน่วยเก็บ โดยไม่กระทบต่อโปรแกรม ทำาให้สามารถ
เขียนโปรแกรมบำารุงรักษาภายหลังได้อย่างอิสระ
3. ความสัมพันธ์แบบแม่ลูก (parent /child
relationship) ทำาให้เกิดความคงสภาพของข้อมูล(dat
a integrity) เพราะ child จะปรากฏเมื่อมี parent ดังนั้น
โครงสร้างของข้อมูลจึงเป็นแบบการขึ้นต่อกัน เช่น ใน
กรณีที่ทำาการลบ root ทิ้ง child nodes ที่ขนกับ root ก็
                                          ึ้
จะถูกลบไปด้วย
                                                     Db02-16
ข้อเสียของ Hierarchical data model
1. ขาดความอิสระของข้อมูล เนื่องจาก การ
เปลี่ยนแปลงใดที่เกิดขึ้นกับโครงสร้างข้อมูล เช่น มีการจัด
วางตำาแหน่งใหม่ของโหนด ยังคงต้องเปลี่ยนแปลง
โปรแกรมที่มีการเข้าถึงข้อมูลนั้น ทำาให้การออกแบบซับ
ซ้อนมากขึน
         ้
2. แบบจำาลองนียากในการจัดการ ขาดความยืดหยุ่น
                  ้
เมื่อมีการเปลี่ยนแปลง เช่น มีความสัมพันธ์ใหม่หรือโหนด
ใหม่ หรือลบโหนด จะทำาให้เกิดงานที่ซบซ้อนในการจัดการ
                                    ั
โหนดที่เกี่ยวข้อง
3. การเขียนโปรแกรมประยุกต์มีความซับซ้อน
เนื่องจากการเข้าถึงโหนดจะต้องเริ่มจากโหนดแม่ไปถึงลูก
ดังนั้นการเปลี่ยนโครงสร้างฐานข้อมูล จึงอาจนำาไปสู่การ
เปลี่ยนโปรแกรมประยุกต์ได้ ดังนั้นความอิสระข้อมูลจึงถูกDb02-17
Network data model
   สร้างขึ้นเพื่อที่จัดการกับปัญหา ความซับซ้อนของ
ความสัมพันธ์ที่เกิดจาก Hierarchical data model
          มาตรฐานฐานข้อมูล กำาหนดโดย CODASYL
(COnference on Data SYstems Languages) ซึงเป็นก
                                            ่
ลุ่มผูใช้ และผูประกอบการทางด้านอุตสาหกรรม
      ้        ้
computer ได้ทำาการกำาหนดการดำาเนินการที่เกิดใน
ฐานข้อมูล และ       ทำาการสร้าง DBTG(DataBase
Task Group) เพื่อใช้เป็นข้อกำาหนดมาตรฐาน ที่ชวยใน
                                              ่
การอำานวยความสะดวกในการสร้าง       และการจัดการ
ข้อมูลในฐานข้อมูล


                                                    Db02-18
Network data model
  ประกอบด้วย records , data items และ ความ
สัมพันธ์ระหว่าง records แบบ one to many (1:M)
ใน network data model จะประกอบด้วย set และใน
แต่ละ set จะประกอบด้วย record 2 ประเภทด้วยกัน
คือ
      1. Owner record ซึงเทียบเท่ากับ parent ใน
                        ่
hierarchical data model
      2. Member record ซึงเทียบเท่ากับ child ใน
                            ่
hierarchical data model แต่ Hierarchical data
model มีความสัมพันธ์ระหว่าง members กับ owner
เป็นแบบ M:N ได้
                                                  Db02-19
Network data model
                       S a le s R e p           ตัวแทนขาย C u s t o m e r
                                             1 :M                  1 :M                      1 :M
                   c o m m is s io n s e t                                S a le s s e t              P aym ent set


        P ro d u c t                                 In v o ic e                           Paym ent

                        1 :M        1 :M
In v e n to ry s e t                                L in e s e t


                       IN V _ L IN E
                                                             รายการสั่งซื้อ


                                        network data model
                                                                                                                 Db02-20
ข้อดีของ Network data model
      1. ติดตังง่ายกว่าแบบ Hierarchical
              ้
      2. ชนิดของการเข้าถึงข้อมูลและความยืดหยุ่นมี
มากขึน งานประยุกต์สามารถเขียนโปรแกรมเข้าถึงข้อ
      ้
มูลเรคอร์ทแม่และลูกในเซ็ตได้และเชือมโยงไปยังเร
                                  ่
คอร์ทที่เกียวข้องได้
           ่
       3. มีความคงสภาพข้อมูล(Data Integrity)
เนื่องจากต้องกำาหนด เรคอร์ทแม่ก่อนกำาหนดเรคอร์
ทลูก
      4. มีความอิสระข้อมูลอย่างเพียงพอ เพื่อที่จะ
แยกโปรแกรมออกจากหน่วยเก็บข้อมูลทางกายภาพที่
ซับซ้อน นั่นคือเมื่อมีการเปลี่ยนแปลงลักษณะข้อมูล ก็
                                                      Db02-21
ข้อเสียของ Network data model
        1. การออกแบบและการใช้งานยาก ผู้ใช้จึง
ต้องมีความรู้ความเข้าใจในโครงสร้างฐานข้อมูลอย่างดี
เพื่อนำาประสิทธิภาพของฐานข้อมูลมาใช้ประโยชน์
        2. การเปลี่ยนแปลงฐานข้อมูลทำาได้ยาก เช่น
การเปลี่ยนแปลงโครงสร้างฐานข้อมูล ข้อกำาหนดใน
ภาพย่อย(Subschema Definition)ทั้งหมด จะต้องมีการ
ตรวจสอบอีกครั้ง แม้ว่าแบบจำาลองโครงข่ายจะให้ความ
อิสระ ของข้อมูล(Data Independence) แต่ไม่ให้ความ
อิสระของโครงสร้าง (Structural dependence)
        3. แบบจำาลองโครงข่าย มีโครงสร้างที่ซับซ้อน
มาก ดังนั้นนักเขียนโปรแกรมต้องมีความคุ้นเคยอย่างดี
เพื่อที่จะเข้าถึงฐานข้อมูลได้อย่างให้ประสิทธิผล
        4. เป็นแบบจำาลองที่ใช้งานยากสำาหรับผู้ใช้ Db02-22
Relation Data Model
 • มีตัวสนับสนุนในด้านการค้นหาแบบทันทีทันใดได้
(Ad hoc query)
  • E.F. Codd (of IBM,1970) ทำาการคิดค้น data
model แบบ relational data modelโดยมี RDBMS
(Relational Database management system) เป็น
ตัวกลางในการจัดการกับ relational data model
  • โครงสร้างของ relational data model เป็น
โครงสร้างแบบตาราง (Table) หรืออาจเรียกว่า
relation ซึงในแต่ละตารางจะประกอบด้วย row และ
           ่
column


                                                 Db02-23
ข้อดีของ Relation Data Model
      1. Structural independence การเปลี่ยน
แปลงใดๆ ที่เกิดขึ้นในโครงสร้างของ relational data
model      จะไม่มีผลกระทบต่อการเข้าถึงข้อมูลของ
DBMS
      2. พัฒนาและออกแบบง่าย
      3. การออกแบบฐานข้อมูล ติดตัง จัดการและใช้
                                   ้
งานง่าย
      4. มีความสามารถในการสืบค้นเร่งด่วน(Ad hoc
query) โดยมีภาษา SQL ค้นหาแบบทันทีทันใด
      5. ระบบ DBMS ทำางานได้อย่างมีประสิทธิภาพ


                                                    Db02-24
ข้อเสียของ Relation Data Model
      1. มีค่าใช้จ่ายทั้งฮาร์ดแวร์และซอฟต์แวร์สูง
      2. การออกแบบและการติดตั้งทำาได้ง่ายอาจ
ทำาให้ผดพลาดได้ง่ายเช่นกัน
       ิ
       3. เนื่องจากง่ายต่อการใช้   ดังนั้น ผู้ใช้งาน
จึงง่ายต่อการสร้างฐานข้อมูล และโปรแกรมที่ใช้งาน
ของตนเอง ซึงอาจเกิดปัญหาคล้ายๆ กับ File-based
               ่
system




                                                       Db02-25
Object Oriented Data Model
       Data model ที่ชื่อว่า SDM (Semantic data
model) ที่พัฒนาโดย M.Hammer และ D.McLeod
ในปี 1981


      ใช้แสดงข้อมูลออกมาในรูปของข้อมูลที่เป็น
จริง (Real world) ในรูปของ Object และเรียกว่า
Object-Oriented data model (OODM)




                                                  Db02-26
Object Oriented Data Model
• OODM จะกำาหนด entity ขอบเขตและความสัมพันธ์
ระหว่าง object
• โครงสร้างของ OODM ประกอบด้วย class ที่มี object
• class เป็นแบบสำาหรับสร้าง object และมีคุณลักษณะ
ของ object เช่น ชนิดข้อมูล (Attributes) method
ต่างๆ สำาหรับการเข้าถึงข้อมูลและใช้งานร่วมกับ class อืน
                                                      ่
ได้ ตัวอย่างเช่น
   • class person ประกอบด้วย รหัส ชือนามสกุล ที่อยู่
                                    ่
    เบอร์โทร
   • class customer ประกอบด้วย person รหัสสมาชิก
    เป็นต้น                                   Db02-27
Object Oriented Data Model
• Object คือชินส่วนที่ประกอบขึ้นเป็น class ซึงสามารถ
              ้                              ่
ปรับปรุงชินส่วนบางชิ้นได้โดยไม่กระทบกับภาพรวม
          ้
ทั้งหมด เช่น
• class เครื่องคอมพิวเตอร์ ประกอบด้วย object ชิน
                                               ้
ส่วนต่างๆ
• class person ประกอบด้วย object พนักงานขาย
object พนักงานพิมพ์ดีด




                                                   Db02-28
Object Oriented Data Model



      Object of Animal
           class
           Obj
    Obj            Obj
           ect
    ect            ect
    Obj    Obj      Obj
    ect    ect      ect

           class

                             Db02-29
Object Oriented Data Model
• method เป็น procedure แสดงพฤติกรรมของ
Object เช่น การค้นหาชือพนักงาน การพิมพ์รายงาน
                      ่
เป็นต้น
• Instance variable เป็นตัวแปรของ Object ที่ใช้
กำาหนด attribute หรือกำาหนดสถานะ สำาหรับกำาหนด
ค่าให้ Object
• attribute จะเป็นตัวแปรที่อธิบายถึงคุณสมบัติของ
                                    Attribute รหัส
Object            Person            ชือนามสกุล ที่
                                      ่
                                    อยู่ เบอร์โทร
                                    Method
   Employee     Customer               Sale
                                    getname
       ตำาแหน่ง      ยอดซือ,รหัสสมาชิก
                          ้
                                                    Db02-30
Object Oriented Data Model
      นอกจากนั้น OODM ยังมีคณสมบัติ inheritance
                                  ุ
ในการสืบทอดคุณสมบัติ (attributes และ methods)
ของ class ไปยัง class ที่ลำาดับถัดไปได้ เช่น พนักงาน
ประจำา และ พนักงานชัวคราว มาจาก พนักงาน
                     ่
ข้อเสีย     1. OODM ยังขาดมาตรฐานในการใช้งาน
      2. โปรแกรมระบบมีขนาดใหญ่ทำาให้ทำางานช้า

                       Person


      Employee        Customer           Sale
     ตำาแหน่ง                 ยอดซือ,รหัสสมาชิก
                                   ้
                                                   Db02-31
Database Schema
คือ การอธิบายถึงฐานข้อมูล ในส่วนของการออกแบบ
ฐานข้อมูลประกอบด้วย กลุ่มของ occurrence หรือ
instances คือ กลุ่มข้อมูลที่อยู่ในฐานข้อมูล เช่น
student (name,studentid,class,major)
   - meta-data คือการอธิบายการสร้างและกฎ
เกณฑ์ของ Schemas




       Schema diagram for the Database
                                                   Db02-32
บุคลากรใน DBMS
• DBA (Database Administrators) มีหน้าที่
   • จัดระดับผูใช้ในการเข้าถึงข้อมูล
               ้
   • ประสานและตรวจสอบการใช้งานข้อมูล
   • จัดการในส่วนของ software และ hardware ของ
   ระบบงานที่ต้องการ
   • แก้ปัญหาในระบบงาน เช่น ความปลอดภัย
   response time
• Database Designers
   • กำาหนดข้อมูลที่จัดเก็บในฐานข้อมูล
   • การเลือกโครงสร้างของข้อมูลที่เหมาะสม ในการ
   จัดเก็บและแสดงข้อมูล ก่อนที่จะมีการ implement
   ฐานข้อมูลขึ้น
   • สำารวจความต้องการของผูใช้ และออกแบบ ให้ตรง
                              ้
   ตามความต้องการของผู้ใช้งาน                    Db02-33
ภาษาฐานข้อมูล
       1. DDL (data definition language) ใช้
โดย DBA และ Database Designers ในการ
กำาหนด schemas (external schemas และ
conceptual schema) ใน DBMS มี DDL compiler ซึง      ่
เป็น function ในการประมวลคำาสั่งใน DDL เพื่อสร้าง
และทำาการจัดเก็บ schemas ในฐานข้อมูล
       2. Storage definition language (SDL)
ใช้ในการกำาหนด internal schema
       3. Data Manipulation language (DML)
   เป็นภาษาที่ใช้ในการปฏิบัตงานกับข้อมูล ในฐาน
                             ิ
ข้อมูล เช่น การเพิมข้อมูล (Insertion), การเรียกข้อมูล
                  ่
(retrieval), การลบข้อมูล (deletion) และการ
เปลี่ยนแปลงข้อมูล (modification)
                                                    Db02-34
งานบทที่ 2
•   จงอธิบายสถาปัตยกรรมของฐานข้อมูล 3 ระดับ
•   จงบอกเหตุผลของการกำาหนดสถาปัตยกรรม
•   จงบอกหลักการ mapping
•   ความอิสระของข้อมูล มีกี่ลักษณะอะไรบ้าง
•   จงยกตัวอย่าง data model มา 2 ชนิด
•   จงบอก database schema ของระบบคลังสินค้า




                                         Db02-35

บทที่ 2 สถาปัตยกรรม

  • 1.
    บทที่ 2 สถาปัตยกรรมของฐานข้อมูล สถาปัตยกรรมของฐานข้อมูลแบบ ANSI SPARC (American National Standard Institute - Standards Planning and Requirements Committee) เป็นการแบ่งระดับของข้อมูลใน ระบบฐานข้อมูล ซึ่งข้อมูลถูกมองจากผู้ใช้ในรูปแบบที่ แตกต่างกัน ตามวัตถุประสงค์ของการใช้งาน แบ่งได้ 3 ระดับ 1. ระดับภายนอก(External level / View) เป็นระดับที่ประกอบด้วยภาพของข้อมูลที่ผู้ใช้แต่ละคน มอง ตามความต้องการใช้ข้อมูล ซึ่งประกอบด้วย entities , attributes และ relationships ของแต่ละ คน เช่น นักศึกษาต้องการข้อมูลคะแนนและเกรดของ Db02-1
  • 2.
    ข้อมูลที่จดเก็บในฐานข้อมูล ั รหัสนักศึกษา ชือ-นามสกุล ่ คะแนนเก็บ ปลาย ภาค คะแนนรวม เกรด 4583170141 นางสาววรลักษณ์ เทพอักษร 28 23 51 C 4583170144 นางสาวนนท์ภัทรา ทองเลิศ 37 31 68 B 4583170148 นายบัณฑิต สุขโข 31 32 63 C+ 4583170151 นายปริญญา อรชร 31 37 68 B 4583170153 นายวสกร ชื่นอารมย์ 25 32 57 C+ มุมมองของนักศึกษาแต่ละ มุมมองของอาจารย์ที่ปรึกษา คน 4583170144 นายบัณฑิต สุขโข 68 B C+ 4583170151 นายปริญญา อรชร 68 B B นายวสกร ชื่นอารมย์ C+ Db02-2
  • 3.
    สถาปัตยกรรมของฐานข้อมูล 2. ระดับแนวความคิด(Conceptual/Logical level) เป็นระดับการกำาหนดรูปแบบข้อมูล ขนาดของข้อมูล และ ความสัมพันธ์ระหว่างข้อมูล ได้แก่ การกำาหนดเอนติตี้ แอต ตริบิว ความสัมพันธ์ และกฎเกณฑ์ที่เกี่ยวข้องกับข้อมูล ซึง ่ เป็นระดับการออกแบบฐานข้อมูล การนำาเสนอโครงสร้างของข้อมูล เรียกว่า เค้าร่างเชิง แนวคิด(Conceptual Schema) ซึงจะเกี่ยวข้องกับกฎควบคุมความถูกต้องของข้อมูล ่ ความปลอดภัยของข้อมูล ความสัมพันธ์ของข้อมูล และผูมี ้ สิทธิใช้ขอมูลในส่วนต่างๆ ้ Db02-3
  • 4.
    รายละเอียดแฟ้มข้อมูล รายละเอียดแฟ้มข้อมูล คะแนน นักศึกษา ชื่อลักษณะประจำา ∝ 1 ประเภท ขนาด ชื่อลักษณะประจำา รหัสนักศึกษา 1 ประเภท ขนาด Char 11 รหัสนักศึกษา รหัสวิชา Char Char 11 6 ชื่อ-นามสกุล คะแนนเก็บ Char 40 Num 2 วิชาเอก Char ปลายภาค50 รายละเอียดแฟ้มข้อมูล 30 Num 2 ทีอ า วิชยู่ ่ Char รวม 100 Num 1 30 ชื่อลักษณะประจำา 3 เบอร์โทรฯ ประเภท ขนาด เกรด Char Char 11 รหัสวิชา Char 1 ชื่อผู้ปกครอง 6 Char 40 ชื่อวิชา Char 40 หน่วยกิต Num 2 Db02-4
  • 5.
    สถาปัตยกรรมของฐานข้อมูล 3. ระดับภายใน ( Internal level / Storage view /physical level) เป็นระดับ การจัดเก็บข้อมูลใน ฐานข้อมูล ณ ตำาแหน่งใดๆ ในดิสก์ ซึงรวมถึง รูปแบบเรคอร์ท เช่น Indexes , ่ Hashing algorithm , block size , pointer , สื่อข้อมูล , Data structure , File organizations , Interface กับ Operating System ,วิธีการ access ข้อมูล , การจัด เก็บข้อมูลลงใน storage device , การสร้าง Index , การเรียกค้นข้อมูล เป็นต้น Db02-5
  • 6.
    สถาปัตยกรรมของฐานข้อมูล External ของนักศึกษา External ของ อาจารย์ที่ปรึกษา นายยิ่งยศ ได้ GPA = 3.29 1. นายยิ่งยศ 2. นายดำา 3. นายแดง Conceptual Level รายละเอียด การลงทะเบียน / ประวัตนศ./ วิชา/ ิ อาจารย์ Internal Level id : integer; name string[40]; Addr : string[50]; Db02-6
  • 7.
    Mapping คือกระบวนการแปลง requests และ results ระหว่าง schema 3 ระดับ สังเกตได้วา 3 schemas เป็นการอธิบายถึง ่ ข้อมูล ที่ถูกจัดเก็บจริงๆ ใน physical level แต่ DBMS จะทำาให้ผู้ใช้มองเห็นข้อมูลที่ใช้เท่านั้น (External level) โดย DBMS จะทำาการแปลงความต้องการของผู้ ใช้ (external schema) ด้วยการค้นหาข้อมูลที่เก็บใน หน่วยความจำา(internal schema) ซึงตรงกับข้อมูล ่ ที่อยู่ในระดับ conceptual schema โดย - แปลง external schema เป็น conceptual schema Db02-7
  • 8.
    Mapping External view Conceptu al level Struct STAFF { Internal int staff_No; int Branch_No; char level Fname[15]; char Lname[15]; char Department[15]; struct date Date_of_birth; Float Salary; struct STAFF * next; /* pointer to next record */ Db02-8
  • 9.
    เหตุผลของการกำาหนดสถาปัตยกรรม เนื่องจากการอ้างถึงโครงสร้างข้อมูลในระดับภายใน โดยตรง จะมีความเสี่ยงต่อความปลอดภัยและกฎการ ควบคุมความถูกต้องของข้อมูล จึงนิยมใช้การแปลงรูปซึง ่ เป็นการแปลงมุมมองของผูใช้ในระดับสถาปัตยกรรมที่สูง ้ กว่ามาใช้มองโครงสร้างของข้อมูลในระดับที่ตำ่ากว่า โดย เริ่มทำาการแบ่ง schema ออกเป็น 2 ประเภท ดังนี้ • Schema (System view) • Subschema (user view) Db02-9
  • 10.
    เหตุผลของการกำาหนดสถาปัตยกรรม ต่อมาพัฒนาทำาการแบ่งเป็น 3 ระดับด้วยเหตุผล ดังนี้ 1. แต่ละ user สามารถที่จะ access ข้อมูล เดียวกันแต่แตกต่างกันที่ view ซึง user สามารถ ่ เปลี่ยนแปลง view ของตนเองได้ โดยไม่กระทบต่อการใช้ งานของผูใช้อื่น ้ 2. Users ไม่สามารถที่จะเข้าถึงในส่วนของหน่วย ความจำา ได้ 3. DBA สามารถที่จะเปลี่ยนแปลงโครงสร้างของ หน่วยความจำา จะไม่กระทบต่อ user view 4. การเปลี่ยนแปลงในส่วนกายภาพของหน่วย ความจำา จะไม่มีผลกระทบต่อโครงสร้างภายในของฐาน ข้อมูล Db02-10
  • 11.
    ความเป็นอิสระของข้อมูล ความอิสระของข้อมูล แบ่งออกเป็น 2ลักษณะ 1. ความอิสระของข้อมูลเชิงตรรกะ(Logical Data Independence) : การเปลี่ยนแปลงแก้ไขโครงสร้าง ข้อมูลในระดับแนวคิด จะไม่มผลกระทบโครงสร้าง ี ข้อมูลในระดับภายนอก เช่น การเปลียนขนาดของแอตตริ ่ บิวไม่ตองแก้ไขโปรแกรมที่เรียกใช้แอตตริบิวนั้น ้ 2. ความอิสระของข้อมูลเชิงกายภาพ (Physical Data Independence) : การแก้ไขโครงสร้างข้อมูลใน ระดับภายใน จะไม่มผลกระทบต่อโครงสร้างข้อมูล ี ระดับแนวคิดหรือระดับภายนอก เช่น การเปลี่ยนวิธีจัด เก็บข้อมูลจาก Sequential ไปเป็น Indexed ในระดับ แนวคิด โดยโปรแกรมประยุกต์ที่เขียนในระดับภายนอกก็ไม่ Db02-11
  • 12.
    Data Model แบบจำาลองข้อมูล หมายถึงสถาปัตยกรรมฐาน ข้อมูลระดับแนวความคิด(logical level) ที่นำาเสนอ แบบข้อมูล (data type) ความสัมพันธ์ (Relation) และ กฎเกณฑ์(constraints) ให้ผู้ใช้เห็นเข้าใจได้ เช่น • ข้อมูลภายในฐานข้อมูล • ความสัมพันธ์กันของแต่ละข้อมูล • โครงสร้างข้อมูล • กฎควบคุมความถูกต้อง ของโครงสร้างข้อมูล • กลุ่มคำาสั่งปฏิบัติงานพื้นฐานสำาหรับ เรียกค้น จัด เก็บ และปรับปรุงข้อมูลในฐานข้อมูล Db02-12
  • 13.
    ประเภทของ Data Model 1. Conceptual (High level data model) เป็นแบบจำาลองทีเน้นมุมมอง(view)ในการรับรู้ข้อมูลของ ่ ผูใช้ และการออกแบบฐานข้อมูล เพื่ออธิบายส่วน ้ ประกอบและความสัมพันธ์ของข้อมูล ซึงได้แก่ E-R ่ Model และ Object-oriented Model 2. Physical (Low-level data model) เป็น แบบจำาลองที่แสดงการอธิบายรายละเอียดของวิธีการที่ ข้อมูลถูกจัดเก็บลงในหน่วยความจำา 3. Representational (Implementation data model) เป็นแบบจำาลองที่อธิบายรายละเอียดของ โครงสร้างข้อมูลที่ทำาการสร้างว่าใช้แบบจำาลองข้อมูล แบบใด เช่น Hierarchical Database Model , Network Database Model หรือ Relational Db02-13
  • 14.
    Hierarchical data model 1. Hierarchical data model ประกอบด้วย records ที่ถกจัดเก็บในโครงสร้างข้อมูลแบบต้นไม้ จะ ู ประกอบด้วยโหนด(node) และ กิ่ง(arc หรือ edge) ที่ทำาการเชือมระหว่างโหนดซึงในโครงสร้างจะประกอบ ่ ่ ด้วย root node (โหนดบนสุด) และ child nodes ro o t n o d e a rc /e d g e ro o t o f s u b tre e c h ild n o d e s s u b tre e Db02-14
  • 15.
    Hierarchical data model การเข้าถึงข้อมูลของโครงสร้าง มีดงนี้ ั 1. Pre-order traversal วิธีการนี้เริ่มต้นจาก Top down โดยเริ่มจาก root node และ access subtrees ตาม ลำาดับจากซ้ายไปขวา ตามลำาดับ (root/left/right) 2. Post-order traversal วิธีการนี้เริ่มต้นจาก bottom up และ access subtrees จาก ซ้ายไปขวา ขึนไปตาม ้ B 3 ลำาดับ(left/right/root) S G 5 S G 1 4 S G 2 3 S G 3 7 P G 4 P G 1 6 P G 2 1 P G 3 6 C R 7 6 C R 5 6 C R 5 6 B3 , SG5 , SG14 , SG23 , SG37 , PG4 , CR76 , CR56 , PG16 , PG21 , PG36 , CR56 (Pre-order) SG5 , Sg14 , SG23 , SG37, CR76, CR56, PG4 , PG16 , PG21 , Db02-15
  • 16.
    ข้อดีของ Hierarchical data model 1. ระบบ DBMS ช่วยให้การใช้งานข้อมูลร่วมกัน มีความ ปลอดภัย 2. DBMS ให้อิสระในการเปลี่ยนแปลงโครงสร้างข้อมูล หรือหน่วยเก็บ โดยไม่กระทบต่อโปรแกรม ทำาให้สามารถ เขียนโปรแกรมบำารุงรักษาภายหลังได้อย่างอิสระ 3. ความสัมพันธ์แบบแม่ลูก (parent /child relationship) ทำาให้เกิดความคงสภาพของข้อมูล(dat a integrity) เพราะ child จะปรากฏเมื่อมี parent ดังนั้น โครงสร้างของข้อมูลจึงเป็นแบบการขึ้นต่อกัน เช่น ใน กรณีที่ทำาการลบ root ทิ้ง child nodes ที่ขนกับ root ก็ ึ้ จะถูกลบไปด้วย Db02-16
  • 17.
    ข้อเสียของ Hierarchical datamodel 1. ขาดความอิสระของข้อมูล เนื่องจาก การ เปลี่ยนแปลงใดที่เกิดขึ้นกับโครงสร้างข้อมูล เช่น มีการจัด วางตำาแหน่งใหม่ของโหนด ยังคงต้องเปลี่ยนแปลง โปรแกรมที่มีการเข้าถึงข้อมูลนั้น ทำาให้การออกแบบซับ ซ้อนมากขึน ้ 2. แบบจำาลองนียากในการจัดการ ขาดความยืดหยุ่น ้ เมื่อมีการเปลี่ยนแปลง เช่น มีความสัมพันธ์ใหม่หรือโหนด ใหม่ หรือลบโหนด จะทำาให้เกิดงานที่ซบซ้อนในการจัดการ ั โหนดที่เกี่ยวข้อง 3. การเขียนโปรแกรมประยุกต์มีความซับซ้อน เนื่องจากการเข้าถึงโหนดจะต้องเริ่มจากโหนดแม่ไปถึงลูก ดังนั้นการเปลี่ยนโครงสร้างฐานข้อมูล จึงอาจนำาไปสู่การ เปลี่ยนโปรแกรมประยุกต์ได้ ดังนั้นความอิสระข้อมูลจึงถูกDb02-17
  • 18.
    Network data model สร้างขึ้นเพื่อที่จัดการกับปัญหา ความซับซ้อนของ ความสัมพันธ์ที่เกิดจาก Hierarchical data model มาตรฐานฐานข้อมูล กำาหนดโดย CODASYL (COnference on Data SYstems Languages) ซึงเป็นก ่ ลุ่มผูใช้ และผูประกอบการทางด้านอุตสาหกรรม ้ ้ computer ได้ทำาการกำาหนดการดำาเนินการที่เกิดใน ฐานข้อมูล และ ทำาการสร้าง DBTG(DataBase Task Group) เพื่อใช้เป็นข้อกำาหนดมาตรฐาน ที่ชวยใน ่ การอำานวยความสะดวกในการสร้าง และการจัดการ ข้อมูลในฐานข้อมูล Db02-18
  • 19.
    Network data model ประกอบด้วย records , data items และ ความ สัมพันธ์ระหว่าง records แบบ one to many (1:M) ใน network data model จะประกอบด้วย set และใน แต่ละ set จะประกอบด้วย record 2 ประเภทด้วยกัน คือ 1. Owner record ซึงเทียบเท่ากับ parent ใน ่ hierarchical data model 2. Member record ซึงเทียบเท่ากับ child ใน ่ hierarchical data model แต่ Hierarchical data model มีความสัมพันธ์ระหว่าง members กับ owner เป็นแบบ M:N ได้ Db02-19
  • 20.
    Network data model S a le s R e p ตัวแทนขาย C u s t o m e r 1 :M 1 :M 1 :M c o m m is s io n s e t S a le s s e t P aym ent set P ro d u c t In v o ic e Paym ent 1 :M 1 :M In v e n to ry s e t L in e s e t IN V _ L IN E รายการสั่งซื้อ network data model Db02-20
  • 21.
    ข้อดีของ Network datamodel 1. ติดตังง่ายกว่าแบบ Hierarchical ้ 2. ชนิดของการเข้าถึงข้อมูลและความยืดหยุ่นมี มากขึน งานประยุกต์สามารถเขียนโปรแกรมเข้าถึงข้อ ้ มูลเรคอร์ทแม่และลูกในเซ็ตได้และเชือมโยงไปยังเร ่ คอร์ทที่เกียวข้องได้ ่ 3. มีความคงสภาพข้อมูล(Data Integrity) เนื่องจากต้องกำาหนด เรคอร์ทแม่ก่อนกำาหนดเรคอร์ ทลูก 4. มีความอิสระข้อมูลอย่างเพียงพอ เพื่อที่จะ แยกโปรแกรมออกจากหน่วยเก็บข้อมูลทางกายภาพที่ ซับซ้อน นั่นคือเมื่อมีการเปลี่ยนแปลงลักษณะข้อมูล ก็ Db02-21
  • 22.
    ข้อเสียของ Network datamodel 1. การออกแบบและการใช้งานยาก ผู้ใช้จึง ต้องมีความรู้ความเข้าใจในโครงสร้างฐานข้อมูลอย่างดี เพื่อนำาประสิทธิภาพของฐานข้อมูลมาใช้ประโยชน์ 2. การเปลี่ยนแปลงฐานข้อมูลทำาได้ยาก เช่น การเปลี่ยนแปลงโครงสร้างฐานข้อมูล ข้อกำาหนดใน ภาพย่อย(Subschema Definition)ทั้งหมด จะต้องมีการ ตรวจสอบอีกครั้ง แม้ว่าแบบจำาลองโครงข่ายจะให้ความ อิสระ ของข้อมูล(Data Independence) แต่ไม่ให้ความ อิสระของโครงสร้าง (Structural dependence) 3. แบบจำาลองโครงข่าย มีโครงสร้างที่ซับซ้อน มาก ดังนั้นนักเขียนโปรแกรมต้องมีความคุ้นเคยอย่างดี เพื่อที่จะเข้าถึงฐานข้อมูลได้อย่างให้ประสิทธิผล 4. เป็นแบบจำาลองที่ใช้งานยากสำาหรับผู้ใช้ Db02-22
  • 23.
    Relation Data Model • มีตัวสนับสนุนในด้านการค้นหาแบบทันทีทันใดได้ (Ad hoc query) • E.F. Codd (of IBM,1970) ทำาการคิดค้น data model แบบ relational data modelโดยมี RDBMS (Relational Database management system) เป็น ตัวกลางในการจัดการกับ relational data model • โครงสร้างของ relational data model เป็น โครงสร้างแบบตาราง (Table) หรืออาจเรียกว่า relation ซึงในแต่ละตารางจะประกอบด้วย row และ ่ column Db02-23
  • 24.
    ข้อดีของ Relation DataModel 1. Structural independence การเปลี่ยน แปลงใดๆ ที่เกิดขึ้นในโครงสร้างของ relational data model จะไม่มีผลกระทบต่อการเข้าถึงข้อมูลของ DBMS 2. พัฒนาและออกแบบง่าย 3. การออกแบบฐานข้อมูล ติดตัง จัดการและใช้ ้ งานง่าย 4. มีความสามารถในการสืบค้นเร่งด่วน(Ad hoc query) โดยมีภาษา SQL ค้นหาแบบทันทีทันใด 5. ระบบ DBMS ทำางานได้อย่างมีประสิทธิภาพ Db02-24
  • 25.
    ข้อเสียของ Relation DataModel 1. มีค่าใช้จ่ายทั้งฮาร์ดแวร์และซอฟต์แวร์สูง 2. การออกแบบและการติดตั้งทำาได้ง่ายอาจ ทำาให้ผดพลาดได้ง่ายเช่นกัน ิ 3. เนื่องจากง่ายต่อการใช้ ดังนั้น ผู้ใช้งาน จึงง่ายต่อการสร้างฐานข้อมูล และโปรแกรมที่ใช้งาน ของตนเอง ซึงอาจเกิดปัญหาคล้ายๆ กับ File-based ่ system Db02-25
  • 26.
    Object Oriented DataModel Data model ที่ชื่อว่า SDM (Semantic data model) ที่พัฒนาโดย M.Hammer และ D.McLeod ในปี 1981 ใช้แสดงข้อมูลออกมาในรูปของข้อมูลที่เป็น จริง (Real world) ในรูปของ Object และเรียกว่า Object-Oriented data model (OODM) Db02-26
  • 27.
    Object Oriented DataModel • OODM จะกำาหนด entity ขอบเขตและความสัมพันธ์ ระหว่าง object • โครงสร้างของ OODM ประกอบด้วย class ที่มี object • class เป็นแบบสำาหรับสร้าง object และมีคุณลักษณะ ของ object เช่น ชนิดข้อมูล (Attributes) method ต่างๆ สำาหรับการเข้าถึงข้อมูลและใช้งานร่วมกับ class อืน ่ ได้ ตัวอย่างเช่น • class person ประกอบด้วย รหัส ชือนามสกุล ที่อยู่ ่ เบอร์โทร • class customer ประกอบด้วย person รหัสสมาชิก เป็นต้น Db02-27
  • 28.
    Object Oriented DataModel • Object คือชินส่วนที่ประกอบขึ้นเป็น class ซึงสามารถ ้ ่ ปรับปรุงชินส่วนบางชิ้นได้โดยไม่กระทบกับภาพรวม ้ ทั้งหมด เช่น • class เครื่องคอมพิวเตอร์ ประกอบด้วย object ชิน ้ ส่วนต่างๆ • class person ประกอบด้วย object พนักงานขาย object พนักงานพิมพ์ดีด Db02-28
  • 29.
    Object Oriented DataModel Object of Animal class Obj Obj Obj ect ect ect Obj Obj Obj ect ect ect class Db02-29
  • 30.
    Object Oriented DataModel • method เป็น procedure แสดงพฤติกรรมของ Object เช่น การค้นหาชือพนักงาน การพิมพ์รายงาน ่ เป็นต้น • Instance variable เป็นตัวแปรของ Object ที่ใช้ กำาหนด attribute หรือกำาหนดสถานะ สำาหรับกำาหนด ค่าให้ Object • attribute จะเป็นตัวแปรที่อธิบายถึงคุณสมบัติของ Attribute รหัส Object Person ชือนามสกุล ที่ ่ อยู่ เบอร์โทร Method Employee Customer Sale getname ตำาแหน่ง ยอดซือ,รหัสสมาชิก ้ Db02-30
  • 31.
    Object Oriented DataModel นอกจากนั้น OODM ยังมีคณสมบัติ inheritance ุ ในการสืบทอดคุณสมบัติ (attributes และ methods) ของ class ไปยัง class ที่ลำาดับถัดไปได้ เช่น พนักงาน ประจำา และ พนักงานชัวคราว มาจาก พนักงาน ่ ข้อเสีย 1. OODM ยังขาดมาตรฐานในการใช้งาน 2. โปรแกรมระบบมีขนาดใหญ่ทำาให้ทำางานช้า Person Employee Customer Sale ตำาแหน่ง ยอดซือ,รหัสสมาชิก ้ Db02-31
  • 32.
    Database Schema คือ การอธิบายถึงฐานข้อมูลในส่วนของการออกแบบ ฐานข้อมูลประกอบด้วย กลุ่มของ occurrence หรือ instances คือ กลุ่มข้อมูลที่อยู่ในฐานข้อมูล เช่น student (name,studentid,class,major) - meta-data คือการอธิบายการสร้างและกฎ เกณฑ์ของ Schemas Schema diagram for the Database Db02-32
  • 33.
    บุคลากรใน DBMS • DBA(Database Administrators) มีหน้าที่ • จัดระดับผูใช้ในการเข้าถึงข้อมูล ้ • ประสานและตรวจสอบการใช้งานข้อมูล • จัดการในส่วนของ software และ hardware ของ ระบบงานที่ต้องการ • แก้ปัญหาในระบบงาน เช่น ความปลอดภัย response time • Database Designers • กำาหนดข้อมูลที่จัดเก็บในฐานข้อมูล • การเลือกโครงสร้างของข้อมูลที่เหมาะสม ในการ จัดเก็บและแสดงข้อมูล ก่อนที่จะมีการ implement ฐานข้อมูลขึ้น • สำารวจความต้องการของผูใช้ และออกแบบ ให้ตรง ้ ตามความต้องการของผู้ใช้งาน Db02-33
  • 34.
    ภาษาฐานข้อมูล 1. DDL (data definition language) ใช้ โดย DBA และ Database Designers ในการ กำาหนด schemas (external schemas และ conceptual schema) ใน DBMS มี DDL compiler ซึง ่ เป็น function ในการประมวลคำาสั่งใน DDL เพื่อสร้าง และทำาการจัดเก็บ schemas ในฐานข้อมูล 2. Storage definition language (SDL) ใช้ในการกำาหนด internal schema 3. Data Manipulation language (DML) เป็นภาษาที่ใช้ในการปฏิบัตงานกับข้อมูล ในฐาน ิ ข้อมูล เช่น การเพิมข้อมูล (Insertion), การเรียกข้อมูล ่ (retrieval), การลบข้อมูล (deletion) และการ เปลี่ยนแปลงข้อมูล (modification) Db02-34
  • 35.
    งานบทที่ 2 • จงอธิบายสถาปัตยกรรมของฐานข้อมูล 3 ระดับ • จงบอกเหตุผลของการกำาหนดสถาปัตยกรรม • จงบอกหลักการ mapping • ความอิสระของข้อมูล มีกี่ลักษณะอะไรบ้าง • จงยกตัวอย่าง data model มา 2 ชนิด • จงบอก database schema ของระบบคลังสินค้า Db02-35