SlideShare una empresa de Scribd logo
1 de 11
Descargar para leer sin conexión
2
                                                         ฐานขอมูลเชิงสัมพันธ
                                                (Relation Data Model)
     เนอหา
        ้ื
     2.1 องคประกอบ
     2.2 ความสัมพันธ
     2.3 คีย
     2.4 เคารางของฐานขอมูล
     2.5 คาวาง
     2.6 กฎที่เกี่ยวของ
     2.7 กระบวนการในการจัดการขอมูล
     2.8 Relational Algebra


     ฐานขอมูลเชิงสัมพันธ ถูกคิดคนและพัฒนาโดย อี เอฟ คอดด (E.F.Codd) เปนรูปแบบของฐานขอมูลที่นิยมใชกันมาก
     ในปจจุบัน เนืองจากการใชงานงาย ไมยุงยาก สลับซับซอน รวมทั้งการมีเครื่องมือชวยในการจัดการขอมูลอยางเชน
                   ่
     คําสั่ง SQL ตัวอยางของระบบเชน DB2, Oracle, Ingree, dBase, Foxpro, Access
               ฐานขอมูลเชิงสัมพันธ มีลักษณะของการจัดเก็บรวบรวมขอมูลในลักษณะตารางสองมิติซึ่งประกอบดวยแถว
     และคอลัมน ซึ่งขอมูลเหลานี้จะมีความสัมพันธระหวางกัน

     2.1 องคประกอบ
            

     (1) รีเลชั่น (Relation) เรียกอีกอยางหนึ่งวา ตาราง (Table) หมายถึง หนวยที่ใชในการจัดเก็บขอมูลในรูปของตาราง
     ซึ่งประกอบดวยแถวและคอลัมน
     (2) ระเบียน (Record) หมายถึง คาของขอมูลที่อยูในแตละแถว ทูเพิลแตละคาเปรียบไดเหมือนกับขอมูล 1 รายการ
     (3) ฟลด (Field) หมายถึง คาในแนวคอลัมน ซึ่งเปนรายละเอียดหรือคุณสมบัติของขอมูล แตละคุณสมบัติจะมีชื่อ
     เรียกและคาของฟลดที่แตกตางกัน

      ตัวอยาง 2.1
      พนักงาน                                                                               แผนก
 รหัส           ชื่อ          นามสกุล         เพศ        เงินเดือน      รหัสแผนก              รหัสแผนก         ชื่อแผนก
00001 สมบูรณ             สุขมาก               M              10,000   01                         01         การเงิน
00002 สมเกียรติ           เจริญพร              M               8,000   02                         02         คอมพิวเตอร
00003 จันจิรา             แจงเกิด             F              12,000   03                         03         การตลาด
00004 น้ําฝน              มวงทอง              F               9,500   01
2.2 รีเลชั่น (Relation)

คณสมบติ
 ุ   ั

(1) ขอมูลในแตละแถวจะไมซ้ํากัน
ขอมูลที่จัดเก็บอยูในแตละแถวจะไมมีขอมูลที่ซ้ํากัน โดยระบบการจัดการฐานขอมูลจะมีกลไกปองกันไมใหมีความ
ซ้าซอนกันเกิดขึน เชน รหัสพนักงาน
  ํ              ้
(2) ไมมีการกําหนดลําดับที่ใหกับแถวแตละแถว
การจัดเก็บขอมูลจะถูกจัดเรียงตามลําดับลงบนสื่อเก็บขอมูล ในการเรียกใชสามารถเรียกใชขอมูลใด ๆ กอนหลังได
                                                                                            
ตามความตองการ
(3) ไมมีการกําหนดลําดับใหกับฟลด
การอางถึงฟลดใด ๆ จะใชชื่อของฟลดในการอางถึง ไมไดใชลําดับที่ที่ฟลดนั้นปรากฏอยูในความสัมพันธ
(4) คาของขอมูลในแตละฟลดของระเบียนจะบรรจุขอมูลไดเพียงคาเดียว
ขอมูลในแตละฟลดจะตองบรรจุขอมูลเพียงคาเดียว ไมใชกลุมของขอมูลซึ่งเรียกวา Repeating Group ในการแกไข
จะตองแยกขอมูลที่เปน Repeating Group ออกโดยการสรางระเบียนใหม

ตัวอยาง 2.2

ตาราง 1 : พนักงาน
       รหัส         ชื่อ                   นามสกุล           เพศ           เงินเดือน        รหัสแผนก
      00001 สมบูรณ                    สุขมาก                 M                    10,000 01, 03
      00002 สมเกียรติ                  เจริญพร                M                     8,000 02

ตาราง 2 : พนักงาน
       รหัส         ชื่อ                   นามสกุล           เพศ           เงินเดือน        รหัสแผนก
      00001 สมบูรณ                    สุขมาก                 M                    10,000 01
      00001 สมบูรณ                    สุขมาก                 M                    10,000 03
      00002 สมเกียรติ                  เจริญพร                M                     8,000 02

(5) คาของขอมูลในแตละฟลดจะตองเก็บขอมูลประเภทเดียวกัน

ตัวอยาง 2.3

พนักงาน
       รหัส               ชื่อ             นามสกุล         เพศ             เงินเดือน        รหัสแผนก
      00001      สมบูรณ               สุขมาก               M                      10,000 01
        M        สมเกียรติ             เจริญพร            00002                     8,000 02


                                                      2
(6) ชื่อของแตละฟลดจะตองไมซ้ํากัน

     ประเภทของความสัมพันธ

     (1) ความสัมพันธหลัก (Base Relation)
     ความสัมพันธที่ถูกกําหนดขึ้นเพื่อเก็บขอมูลไวในฐานขอมูล และนําขอมูลนั้นไปใชงานตอ ซึ่งจะเปนตารางที่มีการ
     จัดเก็บขอมูลจริงไวในฐานขอมูล
     (2) วิว (View)
     ความสัมพันธที่ถูกสรางขึ้นตามความตองการของผูใชแตละคน เพราะผูใชแตละคนอาจจะมีความตองการใชขอมูลใน
     ลักษณะที่แตกตางกัน ความสัมพันธนี้จะไมมีการเก็บขอมูลจริง ๆ ในระบบ แตจะเปนตารางสมมติ

      ตัวอยาง 2.4
      พนักงาน                                                                                 แผนก
 รหัส           ชื่อ           นามสกุล        เพศ         เงินเดือน      รหัสแผนก               รหัสแผนก        ชื่อแผนก
00001 สมบูรณ              สุขมาก              M               10,000   01                          01        การเงิน
00002 สมเกียรติ            เจริญพร             M                8,000   02                          02        คอมพิวเตอร
00003 จันจิรา              แจงเกิด            F               12,000   03                          03        การตลาด
00004 น้ําฝน               มวงทอง             F                9,500   01

     1. แสดงขอมูลเฉพาะของพนักงานรหัส 00001 - 00002
           รหัส            ชื่อ           นามสกุล                เพศ            เงินเดือน          รหัสแผนก




     2. แสดงขอมูลรหัส, ชื่อ, นามสกุลและแผนกของพนักงานแตละคน
        รหัส               ชื่อ           นามสกุล       แผนก




     2.3 คีย (Key)

     คุณสมบัติหนึ่งที่สําคัญของความสัมพันธก็คือ ความเปนเอกลักษณ (Uniqueness property) สิ่งที่ใชกําหนดความเปน
     เอกลักษณของแถวในความสัมพันธ เรียกวา คีย (key)

               คีย หมายถึง ฟลดที่มีลักษณะเฉพาะตัว เพื่อใชในการแสดงหรือบงบอกถึงคาของฟลดอื่น ๆ ในทูเพิลใด ๆ
     เพื่อทําใหขอมูลในแตละทูเพิลมีคาไมซ้ํากัน และสามารถใชในการอางถึงคาในความสัมพันธอื่น ๆ

                                                            3
คียหลัก (Primary Key)
           ฟลดที่มีคุณสมบัติของขอมูลที่เปนคาที่ไมซ้ํากัน ทําใหสามารถระบุไดวาขอมูลนั้นเปนขอมูลของทูเพิลใด
ฟลดที่มีคุณสมบัติเปนคียหลักอาจประกอบดวยหลายฟลดรวมกัน เรียกวา คียผสม (Composite Key) เนืองจากเมือ    ่       ่
นําฟลดแตละตัวมาประกอบกันจะไดคาที่เปนเอกลักษณและไมซ้ําซอนกัน

ตัวอยาง 2.5
ตาราง 1 : ลูกคา                                         ตาราง 2 : ลูกคา
    ชื่อ        นามสกุล           ที่อยู                   รหัส           ชื่อ           นามสกุล            ที่อยู
สมบูรณ      สุขมาก           กรุงเทพฯ                   C001         สมบูรณ          สุขมาก           กรุงเทพฯ
สมเกียรติ ใจดี                นครสวรรค                  C002         สมเกียรติ        ใจดี             นครสวรรค
สมบูรณ      ใจดี             นครสวรรค                  C003         สมบูรณ          ใจดี             นครสวรรค

คียหลัก = ชื่อ + นามสกุล คียหลัก                               = รหัส

ตัวอยาง 2.6
ตาราง 1 : วิชา                                   ตาราง 2 : นักศึกษา
 รหัสวิชา          ชื่อวิชา                  รหัสนักศึกษา          ชื่อ         นามสกุล      รหัสคณะ
