10
อออออออ อออออออออ ออ รรรรรรรร ร 32202 รรรรรรรร รรรรรรรรรรรรรรรรร รรรรรรรรร รรรรรรรรรรรรรรรรรรรรร รรร 5 รรรรรรรรรรรรรรรรรรร 5 รรรรรร รรรรรรรรรรรร รรรรรรรรรรรรรรรรรรรร รรรรรร 4 รรร รรรรร ----------------------------------------------- ----------------------------------------------- ---------------------------------- อออออออออออออออออออออออ (Relational Database) อออออออออออออออออออออออออ อออออ อออออ ออออออออออออออออออออออออออออออ อออออออออออออออ ออออออออออออออออออออ 1. รรรรรรรรรรรรรรรรรรรรรรรรรรรรรรรรรรรรรร รรรรรร อออออออออออ 3 ออออออ ออออออ 1.1 รรรรรรรรรรรรรรรรรรรรรรรรรรรร (One- to-One Relationship) อออออออออออออออออออออออออออออออออออออออออออ ออออออออออออออออ อออออออ อออออออออออออ 1 อออออ ออออออออออออ รรรรรรรรรรรร รรรรรรรรรรรรรรรรรรรรร อออ อออออออออ อออออออ 1 ออ อออออออออออออออ 1 อออออออ อออออออออออออออออออออ 1 อออออออ ออออออ อออออออออออออออออออออออออออออ รรรรรรรรรรร 1 รรรรรรรรร

2. ใบความรู้ที่ 5

Embed Size (px)

Citation preview

Page 1: 2. ใบความรู้ที่ 5

• •

อาจารย์� คอมพิวเตอร�

รหั�สวิ�ชา ง 32202 ช��อวิ�ชา การสร�างฐานข้�อมู�ลเบื้��องต้�น ระดั�บื้ช��นมู�ธยมูศึ�กษาปี"ที่$� 5

