????? Normalization by 808eA4

VIEWS: 154 PAGES: 10

									                                                             บทที่ 2
                                              การสร้ างบรรทัดฐาน ( Normalization )

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

           ใ น ก า ร Normalization                               ใ ห้ ไ ด้ ผ ล ดี ที่ สุ ด เ ร า ต้ อ ง น า ทั้ ง ท ฤ ษ ฎี
แ ล ะ จุ ด ป ร ะ ส ง ค์ ใ น ก า ร ท า ง า น ม า ใ ช้ ร่ ว ม กั น เ ช่ น ใ น ตั ว อ ย่ า ง นี้ ใ บ สั่ ง ซื้ อ แ ต่ ล ะ ใ บ
จะสั่ ง สิ น ค้า ชนิ ด เดี ย วกัน เกิ น 1 รายการไม่ ไ ด้ แต่ ใ นระบบอาจจะท าได้ก็ ไ ด้ เป็ นต้น ดัง นั้ น
การออกแบบจึงควรยึดถือหลักความจริ ง ควบคู่กบการใช้ทฤษฎีดวย ั                    ้
           ใ น หั ว ข้ อ นี้ เ ร า จ ะ อ อ ก แ บ บ จ า ก ข้ อ มู ล ก า ร สั่ ง ซื้ อ สิ น ค้ า ที่ มี อ ยู่ จ ริ ง ม า ใ ช้
                        ั
โดยเป็ นข้อ มู ล ที่ ย ง ไม่ ไ ด้รั บ การ Normalization              และเราจะแสดงการใช้ก ฎ Normalization
ออกแบบตาราง จนได้ตารางที่มีการซ้ าซ้อนน้อยที่สุด
           ตั ว อ ย่ า ง ต า ร า ง ข้ อ มู ล ใ น ร ะ บ บ ก า ร สั่ ง ซื้ อ ที่ จ ะ ใ ช้ แ ส ด ง ก า ร Normalization
                                                                     ้
โดยในตารางตัวอย่างที่ยกมาแสดงนี้เป็ นข้อมูลจริ ง โดยมีขอมูลแบ่งออกเป็ นส่ วนต่างๆ ต่อไปนี้

ข้ อมูลสิ นค้ า
รหัสชนิดสิ นค้า   ชื่อชนิดสิ นค้า   รหัสสิ นค้า   ชื่อสิ นค้า                                             ราคาต่อหน่วย   ภาษี   จานวนในคลัง
01                หนังสื อ          0005          คู่มือสาหรับผูนาในยุค 90
                                                                ้                                         219.63         Yes    409
                                    0100          พูดอย่างมีวาทะ                                          219.63         Yes    155
02                CD – ROM          0125          SALES MANAGER FACTOMATIC                                700.93         No     169
                                    0051          SECRETS OF STARGATE                                     1,842.99       No     197
                                    0010          US ATLAS                                                540.19         No     159
03                Hardware          0007          VIDEOCONVERENCING CARD – FLY VIDEO                      369.16         Yes    205
                                    0008          ชุดกล้องถ่ายวีดีโอ Panasonic Model VHS รุ่ น NV – VX3   260.00         Yes    177
04                Multimedia        0023          JAPANESE 1, LIYC                                        278.00         No     326
                                    0055          JAPANESE 2, LIYC                                        278.00         No     159
ข้ อมูลการสั่ งซื้อ
  รหัสการสั่ งซื้อ           รหัสลูกค้ า          วันที่สั่งสิ นค้ า      วันที่ส่งสิ นค้ า       รหัสสิ นค้ า     จานวนสิ นค้ าที่สั่งซื้อ      ส่ วนลด (%)
102258                 015                     21/10/94                28/10/94               0005                 8                          25.00%
                                                                                              0100                 8                          0.00%
                                                                                              0125                 15                         0.00%