A001          คณิตศาสตร                    S001              สมบูรณ        สุขมาก        01
A002          อังกฤษ                        S002              สมเกียรติ      เจริญพร       02
A003          ภาษาไทย                       S003              สมบูรณ        ใจดี          03
ตาราง 3 : ลงทะเบียน                                      ตาราง 4 : คณะ
 รหัสนักศึกษา      รหัสวิชา         เกรด                      รหัสคณะ                ชื่อคณะ
S001              A001                4                     01          บริหารธุรกิจ
S001              A002                3                     02          นิตศาสตร
                                                                           ิ
S002              A001                2                     03          วิทยาศาสตร

คียนอก (Foreign Key)

ฟลดในความสัมพันธหนึ่งซึ่งใชในการอางถึงคียหลักในอีกความสัมพันธหนึ่ง คียนอกจะใชในการเชื่อมโยงขอมูล
ระหวางความสัมพันธเขาดวยกัน คียนอกสามารถเปนคียหลักได
         จุดมุงหมายของระบบฐานขอมูลเชิงสัมพันธ เพื่อไมใหฐานขอมูลมีขอมูลที่ซ้ําซอนกัน ทําใหขอมูลถูกจัดเก็บ
อยูในความสัมพันธตาง ๆ ที่มีโครงสรางในระดับยอยที่สุด โดยกําหนดความสัมพันธระหวางความสัมพันธตาง ๆ เพื่อ
สามารถอางถึงขอมูลในความสัมพันธอื่น ๆ ได

จากตัวอยาง 2.6
       ตารางนักศึกษา คียนอก                  = รหัสคณะ เชื่อมกับ รหัสคณะของ ตารางคณะ
       ตารางลงทะเบียน คียนอก                 = รหัสนักศึกษา เชื่อมกับ รหัสนักศึกษาของ ตารางนักศึกษา
                                      คียนอก = รหัสวิชา เชื่อมกับ รหัสวิชาของ ตารางวิชา

                                                          4
ตัวอยาง 2.7
ตาราง 1 : พนักงาน                            ตาราง 2    แผนก                                     ตาราง 3 : ฝาย
 รหัส        ชื่อ     รหัส                     รหัส      ชื่อแผนก        รหัสฝาย                รหัสฝาย       ชื่อฝาย
                    แผนก                     แผนก
0001     สมบูรณ 01                         01           ธุรการ          1                       1              บริหาร
0002     สมเกียรติ 02                       02           บุคคล           1

พนักงาน
       รหัส               ชื่อ              นามสกุล           เพศ               เงินเดือน              รหัสผูจัดการ
      00001      สมบูรณ                สุขมาก                 M                        10,000       00003
      00002      สมเกียรติ              เจริญพร                M                         8,000       00003
      00003      จันจิรา                แจงเกิด               F                        12,000       -
      00004      น้ําฝน                 มวงทอง                F                         9,500       00003

2.4 เคารางของฐานขอมูล (Relational Database Schema)

รายละเอียดเกี่ยวกับฐานขอมูล วาประกอบดวยความสัมพันธ และฟลดอะไรบาง

ตัวอยาง 2.8
พนักงาน
       รหัส               ชื่อ             นามสกุล            เพศ               เงินเดือน             รหัสผูจัดการ

หรือ
        พนักงาน ( รหัส, ชื่อ, นามสกุล, เพศ, เงินเดือน, รหัสผูจัดการ )

แบบฝกหัด 2.1             หาคาของคียหลักและคียนอกของฐานขอมูลในแตละขอตอไปนี้

1.      โรงแรม ( รหัสโรงแรม, ชือโรงแรม, เมือง )
                                ่
        หองพัก ( หมายเลขหอง, รหัสโรงแรม, ประเภทหอง, ราคา )
        การเชาหอง ( รหัสโรงแรม, รหัสแขกที่พัก, วันเขาพัก, วันออก, หมายเลขหอง )
        แขกที่พัก ( รหัสแขกที่พัก, ชื่อแขกที่พัก, ที่อยู )

2.      พนักงาน ( ชื่อ, นามสกุล, รหัสพนักงาน, วันเกิด, ที่อยู, เพศ, เงินเดือน, รหัสหัวหนา, รหัสแผนก )
        แผนก ( ชื่อแผนก, รหัสแผนก, รหัสผูจัดการ )
        ที่ตั้งแผนก ( รหัสแผนก, ที่ตั้งแผนก )
        โครงการ ( ชือโครงการ, หมายเลขโครงการ, สถานที่, หมายเลขแผนก )
                     ่
        งานที่รับผิดชอบ ( รหัสพนักงาน, หมายเลขโครงการ, จํานวนชั่วโมง )


                                                        5
2.5 คาวาง (Null)

     ขอมูลที่จัดเก็บอยูในฐานขอมูล ในบางครั้งขอมูลที่ถูกจัดเก็บอาจจะไมครบถวน ซึงอาจเกิดจากการกรอกขอมูลไมครบ
                                                                                    ่
     หรือจัดเก็บขอมูลไมดีพอ แตเนื่องจากทุกฟลดในฐานขอมูลจะตองมีคา จึงไดมีการกําหนดคาสําหรับขอมูลที่ไม
     สามารถระบุคาได เรียกวา Null
                     

     ตัวอยาง 2.9
     พนักงาน
                รหัส                   ชื่อ           นามสกุล              เพศ     จํานวนบุตร      วันเกิด
               00001       สมบูรณ                สุขมาก                    M      3          1/8/2507
               00002       สมเกียรติ              เจริญพร                   M                 Null

     2.6 กฎที่เกี่ยวของ

     (1) กฎความบูรณภาพ / คงสภาพของเอนทิต้ี (The Entity Integrity Rule)
     ฟลดที่เปนคียหลัก ขอมูลในฟลดจะตองเปนคาที่เปนเอกลักษณ ไมมีคาซ้ํา และจะตองไมเปนคาวาง เนื่องจากคีย
     หลักจะใชในการระบุขอมูลแตละทูเพิล ถาขอมูลในคียหลักเปนคาวาง ทําใหเกิดปญหาทูเพิลที่มีคียหลักซ้ํากัน

     ตัวอยาง 2.10
     พนักงาน
            รหัส                ชื่อ              นามสกุล           เพศ             เงินเดือน           รหัสแผนก
           00001        สมบูรณ               สุขมาก                 M                      10,000    01
            Null        สมเกียรติ             เจริญพร                M                       8,000    02
            Null        จันจิรา               แจงเกิด               F                      12,000    02
           00004        น้ําฝน                มวงทอง                F                       9,500    Null

     (2) กฎความบูรณภาพ / คงสภาพของการอางอิง (The Referential Integrity Rule)
     ความสัมพันธใดที่มีคียนอก ขอมูลที่เปนคียนอกจะตองเปนขอมูลที่มีอยูในคียหลักของอีกความสัมพันธหนึ่ง ไมเชนนั้น
     อาจจะเปนคาวาง ซึ่งหมายถึงวาไมมีขอมูลในสวนนั้น

      ตัวอยาง 2.11
      พนักงาน                                                                                     แผนก
 รหัส           ชื่อ           นามสกุล          เพศ          เงินเดือน       รหัสแผนก               รหัสแผนก          ชื่อแผนก
00001 สมบูรณ              สุขมาก                M                10,000    01                          01          การเงิน
00002 สมเกียรติ            เจริญพร               M                 8,000    02                          02          คอมพิวเตอร
00003 จันจิรา              แจงเกิด              F                12,000    04                          03          การตลาด
00004 น้ําฝน               มวงทอง               F                 9,500    Null


                                                                6
2.7 กระบวนการในการจดการขอมล
                        ั     ู

     (1) เพิ่มขอมูล (Insert Operations)
     (2) การลบขอมูล (Delete Operation)
     (3) การแกไขขอมูล (Update Operation)

      ตัวอยาง 2.12
      พนักงาน                                                                             แผนก
 รหัส           ชื่อ         นามสกุล           เพศ      เงินเดือน      รหัสแผนก             รหัสแผนก        ชื่อแผนก
00001 สมบูรณ            สุขมาก                 M            10,000   01                        01        การเงิน
00002 สมเกียรติ          เจริญพร                M             8,000   02                        02        คอมพิวเตอร
00003 จันจิรา            แจงเกิด               F            12,000   03                        03        การตลาด
00004 น้ําฝน             มวงทอง                F             9,500   01

     1. เพิ่มขอมูล
             Null      สมชาย                 สุขดี              M                   10,000 01

            00003      สมชาย                 สุขดี              M                   10,000 01

            00005      สมชาย                 สุขดี              M                   10,000 04

           00005 สมชาย                    สุขดี                 M                   10,000 01
     2. ลบขอมูล
             2.1 ลบ "แผนก"            รหัสแผนก = "03"
             2.2 ลบ "แผนก"            รหัสแผนก = "02"
     3. แกไขขอมูล
             3.1 แกไขเงินเดือนของ 00001 เปน 12,000
             3.2 รหัสแผนกของ 00002 เปน 03
             3.3 รหัสแผนกของ 00002 เปน 05
             3.4 รหัสของ 00002 เปน 00004

     2.8 Relational Algebra

     Relational Algebra ใชในการจัดการขอมูลโดยระบุตวกระทํา (operand) กับความสัมพันธที่ตองการจัดการ และจะได
                                                    ั
     ผลลัพธออกมาเปนความสัมพันธใหม
             • Selection (σ ).
             • Projection (π )
             • Join (       )
                                                         7
