?????????????????????

Document Sample
????????????????????? Powered By Docstoc
					             4123201
         ระบบการจัดการฐานข้อมูล
DATABASE MANAGEMENT SYSTEM
คาอธิบายรายวิชา

   ความรู้เกี่ยวกับระบบฐานข้อมูล การประยุกต์ Link Lists
    ความสัมพันธ์ระหว่าง Record ในฐานข้อมูล การใช้ Key มากกว่า 1
    Key ในการประมวลผล รูปแบบ Relation ระบบ Hierarchy และระบบ
    Network การป้องกันข้อมูล ระบบการสารองข้อมูลและการเรียกคืน
    การวิเคราะห์ออกแบบข้อมูล การบริหารฐานข้อมูล




                                                              2
การวัดผลการเรียน

   • สอบกลางภาค 30 คะแนน
   • เข้าเรียน 10 คะแนน
   • Project 30 คะแนน
   คะแนนปลายภาค 30




                            3
   การประเมินผลการเรียน

   ตามเกณฑ์
     ระดับคะแนน A = 80 - 100
     ระดับคะแนน B+ = 75 – 79
     ระดับคะแนน B = 70 – 74
     ระดับคะแนน C+ = 65 – 69
     ระดับคะแนน C = 60 – 64
     ระดับคะแนน D+ = 55 – 59
     ระดับคะแนน D = 50 – 54
     ระดับคะแนน E = 0 - 49



                                4
Part I Introduction
                               Student Database
โครงสร้างลาดับชั้นข้อมูล       Course         Financial
                                File             File
            Database              Personal History
                                        File

                                        Course File
                           Name             Course Date Grade
              File         John Stewart     IS101 F01 B+
                           Karen Taylor     IS101 F02 A
                           Emily Vincent    IS101 F01 C
                           Name              Course Date Grade
             Record        John Stewart      IS101 F01 B+

              Field        John Stewart

              Byte         01001010 (เท่ากับอักษร J ในตาราง ASCII)

               Bit         0
                                                                     6
โครงสร้างแฟ้มข้อมูล
                                           ฟิลด์
                               ไบต์                                    เรคอร์ด

  รหัสผู้ใช้     ่
               ชือ - นามสกุล      เพศ    ที่อยู่     เบอร์ติดต่อ    วันเกิด
  B00514       สุวารี ใจสบาย       ญ  34 คลองสาน     025478556     12/01/1977
  A00128       กนก ยินดี           ช  126 บางพลัด    026441255     09/07/1986
  A01245       เพ็ญศรี สุขสม       ญ  49/2 จตุจกรั   014544255     05/11/1971
  C13244       บุญมี ยินดี         ช   66 ลาดพร้าว   066458554     26/04/1980    ไฟล์
  .            .                      .     .                .          .
  .            .                      .     .                .          .
  .            .                      .     .                .




                                                                                   7
ความสาคัญของข้อมูล


           เบอร์โทรต้นทาง
           เบอร์โทรปลายทาง
           เวลาที่โทรออก
           วันที่


                File         คานวณค่าใช้จ่าย

                                           8
  เก็บไฟล์อย่างไร                                         FILE
0861106494   0817159090       1415 1416        02032546
0898821136   025832478        0536 0542        02032546
0815946255   0815122362       0821 0840        03032546   RECORD
0866231221   025148787        1121 1132        04032546
0814556845   0898559512       1311 1323        04032546
     .             .      .           .               .
     .             .      .           .               .

เบอร์โทร       เบอร์ปลายทาง เริ่มต้น สิ้นสุด     วันที่
           FIELD
                                                                 9
ตารางที่ 1
    เบอร์โทร เบอร์ปลายทาง เวลาเริ่มต้น เวลาสิ้นสุด วันที่

             ตารางที่ 2
                เบอร์โทร ชื่อ-นามสกุล ที่อยู่ เบอร์ติดต่อ อีเมล์

                          ตารางที่ 3
                            เบอร์โทร ปัญหา แก้ไข ผู้รับผิดชอบ วันที่ เวลา



                          DATABASE
                                                                       10
                          Database system
