The words you are searching are inside this book. To get more targeted content, please make full-text search by clicking here.

บทที่ 3 แนวคิดเกี่ยวกับการออกแบบฐานข้อมูล

Discover the best professional documents and content resources in AnyFlip Document Base.
Search
Published by sukunya.ch, 2022-06-10 09:18:36

บทที่ 3 แนวคิดเกี่ยวกับการออกแบบฐานข้อมูล-1

บทที่ 3 แนวคิดเกี่ยวกับการออกแบบฐานข้อมูล

ระบบฐานข้อมูล (DATABASE SYSTEMS)

จดุ ประสงค์การสอน

3.1 เข้าใจกระบวนการออกแบบฐานขอ้ มลู
3.1.1 อธบิ ายการออกแบบฐานข้อมูลเชงิ แนวคดิ ได้
3.1.2 อธบิ ายการออกแบบฐานข้อมูลเชงิ ตรรกะได้
3.1.3 อธิบายการออกแบบฐานข้อมูลเชงิ กายภาพได้

3.2 เข้าใจโครงสรา้ งฐานข้อมลู เชงิ สัมพันธ์
3.2.1 อธิบายลกั ษณะของรเี ลชนั ได้
3.2.2 อธบิ ายลกั ษณะของแอตทริบวิ ตไ์ ด้
3.2.3 อธิบายลกั ษณะของทปั เพิลได้
3.2.4 บอกความหมายของดีกรีได้
3.2.5 บอกความหมายของคารด์ ินลั ลิตีไ้ ด้
3.2.6 อธิบายลกั ษณะของโดเมนได้
3.2.7 อธิบายลกั ษณะของค่าวา่ งได้

3.3 เขา้ ใจประเภทของความสมั พันธ์
3.3.1 ยกตวั อย่างความสมั พนั ธแ์ บบหน่ึงตอ่ หน่งึ ได้
3.3.2 ยกตัวอย่างความสัมพันธแ์ บบหนง่ึ ตอ่ กลุ่มได้
3.3.3 ยกตวั อยา่ งความสัมพันธแ์ บบกลมุ่ ตอ่ กลุ่มได้

บทท่ี 3 แนวคดิ เก่ียวกบั การออกแบบฐานข้อมลู 65

ระบบฐานข้อมลู (DATABASE SYSTEMS)

จุดประสงคก์ ารสอน

3.4 เข้าใจประเภทของกุญแจ
3.4.1 บอกลักษณะของซูเปอร์คีย์ได้
3.4.2 บอกลักษณะของกญุ แจให้เลือกได้
3.4.3 กาหนดกญุ แจหลกั ในตารางได้
3.4.4 บอกลกั ษณะของกุญแจสารองได้
3.4.5 กาหนดกุญแจประกอบในตารางได้
3.4.6 กาหนดกญุ แจนอกในตารางได้
3.4.7 บอกลกั ษณะของแอตทรบิ วิ ต์สามญั ได้

3.5 เข้าใจกฎความบรู ณภาพของข้อมลู
3.5.1 อธบิ ายกฎความบูรณภาพของเอนทติ ีได้
3.5.2 อธบิ ายกฎความบรู ณภาพของโดเมนได้
3.5.3 อธิบายกฎความบูรณภาพของการอา้ งอิงได้

3.6 อธบิ ายกฎเกณฑ์ทางธรุ กิจ
3.7 อธบิ ายรปู แบบการนาเสนอโครงร่างฐานขอ้ มลู เชงิ สมั พนั ธ์ได้
3.8 อธบิ ายมุมมองหรือววิ ในฐานข้อมูลเชิงสัมพันธ์
3.9 บอกกฎ 12 ข้อสาหรับฐานขอ้ มูลเชงิ สัมพันธ์ของคอดด์

66 บทท่ี 3 แนวคดิ เกี่ยวกบั การออกแบบฐานข้อมลู

ระบบฐานข้อมลู (DATABASE SYSTEMS)

จากในบทท่ีแล้วได้กล่าวถึงรูปแบบของฐานข้อมูล (Database Model) ท่ีมีหลายรูปแบบ
ซึ่งแต่ละรูปแบบมีข้อดีและข้อเสียแตกต่างกันไป แบบจาลองที่ได้รับความนิยมอย่างสูงในปัจจุบันคือ
แบบจาลองฐานข้อมูลเชิงสัมพันธ์ (Relation Database Model) ดังนั้น ในบทเรียนนี้จะอธิบาย
เก่ียวกับกระบวนการออกแบบฐานข้อมูล โครงสร้างฐานข้อมูลเชิงสัมพันธ์ ความสัมพันธ์แต่ละประเภท
ลักษณะของกุญแจแต่ละชนิด กฎความบูรณภาพของข้อมูล การนาเสนอโครงร่างฐานข้อมูลเชิงสัมพันธ์
มุมมองหรือวิวในฐานข้อมูลเชิงสัมพันธ์ และกฎ 12 ข้อสาหรับฐานข้อมูลเชิงสัมพันธ์ของคอดด์
โดยแสดงรายละเอยี ดดังนี้
3.1 กระบวนการออกแบบฐานข้อมูล

การออกแบบฐานข้อมูล (Database Design) เป็นข้ันตอนสาคัญของการพัฒนาระบบ
ฐานข้อมูล เพื่อเปน็ การกาหนดโครงรา่ ง (Schema) ของฐานข้อมูล กอ่ นท่จี ะนาไปใชจ้ ัดเก็บข้อมูลจริง
วัตถุประสงค์หลักของการออกแบบฐานข้อมูล คือ นาเสนอข้อมูลและความสัมพันธ์ระหว่างข้อมูล
ในลักษณะของแบบจาลองข้อมูล (Data Model) ซ่ึงเป็นเคร่ืองมือท่ีใช้อธิบายหรือแสดงให้เห็นข้อมูล
ท้ังหมดของระบบดว้ ยรปู ภาพ สญั ลกั ษณ์ หรอื คาอธิบายตา่ ง ๆ ตามวธิ ีการสรา้ งแบบจาลองทเ่ี ลอื กใช้

ดังนั้น แบบจาลองข้อมูลจึงสามารถใช้เป็นตัวแทนในการนาเสนอกระบวนการทางความคิด
ในการออกแบบฐานข้อมูลของนักออกแบบฐานข้อมูลได้เป็นอย่างดี อีกทั้งยังจาลองให้เห็นสภาพจริง
ของข้อมูล ทั้งในด้านของโครงสร้างและความสัมพันธ์ระหว่างข้อมูลอีกด้วย ยกตัวอย่างแบบจาลอง
ข้อมูลเชิงโครงสร้าง เช่น E-R Model และแบบจาลองข้อมูลเชิงวัตถุ เช่น Class Model โดยใน
บทเรียนนี้จะใช้แบบจาลองขอ้ มลู เชิงโครงสร้าง E-R Model ดงั รูปที่ 3.1

รปู ท่ี 3.1 แสดงตวั อย่างแบบจาลองข้อมลู เชงิ โครงสร้าง

กระบวนการออกแบบฐานข้อมูลสามารถแบ่งออกเปน็ 3 ขั้นตอน ดังนี้ การออกแบบฐานข้อมูล
เชิงแนวคิด (Conceptual Database Design) การออกแบบฐานข้อมูลเชิงตรรกะ (Logical
Database Design) และการออกแบบฐานขอ้ มลู เชิงกายภาพ (Physical Database Design)

บทท่ี 3 แนวคดิ เกี่ยวกบั การออกแบบฐานข้อมลู 67

ระบบฐานขอ้ มลู (DATABASE SYSTEMS)

3.1.1 การออกแบบฐานข้อมูลเชิงแนวคิด (Conceptual Database Design)
เป็นขนั้ ตอนของการกาหนดโครงร่างของฐานข้อมูลตามแนวคิดในระดับภาพรวม ทั้งนี้

เนื่องจากเป็นระดับแรกของการนาข้อมูลความต้องการของผู้ใช้งาน (Requirement Specification)
มาวิเคราะห์ โดยนาเฉพาะรายละเอียดในส่วนของ Data Specification มาใช้ออกแบบฐานข้อมูล
ส่วน Process Specification จะใช้สาหรับการออกแบบกระบวนการทางานด้วยแผนภาพ Data
Flow Diagram โครงร่างของฐานข้อมูลท่ีได้ จึงเป็นโครงร่างระดับแนวคิดที่เรียกว่า Conceptual
Schema การนาเสนอโครงร่างของฐานข้อมูลในระดับน้ีทีมงานจะสร้างแบบจาลองข้อมูลข้ึนมา
โดยใช้ E-R Model ซง่ึ การออกแบบฐานข้อมูลเชิงแนวคดิ จะแบ่งออกเป็น 2 ขนั้ ตอน คือ

1.) Presentation Layer E-R Model เปน็ ขั้นตอนการสร้าง E-R Diagram ทไี่ ดจ้ าก
การวเิ คราะห์ความต้องการของผู้ใช้งานเบื้องต้นเท่านั้น ยังไม่สามารถนาไปใช้ออกแบบฐานข้อมูลได้จริง
ซง่ึ นักออกแบบฐานข้อมูลจะใชใ้ นการนาเสนอตอ่ กลุ่มผใู้ ช้ระบบ เพื่อให้สามารถส่อื สารเข้าใจได้ง่ายข้ึน

2.) Design Specific E-R Model เป็นการนา E-R Diagram ทไี่ ด้มาจากขั้นตอนท่ี 1
มาปรับแต่งแก้ไขโครงสร้าง เพื่อให้มีความละเอียดเพียงพอท่ีจะนาไปใช้ในการออกแบบฐานข้อมูลใน
ข้ันตอนถดั ไปได้

3.1.2 การออกแบบฐานข้อมลู เชงิ ตรรกะ (Logical Database Design)
เป็นข้ันตอนการแปลง Design Specific E-R Model มาเป็นแบบจาลองข้อมูล

เชงิ ตรรกะ ตามโครงสรา้ งของแบบจาลองฐานข้อมูล (Database Model) ที่จะนามาใช้งาน สาหรบั ใน
บทเรียนน้ีจะเลือกใช้แบบจาลองฐานข้อมูลเชิงสัมพันธ์ (Relational Database Model) ซ่ึงใน
ระหว่างการออกแบบโครงร่างฐานข้อมูลในระดับนี้ อาจต้องมีการปรับโครงร่างหลายคร้ังเพ่ือให้มี
ความสมบูรณม์ ากขนึ้ ซง่ึ ระดบั การปรบั แบง่ เป็น 3 สว่ น ดงั น้ี

1.) Technology-Independent Logical Schema เป็นขน้ั ตอนการนาเอาโครงร่าง
เชิงแนวคิด มาแปลงเป็นโครงร่างเชิงตรรกะ แต่ยังไม่พิจารณาถึงเทคโนโลยีที่จะใช้ในการสร้าง
ฐานขอ้ มูล

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

3.) Technology-Dependent Logical Shema เป็นข้ันตอนการนาโครงร่างเชิง
ตรรกะท่ีผ่านการ Normalization แล้ว ไปใช้กาหนดโครงร่างเชิงกายภาพในข้ันตอนถัดไป ซ่ึงโครงร่าง
เชิงตรรกะดงั กลา่ วจะต้องสอดคล้องกับเทคโนโลยที ่ีจะใช้ในการสรา้ งฐานข้อมูล

3.1.3 การออกแบบฐานขอ้ มูลเชงิ กายภาพ (Physical Database Design)
เป็นข้ันตอนการนาโครงร่างเชิงตรรกะที่ได้ออกแบบไว้มาออกแบบฐานข้อมูล

เชิงกายภาพ โดยเริ่มต้ังแต่การเลือกอุปกรณ์จัดเก็บ กาหนดวิธีการจัดเก็บและเข้าถึงข้อมูล การเลือก
ระบบจัดการฐานข้อมูล การควบคุมความบูรณภาพของข้อมูล การใช้เนื้อท่ีในการจัดเก็บข้อมูล เช่น
การกาหนดชนิดและขนาดของข้อมูล การยุบรวมรูปแบบบรรทัดฐาน (Denormalization) เทคนิค
การจัดการแฟม้ ขอ้ มลู เปน็ ตน้ ทั้งน้ีเพื่อเพิ่มประสิทธิภาพในการประมวลผลข้อมูลใหร้ วดเรว็ ข้ึน

68 บทที่ 3 แนวคดิ เก่ยี วกบั การออกแบบฐานข้อมูล

ระบบฐานข้อมลู (DATABASE SYSTEMS)

3.2 โครงสร้างฐานข้อมูลเชิงสัมพันธ์
ก่อนเร่ิมต้นออกแบบฐานข้อมูลเชิงสัมพันธ์ ต้องเข้าใจแนวคิดเบื้องต้นรวมถึงความหมายของ

คาศัพท์ท่ีใช้กับแบบจาลองฐานข้อมูลเชิงสัมพันธ์ เพื่อเป็นพื้นฐานในการออกแบบฐานข้อมูลต่อไป
ประกอบไปด้วย Relation , Attribute , Tuple , Degree , Cardinality , Domain และ Null ดงั น้ี

3.2.1 รีเลชัน (Relation)
ฐานข้อมูลเชิงสัมพันธ์ เป็นการจดั เก็บข้อมูลในรูปแบบของตาราง (Table) ซึ่งสามารถ