Selection
        แสดงขอมูลทุกฟลดในตารางตามเงื่อนไขที่กําหนด ใชสัญลักษณ σ (sigma)
                         σ เงื่อนไข ชื่อตาราง
        ในการระบุเงือนไขสามารถทําไดโดยใชเครืองหมายในการเปรียบเทียบและตัวกระทําทางตรรกะรวมกันได
                    ่                         ่
                • เครื่องหมายเปรียบเทียบ ไดแก = (เทากับ), ≠(ไมเทากับ), < (นอยกวา), ≤(นอยกวาหรือเทากับ), >
        (มากกวา), ≥ (มากกวาหรือเทากับ)
                • ตัวกระทําทางตรรกะ ไดแก ∧ (and) ∨ (or) ¬ (not)

        ตัวอยาง 2.13
        1. แสดงขอมูลจากตารางสินคา สําหรับสินคาที่มีราคามากกวา 100 บาท
                        σ ราคา > 100 สินคา
        2. แสดงขอมูลจากตารางพนักงาน สําหรับพนักงานทีมอายุมากกวา 30 ป และเงินเดือนนอยกวา 5,000 บาท
                                                             ่ ี
                        σ อายุ > 30 ∧ เงนเดอน < 5000 พนักงาน
                                        ิ ื


        แบบฝกหัด 2.2              สราง Relational Algebra และแสดงผลลัพธในรูปของตาราง
         ตาราง : Player2000                                       ตาราง : Player2001
    ชื่อ        ตําแหนง อายุ      สวนสูง น้ําหนัก                ชื่อ       ตําแหนง  อายุ           สวนสูง    น้ําหนัก
สุเมธ        กองหนา      26      183        82                 เอกพจน         ปกขวา    20         180         78
ผลดี         ปกซาย      21      175        78                 ชาติชาย         กองหลัง   30         169         71
ชาติชาย      กองหลัง      30      169        71
กองเกียรติ กองกลาง       24      180        78

        1. แสดงขอมูลของผูเลนจากตาราง Player2000 ที่มีสวนสูงมากกวา 178 เซนติเมตร

        2. แสดงขอมูลของผูเลนจากตาราง Player2000 ที่มีสวนสูงมากกวา 178 เซนติเมตรและอยูในตําแหนงกองหนา
                                                                                          


        Projection
        แสดงขอมูลเฉพาะบางฟลดจากตาราง โดยจะแสดงทุกรายการ ใชสัญลักษณ π (pi)
                π ชื่อฟลด ชือตาราง
                              ่


        ตัวอยาง 2.14    แสดงขอมูลเฉพาะรหัสสินคาและชื่อสินคาจากตารางสินคา
                         π รหสสนคา, ชื่อสินคา สินคา
                             ั ิ 




                                                            8
แบบฝกหัด 2.3
สราง Relational Algebra และแสดงผลลัพธในรูปของตารางในการแสดงเฉพาะขอมูล น้ําหนักและสวนสูงจากตาราง
Player2000 ในแบบฝกหัด 2.2



Selection & Projection
Selection และ Projection สามารถนํามาใชรวมกันในการแสดงขอมูลเฉพาะบางฟลดจากตารางตามเงือนไขทีกาหนด
                                                                                      ่     ่ ํ

ตัวอยาง 2.15      แสดงขอมูลเฉพาะรหัสสินคาและชื่อสินคาสําหรับสินคาที่มีราคามากกวา 100 จากตารางสินคา
                   π รหสสนคา, ชื่อสินคา (σ ราคา > 100 สินคา )
                       ั ิ 


แบบฝกหัด 2.4
สราง Relational Algebra และแสดงผลลัพธในรูปของตารางในการแสดงเฉพาะขอมูล น้ําหนักและสวนสูงของผูเลนที่มี
สวนสูงมากกวา 178 เซนติเมตร จากตาราง Player2000



Join
การเชือมขอมูลจากตารางตาง ๆ เขาดวยกัน โดยเชื่อมผานทางฟลดที่เหมือนกันของทั้งสองตาราง
      ่
        R1 ชื่อฟลด R2

แบบฝกหัด 2.5
ตาราง 1 : บริษัท                                            ตาราง 2: วัสดุ
 รหัส          ชื่อ          สถานะ      จังหวัด               รหัส          ชื่อ        จังหวัด
S1     ก.การชาง              20       กรุงเทพฯ              P1       เหล็ก            กรุงเทพฯ
S2     ส.ซัพพลาย              10       นครสวรรค             P2       ปูนซีเมนต       นครสวรรค
S3     แมชชีน                 30       กรุงเทพฯ              P3       กระเบื้อง        นครสวรรค

สราง Relational Algebra และแสดงผลลัพธในรูปของตารางในการเชือมขอมูลจากตาราง บริษทเขากับตารางวัสดุ
                                                            ่                    ั
ผานทางฟลดจังหวัด

รหัส            ชื่อ         สถานะ       จังหวัด     รหัส         ชื่อ




                                                       9
แบบฝกหัดทายบท

1. หาคาของคียหลักและคียนอก เมือกําหนดเคารางของฐานขอมูล ดังนี้
                                     ่
        สาขา ( รหัสสาขา, ที่อยู, เมือง, รหัสไปรษณีย )
        พนักงาน ( รหัสพนักงาน, ชื่อ, นามสกุล, ตําแหนง, เพศ, เงินเดือน, รหัสสาขา )
        หองเชา ( รหัสหองเชา, ที่อยู, เมือง, คาเชา, รหัสเจาของ, รหัสพนักงาน, รหัสสาขา )
        ลูกคา ( รหัสลูกคา, ชื่อ, นามสกุล, โทรศัพท )
        เจาของ ( รหัสเจาของ, ชื่อ, นามสกุล, ที่อยู, โทรศัพท )
        การเขาชม ( รหัสลูกคา, รหัสหองเชา, วันที่ )
        การเชา ( รหัสลูกคา, รหัสสาขา, รหัสพนักงาน, วันที่ )

2. กําหนดตาราง “พนักงานขาย” ดังนี้
    รหัสพนักงาน              ชื่อพนักงาน                  ที่อยู      อัตราคานายหนา
        1001          ชัยวัฒน                 กรุงเทพฯ                            0.12
        1002          ไมตรี                    ภูเก็ต                              0.13
        1004          เบญจวรณ                  กรุงเทพฯ                            0.11
        1007          กาญจนา                   เชียงใหม                           0.15
        1003          เตือนใจ                  นนทบุรี                             0.10
สราง Relational Algebra และแสดงผลลัพธในรูปของตารางสําหรับแตละขอตอไปนี้
2.1 แสดงขอมูลของพนักงานทีมอตราคานายหนามากกวา 0.13
                             ่ ีั
2.2 แสดงขอมูลของพนักงานที่มีรหัสมากกวา 1002 และอัตราคานายหนานอยกวา 0.15
2.3 แสดงรหัสพนักงานและอัตราคานายหนาของพนักงานทังหมด ้
2.4 แสดงรหัสพนักงานและอัตราคานายหนาของพนักงานทีมอตราคานายหนานอยกวา 0.13
                                                        ่ ีั
2.5 แสดงชือพนักงานของพนักงานทีอยูในกรุงเทพฯ
            ่                      ่ 

การบาน 2
    

1. หาคาของคียหลักและคียนอกจากเคารางของฐานขอมูลในแตละขอตอไปนี้ สําหรับคียนอกใหระบุตารางที่คียนอก
                           
เชือมดวย
   ่
         1.1    พนักงาน (รหัสพนักงาน, ชื่อ, ที่อยู, โทรศัพท)
                การทํางาน (รหัสพนักงาน, รหัสบริษัท, เงินเดือน)
                บริษัท (รหัสบริษัท, ชื่อบริษัท, ที่อยู, โทรศัพท)
                                                                
                ผูจัดการ (รหัสผูจัดการ, รหัสพนักงาน)
         1.2    คณะ (รหัสคณะ, ชื่อ, โทรศัพท, โทรสาร, รหัสคณบดี)
                บุคลากร (รหัสบุคลากร, ชื่อ)
                วิชาที่เปดสอน (รหัสคณะ, รหัสวิชา)
                วิชา (รหัสวิชา, ชื่อ, คําอธิบาย)
                นักศึกษา (รหัสนักศึกษา, ชื่อ, ที่อยู)
                ลงทะเบียน (รหัสนักศึกษา, รหัสคณะ, รหัสวิชา)
                                                         10
2. สราง Relational Algebra และแสดงผลลัพธในรูปของตารางในการเชื่อมตาราง “พนักงาน” เขากับตาราง “แผนก”
ผานทางฟลด “รหัสแผนก”
พนกงาน
    ั          แผนก
       ชื่อ       สาขา       รหัสแผนก    เงินเดือน          รหัสแผนก         สาขา            โทรศัพท
      สิทธิ       400            CS        45000                 CS          404            555-1212
   สมาน           220          Econ        35000              Econ           200            555-1234
   เกียรติ        160          Econ        50000                 Fin         501            555-4321
   สมชาย          420            CS        65000                Hist         100            555-9876
  กาญจนา          500            Fin       60000




                                                  11

Más contenido relacionado

La actualidad más candente