10265                  181                     21/10/94                27/10/44               0005                 31                         0.00%
                                                                                              0010                 15                         0.00%
10278                  213                     24/10/94                3/11/94                0007                 16                         0.00%
                                                                                              0008                 31                         25.00%
                                                                                              0023                 4                          0.00%



ข้ อมูลลูกค้ า
 รหัสลูกค้ า        ชื่อลูกค้ า                                        ที่อยู่ลูกค้ า                             รหัสไปรษณีย์        หมายเลขโทรศัพท์
003             P & S STORE                                                      ุ
                                       ชั้น 1 อาจารเสิ รมมิตรทาวเวอร์ 159 สุ ขมวิท 21 (อโศก) คลองเตย กทม.        10330                250-0750
015             Hope Shop              สมาคมผรั่งเศส 29 ถ.สาธรใต้ ยานนาวา กทม.                                   10110                240-2865-75
181             The Book Shop          Asia Hotel 296 ถ.พญาไท กทม.                                               10330                267-8850-5
213             P’S Line               2675 หมู่ 9 ลาดพร้าว ซ.95 วังทองหลาง บางกะปิ กทม.                         10330                253-0123
008             The Bookseller         428 Rama I Road, Siam Square Bangkok                                      10500                233-1717



กฎการ Normalization
       กฎการ Normalization          เป็ นกฎที่ ใช้ใ นการออกแบบตาราง โดยทัวไปเราจะใช้ก ฎการ
                                                                         ่
Normalization           นี้ เพี ย งแค่ 3 ข้ อ ก็ เ พี ย งพอในการออกแบบตารางโดยทั่ว ไปแล้ ว
และถ้าตารางนั้นผ่านกฎข้อที่ 3 ตารางนั้น ก็จะต้องผ่านกฎข้อที่ 1 และ 2 ด้วย แผนภูมิแสดงการ
Normalization ในแต่ละขั้นตอน ดังรู ป
                Normalization



                                                                  (Repeating Group)


              1st Normal Form




              2st Normal Form



                                                                           Primary Key
                                                                     Candidate Key

              3st Normal Form



                                                             (Multivalued Dependency)


              4st Normal Form


                                 รู ปภาพที่ แสดงแผนภูมิแสดงการ Normalization

         รายละเอียดของการใช้กฎ Normalization แต่ละข้อดังต่อไปนี้

กฎข้ อที่ 1 (First Normal Form)
            กฎข้อ ที่ 1 กล่ า วว่ า จะต้อ งไม่ มี เ ซลใดในตารางที่ มี ค่ า เกิ น หนึ่ งค่ า ดัง นั้น เราสามารถ
ท าให้ ต ารางผ่ า นกฎข้ อ ที่ 1 ได้ ด้ ว ย การแยกเซลที่ มี ค่ า เกิ นหนึ่ งออก เป็ นเรคอร์ ดใหม่
                                                      ่
เราอธิบายการใช้กฎข้อที่ 1 กับตารางตัวอย่างที่ผานมาเรี ยนไปที่ละตารางต่อไปนี้
            1. ตาราง Products
            จากตารางนี้ เราสามารถแยกออกเป็ นเรคอร์ ดใหม่ได้ โดยมีฟิลด์รหัสสิ นค้า ชื่ อ ชนิ ดสิ นค้า
ซึ่งเป็ นฟิ ลด์ที่เก็บค่าในเซลเกินหนึ่งค่า เพิ่มเข้าไปในแต่ละเรคอร์ ดใหม่ และตารางใหม่น้ ี มีคียหลัก คือ์
รหัสสิ นค้า เราได้ตารางใหม่ดงนี้  ั
ก่อนการใช้ กฎข้ อที่ 1
รหัสชนิดสิ นค้า ชื่อชนิดสิ นค้า รหัสสิ นค้า ชื่อสิ นค้า                           ราคาต่อหน่ วย ภาษี    จานวนในคลัง