เรียกได้อีกอย่างว่า รีเลชัน (Relation) มีลักษณะเป็นตาราง 2 มิติ ท่ีประกอบด้วยคอลัมน์
(Columns) และแถว (Rows) ซ่ึงกค็ ือ แฟ้มขอ้ มูลหรือไฟล์ (File) ในระบบการประมวลผลข้อมูลแบบ
แฟ้มข้อมูล (Files System) โดยคอลัมน์จะแทนคุณลักษณะของข้อมูล เรียกว่า Attribute ส่วนแถว
จะแทนข้อมูลแต่ละรายการท่ีเกิดข้ึนจากการนาแอตทริบิวต์มาเรียงต่อกัน เรียกว่า Tuple ใน
แบบจาลองฐานข้อมูลเชิงสมั พนั ธ์

คณุ สมบตั ิของรีเลชนั มีดังนี้
1.) แต่ละรีเลชันจะต้องมีช่ือกากับ การกาหนดช่ือให้กับรีเลชันควรเป็นชื่อเฉพาะ
มีความหมายสอดคล้องกับข้อมูลในรีเลชันนั้น และจะต้องมีช่ือที่ไม่ซ้ากับรีเลชันอื่นที่อยู่ในฐานข้อมูล
เดียวกนั เช่น รีเลชนั พนักงาน รีเลชนั สนิ คา้ และรเี ลชนั ลกู ค้า
2.) แต่ละแอตทริบิวต์จะต้องมีชื่อกากับ ชื่อโดยทั่วไปจะแสดงความหมายของข้อมูล
ท่ีถูกจัดเก็บอยู่ในแอตทริบิวต์นั้น ช่ือแอตทริบิวต์ในรีเลชันเดียวกันจะซ้ากันไม่ได้ เช่น รหัสพนักงาน
ชื่อพนกั งาน นามสกลุ และที่อยู่
3.) ค่าข้อมูลท่ีจัดเก็บในแต่ละแอตทริบิวต์ของรีเลชัน จะต้องมีเพียงค่าเดียว
(Atomic) ไม่สามารถแบ่งย่อยได้อีก ซ่ึงเป็นคุณสมบัติที่กาหนดให้ค่าของข้อมูลในแต่ละแอตทริบิวต์
ของรีเลชัน จะต้องมีเพียงความหมายเดียวเท่าน้ัน หรือแอตทริบิวต์จะต้องมีค่าข้อมูลเพียงค่าเดียว
(Single Value) ไม่สามารถมหี ลายคา่ ได้ (Multi valued Attribute) เช่น ชอื่ พนักงาน และ นามสกุล
4.) ค่าของข้อมูลท่ีอยู่ในแต่ละแอตทริบิวต์ จะต้องอยู่ในขอบเขตของโดเมนท่ีกาหนดไว้
เชน่ เพศจะตอ้ งเป็นชายหรือหญงิ เทา่ นั้น หรือเงินเดือนจะต้องมคี ่าไม่ต่ากว่า 15,000 บาท
5.) การเรยี งลาดบั กอ่ นหลังของแอตทริบิวต์ จากซ้ายไปขวาไม่มคี วามสาคญั ต่อข้อมูล
ทีจ่ ดั เกบ็ ในรีเลชนั เพราะแอตทริบวิ ต์ในรเี ลชนั จะไมม่ ชี อื่ ซ้ากนั เลย
6.) ข้อมลู ในแตล่ ะทปั เพิลของรเี ลชันจะต้องแตกต่างกัน ซา้ กนั ไม่ได้
7.) การเรียงลาดับก่อนหลังของแถวจากบนลงล่าง จะไม่มีผลต่อรเี ลชันนั้น ๆ เพราะ
ข้อมูลของแต่ละทัปเพิล ถูกจาแนกความแตกต่างด้วยกุญแจหลักแล้ว จึงไม่จาเป็นต้องกาหนดลาดับ
ให้กับแต่ละทัปเพิล แต่มุมมองของผู้ใช้งานระดับภายในหรือระดับกายภาพ จะมีผลต่อความเร็วและ
ประสิทธภิ าพในการเขา้ ถงึ ข้อมลู ทต่ี อ้ งการได้

บทท่ี 3 แนวคิดเก่ยี วกับการออกแบบฐานข้อมูล 69

ระบบฐานขอ้ มลู (DATABASE SYSTEMS)

พนกั งาน ชื่อพนกั งาน นามสกลุ เบอรโ์ ทรศัพท์ เงนิ เดอื น ตาแหนง่ งาน
รหสั พนักงาน ดวงแกว้ ดาวฤกษ์ 086-123-4567 20,000 พนกั งานบัญชี
A01 ละม้าย คล้ายคลึง 081-222-4455 22,000 พนักงานบัญชี
A02 รจนา กลา้ หาญ 086-567-8900 35,000 ผจู้ ดั การ
A03 สงา่ นา่ เกรงขาม 081-942-7500 24,000 เจ้าหนา้ ที่
P01 ยุพนิ ทนิ กร 089-999-1234 40,000 ผ้จู ดั การ
P02

รปู ที่ 3.2 แสดงโครงสร้างรีเลชนั พนกั งาน

จากรปู ท่ี 3.2 รเี ลชนั พนกั งานจัดเก็บข้อมูลเกย่ี วกับพนักงานแต่ละคน โดยมรี ายละเอยี ด
ของข้อมูลคือ รหัสพนักงาน ช่ือพนักงาน นามสกุล เบอร์โทรศัพท์ เงินเดือน และตาแหน่งงาน
ซ่ึงข้อมูลที่จัดเก็บในแต่ละคอลัมน์ของรีเลชันจะมีเพียงค่าเดียว เช่น ช่ือพนักงาน และ นามสกุล
ซึ่งไม่สามารถแยกย่อยได้อีก ส่วนข้อมูลเงินเดือนของพนักงานจะมีค่าไม่ต่ากว่า 15,000 บาท ซึ่งเป็น
ข้อกาหนดของระบบที่ระบุไว้ว่าพนักงานทุกคนของบริษัทจะได้รับเงินเดือนข้ันต่าท่ี 15,000 บาท
ทาให้ข้อมูลในคอลัมน์น้ีจะต้องมีค่ามากกว่าหรือเท่ากับ 15,000 บาททุกเรคอร์ด และจากข้อมูลใน
รีเลชันหากมีการสลับตาแหน่งของคอลัมน์ในการจัดเก็บข้อมูล โดยให้คอลัมน์ตาแหน่งงานอยู่ก่อน
คอลัมน์เงินเดือนก็จะไม่มีผลกระทบต่อข้อมูลที่จัดเก็บไว้ แต่ถ้าหากมีการจัดเรียงลาดับข้อมูล
ตามคอลัมน์ช่ือพนักงาน โดยให้เรียงตามลาดับตัวอักษรจากน้อยไปมาก จะทาให้ลาดับของแถว
เปลีย่ นแปลงไปซงึ่ ไมม่ ีผลตอ่ ขอ้ มูลทจ่ี ัดเกบ็ แต่จะทาใหก้ ารเขา้ ถงึ ขอ้ มูลทาไดร้ วดเรว็ ข้นึ

3.2.2 แอตทรบิ ิวต์ (Attribute)
แอตทริบิวต์จะมีความหมายเหมือนกับคอลัมน์ หรือฟิลด์ (Field) ซ่ึงแอตทริบิวต์

(Attribute) คือ ช่ือคอลัมน์ต่าง ๆ ท่ีใช้อธิบายคณุ ลักษณะของแต่ละรีเลชัน ตัวอย่างเช่น รีเลชันลกู ค้า
ประกอบด้วยแอตทรบิ ิวต์ต่าง ๆ ได้แก่ รหสั ลูกค้า ชือ่ ลูกค้า จังหวดั เบอร์โทรศพั ท์ และบคุ คลท่ีตดิ ต่อ
ดงั รูปท่ี 3.3

รูปที่ 3.3 แสดงแอตทรบิ ิวต์ของรีเลชนั ลูกคา้
70 บทที่ 3 แนวคิดเก่ียวกับการออกแบบฐานข้อมูล

ระบบฐานขอ้ มูล (DATABASE SYSTEMS)

3.2.3 ทปั เพิล (Tuple)
ทัปเพิลจะมีความหมายเหมือนกับแถว หรือเรคอร์ด (Record) ซึ่งทัปเพิล (Tuple)

จะเป็นท่ีเก็บสมาชิกของรีเลชัน จานวนทัปเพิลท้ังหมดท่ีอยู่ในรีเลชัน ถือว่าเป็นคาร์ดินัลลิต้ี
ดังรูปที่ 3.3 รีเลชันลูกค้าจัดเก็บข้อมูลของลูกค้าที่มีการซื้อสินค้ากับบริษัท ซ่ึงมีจานวน 4 ทัปเพิล
ตามจานวนของร้านค้าที่มีการซื้อสินค้า โดยแต่ละทัปเพิลมีรายละเอียดดังนี้ รหัสลูกค้า ช่ือลูกค้า
จังหวดั เบอร์โทรศัพท์ และบุคคลที่ติดตอ่

3.2.4 ดีกรี (Degree)
ดีกรี หมายถึง จานวนของแอตทริบิวต์ที่มีอยู่ในรีเลชัน ซึ่งค่าของดีกรีจะมีความ

ยืดหยุ่นน้อย เพราะเม่ือออกแบบฐานข้อมูลเสร็จเรียบร้อยแล้ว จานวนของแอตทริบิวต์ในรีเลชันจะ
ไม่ค่อยมีการเปลี่ยนแปลง ตัวอย่างเช่น รีเลชันลูกค้า จะมีดีกรีเป็น 5 เนื่องจากมีจานวนแอตทริบิวต์
5 แอตทรบิ วิ ตด์ ังรูปที่ 3.3

3.2.5 คารด์ นิ ลั ลิตี้ (Cardinality)
คาร์ดินลั ลิต้ี หมายถึง จานวนของทัปเพิลทีม่ ีอยู่ในรเี ลชัน ซงึ่ โดยทั่วไปค่าของคารด์ นิ ัลลิต้ี

จะสามารถเปล่ียนแปลงได้ตลอดเวลา เน่ืองจากอาจมีการเพิ่มเติมหรือลบทัปเพิลในรีเลชันได้
ทั้งน้ี จานวนของทัปเพิลในรีเลชันหนึ่งที่มีความสัมพันธ์กับทัปเพิลในอีกรีเลชันหนึ่ง ซ่ึงจะนาไปใช้
กาหนดประเภทของความสัมพันธ์ระหว่างข้อมูลทั้งสองรีเลชันได้ ตัวอย่างเช่น รีเลชันใบเสร็จจะมี
คารด์ ินัลลิต้ีเป็น 6 เนื่องจากมสี มาชิกของรเี ลชันอยู่ 6 แถว ดังรปู ที่ 3.4

ใบเสรจ็ วนั ทข่ี าย ช่อื ลกู ค้า ชื่อสินค้า ราคา จานวน
1 ส.ค. 60 รา้ นตาราภัณฑ์ กระดาษการด์ สี A4 85 100
เลขท่ีใบเสร็จ 1 ส.ค. 60 รา้ นตาราภณั ฑ์ กระดาษถา่ ยเอกสาร A4 100 150
R001 1 ส.ค. 60 รา้ นมาศกึ ษา กระดาษการ์ดสี A4 85 200
R001 1 ส.ค. 60 ร้านมาศกึ ษา ดินสอ 2B 30 150
R002 1 ส.ค. 60 รา้ นมาศึกษา นา้ ยาลบคาผิด 55 100
R002 2 ส.ค. 60 ร้านตาราภัณฑ์ กระดาษการ์ดสี A4 85 200
R002
R003

รปู ท่ี 3.4 แสดงคารด์ นิ ลั ลติ ีข้ องรเี ลชันใบเสร็จ

จากรปู ที่ 3.4 รเี ลชนั ใบเสร็จจัดเก็บข้อมูลเก่ียวกับการขายสินค้าให้กับลูกค้าในแต่ละวัน
ซึ่งจานวนเรคอร์ดของข้อมูลจะมีการเปล่ียนแปลงทุกคร้งั ท่ีมีการขายสินค้า ทาให้คาร์ดนิ ัลลิตี้มีจานวน
เพมิ่ ขนึ้ จากเดมิ ได้ เนื่องจากการเพ่ิมจานวนรายการสินคา้ ท่ีลกู ค้าซ้อื

บทท่ี 3 แนวคิดเกีย่ วกับการออกแบบฐานข้อมลู 71

ระบบฐานข้อมูล (DATABASE SYSTEMS)

3.2.6 โดเมน (Domain)
โดเมนหรือข้อบังคับ (Constraints) หมายถึง กฎเกณฑ์หรือข้อจากัดต่าง ๆ ที่มีต่อ

ข้อมูลในแต่ละแอตทริบิวต์ ซ่ึงข้อบังคับเป็นส่ิงสาคัญ เพราะจะช่วยควบคุมความถูกต้องของข้อมูล
(Data Integrity) หรือช่วยหลีกเล่ียงการบันทึกข้อมูลที่ผิดพลาดลงในฐานข้อมูล โดยการกาหนด
ขอบเขตค่าของขอ้ มลู ทเ่ี ปน็ ไปได้ และรปู แบบชนดิ ข้อมลู ของแต่ละแอตทรบิ วิ ต์ ดงั รปู ที่ 3.5