บทที่ 8 การกำหนดราคา และผลผลิตในตลาด
บทที่ 8 การกำหนดราคา และผลผลิตในตลาดบทที่ 8 การกำหนดราคา และผลผลิตในตลาด
บทที่ 8 การกำหนดราคา และผลผลิตในตลาดOrnkapat Bualom
 
การผลิตสื่อวีดิทัศน์สำหรับงานมัลติมีเดีย (Multimedia Video Production)
การผลิตสื่อวีดิทัศน์สำหรับงานมัลติมีเดีย (Multimedia Video Production)การผลิตสื่อวีดิทัศน์สำหรับงานมัลติมีเดีย (Multimedia Video Production)
การผลิตสื่อวีดิทัศน์สำหรับงานมัลติมีเดีย (Multimedia Video Production)Dr.Kridsanapong Lertbumroongchai
 
คอมพิวเตอร์สำหรับบัณฑิตศึกษา
คอมพิวเตอร์สำหรับบัณฑิตศึกษาคอมพิวเตอร์สำหรับบัณฑิตศึกษา
คอมพิวเตอร์สำหรับบัณฑิตศึกษาJenchoke Tachagomain
 
การเขียนบทสำหรับงานวิดีโอ (Script Writing for Video Production)
การเขียนบทสำหรับงานวิดีโอ (Script Writing for Video Production)การเขียนบทสำหรับงานวิดีโอ (Script Writing for Video Production)
การเขียนบทสำหรับงานวิดีโอ (Script Writing for Video Production)Dr.Kridsanapong Lertbumroongchai
 
บทที่ 2 ตัวแปร
บทที่ 2 ตัวแปรบทที่ 2 ตัวแปร
บทที่ 2 ตัวแปรKomkai Pawuttanon
 
การทำการตลาดบนมือถือสำหรับธุรกิจบริการ (Mobile Marketing for Service Business)
การทำการตลาดบนมือถือสำหรับธุรกิจบริการ (Mobile Marketing for Service Business)การทำการตลาดบนมือถือสำหรับธุรกิจบริการ (Mobile Marketing for Service Business)
การทำการตลาดบนมือถือสำหรับธุรกิจบริการ (Mobile Marketing for Service Business)Dr.Kridsanapong Lertbumroongchai
 
การสร้างสื่อภาพกราฟิกเคลื่อนไหว (Motion Graphic)
การสร้างสื่อภาพกราฟิกเคลื่อนไหว  (Motion Graphic)การสร้างสื่อภาพกราฟิกเคลื่อนไหว  (Motion Graphic)
การสร้างสื่อภาพกราฟิกเคลื่อนไหว (Motion Graphic)Dr.Kridsanapong Lertbumroongchai
 
วิเคราะห์ผู้เรียน
วิเคราะห์ผู้เรียนวิเคราะห์ผู้เรียน
วิเคราะห์ผู้เรียนguestabb00
 
การวางโครงเรื่อง (Plotting)
การวางโครงเรื่อง (Plotting)การวางโครงเรื่อง (Plotting)
การวางโครงเรื่อง (Plotting)Dr.Kridsanapong Lertbumroongchai
 
การเล่าเรื่องสินค้าผ่านภาพถ่าย (Digital Storytelling in Photography)
การเล่าเรื่องสินค้าผ่านภาพถ่าย (Digital Storytelling in Photography)การเล่าเรื่องสินค้าผ่านภาพถ่าย (Digital Storytelling in Photography)
การเล่าเรื่องสินค้าผ่านภาพถ่าย (Digital Storytelling in Photography)Dr.Kridsanapong Lertbumroongchai
 
บทที่ 5 ทฤษฎีว่าด้วยพฤติกรรมผู้บริโภค
บทที่ 5 ทฤษฎีว่าด้วยพฤติกรรมผู้บริโภคบทที่ 5 ทฤษฎีว่าด้วยพฤติกรรมผู้บริโภค
บทที่ 5 ทฤษฎีว่าด้วยพฤติกรรมผู้บริโภคOrnkapat Bualom
 
คู่มือการจัดทำแผนธุรกิจ
คู่มือการจัดทำแผนธุรกิจคู่มือการจัดทำแผนธุรกิจ
คู่มือการจัดทำแผนธุรกิจThailandCoop
 
อินโฟกราฟิก (Infographic) และหลักการออกแบบ
อินโฟกราฟิก (Infographic) และหลักการออกแบบอินโฟกราฟิก (Infographic) และหลักการออกแบบ
อินโฟกราฟิก (Infographic) และหลักการออกแบบDr.Kridsanapong Lertbumroongchai
 
บทที่ 2 อุปสงค์ อุปทานและดุลยภาพ
บทที่ 2 อุปสงค์ อุปทานและดุลยภาพบทที่ 2 อุปสงค์ อุปทานและดุลยภาพ
บทที่ 2 อุปสงค์ อุปทานและดุลยภาพOrnkapat Bualom
 
ประโยคสามัญ ประโยคซ้อน ประโยครวม
ประโยคสามัญ ประโยคซ้อน ประโยครวมประโยคสามัญ ประโยคซ้อน ประโยครวม
ประโยคสามัญ ประโยคซ้อน ประโยครวมthinnakornsripho
 
6.2 หลักการผลิตสินค้าและบริการอย่างมีประสิทธิภาพ
6.2 หลักการผลิตสินค้าและบริการอย่างมีประสิทธิภาพ6.2 หลักการผลิตสินค้าและบริการอย่างมีประสิทธิภาพ
6.2 หลักการผลิตสินค้าและบริการอย่างมีประสิทธิภาพkrupeem
 
Ch7 การบัญชีกิจการอุตสาหกรรม
Ch7 การบัญชีกิจการอุตสาหกรรมCh7 การบัญชีกิจการอุตสาหกรรม
Ch7 การบัญชีกิจการอุตสาหกรรมple2516
 
การ Normalization
การ Normalizationการ Normalization
การ Normalizationskiats
 
ใบความรู้ที่ 4 การคำนวณในตารางงาน
ใบความรู้ที่  4 การคำนวณในตารางงานใบความรู้ที่  4 การคำนวณในตารางงาน
ใบความรู้ที่ 4 การคำนวณในตารางงานMeaw Sukee
 

La actualidad más candente (20)

บทที่ 8 การกำหนดราคา และผลผลิตในตลาด
บทที่ 8 การกำหนดราคา และผลผลิตในตลาดบทที่ 8 การกำหนดราคา และผลผลิตในตลาด
บทที่ 8 การกำหนดราคา และผลผลิตในตลาด
 
การผลิตสื่อวีดิทัศน์สำหรับงานมัลติมีเดีย (Multimedia Video Production)
การผลิตสื่อวีดิทัศน์สำหรับงานมัลติมีเดีย (Multimedia Video Production)การผลิตสื่อวีดิทัศน์สำหรับงานมัลติมีเดีย (Multimedia Video Production)
การผลิตสื่อวีดิทัศน์สำหรับงานมัลติมีเดีย (Multimedia Video Production)
 
คอมพิวเตอร์สำหรับบัณฑิตศึกษา
คอมพิวเตอร์สำหรับบัณฑิตศึกษาคอมพิวเตอร์สำหรับบัณฑิตศึกษา
คอมพิวเตอร์สำหรับบัณฑิตศึกษา
 
การเขียนบทสำหรับงานวิดีโอ (Script Writing for Video Production)
การเขียนบทสำหรับงานวิดีโอ (Script Writing for Video Production)การเขียนบทสำหรับงานวิดีโอ (Script Writing for Video Production)
การเขียนบทสำหรับงานวิดีโอ (Script Writing for Video Production)
 
บทที่ 2 ตัวแปร
บทที่ 2 ตัวแปรบทที่ 2 ตัวแปร
บทที่ 2 ตัวแปร
 
การทำการตลาดบนมือถือสำหรับธุรกิจบริการ (Mobile Marketing for Service Business)
การทำการตลาดบนมือถือสำหรับธุรกิจบริการ (Mobile Marketing for Service Business)การทำการตลาดบนมือถือสำหรับธุรกิจบริการ (Mobile Marketing for Service Business)
การทำการตลาดบนมือถือสำหรับธุรกิจบริการ (Mobile Marketing for Service Business)
 
การสร้างสื่อภาพกราฟิกเคลื่อนไหว (Motion Graphic)
การสร้างสื่อภาพกราฟิกเคลื่อนไหว  (Motion Graphic)การสร้างสื่อภาพกราฟิกเคลื่อนไหว  (Motion Graphic)
การสร้างสื่อภาพกราฟิกเคลื่อนไหว (Motion Graphic)
 
วิเคราะห์ผู้เรียน
วิเคราะห์ผู้เรียนวิเคราะห์ผู้เรียน
วิเคราะห์ผู้เรียน
 
รายงานกลุ่ม 1
รายงานกลุ่ม 1รายงานกลุ่ม 1
รายงานกลุ่ม 1
 
การวางโครงเรื่อง (Plotting)
การวางโครงเรื่อง (Plotting)การวางโครงเรื่อง (Plotting)
การวางโครงเรื่อง (Plotting)
 
การเล่าเรื่องสินค้าผ่านภาพถ่าย (Digital Storytelling in Photography)
การเล่าเรื่องสินค้าผ่านภาพถ่าย (Digital Storytelling in Photography)การเล่าเรื่องสินค้าผ่านภาพถ่าย (Digital Storytelling in Photography)
การเล่าเรื่องสินค้าผ่านภาพถ่าย (Digital Storytelling in Photography)
 
