SlideShare une entreprise Scribd logo
1  sur  52
Télécharger pour lire hors ligne
หนวยที่ 8
   การออกแบบการจัดการขอมูล
(Data Management Layer Design)


OOAD 1/2551      ดร.สุขสถิต มีสถิตย   1
วัตถุประสงค
เพื่อใหผูเรียน
    เขาใจกระบวนการออกแบบการจัดการขอมูลแบบถาวรในระบบ
    เชิงวัตถุ
    เขาใจรูปแบบการจัดเก็บอ็อบเจกตถาวร
    สามารถแปลงอ็อบเจกตใหเหมาะกับรูปแบบการจัดเก็บได
    สามารถออกแบบเพื่อปรับปรุงประสิทธิภาพแหลงจัดเก็บขอมูล
    ได
    สามารถออกแบบคลาสสําหรับเขาถึงและจัดการขอมูลได


OOAD 1/2551                ดร.สุขสถิต มีสถิตย               2
การออกแบบการจัดการขอมูล
1.   เลือกรูปแบบในการเก็บอ็อบเจกตแบบถาวร
2.   แปลงอ็อบเจกตใหอยูในรูปแบบการจัดเก็บที่เลือก
3.   เพิ่มประสิทธิภาพการจัดเก็บอ็อบเจกตแบบถาวร
4.   ออกแบบคลาสสําหรับเขาถึงและจัดการขอมูล




OOAD 1/2551              ดร.สุขสถิต มีสถิตย          3
การเลือกรูปแบบในการเก็บอ็อบเจกต
                แบบถาวร




OOAD 1/2551      ดร.สุขสถิต มีสถิตย   4
รูปแบบในการเก็บอ็อบเจกตถาวร
    แฟมขอมูล (Files)
          แบบลําดับ (Sequential access file)
          แบบสุม (Random access file)
    ฐานขอมูล (Databases)
          แบบรีเลชันนอล (Relational databases)
          แบบอ็อบเจกตรเลชันนอล (Object-relational databases)
                          ี
          เชิงวัตถุ (Object-oriented databases)




OOAD 1/2551                    ดร.สุขสถิต มีสถิตย              5
แฟมขอมูลการการสังซื้อของลูกคา
                  ่




OOAD 1/2551   ดร.สุขสถิต มีสถิตย   6
แฟมขอมูลแบบลําดับ
(Sequential access file)
    ใชการดําเนินการแบบลําดับ (อาน เขียน คนหา) ได
    ใชไดดีกับการทํางานแบบลําดับ เชน การสรางรายงาน
    การทํางานแบบสุม เชน การคนหา หรือปรับปรุง มี
                     
    ประสิทธิภาพต่ํา เพราะโดยเฉลี่ยในการหาอ็อบเจกตที่
    ตองการ ตองเขาถึง 50% ของเรคอรดทั้งหมด
    มีสองแบบ
          เรียงลําดับ
          ไมเรียงลําดับ




OOAD 1/2551                ดร.สุขสถิต มีสถิตย          7
แฟมขอมูลแบบลําดับสุม
(Random Access Files)
    ใชการดําเนินการแบบสุมหรือแบบตรง (อาน เขียน
                         
    คนหา) ได
    มีประสิทธิภาพสูงในการทํางานแบบสุม เชน การคนหา
                                     
    หรือแกไขอ็อบเจกตตัวใดตัวหนึงโดยเฉพาะ
                                 ่
    ทํางานแบบลําดับ เชน การสรางรายงาน มี
    ประสิทธิภาพนอย




OOAD 1/2551            ดร.สุขสถิต มีสถิตย            8
ชนิดแฟมขอมูลในแอพพลิเคชัน
(Application File Types)
    แฟมขอมูลหลัก (Master Files)
    แฟมขอมูลอางอิง (Look-up files)
    แฟมขอมูลทรานแซ็กชัน (Transaction files)
    แฟมขอมูลการแกไข (Audit file)
    แฟมขอมูลเกา (History file or archive file)
    แฟมขอมูลดัชนี (Index file)
    แฟมขอมูลชั่วคราว (Temporary file or work file)
    แฟมขอมูลสํารอง (Backup file)
    แฟมขอมูลพารามิเตอร (Parameter file)

OOAD 1/2551              ดร.สุขสถิต มีสถิตย           9
ฐานขอมูลแบบรีเลชันนอล
(Relational databases)
    ขอมูลเก็บในรูปกลุมตาราง
                      
    ตารางประกอบดวยแถว
    แตละแถว แบงเปนคอลัมนใชในการเก็บขอมูลชนิด
    พื้นฐาน
    แตละแถวมีไพรมารีคีย (Primary key)
    ตารางทีเกียวพันกันเชือมโยงผานฟอเรนคีย (Foreign
            ่ ่          ่
    key)
    ฟอเรนคีย เก็บไพรมารีคียของเรคอรดที่เกี่ยวของซึ่งอยู
    ในอีกตาราง

OOAD 1/2551                ดร.สุขสถิต มีสถิตย             10
ฐานขอมูลการสั่งซื้อของลูกคา




OOAD 1/2551    ดร.สุขสถิต มีสถิตย   11
ระบบจัดการฐานขอมูลแบบรีเลชันนอล
(Relational Database Management System)
     RDBMS = ซอฟตแวรสําหรับสรางและจัดการ
     ฐานขอมูลแบบรีเลชันนอล
     มีความสามารถในการรักษาความถูกตองในการอางอิง
     (Referential Integrity) และอื่นๆ
     ใชภาษา Structured Query Language (SQL) เปน
     ภาษามาตรฐานในการเขาถึงขอมูลในตาราง




 OOAD 1/2551            ดร.สุขสถิต มีสถิตย          12
ฐานขอมูลแบบอ็อบเจกตรีเลชันนอล
(Object-relational databases)
    พัฒนามาจากฐานขอมูลแบบรีเลชันนอล
    ขอมูลเก็บในรูปกลุมตาราง แตคอลัมนสามารถเก็บอ็อบ
                      
    เจกตได
    โดยใชชนิดขอมูลกําหนดโดยผูใช (user defined
    types)
    ใชระบบจัดการฐานขอมูลแบบอ็อบเจกตรีเลชันนอล
    (Object-Relational Database Management
    System, ORDBMS)
          ใชภาษา SQL ที่ขยายใหจัดการชนิดขอมูลกําหนดโดยผูใช
          ในตารางได
          ไมรองรับการสืบทอดคุณสมบัติ
OOAD 1/2551                   ดร.สุขสถิต มีสถิตย                 13
ฐานขอมูลเชิงวัตถุ
(Object-Oriented Databases)
    เก็บอ็อบเจกตโดยตรง
    เอ็กซเทนต (Extent) = กลุมอ็อบเจกตของคลาสหนึง
                                                  ่
          แตละอ็อบเจกตมี object ID ซึ่งไมซ้ํากัน
    ใชระบบจัดการฐานขอมูลเชิงวัตถุ (Object-Oriented
    Database Management System, OODBMS)
          การรักษาความถูกตองในการอางอิง (Referential Integrity)
          สําคัญ
          รองรับการสืบทอดคุณสมบัติ



OOAD 1/2551                      ดร.สุขสถิต มีสถิตย           14
การเลือกรูปแบบสําหรับจัดเก็บอ็อบ
เจกต
    พิจารณาจุดเดนจุดดอย
    ชนิดขอมูลที่ตองจัดเก็บ
                  
    ประเภทของระบบทีสราง
                       ่
    รูปแบบทีใชในปจจุบัน
            ่
    ความตองการในอนาคต
    เงือนไขอืนๆ
       ่      ่




OOAD 1/2551              ดร.สุขสถิต มีสถิตย   15
ขอดีและขอจํากัดของแฟมขอมูล
    ขอดี
          รองรับโดยภาษาโปรแกรมโดยตรง
          เหมาะกับการจัดเก็บชั่วคราว หรือระยะสั้น
          ออกแบบเพื่อใชงานเฉพาะดานไดดี
    ขอจํากัด
          การจัดการทุกอยางตองทําผานภาษาโปรแกรม
          การควบคุมการเขาถึงขึ้นกับระบบปฏิบัติการ
          มักมีขอมูลซ้าซอน ทําใหเกิดขอผิดพลาดในการปรับปรุง
                       ํ
          ขอมูล