พนกั งาน ชือ่ นามสกลุ โทรศพั ท์ วนั เข้าทางาน เงินเดอื น
ดวงจนั ทร์ วนั เพ็ญ 086-336-4455 27/06/2556 24,000
รหัสพนักงาน สายใจ ใยบัว 089-916-9999 1/09/2556 30,000
S01 ปกป้อง คุ้มครอง 089-789-6996 12/12/2556 18,000
S02 ตอ้ งตา นา่ ดู 081-555-6789 26/07/2555 15,000
S03 เกสร ดอกไม้ 081-669-6696 11/09/2555 12,000
S04 สนั ติ สันติรกั สงบ 089-412-4450 29/12/2555 12,000
S05
S06

ช่อื แอตทรบิ ิวต์ ชนิดข้อมลู เงอ่ื นไขขอ้ บงั คับ
รหัสพนกั งาน Text ขนาด 3 ตัวอักษร, ห้ามมีค่าซ้า,ห้ามเปน็ ค่าว่าง
ชอ่ื Text ขนาด 30 ตวั อักษร, ห้ามเป็นคา่ วา่ ง
นามสกุล Text ขนาด 30 ตวั อักษร, หา้ มเป็นคา่ วา่ ง
โทรศัพท์ Text ขนาด 12 ตวั อักษร, รปู แบบ xxx-xxx-xxxx
วันเขา้ ทางาน รปู แบบ d/mm/yyyy, ห้ามเปน็ คา่ ว่าง
เงินเดอื น Date/Time ตวั เลขจานวนเต็ม, หา้ มเป็นคา่ ว่าง, >=12,000
Number

รปู ที่ 3.5 แสดงโดเมนของแอตทรบิ ิวต์ในรเี ลชนั พนักงาน

จากรูปท่ี 3.5 เป็นการกาหนดค่าโดเมน (Domain) ของแอตทริบิวต์ในรีเลชันพนักงาน
เพ่ือช่วยควบคุมความถูกต้องของข้อมูล เช่น แอตทริบิวต์รหัสพนักงาน จะต้องมีชนิดข้อมูลเป็น
ตัวอักษร ขนาด 3 ตัว ห้ามมีค่าซ้า และห้ามเป็นค่าว่าง หรือแอตทริบิวต์เงินเดือน ต้องมีชนิดข้อมูล
เปน็ ตวั เลขจานวนเต็มเท่าน้ัน และมีคา่ ข้อมลู มากกว่าหรือเท่ากับ 12,000 บาท ตามเงอ่ื นไขของระบบ
ท่ีกาหนดไว้ และห้ามเป็นค่าว่าง ท้ังหากผู้ใช้งานกรอกข้อมูลไม่เป็นไปตามข้อกาหนดของโดเมน
ก็สามารถตรวจสอบได้ ซึง่ ความถกู ต้องของขอ้ มูลที่นาเข้าสู่ระบบฐานขอ้ มูลเปน็ สิ่งสาคัญในการพัฒนา
ระบบสารสนเทศที่มีคณุ ภาพ

72 บทที่ 3 แนวคดิ เกี่ยวกับการออกแบบฐานข้อมลู

ระบบฐานขอ้ มูล (DATABASE SYSTEMS)

กาหนดโดเมนให้กบั ขอ้ มลู ที่มีเงอ่ื นไขตา่ ง ๆ ดังน้ี
1.) ขอ้ มูลทก่ี าหนดโดเมนได้จะต้องเปน็ ขอ้ มลู ท่เี ปน็ อสิ ระจากรเี ลชันอ่ืน เช่น แอตทริบวิ ต์
รหัสสินค้า ชื่อสินค้า และราคาในรีเลชันสินค้า แต่สาหรับแอตทริบิวต์รหัสประเภท จัดว่าเป็นข้อมูล
ทไี่ ม่เปน็ อสิ ระ เนอ่ื งจากตอ้ งมีค่าตามแอตทริบิวต์รหัสประเภทในรีเลชนั ประเภท เปน็ ต้น

รูปที่ 3.6 แสดงตวั อย่างข้อมูลทไ่ี ม่เป็นอสิ ระจากรเี ลชันอนื่
2.) ข้อมูลท่ีสามารถนามากาหนดโดเมนได้ จะต้องเป็นข้อมูลประเภทเดียวกัน เช่น
โดเมนข้อมูลแอตทริบิวต์เพศ มีค่าที่เป็นไปได้เพียง 2 ค่า ซึ่งจะกาหนดเป็น M, F หรือ 0, 1 หรือ ช, ญ
ก็ได้ แต่ต้องเป็นคู่ท่ีเป็นข้อมูลประเภทเดียวกัน จะเป็น M กับ 1 หรือ ช กับ 0 ไม่ได้ เพราะข้อมูล
มชี นดิ ต่างกัน คอื มชี นิดเปน็ ตวั เลขและตวั อักษรปะปนกนั เป็นตน้
3.) โดเมนของแอตทริบิวต์ที่ถูกอ้างอิงถึงโดยรีเลชันอ่ืน สามารถถ่ายทอดโดเมนของ
ให้กับแอตทริบิวต์ท่ีมีช่ือเดียวกันในรีเลชันอ่ืนท่ีอ้างถึงได้ด้วย เช่น แอตทริบิวต์รหัสประเภทในรีเลชัน
ประเภทสนิ ค้าจะถา่ ยทอดโดเมนไปใหก้ ับแอตทรบิ วิ ตร์ หัสประเภทในรีเลชันสินค้าได้ เปน็ ตน้

บทท่ี 3 แนวคิดเกย่ี วกับการออกแบบฐานข้อมูล 73

ระบบฐานขอ้ มลู (DATABASE SYSTEMS)

3.2.7 คา่ วา่ ง (Null)
ค่าว่างใช้แทนการไม่มีค่าข้อมูลเก็บอยู่ หรืออาจจะยังไม่ทราบค่าข้อมูลที่จะต้องการ

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

ลูกคา้ ชื่อลูกคา้ จงั หวดั เบอร์โทรศัพท์ บุคคลทตี่ ิดตอ่
รหัสลูกค้า รา้ นคลงั เครือ่ งเขยี น ชัยนาท
C01 ร้านมาศึกษา สพุ รรณบรุ ี null ประหยดั มธั ยัสถ์
C02 ร้านรักเรียน สุพรรณบรุ ี 088-999-8899 สาเนยี ง เสียงเพราะ
C03 ร้านจปิ าถะ สระบรุ ี 086-336-8321 สายฝน เยน็ ฉา่
C04 รา้ นตาราภณั ฑ์ สพุ รรณบุรี 088-234-7999 น้าเพชร คาดี
C05 089-444-5500 ดาวเดน่ เปน็ สงา่

ชื่อแอตทรบิ ิวต์ ชนิดข้อมูล เงอื่ นไขข้อบงั คับ
รหัสลูกค้า Text ขนาด 3 ตัวอกั ษร, ห้ามมคี ่าซ้า,หา้ มเป็นค่าวา่ ง
ช่อื ลกู คา้ Text ขนาด 30 ตัวอกั ษร, ห้ามเป็นค่าวา่ ง
จังหวัด Text ขนาด 30 ตัวอักษร, หา้ มเป็นคา่ วา่ ง
เบอร์โทรศัพท์ Text ขนาด 12 ตวั อักษร, รูปแบบ xxx-xxx-xxxx
บคุ คลทต่ี ดิ ต่อ Text ขนาด 30 ตวั อกั ษร, หา้ มเปน็ ค่าวา่ ง

รูปที่ 3.7 แสดงค่าวา่ งในรเี ลชันลกู คา้

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

74 บทท่ี 3 แนวคดิ เกีย่ วกับการออกแบบฐานข้อมูล

ระบบฐานข้อมลู (DATABASE SYSTEMS)

3.3 ประเภทของความสัมพันธ์
ส่ิงสาคัญในการออกแบบฐานข้อมูลเชิงสัมพันธ์ (Relational Database) ก็คือ การออกแบบ

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

3.3.1 ความสมั พนั ธแ์ บบหน่งึ ต่อหนึ่ง (1 : 1)
เป็นความสัมพันธ์ที่เรคอร์ดในตารางหนึ่ง สามารถจับคู่กับเรคอร์ดในอีกตารางหนึ่งได้

เพียงเรคอร์ดเดียวเท่าน้ัน หรือเป็นการจับคู่กันแบบแถวต่อแถว ความสัมพันธ์ลักษณะนี้จะพบเห็น
ได้น้อยในการออกแบบฐานข้อมูล ตัวอย่างเช่น กรณีที่จานวนแอตทริบิวต์ในรีเลชันน้ันมีมากเกินไป
จนทาให้รีเลชันมีขนาดใหญ่ไม่สะดวกในการประมวลผลข้อมูล จึงต้องแยกข้อมูลบางส่วนท่ีสาคัญ
ออกมาเก็บไว้อีกรีเลชันหนึ่ง โดยเลือกแอตทริบิวต์ท่ีมีคุณสมบัติเหมาะสมเป็นตัวเชื่อมโยง
ความสัมพนั ธ์ระหวา่ งสองรเี ลชันได้ ดังรปู ท่ี 3.8

รปู ท่ี 3.8 แสดงความสัมพันธ์แบบหน่ึงตอ่ หนงึ่
จากรูปท่ี 3.8 เป็นการแสดงความสัมพันธ์ของรีเลชันพนักงานกับรีเลชันใบขับข่ีรถยนต์
ของพนกั งานขาย โดยการแยกข้อมูลบางส่วนของพนักงานขายออกมาจากตารางพนักงานและจัดเก็บ
เป็นตารางข้อมูลใหม่ ท้ังนี้เพ่ือความสะดวกในการประมวลผลข้อมูล ซ่ึงทั้งสองตารางมีความสัมพันธ์
กันแบบหน่ึงต่อหน่ึง คือ พนักงานหน่ึงคนสามารถมีข้อมูลใบขับขี่รถยนต์ได้เพียงข้อมูลเดียวและ
รายละเอียดข้อมูลใบขับข่ีรถยนต์เป็นของพนักงานได้เพียงคนเดียวเท่าน้ัน โดยใช้ฟิลด์รหัสพนักงาน
เปน็ ตัวเชอื่ มโยงความสัมพนั ธ์ระหวา่ งตารางพนักงานและตารางใบขบั ขีร่ ถยนต์ของพนักงานขาย

บทท่ี 3 แนวคดิ เกย่ี วกบั การออกแบบฐานข้อมลู 75

ระบบฐานขอ้ มูล (DATABASE SYSTEMS)

3.3.2 ความสัมพนั ธแ์ บบหนงึ่ ต่อกลุ่ม (1 : M)
เป็นความสัมพันธ์ที่เรคอร์ดในตารางหนึ่ง สามารถจับคู่กับเรคอร์ดในอีกตารางหน่ึง

ไดห้ ลายเรคอรด์ ซง่ึ เป็นความสมั พันธส์ ว่ นใหญ่ในการออกแบบระบบฐานขอ้ มูล ดังรูปที่ 3.9

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

รูปที่ 3.10 แสดงความสัมพันธ์ระหวา่ งประเภทสนิ คา้ กับสนิ คา้
จากรปู ที่ 3.10 แสดงความสัมพันธ์ของรีเลชันประเภทสินค้ากับสินค้า ซึง่ มคี วามสัมพนั ธ์
กันแบบ 1:M คือ ประเภทสินค้าหนึ่งประเภทสามารถมีสินค้าได้หลายอย่าง เช่น สินค้าประเภท
กระดาษมีสินค้า 2 อย่าง คือ กระดาษการ์ดสี และกระดาษถ่ายเอกสาร โดยที่สินค้าแต่ละอย่าง
สามารถเปน็ ประเภทสนิ ค้าไดเ้ พียงประเภทเดยี ว คอื กระดาษ

76 บทที่ 3 แนวคิดเก่ยี วกบั การออกแบบฐานข้อมูล

ระบบฐานขอ้ มลู (DATABASE SYSTEMS)

3.3.3 ความสัมพันธ์แบบกลุ่มตอ่ กลมุ่ (M : N)
เป็นความสัมพันธ์ท่ีเรคอร์ดในตารางหนึ่ง สามารถจับคู่กับเรคอร์ดในอีกตารางหนึ่งได้

หลายเรคอร์ดและขณะเดียวกันเรคอรด์ ในตารางนั้นกม็ ีความสัมพนั ธ์ได้หลายเรคอรด์ เชน่ กนั ดังรูปที่ 3.11

PP01 A4
PP02 A4

A4

N A4
รูปที่ 3.11 แสดงความสัมพันธแ์ บบกลมุ่ ต่อกลุ่ม

จากรปู ท่ี 3.11 เปน็ การแสดงความสัมพันธ์ของรีเลชันสินคา้ กบั รีเลชันใบเสร็จ ซ่ึงทัง้ สอง
ตารางมีความสมั พันธ์กนั แบบกลมุ่ ตอ่ กลุ่ม คือ สินค้าหนง่ึ อย่างสามารถอยู่ในใบเสรจ็ รบั เงนิ ไดห้ ลายใบ
เช่น สินค้ากระดาษการ์ดสี A4 สามารถอยู่ในใบเสร็จรับเงินเลขที่ R001 และ R003 และในทาง
กลับกันใบเสร็จรับเงินแต่ละใบก็สามารถมีรายการสินค้าท่ีลูกค้าซื้อได้หลายอย่าง เช่น ใบเสร็จรับเงิน
R002 มีสินค้า 3 รายการคือ กระดาษการ์ดสี A4 ดินสอ 2B และน้ายาลบคาผิด ทาให้ท้ังสองตาราง
มีความสัมพันธ์กันแบบ M : N ซ่ึงหากรีเลชันมีความสัมพันธ์กันแบบน้ีเกิดขึ้น จะต้องใช้รีเลชันอ่ืน
มาช่วยในการแสดงความสัมพนั ธ์ ซ่ึงจะไดเ้ รียนร้ใู นบทถดั ไป