บทที่ 5 ทฤษฎีว่าด้วยพฤติกรรมผู้บริโภค
บทที่ 5 ทฤษฎีว่าด้วยพฤติกรรมผู้บริโภคบทที่ 5 ทฤษฎีว่าด้วยพฤติกรรมผู้บริโภค
บทที่ 5 ทฤษฎีว่าด้วยพฤติกรรมผู้บริโภค
 
คู่มือการจัดทำแผนธุรกิจ
คู่มือการจัดทำแผนธุรกิจคู่มือการจัดทำแผนธุรกิจ
คู่มือการจัดทำแผนธุรกิจ
 
อินโฟกราฟิก (Infographic) และหลักการออกแบบ
อินโฟกราฟิก (Infographic) และหลักการออกแบบอินโฟกราฟิก (Infographic) และหลักการออกแบบ
อินโฟกราฟิก (Infographic) และหลักการออกแบบ
 
บทที่ 2 อุปสงค์ อุปทานและดุลยภาพ
บทที่ 2 อุปสงค์ อุปทานและดุลยภาพบทที่ 2 อุปสงค์ อุปทานและดุลยภาพ
บทที่ 2 อุปสงค์ อุปทานและดุลยภาพ
 
ประโยคสามัญ ประโยคซ้อน ประโยครวม
ประโยคสามัญ ประโยคซ้อน ประโยครวมประโยคสามัญ ประโยคซ้อน ประโยครวม
ประโยคสามัญ ประโยคซ้อน ประโยครวม
 
6.2 หลักการผลิตสินค้าและบริการอย่างมีประสิทธิภาพ
6.2 หลักการผลิตสินค้าและบริการอย่างมีประสิทธิภาพ6.2 หลักการผลิตสินค้าและบริการอย่างมีประสิทธิภาพ
6.2 หลักการผลิตสินค้าและบริการอย่างมีประสิทธิภาพ
 
Ch7 การบัญชีกิจการอุตสาหกรรม
Ch7 การบัญชีกิจการอุตสาหกรรมCh7 การบัญชีกิจการอุตสาหกรรม
Ch7 การบัญชีกิจการอุตสาหกรรม
 
การ Normalization
การ Normalizationการ Normalization
การ Normalization
 
ใบความรู้ที่ 4 การคำนวณในตารางงาน
ใบความรู้ที่  4 การคำนวณในตารางงานใบความรู้ที่  4 การคำนวณในตารางงาน
ใบความรู้ที่ 4 การคำนวณในตารางงาน
 

Destacado

วงจรพัฒนาระบบ SDLC
วงจรพัฒนาระบบ SDLCวงจรพัฒนาระบบ SDLC
วงจรพัฒนาระบบ SDLCskiats
 
ความหมายการวิเคราะห์ระบบ
ความหมายการวิเคราะห์ระบบความหมายการวิเคราะห์ระบบ
ความหมายการวิเคราะห์ระบบskiats
 
แบบจำลองข้อมูล
แบบจำลองข้อมูลแบบจำลองข้อมูล
แบบจำลองข้อมูลskiats
 
สถาปัตยกรรมฐานข้อมูล
สถาปัตยกรรมฐานข้อมูลสถาปัตยกรรมฐานข้อมูล
สถาปัตยกรรมฐานข้อมูลskiats
 
การรวบรวมความต้องการ
การรวบรวมความต้องการการรวบรวมความต้องการ
การรวบรวมความต้องการskiats
 
นอมัลไลเซชั่น ( Normalization )1nf-3nf
นอมัลไลเซชั่น ( Normalization )1nf-3nfนอมัลไลเซชั่น ( Normalization )1nf-3nf
นอมัลไลเซชั่น ( Normalization )1nf-3nfCh Khankluay
 

Destacado (6)

วงจรพัฒนาระบบ SDLC
วงจรพัฒนาระบบ SDLCวงจรพัฒนาระบบ SDLC
วงจรพัฒนาระบบ SDLC
 
ความหมายการวิเคราะห์ระบบ
ความหมายการวิเคราะห์ระบบความหมายการวิเคราะห์ระบบ
ความหมายการวิเคราะห์ระบบ
 
แบบจำลองข้อมูล
แบบจำลองข้อมูลแบบจำลองข้อมูล
แบบจำลองข้อมูล
 
สถาปัตยกรรมฐานข้อมูล
สถาปัตยกรรมฐานข้อมูลสถาปัตยกรรมฐานข้อมูล
สถาปัตยกรรมฐานข้อมูล
 
การรวบรวมความต้องการ
การรวบรวมความต้องการการรวบรวมความต้องการ
การรวบรวมความต้องการ
 
นอมัลไลเซชั่น ( Normalization )1nf-3nf
นอมัลไลเซชั่น ( Normalization )1nf-3nfนอมัลไลเซชั่น ( Normalization )1nf-3nf
นอมัลไลเซชั่น ( Normalization )1nf-3nf
 

Más de skiats

การ Setup disk quota กับ user ทุกคน
การ Setup disk quota กับ user ทุกคนการ Setup disk quota กับ user ทุกคน
การ Setup disk quota กับ user ทุกคนskiats
 
อัลกอริทึมและการวิเคราะห์ปัญหา
อัลกอริทึมและการวิเคราะห์ปัญหาอัลกอริทึมและการวิเคราะห์ปัญหา
อัลกอริทึมและการวิเคราะห์ปัญหาskiats
 
รูปแบบโครงการ
รูปแบบโครงการรูปแบบโครงการ
รูปแบบโครงการskiats
 
ตัวแปรและค่าคงที่ basic data type
ตัวแปรและค่าคงที่ basic data typeตัวแปรและค่าคงที่ basic data type
ตัวแปรและค่าคงที่ basic data typeskiats
 
4 - statement
4  - statement4  - statement
4 - statementskiats
 
การใช้งาน phpMyadmin
การใช้งาน phpMyadminการใช้งาน phpMyadmin
การใช้งาน phpMyadminskiats
 
การกำหนดปัญหาและศึกษาความเป็นไปได้
การกำหนดปัญหาและศึกษาความเป็นไปได้การกำหนดปัญหาและศึกษาความเป็นไปได้
การกำหนดปัญหาและศึกษาความเป็นไปได้skiats
 
รวบรวมความต้องการ
รวบรวมความต้องการรวบรวมความต้องการ
รวบรวมความต้องการskiats
 
DFD ภาษาอังกฤษ
DFD ภาษาอังกฤษDFD ภาษาอังกฤษ
DFD ภาษาอังกฤษskiats
 
การเขียนแผนภาพ DFD
การเขียนแผนภาพ DFDการเขียนแผนภาพ DFD
การเขียนแผนภาพ DFDskiats
 
อุปกรณ์รับและแสดงผล
อุปกรณ์รับและแสดงผลอุปกรณ์รับและแสดงผล
อุปกรณ์รับและแสดงผลskiats
 
Lecture1 การประมวลผลข้อมูล และฐานข้อมูล
Lecture1 การประมวลผลข้อมูล และฐานข้อมูลLecture1 การประมวลผลข้อมูล และฐานข้อมูล
Lecture1 การประมวลผลข้อมูล และฐานข้อมูลskiats
 
Lecture7 การแปลงโมเดลแบบ E-R เป็นรูปแบบโมเดลเชิงสัมพันธ์
Lecture7 การแปลงโมเดลแบบ E-R เป็นรูปแบบโมเดลเชิงสัมพันธ์Lecture7 การแปลงโมเดลแบบ E-R เป็นรูปแบบโมเดลเชิงสัมพันธ์
Lecture7 การแปลงโมเดลแบบ E-R เป็นรูปแบบโมเดลเชิงสัมพันธ์skiats
 
Lecture5 ฐานข้อมูลเชิงสัมพันธ์
Lecture5 ฐานข้อมูลเชิงสัมพันธ์Lecture5 ฐานข้อมูลเชิงสัมพันธ์
Lecture5 ฐานข้อมูลเชิงสัมพันธ์skiats
 
ระบบคอมพิวเตอร์
ระบบคอมพิวเตอร์ ระบบคอมพิวเตอร์
ระบบคอมพิวเตอร์ skiats
 
Lesson1 programing concept
Lesson1 programing conceptLesson1 programing concept
Lesson1 programing conceptskiats
 

Más de skiats (16)

การ Setup disk quota กับ user ทุกคน
การ Setup disk quota กับ user ทุกคนการ Setup disk quota กับ user ทุกคน
การ Setup disk quota กับ user ทุกคน
 
อัลกอริทึมและการวิเคราะห์ปัญหา
อัลกอริทึมและการวิเคราะห์ปัญหาอัลกอริทึมและการวิเคราะห์ปัญหา
อัลกอริทึมและการวิเคราะห์ปัญหา
 
รูปแบบโครงการ
รูปแบบโครงการรูปแบบโครงการ
รูปแบบโครงการ
 
ตัวแปรและค่าคงที่ basic data type
ตัวแปรและค่าคงที่ basic data typeตัวแปรและค่าคงที่ basic data type
ตัวแปรและค่าคงที่ basic data type
 
4 - statement
4  - statement4  - statement
4 - statement
 
การใช้งาน phpMyadmin
การใช้งาน phpMyadminการใช้งาน phpMyadmin
การใช้งาน phpMyadmin
 