OOAD 1/2551                    ดร.สุขสถิต มีสถิตย               16
ขอดีของระบบจัดการฐานขอมูล
    รองรับการใชขอมูลรวมกันระหวางแอพพลิเคชัน
                 
    สามารถจัดการขอมูลแบบมีโครงสรางปริมาณมากได
    รองรับการคนหาขอมูลแบบซับซอนสําหรับขอมูลแบบมี
    โครงสราง
    สนุบสนุนการสรางรายงานแบบยากจากขอมูลทีเก็บ
                                              ่
    สามารถจัดการทรานแซกชันได




OOAD 1/2551            ดร.สุขสถิต มีสถิตย         17
ขอดีและขอจํากัดของระบบจัดการ
ฐานขอมูลแบบรีเลชันนอล
    ขอดี
          เทคโนโลยีเชิงพานิชยที่ไดรบการยอมรบแลว
                                     ั
          สามารถรองรับความตองการขอมูลที่หลากหลาย
    ขอจํากัด
          ไมรองรับแนวคิดเชิงวัตถุ ทําใหความขัดแยงดานชนิดขอมูล
          กับภาษาโปรแกรม และปญหาในการแปลงรูปแบบระหวางอ็
          อบเจกตและตาราง




OOAD 1/2551                    ดร.สุขสถิต มีสถิตย                   18
ขอดีและขอจํากัดของระบบจัดการ
ฐานขอมูลแบบอ็อบเจกตรีเลชันนอล
    ขอดี
          รับขอดีสืบทอดจาก RDBMS
          รองรับชนิดขอมูลที่ซับซอน
    ขอจํากัด
          การรองรับแนวคิดเชิงวัตถุมีจํากัด ขึ้นอยูกบผูผลิต
                                                   ั 




OOAD 1/2551                     ดร.สุขสถิต มีสถิตย          19
ขอดีและขอจํากัดของระบบจัดการ
ฐานขอมูลเชิงวัตถุ
    ขอดี
          รองรับชนิดขอมูลที่ซับซอน
          รองรับแนวคิดเชิงวัตถุโดยตรง
    ขอจํากัด
          ยังไมคงที่
          ขาดบุคลากรที่เชียวชาญ และตองเรียนรูมาก
                                              




OOAD 1/2551                   ดร.สุขสถิต มีสถิตย   20
แปลงอ็อบเจกตใหอยูในรูปแบบการ
                          
              จัดเก็บที่เลือก




OOAD 1/2551       ดร.สุขสถิต มีสถิตย   21
แปลงอ็อบเจกตเพื่อเก็บใน OODBMS




OOAD 1/2551   ดร.สุขสถิต มีสถิตย   22
การแกปญหา multiple inheritance
    มีซเปอรคลาสมากกวา 1
       ู
    กฎขอ 1a: เพิ่มแอททริบิวใน OODBMS คลาส เพื่อ
    แสดงถึงซูเปอรคลาสเพิ่มเติม
    กฎขอ 1b: ยุบลําดับชั้นการสืบทอดคุณสมบัติ และเอา
    ซูเปอรคลาสออกจากการออกแบบ




OOAD 1/2551             ดร.สุขสถิต มีสถิตย            23
แปลงเปน Single I-B OODBMS




OOAD 1/2551   ดร.สุขสถิต มีสถิตย   24
ใชกฎขอ 1a
    เพิ่มแอททริบิวใน Class1-OODBMS เพื่อแสดงความสัมพันธ
    กับ Super-Class2-OODBMS
    เพิ่มแอททริบิวใน Class2-OODBMS เพื่อแสดงความสัมพันธ
    กับ Super-Class2-OODBMS
    เพิ่มแอททริบิวหนึงคูใน SuperClass2-OODBMS เพื่อแสดง
                     ่
    ความสัมพันธกับ Class1-OODBMS และ Class2-OODBMS
    ใสความสัมพันธ (associations) ระหวาง Class2-OODBMS
    กับ SuperClass2-OODBMS และ Class1-OODBMS กับ
    SuperClass2-OODBMS ที่กาหนดจํานวนถูกตอง (0..*, 0..1)
                               ํ
    และขอบังคับแบบ XOR




OOAD 1/2551               ดร.สุขสถิต มีสถิตย               25
แปลงอ็อบเจกตเพื่อเก็บใน ORDBMS
 กฎ 1: กําหนดตารางสําหรับเอนทิตคอนกรีตคลาส ถาแอ็บสแตร็ก
                                    ี้
 คลาสมีซับคลาสโดยตรงหลายคลาสใหกําหนดเปนตาราง
 กฎ 2: แปลงแอททริบิวที่เก็บคาเดี่ยวเปนคอลัมนในตาราง
 กฎ 3: แปลงโอเปอเรชันและแอททริบิวสืบตอ (derived attribute)
 กลายคาเปน stored procedures หรือ โปรแกรมโมดูล
 กฎ 4: แปลง aggregation และ association แบบ one-to-one
 เปนคอลัมนที่เก็บ Object ID (หรือ PK) ของอ็อบเจกตในตารางที่
 เกี่ยวของ ทําทั้งสองดาน
 กฎ 5: แปลงแอททริบิวที่เก็บหลายคา เปนคอลัมนบรรจุคาเปนชุด
                                                      
 กฎ 6: แปลงกลุมแอททริบิวซ้ําเปนตารางใหม และสราง one-to-
 many association จากตารางเดิมไปตารางใหม

OOAD 1/2551               ดร.สุขสถิต มีสถิตย              26
แปลงอ็อบเจกตเพื่อเก็บใน ORDBMS
    กฎ 7: แปลง aggregation และ association แบบ many-to-
    many เปนคอลัมนที่เก็บชุดของ Object ID (หรือ PK) ของอ็อบ
    เจกตในตารางที่เกี่ยวของ ทําทั้งสองดาน
    กฎ 8: แปลง aggregation และ association แบบผสม (one-
    to-many หรือmany-to-one) ดาน 0..1, 1..1 เพิ่มคอลัมนเก็บ
    ชุดของ Object ID (หรือ PK) ดาน 0..*, 1..* เพิ่มคอลัมนเก็บ
    Object ID (หรือ PK)
    กฎ 9: generalization/inheritance relationship
          a : เพิมคอลัมนเก็บ Object ID (หรือ PK) ในตารางซุปเปอรคลาส
                 ่
          (0..*, 1..1) และซับคลาส (1..1) ขอบังคับแบบ XOR
          b : ยุบ inheritance เอาแอททริบิวของซุปเปอรคลาสมาใสไวในซับ
          คลาส แลวตัดซุปเปอรคลาสออก


OOAD 1/2551                       ดร.สุขสถิต มีสถิตย                    27
ตัวอยาง




OOAD 1/2551   ดร.สุขสถิต มีสถิตย   28
แปลงอ็อบเจกตเพื่อเก็บใน RDBMS
    กฎ 1: กําหนดตารางสําหรับเอนทิตคอนกรีตคลาส ถาแอ็บสแตร็ก
                                      ี้
    คลาสมีซับคลาสโดยตรงหลายคลาสใหกําหนดเปนตาราง
    กฎ 2: แปลงแอททริบิวที่เก็บคาเดี่ยวเปนคอลัมนในตาราง
    กฎ 3: แปลงโอเปอเรชันเปน stored procedures หรือ โปรแกรม
    โมดูล
    กฎ 4: แปลง aggregation และ association แบบ one-to-one
    เปนคอลัมนที่เก็บ PK ของตารางที่เกี่ยวของ (ใช FK) ทําทังสอง
                                                              ้
    ดาน
    กฎ 5: แปลงแอททริบิวที่เก็บหลายคา และกลุมแอท- 
    ทริบิวซ้ําเปนตารางใหม และสราง association แบบ one-to-
    many จากตารางเดิมไปตารางใหม