บทที่ 3 แนวคดิ เกย่ี วกับการออกแบบฐานข้อมูล 77

ระบบฐานขอ้ มูล (DATABASE SYSTEMS)

3.4 ประเภทของกุญแจ
ในระบบฐานข้อมูลเชิงสัมพันธ์จะต้องมีการกาหนดกุญแจ (Relation Key) จะช่วยให้ข้อมูลใน

แต่ละทัปเพิลในรีเลชันมีความแตกต่างกัน คือไม่ซ้ากันและยังช่วยให้รีเลชันต่าง ๆ อ้างอิงกันได้โดย
ความหมายของข้อมูลไม่ขัดแย้งกัน ดังรูปที่ 3.12 กรณีท่ีต้องการทราบเบอร์โทรศัพท์ของพนักงาน
ช่ือดวงจันทร์ เพ่ือนามาพิมพ์ลงในใบแจ้งยอดเงินเดือน แต่ปรากฎว่าในรีเลชันพนักงานมีทัปเพิลของ
พนักงานท่ีชื่อดวงจันทร์ อยู่ 2 คน คือ ดวงจันทร์ วันเพ็ญ และ ดวงจันทร์ คุ้มครอง ดังน้ัน จึงไม่สามารถ
ระบุได้ว่าทปั เพิลใดคอื ทปั เพิลของพนักงานท่ตี ้องการ

จากปัญหาเร่ืองความซ้าซ้อนของข้อมูลดังกล่าว หากใช้แอตทริบิวต์รหัสพนักงานระบุพนักงาน
ที่ต้องการแทนสามารถจะแก้ไขปัญหาข้างต้นได้ โดยระบุรหัสพนักงานที่ต้องการ เช่น S01 จะทาให้
ได้ผลลัพธ์ของพนักงานเพียงคนเดียวเท่านั้นคือ ดวงจันทร์ วันเพ็ญ และสามารถนาไปค้นหา
เบอรโ์ ทรศัพท์ของดวงจนั ทร์ วันเพญ็ ได้

3.4.1 ซเู ปอรค์ ยี ์ (Super Key)
ซูเปอร์คีย์ (Super Key) คือ หน่ึงแอตทริบิวต์หรือหลายแอตทริบิวต์ที่มีค่าข้อมูลไม่ซ้า

กันในแต่ละเรคอร์ดของรีเลชันและสามารถบอกความแตกต่างของแต่ละเรคอร์ดในรีเลชันได้ ดังน้ัน
ในหนึง่ รเี ลชนั จะมีซเู ปอรค์ ีย์ได้หลายตัว

พนกั งาน ชือ่ นามสกลุ โทรศพั ท์ เงนิ เดือน เลขบัตรประชาชน
รหสั พนกั งาน ดวงจันทร์ วนั เพ็ญ 086-336-4455 24,000 3123456789012
S01 ดวงจันทร์ ค้มุ ครอง 089-789-6996 18,000 234567890123
S03 ต้องตา น่าดู 081-555-6789 15,000 1234567890111
S04 เกสร ดอกไม้ 081-669-6696 12,000 234567899999
S05 สนั ติ สนั ตริ ักสงบ 089-412-4450 12,000 123456787878
S06

รูปที่ 3.12 แสดงซเู ปอร์คยี ์ในรเี ลชันพนกั งาน

จากรูปที่ 3.12 รีเลชันพนักงานจัดเก็บรายละเอียดของพนักงานแต่ละคนไว้ ซ่ึงหาก
พิจารณาจากข้อมูลในแอตทริบิวต์ รหัสพนักงาน และ เลขบัตรประชาชน พบว่าข้อมูลของพนักงาน
ทง้ั สองแอตทริบิวต์น้ีไม่สามารถมีคา่ ซา้ กันไดใ้ นเรคอร์ดอื่นของรีเลชัน เพราะพนกั งานแต่ละคนสามารถมี
รหัสพนักงานและเลขบตั รประชาชนได้เพยี งคนละหนึ่งข้อมูลเท่านั้น ดังนั้น รหัสพนักงานและเลขบัตร
ประชาชนจึงมีคุณสมบตั ิเปน็ ซูเปอรค์ ยี ์ของรีเลชันพนกั งานได้

78 บทท่ี 3 แนวคดิ เก่ียวกบั การออกแบบฐานข้อมลู

ระบบฐานขอ้ มลู (DATABASE SYSTEMS)

3.4.2 กญุ แจให้เลอื ก (Candidate Key)
กุญแจให้เลือก (Candidate Key) คือ แอตทริบิวต์ท่ีมีคุณสมบัติครบถ้วน สามารถ

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

3.4.3 กญุ แจหลกั (Primary Key)
กุญแจหลัก (Primary Key) คือ กุญแจให้เลือกท่ีถูกเลือกมาเพียงหน่ึงตัวท่ีมีคุณสมบัติ

ครบถ้วนและเหมาะสมที่จะนามาใช้บอกความแตกต่างของแต่ละเรคอร์ดในรีเลชันได้ เพื่อทาหน้าท่ี
เป็นกญุ แจหลกั ของรีเลชัน ซ่ึงจะตอ้ งมีคณุ สมบตั ิดงั นี้

1.) ประกอบด้วยจานวนแอตทริบิวต์ท่ีน้อยท่ีสุด แต่สามารถบอกความแตกต่าง
ของแตล่ ะเรคอรด์ ได้

2.) จะต้องไมเ่ ปน็ ค่าวา่ ง (Null)
3.) จะต้องมีความเป็นหน่ึงเดียว (Unique) คือ ข้อมูลในแอตทริบิวต์นั้นต้องไม่มีค่า
ซ้ากันในเรคอร์ดของรเี ลชัน
ในโครงสร้างของรีเลชันจะใช้การขีดเส้นใต้ท่ีช่ือของแอตทริบิวต์ท่ีกาหนดให้เป็น
กุญแจหลกั

พนกั งาน ชื่อ นามสกุล โทรศพั ท์ เงนิ เดอื น
ดวงจนั ทร์ วันเพญ็ 086-336-4455 24,000
รหัสพนกั งาน ปกปอ้ ง คุม้ ครอง 089-789-6996 18,000
S01 ต้องตา นา่ ดู 081-555-6789 15,000
S03 เกสร ดอกไม้ 081-669-6696 12,000
S04 สันติ สันติรักสงบ 089-412-4450 12,000
S05
S06

รปู ที่ 3.13 แสดงกุญแจหลักในรีเลชันพนกั งาน

จากรปู ท่ี 3.13 รีเลชันพนกั งานสามารถให้แอตทริบิวต์รหัสพนักงานเป็นกุญแจหลกั ได้
เนื่องจากรหัสพนักงานไม่มีทางซ้ากันได้ แต่ไม่เลือกแอตทริบิวต์ช่ือพนักงานเป็นกุญแจหลัก เนื่องจาก
ช่ือพนักงานอาจจะซ้ากันได้ พนักงานอาจมีชื่อเหมือนกัน จากนั้นก็ให้ทาการขีดเส้นใต้ท่ีช่ือแอตทริ
บวิ ตร์ หสั พนกั งานเพอื่ บง่ บอกความเป็นกญุ แจหลัก

บทที่ 3 แนวคิดเกี่ยวกบั การออกแบบฐานข้อมลู 79

ระบบฐานข้อมลู (DATABASE SYSTEMS)

สนิ คา้ ชื่อสนิ ค้า ราคาต่อหนว่ ย จานวนคงคลงั หน่วยนับ
ปากกาเขยี นซีดี 25 620 ด้าม
รหสั สนิ ค้า กรรไกร 5 นวิ้ 25 320 อนั
OF01 กระดาษการ์ดสี A4 85 1,000 ห่อ
OF02 กระดาษถา่ ยเอกสาร A4 100 950 รมี
PP01
PP02

รูปที่ 3.14 แสดงกุญแจหลกั ในรเี ลชนั สนิ ค้า

จากรูปที่ 3.14 รเี ลชันสนิ คา้ จดั เกบ็ รายละเอยี ดเก่ยี วกบั สินคา้ ไว้ โดยกาหนดให้แอตทริบิวต์
รหสั สนิ คา้ เปน็ กญุ แจหลกั ของรีเลชนั จึงแสดงโดยการขดี เส้นใต้ทชี่ อื่ แอตทริบวิ ต์รหสั สินคา้

3.4.4 กุญแจสารอง (Alternate Key)
กุญแจสารอง (Alternate Key) เรียกอีกอย่างว่า Secondary Key คือกุญแจให้เลือก

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

ลูกคา้ ชือ่ ร้านคา้ จังหวัด เบอรโ์ ทรศัพท์ บุคคลทีต่ ดิ ตอ่
รหสั ลกู ค้า คลงั เครอ่ื งเขยี น ชัยนาท ประหยดั มธั ยสั ถ์
C01 มาศกึ ษา สุพรรณบรุ ี 088-999-8899 สาเนียง เสียงเพราะ
C02 รกั เรยี น สพุ รรณบรุ ี 086-336-8321 สายฝน เยน็ ฉ่า
C03 จิปาถะ สระบรุ ี 088-234-7999 นา้ เพชร คาดี
C04 ตาราภณั ฑ์ สุพรรณบุรี 089-444-5500 ดาวเดน่ เป็นสงา่
C05

รปู ท่ี 3.15 แสดงกุญแจสารองในรเี ลชนั ลกู ค้า

ประโยชน์ของกุญแจสารอง (Alternate Key) มีดังน้ี หากพิจารณาจากรูปที่ 3.15
กาหนดให้ฟิลด์รหัสลูกค้าเป็นกุญแจหลัก เมื่อมีการค้นหาข้อมูล DBMS จะค้นหาเรียงตามลาดับ
รหัสลูกค้า ต้ังแต่เรคอร์ดแรกไปจนถึงเรคอร์ดที่ต้องการกุญแจหลักจะถูกกาหนดให้เป็น Index
โดยอตั โนมตั ิ ทัง้ น้ีถ้าข้อมูลที่จดั เก็บมเี ปน็ จานวนมากจะต้องใช้เวลาในการค้นหานาน แต่ถ้ากาหนดให้
ฟิลด์ชื่อร้านค้าเป็น Index จะทาให้ชื่อร้านค้าพร้อมตาแหน่งของเรคอร์ดถูกเก็บไว้ในพ้ืนที่ท่ีเป็น
Index โดยเรียงลาดับชื่อร้านค้าตามท่ีกาหนด เมื่อมีคาส่ังให้ค้นหาข้อมูล DBMS จะเข้าไปค้นหา
ชื่อร้านค้าจากพื้นท่ีท่ีเป็น Index ก่อนเมื่อค้นหาพบก็จะทราบตาแหน่งของเรคอร์ดนั้น ทาให้สามารถ
เขา้ ถงึ ข้อมูลที่ต้องการในรเี ลชันได้ทนั ที

80 บทท่ี 3 แนวคิดเกีย่ วกับการออกแบบฐานข้อมลู

ระบบฐานขอ้ มลู (DATABASE SYSTEMS)

ฟิลด์ที่ถูกกาหนดให้เป็น Index น้ี สามารถมีข้อมูลซ้ากันได้ ต่างจากกุญแจหลัก ซ่ึงจะ
มีข้อมูลซ้ากันไม่ได้ อย่างไรก็ตามมีข้อควรระวังในการสร้าง Index คือ เม่ือมีการเพิ่มหรือลบเรคอร์ด
ในรีเลชัน จะทาให้ข้อมูลในแฟ้ม Index ต้องถูกปรับปรุงตามไปด้วยทุกครั้ง ทาให้ DBMS ต้องทางาน
มากขึ้น ซ่ึงจะส่งผลให้ประสิทธิภาพและความเร็วในการทางานโดยรวมของระบบช้าลง และอีก
ประเด็นหนึ่งคือ การสร้าง Index จากฟิลด์ที่มีข้อมูลซ้ากันมาก ๆ อาจไม่เกิดผลดีมากนัก ท้ังน้ี
นกั ออกแบบฐานข้อมลู ตอ้ งพจิ ารณาถึงความเหมาะสมในการนาไปใช้งาน

3.4.5 กุญแจประกอบ (Composite Key)
กุญแจประกอบ (Composite Key) เรียกอีกอย่างว่า Compound Key หมายถึง

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

พนักงาน นามสกลุ โทรศัพท์ เงินเดือน วันท่เี ข้าทางาน
ชอื่ พนักงาน วนั เพญ็ 086-336-4455 24,000 1/01/2555
คุ้มครอง 089-789-6996 18,000 5/05/2558
ดวงจันทร์ น่าดู 081-555-6789 15,000 13/10/2558
ปกปอ้ ง ดอกไม้ 081-669-6696 12,000 9/11/2559
ต้องตา สนั ติรกั สงบ 089-412-4450 12,000 14/02/2559
เกสร
สนั ติ

รปู ท่ี 3.16 แสดงกญุ แจประกอบในรีเลชันพนกั งาน

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

บทท่ี 3 แนวคดิ เกยี่ วกับการออกแบบฐานข้อมลู 81

ระบบฐานข้อมลู (DATABASE SYSTEMS)