01               หนังสื อ        005          คู่มือสาหรับผูนาในยุค 90
                                                            ้                     219.63        Yes     409
                                 0100         พูดอย่างมีวาทะ                      219.63        Yes     155
02               CD-ROM          0125         SALES MANAGER FACTOMATIC            700.00        No      169
                                 0051         SECRETS OF STARGATE                 1842.99       No      197
                                 0010         US ATLAS                            540.19        No      159
03               Hardware        0007         VIDEOCONVERENCING CARD-             369.16        Yes     205
                                              FLY VIDEO
                                 0008         ชุดกล้องถ่ายวีดีโอ Panasonic Mode   260.00        Yes     177
                                              VHS
04               Multimedia      0023         JAPANESE 1, LIYC                    278.00        No      326
                                 0055         JAPANESE 2, LIYC                    278.00        No      159

หลังการใช้ กฎข้ อที่ 1
รหัสชนิดสิ นค้า ชื่อชนิดสิ นค้า รหัสสิ นค้า ชื่อสิ นค้า                           ราคาต่อหน่ วย ภาษี    จานวนในคลัง

01               หนังสื อ        005          คู่มือสาหรับผูนาในยุค 90
                                                            ้                     219.63        Yes     409
01               หนังสื อ        0100         พูดอย่างมีวาทะ                      219.63        Yes     155
02               CD-ROM          0125         SALES MANAGER FACTOMATIC            700.00        No      169
02               CD-ROM          0051         SECRETS OF STARGATE                 1842.99       No      197
02               CD-ROM          0010         US ATLAS                            540.19        No      159
03               Hardware        0007         VIDEOCONVERENCING CARD-             369.16        Yes     205
                                              FLY VIDEO
03               Hardware        0008         ชุดกล้องถ่ายวีดีโอ Panasonic Mode   260.00        Yes     177
                                              VHS
04               Multimedia      0023         JAPANESE 1, LIYC                    278.00        No      326
04               Multimedia      0055         JAPANESE 2, LIYC                    278.00        No      159


             2. ตาราง Orders
             จากตารางนี้ เราสามารถแยกเป็ นเรคอร์ ดใหม่ ไ ด้ โดยมี ฟิ ลด์ รหัส การสั่ ง ซื้ อ รหัส ลู ก ค้า
วัน ที่ สั่ ง และวัน ที่ ส่ ง ซึ่ งเป็ นฟิ ลด์ ที่ เ ก็ บ ค่ า ในเซลเกิ น หนึ่ งค่ า เพิ่ ม เข้า ไปในแต่ ล ะเรคอร์ ด ใหม่
                             ์
และตารางใหม่น้ ี มีคียหลัก คื อ ฟิ ลด์รหัสการสั่งซื้ อ และรหัสสิ นค้า เนื่ องจากฟิ ลด์รหัสการสั่งซื้ อ
จะไม่ซ้ ากันในแต่ละการสั่งซื้ อ และในแต่ละการสั่งซื้ อ จะไม่สามารถสั่งสิ นค้าชนิ ดเดียวกันซ้ ากันได้
เราได้ตารางดังนี้
ก่อนการใช้กฎข้อที่ 1
รหัสการสั่งซื้ อ    รหัสลูกค้า      วันที่สั่งสิ นค้า   วันที่ส่งสิ นค้า   รหัสสิ นค้า   จานวนสิ นค้าที่สั่งซื้ อ   ส่ วนลด (%)
102258              015             21/10/94            28/10/94           0005          8                          25.00%
                                                                           0100          8                          0.00%
                                                                           0125          15                         0.00%
10265               181             21/10/94            27/10/44           0005          31                         0.00%
                                                                           0010          15                         0.00%
10278               213             24/10/94            3/11/94            0007          16                         0.00%
                                                                           0008          31                         25.00%
                                                                           0023          4                          0.00%