แผนกบัญชี          แผนกประชาสัมพันธ์




                                   ฝ่ายบริหาร



            DATABASE
                                                11
                          ระบบการจัดการฐานข้อมูล
                 Database management systems : DBMS

 ซอฟท์แวร์ระบบชนิดหนึ่ง ที่ถูกสร้างขึ้นมาเพื่อจัดการ
ข้อมูลในฐานข้อมูล เป็นตัวกลางระหว่างผู้ใช้กับฐานข้อมูล
ส่วนประกอบของ DBMS
   • SQL (Structure Query Language)
   • โปรแกรมอานวยความสะดวก (General Utilities)
   • โปรแกรมช่วยสร้างโปรแกรมประยุกต์และรายงาน
     (Applicaton and Report Generators)
   • พจนานุกรมข้อมูล (Data Dictionary)
                                                    12
                        ระบบการจัดการฐานข้อมูล
                Database management systems : DBMS

ความสามารถเบื้องต้น
• สร้างตารางข้อมูล
• เพิ่ม ปรับปรุง เรียกค้นข้อมูล
• เก็บรายละเอียดเกี่ยวกับข้อมูลไว้ใน data dictionary
• มีระบบเสริมการทางาน
• มีระบบสารองข้อมูล
• สนับสนุนเครื่องมือการทารายงาน
                                                       13
               ซอฟท์แวร์ระบบจัดการฐานข้อมูล
      ชื่อซอฟท์แวร์               บริษัทผู้ผลิต                   หมายเหตุ
DB2                    IBM                                   ซอฟท์แวร์ลิขสิทธิ์
Informix               IBM                                   ซอฟท์แวร์ลิขสิทธิ์
Ingres                 Ingres corporation                    ฟรีซอฟท์แวร์
InterBase              Borland                               ซอฟท์แวร์ลิขสิทธิ์
MaxDB                  MySQL AB                              ฟรีซอฟท์แวร์
Microsoft Access       Microsoft                             ซอฟท์แวร์ลิขสิทธิ์
Microsoft SQL Server   Microsoft                             ซอฟท์แวร์ลิขสิทธิ์
MySQL                  MySQL AB                              ฟรีซอฟท์แวร์
Oracle                 Oracle                                ซอฟท์แวร์ลิขสิทธิ์
PostgreSQL             PostgreSQL Global Development Group   ฟรีซอฟท์แวร์
Sybase                 Sybase Inc.                           ซอฟท์แวร์ลิขสิทธิ์
                                                                                  14
    องค์ประกอบของระบบฐานข้อมูล
ฮาร์ดแวร์                      ซอฟท์แวร์
- หน่วยนาข้อมูลเข้า             - โปรแกรมจัดการฐานข้อมูล
- หน่วยนาข้อมูลออก
- หน่วยประมวลผลกลาง
- หน่วยเก็บข้อมูลสารอง
- อุปกรณ์การสื่อสาร
                          ข้อมูล
                         ฐานข้อมูล
 บุคลากร
 - ผู้ใช้งาน                    ขั้นตอนการดาเนินงาน
 - ผู้ควบคุมระบบ                - ขั้นตอนการปฏิบัติการของ
 - ผู้พัฒนาโปรแกรม              ผู้ปฏิบัติงาน


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


วิว 1           วิว 2     ...   วิว n    ระดับภายนอก
                                         External level

         สกีมม่า (Schema)
                                   ระดับแนวคิด
        (Global logical view)      Conceptual level

             Physical
             Storage        ระดับภายใน
              of data       Internal level
                                                          16
ประโยชน์ของสถาปัตยกรรม 3 ระดับ
 มุมมองข้อมูลของผู้ใช้งาน
   •   ทาให้ผู้ใช้งานไม่ต้องสนใจว่าข้อมูลจะถูกเก็บอย่างไรในดิสค์ เมื่อต้องการ
       ข้อมูลก็สามารถอ้างถึงตารางและเขตข้อมูลนั้น ๆ ได้โดยตรง ซึ่ง DBMS จะ
       ทาหน้าที่ดูว่าข้อมูลที่ต้องการนั้นเก็บอยู่ ณ ตาแหน่งใด (track ใด cylinder
       ใด ในดิสค์ และทาการดึงข้อมูลนั้นจากดิสก์มาให้แก่ผู้ใช้)

 ความเป็นอิสระกันของข้อมูล
   •   การเปลี่ ย นแปลงข้ อ มู ล ในระดั บ แนวคิ ด ไม่ มี ผ ลกระทบกั บ โปรแกรม
       ประยุกต์ที่ผู้ใช้เขียนขึ้นในระดับภายนอก
   •   การเปลี่ยนแปลงวิธีการเก็บข้อมูลในสื่อ ไม่มีผลกระทบกับการเก็บข้อมูล
       ระดับแนวคิด
                                                                              17