ใบเสรจ็ รหัสสนิ ค้า ช่ือสินค้า ราคา จานวน
เลขที่ใบเสร็จ PP001 กระดาษการ์ดสี 85 100
R001 PP002 กระดาษถา่ ยเอกสาร 100 150
R001 PP01 กระดาษการ์ดสี 85 200
R002 WR01 ดินสอ 2B 30 150
R002 WR02 นา้ ยาลบคาผิด 55 100
R002 PP01 กระดาษการด์ สี 85 200
R003

รปู ท่ี 3.17 แสดงกุญแจประกอบในรเี ลชันใบเสร็จ

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

3.4.6 กุญแจนอก (Foreign Key)
การอ้างอิงหรือสร้างความสัมพันธ์ระหว่างข้อมูลในฐานข้อมูลรูปแบบลาดับช้ันและ

แบบเครือข่ายจะเป็นแบบ Physical Pointer Link คือ ใช้พอยน์เตอร์ช้ีไปยังตาแหน่งเรคอร์ดข้อมูล
ในหน่วยความจา แต่สาหรับฐานข้อมูลเชิงสัมพันธ์ การอ้างอิงข้อมูลที่มีความสัมพันธ์กันเกิดข้ึน
ในระดับแนวคิด คือ ไม่อ้างถึงตาแหน่งของเรคคอร์ดข้อมูลในหน่วยความจา แต่จะใช้แอตทริบิวต์ใด
แอตทริบิวต์หนึ่งในรีเลชันอ้างอิงไปยังแอตทริบิวต์ท่ีทาหน้าที่เป็นกุญแจหลักในรีเลชันอื่นที่สัมพันธ์
กนั แทน เรยี กแอตทริบวิ ต์ดังกล่าวว่า กญุ แจนอก (Foreign Key) โดยมคี ณุ สมบัติดังน้ี

1.) เป็นแอตทริบิวต์หรือกลุ่มของแอตทริบิวต์ที่มีคุณสมบัติเป็นกุญแจหลัก และไป
ปรากฏในอีกรเี ลชนั อ่นื หรอื อาจเปน็ รีเลชนั เดมิ ก็ได้

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

3.) กญุ แจนอกสามารถมคี ่าซ้ากนั หรอื เป็นค่าว่าง (Null) ได้
4.) รีเลชันหนึ่ง ๆ อาจจะมีกุญแจนอกอยู่หรือจะไม่มีก็ได้ แต่ทุกรีเลชันจะต้องมี
กุญแจหลักเสมอ
ในการแสดงโครงสร้างของรีเลชัน จะใช้การขดี เส้นประใต้แอตทรบิ วิ ต์ทเ่ี ป็นกญุ แจนอก

82 บทที่ 3 แนวคิดเกี่ยวกับการออกแบบฐานข้อมลู

ระบบฐานข้อมูล (DATABASE SYSTEMS)

รปู ที่ 3.18 แสดงกุญแจนอกในรีเลชนั พนกั งาน

จากรูปท่ี 3.18 รีเลชันแผนกงานจะมีแอตทริบิวต์รหัสแผนกงานเป็นกุญแจหลัก และ
ในรีเลชันพนักงานมีแอตทริบิวต์รหัสแผนกงานเป็นกุญแจนอก เพื่อแสดงความสัมพันธ์ระหว่าง
สองรีเลชัน ทาให้ทราบว่าพนักงานแต่ละคนทางานอยู่ในแผนกงานใด โดยมีความสัมพันธ์ระหว่าง
รีเลชันกันแบบ 1 : M คือ แผนกงานสามารถมีพนักงานสังกัดอยู่ได้หลายคน และพนักงานแต่ละคน
สามารถอยูไ่ ด้เพยี งแผนกงานเดยี วเทา่ นน้ั

3.4.7 แอตทรบิ ิวต์สามญั (Nonkey Attribute)
แอตทริบิวต์สามัญ (Nonkey Attribute) คือแอตทริบิวต์ที่ไม่ใช่กุญแจหลักหรือกุญแจ

ให้เลือก และไม่เป็นส่วนประกอบของกุญแจหลักหรือกุญแจให้เลือกในรีเลชันน้ัน ๆ (เทพฤทธิ์ บัณฑิต
วฒั นาวงศ,์ 2554, น. 39)

สินคา้ ช่อื สินค้า ราคาตอ่ หนว่ ย จานวนคงคลัง หนว่ ยนับ
ปากกาเขยี นซีดี 25 150 ดา้ ม
รหสั สินค้า กรรไกร 5 นิ้ว 25 320 อนั
OF01 คัตเตอร์ 30 150 อนั
OF02 กระดาษการด์ สี A4 85 1,000 ห่อ
OF03 กระดาษถา่ ยเอกสาร A4 100 950 รีม
PP01 ดินสอ 2B 30 800 กลอ่ ง
PP02
WR01

รูปที่ 3.19 แสดงแอตทริบิวตส์ ามญั ในรเี ลชันสินคา้

จากรูปท่ี 3.19 รีเลชันสินค้ากาหนดให้แอตทริบิวต์รหัสสินค้าเป็นกุญแจหลัก เน่ืองจาก
สนิ ค้าแต่ละชนดิ จะต้องมีรหัสสินคา้ ท่ีไม่ซ้ากัน แต่แอตทริบิวต์ช่ือสินค้า ราคาต่อหน่วย จานวนคงคลัง
และหน่วยนับ สามารถมีค่าข้อมูลซ้ากันได้ จึงไม่ได้เลือกให้เป็นกุญแจหลัก แต่เป็นแอตทริบิวต์สามัญ
ของรเี ลชัน

บทท่ี 3 แนวคดิ เกย่ี วกับการออกแบบฐานข้อมลู 83

ระบบฐานข้อมูล (DATABASE SYSTEMS)

3.5 กฎความบรู ณภาพของข้อมูล
เน่ืองจากระบบฐานข้อมูลเชิงสัมพันธ์จะประกอบด้วยหลายรีเลชันท่ีมีความสัมพันธ์กัน

ดังน้ัน เม่ือมีการจัดการกับข้อมูลในรีเลชันใดรีเลชันหนึ่ง เช่น เพิ่มข้อมูล แก้ไขหรือลบข้อมูล จะมี
ผลกระทบกับข้อมูลในอีกรีเลชันที่มีความสัมพันธ์กัน ดังนั้น เพ่ือป้องกันความผิดพลาดท่ีอาจเกิด
ขึ้นกับข้อมูลในฐานข้อมูล จึงต้องมีกฎเกณฑ์หรือเง่ือนไขบังคับที่ใช้ควบคุมความถูกต้องของข้อมูล
เรียกว่า Integrity Rules หรือ Integrity Constraints สาหรับฐานข้อมูลเชิงสัมพันธ์มี Integrity
Rules พ้นื ฐานสาหรับควบคุมความถูกตอ้ งของขอ้ มูล 3 ข้อ ดังนี้

1.) กฎความบรู ณภาพของเอนทิตี (Entity Integrity Rule)
2.) กฎความบรู ณภาพของโดเมน (Domain Integrity Rule)
3.) กฎความบูรณภาพของการอา้ งองิ (Referential Integrity Rule)

3.5.1 กฎความบูรณภาพของเอนทิตี (Entity Integrity Rule)
เป็นกฎเกณฑ์ท่ีกาหนดไว้ว่าแอตทริบิวต์ท่ีเป็นกุญแจหลักของรีเลชันจะต้องไม่เป็น

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

พนกั งาน ชือ่ พนกั งาน นามสกุล วันทเ่ี ข้าทางาน รหัสแผนกงาน
รหัสพนักงาน ดวงแกว้ ดาวฤกษ์ 27/06/2556 ACC
A01 รจนา กลา้ หาญ 12/12/2556 ACC
A03 สง่า น่าเกรงขาม 26/07/2555 PER
กรณุ า ปรานี 29/12/2555 PER

รูปท่ี 3.20 แสดงตัวอยา่ งท่ีผิดกฎความบูรณภาพของเอนทิตี

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

84 บทที่ 3 แนวคดิ เก่ียวกับการออกแบบฐานข้อมูล

ระบบฐานขอ้ มลู (DATABASE SYSTEMS)

3.5.2 กฎความบูรณภาพของโดเมน (Domain Integrity Rule)
เป็นกฎท่ีกาหนดว่าค่าท้ังหมดท่ีปรากฏอยู่ในแอตทริบิวต์ของรีเลชันจะต้องมาจาก

โดเมนเดียวกัน ซ่ึง Domain ก็คือชุดของค่าของข้อมูลท่ีกาหนดให้กับแอตทริวบิวต์ โดย Domain
Constraint นิยามของโดเมน หมายถึงส่วนประกอบดังนี้ ช่ือโดเมน ความหมาย ชนิดข้อมูล
ขนาดความกว้างของข้อมูล และการควบคุมค่าข้อมูล ซ่ึงเป็นกฎท่ีนามาใช้ควบคุมค่าข้อมูลให้อยู่
ในชว่ งทเ่ี หมาะสมและถูกต้อง

ลูกคา้ ชอ่ื ลูกคา้ เบอรโ์ ทรศัพท์
รหสั ลูกค้า รา้ นคลงั เครอ่ื งเขียน 0813368321
ร้านมาศึกษา 088-999-8899
C01 ร้านรักเรียน 086-336-8321
C02
C03

โดเมนของแอตทรบิ ิวต์ในรเี ลชนั ลูกคา้

ชอ่ื แอตทริบวิ ต์ ชนิดข้อมูล เงอื่ นไขขอ้ บังคบั

รหสั ลูกค้า Text ขนาด 3 ตวั อกั ษร, ห้ามมีค่าซ้า,หา้ มเป็นคา่ ว่าง

ช่อื ลูกคา้ Text ขนาด 30 ตวั อักษร, ห้ามเปน็ คา่ วา่ ง

เบอร์โทรศพั ท์ Text ขนาด 12 ตวั อกั ษร, รปู แบบ xxx-xxx-xxxx

รูปท่ี 3.21 แสดงตวั อย่างทีผ่ ิดกฎความบูรณภาพของโดเมน

จากรูปท่ี 3.21 รีเลชันลูกค้า ข้อมูลเบอร์โทรศัพท์ของลูกค้าร้านคลังเครื่องเขียน
กรอกข้อมูลไว้เป็น 0813368321 ซง่ึ ไม่ตรงตามรูปแบบที่กาหนดไว้ในโดเมน ซึ่งผิดกฎความบรู ณภาพ
ของโดเมนท่ีว่าค่าทั้งหมดท่ีอยู่ในฟิลด์เดียวกันของรีเลชันจะต้องอยู่ภายใต้โดเมนเดียวกันเท่านั้น คือ
เบอร์โทรศัพท์ ต้องมีชนิดข้อมูลเป็น Text ขนาด 12 ตัวอักษร และมีรูปแบบ xxx-xxx-xxxx ดังนั้น
จงึ ตอ้ งแก้ไขเบอร์โทรศัพท์ให้ถูกต้องเป็น 081-336-8321 เพ่อื ใหอ้ ยภู่ ายใตโ้ ดเมนทกี่ าหนดไว้เท่าน้ัน

บทท่ี 3 แนวคดิ เก่ยี วกบั การออกแบบฐานข้อมูล 85

ระบบฐานขอ้ มลู (DATABASE SYSTEMS)

3.5.3 กฎความบรู ณภาพของการอ้างองิ (Referential Integrity Rule)
เป็นกฎเกณฑ์ที่กาหนดว่า ค่าของข้อมูลที่เป็นกุญแจนอก (Foreign Key) จะต้องตรง

กับค่าของข้อมูลที่เป็นกุญแจหลักในรีเลชันที่มีความสัมพันธ์กัน หรือถ้าไม่มีค่าของข้อมูลที่สัมพันธ์กัน
แอตทริบิวต์ท่ีเป็นกุญแจนอกน้ันจะต้องมีค่าเป็นค่าว่าง พิจาณาตัวอย่างท่ีผิดกฎความบูรณภาพของ
การอ้างองิ ดังต่อไปน้ี

รปู ท่ี 3.22 แสดงตัวอยา่ งทผี่ ิดกฎความบูรณภาพของการอ้างอิง
จากรูปที่ 3.22 รีเลชันแผนกงานมีกุญแจหลัก คือ รหัสแผนกงาน และรีเลชันพนักงานมี
รหัสแผนกงานซึ่งเป็นกุญแจนอก เพื่อใช้แสดงความสัมพันธ์ไปยังรีเลชันแผนกงาน แต่จากข้อมูลของ
พนักงานชื่อสง่า และกรุณา มีการอ้างองิ รหัสแผนกงาน PER ซึ่งไม่ปรากฏค่าของข้อมูลในรีเลชันแผนกงาน
ทาให้ผิดกฎความบูรณภาพของการอ้างอิง ซ่ึงการแก้ไขหรือลบกุญแจหลักในรีเลชันหน่ึง จะมี
ผลกระทบถึงกุญแจนอกในอีกรีเลชันหน่ึง ดังนั้น เพื่อให้คงความถูกต้องของกฎความบูรณภาพของ
การอ้างอิงจึงกาหนดวิธีการจดั การไว้ 4 วธิ กี าร ดงั น้ี

86 บทท่ี 3 แนวคิดเก่ียวกบั การออกแบบฐานข้อมูล

ระบบฐานข้อมลู (DATABASE SYSTEMS)

1.) การกระทาแบบมขี อ้ จากัด (Restricted)
เป็นกฎท่ไี ม่อนุญาตให้มกี ารแกไ้ ขข้อมูลที่เป็นกุญแจหลักโดยเด็ดขาด ถ้าค่าข้อมูล