OOAD 1/2551                  ดร.สุขสถิต มีสถิตย               29
แปลงอ็อบเจกตเพื่อเก็บใน RDBMS
    กฎ 6: แปลง aggregation และ association แบบ many-to-
    many เปนตารางใหมที่เชื่อมสองตารางเดิมเขาดวยกัน ตาราง
    ใหมมีคอลัมนบรรจุ PK จากสองตารางเดิม
    กฎ 7: แปลง aggregation และ association แบบผสม (one-
    to-many หรือmany-to-one) เอา PK จากดาน 0..1, 1..1 ไป
    ใสในคอลัมนใหมในตารางของดาน 0..*, 1..*
    กฎ 8: generalization/inheritance relationship
        a : ให PK ของอ็อบเจกตในตารางซุปเปอรคลาส (0..*,
        1..1) และซับคลาส (1..1) ตรงกัน
        b : ยุบ inheritance เอาแอททริบิวของซุปเปอรคลาสมาใส
        ไวในซับคลาส แลวตัดซุปเปอรคลาสออก



OOAD 1/2551                ดร.สุขสถิต มีสถิตย                 30
การแกปญหา inheritance
วิธีที่ 1 แอททริบิวที่ถายทอดมา คัดลอกไวในทุกตาราง
   ของคลาสลูกหลาน ไมมีตารางสําหรับ abstract คลาส
              ขอดี – เร็วเพราะไมมีการ join
              ขอเสีย – ขนาดฐานขอมูลเพิ่มขึ้น ถามีการแกไข
              superclass ทุกคลาสลูกหลาน ตองแกตาม
วิธีที่ 2 abstract คลาสมีตารางของตัวเอง ซึงตารางของ
                                          ่
   คลาสลูกหลานอางอิง
              ขอดี – ลดความซ้ําซอน
              ขอเสีย – ถาคียรวมเปลี่ยนตองแกไขทั้งในตาราง abstract
                               
              คลาส และซับคลาส



OOAD 1/2551                        ดร.สุขสถิต มีสถิตย                  31
ตัวอยาง




OOAD 1/2551   ดร.สุขสถิต มีสถิตย   32
เพิ่มประสิทธิภาพการจัดเก็บอ็อบ
                   เจกตแบบถาวร




OOAD 1/2551           ดร.สุขสถิต มีสถิตย   39
ประสิทธิภาพ RDB
    การใชพื้นที่ในการจัดเก็บ
          ไมมขอมูลซ้ําซอน
              ี
              ลดการเสียพื้นที่
              ลดขอความขัดแยงระหวางขอมูล
          มีคาวางในตารางนอย
              ลดปญหาในการแปลความหมาย
    ความเร็วในการเขาถึง
          ลดเวลาการเขาถึงทีขอมูล ซึงอาจแยกอยูในหลาย
                            ่        ่
          ตาราง
          ลดการ join ตาราง
OOAD 1/2551                    ดร.สุขสถิต มีสถิตย       40
การทํานอมอลไลเซชัน
(Normalization)
    1NF
          ทุกแถวในตารางมีจํานวนฟลด (คอลัมน) เทากัน และไมมีคา
          null และแตละฟลดเก็บคาเดี่ยว
    2NF
          ทุกคอลัมนทไมใชคียขึ้นกับทุกคียทรวมเปน PK
                     ี่                       ี่
    3NF
          ไมมีคอลัมนที่ขื้นกับคาในคอลัมนที่ไมใช PK




OOAD 1/2551                       ดร.สุขสถิต มีสถิตย            41
ตัวอยาง Non-normalized Data




OOAD 1/2551   ดร.สุขสถิต มีสถิตย   42
ตัวอยาง Normalization
              Original Model




OOAD 1/2551                    ดร.สุขสถิต มีสถิตย   43
ตัวอยาง 3NF Normalized Model




OOAD 1/2551   ดร.สุขสถิต มีสถิตย   44
การเพิ่มความเร็วในการเขาถึง
    ดีนอมอลไลเซชัน (Denormalization)
          เพิ่มขอมูลของตารางหนึ่งเขาไปในอีกตาราง เพื่อเพิ่ม
          ความเร็ว และลดการ join
          ควรทําดีนอมอลไลเซชัน
              ตารางอางอิง (Lookup Tables)
              ความสัมพันธแบบ one-to-one
              รวม attribute ของตารางแม (parent) ไวในตารางลูก (child)




OOAD 1/2551                        ดร.สุขสถิต มีสถิตย                   45
ตัวอยาง




OOAD 1/2551   ดร.สุขสถิต มีสถิตย   46
การทําอินเด็กซ (Indexing)
    อินเด็กซ (Index) = ตารางขนาดเล็กทีบรรจุคาจาก
                                          ่
    คอลัมนในตารางและตําแหนงของคานั้นในตาราง
    การคนหาสามารถใชอินเด็กซเพื่อหาตําแหนงของเร
    คอรดตัวที่ตองการได
    ตารางหนึงมีอนเด็กซไดไมจากัด แตถามากไปจะทําให
              ่   ิ           ํ
    เสียเวลาและทรัพยากรในดานอืน ่




OOAD 1/2551             ดร.สุขสถิต มีสถิตย          47
Indexing Example




OOAD 1/2551   ดร.สุขสถิต มีสถิตย   48
การจัด Cluster
    การจัดคลัสเตอรระหวางไฟล (Inter-file clustering)
          จัดเรคอรดในที่สื่อเก็บขอมูลเพื่อใหเรคอรดที่เหมือนกันถูก
          เก็บไวติดกัน
          การจัดคลัสเตอรระหวางไฟล คลายกับการวางแยม เนย และ
          ขนมปงไวชั้นใกลกนในรานคา เนืองจากสินคาเหลานีมักถูก
                              ั             ่                   ้
          ซื้อไปดวยกัน




OOAD 1/2551                     ดร.สุขสถิต มีสถิตย                 49
ประมาณการขนาดพื้นที่จัดเก็บขอมูล
    ขนาดเรคอรด = ผลรวมของคาเฉลียของความกวางแต
    ละคอลมน
    บวกพื้นทีเพิ่มเติม (ผูผลิตอาจประเมินไวแลว)
             ่
    ประมาณการจํานวนเรคอรดในปจจุบัน และอัตราการ
    เพิ่ม




OOAD 1/2551           ดร.สุขสถิต มีสถิตย       50
ออกแบบคลาสสําหรับเขาถึงและ
           จัดการขอมูล




OOAD 1/2551     ดร.สุขสถิต มีสถิตย   51
ออกแบบคลาสสําหรับจัดการขอมูล
    ออกแบบคลาสดําเนินการเขาถึงและจัดการขอมูล
    (Data access and manipulation class)
          เปนตัวกลางในการแปลงระหวางอ็อบเจกตในแหลงเก็บ
          ขอมูล และอ็อบเจกตในระบบ
    แยกฟงกชนจัดการขอมูลจากคลาสของอ็อบเจกตใน
              ั
    ระบบ
    สําหรับแตละคลาสในระบบมีคลาส DAM สําหรับติดตอ
    กับตารางที่เกียวของในฐานขอมูล (เพิ่ม ลบแกไข)
                  ่




OOAD 1/2551                  ดร.สุขสถิต มีสถิตย            52
ออกแบบคลาสสําหรับจัดการขอมูล




OOAD 1/2551   ดร.สุขสถิต มีสถิตย   53
ตัวอยาง




OOAD 1/2551   ดร.สุขสถิต มีสถิตย   54
กรณีศกษา
                   ึ




OOAD 1/2551     ดร.สุขสถิต มีสถิตย   57
Class Diagram




OOAD 1/2551     ดร.สุขสถิต มีสถิตย   58
ตัวอยางการออกแบบตาราง
                                  Order Table                    OrderItem Table
Customer Table
                                -OrderPrimaryKey                -OrderPrimaryKey
