SlideShare a Scribd company logo
1 of 54
Download to read offline
บทที่ 3

ฐานข้ อมูลเชิงสั มพันธ์
(Relational Database)
บทนา
 การจัดเก็บฐานข้อมูลเชิงสัมพันธ์ ได้เริ่ มรู ้จกกัน บทความชื่อ A
ั

Relational Model of Data for Large Shared Data Banks ของ Dr.Edgar
Frank Codd หรื อ Dr. E. F. Codd ซึ่งขณะนั้นเป็ นนักวิจยอยูที่บริ ษท
ั ่
ั
IBM ได้ตีพิมพ์ในวารสาร Association of Computer Machinery (ACM)
journal เมื่อเดือนมิถุนายน ปี ค.ศ.1970 การสร้างโมเดลเชิงสัมพันธ์ได้
ใช้ทฤษฎีทางคณิ ตศาสตร์เกี่ยวกับเซต (Set) มาอธิบายการทางาน
แนวคิดของ Codd นี้ได้ถูกพัฒนาเป็ นซอฟต์แวร์ระบบฐานข้อมูลที่ชื่อว่า
Oracle จากบริ ษท Relational Software หรื อ บริ ษท Oracle ในปัจจุบน
ั
ั
ั
3.1 ความหมายของฐานข้ อมูลเชิงสั มพันธ์
 ฐานข้อมูลเชิงสัมพันธ์ (Relational

Database) เป็ นการ
รวบรวมข้อมูลในลักษณะตาราง 2 มิติ ประกอบด้วย แถว (Row) และ
คอลัมน์ (Column) ซึ่งแสดงคุณลักษณะและรายละเอียดต่าง ๆ โดย
ข้อมูลในตารางจะต้องผ่านกระบวนการบรรทัดฐานของข้อมูล
(Normalization) เพื่อลดความซ้ าซ้อนของข้อมูล
3.2 คาศัพท์ ทเี่ กียวข้ องกับฐานข้ อมูลเชิงสั มพันธ์
่
 3.2.1

รีเลชัน (Relation)
รี เลชัน (Relation) หรื อจะเรี ยกอีกอย่างว่า ตาราง
(table) หรื อในรู ปแบบของความสัมพันธ์ระหว่างข้อมูล (E-R
Model) เรี ยกว่า เอนทิตี (Entity) เป็ นการแสดงถึงรู ปแบบของ
ตาราง 2 มิติ ที่ประกอบด้วยคอลัมน์และแถวของข้อมูล
3.2 คาศัพท์ ทเี่ กียวข้ องกับฐานข้ อมูลเชิงสั มพันธ์ (ต่ อ)
่
 3.2.2

แอททริบิวท์ (Attribute)
แอททริ บิวท์ (Attribute) หรื อ คอลัมน์ (Column) เป็ น
การแสดงถึงคุณลักษณะของรี เลชัน อาจจะเรี ยกว่า เขตข้ อมูล เช่น รี เล
ชัน “สิ นค้า” ประกอบด้วยคอลัมน์ที่แสดงถึงแอททริ บิวท์ต่างๆ ได้แก่
รหัสสิ นค้า ชื่อสิ นค้า จานวนสิ นค้าคงเหลือ เป็ นต้น
3.2 คาศัพท์ ทเี่ กียวข้ องกับฐานข้ อมูลเชิงสั มพันธ์ (ต่ อ)
่
 3.2.3

ทัพเพิล (tuple)
ทัพเพิล (tuple)จะเรี ยกอีกอย่างว่า แถว (Row) หรื อ เร
คอร์ด (record) แถวจะเป็ นที่เก็บสมาชิกของรี เลชัน ดังนั้น แถว
แต่ละแถวในรี เลชันจะต้องมีคุณสมบัติที่เหมือนกันหมด หรื อ มีขอมูล
้
ตามคอลัมน์ที่เป็ นคุณลักษณะของรี เลชันเดียวกัน
3.2 คาศัพท์ ทเี่ กียวข้ องกับฐานข้ อมูลเชิงสั มพันธ์ (ต่ อ)
่
โมเดลฐานข้อมูลเชิง โมเดลแบบ E-R โปรแกรมเมอร์ ผูใช้งานทัวไป
้
่
สัมพันธ์
รี เลชัน
เอนทิตี
แฟ้ มข้อมูล
ตาราง

แอททริ บิวท์

แอททริ บิวท์

เขตข้อมูล

ทัพเพิลหรื อเรคอร์ด สมาชิกของเอนทิตี ระเบียน

คอลัมน์
แถว

ที่มา (สมจิตร อาจอินทร์ และ งามนิจ อาจอินทร์, 2549, หน้า 128)
ตารางที่ 3.1 แสดงรู ปแบบคาศัพท์พ้ืนฐานของโมเดลเชิงสัมพันธ์
3.2 คาศัพท์ ทเี่ กียวข้ องกับฐานข้ อมูลเชิงสั มพันธ์ (ต่ อ)
่
 3.2.4

คาร์ ดินอลลิตี้ (Cardinality)
คาร์ดินอลลิต้ ี (Cardinality) คือ จานวนของทัพเพิลในหนึ่ง
รี เลชัน หรื อ จานวนแถวในหนึ่งตาราง
 3.2.5 ดีกรี (Degree)
ดีกรี (Degree) คือ จานวนแอททริ บิวท์ในหนึ่งรี เลชัน หรื อ จานวน
คอลัมน์ในหนึ่งตาราง ยกตัวอย่างข้อมูลพนักงาน เพื่ออธิบาย
องค์ประกอบของรี เลชัน ดังรู ปที่ 3.1
3.2 คาศัพท์ ทเี่ กียวข้ องกับฐานข้ อมูลเชิงสั มพันธ์ (ต่ อ)
่
3.2 คาศัพท์ ทเี่ กียวข้ องกับฐานข้ อมูลเชิงสั มพันธ์ (ต่ อ)
่
3.2.6 โดเมน (Domain)
โดเมน (Domain) คือ กลุ่มหรื อขอบเขตของข้อมูลที่เป็ นไปได้ของแต่
ละแอททริ บิวท์ เช่น โดเมนของแอททริ บิวท์กาหนดเพศ ประกอบด้วย เพศหญิง
กับ เพศชาย โดเมนของแอททริ บิวท์อายุของพนักงานมีขอบเขตระหว่าง 18-60 ปี
เป็ นต้น
 3.2.7 ค่ าว่ าง (Null Value)
ค่าว่าง (Null Value) ในที่น้ ีไม่ได้หมายถึงการกาหนดให้เป็ นศูนย์ หรื อ
ช่องว่างแต่เป็ นแอททริ บิวท์ที่ยงไม่มีค่าข้อมูลเก็บอยู่ อาจจะยังไม่ทราบค่าข้อมูลที่
ั
จะต้องใส่ ลงไปในแอททริ บิวท์น้ นๆ เมื่อทราบค่าข้อมูลในแอททริ บิวท์น้ น อาจมี
ั
ั
การกลับมาใส่ ขอมูลลงไปใหม่ได้ ยกเว้นแอททริ บิวท์ที่เป็ นคียหลักที่ไม่สามารถ
้
์
ทาให้เป็ นค่าว่างได้

3.2 คาศัพท์ ทเี่ กียวข้ องกับฐานข้ อมูลเชิงสั มพันธ์ (ต่ อ)
่
 3.2.8

คีย์หลัก (Primary Key)
คียหลัก (Primary Key) คือ แอททริ บิวท์ที่สามารถใช้
์
เจาะจงแถวใดแถวหนึ่งในรี เลชัน โดยข้อมูลแต่ละแถวจะไม่ซ้ าซ้อนกัน
บางครั้งอาจเรี ยกสั้น ๆ ว่า คีย ์
3.2 คาศัพท์ ทเี่ กียวข้ องกับฐานข้ อมูลเชิงสั มพันธ์ (ต่ อ)
่
คุณสมบัตของคีย์หลัก
ิ
1. ข้อมูลของแอททริ บิ วท์ที่เป็ นคี ย หลัก จะมี ความเป็ นหนึ่ งเดี ยว
์
(uniqueness) กล่าวคือทุกๆ แถวของตารางจะต้องไม่มีขอมูลของแอททริ บิวท์
้
ที่เป็ นคียหลักนี้ซ้ ากัน
์
2. ต้องประกอบด้วยจานวนแอททริ บิวท์ที่นอยที่สุด (minimality)
้
แต่สามารถใช้เป็ นตัวชี้เฉพาะเจาะจงหรื ออ้างอิงถึงแถวใดแถวหนึ่ งในรี เลชัน
ได้
3. ค่าแอททริ บิวท์คียหลักต้องไม่เป็ นค่าว่าง (Not Null)
์
3.2 คาศัพท์ ทเี่ กียวข้ องกับฐานข้ อมูลเชิงสั มพันธ์ (ต่ อ)
่
 แอททริ บิวท์เป็ นคียหลักของรี เลชันจะแทนได้ดวยการขีดเส้นใต้แอททริ
์
้

บิวท์ดงกล่าว ดังแสดงในข้อความสัญลักษณ์ต่อไปนี้
ั
พนักงาน (รหัสพนักงาน, ชื่อพนักงาน, แผนก, เงินเดือน, รหัสหัวหน้างาน)
3.2 คาศัพท์ ทเี่ กียวข้ องกับฐานข้ อมูลเชิงสั มพันธ์ (ต่ อ)
่
 3.2.9

คีย์ร่วม (Composite Key)
คียร่วม (Composite Key) คือ คียหลักที่ประกอบด้วยแอ
์
์
ททริ บิวท์มากกว่าหนึ่งแอททริ บิวท์ ตัวอย่างดังรู ปที่ 3.2
การทางาน
รหัสพนักงาน รหัสโครงการ
จานวนชัวโมง
่
รู ปที่ 3.2 ตัวอย่าง
ล่วงเวลา
ข้อมูลที่
1001
1002

111
111

50
56

2001
1001

111
112

40
45

1002

112

36

่
เก็บอยูในรี เลชัน
การทางาน
3.2 คาศัพท์ ทเี่ กียวข้ องกับฐานข้ อมูลเชิงสั มพันธ์ (ต่ อ)
่
 แอททริ บิวท์เป็ นคียร่วมของรี เลชันจะแทนด้วยการขีดเส้นใต้แอททริ
์

บิวท์ ดังแสดงในข้อความสัญลักษณ์ต่อไปนี้
การทางาน (รหัสพนักงาน, รหัสโครงการ, จานวนชัวโมงล่วงเวลาทั้งหมด)
่
3.2 คาศัพท์ ทเี่ กียวข้ องกับฐานข้ อมูลเชิงสั มพันธ์ (ต่ อ)
่
 3.2.10

คีย์คู่แข่ งและคีย์สารอง (Candidate Key and Alternate Key)
แอททริ บิวท์หลายแอททริ บิวท์ที่มีคุณสมบัติที่สามารถเลือกขึ้นมา
เป็ นคียหลักได้ เราเรี ยกว่า คีย์คู่แข่ ง(Candidate Key)
์

นักศึกษา

รหัส
ชื่อนักศึกษา
นักศึกษา
48123623 นายสมปอง ปรี ชา

วิทยาการคอมพิวเตอร์

หมายเลขบัตร
ประชาชน
3 5101 00742 25 9

48123634 นายอานาจ อาจองค์
48123401 น.ส.กัญญา ยาใจ

วิทยาการคอมพิวเตอร์
เทคโนโลยีสารสนเทศ

3 5006 00014 11 7
3 5122 00987 44 8

48123429 น.ส.สายรุ ้ง สี สวย

เทคโนโลยีสารสนเทศ

3 5010 00641 88 3

รู ปที่

สาขาวิชา

่
3.3 ตัวอย่างข้อมูลที่เก็บอยูในรี เลชันนักศึกษา
3.2 คาศัพท์ ทเี่ กียวข้ องกับฐานข้ อมูลเชิงสั มพันธ์ (ต่ อ)
่
 3.2.11

นัลคีย์แอททริบิวท์ (Nonkey Attribute)
นัลคียแอททริ บิวท์ คือ แอททริ บิวท์อื่น ๆ ในรี เลชันที่ไม่ใช่ส่วนใด
์
ส่ วนหนึ่งของคียหลัก เช่น จากรู ปที่ 3.3 ถ้ากาหนดให้คียหลักคือแอทท
์
์
ริ บิวท์รหัสนักศึกษา ดังนั้น แอททริ บิวท์ชื่อนักศึกษา สาขาวิชา และ
หมายเลขบัตรประชาชน เป็ นนัลคียแอททริ บิวท์
์
3.2 คาศัพท์ ทเี่ กียวข้ องกับฐานข้ อมูลเชิงสั มพันธ์ (ต่ อ)
่
 3.2.12