ท่ีเป็นกุญแจหลกั นั้น มีการอ้างอิงหรือใช้งานจากรีเลชันอื่นอยู่ ตัวอย่างเชน่ จากรูปที่ 3.23 ถ้าทาการ
ลบหรือเปลี่ยนแปลงค่าในแอตทริบิวต์รหัสแผนกงานของรีเลชันแผนกงาน จะถูกปฏิ เสธ
การกระทาดังกล่าว เนื่องจากแอตทริบิวต์รหัสแผนกงานน้ีเป็นกุญแจหลัก และถูกอ้างอิงไปใช้กับ
รเี ลชนั พนักงาน

รูปที่ 3.23 แสดงการแก้ไขข้อมูลแบบมีข้อจากัด

บทท่ี 3 แนวคดิ เกย่ี วกับการออกแบบฐานข้อมลู 87

ระบบฐานข้อมูล (DATABASE SYSTEMS)

2.) การใสค่ ่าวา่ ง (Nullify)
เป็นกฎท่ีอนุญาตให้ใส่ข้อมูลที่เป็นค่าว่างลงในแอตตริบิวต์ที่เป็นกุญแจนอกของ

รีเลชันได้ ท่ีมีการอ้างอิงค่าของข้อมูลท่ีเป็นกุญแจหลักที่ต้องการแก้ไข ซ่ึงข้อกาหนดนี้จะข้ึนอยู่กับ
ความต้องการของหน่วยงานนั้น ๆ ว่าต้องการให้ข้อมูลของกุญแจนอกน้ันเป็นค่าว่างได้หรือไม่ เช่น
จากรูปท่ี 3.24 ถ้าทาการลบทัปเพิลในรีเลชันแผนกงานท่ีมีค่าของแอตทริบิวต์เท่ากับ PER ออกไป
ดงั น้ันในรีเลชันพนกั งาน จะตอ้ งมีการใส่ค่าว่างในแอตทริบิวต์รหัสแผนกงานของทัปเพิลพนักงานท่ีช่ือ
สง่าและกรณุ า

รูปที่ 3.24 แสดงการลบขอ้ มูลแบบใสค่ ่าวา่ ง

88 บทท่ี 3 แนวคิดเกี่ยวกบั การออกแบบฐานข้อมลู

ระบบฐานข้อมลู (DATABASE SYSTEMS)

3.) การกระทาต่อเนอ่ื ง (Cascade)
เป็นกฎที่อนุญาตให้มีการแก้ไขข้อมูลที่เป็นกุญแจหลักได้ แต่จะทาการแก้ไข

ค่าของข้อมูลกุญแจนอกในรีเลชันท่ีมีอ้างอิงถึงโดยอัตโนมัติ จากรูปท่ี 3.25 ถ้ามีการแก้ไขข้อมูลใน
แอตทริบิวต์รหัสแผนกงานในรีเลชันแผนกงานจาก PER เป็น HR แล้ว ในรีเลชันพนักงานก็จะต้องมี
การแก้ไขข้อมลู ของพนกั งานที่ชื่อสง่าและกรณุ า ในแอตทริบิวต์รหัสแผนกงานแก้ไขจาก PER เป็น HR
ตามไปดว้ ย

รปู ที่ 3.25 แสดงการแก้ไขข้อมูลแบบกระทาต่อเนื่อง
4.) การใส่ค่าโดยปริยาย (Default)

เป็นกฎที่อนุญาตให้มีการแก้ไขข้อมูลที่เป็นกุญแจหลักได้ แต่จะทาการแก้ไข
ค่าของขอ้ มูลกญุ แจนอกในรีเลชนั ทม่ี ีอ้างองิ ถึงเปน็ ค่าปริยาย (Default Value) โดยอตั โนมัติ
3.6 กฎเกณฑท์ างธรุ กจิ (Business Rule)

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

บทท่ี 3 แนวคดิ เก่ยี วกบั การออกแบบฐานข้อมูล 89

ระบบฐานข้อมูล (DATABASE SYSTEMS)

3.7 การนาเสนอโครงรา่ งฐานข้อมูลเชงิ สัมพันธ์
โครงร่างฐานข้อมูลเชิงสัมพันธ์ (Relational Schema) จะนาเสนอโดยใช้สัญลักษณ์

R(A1, A2, ...An) ประกอบด้วย R คือชื่อรีเลชัน และตามด้วย A คือชื่อของแอตทริบิวต์ในรีเลชันนั้น
ซง่ึ จะเขียนไว้ในเคร่ืองหมายวงเล็บ ( ) ค่ันแต่ละแอตทริบวิ ต์ด้วยเครอ่ื งหมายจุลภาค ( , ) และขดี เส้นใต้
แอตทรบิ วิ ต์ที่เป็นกญุ แจหลกั ดงั ตัวอย่างตอ่ ไปน้ี

CUSTOMER (CusID, CusName, CusLName, CusAdd)
PRODUCT (ProID, ProName, Model, UnitP)
SALEORDER (OrdNo, OrdDate, CusID, ProID)
โครงร่างฐานข้อมูลเชิงสัมพันธ์ จะแสดงให้เห็นเฉพาะชื่อของแอตทริบิวต์ที่มีในแต่ละรีเลชัน
แต่หากต้องการเหน็ ค่าข้อมูลในแต่ละแอตทริบิวต์ จะตอ้ งนาเสนอในรูปแบบของตาราง

3.8 มมุ องหรือววิ ในฐานข้อมลู เชงิ สัมพันธ์
ในสถาปัตยกรรมฐานข้อมูล 3 ระดับ ได้กล่าวถึง สถาปัตยกรรมระดับภายนอก (External

Level) เป็นมุมมองที่เก่ียวข้องกับผู้ใช้งาน ซ่ึงผู้ใช้แต่ละคนสามารถเห็นข้อมูลในฐานข้อมูลแตกต่างกันได้
ซ่ึงหมายถึงวิว (View) คือรีเลชันเสมือนที่ไม่มีข้อมูลอยู่ภายในจริง ๆ ถูกสร้างขึ้นมาเพื่อแสดงข้อมูลที่
ผู้ใช้งานร้องขอ ณ ขณะใดขณะหนึ่ง โดยข้อมูลที่นามาแสดงผลต่อผู้ใช้งานน้ัน อ้างอิงมาจากรีเลชันหลัก
(Base Relation) ซึง่ เป็นรีเลชันทมี่ ีข้อมูลอยู่จรงิ ในหน่วยความจา ดังนั้น รีเลชันที่เป็นววิ จึงเก็บไว้เพียง
ชดุ คาสั่งท่ใี ช้ในการร้องขอขอ้ มูลจากผู้ใชง้ านเทา่ น้นั ชดุ คาสงั่ ดงั กลา่ วคือ Query

การร้องขอข้อมูลของผู้ใช้งานจะถูกรวมไว้เป็นชุดคาสั่ง Query ซึ่งใน 1 Query อาจประกอบ
ไปด้วยการดาเนินการกับข้อมูลเพียงคาสั่งเดียวหรือหลายคาส่ัง เม่ือระบบได้รับชุดคาสั่ง Query
ระบบจะเข้าไปอ้างอิงข้อมูลจากรีเลชันหลักมาสร้างเป็นวิว เพ่ือแสดงผลต่อผู้ใช้งาน ตัวอย่างการ
ดาเนินการ เช่น เรียกดูข้อมูล (Select) การจากัดข้อมูลในการแสดงผล (Projection) หรือการรวม
(Join) ข้อมลู ในรเี ลชนั หลกั เป็นต้น

รูปท่ี 3.26 แสดงตัวอยา่ งววิ สาหรับผู้ใชง้ านแต่ละกลุ่ม
ปรบั ปรุง : พนิดา พานชิ กุล, ณฐั พงษ์ วารปี ระเสรฐิ , 2552 , น. 43

90 บทที่ 3 แนวคิดเกีย่ วกบั การออกแบบฐานข้อมูล

ระบบฐานข้อมูล (DATABASE SYSTEMS)

จากรูปที่ 3.26 เป็นการแสดงข้อมูลในมุมมองท่ีต่างกัน (View) ตามความต้องการของผู้ใช้งาน
2 กลุ่ม คือ แผนกบุคลากรและแผนกขาย โดยแผนกบุคลากรต้องการทราบวันที่เริ่มทางานของ
พนักงานแต่ละคนพร้อมกับเงินเดือน เพ่ือพิจารณาการปรับอัตราเงินเดือน แต่แผนกขายต้องการ
ทราบว่าพนักงานขายแต่ละคนขายสินค้าในเขตพื้นที่ไหนบ้าง และมีผู้จัดการเขตการขายคือใคร ท้ังน้ี
เพ่ือนาไปพิจารณาขยายเขตพ้ืนที่การขายสินค้าท่ีจะดาเนินการในอนาคต จะเห็นว่าแต่ละวิวสร้างขึ้น
จากรีเลชันหลักที่อยู่ในหน่วยความจา โดยอาจทาได้โดยการเขียนชุดคาสั่ง SQL เรียกข้อมูลจาก
รีเลชนั หลกั เพื่อแสดงผลต่อผู้ใชง้ าน

วัตถุประสงค์ในการสร้างวิว เพอื่ เป็นการป้องกันความปลอดภยั ให้กับขอ้ มูลในระบบฐานข้อมูล
สาหรบั ผู้ไมม่ ีสิทธิเ์ ขา้ ใช้งานจะสามารถมองเหน็ ข้อมูลได้เฉพาะบางส่วนของฐานข้อมูลเท่านั้น

3.9 กฎ 12 ข้อสาหรบั ฐานขอ้ มูลเชงิ สมั พนั ธ์ของคอดด์
E.F.Codd (Edgar Frank Codd) หนึ่งในทีมงานผู้คิดค้นแบบจาลองฐานข้อมูลเชิงสัมพันธ์

ได้เผยแพร่ผลงานเก่ยี วกับกฎ 12 ข้อที่กาหนดไว้สาหรับผลิตภัณฑ์ระบบจัดการฐานข้อมูลเชิงสัมพันธ์
(RDBMS) โดยมีจุดประสงค์เพ่ือให้ผู้ผลิตรายต่าง ๆ สามารถนากฎเหล่าน้ีไปอ้างอิง เพ่ือสร้างเป็น
ชุดผลิตภัณฑ์ซอฟท์แวร์จัดการฐานข้อมูลให้ตรงตามมาตรฐานขั้นต่า ซ่ึงประกอบด้วยรายละเอียด
ดงั ต่อไปนี้

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

ที่ชัดเจนในมุมมองระดับตรรกะ โดยต้องจัดเก็บค่าของข้อมูลในรูปของตารางที่ประกอบไปด้วย
คอลัมน์ และแถวเทา่ นั้น

2.) กฎของการรับประกันการเข้าถงึ ข้อมลู (Guaranteed Access Rule)
เป็นกฎที่ว่าด้วย ข้อมูลทุก ๆ ค่าในตารางฐานข้อมูลจะต้องถูกเข้าถึงได้ในระดับตรรกะ

โดยการระบชุ อื่ ตาราง ค่าของกุญแจหลกั และชื่อคอลัมน์
3.) กฎของค่า Null (Systematic Treatment of Null Values)
เป็นกฎท่ีว่าด้วย ค่า Null ที่นาไปใช้กับข้อมูลบางค่าที่ละไว้เป็นช่องว่าง แต่ไม่ใช่ค่าว่าง

และไม่ใช่ค่าที่เป็น 0 แต่ค่า Null ถูกใช้เพื่อแสดงว่าข้อมูลในตารางท่ียังไมพ่ ร้อมหรือยังไม่มีค่า จะต้อง
ถกู ปฏบิ ัตอิ ยา่ งมีแบบแผน และตอ้ งเปน็ อิสระจากชนดิ ข้อมลู (Data Type)

4.) กฎของการเรียกดูข้อมูล (Dynamic On-line Catalog Based on the Relational
Model)

เป็นกฎท่ีว่าด้วย ข้อมูลที่นามาอธิบายข้อมูล (Metadata) จะต้องมีการจัดเก็บและ
ถกู จดั การอย่างเหมาะสม และถือวา่ เป็นข้อมูลพ้ืนฐานท่ีควรมอี ยู่แล้วในตารางฐานข้อมูล และผ้ใู ชง้ าน
ที่ต้องการเข้าถึงข้อมูลจะต้องเป็นผู้ท่ีได้รับอนุญาต ผ่านการเข้าถึงด้วยภาษามาตรฐานที่ใช้กับ
ฐานขอ้ มลู เชงิ สมั พนั ธ์

บทที่ 3 แนวคิดเกีย่ วกับการออกแบบฐานข้อมูล 91

ระบบฐานขอ้ มลู (DATABASE SYSTEMS)

5.) กฎของภาษา (Comprehensive Data Sublanguage Rule)
เป็นกฎท่ีว่าด้วย ระบบฐานข้อมูลเชิงสัมพันธ์จะต้องรองรับภาษาได้หลายภาษา

จากเครื่องของผู้ใช้งานแต่ส่ิงท่ีสาคัญก็คือ จะต้องสนับสนุนภาษาแบบ Nonprocedural ที่สามารถ
นาไปใช้เพ่ือนิยามข้อมูล (Data Definition) ดาเนินการกับข้อมูล (Data Manipulation) กาหนด
เงื่อนไขความสัมพันธ์ (Integrity Constraint) และกาหนดขอบเขตของ Transaction (Transaction
Boundary) ไดท้ ง้ั แบบอนิ เตอรแ์ อกทฟี หรือผ่านโปรแกรม