หลังการใช้กฎข้อที่ 1
รหัสการสั่งซื้ อ    รหัสลูกค้า      วันที่สั่งสิ นค้า   วันที่ส่งสิ นค้า   รหัสสิ นค้า   จานวนสิ นค้าที่สั่งซื้ อ   ส่ วนลด (%)
102258              015             21/10/94            28/10/94           0005          8                          25.00%
102258              015             21/10/94            28/10/94           0100          8                          0.00%
102258              015             21/10/94            28/10/94           0125          15                         0.00%
10265               181             21/10/94            27/10/44           0005          31                         0.00%
10265               181             21/10/94            27/10/44           0010          15                         0.00%
10278               213             24/10/94            3/11/94            0007          16                         0.00%
10278               213             24/10/94            3/11/94            0008          31                         25.00%
10278               213             24/10/94            3/11/94            0023          4                          0.00%



              3. ตาราง Customers
                                                        ่
              ตารางนี้จะไม่มีกลุ่มของฟิ ลด์ที่ซ้ ากันอยูแล้ว

          กฎข้ อที่ 2 (Second Normal Form)
          กฎข้อ ที่ 2 กล่ า วว่ า ตารางที่ ผ่ า นกฎข้อ ที่ 2 จะต้อ งไม่ มี แ อททริ บิ ว ต์ ที่ ไ ม่ ใ ช่ คี ย ์ต ัว ใด
                                                                  ์                            ์
(เราเรี ยกว่า Non-key Attribute) ขึ้นกับส่ วนใดส่ วนหนึ่ งของคียหลัก จะต้องขึ้นกับคียหลักแบบเต็มๆ
เท่านั้น
          เ ร า ส า ม า ร ถ ท า ใ ห้ ต า ร า ง ผ่ า น ก ฎ ข้ อ ที่                                                   2
โดยการแยกฟิ ลด์ที่ข้ ึ นเฉพาะกับส่ วนหนึ่ งของคี ยก ับฟิ ลด์ที่มนขึ้ นด้วย ออกมาสร้ า งเป็ นตารางใหม่
                                                    ์           ั
เราจะแสดงการใช้กฎข้อที่ 2 ดังต่อไปนี้
          1. ตาราง Product และ Customer
                    ่                           ์
          ตารางที่ผานกฎข้อที่ 2 เนื่องจากคียหลักคือ ฟิ ลด์รหัสสิ นค้าของตาราง Products และรหัส-
                                                              ์
ลูกค้าของตาราง Customers ซึ่ งฟิ ลด์อื่นๆ ทุกฟิ ลด์ข้ ึนกับคียหลักนี้ทุกฟิ ลด์
            2. ตาราง Orders
                          ่
            ตารางนี้ไม่ผานกฎข้อที่ 2 เนื่ องจากมีฟิลด์รหัสลูกค้า วันที่ส่ง และวันที่ส่ง
                                                              ์
จะขึ้นกับฟิ ลด์รหัสสังซื้ อเท่านั้น ซึ่ งเป็ นส่ วนหนึ่งของคียหลัก (รหัสการสังซื้ อ และรหัสสิ นค้า
                        ่                                                       ่
          ์
เป็ นคียหลักแบบ Composite Key) เมื่อใช้กฎข้อที่ 2 แล้วเราจะได้ตาราง 2 ตาราง คือ
            - ตารางที่ 1 ชื่อ ตาราง Orders เป็ นตารางที่ประกอบด้วยฟิ ลด์รหัสการสั่งซื้ อ
             ์
ซึ่ งเป็ นคียหลักของตารางใหม่ และฟิ ลด์ที่ข้ ึนกับฟิ ลด์รหัสการสั่งซื้ อเท่านั้น
            - ตารางที่ 2 ชื่อ ตาราง OrderDetails เป็ นตารางที่ประกอบด้วยฟิ ลด์รหัสการสั่งซื้ อ
                            ์