การกำหนดปัญหาและศึกษาความเป็นไปได้
การกำหนดปัญหาและศึกษาความเป็นไปได้การกำหนดปัญหาและศึกษาความเป็นไปได้
การกำหนดปัญหาและศึกษาความเป็นไปได้
 
รวบรวมความต้องการ
รวบรวมความต้องการรวบรวมความต้องการ
รวบรวมความต้องการ
 
DFD ภาษาอังกฤษ
DFD ภาษาอังกฤษDFD ภาษาอังกฤษ
DFD ภาษาอังกฤษ
 
การเขียนแผนภาพ DFD
การเขียนแผนภาพ DFDการเขียนแผนภาพ DFD
การเขียนแผนภาพ DFD
 
อุปกรณ์รับและแสดงผล
อุปกรณ์รับและแสดงผลอุปกรณ์รับและแสดงผล
อุปกรณ์รับและแสดงผล
 
Lecture1 การประมวลผลข้อมูล และฐานข้อมูล
Lecture1 การประมวลผลข้อมูล และฐานข้อมูลLecture1 การประมวลผลข้อมูล และฐานข้อมูล
Lecture1 การประมวลผลข้อมูล และฐานข้อมูล
 
Lecture7 การแปลงโมเดลแบบ E-R เป็นรูปแบบโมเดลเชิงสัมพันธ์
Lecture7 การแปลงโมเดลแบบ E-R เป็นรูปแบบโมเดลเชิงสัมพันธ์Lecture7 การแปลงโมเดลแบบ E-R เป็นรูปแบบโมเดลเชิงสัมพันธ์
Lecture7 การแปลงโมเดลแบบ E-R เป็นรูปแบบโมเดลเชิงสัมพันธ์
 
Lecture5 ฐานข้อมูลเชิงสัมพันธ์
Lecture5 ฐานข้อมูลเชิงสัมพันธ์Lecture5 ฐานข้อมูลเชิงสัมพันธ์
Lecture5 ฐานข้อมูลเชิงสัมพันธ์
 
ระบบคอมพิวเตอร์
ระบบคอมพิวเตอร์ ระบบคอมพิวเตอร์
ระบบคอมพิวเตอร์
 