-CustPrimaryKey
                                -CustPrimaryKey                 -CDPrimaryKey
                  1..1 0..*                         1..1 1..*


                                  1..1                             0..*
                                  0..1
                                                                                                                            Review Table
                                                                   1..1
                              OverseasOrder Table                                                                 0..*     -CDPrimaryKey

                              -OrderPrimaryKey                       CD Table                   MktInfo Table
                                                                 -CDPrimaryKey                  -CDPrimaryKey      1..1
                                                                                    1..1 1..1
                                                                                                                   1..1
                                                                   1..1
                                                                   0..*                                                   ArtistInfo Table

                                                                                                                0..*      -CDPrimaryKey
                                                                   Tracks Table
                                                                -CDPrimaryKey
                                                                -TracksPrimaryKey




 OOAD 1/2551                                                ดร.สุขสถิต มีสถิตย                                                        59
ตัวอยาง




OOAD 1/2551   ดร.สุขสถิต มีสถิตย   60

Contenu connexe

Tendances

หน่วยที่1 เรื่อง เทคโนโลยีการสื่อสาร นางสาว สิรินยา ปาโจด ม.5
หน่วยที่1 เรื่อง เทคโนโลยีการสื่อสาร นางสาว สิรินยา  ปาโจด ม.5หน่วยที่1 เรื่อง เทคโนโลยีการสื่อสาร นางสาว สิรินยา  ปาโจด ม.5
หน่วยที่1 เรื่อง เทคโนโลยีการสื่อสาร นางสาว สิรินยา ปาโจด ม.5สิรินยา ปาโจด
 
แนวคิดแผนภาพกระแสข้อมูล
แนวคิดแผนภาพกระแสข้อมูลแนวคิดแผนภาพกระแสข้อมูล
แนวคิดแผนภาพกระแสข้อมูลShengyou Lin
 
ฐานข้อมูลเชิงสัมพันธ์ 2
ฐานข้อมูลเชิงสัมพันธ์ 2ฐานข้อมูลเชิงสัมพันธ์ 2
ฐานข้อมูลเชิงสัมพันธ์ 2kanjana Pongkan
 
การจัดการฐานข้อมูลเชิงสัมพันธ์2
การจัดการฐานข้อมูลเชิงสัมพันธ์2การจัดการฐานข้อมูลเชิงสัมพันธ์2
การจัดการฐานข้อมูลเชิงสัมพันธ์2sunisa3112
 
หน่วยที่ 1
หน่วยที่ 1หน่วยที่ 1
หน่วยที่ 1palmyZommanow
 
หน่วยที่ 1เรื่อง การจัดการข้อมูล ธนพงษ์ น่านกร ม.5
หน่วยที่ 1เรื่อง การจัดการข้อมูล ธนพงษ์  น่านกร ม.5หน่วยที่ 1เรื่อง การจัดการข้อมูล ธนพงษ์  น่านกร ม.5
หน่วยที่ 1เรื่อง การจัดการข้อมูล ธนพงษ์ น่านกร ม.5palmyZommanow
 
หน่วยที่ 3 ระบบฐานข้อมูลเชิงสัมพันธ์
หน่วยที่ 3 ระบบฐานข้อมูลเชิงสัมพันธ์หน่วยที่ 3 ระบบฐานข้อมูลเชิงสัมพันธ์
หน่วยที่ 3 ระบบฐานข้อมูลเชิงสัมพันธ์Kochakorn Noiket
 
ฐานข้อมูลเชิงสัมพันธ์
ฐานข้อมูลเชิงสัมพันธ์ฐานข้อมูลเชิงสัมพันธ์
ฐานข้อมูลเชิงสัมพันธ์kunanya12
 
นางสาว หัทยา เชื้อสมเกียรติ ม.5 pp
นางสาว หัทยา เชื้อสมเกียรติ ม.5 ppนางสาว หัทยา เชื้อสมเกียรติ ม.5 pp
นางสาว หัทยา เชื้อสมเกียรติ ม.5 pphattayachuesomkiet
 
การเขียนแผนภาพ DFD
การเขียนแผนภาพ DFDการเขียนแผนภาพ DFD
การเขียนแผนภาพ DFDskiats
 
งานนำเสนอ1คอม
งานนำเสนอ1คอมงานนำเสนอ1คอม
งานนำเสนอ1คอมkanjana123
 

Tendances (18)

หน่วยที่1 เรื่อง เทคโนโลยีการสื่อสาร นางสาว สิรินยา ปาโจด ม.5
หน่วยที่1 เรื่อง เทคโนโลยีการสื่อสาร นางสาว สิรินยา  ปาโจด ม.5หน่วยที่1 เรื่อง เทคโนโลยีการสื่อสาร นางสาว สิรินยา  ปาโจด ม.5
หน่วยที่1 เรื่อง เทคโนโลยีการสื่อสาร นางสาว สิรินยา ปาโจด ม.5
 
แนวคิดแผนภาพกระแสข้อมูล
แนวคิดแผนภาพกระแสข้อมูลแนวคิดแผนภาพกระแสข้อมูล
แนวคิดแผนภาพกระแสข้อมูล
 
ฐานข้อมูลเชิงสัมพันธ์ 2
ฐานข้อมูลเชิงสัมพันธ์ 2ฐานข้อมูลเชิงสัมพันธ์ 2
ฐานข้อมูลเชิงสัมพันธ์ 2
 
การจัดการฐานข้อมูลเชิงสัมพันธ์2
การจัดการฐานข้อมูลเชิงสัมพันธ์2การจัดการฐานข้อมูลเชิงสัมพันธ์2
การจัดการฐานข้อมูลเชิงสัมพันธ์2
 
Epi info unit08
Epi info unit08Epi info unit08
Epi info unit08
 
Lesson 1
Lesson 1Lesson 1
Lesson 1
 
หน่วยที่ 1
หน่วยที่ 1หน่วยที่ 1
หน่วยที่ 1
 
หน่วยที่ 1เรื่อง การจัดการข้อมูล ธนพงษ์ น่านกร ม.5
หน่วยที่ 1เรื่อง การจัดการข้อมูล ธนพงษ์  น่านกร ม.5หน่วยที่ 1เรื่อง การจัดการข้อมูล ธนพงษ์  น่านกร ม.5
หน่วยที่ 1เรื่อง การจัดการข้อมูล ธนพงษ์ น่านกร ม.5
 
หน่วยที่ 3 ระบบฐานข้อมูลเชิงสัมพันธ์
หน่วยที่ 3 ระบบฐานข้อมูลเชิงสัมพันธ์หน่วยที่ 3 ระบบฐานข้อมูลเชิงสัมพันธ์
หน่วยที่ 3 ระบบฐานข้อมูลเชิงสัมพันธ์
 
Epi info unit07
Epi info unit07Epi info unit07
Epi info unit07
 
ฐานข้อมูลเชิงสัมพันธ์
ฐานข้อมูลเชิงสัมพันธ์ฐานข้อมูลเชิงสัมพันธ์
ฐานข้อมูลเชิงสัมพันธ์
 
นางสาว หัทยา เชื้อสมเกียรติ ม.5 pp
นางสาว หัทยา เชื้อสมเกียรติ ม.5 ppนางสาว หัทยา เชื้อสมเกียรติ ม.5 pp
นางสาว หัทยา เชื้อสมเกียรติ ม.5 pp
 
การเขียนแผนภาพ DFD
การเขียนแผนภาพ DFDการเขียนแผนภาพ DFD
การเขียนแผนภาพ DFD
 
6784678467
67846784676784678467
6784678467
 
งานนำเสนอ1คอม
งานนำเสนอ1คอมงานนำเสนอ1คอม
งานนำเสนอ1คอม
 
Epi info unit06
Epi info unit06Epi info unit06
Epi info unit06
 
Epi info unit05
Epi info unit05Epi info unit05
Epi info unit05
 
ฐานข้อมูลเชิงสัมพันธ์
ฐานข้อมูลเชิงสัมพันธ์ฐานข้อมูลเชิงสัมพันธ์
ฐานข้อมูลเชิงสัมพันธ์
 

En vedette (6)

546345
546345546345
546345
 