คีย์นอก (Foreign Key )
คียนอก หรื อ คียอางอิง เป็ นแอททริ บิวท์หรื อกลุ่มแอททริ บิวท์ในรี
์
์้
เลชันหนึ่ง ซึ่งจะไปปรากฏเป็ นคียหลักกับอีกรี เลชันหนึ่ง ดังนั้นค่าคีย ์
์
นอกจะมีค่าเท่ากับค่าคียหลักในแถวในแถวหนึ่งของอีกรี เลชัน หรื อค่า
์
่
ในคียนอกจะต้องมีค่าอยูในโดเมนเดียวกับคียหลัก
์
์
3.2 คาศัพท์ ทเี่ กียวข้ องกับฐานข้ อมูลเชิงสั มพันธ์ (ต่ อ)
่
คุณสมบัตของคีย์นอก
ิ
่
1. คียนอกจะเป็ นแอททริ บิวท์ หรื อกลุ่มของแอททริ บิวท์ที่อยูในรี เลชัน
์
หนึ่ งๆ ที่ค่าของแอททริ บิวท์น้ นไปปรากฏเป็ นคียหลักในอีกรี เลชัน (หรื ออาจเป็ น
ั
์
รี เลชันเดิมก็ได้)
2. คียนอกเปรี ยบเสมือนกาวเชื่อมข้อมูลในรี เลชันหนึ่ งกับอีกรี เลชันหนึ่ ง
์
ซึ่ งเป็ นการสร้างความสัมพันธ์ระหว่างรี เลชัน
ั
3. คียนอกและคียหลักของอีกรี เลชันที่มีความสัมพันธ์กน จะต้องอยู่
์
์
ภายใต้โดเมนเดียวกัน และคียนอกไม่จาเป็ นต้องมีชื่อเหมือนกับคียหลักของอีกรี เล
์
์
ั
ชันที่มีความสัมพันธ์กน
่
็
4. รี เลชันหนึ่งๆ อาจจะมีคียนอกอยูหรื อจะไม่มีกได้ แต่ทุกรี เลชันจะต้อง
์
มีคียหลักเสมอ
์
ที่มา (สมจิตร อาจอินทร์ และ งามนิจ อาจอินทร์, 2549, หน้า 133-135)
3.2 คาศัพท์ ทเี่ กียวข้ องกับฐานข้ อมูลเชิงสั มพันธ์ (ต่ อ)
่
แอททริ บิวท์ที่เป็ นคียนอกของรี เลชันจะแทนได้ดวยการขีดเส้นปะใต้
์
้
แอททริ บิวท์ ดังกล่าว ดังแสดงในข้อความสัญลักษณ์ต่อไปนี้
รายวิชา (รหัสวิชา, ชื่อวิชา, วิชาที่ตองเรี ยนก่อน, รหัสอาจารย์ผสอน)
้
ู้
อาจารย์ผสอน (รหัสอาจารย์ผสอน, ชื่ออาจารย์ผสอน, ห้องพักอาจารย์)
ู้
ู้
ู้
3.2 คาศัพท์ ทเี่ กียวข้ องกับฐานข้ อมูลเชิงสั มพันธ์ (ต่ อ)
่
ชื่อวิชา

วิชาที่ตอง
้
เรี ยนก่อน

รหัสอาจารย์
ผูสอน
้

วิเคราะห์และออกแบบระบบ

COM 2602

C020

COM 1301

การโปรแกรมภาษาคอมพิวเตอร์ 1

COM 1601

โครงสร้างข้อมูล

COM 2602

ระบบการจัดการฐานข้อมูล

C008

COM 3701

อาจารย์
ผู้สอน

รหัสวิชา
COM 2502

รายวิชา

ระบบสื่ อสารข้อมูล

C007

C005
COM 1301

รหัสอาจารย์ผสอน
ู้

ชื่ออาจารย์ผสอน
ู้

ห้องพักอาจารย์

C001

สายใจ พิมพ์ประภา

2111

C005

กิตติ ใจดีงาม

2113

C007

ชานน จงรักษา

2113

C008

อาภรณ์ คงดี

2112

C020

จุติภา รักงานดี

2112

C005

รู ปที่ 3.4 ตัวอย่างข้อมูลที่
่
เก็บอยูในรี เลชันรายวิชา
และรี เลชันอาจารย์ผสอน
ู้
3.2 คาศัพท์ ทเี่ กียวข้ องกับฐานข้ อมูลเชิงสั มพันธ์ (ต่ อ)
่
ตารางที่ 3.2 แสดงตารางสรุ ปความหมายของคาศัพท์ต่างๆ
คาศัพท์

ความหมาย

รี เลชัน (Relation)

ตารางสองมิติที่ประกอบด้วยแถวและคอลัมน์

แอททริ บิวท์ (Attribute)

คอลัมน์ในรี เลชัน

ทัพเพิล (Tuple)

แถวในรี เลชัน

ดีกรี (Degree)

จานวนแอททริ บิวท์ในรี เลชัน

คาร์ดินลลิตี (Cardinality)
ั

จานวนแถวข้อมูลในรี เลชัน

โดเมน (Domain)

กลุ่มของข้อมูลทั้งหมดที่เป็ นไปได้ของแอททริ บิวท์หนึ่งๆ

ค่าว่าง (Null Value)

ค่าที่ให้แก่แอททริ บิวท์หนึ่งๆ ในกรณี ที่ยงไม่พร้อมที่จะใส่ขอมูลหรื อการไม่ทราบค่า
ั
้
ข้อมูลของแอททริ บิวท์น้ นๆ
ั

คียหลัก (Primary Key)
์

คียคู่แข่งที่ถูกเลือกขึ้นมาเป็ นคียของรี เลชัน
์
์

คียร่วม (Composite Key)
์

คียหลักที่ประกอบด้วยแอททริ บิวท์มากกว่าหนึ่งแอททริ บิวท์
์

คียคู่แข่ง (Candidate Key) กลุ่มของแอททริ บิวท์ที่มีสิทธิ์ถูกเลือกให้เป็ นคียหลักของรี เลชัน
์
์
คียนอก (Foreign Key)
์

กลุ่มของแอททริ บิวท์ในรี เลชันหนึ่งๆ ที่มีค่าข้อมูลไปปรากฏเป็ นคียหลักของอีกรี เลชัน
์
(หรื ออาจเป็ นรี เลชันเดียวกัน)
3.3 คุณสมบัตทสาคัญของรีเลชัน
ิ ี่
3.3.1 แต่ละช่องในตารางจะบรรจุขอมูลเพียง 1 ค่าเท่านั้น เช่น
้
การทางาน รหัสพนักงาน รหัสโครงการ
จานวนชัวโมง
่
1001
1002
2001

111
รหัสโครงการ

1001
1002

111
111

จานวนชัวโมง
่
ล่วงเวลา
50
56

2001
1001

111
112

40
45

รู ปที่ 3.5 แสดงข้อมูลใน
รี เลชันการทางานที่มี
มากกว่า 1 ค่า การทางาน

40

รหัสพนักงาน

การทางาน

111, 112
111

ล่วงเวลา
95
56

รู ปที่ 3.6 แสดงข้อมูล
ในรี เลชันการทางานที่
มีเพียง 1 ค่า
3.3 คุณสมบัตทสาคัญของรีเลชัน (ต่ อ)
ิ ี่
3.3.2 ข้อมูลแต่ละแถวของตารางจะต้องแตกต่างกัน เช่น รี เลชันการทางาน ข้อมูล
ในแถวหรื อทัพเพิลจะไม่เก็บข้อมูลเดิมซ้ าอีก
การทางาน

รหัสโครงการ

จานวนชัวโมงล่วงเวลา
่

111
111
111
111

50
56
40
50

รหัสพนักงาน
1001
1002
2001
1001

รู ปที่ 3.7 แสดงตัวอย่างการเก็บข้อมูลรี เลชันการทางานที่ซ้ ากัน

ข้อมูลที่
เหมือนกัน
ควรจัดเก็บ
เพียงแถว
เดียว
เท่านั้น
3.3 คุณสมบัตทสาคัญของรีเลชัน (ต่ อ)
ิ ี่
่
่
3.3.3 ค่าของข้อมูลที่อยูในแอททริ บิวท์ จะต้องอยูในขอบเขตของโดเมนที่
กาหนดไว้สาหรับแอททริ บิวท์น้ น ดังที่ได้อธิบายในคุณสมบัติของคีย ์
ั
นอก
3.3.4 ชื่อของแอททริ บิวท์ในรี เลชันเดียวกัน ต้องใช้ชื่อต่างกัน
3.3.5 การลาดับก่อนหลังของคอลัมน์หรื อแถวในตารางไม่มีความสาคัญ
เนื่องจากสามารถใช้ระบบการจัดการฐานข้อมูลมาจัดเรี ยงภายหลังได้
3.4 กฎของความคงสภาพ (Integrity Rule)
 กฎของความคงสภาพ เป็ นข้อกาหนดเพื่อใช้ควบคุมความถูกต้องของ

ฐานข้อมูล ซึ่งจะป้ องกันไม่ให้ขอมูลผิดจากความเป็ นจริ ง จะควบคุม
้
ข้อมูลที่เป็ นคียหลักของรี เลชันให้มีขอมูลที่ไม่ซ้ ากันและมีค่าที่ไม่เป็ นค่า
์
้
ว่าง ข้อมูลที่เกิดการสูญเสี ยความคงสภาพของข้อมูล เกิดมาจากหลาย
สาเหตุ เช่น การเพิ่ม การลบ หรื อการแก้ไขข้อมูลในรี เลชันหนึ่งที่มี
่
ั
ความสัมพันธ์กบรี เลชันอื่น ซึ่งทาให้เกิดความไม่สอดคล้องกันของ
่
ข้อมูลระหว่างรี เลชันที่เกี่ยวข้องกัน
่

กฎที่ใช้ควบคุมความคงสภาพของฐานข้อมูลเชิงสัมพันธ์ให้ขอมูลมี
้
ความถูกต้องจะมี 2 กฎด้วยกัน คือ กฎความคงสภาพของเอนทิตี และกฎ
ความคงสภาพของการอ้างอิง ซึ่งมีรายละเอียดดังนี้
3.4.1 กฎความคงสภาพของเอนทิตี (Entitt Integrity Rule)
3.4.1.1 คีย์หลักของรีเลชั่น จะต้ องมีค่าข้ อมูลทีไม่ ซ้ากัน (unique)
่
เนื่องจากคุณสมบัติของคียหลัก จะเป็ นแอททริ บิวท์ที่ใช้ในการเจาะจงแถวข้อมูลใด
์
แถวข้อมูลหนึ่งในรี เลชัน ดังนั้นจึงจะให้ค่าข้อมูลที่ซ้ ากันไม่ได้

สิ นค้ า

รหัสสิ นค้า

รายการสิ นค้า

หน่วยนับ

จานวนสิ นค้า
คงเหลือ

ราคาสิ นค้า
ต่อหน่วย

S001

PRINTER CANON IP 1000

เครื่ อง

5

2,050

S002

HARDDISK Seagate 80GB

ตัว

20

2,060

S003

MONITOR Philiph CRT

เครื่ อง

10

3,220

S003

MONITOR BenQ LCD

ตัว

17

4,580

(ก) ข้อมูลคียหลักซ้ ากัน
์
3.4 กฎของความคงสภาพ (Integrity Rule) ต่ อ
สิ นค้ า

รหัสสิ นค้า

รายการสิ นค้า

หน่วยนับ

จานวนสิ นค้า
คงเหลือ

ราคาสิ นค้า
ต่อหน่วย

S001

PRINTER CANON IP 1000

เครื่ อง

5

2,050

S002

HARDDISK Seagate 80GB

ตัว

20

2,060

S003

MONITOR Philiph CRT

เครื่ อง

10

3,220

S004

MONITOR BenQ LCD

ตัว

17

4,580

(ข) แก้ไขข้อมูลคียหลักไม่ซ้ ากัน
์

รู ปที่ 3.8 แสดงคียหลักที่ไม่ซ้ าซ้อนกันตามกฏความคงสภาพ
์
3.4.1.2 ค่ าข้ อมูลของคีย์หลักจะต้ องไม่ เป็ นค่ าว่ าง (Null Value)
จะต้ องไม่ มีแอททริบิวท์ ใดทีเ่ ป็ นส่ วนประกอบของคีย์หลักของรีเลชันนั้นเป็ นค่ าว่ าง
เพราะค่ าของข้ อมูลในคีย์หลักจะถูกใช้ เจาะจงถึงข้ อมูลแถวใด ๆ ในรีเลชัน
การซื้อสิ นค้ า

ลาดับที่

วันที่ซ้ือสิ นค้า

รหัสสิ นค้า

จานวนที่สงซื้อ
ั่

รหัสพนักงาน

1

20/02/49

Null Value

5

A01

2

20/02/49

Null Value

10

A01

3

20/02/49

S003

5

A01

4

26/05/49

S001

7

A02

รู ปที่ 3.9 แสดงข้อมูลรี เลชันการซื้อสิ นค้าที่คียหลักมีค่าว่าง
์
3.4 กฎของความคงสภาพ (Integrity Rule) ต่ อ
สมาชิก

3.4.2 กฎความคงสภาพ
ของการอ้างอิง (Referential
Integrity Rule)
ถ้ารี เลชันใดมีแอททริ บิวท์ที่
เป็ นคียนอกอยู่ ข้อมูลที่เป็ น
์
คียนอกนั้นจะต้องไปปรากฏ
์
เป็ นข้อมูลของคียหลักของ
์
อีกรี เลชันที่มีความสัมพันธ์
กัน หรื ออาจให้ขอมูลที่เป็ น
้
คียนอกนั้นจะต้องมีค่าเป็ น
์
ค่าว่าง

รหัส
สมาชิก

วัน
หมดอายุ

รหัส
กิจกรรม

12778

30/11/49

001

14052

28/02/50

004

14288

31/01/50

003

20709

31/12/49

001

ค่ าบริการ
รหัส
กิจกรรม

รายการ
กิจกรรม

ค่าบริ การ
ต่อปี

001

ว่ายน้ า

3,000

002

เทนนิส

2,500

003

แบดมินตัน

1,500

004

ลีลาศ

2,000

005

แอโรบิก

1,500

่
รู ปที่ 3.10 ตัวอย่างข้อมูลที่เก็บอยูในรี เลชันสมาชิกและรี เลชันค่าบริ การ
3.5 การควบคุมให้ เป็ นไปตามกฎความคงสภาพ
3.5.1 การควบคุมความคงสภาพของข้ อมูลให้ เป็ นตามกฎข้ อที่ 1กฎข้ อที่ 1คือ กฎความคง

สภาพของเอนทิตี ซึ่งให้ คย์หลักมีค่าข้ อมูลทีไม่ ซ้ากัน และต้ องไม่ เป็ นค่ าว่ าง
ี
่
เช่ น








CREATE TABLE GOODS
(CODE_GOODS CHAR(4) NOT NULL
NAME_GOODS VARCHAR(30),
UNIT
VARCHAR(10),
NO_STOCK
NUMBER(3),
COST
NUMBER(7,1),
CONSTRAINT cg_pk PRIMARY KEY(CODE_GOODS) );
3.5 การควบคุมให้ เป็ นไปตามกฎความคงสภาพ (ต่ อ)
3.5.2 การควบคุมความคงสภาพของข้ อมูลให้ เป็ นตามกฎข้ อที่ 2กฎข้ อที่ 2
คือ กฎความคงสภาพของการอ้ างอิง (Referential Integrity
Rule) ถ้ ารีเลชันใดมีแอททริบวท์ ทเี่ ป็ นคีย์นอกอยู่ ข้ อมูลทีเ่ ป็ นคีย์
ิ
นอกนั้นจะต้ องไปปรากฏเป็ นข้ อมูลของคีย์หลักของอีกรีเลชันทีมี
่
ความสัมพันธ์ กน หรืออาจให้ ข้อมูลทีเ่ ป็ นคีย์นอกนั้นจะต้ องมีค่าเป็ นค่ าว่ าง
ั
ตัวอย่ างของผลกระทบต่ อกฎความคงสภาพในข้ อที่ 2 ได้ แก่
3.5.2.1 การเพิมข้ อมูลทีเ่ ป็ นค่าว่ างลงในแอททริบวท์ ทเี่ ป็ นคีย์นอกของ
่
ิ
รีเลชัน
3.5 การควบคุมให้ เป็ นไปตามกฎความคงสภาพ (ต่ อ)
รายวิชา