Part II Relational Database
                                      ฐานข้อมูลเชิงสัมพันธ์
                                          (Relational database)




   ปี ค.ศ.1970 โดย ดร.เอดการ์ คอดด์ (Edgar F. Codd)
   เป็นรูปแบบที่ทาความเข้าใจได้ง่าย
                                      ่
    สามารถจัดการกับข้อมูลได้โดยใช้คาสังง่าย ๆ
   ส่วนของการติดต่อกับผู้ใช้ กับส่วนของการเก็บข้อมูลจริงนั้น
    มีความเป็นอิสระต่อกัน นั่นคือในมุมมองของผู้ใช้จะไม่รู้สึก
    ถึงรายละเอียดที่ซับซ้อนของการเก็บจริง


                                                                19
                                 ฐานข้อมูลเชิงสัมพันธ์

ศัพท์ที่เกี่ยวข้อง
 รีเลชั่น (Relation)
 แอทตริบิวต์ (Attribute)
 โดเมน (Domain)
 ทัพเพิล (Tuple)
 ดีกรี (Degree)
 คาร์ดินัลลิตี้ (Cardinality)



                                                     20
                                        ฐานข้อมูลเชิงสัมพันธ์

 รีเลชั่น หมายถึง การกาหนดตารางที่ประกอบด้วยคอลัมน์และ
  แถว หรือตาราง 2 มิติ
 ตาราง (table)




                                                            21
                                          ฐานข้อมูลเชิงสัมพันธ์

ลักษณะของรีเลชั่น
1. เป็นตาราง 2 มิติ
2. แต่ละช่องของตารางต้องบรรจุข้อมูลเพียงค่าเดียว
3. ไม่จาเป็นต้องเรียงลาดับคอลัมน์ หรือแถวใด ๆ
4. ข้อมูลในแต่ละแถวต้องไม่ซ้ากัน
5. ข้อมูลในแต่ละคอลัมน์จะต้องเป็นข้อมูลประเภทเดียวกัน




                                                              22
                                           ฐานข้อมูลเชิงสัมพันธ์

 แอทตริบิวต์ คือ คุณสมบัติของรีเลชั่น หรือคอลัมน์ของตาราง
  นั่นเอง หรืออาจเทียบได้กับฟิลด์ในแฟ้มข้อมูล
 นักศึกษา (รหัสนักศึกษา, ชื่อ-นามสกุล, เพศ, เบอร์ติดต่อ)




                                                               23
                                                         ฐานข้อมูลเชิงสัมพันธ์

   Composite attribute หรือ แอทตริบิวต์ผสม
      แอทตริบิวต์ที่ประกอบขึ้นมาจากข้อมูลมากกว่า 1 ค่า เป็นการรวมหลาย
       แอทตริบิวต์เข้าด้วยกัน สามารถนาไปแยกให้กลายเป็นแอทตริบิวต์เดี่ยว
       ได้ เช่น แอทตริบิวต์ที่อยู่ ซึ่งประกอบด้วย บ้านเลขที่ ถนน อาเภอ จังหวัด
       รหัสไปรษณีย์ แยกได้ถึง 5 แอทตริบวต์  ิ
   Derived atrribute หรือ แอทตริบิวต์ที่แปลค่ามา
      แอทตริบิวต์ที่อาจไม่มีข้อมูลใด ๆ แต่จะได้ค่าข้อมูลมาจากการคานวณจาก
       แอทตริ บิ ว ต์ อื่ น เช่ น แอทตริ บิ ว ต์ อ ายุ ก ารท างาน ค านวณมาจาก
       แอทตริบิวต์วันเริ่มทางาน ลบกับวันที่ปัจจุบัน เป็นต้น


                                                                                 24
                                                     ฐานข้อมูลเชิงสัมพันธ์

 โดเมน (Domain)
   คื อ การระบุ ข อบเขตข้ อ มู ล ที่ เ ป็ น ไปได้ ใ ห้ แ ก่ แ อทตริ บิ ว ต์
   หนึ่ง ๆ เพื่อเป็นการรับประกันความถูกต้องข้อมูลในระดับ
   หนึ่ง
   โดเมนของแอทตริ บิ ว ต์ เ พศ คื อ ชาย หรื อ หญิ ง อย่ า งใด
   อย่างหนึ่งเท่านั้น
   โดเมนของเงิ น เดื อ นอาจารย์ จ ะต้ อ งมี ค่ า ไม่ เ ป็ น ศู น ย์ และ
   ไม่ติดลบ
   โดเมนของชื่อสมาชิกจะต้องเป็นตัวอักษรเท่านั้น

                                                                          25
                                             ฐานข้อมูลเชิงสัมพันธ์