6.) กฎของการอพั เดทวิว (View Updating Rule)
เป็นกฎท่ีว่าด้วย วิวที่ถูกปรับปรุงด้วยคาส่ังท่ีถูกต้องจะถูกปรับปรุงโดยระบบ กล่าวคือ

การปรับปรุงขอ้ มูลโดยผูใ้ ช้งานจะทาไดโ้ ดยผ่านววิ เท่าน้ัน
7.) กฎของการเพ่มิ ปรับปรงุ และลบข้อมูล (High-level Insert, Update and Delete)
เป็นกฎที่ว่าด้วย ระบบฐานข้อมูลจะต้องสนับสนุนชุดคาสั่งระดับสูงสาหรับการเพ่ิม

การลบ หรอื แก้ไขขอ้ มลู
8.) กฎความเปน็ อิสระของข้อมูลภายในระดับกายภาพ (Physical Data Independence)
เป็นกฎท่ีว่าด้วย โปรแกรมประยุกต์และเคร่ืองมืออานวยความสะดวกต่าง ๆ ที่นามาใช้

จัดการฐานข้อมูลในระดับตรรกะ จะไม่ได้รับผลกระทบใด ๆ เม่ือวิธีการเข้าถึงข้อมูลทางกายภาพหรือ
โครงสรา้ งการจดั เก็บข้อมูลถูกเปลย่ี นแปลง

9.) กฎความเปน็ อิสระของข้อมลู ในระดบั ตรรกะ (Logical Data Independence)
เป็นกฎท่ีว่าด้วย โปรแกรมประยุกต์และเคร่ืองมืออานวยความสะดวกต่าง ๆ ที่นามาใช้

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

10.) กฎความบูรณภาพ (Integrity Independence)
เป็นกฎท่ีว่าด้วย ข้อบังคับเกี่ยวกับกฎความบูรณภาพ (Integrity Constraints) ในทุก

รเี ลชัน จะต้องถูกกาหนดขึ้นด้วยภาษาเชิงสัมพันธ์และถูกจัดเก็บอยู่ในแคตาล็อกของระบบ ซึ่งมิใช่ถูก
กาหนดข้ึนจากระดับประยุกต์ (Application Level)

11.) กฎความเป็นอสิ ระของการกระจาย (Distribution Independence)
เป็นกฎท่ีว่าด้วย ผู้ใช้งานและโปรแกรมประยุกต์จะไม่ทราบเลยว่าฐานข้อมูลมีการจัดเก็บ

แบบกระจายไปยังพ้ืนทต่ี ่าง ๆ ผ่านระบบเครือขา่ ย รวมท้ังไม่ไดร้ ับผลกระทบใด ๆ ทั้งส้ินจากตาแหน่ง
ทตี่ ัง้ ของขอ้ มูล

12.) กฎการไม่ยอมให้มภี าษาอนื่ มาทาลาย (Nonsubversion Rule)
เป็นกฎท่ีว่าด้วย จะต้องไม่มีภาษาระดับต่าหรือภาษาเคร่ืองใดท่ีสามารถเปลี่ยนแปลง

กฎความบรู ณภาพหรือเง่ือนไขความสมั พนั ธท์ ่ีกาหนดไว้ฐานข้อมลู ได้

92 บทที่ 3 แนวคดิ เกีย่ วกับการออกแบบฐานข้อมลู

ระบบฐานขอ้ มูล (DATABASE SYSTEMS)

สรปุ ทา้ ยบท

กระบวนการออกแบบฐานข้อมูลเป็นการกาหนดโครงร่างของฐานข้อมูลก่อนท่ีจะนาไปใช้
จัดเก็บข้อมูลจริง แบ่งออกเป็น 3 ขั้นตอน ได้แก่ การจาลองข้อมูลเชิงแนวคิด (Conceptual Data
Modeling) การจาลองข้อมูลเชิงตรรกะ (Logical Data Modeling) และการจาลองข้อมูลเชิง
กายภาพ (Physical Data Modeling)

คาศัพท์พื้นฐานท่ีใช้ในการออกแบบฐานข้อมูล ได้แก่ รีเลชัน แอตทริบิวต์ ทัปเพิล ดีกรี โดเมน
คาร์ดนิ ัลลิตี้ และค่าวา่ ง

ความสัมพันธ์ของข้อมูลระหว่างรีเลชัน แบ่งได้ 3 ประเภท คือ ความสัมพันธ์แบบหนึ่งต่อหนึ่ง
(1 : 1) ความสมั พันธ์แบบหน่ึงต่อกลุ่ม (1 : M) และความสมั พันธ์แบบกลมุ่ ต่อกลุ่ม (M : N)

นอกจากน้ันในระบบฐานข้อมูลเชิงสัมพันธ์จะมีการกาหนดแอตทริบิวต์ท่ีช่วยให้ขอ้ มูลในแต่ละ
ทัปเพิลมีความแตกต่างกัน เรียกว่ากุญแจหลัก (Primary Key) และแอตทริบิวต์ท่ีทาหน้าท่ีเชื่อมโยง
ความสมั พนั ธ์ระหวา่ งรีเลชันเรียกวา่ กญุ แจนอก (Foreign Key)

กฎเกณฑท์ ีใ่ ช้ควบคุมความถกู ตอ้ งของขอ้ มลู เรียกวา่ Integrity Rules มดี ังนี้
1.) กฎความบูรณภาพของเอนทติ ี (Entity Integrity Rule)
2.) กฎความบูรณภาพของโดเมน (Domain Integrity Rule)
3.) กฎความบรู ณภาพของการอา้ งอิง (Referential Integrity Rule)
ในการนาเสนอโครงร่างฐานข้อมูลเชิงสัมพันธ์ จะเขียนในรูปแบบของเซตทางคณิตศาสตร์ ซึ่ง
ขึ้นต้นด้วยช่ือรีเลชัน ตามด้วยชื่อของแอตทริบิวต์ที่อยู่ในเครื่องหมายวงเล็บ ( ) ค่ันแต่ละแอตทริบิวต์
ด้วยเคร่อื งหมายคอมม่า ( , ) และขดี เส้นใตแ้ อตทรบิ วิ ตท์ ่เี ป็นกุญแจหลกั
มุมมองหรือวิวในฐานข้อมูลเชิงสัมพันธ์ คือ รีเลชันเสมือนท่ีไมม่ ีการจัดเก็บอยู่จริงในฐานข้อมูล
แต่ถูกสร้างขึ้นมาเมื่อผู้ใช้ต้องการแสดงข้อมูลจากหลายรีเลชันท่ีมีความสัมพันธ์กันหรือต้องการ
คานวณค่าจากขอ้ มูลท่ีจดั เก็บอยูใ่ นฐานข้อมลู จรงิ
กฎ 12 ข้อสาหรับฐานข้อมูลเชิงสัมพันธ์ของคอดด์ กาหนดไว้สาหรับผู้ผลิตใช้เป็นมาตรฐานข้ัน
ตา่ ในการสร้างชดุ ผลิตภัณฑร์ ะบบจดั การฐานขอ้ มูลเชิงสัมพันธ์ (RDBMS)

บทท่ี 3 แนวคดิ เกี่ยวกับการออกแบบฐานข้อมลู 93

ระบบฐานข้อมูล (DATABASE SYSTEMS)

แบบประเมินผลการเรยี นรู้

บทท่ี 3 แนวคดิ เกีย่ วกบั การออกแบบฐานข้อมูล

จงตอบคาถามต่อไปนี้
1. ผลลัพธ์ทไ่ี ด้จากการออกแบบจาลองขอ้ มลู เชงิ แนวคดิ คือ
2. อธบิ ายขนั้ ตอนในการออกจาลองข้อมลู เชงิ ตรรกะ
3. การออกแบบจาลองข้อมูลเชงิ กายภาพเกย่ี วขอ้ งกบั การออกแบบจาลองขอ้ มลู ในเร่อื งใด
4. รเี ลชัน (Relations) หมายถึงอะไร อธบิ ายพรอ้ มยกตัวอย่าง
5. แอตทรบิ วิ ต์ (Attribute) หมายถึงอะไร อธบิ ายพร้อมยกตวั อย่าง
6. ทปั เพิล (Tuple) หมายถงึ อะไร อธิบายพร้อมยกตัวอยา่ ง
7. ดกี รี (Degree) หมายถงึ อะไร
8. คาร์ดินัลลติ ้ี (Cardinality) หมายถงึ อะไร
9. โดเมน (Domain) หมายถงึ อะไร อธบิ ายพรอ้ มยกตวั อยา่ ง
10. คา่ ว่าง (Null) หมายถงึ อะไร อธบิ ายพร้อมยกตัวอยา่ ง
11. จงยกตัวอยา่ งความสัมพนั ธแ์ บบหนงึ่ ตอ่ หน่ึง (1 : 1) พร้อมคาอธิบาย
12. จงยกตัวอย่างความสมั พนั ธ์แบบหนึ่งต่อกลุ่ม (1 : M) พร้อมคาอธิบาย
13. จงยกตัวอยา่ งความสมั พันธแ์ บบกลุ่มต่อกลมุ่ (M : M) พร้อมคาอธิบาย
14. จงบอกลักษณะของซูเปอรค์ ยี ์ (Super Key)
15. จงบอกลักษณะของกญุ แจให้เลอื ก (Candidate Key)
16. จงอธบิ ายคณุ สมบัตขิ องกุญแจหลกั (Primary Key) พร้อมยกตัวอยา่ ง
17. จงบอกลักษณะของกุญแจสารอง (Alternate Key)
18. จงอธบิ ายลกั ษณะของกญุ แจประกอบ (Composite Key) พร้อมยกตวั อยา่ ง
19. จงอธบิ ายคณุ สมบัตขิ องกุญแจนอก (Foreign Key) พรอ้ มยกตัวอยา่ ง
20. จงอธบิ ายลักษณะของแอตทริบิวต์สามัญ (Nonkey Attribute) พรอ้ มยกตัวอยา่ ง
21. จงอธบิ ายกฎความบูรณภาพของเอนทติ ี (Entity Integrity Rule) พร้อมยกตวั อย่างประกอบ
22. จงอธิบายกฎความบูรณภาพของโดเมน (Domain Integrity Rule) พร้อมยกตวั อย่างประกอบ
23. จงอธิบายกฎความบูรณภาพของการอา้ งอิง (Referential Integrity Rule) พร้อมยกตัวอยา่ ง

ประกอบ
24. โครงร่างของฐานขอ้ มูลเชงิ สัมพนั ธ์นาเสนอในลักษณะใด
25. มมุ มองหรือวิวในระบบฐานข้อมลู มลี กั ษณะอย่างไร
26. กฎ 12 ข้อ สาหรับฐานขอ้ มลู เชงิ สมั พนั ธข์ องคอดด์มอี ะไรบา้ ง

94 บทที่ 3 แนวคดิ เกย่ี วกับการออกแบบฐานข้อมูล

ระบบฐานขอ้ มูล (DATABASE SYSTEMS)

ใบงาน
บทท่ี 3 แนวคดิ เกีย่ วกบั การออกแบบฐานข้อมูล

จงปฏิบัติตามคาสั่งตอ่ ไปนี้
1. จากรเี ลชนั ต่อไปน้ี จงตอบคาถาม

STUDENT StdName Address IDcard MajorCode
StdID สมชาย ไม้ดี 12 ต.วัดไทร อ.เมอื ง นครสวรรค์ 1234567890123 GMG
ยืนยง ใช่ยนื ยาว 486 ต.อา่ งแก้ว อ.โพธิท์ อง อา่ งทอง 4567890123456 ACC
62329010 สุดา ดาวเดน่ 405 ต.หนองฉาง อ.หนองฉาง อทุ ยั ธานี 7894561230321 MKT
62329012
62329018

MAJOR MajorName
MajorCode การตลาด
การบญั ชี
MKT การจัดการ
ACC
GMG

ให้พิจารณาข้อมูลในรีเลชัน STUDENT และ MAJOR เพื่อหาค่าของกุญแจ (Key) ดังต่อไปน้ี
พรอ้ มท้ังให้เหตุผลประกอบ

1.) ซูเปอรค์ ีย์ (Super Key)
2.) กญุ แจใหเ้ ลือก (Candidate Key)
3.) กุญแจหลกั (Primary Key)
4.) กุญแจสารอง (Alternate Key)
5.) กญุ แจนอก (Foreign Key)
………………….…………………………………………………………………………………………………………………………
………………….…………………………………………………………………………………………………………………………
………………….…………………………………………………………………………………………………………………………
………………….…………………………………………………………………………………………………………………………
………………….…………………………………………………………………………………………………………………………
………………….…………………………………………………………………………………………………………………………
………………….…………………………………………………………………………………………………………………………
………………….…………………………………………………………………………………………………………………………
………………….…………………………………………………………………………………………………………………………
………………….…………………………………………………………………………………………………………………………
………………….…………………………………………………………………………………………………………………………
………………….…………………………………………………………………………………………………………………………

บทท่ี 3 แนวคดิ เกีย่ วกับการออกแบบฐานข้อมลู 95

ระบบฐานข้อมลู (DATABASE SYSTEMS)

ใบงาน
บทที่ 3 แนวคิดเกี่ยวกับการออกแบบฐานขอ้ มลู