หัน%วิยการเร$ยนร��ที่$� 5 เร��อง การสร�างควิามูส�มูพั�นธ(ระหัวิ%างต้าราง จำ*านวิน 4 คาบื้เร$ยน

--------------------------------------------------------------------------------------------------------------------------------

ในฐานข้�อม�ลเชิงสั�มพิ�นธ์� (Relational Database) ม�กจะทำ�างานก�บข้�อม�ลหลาย์ๆ ตาราง เพิ"#อข้จ�ดปั&ญหาความซ้ำ�)าซ้ำ�อนข้องข้�อม�ล ในการเชิ"#อมความสั�มพิ�นธ์�ระหว*างตาราง

1. ปีระเภที่ข้องควิามูส�มูพั�นธ(ระหัวิ%างต้ารางในฐานข้�อมู�ล แบ*งออกเปั,น 3 ปัระเภทำ ได�แก*

1.1 ควิามูส�มูพั�นธ(แบื้บื้หัน��งต้%อหัน��ง (One-to-One Relationship)การสัร�างความสั�มพิ�นธ์�ระหว*างตารางในฐานข้�อม�ลแบบหน/#งต*อหน/#ง

หมาย์ถึ/ง ม1ฟิ3ลด�ข้�อม�ล 1 ฟิ3ลด�ทำ1#จ�บค�*ก�น ต้�วิอย%างเช%น อาจำารย(ก�บื้คอมูพั�วิเต้อร( หากก�าหนดว*า อาจารย์� 1

คน จะม1คอมพิวเตอร� 1 เคร"#อง และเคร"#องคอมพิวเตอร� 1 เคร"#อง จะต�องเปั,นข้องอาจารย์�คนเด1ย์วเทำ*าน�)นต้�วิอย%างที่$� 1

ควิามูส�มูพั�นธ(แบื้บื้หัน��งต้%อหัน��ง

ต้�วิอย%างที่$� 2

ใบื้ควิามูร��ที่$� 5

Page 2: 2. ใบความรู้ที่ 5

สัถึาบ�นการศึ/กษาแห*งหน/#ง ก�าหนดว*า อาจารย์�แต*ละคนจะม1น�กศึ/กษาในความด�แลข้องตนได�เพิ1ย์ง 1 คน ในข้ณะทำ1#น�กศึ/กษาแต*ละคนก7จะม1อาจารย์�ทำ1#ปัร/กษาโครงงานได�เพิ1ย์งคนเด1ย์ว จ/งสัามารถึแสัดงตารางทำ1#ใชิ�เก7บข้�อม�ล ได�ด�งน1)

อาจำารย( น�กศึ�กษารหั�สอาจำารย(ที่$�

ปีร�กษาช��ออาจำารย(ที่$�

ปีร�กษารหั�ส

น�กศึ�กษาช��อน�กศึ�กษา

60 นาย์ธ์น� อนจ�นทำร� 1006 นาย์ธ์าน1 ศึร1สั9ดใจ

01 น.สั.อาร1ย์� ฤทำ�ย์ชิ"#น 4113 น.สั.สั9ดา ชิ�ย์อน�นต�

11 น.สั.น9ชินาฎ พิาสั9ข้ 3102 น.สั.มาล1 ตะว�นแดง

80 นาย์เฉลมชิ�ย์ ข้ว�ญเม"อง

6214 นาย์คมศึร สัว*างใจ

จากตารางข้�างต�น พิจารณาแล�วจะพิบว*าในตารางด�งกล*าวม1ข้�อม�ล 2

ชินดรวมก�นอย์�* ค"อ ข้�อม�ลข้องอาจารย์�ทำ1#ปัร/กษา และข้�อม�ลข้องน�กศึ/กษา จ/งอาจทำ�าให�เกดปั&ญหาการเล"อกแอทำทำรบวต�ทำ1#จะเปั,นค1ย์�หล�ก เพิราะทำ�)งรห�สัอาจารย์�ทำ1#ปัร/กษาและรห�สัน�กศึ/กษา ต*างก7สัามารถึใชิ�เปั,นค1ย์�หล�กได�เชิ*นก�น ด�งน�)น หากเล"อกรห�สัอาจารย์�ทำ1#ปัร/กษาเปั,นค1ย์�หล�กแล�ว รห�สัน�กศึ/กษาก7จะกลาย์เปั,นค$ย(ค�%แข้%ง (Candidate Key) หร"อ ค$ย(รอง (Alternate

Key) ไปัทำ�นทำ1ด�งน�)น หากม1การแย์กเก7บข้�อม�ลแต*ละเอนทำต1ไว�คนละตาราง จะได�ด�งน1)

อาจำารย(ที่$�ปีร�กษารหั�สอาจำารย( ช��ออาจำารย( รหั�ส

น�กศึ�กษา60 นาย์ธ์น� อนจ�นทำร� 1006

01 น.สั.อาร1ย์� ฤทำ�ย์ชิ"#น 4113

11 น.สั.น9ชินาฎ พิาสั9ข้ 3102

80 นาย์เฉลมชิ�ย์ ข้ว�ญเม"อง 6214

น�กศึ�กษา

Page 3: 2. ใบความรู้ที่ 5

อาจารย์� วชิา•

รหั�สน�กศึ�กษา

ช��อน�กศึ�กษา รหั�สอาจำารย(

1006 นาย์ธ์าน1 ศึร1สั9ดใจ 60

4113 น.สั.สั9ดา ชิ�ย์อน�นต� 01

3102 น.สั.มาล1 ตะว�นแดง 11

6214 นาย์คมศึร สัว*างใจ 80

จากตารางทำ�)งสัองข้�างต�น ตารางอาจารย์�ทำ1#ปัร/กษาจะใชิ�รห�สัอาจารย์�ทำ1#ปัร/กษาเปั,นค1ย์�หล�ก สั*วนตารางน�กศึ/กษา ใชิ�รห�สัน�กศึ/กษาเปั,นค1ย์�หล�ก ความสั�มพิ�นธ์�ระหว*างเอนทำต1ทำ�)งสัองจ/งก�าหนดใชิ� ค$ย(นอก (Foreign Key)

ทำ�าให�ตารางอาจารย์�ทำ1#ปัร/กษา ม1รห�สัน�กศึ/กษาเปั,นค1ย์�นอก เพิ"#ออ�างองถึ/งข้�อม�ลในตารางน�กศึ/กษา สั*วนในตารางน�กศึ/กษาจะม1รห�สัอาจารย์�ทำ1#ปัร/กษาเปั,นค1ย์�นอก เพิ"#ออ�างองถึ/งข้�อม�ลในตารางอาจารย์�ทำ1#ปัร/กษา และค1ย์�นอกทำ1#ก�าหนดก7จะปัรากฏอย์�*ในแต*ละตาราง เพิ1ย์งคร�)งเด1ย์ว เน"#องจากเปั,นความสั�มพิ�นธ์�แบบหน/#งต*อหน/#ง น�#นเอง

1.2 ควิามูส�มูพั�นธ(แบื้บื้หัน��งต้%อกล.%มู (One-to-Many Relationship)

การสัร�างความสั�มพิ�นธ์�ระหว*างตารางฐานข้�อม�ลแบบหน/#งต*อกล9*ม หมาย์ถึ/ง ม1ฟิ3ลด� ข้�อม�ล 1 ฟิ3ลด�ทำ1#จ�บค�*ก�บฟิ3ลด�ข้�อม�ลหลาย์ฟิ3ลด�ในตารางอ"#น แต*ฟิ3ลด�ในตารางน�)นจ�บค�*ได�เพิ1ย์งแค*ฟิ3ลด�เด1ย์ว

ต้�วิอย%างเช%น อาจำารย(ก�บื้วิ�ชา หากก�าหนดว*า วชิา 1 วชิา จะม1อาจารย์�สัอนได�เพิ1ย์ง 1 คนเทำ*าน�)น แต*อาจารย์� 1 คน สัามารถึสัอนได�หลาย์วชิา

ต้�วิอย%างที่$� 1

Page 4: 2. ใบความรู้ที่ 5

ควิามูส�มูพั�นธ(แบื้บื้หัน��งต้%อกล.%มูต้�วิอย%างที่$� 2

ตารางน�กศึ/กษาและตารางอาจารย์�ทำ1#ปัร/กษา โดย์ในตารางน�กศึ/กษาจะเพิ#มสัดมภ�อ1ก 1 สัดมภ� เพิ"#อเก7บค*ารห�สัอาจารย์�ทำ1#ปัร/กษาทำ1#ด�แลตนอย์�* และค*าข้องรห�สัอาจารย์�ทำ1#ปัร/กษาน1) ก7จะเปั,นค1ย์�หล�กในตารางอาจารย์�ทำ1#ปัร/กษาด�วย์ ด�งแสัดงในตารางต*อไปัน1)

น�กศึ�กษา อาจำารย(ที่$�ปีร�กษา

จำากต้ารางข้�างต้�น ข้�อม�ลน�กศึ/กษาแต*ละคนจะอย์�*ในแต*ละแถึวข้องตารางน�กศึ/กษา และค*าข้องรห�สัอาจารย์�ทำ1#ปัร/กษาในแต*ละแถึวข้องตารางน�กศึ/กษาจะม1เพิ1ย์งค*าเด1ย์ว ซ้ำ/#งเปั,นความสั�มพิ�นธ์�ว*า น�กศึ/กษาแต*ละคนจะม1อาจารย์�ทำ1#ปัร/กษาด�แลเพิ1ย์งคนเด1ย์ว สั*วนตารางอาจารย์�ทำ1#ปัร/กษาจะไม*ม1ข้�อม�ลข้องน�กศึ/กษาเก7บอย์�*เลย์ ด�งน�)น ถึ�าต�องการทำราบว*าอาจารย์�ทำ1#ปัร/กษาแต*ละคนม1น�กศึ/กษาในความด�แลเปั,นใครบ�าง จะต�องไล*ด�รห�สัอาจารย์�ทำ1#ปัร/กษาคนน�)นในตารางน�กศึ/กษา ซ้ำ/#งอาจจะม1มากกว*าหน/#งแถึว เปั,นการแสัดงว*า อาจารย์�ทำ1#ปัร/กษาแต*ละคนม1น�กศึ/กษาในความด�แลได�หลาย์คน ต�วอย์*างเชิ*น อาจารย์�ทำ1#ปัร/กษาทำ1#ชิ"#อ อ.ธ์น� ม1น�กศึ/กษาในความด�แล 3 คน ค"อ นาย์ธ์าน1 น.สั.อ�จฉรา และน.สั.สัมใจ

1.3 ควิามูส�มูพั�นธ(แบื้บื้กล.%มูต้%อกล.%มู (Many-to-Many Relationship)

การสัร�างความสั�มพิ�นธ์�ระหว*างตารางฐานข้�อม�ลแบบกล9*มต*อกล9*ม หมาย์ถึ/ง ม1ฟิ3ลด�ข้�อม�ลหลาย์ฟิ3ลด�ทำ1#จ�บค�*ก�นระหว*างตาราง

รหั�สน�กศึ�กษา

ช��อน�กศึ�กษา

รหั�สอาจำารย(ที่$�ปีร�กษา

1006 นาย์ธ์าน1 60

4113 น.สั.สั9ดา 01

3102 น.สั.มาล1 11

6214 นาย์คมศึร 80

8104 นาย์อาว9ธ์ 01

4412 น 60

รหั�สอาจำารย(ที่$�ปีร�กษา

ช��ออาจำารย(

60 อ.ธ์น�01 อ.อาร1ย์�11 อ.น9ชินาฎ80 อ.เฉลม

Page 5: 2. ใบความรู้ที่ 5

วชิาน�กเร1ย์น

ต้�วิอย%างเช%น น�กเร$ยนก�บื้วิ�ชา หากก�าหนดว*า น�กเร1ย์นแต*ละคนสัามารถึเร1ย์นได�หลาย์วชิา และแต*ละวชิาก7สัามารถึม1น�กเร1ย์นเร1ย์นได�หลาย์คน

ต้�วิอย%างที่$� 1

ควิามูส�มูพั�นธ(แบื้บื้กล.%มูต้%อกล.%มู

ต้�วิอย%างที่$� 2 ย์กต�วอย์*าง กรณ1การลงทำะเบ1ย์นเร1ย์นในสัถึาบ�นการศึ/กษาแห*งหน/#ง

ก�าหนดว*า การลงทำะเบ1ย์นเร1ย์นแต*ละคร�)งน�กศึ/กษาสัามารถึลงทำะเบ1ย์นเร1ย์นได�มากกว*า 1 วชิา ซ้ำ/#งวชิาแต*ละวชิาก7อาจปัรากฏอย์�*ในใบลงทำะเบ1ย์นข้องน�กศึ/กษามากกว*า 1 คน ด�งน�)น ควิามูส�มูพั�นธ(ระหัวิ%างการลงที่ะเบื้$ยนและรายวิ�ชา จำะเปี/นแบื้บื้กล.%มูต้%อกล.%มู กรณ1เชิ*นน1)จะต�องสัร�างตารางข้/)นใหม* ใชิ�ชิ"#อว*า ตารางราย์การลงทำะเบ1ย์น เพิ"#อให�ตารางใหม*น1)เปั,นตารางทำ1#จะสัร�างความสั�มพิ�นธ์�ข้องตารางราย์การลงทำะเบ1ย์น ก�บตารางราย์วชิา ซ้ำ/#งในตารางราย์การลงทำะเบ1ย์นจะปัระกอบด�วย์แอทำทำรบวต�หมาย์เลข้ใบลงทำะเบ1ย์น และรห�สัวชิาทำ1#ลงทำะเบ1ย์น ด�งแสัดงในตารางต*อไปัน1) การลงที่ะเบื้$ยน รายวิ�ชา

หัมูายเลข้ใบื้ลงที่ะเบื้$ยน

วิ�นที่$�ลงที่ะเบื้$ยน

รหั�สน�กศึ�กษ

า2101 01/05/

464113

2102 09/05/46

3102

2103 10/05/ 1006

รหั�สวิ�ชา

ช��อวิ�ชาจำ*านวินหัน%วิยก�

ต้410-101

ภาษาไทำย์ - 1

2

410-102

ภาษาไทำย์ - 2

2

510-101

ภาษาอ�งกฤษ -

2

Page 6: 2. ใบความรู้ที่ 5

รายการลงที่ะเบื้$ยนหัมูายเลข้ใบื้ลง

ที่ะเบื้$ยนรหั�สวิ�ชา

2101 410-1022101 630-1012101 630-1022102 510-1022102 630-1012103 410-1022103 510-1012103 630-1022104 410-1012104 510-101

2. วิ�ธ$การสร�างควิามูส�มูพั�นธ(ระหัวิ%างต้ารางในฐานข้�อมู�ล

� ตารางทำ1#ม1เข้ตข้�อม�ลสั�มพิ�นธ์�ก�นหน/#งเข้ตข้�อม�ล ซ้ำ/#งก*อนสัร�างความสั�มพิ�นธ์�ต�องปั3ด ตารางทำ�)งหมดลงเสั1ย์ก*อน แล�วไปัทำ1#แทำ7บเคร"#องม"อฐานข้�อม�ล คลกปั9>มค�าสั�#งความสั�มพิ�นธ์� จะเปั3ดแทำ7บบรบทำเคร"#องม"อการทำ�าความสั�มพิ�นธ์� ทำ1#แทำ7บออกแบบให�คลกแสัดงตารางทำ1#ต�องการสัร�าง ความสั�มพิ�นธ์�ออกมา แล�วด�บเบลคลกเพิ#มชิ"#อตารางทำ1#ต�องการสัร�างความสั�มพิ�นธ์� จากน�)นจ/งลากชิ"#อเข้ตข้�อม�ลทำ1#เหม"อนก�นข้องทำ�)งสัองตาราง ให�ตรงก�น เม"#อแผ่*นงานแก�ไข้ความสั�มพิ�นธ์�ปัรากฏข้/)นมาให�คลกเล"อก บ�งค�บให�ม1 Referential Integrity ซ้ำ/#งหมาย์ความว*า ระบบข้องกฎต*าง ๆ ทำ1# Access 2007 ใชิ�เพิ"#อให� ม�#นใจได�ว*าความสั�มพิ�นธ์�ระหว*างระเบ1ย์นในตารางทำ1#สั�มพิ�นธ์�ก�นน�)นถึ�กต�อง และจะต�องไม*ลบหร"อ เปัล1#ย์นแปัลงข้�อม�ลทำ1#ม1ความสั�มพิ�นธ์�ก�นโดย์บ�งเอญ

จำากต้าราง หากต�องการทำราบว*าใบลงทำะเบ1ย์นหมาย์เลข้ 2102 ม1การลงทำะเบ1ย์นเร1ย์นวชิาใดบ�าง เราจะเร#มด�ข้�อม�ลในตารางราย์การลงทำะเบ1ย์น โดย์ด�แถึวทำ1#ม1หมาย์เลข้ใบลงทำะเบ1ย์นเปั,นหมาย์เลข้ 2102 แล�วใชิ�รห�สัวชิาทำ1#หาได�จากตารางน1) ไปัด�ข้�อม�ลข้องวชิาน�)นในตาราง

วิ�ธ$การสร�างควิามูส�มูพั�นธ(ระหัวิ%างต้าราง

Page 7: 2. ใบความรู้ที่ 5

ค�าสั�#งแสัดงตารางในแทำ7บออกแบบข้องแทำ7บเคร"#องม"อการทำ�าความสั�มพิ�นธ์�

เร#มต�นสัร�างความสั�มพิ�นธ์�จากการคลกปั9>มค�าสั�#งความสั�มพิ�นธ์�

ค�าสั�#งเพิ#มแสัดงตารางข้�อม�ลน�กศึ/กษา

เม"#อลากชิ"#อเข้ตข้�อม�ล studentID

ข้�ามตารางแล�ว ให�คลกเล"อกบ�งค�บให�

เส�นควิามูส�มูพั�นธ(เปี/น

Page 8: 2. ใบความรู้ที่ 5

ตารางทำ1#ม1เข้ตข้�อม�ลสั�มพิ�นธ์�ก�นหน/#งเข้ตข้�อม�ล ซ้ำ/#งก*อนสัร�างความสั�มพิ�นธ์�ต�องปั3ด ตารางทำ�)งหมดลงเสั1ย์ก*อน แล�วไปัทำ1#แทำ7บเคร"#องม"อฐานข้�อม�ล คลกปั9>มค�าสั�#งความสั�มพิ�นธ์� จะเปั3ด แทำ7บบรบทำเคร"#องม"อการทำ�าความสั�มพิ�นธ์� ทำ1#แทำ7บออกแบบให�คลกแสัดงตารางทำ1#ต�องการสัร�าง ความสั�มพิ�นธ์�ออกมา แล�วด�บเบลคลกเพิ#มชิ"#อตารางทำ1#ต�องการสัร�างความสั�มพิ�นธ์� จากน�)นจ/งลากชิ"#อ เข้ตข้�อม�ลทำ1#ตรงก�นข้องทำ�)งสัองตาราง เม"#อแผ่*นงานแก�ไข้ความสั�มพิ�นธ์�ปัรากฏข้/)นมาให�คลกเล"อก บ�งค�บให�ม1 Referential Integrity

เม"#อลากชิ"#อเข้ตข้�อม�ล divisionID ข้�ามตารางแล�วให�คลกเล"อกบ�งค�บให�ม1 Referential Integrity

ค�าสั�#งแสัดงตาราง

วิ�ธ$การสร�างควิามูส�มูพั�นธ(ระหัวิ%างต้าราง แบื้บื้หัน��งต้%อ

Page 9: 2. ใบความรู้ที่ 5

เสั�นความสั�มพิ�นธ์�เปั,นแบบหน/#งต*อหน/#ง แบบหน/#งต*อกล9*ม