ทัพเพิล (Tuple)
  คือ แถว หรือระเบียน ในตาราง
ดีกรี (Degree)
   คือ จานวนแอทตริบิวต์ในรีเลชั่น ดีกรีอาจชี้ให้เห็นถึงความ
   ละเอียดของรายการข้อมูลก็ได้
คาร์ดินัลลิตี้ (Cardinality)
  คือจานวนแถว หรือจานวนทัพเพิล ภายในตารางหนึ่ง ๆ คาร์
  ดินัลลิตี้ชี้ให้เห็นถึงจานวนรายการข้อมูลในตารางหนึ่ง ๆ

                                                                 26
                                                ฐานข้อมูลเชิงสัมพันธ์


   คีย์หลัก (Primary key)
                                                      ่
     แอทตริบิวต์ที่ใช้เพื่อการเจาะจงข้อมูลแถวใดแถวหนึงในตาราง
       โดยที่คีย์หลัก อาจประกอบด้วยแอทตริบิวต์ 1 ตัวหรือมากกว่า 1
       ตัว ที่สามารถใช้เป็นตัวเจาะจงบอกว่ากาลังอ้างอิงถึงทัพเพิลไหน
       หรือแถวไหน
     อาศัยคีย์หลักเพื่อชี้เฉพาะเจาะจงว่าต้องการระบุถึงข้อมูลแถวใด
       แถวหนึ่งในรีเลชั่น



                                                                     27
                                                   ฐานข้อมูลเชิงสัมพันธ์


คุณสมบัติของแอทตริบิวต์ที่เป็นคีย์หลัก
  (1) ค่าของข้อมูลทุกแถวในแอทตริบิวต์ที่ทาหน้าที่เป็นคีย์หลักต้องไม่ซ้ากัน
  (2) แอทตริบิวต์ที่เป็นคีย์หลักอาจประกอบขึ้นจากแอทตริบิวต์มากกว่า 1
  แอทตริบิวต์ เพื่อให้ได้เป็นค่าที่ไม่ซ้ากันในแต่ละแถว เรียกว่า Composite
  key
  (3) แอทตริบิวต์ที่เป็นคีย์หลักจะต้องไม่เป็นค่าว่าง (null values)




                                                                       28
                                                             ฐานข้อมูลเชิงสัมพันธ์

                                                                           ลูกค้า




ลูกค้า (รหัสลูกค้า, ชื่อ-นามสกุล, ที่อยู่, โปรโมชัน, เบอร์ติดต่อ, หมายเลขประจาตัวประชาชน)


                                                                                     29
                                                         ฐานข้อมูลเชิงสัมพันธ์


                                                               การลงทะเบียน