และรหัสสิ นค้า ซึ่งเป็ นคียหลักของตารางเดิม และฟิ ลด์ที่เหลือจากตารางแรก
                                                                                              ั
ตารางนี้ จะเก็บข้อมูลการสั่งซื้ อแต่ละรายการ ในการสั่งซื้ อแต่ละครั้งไว้ เราได้ตารางใหม่ดงตาราง
ข้างล่างนี้

ก่อนการใช้กฎข้อที่ 2
รหัสการสังซื้ อ
         ่              รหัสลูกค้า               วันที่สังสิ นค้า
                                                         ่                   วันที่ส่งสิ นค้า             รหัสสิ นค้า        จานวนสิ นค้าที่สังซื้ อ
                                                                                                                                              ่         ส่ วนลด (%)
102258                  015                      21/10/94                    28/10/94                     0005               8                          25.00%
102258                  015                      21/10/94                    28/10/94                     0100               8                          0.00%
102258                  015                      21/10/94                    28/10/94                     0125               15                         0.00%
10265                   181                      21/10/94                    27/10/44                     0005               31                         0.00%
10265                   181                      21/10/94                    27/10/44                     0010               15                         0.00%
10278                   213                      24/10/94                    3/11/94                      0007               16                         0.00%
10278                   213                      24/10/94                    3/11/94                      0008               31                         25.00%
10278                   213                      24/10/94                    3/11/94                      0023               4                          0.00%
หลังการใช้กฎข้อที่ 2
รหัสการสั่งซื้ อ   รหัสลูกค้า        วันที่สั่งสิ นค้า    วันที่ส่งสิ นค้า             รหัสการสั่งซื้ อ        รหัสสิ นค้า   จานวนสิ นค้าที่สั่งซื้ อ   ส่ วนลด (%)
102258             015               21/10/94             28/10/94                     102258                  0005          8                          25.00%
10265              181               21/10/94             27/10/94                     102258                  0100          8                          0.00%
10278              213               24/10/94             3/11/94                      102258                  0125          15                         0.00%
                                                                                       10265                   0005          31                         0.00%
                                                                                       10265                   0010          15                         0.00%
                                                                                       10278                   0007          16                         0.00%
                                                                                       10278                   0008          31                         25.00%
                                                                                       10278                   0023          4                          0.00%



       ความสัมพันธ์ระหว่างตารางทั้ง 2 จะเป็ นแบบ One – to – Many จากตาราง Orders
ไปยังตาราง OrderDetails เนื่องจากการสั่งสิ นค้า 1 ครั้ง จะสั่งสิ นค้าได้หลายรายการ

              กฎข้ อที่ 3 (Third Normal Form)
                                     ่
        กฎข้อที่ 3 กล่าวว่า ตารางที่ผานกฎข้อที่ 3
จะต้องไม่มีแอททริ บิวต์ใดในตารางขึ้นกับแอททริ บิวต์อื่นที่ไม่ใช่คียห์หลัก หรื อคียคู่แข่ง
                                                                                  ์
จากที่กล่าวมา เราสามารถทาให้ตารางของเราผ่านกฎข้อที่ 3 ด้วยการแยกฟิ ลด์ที่ข้ ึนกับฟิ ลด์อื่นๆ
                                ์                                        ั
นั้นออกมาเป็ นตารางใหม่ และคียหลักของตารางใหม่จะเป็ นฟิ ลด์ที่ฟิลด์น้ นขึ้นด้วย
เราจะแสดงการใช้กฎข้อที่ 3 ดังต่อไปนี้

           1. ตาราง Products
           ต า ร า ง นี้ ไ ม่ ผ่ า น ก ฎ ข้ อ ที่                                                                             3
เนื่ องจากฟิ ลด์ชื่อชนิ ดสิ นค้าขึ้ นกับฟิ ลด์รหัสชนิ ดสิ นค้าที่ ไม่ใช่ คียหลักหรื อคี ยคู่แข่ง จากที่ กล่ าวมา
                                                                                ์               ์