Lesson1 programing concept
Lesson1 programing conceptLesson1 programing concept
Lesson1 programing concept
 

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

  • 1. 2 ฐานขอมูลเชิงสัมพันธ (Relation Data Model) เนอหา ้ื 2.1 องคประกอบ 2.2 ความสัมพันธ 2.3 คีย 2.4 เคารางของฐานขอมูล 2.5 คาวาง 2.6 กฎที่เกี่ยวของ 2.7 กระบวนการในการจัดการขอมูล 2.8 Relational Algebra ฐานขอมูลเชิงสัมพันธ ถูกคิดคนและพัฒนาโดย อี เอฟ คอดด (E.F.Codd) เปนรูปแบบของฐานขอมูลที่นิยมใชกันมาก ในปจจุบัน เนืองจากการใชงานงาย ไมยุงยาก สลับซับซอน รวมทั้งการมีเครื่องมือชวยในการจัดการขอมูลอยางเชน ่ คําสั่ง SQL ตัวอยางของระบบเชน DB2, Oracle, Ingree, dBase, Foxpro, Access ฐานขอมูลเชิงสัมพันธ มีลักษณะของการจัดเก็บรวบรวมขอมูลในลักษณะตารางสองมิติซึ่งประกอบดวยแถว และคอลัมน ซึ่งขอมูลเหลานี้จะมีความสัมพันธระหวางกัน 2.1 องคประกอบ  (1) รีเลชั่น (Relation) เรียกอีกอยางหนึ่งวา ตาราง (Table) หมายถึง หนวยที่ใชในการจัดเก็บขอมูลในรูปของตาราง ซึ่งประกอบดวยแถวและคอลัมน (2) ระเบียน (Record) หมายถึง คาของขอมูลที่อยูในแตละแถว ทูเพิลแตละคาเปรียบไดเหมือนกับขอมูล 1 รายการ (3) ฟลด (Field) หมายถึง คาในแนวคอลัมน ซึ่งเปนรายละเอียดหรือคุณสมบัติของขอมูล แตละคุณสมบัติจะมีชื่อ เรียกและคาของฟลดที่แตกตางกัน ตัวอยาง 2.1 พนักงาน แผนก รหัส ชื่อ นามสกุล เพศ เงินเดือน รหัสแผนก รหัสแผนก ชื่อแผนก 00001 สมบูรณ สุขมาก M 10,000 01 01 การเงิน 00002 สมเกียรติ เจริญพร M 8,000 02 02 คอมพิวเตอร 00003 จันจิรา แจงเกิด F 12,000 03 03 การตลาด 00004 น้ําฝน มวงทอง F 9,500 01
  • 2. 2.2 รีเลชั่น (Relation) คณสมบติ ุ ั (1) ขอมูลในแตละแถวจะไมซ้ํากัน ขอมูลที่จัดเก็บอยูในแตละแถวจะไมมีขอมูลที่ซ้ํากัน โดยระบบการจัดการฐานขอมูลจะมีกลไกปองกันไมใหมีความ ซ้าซอนกันเกิดขึน เชน รหัสพนักงาน ํ ้ (2) ไมมีการกําหนดลําดับที่ใหกับแถวแตละแถว การจัดเก็บขอมูลจะถูกจัดเรียงตามลําดับลงบนสื่อเก็บขอมูล ในการเรียกใชสามารถเรียกใชขอมูลใด ๆ กอนหลังได  ตามความตองการ (3) ไมมีการกําหนดลําดับใหกับฟลด การอางถึงฟลดใด ๆ จะใชชื่อของฟลดในการอางถึง ไมไดใชลําดับที่ที่ฟลดนั้นปรากฏอยูในความสัมพันธ (4) คาของขอมูลในแตละฟลดของระเบียนจะบรรจุขอมูลไดเพียงคาเดียว ขอมูลในแตละฟลดจะตองบรรจุขอมูลเพียงคาเดียว ไมใชกลุมของขอมูลซึ่งเรียกวา Repeating Group ในการแกไข จะตองแยกขอมูลที่เปน Repeating Group ออกโดยการสรางระเบียนใหม ตัวอยาง 2.2 ตาราง 1 : พนักงาน รหัส ชื่อ นามสกุล เพศ เงินเดือน รหัสแผนก 00001 สมบูรณ สุขมาก M 10,000 01, 03 00002 สมเกียรติ เจริญพร M 8,000 02 ตาราง 2 : พนักงาน รหัส ชื่อ นามสกุล เพศ เงินเดือน รหัสแผนก 00001 สมบูรณ สุขมาก M 10,000 01 00001 สมบูรณ สุขมาก M 10,000 03 00002 สมเกียรติ เจริญพร M 8,000 02 (5) คาของขอมูลในแตละฟลดจะตองเก็บขอมูลประเภทเดียวกัน ตัวอยาง 2.3 พนักงาน รหัส ชื่อ นามสกุล เพศ เงินเดือน รหัสแผนก 00001 สมบูรณ สุขมาก M 10,000 01 M สมเกียรติ เจริญพร 00002 8,000 02 2
  • 3. (6) ชื่อของแตละฟลดจะตองไมซ้ํากัน ประเภทของความสัมพันธ (1) ความสัมพันธหลัก (Base Relation) ความสัมพันธที่ถูกกําหนดขึ้นเพื่อเก็บขอมูลไวในฐานขอมูล และนําขอมูลนั้นไปใชงานตอ ซึ่งจะเปนตารางที่มีการ จัดเก็บขอมูลจริงไวในฐานขอมูล (2) วิว (View) ความสัมพันธที่ถูกสรางขึ้นตามความตองการของผูใชแตละคน เพราะผูใชแตละคนอาจจะมีความตองการใชขอมูลใน ลักษณะที่แตกตางกัน ความสัมพันธนี้จะไมมีการเก็บขอมูลจริง ๆ ในระบบ แตจะเปนตารางสมมติ ตัวอยาง 2.4 พนักงาน แผนก รหัส ชื่อ นามสกุล เพศ เงินเดือน รหัสแผนก รหัสแผนก ชื่อแผนก 00001 สมบูรณ สุขมาก M 10,000 01 01 การเงิน 00002 สมเกียรติ เจริญพร M 8,000 02 02 คอมพิวเตอร 00003 จันจิรา แจงเกิด F 12,000 03 03 การตลาด 00004 น้ําฝน มวงทอง F 9,500 01 1. แสดงขอมูลเฉพาะของพนักงานรหัส 00001 - 00002 รหัส ชื่อ นามสกุล เพศ เงินเดือน รหัสแผนก 2. แสดงขอมูลรหัส, ชื่อ, นามสกุลและแผนกของพนักงานแตละคน รหัส ชื่อ นามสกุล แผนก 2.3 คีย (Key) คุณสมบัติหนึ่งที่สําคัญของความสัมพันธก็คือ ความเปนเอกลักษณ (Uniqueness property) สิ่งที่ใชกําหนดความเปน เอกลักษณของแถวในความสัมพันธ เรียกวา คีย (key) คีย หมายถึง ฟลดที่มีลักษณะเฉพาะตัว เพื่อใชในการแสดงหรือบงบอกถึงคาของฟลดอื่น ๆ ในทูเพิลใด ๆ เพื่อทําใหขอมูลในแตละทูเพิลมีคาไมซ้ํากัน และสามารถใชในการอางถึงคาในความสัมพันธอื่น ๆ 3
  • 4. คียหลัก (Primary Key) ฟลดที่มีคุณสมบัติของขอมูลที่เปนคาที่ไมซ้ํากัน ทําใหสามารถระบุไดวาขอมูลนั้นเปนขอมูลของทูเพิลใด ฟลดที่มีคุณสมบัติเปนคียหลักอาจประกอบดวยหลายฟลดรวมกัน เรียกวา คียผสม (Composite Key) เนืองจากเมือ ่ ่ นําฟลดแตละตัวมาประกอบกันจะไดคาที่เปนเอกลักษณและไมซ้ําซอนกัน ตัวอยาง 2.5 ตาราง 1 : ลูกคา ตาราง 2 : ลูกคา ชื่อ นามสกุล ที่อยู รหัส ชื่อ นามสกุล ที่อยู สมบูรณ สุขมาก กรุงเทพฯ C001 สมบูรณ สุขมาก กรุงเทพฯ สมเกียรติ ใจดี นครสวรรค C002 สมเกียรติ ใจดี นครสวรรค สมบูรณ ใจดี นครสวรรค C003 สมบูรณ ใจดี นครสวรรค คียหลัก = ชื่อ + นามสกุล คียหลัก = รหัส ตัวอยาง 2.6 ตาราง 1 : วิชา ตาราง 2 : นักศึกษา รหัสวิชา ชื่อวิชา รหัสนักศึกษา ชื่อ นามสกุล รหัสคณะ A001 คณิตศาสตร S001 สมบูรณ สุขมาก 01 A002 อังกฤษ S002 สมเกียรติ เจริญพร 02 A003 ภาษาไทย S003 สมบูรณ ใจดี 03 ตาราง 3 : ลงทะเบียน ตาราง 4 : คณะ รหัสนักศึกษา รหัสวิชา เกรด รหัสคณะ ชื่อคณะ S001 A001 4 01 บริหารธุรกิจ S001 A002 3 02 นิตศาสตร ิ S002 A001 2 03 วิทยาศาสตร คียนอก (Foreign Key) ฟลดในความสัมพันธหนึ่งซึ่งใชในการอางถึงคียหลักในอีกความสัมพันธหนึ่ง คียนอกจะใชในการเชื่อมโยงขอมูล ระหวางความสัมพันธเขาดวยกัน คียนอกสามารถเปนคียหลักได จุดมุงหมายของระบบฐานขอมูลเชิงสัมพันธ เพื่อไมใหฐานขอมูลมีขอมูลที่ซ้ําซอนกัน ทําใหขอมูลถูกจัดเก็บ อยูในความสัมพันธตาง ๆ ที่มีโครงสรางในระดับยอยที่สุด โดยกําหนดความสัมพันธระหวางความสัมพันธตาง ๆ เพื่อ สามารถอางถึงขอมูลในความสัมพันธอื่น ๆ ได จากตัวอยาง 2.6 ตารางนักศึกษา คียนอก = รหัสคณะ เชื่อมกับ รหัสคณะของ ตารางคณะ ตารางลงทะเบียน คียนอก = รหัสนักศึกษา เชื่อมกับ รหัสนักศึกษาของ ตารางนักศึกษา คียนอก = รหัสวิชา เชื่อมกับ รหัสวิชาของ ตารางวิชา 4
  • 5. ตัวอยาง 2.7 ตาราง 1 : พนักงาน ตาราง 2 แผนก ตาราง 3 : ฝาย รหัส ชื่อ รหัส รหัส ชื่อแผนก รหัสฝาย รหัสฝาย ชื่อฝาย แผนก แผนก 0001 สมบูรณ 01 01 ธุรการ 1 1 บริหาร 0002 สมเกียรติ 02 02 บุคคล 1 พนักงาน รหัส ชื่อ นามสกุล เพศ เงินเดือน รหัสผูจัดการ 00001 สมบูรณ สุขมาก M 10,000 00003 00002 สมเกียรติ เจริญพร M 8,000 00003 00003 จันจิรา แจงเกิด F 12,000 - 00004 น้ําฝน มวงทอง F 9,500 00003 2.4 เคารางของฐานขอมูล (Relational Database Schema) รายละเอียดเกี่ยวกับฐานขอมูล วาประกอบดวยความสัมพันธ และฟลดอะไรบาง ตัวอยาง 2.8 พนักงาน รหัส ชื่อ นามสกุล เพศ เงินเดือน รหัสผูจัดการ หรือ พนักงาน ( รหัส, ชื่อ, นามสกุล, เพศ, เงินเดือน, รหัสผูจัดการ ) แบบฝกหัด 2.1 หาคาของคียหลักและคียนอกของฐานขอมูลในแตละขอตอไปนี้ 1. โรงแรม ( รหัสโรงแรม, ชือโรงแรม, เมือง ) ่ หองพัก ( หมายเลขหอง, รหัสโรงแรม, ประเภทหอง, ราคา ) การเชาหอง ( รหัสโรงแรม, รหัสแขกที่พัก, วันเขาพัก, วันออก, หมายเลขหอง ) แขกที่พัก ( รหัสแขกที่พัก, ชื่อแขกที่พัก, ที่อยู ) 2. พนักงาน ( ชื่อ, นามสกุล, รหัสพนักงาน, วันเกิด, ที่อยู, เพศ, เงินเดือน, รหัสหัวหนา, รหัสแผนก ) แผนก ( ชื่อแผนก, รหัสแผนก, รหัสผูจัดการ ) ที่ตั้งแผนก ( รหัสแผนก, ที่ตั้งแผนก ) โครงการ ( ชือโครงการ, หมายเลขโครงการ, สถานที่, หมายเลขแผนก ) ่ งานที่รับผิดชอบ ( รหัสพนักงาน, หมายเลขโครงการ, จํานวนชั่วโมง ) 5
  • 6. 2.5 คาวาง (Null) ขอมูลที่จัดเก็บอยูในฐานขอมูล ในบางครั้งขอมูลที่ถูกจัดเก็บอาจจะไมครบถวน ซึงอาจเกิดจากการกรอกขอมูลไมครบ ่ หรือจัดเก็บขอมูลไมดีพอ แตเนื่องจากทุกฟลดในฐานขอมูลจะตองมีคา จึงไดมีการกําหนดคาสําหรับขอมูลที่ไม สามารถระบุคาได เรียกวา Null  ตัวอยาง 2.9 พนักงาน รหัส ชื่อ นามสกุล เพศ จํานวนบุตร วันเกิด 00001 สมบูรณ สุขมาก M 3 1/8/2507 00002 สมเกียรติ เจริญพร M Null 2.6 กฎที่เกี่ยวของ (1) กฎความบูรณภาพ / คงสภาพของเอนทิต้ี (The Entity Integrity Rule) ฟลดที่เปนคียหลัก ขอมูลในฟลดจะตองเปนคาที่เปนเอกลักษณ ไมมีคาซ้ํา และจะตองไมเปนคาวาง เนื่องจากคีย หลักจะใชในการระบุขอมูลแตละทูเพิล ถาขอมูลในคียหลักเปนคาวาง ทําใหเกิดปญหาทูเพิลที่มีคียหลักซ้ํากัน ตัวอยาง 2.10 พนักงาน รหัส ชื่อ นามสกุล เพศ เงินเดือน รหัสแผนก 00001 สมบูรณ สุขมาก M 10,000 01 Null สมเกียรติ เจริญพร M 8,000 02 Null จันจิรา แจงเกิด F 12,000 02 00004 น้ําฝน มวงทอง F 9,500 Null (2) กฎความบูรณภาพ / คงสภาพของการอางอิง (The Referential Integrity Rule) ความสัมพันธใดที่มีคียนอก ขอมูลที่เปนคียนอกจะตองเปนขอมูลที่มีอยูในคียหลักของอีกความสัมพันธหนึ่ง ไมเชนนั้น อาจจะเปนคาวาง ซึ่งหมายถึงวาไมมีขอมูลในสวนนั้น ตัวอยาง 2.11 พนักงาน แผนก รหัส ชื่อ นามสกุล เพศ เงินเดือน รหัสแผนก รหัสแผนก ชื่อแผนก 00001 สมบูรณ สุขมาก M 10,000 01 01 การเงิน 00002 สมเกียรติ เจริญพร M 8,000 02 02 คอมพิวเตอร 00003 จันจิรา แจงเกิด F 12,000 04 03 การตลาด 00004 น้ําฝน มวงทอง F 9,500 Null 6
  • 7. 2.7 กระบวนการในการจดการขอมล ั  ู (1) เพิ่มขอมูล (Insert Operations) (2) การลบขอมูล (Delete Operation) (3) การแกไขขอมูล (Update Operation) ตัวอยาง 2.12 พนักงาน แผนก รหัส ชื่อ นามสกุล เพศ เงินเดือน รหัสแผนก รหัสแผนก ชื่อแผนก 00001 สมบูรณ สุขมาก M 10,000 01 01 การเงิน 00002 สมเกียรติ เจริญพร M 8,000 02 02 คอมพิวเตอร 00003 จันจิรา แจงเกิด F 12,000 03 03 การตลาด 00004 น้ําฝน มวงทอง F 9,500 01 1. เพิ่มขอมูล Null สมชาย สุขดี M 10,000 01 00003 สมชาย สุขดี M 10,000 01 00005 สมชาย สุขดี M 10,000 04 00005 สมชาย สุขดี M 10,000 01 2. ลบขอมูล 2.1 ลบ "แผนก" รหัสแผนก = "03" 2.2 ลบ "แผนก" รหัสแผนก = "02" 3. แกไขขอมูล 3.1 แกไขเงินเดือนของ 00001 เปน 12,000 3.2 รหัสแผนกของ 00002 เปน 03 3.3 รหัสแผนกของ 00002 เปน 05 3.4 รหัสของ 00002 เปน 00004 2.8 Relational Algebra Relational Algebra ใชในการจัดการขอมูลโดยระบุตวกระทํา (operand) กับความสัมพันธที่ตองการจัดการ และจะได ั ผลลัพธออกมาเปนความสัมพันธใหม • Selection (σ ). • Projection (π ) • Join ( ) 7
  • 8. Selection แสดงขอมูลทุกฟลดในตารางตามเงื่อนไขที่กําหนด ใชสัญลักษณ σ (sigma) σ เงื่อนไข ชื่อตาราง ในการระบุเงือนไขสามารถทําไดโดยใชเครืองหมายในการเปรียบเทียบและตัวกระทําทางตรรกะรวมกันได ่ ่ • เครื่องหมายเปรียบเทียบ ไดแก = (เทากับ), ≠(ไมเทากับ), < (นอยกวา), ≤(นอยกวาหรือเทากับ), > (มากกวา), ≥ (มากกวาหรือเทากับ) • ตัวกระทําทางตรรกะ ไดแก ∧ (and) ∨ (or) ¬ (not) ตัวอยาง 2.13 1. แสดงขอมูลจากตารางสินคา สําหรับสินคาที่มีราคามากกวา 100 บาท σ ราคา > 100 สินคา 2. แสดงขอมูลจากตารางพนักงาน สําหรับพนักงานทีมอายุมากกวา 30 ป และเงินเดือนนอยกวา 5,000 บาท ่ ี σ อายุ > 30 ∧ เงนเดอน < 5000 พนักงาน ิ ื แบบฝกหัด 2.2 สราง Relational Algebra และแสดงผลลัพธในรูปของตาราง ตาราง : Player2000 ตาราง : Player2001 ชื่อ ตําแหนง อายุ สวนสูง น้ําหนัก ชื่อ ตําแหนง อายุ สวนสูง น้ําหนัก สุเมธ กองหนา 26 183 82 เอกพจน ปกขวา 20 180 78 ผลดี ปกซาย 21 175 78 ชาติชาย กองหลัง 30 169 71 ชาติชาย กองหลัง 30 169 71 กองเกียรติ กองกลาง 24 180 78 1. แสดงขอมูลของผูเลนจากตาราง Player2000 ที่มีสวนสูงมากกวา 178 เซนติเมตร 2. แสดงขอมูลของผูเลนจากตาราง Player2000 ที่มีสวนสูงมากกวา 178 เซนติเมตรและอยูในตําแหนงกองหนา  Projection แสดงขอมูลเฉพาะบางฟลดจากตาราง โดยจะแสดงทุกรายการ ใชสัญลักษณ π (pi) π ชื่อฟลด ชือตาราง ่ ตัวอยาง 2.14 แสดงขอมูลเฉพาะรหัสสินคาและชื่อสินคาจากตารางสินคา π รหสสนคา, ชื่อสินคา สินคา ั ิ  8
  • 9. แบบฝกหัด 2.3 สราง Relational Algebra และแสดงผลลัพธในรูปของตารางในการแสดงเฉพาะขอมูล น้ําหนักและสวนสูงจากตาราง Player2000 ในแบบฝกหัด 2.2 Selection & Projection Selection และ Projection สามารถนํามาใชรวมกันในการแสดงขอมูลเฉพาะบางฟลดจากตารางตามเงือนไขทีกาหนด  ่ ่ ํ ตัวอยาง 2.15 แสดงขอมูลเฉพาะรหัสสินคาและชื่อสินคาสําหรับสินคาที่มีราคามากกวา 100 จากตารางสินคา π รหสสนคา, ชื่อสินคา (σ ราคา > 100 สินคา ) ั ิ  แบบฝกหัด 2.4 สราง Relational Algebra และแสดงผลลัพธในรูปของตารางในการแสดงเฉพาะขอมูล น้ําหนักและสวนสูงของผูเลนที่มี สวนสูงมากกวา 178 เซนติเมตร จากตาราง Player2000 Join การเชือมขอมูลจากตารางตาง ๆ เขาดวยกัน โดยเชื่อมผานทางฟลดที่เหมือนกันของทั้งสองตาราง ่ R1 ชื่อฟลด R2 แบบฝกหัด 2.5 ตาราง 1 : บริษัท ตาราง 2: วัสดุ รหัส ชื่อ สถานะ จังหวัด รหัส ชื่อ จังหวัด S1 ก.การชาง 20 กรุงเทพฯ P1 เหล็ก กรุงเทพฯ S2 ส.ซัพพลาย 10 นครสวรรค P2 ปูนซีเมนต นครสวรรค S3 แมชชีน 30 กรุงเทพฯ P3 กระเบื้อง นครสวรรค สราง Relational Algebra และแสดงผลลัพธในรูปของตารางในการเชือมขอมูลจากตาราง บริษทเขากับตารางวัสดุ ่ ั ผานทางฟลดจังหวัด รหัส ชื่อ สถานะ จังหวัด รหัส ชื่อ 9
  • 10. แบบฝกหัดทายบท 1. หาคาของคียหลักและคียนอก เมือกําหนดเคารางของฐานขอมูล ดังนี้ ่ สาขา ( รหัสสาขา, ที่อยู, เมือง, รหัสไปรษณีย ) พนักงาน ( รหัสพนักงาน, ชื่อ, นามสกุล, ตําแหนง, เพศ, เงินเดือน, รหัสสาขา ) หองเชา ( รหัสหองเชา, ที่อยู, เมือง, คาเชา, รหัสเจาของ, รหัสพนักงาน, รหัสสาขา ) ลูกคา ( รหัสลูกคา, ชื่อ, นามสกุล, โทรศัพท ) เจาของ ( รหัสเจาของ, ชื่อ, นามสกุล, ที่อยู, โทรศัพท ) การเขาชม ( รหัสลูกคา, รหัสหองเชา, วันที่ ) การเชา ( รหัสลูกคา, รหัสสาขา, รหัสพนักงาน, วันที่ ) 2. กําหนดตาราง “พนักงานขาย” ดังนี้ รหัสพนักงาน ชื่อพนักงาน ที่อยู อัตราคานายหนา 1001 ชัยวัฒน กรุงเทพฯ 0.12 1002 ไมตรี ภูเก็ต 0.13 1004 เบญจวรณ กรุงเทพฯ 0.11 1007 กาญจนา เชียงใหม 0.15 1003 เตือนใจ นนทบุรี 0.10 สราง Relational Algebra และแสดงผลลัพธในรูปของตารางสําหรับแตละขอตอไปนี้ 2.1 แสดงขอมูลของพนักงานทีมอตราคานายหนามากกวา 0.13 ่ ีั 2.2 แสดงขอมูลของพนักงานที่มีรหัสมากกวา 1002 และอัตราคานายหนานอยกวา 0.15 2.3 แสดงรหัสพนักงานและอัตราคานายหนาของพนักงานทังหมด ้ 2.4 แสดงรหัสพนักงานและอัตราคานายหนาของพนักงานทีมอตราคานายหนานอยกวา 0.13 ่ ีั 2.5 แสดงชือพนักงานของพนักงานทีอยูในกรุงเทพฯ ่ ่  การบาน 2  1. หาคาของคียหลักและคียนอกจากเคารางของฐานขอมูลในแตละขอตอไปนี้ สําหรับคียนอกใหระบุตารางที่คียนอก  เชือมดวย ่ 1.1 พนักงาน (รหัสพนักงาน, ชื่อ, ที่อยู, โทรศัพท) การทํางาน (รหัสพนักงาน, รหัสบริษัท, เงินเดือน) บริษัท (รหัสบริษัท, ชื่อบริษัท, ที่อยู, โทรศัพท)  ผูจัดการ (รหัสผูจัดการ, รหัสพนักงาน) 1.2 คณะ (รหัสคณะ, ชื่อ, โทรศัพท, โทรสาร, รหัสคณบดี) บุคลากร (รหัสบุคลากร, ชื่อ) วิชาที่เปดสอน (รหัสคณะ, รหัสวิชา) วิชา (รหัสวิชา, ชื่อ, คําอธิบาย) นักศึกษา (รหัสนักศึกษา, ชื่อ, ที่อยู) ลงทะเบียน (รหัสนักศึกษา, รหัสคณะ, รหัสวิชา) 10
  • 11. 2. สราง Relational Algebra และแสดงผลลัพธในรูปของตารางในการเชื่อมตาราง “พนักงาน” เขากับตาราง “แผนก” ผานทางฟลด “รหัสแผนก” พนกงาน ั แผนก ชื่อ สาขา รหัสแผนก เงินเดือน รหัสแผนก สาขา โทรศัพท สิทธิ 400 CS 45000 CS 404 555-1212 สมาน 220 Econ 35000 Econ 200 555-1234 เกียรติ 160 Econ 50000 Fin 501 555-4321 สมชาย 420 CS 65000 Hist 100 555-9876 กาญจนา 500 Fin 60000 11