รหัสวิชา

ชื่อวิชา

วิชาที่ตองเรี ยน
้
ก่อน

รหัสอาจารย์
ผูสอน
้

COM 2502

วิเคราะห์และออกแบบระบบ

COM 2602

Null Value

COM 1301

การโปรแกรมภาษาคอมพิวเตอร์ 1

COM 1601

โครงสร้างข้อมูล

COM 2602

ระบบการจัดการฐานข้อมูล

Null Value

COM 3701

ระบบสื่ อสารข้อมูล

C007

C005
COM 1301

C005

รหัสอาจารย์ผสอน
ู้

อาจารย์ ผู้สอน

ชื่ออาจารย์ผสอน
ู้

ห้องพักอาจารย์

C001

สายใจ พิมพ์ประภา

2111

C005

กิตติ ใจดีงาม

2113

C007

ชานน จงรักษา

2113

C008

อาภรณ์ คงดี

2112

C020

จุติภา รักงานดี

2112

รู ปที่ 3.11 ตัวอย่างเพิ่มข้อมูลรี เลชัน
รายวิชาโดยให้คียนอกเป็ นค่าว่าง
์
3.5 การควบคุมให้ เป็ นไปตามกฎความคงสภาพ (ต่ อ)
3.5.2.2 การลบแถวข้ อมูลในรีเลชันหนึ่ง ซึ่งมีคีย์หลักเป็ นข้ อมูลที่คย์นอกของอีก
ี
รีเลชันมีการอ้ างอิงถึงโดยทั่วไปไม่ ควรลบข้ อมูลในคีย์หลักทีมข้อมูลคีย์นอก
่ ี
อ้ างอิงถึงอยู่ เนื่องจากจะเกิดความขัดแย้ งของข้ อมูลได้ ในกรณีที่ต้องการลบ
ระบบการจัดการฐานข้ อมูลจะต้ องมีวิธีป้องกันเพือจะทาให้ ข้อมูลภายใน
่
ฐานข้ อมูลอยู่ในสถานะทีคงสภาพทีสุด โดยทัวไปจะมีการป้ องกันที่ DBMS
่
่
่
สามารถทาได้ อยู่ 4 วิธี คือ
1) การกระทาแบบต่ อเนื่อง (CASCADE)
ระบบการจัดการฐานข้ อมูล จะอนุญาตให้ ทาการลบแถวข้ อมูลคีย์หลักได้ โดยระบบจะ
ไปลบแถวข้ อมูลทีมคย์นอกอ้ างอิงถึงค่ าข้ อมูลนั้นในอีกเรเลชันออกไปด้ วย
่ ี ี
3.5 การควบคุมให้ เป็ นไปตามกฎความคงสภาพ (ต่ อ)
สมาชิก

ค่ าบริการ

รหัสสมาชิก
12778

วันหมดอายุ
30/11/49

รหัสกิจกรรม
001

14052
20709

28/02/50
31/12/49

004
001

รหัสกิจกรรม

รายการกิจกรรม

ค่าบริ การต่อปี

001

ว่ายน้ า

3,000

002
003

เทนนิส
แบดมินตัน

2,500
1,500

004

ลีลาศ

2,000

รู ปที่ 3.12 แสดงข้อมูลรี เลชันสมาชิกและค่าบริ การก่อนการลบข้อมูล
3.5 การควบคุมให้ เป็ นไปตามกฎความคงสภาพ (ต่ อ)
สมาชิก

รหัสสมาชิก

รหัสกิจกรรม

12778

30/11/49

001

20709
ค่ าบริการ

วันหมดอายุ
31/12/49

001

รหัสกิจกรรม รายการกิจกรรม ค่าบริ การต่อปี
001
002
003

ว่ายน้ า
เทนนิส
แบดมินตัน

3,000
2,500
1,500

รู ปที่ 3.13 แสดงข้อมูลรี เลชันสมาชิกและค่าบริ การหลังการลบข้อมูลแบบกระทาต่อเนื่ อง
3.5 การควบคุมให้ เป็ นไปตามกฎความคงสภาพ (ต่ อ)
2) การกระทาแบบมีข้อจากัด (RESTRICT)
ระบบการจัดการฐานข้อมูล จะไม่อนุญาตให้ทาการลบแถวข้อมูลคีย ์
่
หลักได้ ถ้าข้อมูลที่จะลบนั้นถูกอ้างอิงอยูในรี เลชันอื่น ๆ เช่นจากรู ปที่
3.12 ถ้าต้องการลบรหัสกิจกรรม "004" ในรี เลชันค่าบริ การ ซึ่งถูก
อ้างอิงในรี เลชันสมาชิก ระบบจะไม่อนุญาตให้ลบ ยกเว้นแต่ขอมูลไม่
้
่
ถูกอ้างอิงอยูในรี เลชันอื่น เช่น รหัสกิจกรรม "003" ในรี เลชัน
ค่าบริ การ ไม่ถูกอ้างอิงในรี เลชันสมาชิกจึงสามารถลบข้อมูลได้
3.5 การควบคุมให้ เป็ นไปตามกฎความคงสภาพ (ต่ อ)
3) การกระทาโดยการใส่ ค่าว่ าง (NULLIFILE/SET NULL)
ระบบการจัดการฐานข้อมูล จะอนุญาตให้ทาการลบแถวข้อมูลคีย ์
หลักได้ แต่ค่าของคียที่อางอิงคียนอกในรี เลชันอื่น ๆ จะถูกใส่ ค่าว่างลง
์ ้
์
ไป (แต่ถามีการกาหนดไว้ต้ งแต่แรกว่าค่าข้อมูลของคียนอกห้ามเป็ นค่า
้
ั
์
ว่าง ก็จะไม่สามารถกระทาการในข้อนี้ได้) ตัวอย่างเช่นการลบข้อมูลของ
รหัสกิจกรรม "004" ออกจากรี เลชันค่าบริ การ
3.5 การควบคุมให้ เป็ นไปตามกฎความคงสภาพ (ต่ อ)
สมาชิก

รหัสสมาชิก
12778
14052
20709

วันหมดอายุ
30/11/49
28/02/50
31/12/49

รหัสกิจกรรม
001
Null Value
001

รหัสกิจกรรม

รายการกิจกรรม

ค่าบริ การต่อปี

001
002
003

ว่ายน้ า
เทนนิส
แบดมินตัน

3,000
2,500
1,500

ค่ าบริการ

รู ปที่ 3.14 แสดงข้อมูลรี เลชันสมาชิกและค่าบริ การหลังการลบ
ข้อมูลแบบการใส่ ค่าว่าง
3.5 การควบคุมให้ เป็ นไปตามกฎความคงสภาพ (ต่ อ)
3.5.2.3 การเปลียนแปลงข้ อมูลทีเ่ ป็ นคีย์หลักซึ่งมีรีเลชันอืนอ้างอิงถึง
่
่
จะพิจารณาการเปลียนแปลงแก้ไขข้ อมูลคีย์หลักทีมีข้อมูลคีย์นอกอ้างอิง ถึง
่
่
ซึ่งมีวธีการจัดการโดยทัวไปอยู่ 3 วิธี คือ
ิ
่
1) การกระทาแบบต่ อเนื่อง (CASCADE)
ระบบการจัดการฐานข้ อมูล จะอนุญาตให้ ทาการแก้ไข
ข้ อมูลคีย์หลักได้ โดยระบบจะไปแก้ไขข้ อมูลทีมคย์นอกอ้างอิงถึงค่ า
่ ี ี
ข้ อมูลนั้นในอีกเรเลชัน
3.5 การควบคุมให้ เป็ นไปตามกฎความคงสภาพ (ต่ อ)
สมาชิก

รหัสสมาชิก
12778
14052
20709
ค่ าบริการ

วันหมดอายุ
30/11/49
28/02/50
31/12/49

รหัสกิจกรรม
001
009
001

รหัสกิจกรรม

รายการกิจกรรม

ค่าบริ การต่อปี

001
002

ว่ายน้ า
เทนนิส

3,000
2,500

003
009

แบดมินตัน
ลีลาศ

1,500
2,000

รู ปที่ 3.14 แสดงข้อมูลรี เลชันสมาชิกและค่าบริ การหลังการเปลี่ยนแปลงข้อมูลแบบการกระทาต่อเนื่ อง
3.5 การควบคุมให้ เป็ นไปตามกฎความคงสภาพ (ต่ อ)
2) การกระทาแบบมีข้อจากัด (RESTRICT)
ระบบการจัดการฐานข้อมูล จะไม่อนุญาตให้ทาการแก้ไขข้อมูลคีย ์
่
หลักได้ ถ้าข้อมูลที่จะเปลี่ยนแปลงแก้ไขนั้นถูกอ้างอิงอยูในรี เลชันอื่น
ๆ เช่นจากรู ปที่ 3.12 ถ้าต้องการแก้ไขรหัสกิจกรรม "004" เป็ น "009"
ในรี เลชันค่าบริ การ ซึ่งถูกอ้างอิงในรี เลชันสมาชิก ระบบจะไม่อนุญาต
่
ให้แก้ไขได้ ยกเว้นแต่ขอมูลไม่ถูกอ้างอิงอยูในรี เลชันอื่น เช่น รหัส
้
กิจกรรม "003" ในรี เลชันค่าบริ การ ไม่ถูกอ้างอิงในรี เลชันสมาชิกจึง
สามารถแก้ไขข้อมูลได้
3.5 การควบคุมให้ เป็ นไปตามกฎความคงสภาพ (ต่ อ)
3.) การกระทาโดยการใส่ ค่าว่าง (NULLIFILE/SET NULL)
ระบบการจัดการฐานข้อมูล จะอนุญาตให้ทาการแก้ไข
ข้อมูลคียหลักได้ แต่ค่าของคียที่อางอิงคียนอกในรี เลชันอื่น ๆ จะถูกใส่
์
์ ้
์
ค่าว่างลงไป (แต่ถามีการกาหนดไว้ต้ งแต่แรกว่าค่าข้อมูลของคียนอก
้
ั
์
ห้ามเป็ นค่าว่าง ก็จะไม่สามารถกระทาการในข้อนี้ได้) ตัวอย่างเช่น
ข้อมูลในรู ปที่ 3.12 จะแก้ไขข้อมูลของรหัสกิจกรรมในรี เลชันค่าบริ การ
จากเดิม "004" เปลี่ยนเป็ น "009" โดยกาหนดให้เกิดการกระทาแบบ
การใส่ ค่าว่างไปยังรี เลชันสมาชิก
3.5 การควบคุมให้ เป็ นไปตามกฎความคงสภาพ (ต่ อ)
สมาชิก

ค่ าบริการ

รหัสสมาชิก
12778
14052
20709

วันหมดอายุ
30/11/49
28/02/50
31/12/49

รหัสกิจกรรม
001
Null Value
001

รหัสกิจกรรม

รายการกิจกรรม

ค่าบริ การต่อปี

001
002
003

ว่ายน้ า
เทนนิส
แบดมินตัน

3,000
2,500
1,500

009

ลีลาศ

2,000

รู ปที่ 3.15 แสดงข้อมูลรี เลชันสมาชิกและค่าบริ การหลังการเปลี่ยนแปลงข้อมูลแบบใส่ ค่าว่าง
3.5 การควบคุมให้ เป็ นไปตามกฎความคงสภาพ (ต่ อ)


4) การกระทาโดยกาหนดค่ าปริยาย (Default)
จะอนุญาตให้แก้ไขค่าของคีย ์ (Key)ที่เกิดขึ้นได้ และค่าของคียที่
์
อ้างอิงคียนอกในรี เลชันอื่น ๆ จะถูกปรับเป็ นค่าโดยปริ ยาย
์
(Default Value) ที่ถูกกาหนดขึ้น
3.6 ประเภทของรีเลชัน






ประเภทของรี เลชันอาจจาแนกเป็ นหลายประเภท ซึ่ งมีดงนี้ (กิตติ ภักดี
ั
วัฒนะกุล และ จาลอง ครู อุตสาหะ, 2545, หน้า 48-50)
3.6.1 Named Relation
เป็ นรี เลชันที่สร้างขึ้นด้วยคาสั่ง SQL อาจเป็ นรี เลชันจริ งใน
ฐานข้อมูล หรื อเป็ นเพียงรี เลชันที่สร้างด้วยคาสั่ง Query Language
3.6.2 Base Relation
เป็ น Named Relation ที่เป็ นรี เลชันจริ งในฐานข้อมูล มี
การจัดเก็บไว้ในหน่วยความจาสารอง ดังนั้นจึงเป็ นรี เลชันที่เกิดขึ้นจากการ
ออกแบบฐานข้อมูล
3.6 ประเภทของรีเลชัน (ต่ อ)
3.6.3 Derived Relation
เป็ น Named Relation ในส่ วนของรี เลชันที่ได้มาจากการใช้เงื่อนไข
กับคาสังของ Query Language กับ Base Relation เช่น รู ปที่ 3.16 เป็ น
่
Base Relation
นักศึกษา

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

ชื่อนักศึกษา

สาขาวิชา

หมายเลขบัตร
ประชาชน

48123623

นายสมปอง ปรี ชา

วิทยาการคอมพิวเตอร์

3 5101 00742 25 9

48123634

นายอานาจ อาจองค์

วิทยาการคอมพิวเตอร์

3 5006 00014 11 7

48123401

น.ส.กัญญา ยาใจ

เทคโนโลยี
สารสนเทศ

3 5122 00987 44 8

48123429

น.ส.สายรุ ้ง สี สวย

เทคโนโลยี
สารสนเทศ

3 5010 00641 88 3