เร าส า มา รถ ท าใ ห้ ต า รา งข อ งเ รา ผ่ า น ก ฎ ข้ อ ที่ 3 ด้ ว ย ก าร แย ก ฟิ ล ด์ ที่ ขึ้ นกั บ ฟิ ล ด์ อื่ น ๆ
นั้ น อ อ ก ม า เ ป็ น ต า ร า ง ใ ห ม่ แ ล ะ คี ย์ ห ลั ก ข อ ง ต า ง ใ ห ม่ จ ะ เ ป็ น ฟิ ล ด์ ที่ ฟิ ล ด์ นั้ น ขึ้ น ด้ ว ย
เราจะแสดงการใช้กฎข้อที่ 3 ดังต่อไปนี้
           - ตารางที่ 1 ชื่ อ ตาราง Categories เป็ นตารางที่ ประกอบด้วยฟิ ลด์รหัสชนิ ดสิ นค้า
(ที่เป็ นคียห์หลักของตารางใหม่) และชื่อชนิดสิ นค้า ซึ่ งเป็ นข้อมูลที่เกี่ยวกับชนิดสิ นค้าเท่านั้น
           - ตารางที่ 2 ชื่ อ ตาราง Products                      เป็ นตารางที่ ป ระกอบด้ ว ยฟิ ลด์ ที่ มี ท้ ัง หมด
                                        ์
ยกเว้นฟิ ลด์ชื่อชนิดสิ นค้า โดยมีคียหลักเป็ นรหัสสิ นค้าเหมือนตารางเดิม ดังตารางข้างล่างนี้

ก่อนการใช้ กฎข้ อที่ 3
รหัสชนิดสิ นค้า   ชื่อชนิดสิ นค้า   รหัสสิ นค้า       ชื่อสิ นค้า                                   ราคาต่อหน่วย      ภาษี   จานวนในคลัง


01                หนังสื อ          005               คู่มือสาหรับผูนาในยุค 90
                                                                    ้                               219.63            Yes    409
01                หนังสื อ          0100              พูดอย่างมีวาทะ                                219.63            Yes    155
02                CD-ROM            0125              SALES MANAGER FACTOMATIC                      700.00            No     169
02                CD-ROM            0051              SECRETS OF STARGATE                           1842.99           No     197
02                CD-ROM            0010              US ATLAS                                      540.19            No     159
03                Hardware          0007              VIDEOCONVERENCING CARD-FLY VIDEO              369.16            Yes    205
03                Hardware          0008              ชุดกล้องถ่ายวีดีโอ Panasonic Mode VHS         260.00            Yes    177
04                Multimedia        0023              JAPANESE 1, LIYC                              278.00            No     326
04                Multimedia        0055              JAPANESE 2, LIYC                              278.00            No     159



หลังการใช้ กฎข้ อที่ 3
รหัสชนิดสิ นค้า   ชื่อชนิดสิ นค้า          รหัสชนิดสิ นค้า     รหัสสิ นค้า   ชื่อสิ นค้า                      ราคาต่อหน่วย   ภาษี   จานวนในคลัง
01                หนังสื อ                 01                  0005          คู่มือสาหรับผูนาในยุค 90
                                                                                           ้                  219.63         Yes    409
02                CD-ROM                   01                  0100          พูดอย่างมีวาทะ                   219.63         Yes    155
03                Hardware                 02                  0125          SALES MANAGER FACTOMATIC         700.00         No     169
04                Multimedia               02                  0051          SECRETS OF STARGATE              1842.99        No     197
                                           02                  0010          US ATLAS                         540.19         No     159
                                           03                  0007          VIDEOCONVERENCING CARD-FLY       369.16         Yes    205
                                                                             VIDEO
                               03                0008       ชุดกล้องถ่ายวีดีโอ Panasonic Mode VHS    260.00    Yes   177
                               04                0023       JAPANESE 1, LIYC                         278.00    No    326
                               04                0055       JAPANESE 2, LIYC                         278.00    No    159



       และความสัมพันธ์ของตารางทั้ง 2 เป็ นแบบ One – to – Many จากตาราง Categories