D1 overview
D1 overviewD1 overview
D1 overview
 
56456456
5645645656456456
56456456
 
4563456
45634564563456
4563456
 
Chapter004
Chapter004Chapter004
Chapter004
 
Chapter005
Chapter005Chapter005
Chapter005
 

Similaire à 56785774

ความรู้พื้นฐานเกี่ยวกับฐานข้อมูล
ความรู้พื้นฐานเกี่ยวกับฐานข้อมูลความรู้พื้นฐานเกี่ยวกับฐานข้อมูล
ความรู้พื้นฐานเกี่ยวกับฐานข้อมูลIsareeya Keatwuttikan
 
บทที่1ความรู้พื้นฐานเกี่ยวกับฐานข้อมูล และหลักการออกแบบฐานข้อมูล
บทที่1ความรู้พื้นฐานเกี่ยวกับฐานข้อมูล และหลักการออกแบบฐานข้อมูลบทที่1ความรู้พื้นฐานเกี่ยวกับฐานข้อมูล และหลักการออกแบบฐานข้อมูล
บทที่1ความรู้พื้นฐานเกี่ยวกับฐานข้อมูล และหลักการออกแบบฐานข้อมูลniwat50
 
หน่วยที่1 เรื่อง เทคโนโลยีการสื่อสาร นางสาว สิรินยา ปาโจด ม.5
หน่วยที่1 เรื่อง เทคโนโลยีการสื่อสาร นางสาว สิรินยา  ปาโจด ม.5หน่วยที่1 เรื่อง เทคโนโลยีการสื่อสาร นางสาว สิรินยา  ปาโจด ม.5
หน่วยที่1 เรื่อง เทคโนโลยีการสื่อสาร นางสาว สิรินยา ปาโจด ม.5สิรินยา ปาโจด
 
การใช้โปรแกรม Access เบื้องต้น
การใช้โปรแกรม Access เบื้องต้นการใช้โปรแกรม Access เบื้องต้น
การใช้โปรแกรม Access เบื้องต้นtechno UCH
 
Database
DatabaseDatabase
Databasepaween
 
สถาปัตยกรรมฐานข้อมูล
สถาปัตยกรรมฐานข้อมูลสถาปัตยกรรมฐานข้อมูล
สถาปัตยกรรมฐานข้อมูลขาม้า ชนบท
 
นางสาว หัทยา เชื้อสมเกียรติ ม.5 pp
นางสาว หัทยา เชื้อสมเกียรติ ม.5 ppนางสาว หัทยา เชื้อสมเกียรติ ม.5 pp
นางสาว หัทยา เชื้อสมเกียรติ ม.5 pphattayachuesomkiet
 
Data processing
Data processingData processing
Data processingchukiat008
 
นาย ณัฐพงษ์ สุดก้องไพร
นาย ณัฐพงษ์  สุดก้องไพรนาย ณัฐพงษ์  สุดก้องไพร
นาย ณัฐพงษ์ สุดก้องไพรBen Benben
 
นวลลออ ถาวรโรจน์เสถียร เลขที่20 ม.5
นวลลออ ถาวรโรจน์เสถียร เลขที่20 ม.5นวลลออ ถาวรโรจน์เสถียร เลขที่20 ม.5
นวลลออ ถาวรโรจน์เสถียร เลขที่20 ม.5Nuanlaor Nuan
 
สถาปัตยกรรมฐานข้อมูล
สถาปัตยกรรมฐานข้อมูลสถาปัตยกรรมฐานข้อมูล
สถาปัตยกรรมฐานข้อมูลskiats
 
Bacic MySql & script Sql for jhcis
Bacic MySql & script Sql for jhcisBacic MySql & script Sql for jhcis
Bacic MySql & script Sql for jhcisSakarin Habusaya
 
บทที่ 3 ฐานข้อมูลและการค้นคืน
บทที่ 3 ฐานข้อมูลและการค้นคืนบทที่ 3 ฐานข้อมูลและการค้นคืน
บทที่ 3 ฐานข้อมูลและการค้นคืนSrion Janeprapapong
 

Similaire à 56785774 (20)

บท1
บท1บท1
บท1
 
ความรู้พื้นฐานเกี่ยวกับฐานข้อมูล
ความรู้พื้นฐานเกี่ยวกับฐานข้อมูลความรู้พื้นฐานเกี่ยวกับฐานข้อมูล
ความรู้พื้นฐานเกี่ยวกับฐานข้อมูล
 
บท1
บท1บท1
บท1
 
บทที่1ความรู้พื้นฐานเกี่ยวกับฐานข้อมูล และหลักการออกแบบฐานข้อมูล
บทที่1ความรู้พื้นฐานเกี่ยวกับฐานข้อมูล และหลักการออกแบบฐานข้อมูลบทที่1ความรู้พื้นฐานเกี่ยวกับฐานข้อมูล และหลักการออกแบบฐานข้อมูล
บทที่1ความรู้พื้นฐานเกี่ยวกับฐานข้อมูล และหลักการออกแบบฐานข้อมูล
 
บทที่1
บทที่1บทที่1
บทที่1
 
หน่วยที่1 เรื่อง เทคโนโลยีการสื่อสาร นางสาว สิรินยา ปาโจด ม.5
หน่วยที่1 เรื่อง เทคโนโลยีการสื่อสาร นางสาว สิรินยา  ปาโจด ม.5หน่วยที่1 เรื่อง เทคโนโลยีการสื่อสาร นางสาว สิรินยา  ปาโจด ม.5
หน่วยที่1 เรื่อง เทคโนโลยีการสื่อสาร นางสาว สิรินยา ปาโจด ม.5
 
การใช้โปรแกรม Access เบื้องต้น
การใช้โปรแกรม Access เบื้องต้นการใช้โปรแกรม Access เบื้องต้น
การใช้โปรแกรม Access เบื้องต้น
 
Database
DatabaseDatabase
Database
 
สถาปัตยกรรมฐานข้อมูล
สถาปัตยกรรมฐานข้อมูลสถาปัตยกรรมฐานข้อมูล
สถาปัตยกรรมฐานข้อมูล
 
Chapter1
Chapter1Chapter1
Chapter1
 
นางสาว หัทยา เชื้อสมเกียรติ ม.5 pp
นางสาว หัทยา เชื้อสมเกียรติ ม.5 ppนางสาว หัทยา เชื้อสมเกียรติ ม.5 pp
นางสาว หัทยา เชื้อสมเกียรติ ม.5 pp
 
Data processing
Data processingData processing
Data processing
 
นาย ณัฐพงษ์ สุดก้องไพร
นาย ณัฐพงษ์  สุดก้องไพรนาย ณัฐพงษ์  สุดก้องไพร
นาย ณัฐพงษ์ สุดก้องไพร
 
Db1
Db1Db1
Db1
 
นวลลออ ถาวรโรจน์เสถียร เลขที่20 ม.5
นวลลออ ถาวรโรจน์เสถียร เลขที่20 ม.5นวลลออ ถาวรโรจน์เสถียร เลขที่20 ม.5
นวลลออ ถาวรโรจน์เสถียร เลขที่20 ม.5
 
สถาปัตยกรรมฐานข้อมูล
สถาปัตยกรรมฐานข้อมูลสถาปัตยกรรมฐานข้อมูล
สถาปัตยกรรมฐานข้อมูล
 
Database1
Database1Database1
Database1
 
Bacic MySql & script Sql for jhcis
Bacic MySql & script Sql for jhcisBacic MySql & script Sql for jhcis
Bacic MySql & script Sql for jhcis
 
Unit3
Unit3Unit3
Unit3
 
บทที่ 3 ฐานข้อมูลและการค้นคืน
บทที่ 3 ฐานข้อมูลและการค้นคืนบทที่ 3 ฐานข้อมูลและการค้นคืน
บทที่ 3 ฐานข้อมูลและการค้นคืน
 

Plus de TaiMe Sakdisri (18)

Unit04
Unit04Unit04
Unit04
 
Unit03
Unit03Unit03
Unit03
 
Unit02
Unit02Unit02
Unit02
 