จงปฏบิ ตั ิตามคาส่งั ต่อไปน้ี
2. จากรีเลชนั ต่อไปน้ี จงตอบคาถาม

DIRECTOR DIR_NAME DIR_DOB
DIR_CODE นนทรยี ์ นิมบิ ตุ ร 18/12/2505
100 ธนติ ย์ จิตนุกลู 24/11/2499
101 บรรจง ปสิ ัญธนะกูล 11/09/2522
102 ทรงยศ สุขมากอนันต์ 20/08/2516
101
DIR_ CODE
MOVIE MOVIE_NAME 100
MOVIE_CODE นางนาก 102
1001 พม่ี ากพระโขนง 101
1002 บางระจัน 103
1003 วัยรุ่นพันล้าน 101
1004 บางระจนั 100
1005 จนั ดารา 122
1006 กวน มึน โฮ
1007

จากรีเลชนั ข้างตน้ สามารถอธิบายแอตทริบวิ ต์ตา่ ง ๆ ไดด้ ังน้ี

ช่อื แอตทริบวิ ต์ คาอธบิ ายแอตทริบิวต์

DIR_CODE รหัสผู้กากับ

DIR_NAME ช่อื ผกู้ ากบั

DIR_DOB วนั เกิดผูก้ ากับ

MOVIE_CODE รหสั ภาพยนตร์

MOVIE_NAME ชอื่ ภาพยนตร์

1.) กาหนดกุญแจหลัก (Primary Key) และกญุ แจนอก (Foreign Key) ของแตล่ ะรเี ลชนั
2.) ตรวจสอบว่าการเก็บข้อมูลในแต่ละรีเลชัน สอดคล้องกับกฎความบูรณภาพของเอนทิตี

(Entity Integrity Rule) และกฎความบูรณภาพของการอ้างอิง (Referential Integrity
Rule) หรือไม่ พร้อมทงั้ ใหเ้ หตุผลประกอบ
………………….…………………………………………………………………………………………………………………………
………………….…………………………………………………………………………………………………………………………
………………….…………………………………………………………………………………………………………………………
………………….…………………………………………………………………………………………………………………………
………………….…………………………………………………………………………………………………………………………

96 บทท่ี 3 แนวคิดเกี่ยวกับการออกแบบฐานข้อมลู

ระบบฐานขอ้ มูล (DATABASE SYSTEMS)

ใบงาน
บทที่ 3 แนวคดิ เกี่ยวกับการออกแบบฐานข้อมูล

จงปฏบิ ตั ติ ามคาสงั่ ตอ่ ไปนี้
3. จากรเี ลชนั ต่อไปน้ี จงตอบคาถาม

สาขา ชือ่ สาขา นักศึกษา ชื่อนกั ศกึ ษา รหัสสาขา
รหสั สาขา ระบบสารสนเทศ รหสั นักศึกษา กนกวรรณ BIT
BIT การบัญชี STD001 ปิยะภทั ร ACC
ACC การตลาด STD002 กนกวรรณ BIT
MKT STD003 จิตติมา ACC
STD004

1.) กาหนดกญุ แจหลกั (Primary Key) และกญุ แจนอก (Foreign Key) ของแตล่ ะรีเลชนั
2.) พิจารณาว่าทั้ง 2 รีเลชัน จัดเก็บข้อมูลถูกต้องตามกฎความบูรณภาพของการอ้างอิง

(Referential Integrity Rule) หรอื ไม่ จงอธบิ าย
3.) หากต้องการแก้ไขรหัสสาขาในรีเลชันสาขาจาก BIT เป็น IST จงอธิบายวิธีการจัดการ

กับกุญแจนอก (Foreign Key) ในรีเลชันนักศึกษา เพ่ือให้ข้อมูลถูกต้องตามกฎความ
บรู ณภาพของการอ้างองิ ทง้ั 4 วิธี
3.1) การกระทาแบบมีข้อจากัด (Restricted)
3.2) การใส่คา่ วา่ ง (Nullify)
3.3) การกระทาตอ่ เนอื่ ง (Cascades)
3.4) การใสค่ า่ โดยปรยิ าย (Default)
………………….…………………………………………………………………………………………………………………………
………………….…………………………………………………………………………………………………………………………
………………….…………………………………………………………………………………………………………………………
………………….…………………………………………………………………………………………………………………………
………………….…………………………………………………………………………………………………………………………
………………….…………………………………………………………………………………………………………………………
………………….…………………………………………………………………………………………………………………………
………………….…………………………………………………………………………………………………………………………
………………….…………………………………………………………………………………………………………………………
………………….…………………………………………………………………………………………………………………………
………………….…………………………………………………………………………………………………………………………
………………….…………………………………………………………………………………………………………………………

บทที่ 3 แนวคิดเกี่ยวกบั การออกแบบฐานข้อมูล 97

ระบบฐานข้อมลู (DATABASE SYSTEMS)

ใบงาน

บทท่ี 3 แนวคิดเก่ยี วกับการออกแบบฐานข้อมลู

จงปฏบิ ตั ติ ามคาส่ังต่อไปน้ี
4. จากโครงร่างฐานขอ้ มูลเชงิ สัมพนั ธ์ระบบหอพักนกั ศึกษา จงตอบคาถาม

อาจารย์ (รหสั อาจารย,์ ชอื่ อาจารย)์
หอพกั (หมายเลขหอพัก,ประเภทหอ,จานวนห้อง,รหัสอาจารย์)
หอ้ งพกั (หมายเลขห้องพัก,จานวนเตยี ง,อัตราคา่ ห้อง,หมายเลขหอพัก)
นกั ศกึ ษา (รหัสนักศึกษา,ช่อื นักศึกษา,เพศ)
การพกั (ปกี ารศึกษา,ภาคการศกึ ษา,รหัสนกั ศึกษา,หมายเลขห้องพัก)

ข้อกาหนดการเข้าพักของนักศกึ ษา (Business rule) มดี งั น้ี
1.) นักศึกษาแต่ละคนสามารถเข้าพักในหอพักได้คร้ังละหนึ่งภาคการศึกษา เม่ือขึ้นภาค

การศกึ ษาใหม่จะต้องย่ืนคาร้องขอเขา้ พักใหม่ทุกคร้งั
2.) นักศึกษาหนึง่ คน สามารถเข้าพกั ในหอพักไดเ้ พียงหนง่ึ หอ้ ง ต่อ หนึ่งภาคการศึกษา
3.) แตล่ ะห้องพักสามารถมนี กั ศึกษาเข้าพกั ไดไ้ ม่เกนิ จานวนเตยี งของห้อง

ให้พิจารณาโครงร่างฐานข้อมูลเชิงสัมพันธ์ข้างต้น เพื่อหาค่าของกุญแจ (Key) ดังต่อไปน้ี พร้อมท้ัง
ให้เหตผุ ลประกอบ

1.) กุญแจหลัก (Primary Key)
2.) กุญแจนอก (Foreign Key)
3.) กุญแจประกอบ (Composite Key)
………………….…………………………………………………………………………………………………………………………
………………….…………………………………………………………………………………………………………………………
………………….…………………………………………………………………………………………………………………………
………………….…………………………………………………………………………………………………………………………
………………….…………………………………………………………………………………………………………………………
………………….…………………………………………………………………………………………………………………………
………………….…………………………………………………………………………………………………………………………
………………….…………………………………………………………………………………………………………………………
………………….…………………………………………………………………………………………………………………………
………………….…………………………………………………………………………………………………………………………

98 บทที่ 3 แนวคดิ เกีย่ วกับการออกแบบฐานข้อมูล

ระบบฐานข้อมูล (DATABASE SYSTEMS)

ใบงาน
บทที่ 3 แนวคดิ เกีย่ วกับการออกแบบฐานข้อมลู

จงปฏบิ ตั ิตามคาสงั่ ต่อไปน้ี
5. จากระบบฐานข้อมลู ระบบค่าแรงคนงานกอ่ สรา้ งด้านขนส่ง จงตอบคาถาม

ความชานาญ ประเภทความชานาญ อัตราโบนสั จานวนชั่วโมงขน้ั ต่า
รหัสความชานาญ ดิน 3.0 45
SOI โลหะ 3.5 40
MET คอนกรีต 2.5 50
CON

คนงาน ช่อื คนงาน อัตราค่าแรงตอ่ ชว่ั โมง รหสั ความชานาญ รหัสผคู้ วบคุม
รหัสคนงาน ขนุ ไกร หม่ืนทพิ ย์ 300 MET 202
201 จเด็จ ทองคา 300 CON 302
301 ม่นั คง รุ่งเรอื ง 350 MET
202 โชคดี ม่งิ ขวญั 200 SOI
101 คมั ภีร์ ปกป้อง 350 CON
302

สถานที่กอ่ สรา้ ง ท่ีอยสู่ ถานท่ี ประเภทสถานที่
รหสั สถานท่ี ถ.มิตรภาพ ต.ในเมือง อ.เมือง นครราชสมี า ถนน
516 ต.แกง่ คอย อ.แกง่ คอย สระบุรี ทางรถไฟ
311 ต.บางโฉลง อ.บางพลี สมุทรปราการ สนามบนิ
450 ถ.พหลโยธิน แขวงจอมพล เขตจตจุ ักร กรุงเทพมหานคร ถนน
431 ถ.สุขุมวทิ ต.ท่าประดู่ อ.เมือง ระยอง ท่าเทยี บเรือ
211

การทางาน รหัสสถานที่ วันท่ีเร่มิ ทางาน จานวนช่ัวโมงทที่ างาน
รหัสคนงาน 516 01/01/2559 50
201 516 01/01/2559 56
301 311 08/01/2559 40
201 450 15/01/2559 45
301 431 23/01/2559 36
301 311 01/02/2559 20
202 431 10/01/2559 53
101

ใหเ้ ขยี นกฎเกณฑ์ทางธุรกจิ (Business Rule) เพ่ืออธิบายความสัมพนั ธ์ระหวา่ งรีเลชันตอ่ ไปน้ี
1.) ความชานาญ กบั คนงาน
2.) คนงาน กับ สถานทก่ี ่อสรา้ ง
3.) คนงาน กบั การทางาน
4.) สถานที่ก่อสรา้ ง กบั การทางาน

………………….…………………………………………………………………………………………………………………………
………………….…………………………………………………………………………………………………………………………
………………….…………………………………………………………………………………………………………………………
………………….…………………………………………………………………………………………………………………………

บทท่ี 3 แนวคิดเกี่ยวกบั การออกแบบฐานข้อมูล 99

ระบบฐานขอ้ มูล (DATABASE SYSTEMS)

ใบงาน

บทที่ 3 แนวคดิ เกี่ยวกบั การออกแบบฐานขอ้ มลู

จงปฏบิ ตั ิตามคาส่งั ต่อไปน้ี
6. จากลกั ษณะหนา้ ท่ีการทางานของบริษทั รับฝากขายบา้ น จงตอบคาถาม

1.) ขอ้ มูลสานกั งาน ไดแ้ ก่ รหัสสานักงาน ท่ีอยู่ เบอร์โทรศัพท์ และเบอรโ์ ทรสาร
2.) ขอ้ มลู ตัวแทน ได้แก่ รหสั ตัวแทน ชื่อ-สกุล เพศ อายุ เบอรโ์ ทรศพั ท์ และเงินเดือน
3.) ข้อมลู เจา้ ของบา้ น ไดแ้ ก่ รหสั เจา้ ของบา้ น ชื่อ-สกุล ท่ีอยู่ และโทรศัพท์
4.) ข้อมูลบ้านที่ฝากขาย ได้แก่ รหัสบ้าน ท่ีต้ัง จานวนห้องนอน จานวนห้องน้า พ้ืนที่ และ

ราคาขาย
5.) ขอ้ มลู ลูกคา้ ได้แก่ รหสั ลกู คา้ ชือ่ -สกลุ ทอ่ี ยู่ และโทรศพั ท์

ข้อกาหนดการทางานของบริษทั (Business rule) มีดงั น้ี
1.) บริษทั มสี านักงานต้งั อยู่หลายแห่ง โดยในแต่ละแหง่ มตี ัวแทนประจาสานักงานหลายคน
2.) บา้ นที่มาฝากขายแต่ละหลังถกู ดูแลโดยตัวแทนคนใดคนหนึ่ง
3.) เจ้าของบ้านท่มี าฝากขายแต่ละคนสามารถมาฝากขายบ้านกับบริษทั ไดห้ ลายหลงั

ให้เขียนโครงร่างฐานข้อมูลเชิงสัมพันธ์ของบริษัทรับฝากขายบ้าน พร้อมท้ังกาหนดกุญแจหลัก
และกุญแจนอกของแต่ละรีเลชัน
………………….…………………………………………………………………………………………………………………………
………………….…………………………………………………………………………………………………………………………
………………….…………………………………………………………………………………………………………………………
………………….…………………………………………………………………………………………………………………………
………………….…………………………………………………………………………………………………………………………
………………….…………………………………………………………………………………………………………………………
………………….…………………………………………………………………………………………………………………………
………………….…………………………………………………………………………………………………………………………
………………….…………………………………………………………………………………………………………………………
………………….…………………………………………………………………………………………………………………………
………………….…………………………………………………………………………………………………………………………
………………….…………………………………………………………………………………………………………………………
………………….…………………………………………………………………………………………………………………………
………………….…………………………………………………………………………………………………………………………

100 บทท่ี 3 แนวคดิ เกยี่ วกบั การออกแบบฐานข้อมูล


Click to View FlipBook Version