การลงทะเบียน (รหัสนักศึกษา, รหัสวิชาที่ลงทะเบียน, รหัสผู้สอน, สถานที,่ วันที่เรียน


                                                                                 30
                                                                         ฐานข้อมูลเชิงสัมพันธ์

   คีย์นอก หรือคีย์ต่างด้าว (Foreign key)
      ความสั ม พั น ธ์ ที่ เ กิ ด ขึ้ น ระหว่ า งรี เ ลชั น จะอาศั ย แอทตริ บิ ว ต์ ตั ว หนึ่ ง ซึ่ ง ไป
        สั ม พั น ธ์ กั บ คี ย์ ห ลั ก ในรี เ ลชั น อื่ น เกิ ด เป็ น การเชื่ อ มโยงระหว่ า งรี เ ลชั น
        แอทตริบิวต์นี้เรียกว่า คีย์นอก หรือคีย์ต่างด้าว
      คือ แอทตริบิวต์ที่ใช้แสดงความสัมพันธ์ระหว่างรีเลชัน
      คื อ กลุ่ ม ของแอทตริ บิ ว ต์ ใ นรี เ ลชั น หนึ่ ง ที่ มี คุ ณ สมบั ติ เ ป็ น คี ย์ ห ลั ก และไป
        ปรากฏในอีกรีเลชั่นหนึ่ง
      คือ แอทตริบิวต์ที่ข้อมูลมีความสอดคล้องกับคีย์หลักในอีกรีเลชันหนึ่ง




                                                                                                      31
                                                            ฐานข้อมูลเชิงสัมพันธ์

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




                                                                                    32
ฐานข้อมูลเชิงสัมพันธ์




                    33
                                                                      ฐานข้อมูลเชิงสัมพันธ์

คีย์คู่แข่ง (Candidate key)
     รีเลชันหนึ่ง ๆ อาจมีแอทตริบิวต์ที่ สามารถทาหน้าที่เป็นคีย์หลักได้มากกว่า
       หนึ่งแอทตริบิวต์ แอทตริบิวต์เหล่านั้น จะถูกเรียกว่า คีย์คู่แข่ง
     คื อ แอทตริ บิ ว ต์ ห รื อ กลุ่ ม ของแอทตริ บิ ว ต์ อื่ น ที่ ส ามารถท าหน้ า ที่ เ ป็ น คี ย์
       หลักได้ อาจเรียกอีกชื่อหนึ่งว่า คีย์สารอง หรือ alternate key
     คีย์หลักคือคีย์ที่ถูกเลือกมาจากกลุ่มของคีย์คู่แข่งในรีเลชั่นหนึ่ง ๆ นั่นเอง




                                                                                                  34
Part III Structure Query Language
                                                                                       SQL

ภาษาสอบถามเชิงโครงสร้าง (Structure Query Language) หรือ SQL
  หรือ ภาษาซีเควล
 เป็นภาษาพื้นฐานสาหรับการจัดการบริหารข้อมูลสาหรับระบบฐานข้อมูล
  เชิงสัมพันธ์
 วั ต ถุ ป ระสงค์ เ พื่อ ใช้ ส ร้ า งฐานข้ อ มู ล และโครงสร้ า งรี เ ลชั น สนั บ สนุ น การ
  จัดการข้อมูลพื้นฐาน ได้แก่ การเพิ่ม ปรับปรุง และลบข้อมูล และสนับสนุน
  การคิวรีข้อมูล
 จัดเป็นภาษารุ่นที่ 4 (Fourth Generation language)
 คุณสมบัติสาคัญคือ เรียนรู้ใช้งานได้ง่าย นาไปใช้ได้อย่างมีประสิทธิภาพ มี
  ลักษณะเป็นภาษาธรรมชาติใกล้เคียงกับภาษามนุษย์
 สามารถใช้ได้กับเครื่องคอมพิวเตอร์ทุกแพลตฟอร์ม


                                                                                              36
                                                                                 SQL
ประเภทของคาสั่งในภาษาซีเควล
   คาสั่งนิยามข้อมูล (Data definition) ได้แก่ คาสั่งที่ใช้ในการจัดการโครงสร้างตาราง
    ในฐานข้อมูล เช่น คาสั่งที่ใช้สร้างฐานข้อมูล คาสั่งสร้างตาราง คาสั่งเพิ่มและลบ
    ฟิลด์ในตาราง เป็นต้น
      ได้แก่ Create Database, Create Table, Alter Table เป็นต้น
   คาสั่งจัดการข้อมูล (Data manipulation) เป็นกลุ่มคาสั่งที่ใช้จัดการกับข้อมูลที่อยู่
    ภายในตารางข้อมูล ไม่เกี่ยวกับโครงสร้างตาราง เช่น การเพิ่มการปรับปรุง การลบ
    ข้อมูลในตาราง เป็นต้น
      ได้แก่   Insert Update และ Delete
   คาสั่งเรียกค้นข้อมูล (Data retrieval) เป็นคาสั่งสาหรับเรียกดูข้อมูลจากตาราง เพื่อ
    แสดงผลออกมาตามเงื่อนไขที่ระบุ ได้แก่ คาสั่ง select รูปแบบไวยากรณ์ของคาสั่ง
    select มีความยืดหยุ่นมากพอที่จะสามารถค้นหาข้อมูลภายใต้เงื่อนไขที่ซับซ้อนได้
                                                                                    37
                                                                        SQL
ประเภทการใช้งานของภาษาซีเควล
(1) การใช้งานแบบโต้ตอบ (Interactive SQL)
            ผู้ใช้สามารถพิมพ์ประโยคคาสั่งในภาษาซีเควลผ่านทางจอภาพ และ
   คาสั่งจะถูกนาไปปฏิบัติทันที มักให้สิทธิแก่ผู้ใช้ที่มีหน้าที่โดยตรงเท่านั้น
(2) การใช้งานแบบฝังตัวในโปรแกรม (Embedded SQL)
            หมายถึงการสอดแทรกประโยคคาสั่งภาษาซีเควลไว้ในภาษาระดับสูง
   เพื่อปฏิบัติการกับฐานข้อมูล ภาษาระดับสูงที่สนับสนุนวิธีการนี้ ได้แก่ ภาษาซี
   ภาษาโคบอล ภาษาปาสคาล เป็นต้น
(3) การใช้งานแบบโปรแกรม (Batch SQL)
          หมายถึงการเขียนโปรแกรมด้วยคาสั่งในภาษาซีเควล ที่สามารถทางาน
   และให้ผลลัพธ์แบบเบ็ดเสร็จ เช่น การพิมพ์รายงานประจาวัน การพิมพ์รายงาน
   ประจาเดือน เป็นต้น

                                                                           38
Part IV Integrity Control
กฎของความคงสภาพ (Integrity rule)
      กฎความคงสภาพของเอนติตี้
       (Entity integrity rule)


                          กฎความคงสภาพของการอ้างอิง
                           (Referential integrity rule)




                                                          40
Entity integrity rule

           “คีย์หลักจะไม่อนุญาตให้มีคาว่าง”
                                     ่




                                              41
Referential integrity rule
ถ้ามีรีเลชั่น R2 ซึ่งมี Fk เป็นคีย์นอกที่อ้างอิงถึงคีย์หลัก Pk
ในรีเลชั่น R1 สาหรับทุกๆ ค่าของ Fk ใน R2 จะต้อง

  มีค่าเท่ากับค่า                          หรือไม่ก็ต้องมี
 Pk ในแถวใดแถว                             ค่า attribute
 หนึ่งในรีเลชั่น R1                        ใน Fk เป็นค่า
                                                ว่าง



                                                                 42
คนงาน (Worker)
               ่
 รหัสคนงาน ชือคนงาน         อัตราค่าแรงต่อชม.   ประเภทความชานาญ รหัสผู้ควบคุม
 Wk_ID (Pk) Wk_NAME             Hour_Rate         Skill_Type (Fk) Supv_ID (Fk)
    1245 สุดใจ ดีพร้อม              16                  ไฟฟ้า        1411
    2521 พิเชฏ มากมี                16                   ปูน         2522
    1411 พิชัย ใจซือ่              16.5              มุงหลังคา
    2511 พิเชฏ มากมี                15                 ประปา
    2522 ด้วง เกื้อกูล             16.5                  ปูน
                                                                มุงหลังคา ไม่ใช่
                                     ความชานาญ (Skill)            ข้อมูลที่มีใน
                                                                ตารางประเภท
ประเภทความชานาญ                                 ้
                          อัตราโบนัส จานวน ชม.ขันต่า             ความชานาญ
  Skill_Type (Pk)        Bonus_Rate      Min_Hour
       ประปา                   3            45
        ไฟฟ้า                 3.5           40
         ปูน                  2.5           50

                 รูปแสดงรีเลชันที่ผิดกฎความคงสภาพของการอ้างอิง
                                                                                   43
ปัญหา
           ถ้ามีใครไปแก้ไขหรือลบข้อมูล
               ซึ่งมีผลไปกระทบกับกฎ
              Integrity จะรับมืออย่างไร


 วิธีแก้ไขที่เป็นไปได้ 2 ทาง คือ...
      ตั้งระบบให้ไม่ยอมรับการเปลี่ยนแปลงดังกล่าว หรือไม่ก็
      อนุญาตให้เปลี่ยนแปลงได้ โดยระบบจะทาการปรับแต่ง
      ข้อมูลที่เกี่ยวข้องให้ยังคงเป็นไปตามกฎทั้ง 2 อยู่



                                                             44
ตารางตัวอย่างแสดงการกาหนด
สถานการณ์ต่าง ๆ เพื่อให้เป็นไป
ตาม referential integrity




                                 45
สถานการณ์ที่เป็นไปได้ 3 ทาง
      กระทาแบบเป็นทอดๆ (cascade)
      ยอมแบบมีเงื่อนไข (restricted)
      เปลี่ยนเป็นค่าว่าง (nullify)




                                       46
                                CASCADES


รูปแสดงการกาหนดให้ตรวจสอบกฎความคงสภาพของการอ้างอิงและ
           การกาหนดสถานการณ์แบบ CASCADES
                                                        47
Part V Database design
Entity-Relational Model
           ผังเอ็นติตี้-รีเลชันชิพ (ERD: Entity-
              Relational Diagram   )
             Peter Chen (1976) มาตรฐาน ANSI ปี 1988
             ERD แสดงเอ็นติตี้ และความสัมพันธ์
            ระหว่างกันของเอ็นติตี้ที่ประกอบกันเป็น
            ฐานข้อมูล
           ใช้เป็นเครื่องมือสื่อสารระหว่างผู้ออกแบบ
            ฐานข้อมูลและผู้ใช้ฐานข้อมูล
                                                       49
องค์ประกอบของ ERD
 เอ็นติตี้ (Entity)
 แอทตริบิวท์ (Attribute)
 ความสัมพันธ์ (Relationship)




                                50
 เอ็นติตี้ (Entity)
 สิ่งต่าง ๆ ที่มีเอกลักษณ์สามารถชี้เฉพาะเจาะจงได้ เป็นสิ่งที่
  สามารถนาไปเก็บในฐานข้อมูลได้ อาจเป็นสิ่งที่เป็นรูปธรรม
  หรื อ นามธรรมก็ ไ ด้ เช่ น บุ ค คล สั ต ว์ สิ่ ง ของ สถานที่
  ความคิด เหตุการณ์ เป็นต้น
 บุคคล         พนักงาน นักศึกษา นักฟุตบอล แพทย์
 สิ่งของ       สินค้า รถยนต์ หนังสือ
 สถานที่       สนามบิน ร้านอาหาร โกดังสินค้า
 ความคิด หลักสูตร แผนประกันชีวิต
 เหตุการณ์ การแข่งขันฟุตบอล ข่าว การรักษาโรค
                                                                 51
แอทตริบิวท์ (Attribute)
 คุณสมบัติ ลักษณะหรือรายละเอียดของเอ็นติตี้


     วันเดือนปีเกิด   พนักงาน
                                    ชื่อ - นามสกุล
    ที่อยู่
                                        ส่วนสูง
 ประวัติการศึกษา
                                              น้าหนัก
หมายเลขบัตรประจาตัวประชาชน
                                 กรุ๊ปเลือด
                                                        52
                ร้านอาหาร
     สาขา
                              จานวนบริกร
ที่ตั้ง

                              ผู้จัดการร้าน
เบอร์โทรศัพท์
                  จานวนโต๊ะ


                                              53
ความสัมพันธ์ (Relationship)
 ความสัมพันธ์ระหว่างเอ็นติตี้ในฐานข้อมูล

   นักศึกษา กับ แผนการเรียน
  ความสัมพันธ์ คือ ลงทะเบียน            ลูกค้า กับ สินค้า
                                     ความสัมพันธ์ คือ สั่งซื้อ
             อาจารย์ กับ คณะ
           ความสัมพันธ์ คือ สังกัด



                                                                 54
ความสัมพันธ์ (Relationship)
 ความสัมพันธ์แบบหนึ่งต่อหนึ่ง (One to One)
     สามี – ภรรยา
     ผู้นาประเทศ – ประเทศ

   ความสัมพันธ์แบบหนึ่งต่อกลุ่ม (One to Many)
     แม่ – ลูก
     อาจารย์ที่ปรึกษา - นักศึกษา

   ความสัมพันธ์แบบกลุ่มต่อกลุ่ม (Many to
    Many)
     ลูกค้า – สินค้า
     รายวิชา - นักศึกษา                         55
     ส่วนประกอบของ ER Diagram
        1. Entity                                 ใช้สัญลักษณ์
        2. Attribute                              ใช้สัญลักษณ์
        3. Relationship                           ใช้สัญลักษณ์
                                                                              ชื่อสินค้า
                ชื่อพนักงาน                                  รหัสสินค้า


รหัสพนักงาน     พนักงานขาย               M   ขายสินค้า   N           สินค้า                จานวนคงเหลือ

              ที่อยู่
                                                             ราคา
                              เบอร์โทร                                    โกดังที่เก็บ
                                                                                                  56
ขั้นตอนการแทนความสัมพันธ์ของข้อมูลด้วย
ER Diagram
1.   กาหนด Entity ที่จาเป็น
2.   กาหนดความสัมพันธ์ระหว่าง Entity
3.   กาหนด Attribute ของ Entity
4.   พิจารณา Attribute ที่ขึ้นกับ Relationship
5.   เลือก Primary key (Identifier)
... เปลี่ยน ER Diagram เป็น Table

                                                 57
การแปลงความสัมพันธ์ E-R ให้อยู่ในรูปตาราง
ในฐานข้อมูลเชิงสัมพันธ์
 แต่ละเอ็นติตี้จะถูกแปลงเป็นตาราง ชื่อเอ็นติตี้จะเป็น
  ชื่อตาราง
 แต่ละแอทตริบิวต์จะกลายเป็นคอลัมน์ของตาราง
 มีแอทตริบิวต์หนึ่งทาหน้าที่เป็นคีย์หลักของตาราง




                                                         58
การแปลงความสัมพันธ์ แยกได้ 3 ลักษณะ
ตามความสัมพันธ์
  แบบหนึ่งต่อหนึ่ง
      คีย์หลักของตารางหนึ่งจะกลายเป็นคีย์นอกของอีกตารางหนึ่ง

                 ่
  แบบหนึ่งต่อกลุม
      คีย์หลักของเอ็นติตี้ด้าน   One เป็นคีย์นอกของเอ็นติตี้ด้าน Many
  แบบกลุ่มต่อกลุ่ม
      สร้างตารางใหม่ขึ้นมา โดยมีคีย์หลักจากเอ็นติตี้ทั้งสองมาทา
       หน้าที่ร่วมกันในตารางใหม่ ตารางใหม่นี้จะถูกเรียกว่า Junction
       Table (ตารางเชื่อมต่อ) ทาการเชื่อมเอ็นติตี้ที่มีความสัมพันธ์
       แบบกลุ่มต่อกลุ่ม
                                                                      59
ตัวอย่าง
พิจารณาส่วนหนึ่งของระบบลงทะเบียนนักศึกษา กาหนด
   ความสัมพันธ์ของแต่ละ Entity ได้ดังนี้
   1. นักศึกษาลงทะเบียนได้หลายรายวิชา
   2. รายวิชาหนึ่งๆ นักศึกษาสามารถลงทะเบียนได้หลาย
   คน
   3. นักศึกษาคนหนึ่งสังกัดได้ 1 สาขาวิชา
   4. สาขาวิชาแต่ละสาขาวิชามีนักศึกษาสังกัดได้หลายคน

                                                   60

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:37
posted:12/12/2011
language:Thai
pages:60