ไปยังตาราง Products เนื่องจากชนิดสิ นค้าหนึ่งสามารถมีสินค้าได้หลายอย่าง

           2. ตาราง Order, OrderDetail และ Customer
                                                                                         ์
           ตารางทั้งสามนี้ ผ่านกฎข้อที่ 3 ทั้งหมด เนื่ องจากฟิ ลด์ทุกตัวในตารางขึ้นกับคียหลักทั้งหมด
ไม่ได้ข้ ึนกับฟิ ลด์อื่นๆ เลย
           กฎการ Normalization ข้อที่ 3 นี้ เราเรี ยกว่า BCNF (Boyce/Codd Normal Form
ซึ่งเป็ นกฎข้อที่ 3 ที่ได้รับการปรับปรุ งขึ้นใหม่)

กฎข้ อที่ 4 (Fourth Normal Form)
          กฎข้อ ที่ 4 กล่ า วว่ า ตารางที่ ผ่ า นกฎข้อ ที่ 4 จะต้อ งไม่ มี ก ารขึ้ นต่ อ กัน แบบเชิ ง กลุ่ ม
(Multivalued Dependency) ซึ่งเป็ นความสัมพันธ์แบบ Many – to – Many ภายในตารางเดียวกัน เช่น
ในตารางเดียวกันจะมีฟิลด์ B ที่ข้ ึนต่อฟิ ลด์ A โดยการขึ้นต่อกันนี้ เป็ นอิสระจากอีกฟิ ลด์หนึ่ ง คือ
ฟิ ลด์ C เราสามารถทาให้ตาราง

ตารางตั้งต้ น
                รหัสนักศึกษา          ชื่อนักศึกษา         รหัสอาจารย์ที่ปรึ กษา               ชื่อวิชา
                2001                  แดง                  1001                                ภาษาอังกฤษ
                                                           1002                                ประวัติศาสตร์
                                                                                               ภาษาเยอรมัน
                2002                  ดา                   1003                                ภาษาญี่ปนุ่
                                                                                               คณิ ตศาสตร์
                2003                  เขียว                1004                                ภาษาอังกฤษ
                                                           1005                                ประวัติศาสตร์

                                      ั
สามารถแปลงเป็ น First Normal Form ได้ดงตารางนี้
                       รหัสนักศึกษา        ชื่อนักศึกษา   รหัสอาจารย์ที่ปรึ กษา      ชื่อวิชา
                       2001                แดง            1001                       ภาษาอังกฤษ
                       2001                แดง            1001                       ประวัติศาสตร์
                       2001                แดง            1001                       ภาษาเยอรมัน
                       2001                แดง            1002                       ภาษาอังกฤษ
                       2001                แดง            1002                       ประวัติศาสตร์
                       2001                แดง            1002                       ภาษาเยอรมัน
                       2002                ดา             1003                       ภาษาญี่ปนุ่
                       2002                ดา             1003                       คณิ ตศาสตร์
                           2003            เขียว            1004                     ภาษาอังกฤษ
                           2003            เขียว            1004                     ประวัติศาสตร์
                           2003            เขียว            1004                     ภาษาอังกฤษ
                           2003            เขียว            1004                     ประวัติศาสตร์
          เ นื่ อ ง จ า ก ต า ร า ง ที่ ก ล่ า ว ม า นี้ เ ป็ น ต า ร า ง ที่ ผ่ า น ก ฎ ข้ อ ที่ 3 คื อ