Unit01
Unit01Unit01
Unit01
 
Thai hci
Thai hciThai hci
Thai hci
 
Original 02 hci_principles
Original 02 hci_principlesOriginal 02 hci_principles
Original 02 hci_principles
 
Original 01 hci_principles
Original 01 hci_principlesOriginal 01 hci_principles
Original 01 hci_principles
 
Email system
Email systemEmail system
Email system
 
Chapter009
Chapter009Chapter009
Chapter009
 
Chapter008
Chapter008Chapter008
Chapter008
 
Chapter006 (1)
Chapter006 (1)Chapter006 (1)
Chapter006 (1)
 
Chapter006
Chapter006Chapter006
Chapter006
 
Chapter003
Chapter003Chapter003
Chapter003
 
654569
654569654569
654569
 
Chap1 updated
Chap1 updatedChap1 updated
Chap1 updated
 
546656
546656546656
546656
 
6543456
65434566543456
6543456
 
345635
345635345635
345635
 

56785774

  • 1. หนวยที่ 8 การออกแบบการจัดการขอมูล (Data Management Layer Design) OOAD 1/2551 ดร.สุขสถิต มีสถิตย 1
  • 2. วัตถุประสงค เพื่อใหผูเรียน เขาใจกระบวนการออกแบบการจัดการขอมูลแบบถาวรในระบบ เชิงวัตถุ เขาใจรูปแบบการจัดเก็บอ็อบเจกตถาวร สามารถแปลงอ็อบเจกตใหเหมาะกับรูปแบบการจัดเก็บได สามารถออกแบบเพื่อปรับปรุงประสิทธิภาพแหลงจัดเก็บขอมูล ได สามารถออกแบบคลาสสําหรับเขาถึงและจัดการขอมูลได OOAD 1/2551 ดร.สุขสถิต มีสถิตย 2
  • 3. การออกแบบการจัดการขอมูล 1. เลือกรูปแบบในการเก็บอ็อบเจกตแบบถาวร 2. แปลงอ็อบเจกตใหอยูในรูปแบบการจัดเก็บที่เลือก 3. เพิ่มประสิทธิภาพการจัดเก็บอ็อบเจกตแบบถาวร 4. ออกแบบคลาสสําหรับเขาถึงและจัดการขอมูล OOAD 1/2551 ดร.สุขสถิต มีสถิตย 3
  • 4. การเลือกรูปแบบในการเก็บอ็อบเจกต แบบถาวร OOAD 1/2551 ดร.สุขสถิต มีสถิตย 4
  • 5. รูปแบบในการเก็บอ็อบเจกตถาวร แฟมขอมูล (Files) แบบลําดับ (Sequential access file) แบบสุม (Random access file) ฐานขอมูล (Databases) แบบรีเลชันนอล (Relational databases) แบบอ็อบเจกตรเลชันนอล (Object-relational databases) ี เชิงวัตถุ (Object-oriented databases) OOAD 1/2551 ดร.สุขสถิต มีสถิตย 5
  • 6. แฟมขอมูลการการสังซื้อของลูกคา ่ OOAD 1/2551 ดร.สุขสถิต มีสถิตย 6
  • 7. แฟมขอมูลแบบลําดับ (Sequential access file) ใชการดําเนินการแบบลําดับ (อาน เขียน คนหา) ได ใชไดดีกับการทํางานแบบลําดับ เชน การสรางรายงาน การทํางานแบบสุม เชน การคนหา หรือปรับปรุง มี  ประสิทธิภาพต่ํา เพราะโดยเฉลี่ยในการหาอ็อบเจกตที่ ตองการ ตองเขาถึง 50% ของเรคอรดทั้งหมด มีสองแบบ เรียงลําดับ ไมเรียงลําดับ OOAD 1/2551 ดร.สุขสถิต มีสถิตย 7
  • 8. แฟมขอมูลแบบลําดับสุม (Random Access Files) ใชการดําเนินการแบบสุมหรือแบบตรง (อาน เขียน  คนหา) ได มีประสิทธิภาพสูงในการทํางานแบบสุม เชน การคนหา  หรือแกไขอ็อบเจกตตัวใดตัวหนึงโดยเฉพาะ ่ ทํางานแบบลําดับ เชน การสรางรายงาน มี ประสิทธิภาพนอย OOAD 1/2551 ดร.สุขสถิต มีสถิตย 8
  • 9. ชนิดแฟมขอมูลในแอพพลิเคชัน (Application File Types) แฟมขอมูลหลัก (Master Files) แฟมขอมูลอางอิง (Look-up files) แฟมขอมูลทรานแซ็กชัน (Transaction files) แฟมขอมูลการแกไข (Audit file) แฟมขอมูลเกา (History file or archive file) แฟมขอมูลดัชนี (Index file) แฟมขอมูลชั่วคราว (Temporary file or work file) แฟมขอมูลสํารอง (Backup file) แฟมขอมูลพารามิเตอร (Parameter file) OOAD 1/2551 ดร.สุขสถิต มีสถิตย 9
  • 10. ฐานขอมูลแบบรีเลชันนอล (Relational databases) ขอมูลเก็บในรูปกลุมตาราง  ตารางประกอบดวยแถว แตละแถว แบงเปนคอลัมนใชในการเก็บขอมูลชนิด พื้นฐาน แตละแถวมีไพรมารีคีย (Primary key) ตารางทีเกียวพันกันเชือมโยงผานฟอเรนคีย (Foreign ่ ่ ่ key) ฟอเรนคีย เก็บไพรมารีคียของเรคอรดที่เกี่ยวของซึ่งอยู ในอีกตาราง OOAD 1/2551 ดร.สุขสถิต มีสถิตย 10
  • 12. ระบบจัดการฐานขอมูลแบบรีเลชันนอล (Relational Database Management System) RDBMS = ซอฟตแวรสําหรับสรางและจัดการ ฐานขอมูลแบบรีเลชันนอล มีความสามารถในการรักษาความถูกตองในการอางอิง (Referential Integrity) และอื่นๆ ใชภาษา Structured Query Language (SQL) เปน ภาษามาตรฐานในการเขาถึงขอมูลในตาราง OOAD 1/2551 ดร.สุขสถิต มีสถิตย 12
  • 13. ฐานขอมูลแบบอ็อบเจกตรีเลชันนอล (Object-relational databases) พัฒนามาจากฐานขอมูลแบบรีเลชันนอล ขอมูลเก็บในรูปกลุมตาราง แตคอลัมนสามารถเก็บอ็อบ  เจกตได โดยใชชนิดขอมูลกําหนดโดยผูใช (user defined types) ใชระบบจัดการฐานขอมูลแบบอ็อบเจกตรีเลชันนอล (Object-Relational Database Management System, ORDBMS) ใชภาษา SQL ที่ขยายใหจัดการชนิดขอมูลกําหนดโดยผูใช ในตารางได ไมรองรับการสืบทอดคุณสมบัติ OOAD 1/2551 ดร.สุขสถิต มีสถิตย 13
  • 14. ฐานขอมูลเชิงวัตถุ (Object-Oriented Databases) เก็บอ็อบเจกตโดยตรง เอ็กซเทนต (Extent) = กลุมอ็อบเจกตของคลาสหนึง ่ แตละอ็อบเจกตมี object ID ซึ่งไมซ้ํากัน ใชระบบจัดการฐานขอมูลเชิงวัตถุ (Object-Oriented Database Management System, OODBMS) การรักษาความถูกตองในการอางอิง (Referential Integrity) สําคัญ รองรับการสืบทอดคุณสมบัติ OOAD 1/2551 ดร.สุขสถิต มีสถิตย 14
  • 15. การเลือกรูปแบบสําหรับจัดเก็บอ็อบ เจกต พิจารณาจุดเดนจุดดอย ชนิดขอมูลที่ตองจัดเก็บ  ประเภทของระบบทีสราง ่ รูปแบบทีใชในปจจุบัน ่ ความตองการในอนาคต เงือนไขอืนๆ ่ ่ OOAD 1/2551 ดร.สุขสถิต มีสถิตย 15
  • 16. ขอดีและขอจํากัดของแฟมขอมูล ขอดี รองรับโดยภาษาโปรแกรมโดยตรง เหมาะกับการจัดเก็บชั่วคราว หรือระยะสั้น ออกแบบเพื่อใชงานเฉพาะดานไดดี ขอจํากัด การจัดการทุกอยางตองทําผานภาษาโปรแกรม การควบคุมการเขาถึงขึ้นกับระบบปฏิบัติการ มักมีขอมูลซ้าซอน ทําใหเกิดขอผิดพลาดในการปรับปรุง ํ ขอมูล OOAD 1/2551 ดร.สุขสถิต มีสถิตย 16
  • 17. ขอดีของระบบจัดการฐานขอมูล รองรับการใชขอมูลรวมกันระหวางแอพพลิเคชัน  สามารถจัดการขอมูลแบบมีโครงสรางปริมาณมากได รองรับการคนหาขอมูลแบบซับซอนสําหรับขอมูลแบบมี โครงสราง สนุบสนุนการสรางรายงานแบบยากจากขอมูลทีเก็บ ่ สามารถจัดการทรานแซกชันได OOAD 1/2551 ดร.สุขสถิต มีสถิตย 17
  • 18. ขอดีและขอจํากัดของระบบจัดการ ฐานขอมูลแบบรีเลชันนอล ขอดี เทคโนโลยีเชิงพานิชยที่ไดรบการยอมรบแลว ั สามารถรองรับความตองการขอมูลที่หลากหลาย ขอจํากัด ไมรองรับแนวคิดเชิงวัตถุ ทําใหความขัดแยงดานชนิดขอมูล กับภาษาโปรแกรม และปญหาในการแปลงรูปแบบระหวางอ็ อบเจกตและตาราง OOAD 1/2551 ดร.สุขสถิต มีสถิตย 18
  • 19. ขอดีและขอจํากัดของระบบจัดการ ฐานขอมูลแบบอ็อบเจกตรีเลชันนอล ขอดี รับขอดีสืบทอดจาก RDBMS รองรับชนิดขอมูลที่ซับซอน ขอจํากัด การรองรับแนวคิดเชิงวัตถุมีจํากัด ขึ้นอยูกบผูผลิต  ั  OOAD 1/2551 ดร.สุขสถิต มีสถิตย 19
  • 20. ขอดีและขอจํากัดของระบบจัดการ ฐานขอมูลเชิงวัตถุ ขอดี รองรับชนิดขอมูลที่ซับซอน รองรับแนวคิดเชิงวัตถุโดยตรง ขอจํากัด ยังไมคงที่ ขาดบุคลากรที่เชียวชาญ และตองเรียนรูมาก  OOAD 1/2551 ดร.สุขสถิต มีสถิตย 20
  • 21. แปลงอ็อบเจกตใหอยูในรูปแบบการ  จัดเก็บที่เลือก OOAD 1/2551 ดร.สุขสถิต มีสถิตย 21
  • 23. การแกปญหา multiple inheritance มีซเปอรคลาสมากกวา 1 ู กฎขอ 1a: เพิ่มแอททริบิวใน OODBMS คลาส เพื่อ แสดงถึงซูเปอรคลาสเพิ่มเติม กฎขอ 1b: ยุบลําดับชั้นการสืบทอดคุณสมบัติ และเอา ซูเปอรคลาสออกจากการออกแบบ OOAD 1/2551 ดร.สุขสถิต มีสถิตย 23
  • 24. แปลงเปน Single I-B OODBMS OOAD 1/2551 ดร.สุขสถิต มีสถิตย 24
  • 25. ใชกฎขอ 1a เพิ่มแอททริบิวใน Class1-OODBMS เพื่อแสดงความสัมพันธ กับ Super-Class2-OODBMS เพิ่มแอททริบิวใน Class2-OODBMS เพื่อแสดงความสัมพันธ กับ Super-Class2-OODBMS เพิ่มแอททริบิวหนึงคูใน SuperClass2-OODBMS เพื่อแสดง ่ ความสัมพันธกับ Class1-OODBMS และ Class2-OODBMS ใสความสัมพันธ (associations) ระหวาง Class2-OODBMS กับ SuperClass2-OODBMS และ Class1-OODBMS กับ SuperClass2-OODBMS ที่กาหนดจํานวนถูกตอง (0..*, 0..1) ํ และขอบังคับแบบ XOR OOAD 1/2551 ดร.สุขสถิต มีสถิตย 25
  • 26. แปลงอ็อบเจกตเพื่อเก็บใน ORDBMS กฎ 1: กําหนดตารางสําหรับเอนทิตคอนกรีตคลาส ถาแอ็บสแตร็ก ี้ คลาสมีซับคลาสโดยตรงหลายคลาสใหกําหนดเปนตาราง กฎ 2: แปลงแอททริบิวที่เก็บคาเดี่ยวเปนคอลัมนในตาราง กฎ 3: แปลงโอเปอเรชันและแอททริบิวสืบตอ (derived attribute) กลายคาเปน stored procedures หรือ โปรแกรมโมดูล กฎ 4: แปลง aggregation และ association แบบ one-to-one เปนคอลัมนที่เก็บ Object ID (หรือ PK) ของอ็อบเจกตในตารางที่ เกี่ยวของ ทําทั้งสองดาน กฎ 5: แปลงแอททริบิวที่เก็บหลายคา เปนคอลัมนบรรจุคาเปนชุด  กฎ 6: แปลงกลุมแอททริบิวซ้ําเปนตารางใหม และสราง one-to- many association จากตารางเดิมไปตารางใหม OOAD 1/2551 ดร.สุขสถิต มีสถิตย 26
  • 27. แปลงอ็อบเจกตเพื่อเก็บใน ORDBMS กฎ 7: แปลง aggregation และ association แบบ many-to- many เปนคอลัมนที่เก็บชุดของ Object ID (หรือ PK) ของอ็อบ เจกตในตารางที่เกี่ยวของ ทําทั้งสองดาน กฎ 8: แปลง aggregation และ association แบบผสม (one- to-many หรือmany-to-one) ดาน 0..1, 1..1 เพิ่มคอลัมนเก็บ ชุดของ Object ID (หรือ PK) ดาน 0..*, 1..* เพิ่มคอลัมนเก็บ Object ID (หรือ PK) กฎ 9: generalization/inheritance relationship a : เพิมคอลัมนเก็บ Object ID (หรือ PK) ในตารางซุปเปอรคลาส ่ (0..*, 1..1) และซับคลาส (1..1) ขอบังคับแบบ XOR b : ยุบ inheritance เอาแอททริบิวของซุปเปอรคลาสมาใสไวในซับ คลาส แลวตัดซุปเปอรคลาสออก OOAD 1/2551 ดร.สุขสถิต มีสถิตย 27
  • 28. ตัวอยาง OOAD 1/2551 ดร.สุขสถิต มีสถิตย 28
  • 29. แปลงอ็อบเจกตเพื่อเก็บใน RDBMS กฎ 1: กําหนดตารางสําหรับเอนทิตคอนกรีตคลาส ถาแอ็บสแตร็ก ี้ คลาสมีซับคลาสโดยตรงหลายคลาสใหกําหนดเปนตาราง กฎ 2: แปลงแอททริบิวที่เก็บคาเดี่ยวเปนคอลัมนในตาราง กฎ 3: แปลงโอเปอเรชันเปน stored procedures หรือ โปรแกรม โมดูล กฎ 4: แปลง aggregation และ association แบบ one-to-one เปนคอลัมนที่เก็บ PK ของตารางที่เกี่ยวของ (ใช FK) ทําทังสอง ้ ดาน กฎ 5: แปลงแอททริบิวที่เก็บหลายคา และกลุมแอท-  ทริบิวซ้ําเปนตารางใหม และสราง association แบบ one-to- many จากตารางเดิมไปตารางใหม OOAD 1/2551 ดร.สุขสถิต มีสถิตย 29
  • 30. แปลงอ็อบเจกตเพื่อเก็บใน RDBMS กฎ 6: แปลง aggregation และ association แบบ many-to- many เปนตารางใหมที่เชื่อมสองตารางเดิมเขาดวยกัน ตาราง ใหมมีคอลัมนบรรจุ PK จากสองตารางเดิม กฎ 7: แปลง aggregation และ association แบบผสม (one- to-many หรือmany-to-one) เอา PK จากดาน 0..1, 1..1 ไป ใสในคอลัมนใหมในตารางของดาน 0..*, 1..* กฎ 8: generalization/inheritance relationship a : ให PK ของอ็อบเจกตในตารางซุปเปอรคลาส (0..*, 1..1) และซับคลาส (1..1) ตรงกัน b : ยุบ inheritance เอาแอททริบิวของซุปเปอรคลาสมาใส ไวในซับคลาส แลวตัดซุปเปอรคลาสออก OOAD 1/2551 ดร.สุขสถิต มีสถิตย 30
  • 31. การแกปญหา inheritance วิธีที่ 1 แอททริบิวที่ถายทอดมา คัดลอกไวในทุกตาราง ของคลาสลูกหลาน ไมมีตารางสําหรับ abstract คลาส ขอดี – เร็วเพราะไมมีการ join ขอเสีย – ขนาดฐานขอมูลเพิ่มขึ้น ถามีการแกไข superclass ทุกคลาสลูกหลาน ตองแกตาม วิธีที่ 2 abstract คลาสมีตารางของตัวเอง ซึงตารางของ ่ คลาสลูกหลานอางอิง ขอดี – ลดความซ้ําซอน ขอเสีย – ถาคียรวมเปลี่ยนตองแกไขทั้งในตาราง abstract   คลาส และซับคลาส OOAD 1/2551 ดร.สุขสถิต มีสถิตย 31
  • 32. ตัวอยาง OOAD 1/2551 ดร.สุขสถิต มีสถิตย 32
  • 33. เพิ่มประสิทธิภาพการจัดเก็บอ็อบ เจกตแบบถาวร OOAD 1/2551 ดร.สุขสถิต มีสถิตย 39
  • 34. ประสิทธิภาพ RDB การใชพื้นที่ในการจัดเก็บ ไมมขอมูลซ้ําซอน ี ลดการเสียพื้นที่ ลดขอความขัดแยงระหวางขอมูล มีคาวางในตารางนอย ลดปญหาในการแปลความหมาย ความเร็วในการเขาถึง ลดเวลาการเขาถึงทีขอมูล ซึงอาจแยกอยูในหลาย ่ ่ ตาราง ลดการ join ตาราง OOAD 1/2551 ดร.สุขสถิต มีสถิตย 40
  • 35. การทํานอมอลไลเซชัน (Normalization) 1NF ทุกแถวในตารางมีจํานวนฟลด (คอลัมน) เทากัน และไมมีคา null และแตละฟลดเก็บคาเดี่ยว 2NF ทุกคอลัมนทไมใชคียขึ้นกับทุกคียทรวมเปน PK ี่ ี่ 3NF ไมมีคอลัมนที่ขื้นกับคาในคอลัมนที่ไมใช PK OOAD 1/2551 ดร.สุขสถิต มีสถิตย 41
  • 36. ตัวอยาง Non-normalized Data OOAD 1/2551 ดร.สุขสถิต มีสถิตย 42
  • 37. ตัวอยาง Normalization Original Model OOAD 1/2551 ดร.สุขสถิต มีสถิตย 43
  • 38. ตัวอยาง 3NF Normalized Model OOAD 1/2551 ดร.สุขสถิต มีสถิตย 44
  • 39. การเพิ่มความเร็วในการเขาถึง ดีนอมอลไลเซชัน (Denormalization) เพิ่มขอมูลของตารางหนึ่งเขาไปในอีกตาราง เพื่อเพิ่ม ความเร็ว และลดการ join ควรทําดีนอมอลไลเซชัน ตารางอางอิง (Lookup Tables) ความสัมพันธแบบ one-to-one รวม attribute ของตารางแม (parent) ไวในตารางลูก (child) OOAD 1/2551 ดร.สุขสถิต มีสถิตย 45
  • 40. ตัวอยาง OOAD 1/2551 ดร.สุขสถิต มีสถิตย 46
  • 41. การทําอินเด็กซ (Indexing) อินเด็กซ (Index) = ตารางขนาดเล็กทีบรรจุคาจาก ่ คอลัมนในตารางและตําแหนงของคานั้นในตาราง การคนหาสามารถใชอินเด็กซเพื่อหาตําแหนงของเร คอรดตัวที่ตองการได ตารางหนึงมีอนเด็กซไดไมจากัด แตถามากไปจะทําให ่ ิ ํ เสียเวลาและทรัพยากรในดานอืน ่ OOAD 1/2551 ดร.สุขสถิต มีสถิตย 47
  • 42. Indexing Example OOAD 1/2551 ดร.สุขสถิต มีสถิตย 48
  • 43. การจัด Cluster การจัดคลัสเตอรระหวางไฟล (Inter-file clustering) จัดเรคอรดในที่สื่อเก็บขอมูลเพื่อใหเรคอรดที่เหมือนกันถูก เก็บไวติดกัน การจัดคลัสเตอรระหวางไฟล คลายกับการวางแยม เนย และ ขนมปงไวชั้นใกลกนในรานคา เนืองจากสินคาเหลานีมักถูก ั ่ ้ ซื้อไปดวยกัน OOAD 1/2551 ดร.สุขสถิต มีสถิตย 49
  • 44. ประมาณการขนาดพื้นที่จัดเก็บขอมูล ขนาดเรคอรด = ผลรวมของคาเฉลียของความกวางแต ละคอลมน บวกพื้นทีเพิ่มเติม (ผูผลิตอาจประเมินไวแลว) ่ ประมาณการจํานวนเรคอรดในปจจุบัน และอัตราการ เพิ่ม OOAD 1/2551 ดร.สุขสถิต มีสถิตย 50
  • 45. ออกแบบคลาสสําหรับเขาถึงและ จัดการขอมูล OOAD 1/2551 ดร.สุขสถิต มีสถิตย 51
  • 46. ออกแบบคลาสสําหรับจัดการขอมูล ออกแบบคลาสดําเนินการเขาถึงและจัดการขอมูล (Data access and manipulation class) เปนตัวกลางในการแปลงระหวางอ็อบเจกตในแหลงเก็บ ขอมูล และอ็อบเจกตในระบบ แยกฟงกชนจัดการขอมูลจากคลาสของอ็อบเจกตใน ั ระบบ สําหรับแตละคลาสในระบบมีคลาส DAM สําหรับติดตอ กับตารางที่เกียวของในฐานขอมูล (เพิ่ม ลบแกไข) ่ OOAD 1/2551 ดร.สุขสถิต มีสถิตย 52
  • 48. ตัวอยาง OOAD 1/2551 ดร.สุขสถิต มีสถิตย 54
  • 49. กรณีศกษา ึ OOAD 1/2551 ดร.สุขสถิต มีสถิตย 57
  • 50. Class Diagram OOAD 1/2551 ดร.สุขสถิต มีสถิตย 58
  • 51. ตัวอยางการออกแบบตาราง Order Table OrderItem Table Customer Table -OrderPrimaryKey -OrderPrimaryKey -CustPrimaryKey -CustPrimaryKey -CDPrimaryKey 1..1 0..* 1..1 1..* 1..1 0..* 0..1 Review Table 1..1 OverseasOrder Table 0..* -CDPrimaryKey -OrderPrimaryKey CD Table MktInfo Table -CDPrimaryKey -CDPrimaryKey 1..1 1..1 1..1 1..1 1..1 0..* ArtistInfo Table 0..* -CDPrimaryKey Tracks Table -CDPrimaryKey -TracksPrimaryKey OOAD 1/2551 ดร.สุขสถิต มีสถิตย 59
  • 52. ตัวอยาง OOAD 1/2551 ดร.สุขสถิต มีสถิตย 60