รู ปที่ 3.16
แสดงรี เลชัน
นักศึกษาที่เป็ น
Base Relation
3.6 ประเภทของรีเลชัน (ต่ อ)
เมื่อใช้เงื่อนไขแสดงข้อมูลเฉพาะ "นักศึกษาสาขาวิชาวิทยาการคอมพิวเตอร์"
ผลลัพธ์ที่ได้ต้ งชื่อว่า นักศึกษาวิทยาการคอมพิวเตอร์ ดังนั้นจะได้ Derived Relation
ั
ดังรู ปที่ 3.17
นักศึกษา
ชื่อนักศึกษา

สาขาวิชา

หมายเลขบัตรประชาชน

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

48123623

นายสมปอง ปรี ชา

วิทยาการคอมพิวเตอร์

3 5101 00742 25 9

48123634

นายอานาจ อาจองค์

วิทยาการคอมพิวเตอร์

3 5006 00014 11 7

รู ปที่

3.17 แสดงรี เลชันนักศึกษาที่เป็ น Derived Relation
3.6 ประเภทของรีเลชัน (ต่ อ)
3.6.4 Expressible Relation
เป็ นรี เลชันที่ได้มาจากการกระทากับ Named Relation ด้วยเงื่อนไขทางด้าน
ความสัมพันธ์ของข้อมูลระหว่าง Named Relation ที่ตองการ เมื่อนาเอาทุก
้
Expressible Relation มาประกอบกัน ผลลัพธ์ที่ได้คือ ทุก ๆ Base Relation และ
Derived Relation ที่ Expressible Relation นั้นใช้สร้างขึ้น
3.6.5 View
เป็ น Derived Relation ประเภทหนึ่ ง แต่เป็ นรี เลชันเสมือน (Virtual Relation) ที่ถก
ู
สร้างขึ้นไว้ในฐานข้อมูลตามความต้องการของผูใช้แต่ละคน การสร้าง View จะ
้
สร้างความสะดวกในการใช้ขอมูลและช่วยให้การรักษาความปลอดภัยของ
้
ฐานข้อมูล เนื่องจากเป็ นรี เลชันที่สร้างขึ้นไม่มีการเก็บข้อมูลจริ งในระบบ
3.6.6 Snapshot
เป็ น Derived Relation ประเภทหนึ่งเช่นเดียวกับ View แตกต่างที่
Snapshot เป็ น Relation ในฐานข้อมูลที่สามารถอ่านข้อมูลได้เพียงอย่าง
เดียว และสามารถกาหนดเวลาในการปรับปรุ งค่าของข้อมูลใน Snapshot
ได้ เช่น ทุกวัน ทุกสัปดาห์ เป็ นต้น
3.6.7 Query Result
เป็ นรี เลชันชัวคราว ซึ่งเกิดจากการใช้ประโยคคาสังของ Query
่
่
Language กับ Relation ในฐานข้อมูล ข้อมูลใน Relation ประเภทนี้ จะ
เกิดขึ้นก็ต่อเมื่อมีการเรี ยกใช้เท่านั้น และจะหายไปเมื่อเลิกใช้งาน
3.6 ประเภทของรีเลชัน (ต่ อ)
3.6.8 Immediate Result
เป็ นรี เลชันชัวคราวที่เกิดจากการประมวลผลคาสังของ Query Language
่
่
ที่มีความซับซ้อน เช่น
((S JOIN SP) WHERE P# = 'P2') [S#,CITY]
ในการประมวลผล จะทาจากคาสังในวงเล็บก่อน ซึ่งได้แก่ คาสัง "S
่
่
JOIN SP" จากคาสังนี้ ทาให้เกิดรี เลชันชัวคราวที่ใช้เก็บข้อมูลที่ได้มาจากการ
่
่
รวมกันของ Relation "S" และ "SP" ก่อนที่จะนาไปใช้ในขั้นตอนต่อไป รี เล
ชันที่เกิดขึ้นชัวคราวนี้เราเรี ยกว่า Immediate Result
่
3.6 ประเภทของรีเลชัน (ต่ อ)
3.6.9 Stored Relation
เป็ น Expressible Relation ที่สามารถจัดเก็บค่าของข้อมูลได้ ดังนั้น
บางครั้งรี เลชันประเภทนี้ถือว่าเป็ น Base Relation
อ้างอิง
•http://itd.htc.ac.th/st_it50/it5012/P

_1/DB/B3.htm
•http://203.172.182.81/wbidatabas
e/unit3/unit3.php
สมาชิก
นาย นพพร ศรี ทองดี เลขที่ 4
นาย จารุ วิทย์ คุมทองดี เลขที่ 9
้
นาย พรหมชาติ มิระสิ งห์ เลขที่ 17
นาย เมธา ตันติกิจชาญชัย เลขที่ 21
นางสาว ธนัชชา ธระสวัสดิ์ เลขที่ 30
นางสาว ประภัสสร ลาดวล เลขที่ 31
มัธยมศึกษาปี ที่ 5/3

More Related Content

What's hot

ระบบฐานข้อมูลเบื้องต้น
ระบบฐานข้อมูลเบื้องต้นระบบฐานข้อมูลเบื้องต้น
ระบบฐานข้อมูลเบื้องต้นTophuto Piyapan
 
บทที่ 10
บทที่ 10บทที่ 10
บทที่ 10nunzaza
 
บทที่ 1
บทที่ 1บทที่ 1
บทที่ 1nunzaza
 
การใช้โปรแกรม Access เบื้องต้น
การใช้โปรแกรม Access เบื้องต้นการใช้โปรแกรม Access เบื้องต้น
การใช้โปรแกรม Access เบื้องต้นtechno UCH
 
ความรู้พื้นฐานเกี่ยวกับฐานข้อมูล
ความรู้พื้นฐานเกี่ยวกับฐานข้อมูลความรู้พื้นฐานเกี่ยวกับฐานข้อมูล
ความรู้พื้นฐานเกี่ยวกับฐานข้อมูลkruthanyaporn
 
ความรู้ทั่วไปเกี่ยวกับระบบฐานข้อมูล
ความรู้ทั่วไปเกี่ยวกับระบบฐานข้อมูล ความรู้ทั่วไปเกี่ยวกับระบบฐานข้อมูล
ความรู้ทั่วไปเกี่ยวกับระบบฐานข้อมูล Watuka Wannarun
 
บทที่ 1 แนวคิดทั่วไปเกี่ยวกับฐานข้อมูล
บทที่ 1 แนวคิดทั่วไปเกี่ยวกับฐานข้อมูลบทที่ 1 แนวคิดทั่วไปเกี่ยวกับฐานข้อมูล
บทที่ 1 แนวคิดทั่วไปเกี่ยวกับฐานข้อมูลRungnapa Rungnapa
 
Lecture1 การประมวลผลข้อมูล และฐานข้อมูล
Lecture1 การประมวลผลข้อมูล และฐานข้อมูลLecture1 การประมวลผลข้อมูล และฐานข้อมูล
Lecture1 การประมวลผลข้อมูล และฐานข้อมูลskiats
 
แนวคิดแผนภาพกระแสข้อมูล
แนวคิดแผนภาพกระแสข้อมูลแนวคิดแผนภาพกระแสข้อมูล
แนวคิดแผนภาพกระแสข้อมูลShengyou Lin
 
การจัดการฐานข้อมูล
การจัดการฐานข้อมูลการจัดการฐานข้อมูล
การจัดการฐานข้อมูลYongyut Nintakan
 
งานนำเสนอ การจัดการฐานข้อมุล
งานนำเสนอ การจัดการฐานข้อมุลงานนำเสนอ การจัดการฐานข้อมุล
งานนำเสนอ การจัดการฐานข้อมุลchanoot29
 
การจัดการฐานข้อมูล
การจัดการฐานข้อมูลการจัดการฐานข้อมูล
การจัดการฐานข้อมูลABELE Snvip
 
หน่วยที่ 1
หน่วยที่ 1หน่วยที่ 1
หน่วยที่ 1palmyZommanow
 

What's hot (19)

ระบบฐานข้อมูลเบื้องต้น
ระบบฐานข้อมูลเบื้องต้นระบบฐานข้อมูลเบื้องต้น
ระบบฐานข้อมูลเบื้องต้น
 
บทที่ 10
บทที่ 10บทที่ 10
บทที่ 10
 
บทที่ 1
บทที่ 1บทที่ 1
บทที่ 1
 
การใช้โปรแกรม Access เบื้องต้น
การใช้โปรแกรม Access เบื้องต้นการใช้โปรแกรม Access เบื้องต้น
การใช้โปรแกรม Access เบื้องต้น
 
Lesson 1
Lesson 1Lesson 1
Lesson 1
 
บทที่ 3 ฐานข้อมูลเชิงสัมพันธ์
บทที่ 3 ฐานข้อมูลเชิงสัมพันธ์บทที่ 3 ฐานข้อมูลเชิงสัมพันธ์
บทที่ 3 ฐานข้อมูลเชิงสัมพันธ์
 
ความรู้พื้นฐานเกี่ยวกับฐานข้อมูล
ความรู้พื้นฐานเกี่ยวกับฐานข้อมูลความรู้พื้นฐานเกี่ยวกับฐานข้อมูล
ความรู้พื้นฐานเกี่ยวกับฐานข้อมูล
 
SA Chapter 6
SA Chapter 6SA Chapter 6
SA Chapter 6
 
ความรู้ทั่วไปเกี่ยวกับระบบฐานข้อมูล
ความรู้ทั่วไปเกี่ยวกับระบบฐานข้อมูล ความรู้ทั่วไปเกี่ยวกับระบบฐานข้อมูล
ความรู้ทั่วไปเกี่ยวกับระบบฐานข้อมูล
 
บทที่ 1 แนวคิดทั่วไปเกี่ยวกับฐานข้อมูล
บทที่ 1 แนวคิดทั่วไปเกี่ยวกับฐานข้อมูลบทที่ 1 แนวคิดทั่วไปเกี่ยวกับฐานข้อมูล
บทที่ 1 แนวคิดทั่วไปเกี่ยวกับฐานข้อมูล
 
แนวการสอบ ม.4
แนวการสอบ ม.4แนวการสอบ ม.4
แนวการสอบ ม.4
 
Lecture1 การประมวลผลข้อมูล และฐานข้อมูล
Lecture1 การประมวลผลข้อมูล และฐานข้อมูลLecture1 การประมวลผลข้อมูล และฐานข้อมูล
Lecture1 การประมวลผลข้อมูล และฐานข้อมูล
 
Database
DatabaseDatabase
Database
 
แนวคิดแผนภาพกระแสข้อมูล
แนวคิดแผนภาพกระแสข้อมูลแนวคิดแผนภาพกระแสข้อมูล
แนวคิดแผนภาพกระแสข้อมูล
 
การจัดการฐานข้อมูล
การจัดการฐานข้อมูลการจัดการฐานข้อมูล
การจัดการฐานข้อมูล
 
งานนำเสนอ การจัดการฐานข้อมุล
งานนำเสนอ การจัดการฐานข้อมุลงานนำเสนอ การจัดการฐานข้อมุล
งานนำเสนอ การจัดการฐานข้อมุล
 
การจัดการฐานข้อมูล
การจัดการฐานข้อมูลการจัดการฐานข้อมูล
การจัดการฐานข้อมูล
 
บทที่ 1
บทที่ 1บทที่ 1
บทที่ 1
 
หน่วยที่ 1
หน่วยที่ 1หน่วยที่ 1
หน่วยที่ 1
 

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

การติดต่อสื่อสารทางอินเทอร์เน็ต
การติดต่อสื่อสารทางอินเทอร์เน็ตการติดต่อสื่อสารทางอินเทอร์เน็ต
การติดต่อสื่อสารทางอินเทอร์เน็ตKruPor Sirirat Namthai
 
ความรู้พื้นฐานเกี่ยวกับระบบฐานข้อมูล
ความรู้พื้นฐานเกี่ยวกับระบบฐานข้อมูลความรู้พื้นฐานเกี่ยวกับระบบฐานข้อมูล
ความรู้พื้นฐานเกี่ยวกับระบบฐานข้อมูลkruthanyaporn
 
ลักษณะของข้อมูลที่ดีและการจัดเก็บข้อมูล
ลักษณะของข้อมูลที่ดีและการจัดเก็บข้อมูลลักษณะของข้อมูลที่ดีและการจัดเก็บข้อมูล
ลักษณะของข้อมูลที่ดีและการจัดเก็บข้อมูลปิยะดนัย วิเคียน
 
หน่วยการเรียนรู้ที่ 3 การออกแบบฐานข้อมูลวิชา การจัดการฐานข้อมูล
หน่วยการเรียนรู้ที่ 3 การออกแบบฐานข้อมูลวิชา การจัดการฐานข้อมูลหน่วยการเรียนรู้ที่ 3 การออกแบบฐานข้อมูลวิชา การจัดการฐานข้อมูล
หน่วยการเรียนรู้ที่ 3 การออกแบบฐานข้อมูลวิชา การจัดการฐานข้อมูลchaiwat vichianchai
 
หน่วยการเรียนรู้ที่ 4
หน่วยการเรียนรู้ที่ 4หน่วยการเรียนรู้ที่ 4
หน่วยการเรียนรู้ที่ 4chaiwat vichianchai
 
บทที่3การสร้างตารางฐานข้อมูล
บทที่3การสร้างตารางฐานข้อมูลบทที่3การสร้างตารางฐานข้อมูล
บทที่3การสร้างตารางฐานข้อมูลniwat50
 
บทที่ 2 สถาปัตยกรรม
บทที่ 2 สถาปัตยกรรมบทที่ 2 สถาปัตยกรรม
บทที่ 2 สถาปัตยกรรมPrinceStorm Nueng
 
การจัดการฐานข้อมูล
การจัดการฐานข้อมูลการจัดการฐานข้อมูล
การจัดการฐานข้อมูลOrapan Chamnan
 
2. ใบความรู้ที่ 1
2. ใบความรู้ที่ 12. ใบความรู้ที่ 1
2. ใบความรู้ที่ 1ครูเพชร
 
การจัดการฐานข้อมูล
การจัดการฐานข้อมูลการจัดการฐานข้อมูล
การจัดการฐานข้อมูลYongyut Nintakan
 
Database management
Database managementDatabase management
Database managementPookngern
 
Database management
Database managementDatabase management
Database managementPookngern
 
ความรู้พื้นฐานเกี่ยวกับฐานข้อมูล
ความรู้พื้นฐานเกี่ยวกับฐานข้อมูลความรู้พื้นฐานเกี่ยวกับฐานข้อมูล
ความรู้พื้นฐานเกี่ยวกับฐานข้อมูลIsareeya Keatwuttikan
 
บทที่1ความรู้พื้นฐานเกี่ยวกับฐานข้อมูล และหลักการออกแบบฐานข้อมูล
บทที่1ความรู้พื้นฐานเกี่ยวกับฐานข้อมูล และหลักการออกแบบฐานข้อมูลบทที่1ความรู้พื้นฐานเกี่ยวกับฐานข้อมูล และหลักการออกแบบฐานข้อมูล
บทที่1ความรู้พื้นฐานเกี่ยวกับฐานข้อมูล และหลักการออกแบบฐานข้อมูลniwat50
 

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

งานคอม#2
งานคอม#2งานคอม#2
งานคอม#2
 
การติดต่อสื่อสารทางอินเทอร์เน็ต
การติดต่อสื่อสารทางอินเทอร์เน็ตการติดต่อสื่อสารทางอินเทอร์เน็ต
การติดต่อสื่อสารทางอินเทอร์เน็ต
 
ความรู้พื้นฐานเกี่ยวกับระบบฐานข้อมูล
ความรู้พื้นฐานเกี่ยวกับระบบฐานข้อมูลความรู้พื้นฐานเกี่ยวกับระบบฐานข้อมูล
ความรู้พื้นฐานเกี่ยวกับระบบฐานข้อมูล
 
ลักษณะของข้อมูลที่ดีและการจัดเก็บข้อมูล
ลักษณะของข้อมูลที่ดีและการจัดเก็บข้อมูลลักษณะของข้อมูลที่ดีและการจัดเก็บข้อมูล
ลักษณะของข้อมูลที่ดีและการจัดเก็บข้อมูล
 
หน่วยการเรียนรู้ที่ 3 การออกแบบฐานข้อมูลวิชา การจัดการฐานข้อมูล
หน่วยการเรียนรู้ที่ 3 การออกแบบฐานข้อมูลวิชา การจัดการฐานข้อมูลหน่วยการเรียนรู้ที่ 3 การออกแบบฐานข้อมูลวิชา การจัดการฐานข้อมูล
หน่วยการเรียนรู้ที่ 3 การออกแบบฐานข้อมูลวิชา การจัดการฐานข้อมูล
 
การจัดเก็บข้อมูล
การจัดเก็บข้อมูลการจัดเก็บข้อมูล
การจัดเก็บข้อมูล
 
หน่วยการเรียนรู้ที่ 4
หน่วยการเรียนรู้ที่ 4หน่วยการเรียนรู้ที่ 4
หน่วยการเรียนรู้ที่ 4
 
บท3
บท3บท3
บท3
 
บทที่3การสร้างตารางฐานข้อมูล
บทที่3การสร้างตารางฐานข้อมูลบทที่3การสร้างตารางฐานข้อมูล
บทที่3การสร้างตารางฐานข้อมูล
 
บท3
บท3บท3
บท3
 
บทที่ 2 สถาปัตยกรรม
บทที่ 2 สถาปัตยกรรมบทที่ 2 สถาปัตยกรรม
บทที่ 2 สถาปัตยกรรม
 
การจัดการฐานข้อมูล
การจัดการฐานข้อมูลการจัดการฐานข้อมูล
การจัดการฐานข้อมูล
 
2. ใบความรู้ที่ 1
2. ใบความรู้ที่ 12. ใบความรู้ที่ 1
2. ใบความรู้ที่ 1
 
การจัดการฐานข้อมูล
การจัดการฐานข้อมูลการจัดการฐานข้อมูล
การจัดการฐานข้อมูล
 
Database management
Database managementDatabase management
Database management
 
Database management
Database managementDatabase management
Database management
 
บท1
บท1บท1
บท1
 
ความรู้พื้นฐานเกี่ยวกับฐานข้อมูล
ความรู้พื้นฐานเกี่ยวกับฐานข้อมูลความรู้พื้นฐานเกี่ยวกับฐานข้อมูล
ความรู้พื้นฐานเกี่ยวกับฐานข้อมูล
 
บท1
บท1บท1
บท1
 
บทที่1ความรู้พื้นฐานเกี่ยวกับฐานข้อมูล และหลักการออกแบบฐานข้อมูล
บทที่1ความรู้พื้นฐานเกี่ยวกับฐานข้อมูล และหลักการออกแบบฐานข้อมูลบทที่1ความรู้พื้นฐานเกี่ยวกับฐานข้อมูล และหลักการออกแบบฐานข้อมูล
บทที่1ความรู้พื้นฐานเกี่ยวกับฐานข้อมูล และหลักการออกแบบฐานข้อมูล
 

More from kunanya12

สถาปัตยกรรม และการออกแบบฐานข้อมูล
สถาปัตยกรรม และการออกแบบฐานข้อมูลสถาปัตยกรรม และการออกแบบฐานข้อมูล
สถาปัตยกรรม และการออกแบบฐานข้อมูลkunanya12
 
งานย่อยที่ 1 (ปภัสสร ลำดวล)
งานย่อยที่ 1 (ปภัสสร ลำดวล) งานย่อยที่ 1 (ปภัสสร ลำดวล)
งานย่อยที่ 1 (ปภัสสร ลำดวล) kunanya12
 
นางสาว ณัฐนันท์ ภิญโญ เลขที่ 28 ม.5 3
นางสาว ณัฐนันท์ ภิญโญ เลขที่ 28 ม.5 3นางสาว ณัฐนันท์ ภิญโญ เลขที่ 28 ม.5 3
นางสาว ณัฐนันท์ ภิญโญ เลขที่ 28 ม.5 3kunanya12
 
นางสาว ณัชชา นาเวช เลขที่ 28 ม.5 3
นางสาว ณัชชา นาเวช เลขที่ 28 ม.5 3นางสาว ณัชชา นาเวช เลขที่ 28 ม.5 3
นางสาว ณัชชา นาเวช เลขที่ 28 ม.5 3kunanya12
 
งานย่อยที่ 1ประกวดภาพถ่าย (คุุณัญญา หนุนภักดี)
งานย่อยที่ 1ประกวดภาพถ่าย (คุุณัญญา หนุนภักดี)งานย่อยที่ 1ประกวดภาพถ่าย (คุุณัญญา หนุนภักดี)
งานย่อยที่ 1ประกวดภาพถ่าย (คุุณัญญา หนุนภักดี)kunanya12
 
ความรู้พื้นฐานเกี่ยวกับฐานข้อมูล
ความรู้พื้นฐานเกี่ยวกับฐานข้อมูลความรู้พื้นฐานเกี่ยวกับฐานข้อมูล
ความรู้พื้นฐานเกี่ยวกับฐานข้อมูลkunanya12
 
พบช่องโหว่ใหม่บน Android
พบช่องโหว่ใหม่บน Androidพบช่องโหว่ใหม่บน Android
พบช่องโหว่ใหม่บน Androidkunanya12
 
มายเมม
มายเมมมายเมม
มายเมมkunanya12
 

More from kunanya12 (8)

สถาปัตยกรรม และการออกแบบฐานข้อมูล
สถาปัตยกรรม และการออกแบบฐานข้อมูลสถาปัตยกรรม และการออกแบบฐานข้อมูล
สถาปัตยกรรม และการออกแบบฐานข้อมูล
 
งานย่อยที่ 1 (ปภัสสร ลำดวล)
งานย่อยที่ 1 (ปภัสสร ลำดวล) งานย่อยที่ 1 (ปภัสสร ลำดวล)
งานย่อยที่ 1 (ปภัสสร ลำดวล)
 
นางสาว ณัฐนันท์ ภิญโญ เลขที่ 28 ม.5 3
นางสาว ณัฐนันท์ ภิญโญ เลขที่ 28 ม.5 3นางสาว ณัฐนันท์ ภิญโญ เลขที่ 28 ม.5 3
นางสาว ณัฐนันท์ ภิญโญ เลขที่ 28 ม.5 3
 
นางสาว ณัชชา นาเวช เลขที่ 28 ม.5 3
นางสาว ณัชชา นาเวช เลขที่ 28 ม.5 3นางสาว ณัชชา นาเวช เลขที่ 28 ม.5 3
นางสาว ณัชชา นาเวช เลขที่ 28 ม.5 3
 
งานย่อยที่ 1ประกวดภาพถ่าย (คุุณัญญา หนุนภักดี)
งานย่อยที่ 1ประกวดภาพถ่าย (คุุณัญญา หนุนภักดี)งานย่อยที่ 1ประกวดภาพถ่าย (คุุณัญญา หนุนภักดี)
งานย่อยที่ 1ประกวดภาพถ่าย (คุุณัญญา หนุนภักดี)
 
ความรู้พื้นฐานเกี่ยวกับฐานข้อมูล
ความรู้พื้นฐานเกี่ยวกับฐานข้อมูลความรู้พื้นฐานเกี่ยวกับฐานข้อมูล
ความรู้พื้นฐานเกี่ยวกับฐานข้อมูล
 
พบช่องโหว่ใหม่บน Android
พบช่องโหว่ใหม่บน Androidพบช่องโหว่ใหม่บน Android
พบช่องโหว่ใหม่บน Android
 
มายเมม
มายเมมมายเมม
มายเมม
 

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

  • 1. บทที่ 3 ฐานข้ อมูลเชิงสั มพันธ์ (Relational Database)
  • 2. บทนา  การจัดเก็บฐานข้อมูลเชิงสัมพันธ์ ได้เริ่ มรู ้จกกัน บทความชื่อ A ั Relational Model of Data for Large Shared Data Banks ของ Dr.Edgar Frank Codd หรื อ Dr. E. F. Codd ซึ่งขณะนั้นเป็ นนักวิจยอยูที่บริ ษท ั ่ ั IBM ได้ตีพิมพ์ในวารสาร Association of Computer Machinery (ACM) journal เมื่อเดือนมิถุนายน ปี ค.ศ.1970 การสร้างโมเดลเชิงสัมพันธ์ได้ ใช้ทฤษฎีทางคณิ ตศาสตร์เกี่ยวกับเซต (Set) มาอธิบายการทางาน แนวคิดของ Codd นี้ได้ถูกพัฒนาเป็ นซอฟต์แวร์ระบบฐานข้อมูลที่ชื่อว่า Oracle จากบริ ษท Relational Software หรื อ บริ ษท Oracle ในปัจจุบน ั ั ั
  • 3. 3.1 ความหมายของฐานข้ อมูลเชิงสั มพันธ์  ฐานข้อมูลเชิงสัมพันธ์ (Relational Database) เป็ นการ รวบรวมข้อมูลในลักษณะตาราง 2 มิติ ประกอบด้วย แถว (Row) และ คอลัมน์ (Column) ซึ่งแสดงคุณลักษณะและรายละเอียดต่าง ๆ โดย ข้อมูลในตารางจะต้องผ่านกระบวนการบรรทัดฐานของข้อมูล (Normalization) เพื่อลดความซ้ าซ้อนของข้อมูล
  • 4. 3.2 คาศัพท์ ทเี่ กียวข้ องกับฐานข้ อมูลเชิงสั มพันธ์ ่  3.2.1 รีเลชัน (Relation) รี เลชัน (Relation) หรื อจะเรี ยกอีกอย่างว่า ตาราง (table) หรื อในรู ปแบบของความสัมพันธ์ระหว่างข้อมูล (E-R Model) เรี ยกว่า เอนทิตี (Entity) เป็ นการแสดงถึงรู ปแบบของ ตาราง 2 มิติ ที่ประกอบด้วยคอลัมน์และแถวของข้อมูล
  • 5. 3.2 คาศัพท์ ทเี่ กียวข้ องกับฐานข้ อมูลเชิงสั มพันธ์ (ต่ อ) ่  3.2.2 แอททริบิวท์ (Attribute) แอททริ บิวท์ (Attribute) หรื อ คอลัมน์ (Column) เป็ น การแสดงถึงคุณลักษณะของรี เลชัน อาจจะเรี ยกว่า เขตข้ อมูล เช่น รี เล ชัน “สิ นค้า” ประกอบด้วยคอลัมน์ที่แสดงถึงแอททริ บิวท์ต่างๆ ได้แก่ รหัสสิ นค้า ชื่อสิ นค้า จานวนสิ นค้าคงเหลือ เป็ นต้น
  • 6. 3.2 คาศัพท์ ทเี่ กียวข้ องกับฐานข้ อมูลเชิงสั มพันธ์ (ต่ อ) ่  3.2.3 ทัพเพิล (tuple) ทัพเพิล (tuple)จะเรี ยกอีกอย่างว่า แถว (Row) หรื อ เร คอร์ด (record) แถวจะเป็ นที่เก็บสมาชิกของรี เลชัน ดังนั้น แถว แต่ละแถวในรี เลชันจะต้องมีคุณสมบัติที่เหมือนกันหมด หรื อ มีขอมูล ้ ตามคอลัมน์ที่เป็ นคุณลักษณะของรี เลชันเดียวกัน
  • 7. 3.2 คาศัพท์ ทเี่ กียวข้ องกับฐานข้ อมูลเชิงสั มพันธ์ (ต่ อ) ่ โมเดลฐานข้อมูลเชิง โมเดลแบบ E-R โปรแกรมเมอร์ ผูใช้งานทัวไป ้ ่ สัมพันธ์ รี เลชัน เอนทิตี แฟ้ มข้อมูล ตาราง แอททริ บิวท์ แอททริ บิวท์ เขตข้อมูล ทัพเพิลหรื อเรคอร์ด สมาชิกของเอนทิตี ระเบียน คอลัมน์ แถว ที่มา (สมจิตร อาจอินทร์ และ งามนิจ อาจอินทร์, 2549, หน้า 128) ตารางที่ 3.1 แสดงรู ปแบบคาศัพท์พ้ืนฐานของโมเดลเชิงสัมพันธ์
  • 8. 3.2 คาศัพท์ ทเี่ กียวข้ องกับฐานข้ อมูลเชิงสั มพันธ์ (ต่ อ) ่  3.2.4 คาร์ ดินอลลิตี้ (Cardinality) คาร์ดินอลลิต้ ี (Cardinality) คือ จานวนของทัพเพิลในหนึ่ง รี เลชัน หรื อ จานวนแถวในหนึ่งตาราง  3.2.5 ดีกรี (Degree) ดีกรี (Degree) คือ จานวนแอททริ บิวท์ในหนึ่งรี เลชัน หรื อ จานวน คอลัมน์ในหนึ่งตาราง ยกตัวอย่างข้อมูลพนักงาน เพื่ออธิบาย องค์ประกอบของรี เลชัน ดังรู ปที่ 3.1
  • 9. 3.2 คาศัพท์ ทเี่ กียวข้ องกับฐานข้ อมูลเชิงสั มพันธ์ (ต่ อ) ่
  • 10. 3.2 คาศัพท์ ทเี่ กียวข้ องกับฐานข้ อมูลเชิงสั มพันธ์ (ต่ อ) ่ 3.2.6 โดเมน (Domain) โดเมน (Domain) คือ กลุ่มหรื อขอบเขตของข้อมูลที่เป็ นไปได้ของแต่ ละแอททริ บิวท์ เช่น โดเมนของแอททริ บิวท์กาหนดเพศ ประกอบด้วย เพศหญิง กับ เพศชาย โดเมนของแอททริ บิวท์อายุของพนักงานมีขอบเขตระหว่าง 18-60 ปี เป็ นต้น  3.2.7 ค่ าว่ าง (Null Value) ค่าว่าง (Null Value) ในที่น้ ีไม่ได้หมายถึงการกาหนดให้เป็ นศูนย์ หรื อ ช่องว่างแต่เป็ นแอททริ บิวท์ที่ยงไม่มีค่าข้อมูลเก็บอยู่ อาจจะยังไม่ทราบค่าข้อมูลที่ ั จะต้องใส่ ลงไปในแอททริ บิวท์น้ นๆ เมื่อทราบค่าข้อมูลในแอททริ บิวท์น้ น อาจมี ั ั การกลับมาใส่ ขอมูลลงไปใหม่ได้ ยกเว้นแอททริ บิวท์ที่เป็ นคียหลักที่ไม่สามารถ ้ ์ ทาให้เป็ นค่าว่างได้ 
  • 11. 3.2 คาศัพท์ ทเี่ กียวข้ องกับฐานข้ อมูลเชิงสั มพันธ์ (ต่ อ) ่  3.2.8 คีย์หลัก (Primary Key) คียหลัก (Primary Key) คือ แอททริ บิวท์ที่สามารถใช้ ์ เจาะจงแถวใดแถวหนึ่งในรี เลชัน โดยข้อมูลแต่ละแถวจะไม่ซ้ าซ้อนกัน บางครั้งอาจเรี ยกสั้น ๆ ว่า คีย ์
  • 12. 3.2 คาศัพท์ ทเี่ กียวข้ องกับฐานข้ อมูลเชิงสั มพันธ์ (ต่ อ) ่ คุณสมบัตของคีย์หลัก ิ 1. ข้อมูลของแอททริ บิ วท์ที่เป็ นคี ย หลัก จะมี ความเป็ นหนึ่ งเดี ยว ์ (uniqueness) กล่าวคือทุกๆ แถวของตารางจะต้องไม่มีขอมูลของแอททริ บิวท์ ้ ที่เป็ นคียหลักนี้ซ้ ากัน ์ 2. ต้องประกอบด้วยจานวนแอททริ บิวท์ที่นอยที่สุด (minimality) ้ แต่สามารถใช้เป็ นตัวชี้เฉพาะเจาะจงหรื ออ้างอิงถึงแถวใดแถวหนึ่ งในรี เลชัน ได้ 3. ค่าแอททริ บิวท์คียหลักต้องไม่เป็ นค่าว่าง (Not Null) ์
  • 13. 3.2 คาศัพท์ ทเี่ กียวข้ องกับฐานข้ อมูลเชิงสั มพันธ์ (ต่ อ) ่  แอททริ บิวท์เป็ นคียหลักของรี เลชันจะแทนได้ดวยการขีดเส้นใต้แอททริ ์ ้ บิวท์ดงกล่าว ดังแสดงในข้อความสัญลักษณ์ต่อไปนี้ ั พนักงาน (รหัสพนักงาน, ชื่อพนักงาน, แผนก, เงินเดือน, รหัสหัวหน้างาน)
  • 14. 3.2 คาศัพท์ ทเี่ กียวข้ องกับฐานข้ อมูลเชิงสั มพันธ์ (ต่ อ) ่  3.2.9 คีย์ร่วม (Composite Key) คียร่วม (Composite Key) คือ คียหลักที่ประกอบด้วยแอ ์ ์ ททริ บิวท์มากกว่าหนึ่งแอททริ บิวท์ ตัวอย่างดังรู ปที่ 3.2 การทางาน รหัสพนักงาน รหัสโครงการ จานวนชัวโมง ่ รู ปที่ 3.2 ตัวอย่าง ล่วงเวลา ข้อมูลที่ 1001 1002 111 111 50 56 2001 1001 111 112 40 45 1002 112 36 ่ เก็บอยูในรี เลชัน การทางาน
  • 15. 3.2 คาศัพท์ ทเี่ กียวข้ องกับฐานข้ อมูลเชิงสั มพันธ์ (ต่ อ) ่  แอททริ บิวท์เป็ นคียร่วมของรี เลชันจะแทนด้วยการขีดเส้นใต้แอททริ ์ บิวท์ ดังแสดงในข้อความสัญลักษณ์ต่อไปนี้ การทางาน (รหัสพนักงาน, รหัสโครงการ, จานวนชัวโมงล่วงเวลาทั้งหมด) ่
  • 16. 3.2 คาศัพท์ ทเี่ กียวข้ องกับฐานข้ อมูลเชิงสั มพันธ์ (ต่ อ) ่  3.2.10 คีย์คู่แข่ งและคีย์สารอง (Candidate Key and Alternate Key) แอททริ บิวท์หลายแอททริ บิวท์ที่มีคุณสมบัติที่สามารถเลือกขึ้นมา เป็ นคียหลักได้ เราเรี ยกว่า คีย์คู่แข่ ง(Candidate Key) ์ นักศึกษา รหัส ชื่อนักศึกษา นักศึกษา 48123623 นายสมปอง ปรี ชา วิทยาการคอมพิวเตอร์ หมายเลขบัตร ประชาชน 3 5101 00742 25 9 48123634 นายอานาจ อาจองค์ 48123401 น.ส.กัญญา ยาใจ วิทยาการคอมพิวเตอร์ เทคโนโลยีสารสนเทศ 3 5006 00014 11 7 3 5122 00987 44 8 48123429 น.ส.สายรุ ้ง สี สวย เทคโนโลยีสารสนเทศ 3 5010 00641 88 3 รู ปที่ สาขาวิชา ่ 3.3 ตัวอย่างข้อมูลที่เก็บอยูในรี เลชันนักศึกษา
  • 17. 3.2 คาศัพท์ ทเี่ กียวข้ องกับฐานข้ อมูลเชิงสั มพันธ์ (ต่ อ) ่  3.2.11 นัลคีย์แอททริบิวท์ (Nonkey Attribute) นัลคียแอททริ บิวท์ คือ แอททริ บิวท์อื่น ๆ ในรี เลชันที่ไม่ใช่ส่วนใด ์ ส่ วนหนึ่งของคียหลัก เช่น จากรู ปที่ 3.3 ถ้ากาหนดให้คียหลักคือแอทท ์ ์ ริ บิวท์รหัสนักศึกษา ดังนั้น แอททริ บิวท์ชื่อนักศึกษา สาขาวิชา และ หมายเลขบัตรประชาชน เป็ นนัลคียแอททริ บิวท์ ์
  • 18. 3.2 คาศัพท์ ทเี่ กียวข้ องกับฐานข้ อมูลเชิงสั มพันธ์ (ต่ อ) ่  3.2.12 คีย์นอก (Foreign Key ) คียนอก หรื อ คียอางอิง เป็ นแอททริ บิวท์หรื อกลุ่มแอททริ บิวท์ในรี ์ ์้ เลชันหนึ่ง ซึ่งจะไปปรากฏเป็ นคียหลักกับอีกรี เลชันหนึ่ง ดังนั้นค่าคีย ์ ์ นอกจะมีค่าเท่ากับค่าคียหลักในแถวในแถวหนึ่งของอีกรี เลชัน หรื อค่า ์ ่ ในคียนอกจะต้องมีค่าอยูในโดเมนเดียวกับคียหลัก ์ ์
  • 19. 3.2 คาศัพท์ ทเี่ กียวข้ องกับฐานข้ อมูลเชิงสั มพันธ์ (ต่ อ) ่ คุณสมบัตของคีย์นอก ิ ่ 1. คียนอกจะเป็ นแอททริ บิวท์ หรื อกลุ่มของแอททริ บิวท์ที่อยูในรี เลชัน ์ หนึ่ งๆ ที่ค่าของแอททริ บิวท์น้ นไปปรากฏเป็ นคียหลักในอีกรี เลชัน (หรื ออาจเป็ น ั ์ รี เลชันเดิมก็ได้) 2. คียนอกเปรี ยบเสมือนกาวเชื่อมข้อมูลในรี เลชันหนึ่ งกับอีกรี เลชันหนึ่ ง ์ ซึ่ งเป็ นการสร้างความสัมพันธ์ระหว่างรี เลชัน ั 3. คียนอกและคียหลักของอีกรี เลชันที่มีความสัมพันธ์กน จะต้องอยู่ ์ ์ ภายใต้โดเมนเดียวกัน และคียนอกไม่จาเป็ นต้องมีชื่อเหมือนกับคียหลักของอีกรี เล ์ ์ ั ชันที่มีความสัมพันธ์กน ่ ็ 4. รี เลชันหนึ่งๆ อาจจะมีคียนอกอยูหรื อจะไม่มีกได้ แต่ทุกรี เลชันจะต้อง ์ มีคียหลักเสมอ ์ ที่มา (สมจิตร อาจอินทร์ และ งามนิจ อาจอินทร์, 2549, หน้า 133-135)
  • 20. 3.2 คาศัพท์ ทเี่ กียวข้ องกับฐานข้ อมูลเชิงสั มพันธ์ (ต่ อ) ่ แอททริ บิวท์ที่เป็ นคียนอกของรี เลชันจะแทนได้ดวยการขีดเส้นปะใต้ ์ ้ แอททริ บิวท์ ดังกล่าว ดังแสดงในข้อความสัญลักษณ์ต่อไปนี้ รายวิชา (รหัสวิชา, ชื่อวิชา, วิชาที่ตองเรี ยนก่อน, รหัสอาจารย์ผสอน) ้ ู้ อาจารย์ผสอน (รหัสอาจารย์ผสอน, ชื่ออาจารย์ผสอน, ห้องพักอาจารย์) ู้ ู้ ู้
  • 21. 3.2 คาศัพท์ ทเี่ กียวข้ องกับฐานข้ อมูลเชิงสั มพันธ์ (ต่ อ) ่ ชื่อวิชา วิชาที่ตอง ้ เรี ยนก่อน รหัสอาจารย์ ผูสอน ้ วิเคราะห์และออกแบบระบบ COM 2602 C020 COM 1301 การโปรแกรมภาษาคอมพิวเตอร์ 1 COM 1601 โครงสร้างข้อมูล COM 2602 ระบบการจัดการฐานข้อมูล C008 COM 3701 อาจารย์ ผู้สอน รหัสวิชา COM 2502 รายวิชา ระบบสื่ อสารข้อมูล C007 C005 COM 1301 รหัสอาจารย์ผสอน ู้ ชื่ออาจารย์ผสอน ู้ ห้องพักอาจารย์ C001 สายใจ พิมพ์ประภา 2111 C005 กิตติ ใจดีงาม 2113 C007 ชานน จงรักษา 2113 C008 อาภรณ์ คงดี 2112 C020 จุติภา รักงานดี 2112 C005 รู ปที่ 3.4 ตัวอย่างข้อมูลที่ ่ เก็บอยูในรี เลชันรายวิชา และรี เลชันอาจารย์ผสอน ู้
  • 22. 3.2 คาศัพท์ ทเี่ กียวข้ องกับฐานข้ อมูลเชิงสั มพันธ์ (ต่ อ) ่ ตารางที่ 3.2 แสดงตารางสรุ ปความหมายของคาศัพท์ต่างๆ คาศัพท์ ความหมาย รี เลชัน (Relation) ตารางสองมิติที่ประกอบด้วยแถวและคอลัมน์ แอททริ บิวท์ (Attribute) คอลัมน์ในรี เลชัน ทัพเพิล (Tuple) แถวในรี เลชัน ดีกรี (Degree) จานวนแอททริ บิวท์ในรี เลชัน คาร์ดินลลิตี (Cardinality) ั จานวนแถวข้อมูลในรี เลชัน โดเมน (Domain) กลุ่มของข้อมูลทั้งหมดที่เป็ นไปได้ของแอททริ บิวท์หนึ่งๆ ค่าว่าง (Null Value) ค่าที่ให้แก่แอททริ บิวท์หนึ่งๆ ในกรณี ที่ยงไม่พร้อมที่จะใส่ขอมูลหรื อการไม่ทราบค่า ั ้ ข้อมูลของแอททริ บิวท์น้ นๆ ั คียหลัก (Primary Key) ์ คียคู่แข่งที่ถูกเลือกขึ้นมาเป็ นคียของรี เลชัน ์ ์ คียร่วม (Composite Key) ์ คียหลักที่ประกอบด้วยแอททริ บิวท์มากกว่าหนึ่งแอททริ บิวท์ ์ คียคู่แข่ง (Candidate Key) กลุ่มของแอททริ บิวท์ที่มีสิทธิ์ถูกเลือกให้เป็ นคียหลักของรี เลชัน ์ ์ คียนอก (Foreign Key) ์ กลุ่มของแอททริ บิวท์ในรี เลชันหนึ่งๆ ที่มีค่าข้อมูลไปปรากฏเป็ นคียหลักของอีกรี เลชัน ์ (หรื ออาจเป็ นรี เลชันเดียวกัน)
  • 23. 3.3 คุณสมบัตทสาคัญของรีเลชัน ิ ี่ 3.3.1 แต่ละช่องในตารางจะบรรจุขอมูลเพียง 1 ค่าเท่านั้น เช่น ้ การทางาน รหัสพนักงาน รหัสโครงการ จานวนชัวโมง ่ 1001 1002 2001 111 รหัสโครงการ 1001 1002 111 111 จานวนชัวโมง ่ ล่วงเวลา 50 56 2001 1001 111 112 40 45 รู ปที่ 3.5 แสดงข้อมูลใน รี เลชันการทางานที่มี มากกว่า 1 ค่า การทางาน 40 รหัสพนักงาน การทางาน 111, 112 111 ล่วงเวลา 95 56 รู ปที่ 3.6 แสดงข้อมูล ในรี เลชันการทางานที่ มีเพียง 1 ค่า
  • 24. 3.3 คุณสมบัตทสาคัญของรีเลชัน (ต่ อ) ิ ี่ 3.3.2 ข้อมูลแต่ละแถวของตารางจะต้องแตกต่างกัน เช่น รี เลชันการทางาน ข้อมูล ในแถวหรื อทัพเพิลจะไม่เก็บข้อมูลเดิมซ้ าอีก การทางาน รหัสโครงการ จานวนชัวโมงล่วงเวลา ่ 111 111 111 111 50 56 40 50 รหัสพนักงาน 1001 1002 2001 1001 รู ปที่ 3.7 แสดงตัวอย่างการเก็บข้อมูลรี เลชันการทางานที่ซ้ ากัน ข้อมูลที่ เหมือนกัน ควรจัดเก็บ เพียงแถว เดียว เท่านั้น
  • 25. 3.3 คุณสมบัตทสาคัญของรีเลชัน (ต่ อ) ิ ี่ ่ ่ 3.3.3 ค่าของข้อมูลที่อยูในแอททริ บิวท์ จะต้องอยูในขอบเขตของโดเมนที่ กาหนดไว้สาหรับแอททริ บิวท์น้ น ดังที่ได้อธิบายในคุณสมบัติของคีย ์ ั นอก 3.3.4 ชื่อของแอททริ บิวท์ในรี เลชันเดียวกัน ต้องใช้ชื่อต่างกัน 3.3.5 การลาดับก่อนหลังของคอลัมน์หรื อแถวในตารางไม่มีความสาคัญ เนื่องจากสามารถใช้ระบบการจัดการฐานข้อมูลมาจัดเรี ยงภายหลังได้
  • 26. 3.4 กฎของความคงสภาพ (Integrity Rule)  กฎของความคงสภาพ เป็ นข้อกาหนดเพื่อใช้ควบคุมความถูกต้องของ ฐานข้อมูล ซึ่งจะป้ องกันไม่ให้ขอมูลผิดจากความเป็ นจริ ง จะควบคุม ้ ข้อมูลที่เป็ นคียหลักของรี เลชันให้มีขอมูลที่ไม่ซ้ ากันและมีค่าที่ไม่เป็ นค่า ์ ้ ว่าง ข้อมูลที่เกิดการสูญเสี ยความคงสภาพของข้อมูล เกิดมาจากหลาย สาเหตุ เช่น การเพิ่ม การลบ หรื อการแก้ไขข้อมูลในรี เลชันหนึ่งที่มี ่ ั ความสัมพันธ์กบรี เลชันอื่น ซึ่งทาให้เกิดความไม่สอดคล้องกันของ ่ ข้อมูลระหว่างรี เลชันที่เกี่ยวข้องกัน ่  กฎที่ใช้ควบคุมความคงสภาพของฐานข้อมูลเชิงสัมพันธ์ให้ขอมูลมี ้ ความถูกต้องจะมี 2 กฎด้วยกัน คือ กฎความคงสภาพของเอนทิตี และกฎ ความคงสภาพของการอ้างอิง ซึ่งมีรายละเอียดดังนี้
  • 27. 3.4.1 กฎความคงสภาพของเอนทิตี (Entitt Integrity Rule) 3.4.1.1 คีย์หลักของรีเลชั่น จะต้ องมีค่าข้ อมูลทีไม่ ซ้ากัน (unique) ่ เนื่องจากคุณสมบัติของคียหลัก จะเป็ นแอททริ บิวท์ที่ใช้ในการเจาะจงแถวข้อมูลใด ์ แถวข้อมูลหนึ่งในรี เลชัน ดังนั้นจึงจะให้ค่าข้อมูลที่ซ้ ากันไม่ได้ สิ นค้ า รหัสสิ นค้า รายการสิ นค้า หน่วยนับ จานวนสิ นค้า คงเหลือ ราคาสิ นค้า ต่อหน่วย S001 PRINTER CANON IP 1000 เครื่ อง 5 2,050 S002 HARDDISK Seagate 80GB ตัว 20 2,060 S003 MONITOR Philiph CRT เครื่ อง 10 3,220 S003 MONITOR BenQ LCD ตัว 17 4,580 (ก) ข้อมูลคียหลักซ้ ากัน ์
  • 28. 3.4 กฎของความคงสภาพ (Integrity Rule) ต่ อ สิ นค้ า รหัสสิ นค้า รายการสิ นค้า หน่วยนับ จานวนสิ นค้า คงเหลือ ราคาสิ นค้า ต่อหน่วย S001 PRINTER CANON IP 1000 เครื่ อง 5 2,050 S002 HARDDISK Seagate 80GB ตัว 20 2,060 S003 MONITOR Philiph CRT เครื่ อง 10 3,220 S004 MONITOR BenQ LCD ตัว 17 4,580 (ข) แก้ไขข้อมูลคียหลักไม่ซ้ ากัน ์ รู ปที่ 3.8 แสดงคียหลักที่ไม่ซ้ าซ้อนกันตามกฏความคงสภาพ ์
  • 29. 3.4.1.2 ค่ าข้ อมูลของคีย์หลักจะต้ องไม่ เป็ นค่ าว่ าง (Null Value) จะต้ องไม่ มีแอททริบิวท์ ใดทีเ่ ป็ นส่ วนประกอบของคีย์หลักของรีเลชันนั้นเป็ นค่ าว่ าง เพราะค่ าของข้ อมูลในคีย์หลักจะถูกใช้ เจาะจงถึงข้ อมูลแถวใด ๆ ในรีเลชัน การซื้อสิ นค้ า ลาดับที่ วันที่ซ้ือสิ นค้า รหัสสิ นค้า จานวนที่สงซื้อ ั่ รหัสพนักงาน 1 20/02/49 Null Value 5 A01 2 20/02/49 Null Value 10 A01 3 20/02/49 S003 5 A01 4 26/05/49 S001 7 A02 รู ปที่ 3.9 แสดงข้อมูลรี เลชันการซื้อสิ นค้าที่คียหลักมีค่าว่าง ์
  • 30. 3.4 กฎของความคงสภาพ (Integrity Rule) ต่ อ สมาชิก 3.4.2 กฎความคงสภาพ ของการอ้างอิง (Referential Integrity Rule) ถ้ารี เลชันใดมีแอททริ บิวท์ที่ เป็ นคียนอกอยู่ ข้อมูลที่เป็ น ์ คียนอกนั้นจะต้องไปปรากฏ ์ เป็ นข้อมูลของคียหลักของ ์ อีกรี เลชันที่มีความสัมพันธ์ กัน หรื ออาจให้ขอมูลที่เป็ น ้ คียนอกนั้นจะต้องมีค่าเป็ น ์ ค่าว่าง รหัส สมาชิก วัน หมดอายุ รหัส กิจกรรม 12778 30/11/49 001 14052 28/02/50 004 14288 31/01/50 003 20709 31/12/49 001 ค่ าบริการ รหัส กิจกรรม รายการ กิจกรรม ค่าบริ การ ต่อปี 001 ว่ายน้ า 3,000 002 เทนนิส 2,500 003 แบดมินตัน 1,500 004 ลีลาศ 2,000 005 แอโรบิก 1,500 ่ รู ปที่ 3.10 ตัวอย่างข้อมูลที่เก็บอยูในรี เลชันสมาชิกและรี เลชันค่าบริ การ
  • 31. 3.5 การควบคุมให้ เป็ นไปตามกฎความคงสภาพ 3.5.1 การควบคุมความคงสภาพของข้ อมูลให้ เป็ นตามกฎข้ อที่ 1กฎข้ อที่ 1คือ กฎความคง สภาพของเอนทิตี ซึ่งให้ คย์หลักมีค่าข้ อมูลทีไม่ ซ้ากัน และต้ องไม่ เป็ นค่ าว่ าง ี ่ เช่ น        CREATE TABLE GOODS (CODE_GOODS CHAR(4) NOT NULL NAME_GOODS VARCHAR(30), UNIT VARCHAR(10), NO_STOCK NUMBER(3), COST NUMBER(7,1), CONSTRAINT cg_pk PRIMARY KEY(CODE_GOODS) );
  • 32. 3.5 การควบคุมให้ เป็ นไปตามกฎความคงสภาพ (ต่ อ) 3.5.2 การควบคุมความคงสภาพของข้ อมูลให้ เป็ นตามกฎข้ อที่ 2กฎข้ อที่ 2 คือ กฎความคงสภาพของการอ้ างอิง (Referential Integrity Rule) ถ้ ารีเลชันใดมีแอททริบวท์ ทเี่ ป็ นคีย์นอกอยู่ ข้ อมูลทีเ่ ป็ นคีย์ ิ นอกนั้นจะต้ องไปปรากฏเป็ นข้ อมูลของคีย์หลักของอีกรีเลชันทีมี ่ ความสัมพันธ์ กน หรืออาจให้ ข้อมูลทีเ่ ป็ นคีย์นอกนั้นจะต้ องมีค่าเป็ นค่ าว่ าง ั ตัวอย่ างของผลกระทบต่ อกฎความคงสภาพในข้ อที่ 2 ได้ แก่ 3.5.2.1 การเพิมข้ อมูลทีเ่ ป็ นค่าว่ างลงในแอททริบวท์ ทเี่ ป็ นคีย์นอกของ ่ ิ รีเลชัน
  • 33. 3.5 การควบคุมให้ เป็ นไปตามกฎความคงสภาพ (ต่ อ) รายวิชา รหัสวิชา ชื่อวิชา วิชาที่ตองเรี ยน ้ ก่อน รหัสอาจารย์ ผูสอน ้ COM 2502 วิเคราะห์และออกแบบระบบ COM 2602 Null Value COM 1301 การโปรแกรมภาษาคอมพิวเตอร์ 1 COM 1601 โครงสร้างข้อมูล COM 2602 ระบบการจัดการฐานข้อมูล Null Value COM 3701 ระบบสื่ อสารข้อมูล C007 C005 COM 1301 C005 รหัสอาจารย์ผสอน ู้ อาจารย์ ผู้สอน ชื่ออาจารย์ผสอน ู้ ห้องพักอาจารย์ C001 สายใจ พิมพ์ประภา 2111 C005 กิตติ ใจดีงาม 2113 C007 ชานน จงรักษา 2113 C008 อาภรณ์ คงดี 2112 C020 จุติภา รักงานดี 2112 รู ปที่ 3.11 ตัวอย่างเพิ่มข้อมูลรี เลชัน รายวิชาโดยให้คียนอกเป็ นค่าว่าง ์
  • 34. 3.5 การควบคุมให้ เป็ นไปตามกฎความคงสภาพ (ต่ อ) 3.5.2.2 การลบแถวข้ อมูลในรีเลชันหนึ่ง ซึ่งมีคีย์หลักเป็ นข้ อมูลที่คย์นอกของอีก ี รีเลชันมีการอ้ างอิงถึงโดยทั่วไปไม่ ควรลบข้ อมูลในคีย์หลักทีมข้อมูลคีย์นอก ่ ี อ้ างอิงถึงอยู่ เนื่องจากจะเกิดความขัดแย้ งของข้ อมูลได้ ในกรณีที่ต้องการลบ ระบบการจัดการฐานข้ อมูลจะต้ องมีวิธีป้องกันเพือจะทาให้ ข้อมูลภายใน ่ ฐานข้ อมูลอยู่ในสถานะทีคงสภาพทีสุด โดยทัวไปจะมีการป้ องกันที่ DBMS ่ ่ ่ สามารถทาได้ อยู่ 4 วิธี คือ 1) การกระทาแบบต่ อเนื่อง (CASCADE) ระบบการจัดการฐานข้ อมูล จะอนุญาตให้ ทาการลบแถวข้ อมูลคีย์หลักได้ โดยระบบจะ ไปลบแถวข้ อมูลทีมคย์นอกอ้ างอิงถึงค่ าข้ อมูลนั้นในอีกเรเลชันออกไปด้ วย ่ ี ี
  • 35. 3.5 การควบคุมให้ เป็ นไปตามกฎความคงสภาพ (ต่ อ) สมาชิก ค่ าบริการ รหัสสมาชิก 12778 วันหมดอายุ 30/11/49 รหัสกิจกรรม 001 14052 20709 28/02/50 31/12/49 004 001 รหัสกิจกรรม รายการกิจกรรม ค่าบริ การต่อปี 001 ว่ายน้ า 3,000 002 003 เทนนิส แบดมินตัน 2,500 1,500 004 ลีลาศ 2,000 รู ปที่ 3.12 แสดงข้อมูลรี เลชันสมาชิกและค่าบริ การก่อนการลบข้อมูล
  • 36. 3.5 การควบคุมให้ เป็ นไปตามกฎความคงสภาพ (ต่ อ) สมาชิก รหัสสมาชิก รหัสกิจกรรม 12778 30/11/49 001 20709 ค่ าบริการ วันหมดอายุ 31/12/49 001 รหัสกิจกรรม รายการกิจกรรม ค่าบริ การต่อปี 001 002 003 ว่ายน้ า เทนนิส แบดมินตัน 3,000 2,500 1,500 รู ปที่ 3.13 แสดงข้อมูลรี เลชันสมาชิกและค่าบริ การหลังการลบข้อมูลแบบกระทาต่อเนื่ อง
  • 37. 3.5 การควบคุมให้ เป็ นไปตามกฎความคงสภาพ (ต่ อ) 2) การกระทาแบบมีข้อจากัด (RESTRICT) ระบบการจัดการฐานข้อมูล จะไม่อนุญาตให้ทาการลบแถวข้อมูลคีย ์ ่ หลักได้ ถ้าข้อมูลที่จะลบนั้นถูกอ้างอิงอยูในรี เลชันอื่น ๆ เช่นจากรู ปที่ 3.12 ถ้าต้องการลบรหัสกิจกรรม "004" ในรี เลชันค่าบริ การ ซึ่งถูก อ้างอิงในรี เลชันสมาชิก ระบบจะไม่อนุญาตให้ลบ ยกเว้นแต่ขอมูลไม่ ้ ่ ถูกอ้างอิงอยูในรี เลชันอื่น เช่น รหัสกิจกรรม "003" ในรี เลชัน ค่าบริ การ ไม่ถูกอ้างอิงในรี เลชันสมาชิกจึงสามารถลบข้อมูลได้
  • 38. 3.5 การควบคุมให้ เป็ นไปตามกฎความคงสภาพ (ต่ อ) 3) การกระทาโดยการใส่ ค่าว่ าง (NULLIFILE/SET NULL) ระบบการจัดการฐานข้อมูล จะอนุญาตให้ทาการลบแถวข้อมูลคีย ์ หลักได้ แต่ค่าของคียที่อางอิงคียนอกในรี เลชันอื่น ๆ จะถูกใส่ ค่าว่างลง ์ ้ ์ ไป (แต่ถามีการกาหนดไว้ต้ งแต่แรกว่าค่าข้อมูลของคียนอกห้ามเป็ นค่า ้ ั ์ ว่าง ก็จะไม่สามารถกระทาการในข้อนี้ได้) ตัวอย่างเช่นการลบข้อมูลของ รหัสกิจกรรม "004" ออกจากรี เลชันค่าบริ การ
  • 39. 3.5 การควบคุมให้ เป็ นไปตามกฎความคงสภาพ (ต่ อ) สมาชิก รหัสสมาชิก 12778 14052 20709 วันหมดอายุ 30/11/49 28/02/50 31/12/49 รหัสกิจกรรม 001 Null Value 001 รหัสกิจกรรม รายการกิจกรรม ค่าบริ การต่อปี 001 002 003 ว่ายน้ า เทนนิส แบดมินตัน 3,000 2,500 1,500 ค่ าบริการ รู ปที่ 3.14 แสดงข้อมูลรี เลชันสมาชิกและค่าบริ การหลังการลบ ข้อมูลแบบการใส่ ค่าว่าง
  • 40. 3.5 การควบคุมให้ เป็ นไปตามกฎความคงสภาพ (ต่ อ) 3.5.2.3 การเปลียนแปลงข้ อมูลทีเ่ ป็ นคีย์หลักซึ่งมีรีเลชันอืนอ้างอิงถึง ่ ่ จะพิจารณาการเปลียนแปลงแก้ไขข้ อมูลคีย์หลักทีมีข้อมูลคีย์นอกอ้างอิง ถึง ่ ่ ซึ่งมีวธีการจัดการโดยทัวไปอยู่ 3 วิธี คือ ิ ่ 1) การกระทาแบบต่ อเนื่อง (CASCADE) ระบบการจัดการฐานข้ อมูล จะอนุญาตให้ ทาการแก้ไข ข้ อมูลคีย์หลักได้ โดยระบบจะไปแก้ไขข้ อมูลทีมคย์นอกอ้างอิงถึงค่ า ่ ี ี ข้ อมูลนั้นในอีกเรเลชัน
  • 41. 3.5 การควบคุมให้ เป็ นไปตามกฎความคงสภาพ (ต่ อ) สมาชิก รหัสสมาชิก 12778 14052 20709 ค่ าบริการ วันหมดอายุ 30/11/49 28/02/50 31/12/49 รหัสกิจกรรม 001 009 001 รหัสกิจกรรม รายการกิจกรรม ค่าบริ การต่อปี 001 002 ว่ายน้ า เทนนิส 3,000 2,500 003 009 แบดมินตัน ลีลาศ 1,500 2,000 รู ปที่ 3.14 แสดงข้อมูลรี เลชันสมาชิกและค่าบริ การหลังการเปลี่ยนแปลงข้อมูลแบบการกระทาต่อเนื่ อง
  • 42. 3.5 การควบคุมให้ เป็ นไปตามกฎความคงสภาพ (ต่ อ) 2) การกระทาแบบมีข้อจากัด (RESTRICT) ระบบการจัดการฐานข้อมูล จะไม่อนุญาตให้ทาการแก้ไขข้อมูลคีย ์ ่ หลักได้ ถ้าข้อมูลที่จะเปลี่ยนแปลงแก้ไขนั้นถูกอ้างอิงอยูในรี เลชันอื่น ๆ เช่นจากรู ปที่ 3.12 ถ้าต้องการแก้ไขรหัสกิจกรรม "004" เป็ น "009" ในรี เลชันค่าบริ การ ซึ่งถูกอ้างอิงในรี เลชันสมาชิก ระบบจะไม่อนุญาต ่ ให้แก้ไขได้ ยกเว้นแต่ขอมูลไม่ถูกอ้างอิงอยูในรี เลชันอื่น เช่น รหัส ้ กิจกรรม "003" ในรี เลชันค่าบริ การ ไม่ถูกอ้างอิงในรี เลชันสมาชิกจึง สามารถแก้ไขข้อมูลได้
  • 43. 3.5 การควบคุมให้ เป็ นไปตามกฎความคงสภาพ (ต่ อ) 3.) การกระทาโดยการใส่ ค่าว่าง (NULLIFILE/SET NULL) ระบบการจัดการฐานข้อมูล จะอนุญาตให้ทาการแก้ไข ข้อมูลคียหลักได้ แต่ค่าของคียที่อางอิงคียนอกในรี เลชันอื่น ๆ จะถูกใส่ ์ ์ ้ ์ ค่าว่างลงไป (แต่ถามีการกาหนดไว้ต้ งแต่แรกว่าค่าข้อมูลของคียนอก ้ ั ์ ห้ามเป็ นค่าว่าง ก็จะไม่สามารถกระทาการในข้อนี้ได้) ตัวอย่างเช่น ข้อมูลในรู ปที่ 3.12 จะแก้ไขข้อมูลของรหัสกิจกรรมในรี เลชันค่าบริ การ จากเดิม "004" เปลี่ยนเป็ น "009" โดยกาหนดให้เกิดการกระทาแบบ การใส่ ค่าว่างไปยังรี เลชันสมาชิก
  • 44. 3.5 การควบคุมให้ เป็ นไปตามกฎความคงสภาพ (ต่ อ) สมาชิก ค่ าบริการ รหัสสมาชิก 12778 14052 20709 วันหมดอายุ 30/11/49 28/02/50 31/12/49 รหัสกิจกรรม 001 Null Value 001 รหัสกิจกรรม รายการกิจกรรม ค่าบริ การต่อปี 001 002 003 ว่ายน้ า เทนนิส แบดมินตัน 3,000 2,500 1,500 009 ลีลาศ 2,000 รู ปที่ 3.15 แสดงข้อมูลรี เลชันสมาชิกและค่าบริ การหลังการเปลี่ยนแปลงข้อมูลแบบใส่ ค่าว่าง
  • 45. 3.5 การควบคุมให้ เป็ นไปตามกฎความคงสภาพ (ต่ อ)  4) การกระทาโดยกาหนดค่ าปริยาย (Default) จะอนุญาตให้แก้ไขค่าของคีย ์ (Key)ที่เกิดขึ้นได้ และค่าของคียที่ ์ อ้างอิงคียนอกในรี เลชันอื่น ๆ จะถูกปรับเป็ นค่าโดยปริ ยาย ์ (Default Value) ที่ถูกกาหนดขึ้น
  • 46. 3.6 ประเภทของรีเลชัน      ประเภทของรี เลชันอาจจาแนกเป็ นหลายประเภท ซึ่ งมีดงนี้ (กิตติ ภักดี ั วัฒนะกุล และ จาลอง ครู อุตสาหะ, 2545, หน้า 48-50) 3.6.1 Named Relation เป็ นรี เลชันที่สร้างขึ้นด้วยคาสั่ง SQL อาจเป็ นรี เลชันจริ งใน ฐานข้อมูล หรื อเป็ นเพียงรี เลชันที่สร้างด้วยคาสั่ง Query Language 3.6.2 Base Relation เป็ น Named Relation ที่เป็ นรี เลชันจริ งในฐานข้อมูล มี การจัดเก็บไว้ในหน่วยความจาสารอง ดังนั้นจึงเป็ นรี เลชันที่เกิดขึ้นจากการ ออกแบบฐานข้อมูล
  • 47. 3.6 ประเภทของรีเลชัน (ต่ อ) 3.6.3 Derived Relation เป็ น Named Relation ในส่ วนของรี เลชันที่ได้มาจากการใช้เงื่อนไข กับคาสังของ Query Language กับ Base Relation เช่น รู ปที่ 3.16 เป็ น ่ Base Relation นักศึกษา รหัส นักศึกษา ชื่อนักศึกษา สาขาวิชา หมายเลขบัตร ประชาชน 48123623 นายสมปอง ปรี ชา วิทยาการคอมพิวเตอร์ 3 5101 00742 25 9 48123634 นายอานาจ อาจองค์ วิทยาการคอมพิวเตอร์ 3 5006 00014 11 7 48123401 น.ส.กัญญา ยาใจ เทคโนโลยี สารสนเทศ 3 5122 00987 44 8 48123429 น.ส.สายรุ ้ง สี สวย เทคโนโลยี สารสนเทศ 3 5010 00641 88 3 รู ปที่ 3.16 แสดงรี เลชัน นักศึกษาที่เป็ น Base Relation
  • 48. 3.6 ประเภทของรีเลชัน (ต่ อ) เมื่อใช้เงื่อนไขแสดงข้อมูลเฉพาะ "นักศึกษาสาขาวิชาวิทยาการคอมพิวเตอร์" ผลลัพธ์ที่ได้ต้ งชื่อว่า นักศึกษาวิทยาการคอมพิวเตอร์ ดังนั้นจะได้ Derived Relation ั ดังรู ปที่ 3.17 นักศึกษา ชื่อนักศึกษา สาขาวิชา หมายเลขบัตรประชาชน รหัสนักศึกษา 48123623 นายสมปอง ปรี ชา วิทยาการคอมพิวเตอร์ 3 5101 00742 25 9 48123634 นายอานาจ อาจองค์ วิทยาการคอมพิวเตอร์ 3 5006 00014 11 7 รู ปที่ 3.17 แสดงรี เลชันนักศึกษาที่เป็ น Derived Relation
  • 49. 3.6 ประเภทของรีเลชัน (ต่ อ) 3.6.4 Expressible Relation เป็ นรี เลชันที่ได้มาจากการกระทากับ Named Relation ด้วยเงื่อนไขทางด้าน ความสัมพันธ์ของข้อมูลระหว่าง Named Relation ที่ตองการ เมื่อนาเอาทุก ้ Expressible Relation มาประกอบกัน ผลลัพธ์ที่ได้คือ ทุก ๆ Base Relation และ Derived Relation ที่ Expressible Relation นั้นใช้สร้างขึ้น 3.6.5 View เป็ น Derived Relation ประเภทหนึ่ ง แต่เป็ นรี เลชันเสมือน (Virtual Relation) ที่ถก ู สร้างขึ้นไว้ในฐานข้อมูลตามความต้องการของผูใช้แต่ละคน การสร้าง View จะ ้ สร้างความสะดวกในการใช้ขอมูลและช่วยให้การรักษาความปลอดภัยของ ้ ฐานข้อมูล เนื่องจากเป็ นรี เลชันที่สร้างขึ้นไม่มีการเก็บข้อมูลจริ งในระบบ
  • 50. 3.6.6 Snapshot เป็ น Derived Relation ประเภทหนึ่งเช่นเดียวกับ View แตกต่างที่ Snapshot เป็ น Relation ในฐานข้อมูลที่สามารถอ่านข้อมูลได้เพียงอย่าง เดียว และสามารถกาหนดเวลาในการปรับปรุ งค่าของข้อมูลใน Snapshot ได้ เช่น ทุกวัน ทุกสัปดาห์ เป็ นต้น 3.6.7 Query Result เป็ นรี เลชันชัวคราว ซึ่งเกิดจากการใช้ประโยคคาสังของ Query ่ ่ Language กับ Relation ในฐานข้อมูล ข้อมูลใน Relation ประเภทนี้ จะ เกิดขึ้นก็ต่อเมื่อมีการเรี ยกใช้เท่านั้น และจะหายไปเมื่อเลิกใช้งาน
  • 51. 3.6 ประเภทของรีเลชัน (ต่ อ) 3.6.8 Immediate Result เป็ นรี เลชันชัวคราวที่เกิดจากการประมวลผลคาสังของ Query Language ่ ่ ที่มีความซับซ้อน เช่น ((S JOIN SP) WHERE P# = 'P2') [S#,CITY] ในการประมวลผล จะทาจากคาสังในวงเล็บก่อน ซึ่งได้แก่ คาสัง "S ่ ่ JOIN SP" จากคาสังนี้ ทาให้เกิดรี เลชันชัวคราวที่ใช้เก็บข้อมูลที่ได้มาจากการ ่ ่ รวมกันของ Relation "S" และ "SP" ก่อนที่จะนาไปใช้ในขั้นตอนต่อไป รี เล ชันที่เกิดขึ้นชัวคราวนี้เราเรี ยกว่า Immediate Result ่
  • 52. 3.6 ประเภทของรีเลชัน (ต่ อ) 3.6.9 Stored Relation เป็ น Expressible Relation ที่สามารถจัดเก็บค่าของข้อมูลได้ ดังนั้น บางครั้งรี เลชันประเภทนี้ถือว่าเป็ น Base Relation
  • 54. สมาชิก นาย นพพร ศรี ทองดี เลขที่ 4 นาย จารุ วิทย์ คุมทองดี เลขที่ 9 ้ นาย พรหมชาติ มิระสิ งห์ เลขที่ 17 นาย เมธา ตันติกิจชาญชัย เลขที่ 21 นางสาว ธนัชชา ธระสวัสดิ์ เลขที่ 30 นางสาว ประภัสสร ลาดวล เลขที่ 31 มัธยมศึกษาปี ที่ 5/3