ไม่ มี แ อททริ บิ ว ต์ ใ ดขึ้ น กับ แอททริ บิ ว ต์ อื่ น ที่ ไ ม่ ใ ช่ คี ย ์ห ลัก หรื อ คี ย ์คู่ แ ข่ ง แต่ ไ ม่ ผ่ า นกฎข้อ ที่ 4
เนื่องจากมีการขึ้นต่อกับเชิงกลุ่ม เช่น นักศึกษาชื่อ แดงมีอาจารย์ที่ปรึ กษา 2 คน แต่ลงวิชาเรี ยนไป 3
วิชา ซึ่ งรหัสอาจารย์ที่ปรึ กษา กับชื่ อวิชาที่ลงไปเป็ นข้อมูลที่ไม่ข้ ึนต่อกัน ซึ่ งเราสามารถปรับให้เป็ น
4NF                                  ไ ด้ ด้ ว ย ก า ร ท า แ บ่ ง ต า ร า ง นี้ อ อ ก เ ป็ น 2 ต า ร า ง ต่ อ ไ ป
ซึ่ งตารางทั้งสองจะประกอบด้วยแอตทริ บิวต์ที่เกี่ยวข้องกันเท่านั้น
 รหัสนักศึกษา      ชื่อนักศึกษา    รหัสอาจารย์ที่ปรึกษา            รหัสนักศึกษา         ชื่อนักศึกษา         ิ
                                                                                                         ชื่วชา
 2001              แดง             1001                            2001                 แดง              ภาษาอังกฤษ
 2001              แดง             1002                            2001                 แดง              ประวัติศาสตร์
 2002              ดา              1003                            2001                 แดง              ภาษาเยอรมัน
 2003              เขียว           1004                            2002                 ดา                       ุ่
                                                                                                         ภาษาญี่ปน
 2003              เขียว           1005                            2002                 ดา               คณิ ตศาสตร์
                                                                   2003                 เขียว            ภาษาอังกฤษ
 ตารางที่ผ่านการใช้ กฎข้ อที่ 4                                    2003                 เขียว            ประวัติศาสตร์


         โดยทั่ว ไปแล้ ว การ Normalization                               นั้ น เราใช้ ถึ ง กฎข้ อ ที่ 3 ก็ เ พี ย งพอแล้ ว
เนื่องจากมีตารางน้อยมากที่จะต้องใช้กฎข้อที่ 4

            ่
สรุ ปตารางทีออกแบบได้ ท้ ังหมด
        ใ น หั ว ข้ อ นี้ เ ร า จ ะ ส รุ ป ต า ร า ง ที่ อ อ ก แ บ บ เ ส ร็ จ แ ล้ ว โ ด ย ก า ร Normalization
    ่                                              ั
ที่ผานมาเราสามารถสรุ ปตารางที่ออกแบบได้ดงรู ปต่อไปนี้
       (Customer)                           (Order)
                       1   :   N                         1   :   N    (OrderDetails)           N

            (PK)
                                              (PK)                              (PK)
                                                                                 (PK)




                                                                          (Products)
                                       (Categories)      1   :   N
                                                                                                1
                                                                               (PK)
                                               (PK)




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

      TblCustomers                        TblOrders
                       1   :   N                         1   :   N   TblOrderDetails           N

 CustomerId (PK)
                                       OrderID (PK)                   OrderID (PK)
  CustomerName
                                       CustomerID                    ProductID (PK)
 CustomerAddress
                                        OrderDate                    ProductCount
     ZipCode
                                       ShippedDate                      Discount
    Telephone
 HomePageName



                                        TblCategories                     TblProducts
                                                         1   :   N
                                                                                                1
                                                                      ProductID(PK)
                                    CategoryID (PK)                    CategoryID
                                     CategoryName                     ProductName
                                   CategoryDescription                  UnitPrice
                                     CategoryName                        VATFlag
                                                                       UnitInStock

								
To top