SlideShare a Scribd company logo
1 of 14
หน่วยที่ 5
การออกแบบฐานข้อมูล
ขั้นตอนการออกแบบฐานข้อมูล
ขั้นตอนการออกแบบฐานข้อมูล เริ่มจากการศึกษา วิเคราะห์ระงานเดิมและปัญหาที่
เกิดในระบบนั้นๆ รวมทั้งรวบรวมความต้องการของผู้ใช้และกฎเกณฑ์ข้อบังคับต่างๆ สูตรต่างๆ
นามาประมวลเข้าด้วยกัน เพื่อดาเนินการออกแบบฐานข้อมูลในระดับแนวคิด ซึ่งการออกแบบใน
ระดับแนวคิดสามารถกระทาเป็นขั้นตอนามลาดับ ได้แก่
1.สร้างเอนทิตีจากความต้องการ
2.ปรับรีเลชันต่างๆ ให้อยู่ในรูปแบบบรรทัดฐาน (Normalization)
3.ระบุคีย์ต้องใช้ในแต่ละรีเลชัน
4.ระบุกฎเกณฑ์ ข้อจากัด ที่ต้องคานึงถึง
5.นาผลที่ได้จาก 4 ขั้นตอนแรกมารวบรวมเข้าด้วยกัน
ขั้นตอนที่ 1 สร้างเอนทิตีจากความต้องการ
หลังจากทาการศึกษารายละเอียดของระบบงานที่ออกแบบแล้ว จึงกาหนดเอนทิตีที่เกี่ยวข้อง
ว่าควรจะมีเอนทิตีอะไรบ้าง ในแต่ละเอนทิตีนั้นควรจะมีแอททริบิวต์ใดเป็นคีย์ ตัวอย่างเช่น ถ้าต้องการ
เก็บข้อมูลเกี่ยวกับอาจารย์และภาควิชาที่อาจารย์สังกัดอยู่ ฐานข้อมูลก็ควรจะประกอบด้วย 2 เอนทิตี คือ
เอนทิตีของภาควิชา และเอนทิตีของอาจารย์ โดยกาหนดว่า แต่ละภาควิชามีอาจารย์ได้หลายคน และ
อาจารย์แต่ละคนจะสังกัดอยู่เพียง 1 ภาควิชา ดังนี้
ภาควิชา (รหัสภาควิชา, ชื่อภาควิชา, ที่ตั้งของภาควิชา)
อาจารย์ (รหัสอาจารย์, ชื่ออาจารย์, ที่อยู่, โทรศัพท์, เงินเดือน, รหัสภาควิชา)
จากตัวอย่างดังกล่าวจะเห็นได้ว่า หลังจากกาหนดเอนทิตีที่ต้องใช้แล้ว เราจะสร้างรีเลชัน
ขึ้นมาสาหรับแต่ละเอนทิตี แล้วพิจารณาว่าในแต่ละเอนทิตีนั้นควรจะประกอบด้วยแอททริบิวต์อะไรบ้าง
จะใช้แอททริบิวต์ใดเป็นคีย์หลัก รวมทั้งพิจารณาความสัมพันธ์ในแต่ละเอนทิตี ว่ามีความสัมพันธ์กัน
แบบใดใน 3 ชนิด ที่ได้เคยกล่าวในรายละเอียดมาแล้วในหน่วยที่ผ่านมา คือ ความสัมพันธ์แบบหนึ่งต่อ
หนึ่ง แบบหนึ่งต่อกลุ่ม หรือแบบกลุ่มต่อกลุ่ม
ขั้นตอนที่ 2 ปรับรีเลชันต่าง ๆ ให้อยู่ในรูปแบบบรรทัดฐาน (Normalization)
เป็นการปรับรีเลชันแต่ละตัวให้อยู่ในรูปแบบบรรทัดฐาน เพื่อให้โครงสร้างของข้อมูลไม่มี
ความซ้าซ้อน ข้อมูลถูกต้องเชื่อถือได้ ในการออกแบบฐานข้อมูลจึงต้องพิจารณาว่า จะต้องทาให้อยู่ใน
รูปแบบบรรทัดฐานถึงขั้นไหน ซึ่งได้ปกติแล้วอย่างน้อยจะต้องทาการปรับถึงรูปแบบบรรทัดฐานระดับที่
3 แต่ในบางกรณีก็อาจต้องปรับถึงรูปแบบบรรทัดฐานระดับที่ 4 และระดับที่ 5 ในการปรับรีเลชันให้อยู่
ในรูปแบบบรรทัดฐาน จะได้กล่าวรายละเอียดในหัวข้อต่อไป
ขั้นตอนที่ 3 รุบุคีย์ที่ต้องใช้ในแต่ละรีเลชัน
จากที่กล่าวมาในขั้นตอนที่ 1 เมื่อกาหนดเอนทิตีและระบุความสัมพันธ์ระหว่างเอนทิตีแล้วก็
ต้องทาการระบุแอททริวิวต์ต่างๆ ที่ใช้เป็นคีย์ ได้แก่ คีย์หลัก คีย์สารอง คีย์นอก เช่น
พิจารณาว่าคีย์หลักของแต่ละเอนทิตีควรจะเป็นแอททริบิวต์ใด มีแอททริบิวต์มากกว่า 1 แอ
ททริบิวต์หรือไม่ ที่จะสามารถใช้เป็นคีย์หลักได้
ความสัมพันธ์ระหว่างค่าของแอททริบิวต์ในแต่ละรีเลชัน
1. ความสัมพันธ์ระหว่างค่าของแอททริบิวต์แบบฟังก์ชัน (Functional Dependency)
เป็นความสัมพันธ์ระหว่างค่าของแอททริบิวต์ในลักษณะที่แอททริบิวต์ตั้งแต่หนึ่งแอททริบิวต์
ที่มาประกอบกัน สามารถไประบุค่าของแอททริบิวต์อื่นๆ ในทูเพิลนั้นๆ ได้
2. ความสัมพันธ์ระหว่างค่าขอแอททริบิวต์แบบบางส่วน (Partial Dependency)
เป็นความสัมพันธ์ระหว่างค่าของแอททริบิวต์แบบบางส่วน จะเกิดเมื่อคีย์มีลักษณะเป็นคีย์
ผสมแล้ว แอททริบิต์ที่เป็นบางส่วนของคีย์หลัก สามารถไประบุค่าของแอททริบิวต์อื่นๆ ที่ไม่ใช่คีย์หลัก
(Non-Key Attribute)ในรีเลชันนั้นได้
3. ความสัมพันธ์ระหว่างค่าของแอททริบิวต์แบบทรานซิทีฟ (Transitive Dependeney)
เป็นความสัมพันธ์ระหว่างค่าของแอททริบิวต์ ในลักษณะที่เกิดจากการออกแบบฐานข้อมูลยัง
ไม่เหมาะสม เช่น ในบางรีเลชันแม้จะมีแอททริบิวต์ที่เป็นคีย์หลัก ซึ่งสามารถระบุค่าของแอททริบิวต์อื่นๆ
ในทูเพิลนั้นแล้วก็ตาม แต่ก็ยังพบว่ามีบางแอททริบิวต์ที่ไม่ไช่คีย์หลักแต่จะสามารถไประบุค่าของแอททริ
บิวต์อื่นๆ ในทูเพิลนั้นได้ด้วย ความสัมพันธ์ระหว่างคาของแอททริบิวต์ในลักษณะนี้เราจะเรียกว่าเป็นแบบ
ทรานซิทีฟ
4. ความสัมพันธ์ระหว่างค่าของแอททริบิวต์แบบหลายค่า (Multivalued Dependency)
เป็นความสัมพันธ้ระหว่างค่าของแอททริบิวต์ ที่เกิดในกรณีที่รีเลชันนั้นประกอบด้วยแอททริบิ
วต์อย่างน้อย 3 แอททริบิวต์ โดยแอททริบิวต์หนึ่งจะสามารถไประบุค่าของแอททริบิวต์อื่นๆ ได้หลายค่า
เราจะเรียกรีเลชันนั้นว่ามีความสัมพันธ์ระหว่างค่าของแอททริบิวต์แบบหลายค่า
การทารีเลชันให้อยู่รูปแบบที่เป็นบรรทัดฐาน(Normalization)
1.รูปแบบบรรทัดฐานระดับที่ 1 (FirstNormal Form : 1 NF)
2.รูปแบบบรรทัดฐานะดับที่ 2 (Second Normal Form : 2NF)
รีเลชันใดๆ จะอยู่ในรูปแบบบรรทัดฐานระดับที่ 2 เมื่อ รีเลชันนั้นอยู่ในรูปแบบบรรทัดฐาน
ระดับที่ 1 และทุกแอททริบิวต์ที่ได้ได้เป็นคีย์หลัก จะต้องขึ้นกับแอททริบิวต์ที่เป็นคีย์หลัก หรือแอททริบิวต์
ทั้งหมดที่ประกอบเป็นคีย์หลัก หรือกล่าวอีกนัยหนึ่งคือ ต้องไม่มีความสัมพันธ์ระหว่างค่าของแอททริบิวต์
แบบบางส่วนเกิดขึ้น
2.1 ความผิดพลาดที่เกิดจากกการเพิ่มข้อมูล (Insert Anomaly)
หากบริษัทนี้ต้องการนาสินค้าชนิดใหม่มาขาย เช่น “โทรศัพท์” โดยกาหนดรหัสสินค้าเป็น
A185 นั่นหมายความว่า การเพิ่มข้อมูลสินค้า “โทรศัพท์” เข้าไปในรีเลชันการสั่ง จะกระทาได้ต่อเมื่อต้องมี
รหัสการสั่งด้วย เนื่องจากรีเลชันการสั่งตามตารางที่ 5.3 กาหนดให้คีย์หลักของตารางประกอบด้วย รหัสการ
สั่งและรหัสสินค้า ดังนั้นแล้วการที่จะเพิ่มข้อมูลสินค้า จะกระทาได้ต่อเมื่อมีการสั่งซื้อสินค้า “โทรศัพท์” แล้ว
เท่านั้น จึงเป็นปัญหาที่เกิดขึ้น
2.2 ความผิดพลาดที่เกิดจากการลบข้อมูล (Delete Anomaly)
หากลูกค้าขอยกเลิกการสั่งจากรหัสการสั่ง 304 ก็จะทาให้ต้องลบข้อมูลในทูเพิลสุดท้ายออกไป เป็นผลให้
รายการสินค้ารหัส z181 เครื่องซักผ้า ต้องหายไปด้วย ทั้งที่ไม่ได้มีการเลิกขายเครื่องซักผ้า
2.3 ความผิดพลาดที่เกิดจากการปรับปรุงข้อมูล(Update Anomaly)
หากต้องการแก้ไขข้อมูล T104 ตู้เย็น จะทาให้เกิดความยุ่งยากและเสียเวลา เช่น ถ้าต้องการแก้ชื่อสินค้า
“ตู้เย็น” เป็น “ตู้ไอศกรีม” การแก้ไขข้อมูลดังกล่าวจะต้องค้นหาข้อมูลรหัสสินค้าจากทุกทูเพิลที่เป็นรหัส
T104 มาแก้ไข ซึ่งทาให้เสียเวลา และหากแก้ไม่ครบทุกทูเพิลก็จะเกิดปัญหาข้อมูลขัดแย้งกันตามมา
3. รูปแบบบรรทัดฐานระดับที่ 3 (Third Normal Form : 3NF)
รีเลชันใดๆ จะอยู่ในรูปแบบบรรทัดฐานระดับที่ 3 เมื่อ รีเลชันนั้นอยู่ในรูปแบบบรรทัดฐานระดับที่ 2
และแอททริบิวต์ที่ไม่ได้เป็ นคีย์หลัก ต้องขึ้นกับแอททริบิวต์ที่เป็ นคีย์หลักเท่านั้น หรือกล่าวอีกอย่าง
หนึ่งคือ ต้องไม่มีความสัมพันธ์ระหว่างค่าของแอททริบิวต์แบบทรานซิทีฟเกิดขึ้น
3.1 ความผิดพลาดที่เกิดจากการเพิ่มข้อมูล (Insert Anomaly)
หากบริษัทนี้มีพนักงานขายเพิ่มขึ้น คือ รหัสพนักงาน 75 ชื่อ มารุต จะไม่สามารถเพิ่มข้อมูลมารุตเข้า
ไปในรีเลชันลูกค้าดังกล่าวได้ ถ้ามารุตยังไม่มีลูกค้าของตนเอง
3.2 ความผิดพลาดที่เกิดจารกการลบข้อมูล (Delete Anomaly)
หากมีการลบข้อมูลลูกค้า ที่อยู่ในความดูแลของพนักงานขายรหัส 13 ที่ชื่อ มาลีออกจากรีเลชัน จะ
กระทาไม่ได้ เพราะจะทาให้ข้อมูลพนักงานขาย รหัสพนักงาน 13 ถูกลบออกจากรีเลชันไปด้วย ทั้งที่
พนักงานขายที่ชื่อสมควรยังคงทางานอยู่
3.3 ความผิดพลาดที่เกิดจากการปรับปรุงข้อมูล (Update Anomaly)
พนักงานรหัส 13 ชื่อสมควร เปลี่ยนชื่อเป็น สมศักดิ์ การแก้ไขจะยุ่งยากและเสียเวลา เพราะต้องแก้ไข
ชื่อพนักงานขายดังกล่าวให้ครบทุกทูเพิล หากแก้ไขไม่ครบทุกทูเพิล ก็จะให้เกิดปัญหาข้อมูลขัดแย้ง
ตามมา
4. รูปแบบบรรทัดฐานของบอยซ์และคอดด์ (Boyce/Codd Normal Form : BCNF)
รีเลชันใดๆ จะอยู่ในรูปแบบบรรทัดฐานของบอยซ์และคอดด์ เมื่อ รีเลชันนั้นอยู่ในรูปแบบ
บรรทัดฐานระดับที่ 3 และม่มีแอททริบิวต์ที่ไม่ใช่คีย์หลัก แต่สามารถไประบุค่าแอททริบิวต์ที่เป็นคีย์หลัก
หรือ ส่วนหนึ่งส่วนใดของคีย์หลักในกรณีที่คีย์หลักเป็นคีย์ผสม
5. รูปแบบบรรทัดฐานระดับ 4 (Fourth Normal Form : 4 NF)
รีเลชันใดๆ จะอยู่ในรูปแบบบรรทัดฐานระดับที่ 4 เมื่อ รีเลชันนั้นอยู่ในรูปแบบ BCNF และ
ไม่มีการขึ้นต่อกันเชิงกลุ่ม หรือกล่าวอีกอย่างหนึ่งคือ ต้องไม่มีความสัมพันธ์ระหว่างค่าของแอททริบิวต์แบบ
หลายค่าเกิดขึ้น
5.1 ความผิดพลาดที่เกิดจากการเพิ่มข้อมูล (Insert Anomaly)
ถ้ามีพนักงานขายคนใหม่เข้ามา โดยให้รหัสพนักงานขายเป็น 55 ถ้าพนักงานขายคน
นี้ยังไม่มีลูกค้าที่ต้องดูแล จะมีปัญหาที่ไม่สามารถเพิ่มมาข้อมูลลงในตารางได้ เนื่องจากคีย์หลักจะ
เป็นค่าว่างไม่ได้
5.2 ความผิดพลาดที่เกิดจากการลบข้อมูล (Delete Anomaly)
กรณีลูกค้ารหัส 700 เลิกซื้อขายสินค้ากับบริษัท จะต้องลงข้อมูลรหัสลูกค้า 700 ออกไปก็
จะทาให้ข้อมูลรหัสพนักงานขาย 40 ถูกลบออกไปด้วย
5.3 ความผิดพลาดที่เกิดจากการปรับปรุงข้อมูล (Update Anomaly)
ถ้ารหัสพนักงานขาย 13 เปลี่ยนเขตการดูแลจากจังหวัดชลบุรี เป็นจังหวัดขอนแก่น ก็จะต้องแก้ไข
ข้อมูลหลายที่ในตาราง และถ้าแก้ไขไม่หมดทุกที่จะทาให้เกิดปัญหาข้อมูลขัดแย้งตามมา
6. รูปแบบบรรทัดฐานระดับที่ 5 (Fifth Normal Form : 5NF)
รีเลชันใดๆ จะอยู่ในรูปแบบบรรทัดฐานระดับที่ 5 เมื่อ รีเลชันนั้นอยู่ในรูปแบบบรรทัดฐานระดับที่
4 และมีคีย์หลักเป็นคีย์ผสมที่ประกอบด้วยแอททริบิวต์ตั้งแต่ 3 แอททรีบิวต์ขึ้นไป ถ้าแตกรีเลชันนั้นออกเป็น
รีเลชันย่อยตั้งแต่ 3 รีเลชันขึ้นไป โดยการจับคู่แอททริบิวต์แต่ละคู่ของรีเลชันเดิมเป็นคีย์ผสม และเมื่อทาการ
เชื่อมโยงรีเลชันย่อยทั้งหมดแล้ว จะต้องไม่ทาให้เกิดข้อมูลใหม่ที่ต่างไปจากรีเลชันเดิม
ภาษาที่ใช้ในการออกแบบฐานข้อมูล
เมื่อได้ทาการออกแบบฐานข้อมูลเรียบร้อยแล้ว เราก็ควรจะสรุปผลของการออกแบบ วิธีหนึ่ งที่จะช่วยให้
การสรุปผลการสรุปปารออกแบบสมบูรณ์ยิ่งขึ้น คือ การใช้ภาษาในการออกแบบ (Datadase Design
Languge : DBDL)
จากตัวอย่างข้างต้นเราไม่สามารถใช้ DBDL ด้วยการแสดงชื่อเอนทิตี และตามด้วยชื่อของแอททริบิวต์ต่างๆ
ในวงเล็บ ขีดเส้นใต้แอททริบิวต์ที่เป็นคีย์หลัก ดังที่เคยทามาในหน่วยแรกๆ นอกจากนี้ใน DBDL จะสามารถ
ระบุคัย์อื่นๆ และคุณสมบัติเพิ่มเติมได้อีก ได้แก่
1. ใส่ * ถ้าแอททริบิวต์ใดสามารถเก็บคาว่างได้
2. ใส่ CK หมายถึง คีย์คู่แข่ง (Candidate Key)
3. ใส่ SK หมายถึง คีย์รอง (SecondaryKey)
4. ใส่ FK หมายถึง คีย์นอก (Foreign Key) ถ้าอนุญาตให้คีย์นอกเป็นค่าว่างได้ให้ใส่เครื่องหมาย * ที่ชื่อของคีย์
ตัวนั้น
5. การแสดงคุณสมบัติของคีย์หลัก ตัวที่คีย์นอกนั้นๆ อ้างถึง ในการปรับปรุงค่าจะใช้
DLT (DELETE)หมายถึง การลบ
UPD (UPDATE) หมายถึง การแก้ไขค่า จะเป็นแบบใด ได้แก่ เงื่อนไขในการปรับปรุงค่าจะเป็นแบบใด ได้แก่
RSTR (RESTRICT) หมายถึง การแก้ไข หรือลบข้อมูลแบบมีข้อจากัด
CSCD(CASCADE) หหมายถึง การแก้ไข หรือลบข้อมูลแบบเป็นทอดๆ
NLE (NULLIFY) หมายถึง การแก้ไข หรือลบข้อมูลโดยเปลี่ยนแปลงเป็นค่าว่าง
ดังนั้น จากตัวอย่างเอนทิตีลูกค้า ข้างต้น จึงสามารถละบุรายละเอียดเพิ่มขึ้น ได้อีกตัวอย่างเช่น
ลูกค้า(รหัสลูกค้, ชื่อลูกค้า,ที่อยู่ ,วงเงินเครดิต,ยอดเงินค้างชาระ,รหัสพนักงานขาย)
SK ชื่อลูกค้า
FK รหัสพนักงานขาย ---> พนักงานขาย DLT RSTR UPD CSCD
อธิบายส่วนที่ระบุเพิ่มเติมจากตัวอย่างข้างบนได้ดังนี้
SK คือ คีย์รอง ในที่นี้จะใช้แอททริบิวต์ชื่อลูกค้า เป็นคีย์รอง
FK คือ คีย์นอก ได้แก่ รหัสพนักงานขาย ซึ่งจะอ่างอิงถึงค่าแอททริบิวในแอททิตีพนักงานขาย การลบ
หรือแก้ไขค่าของรหัสพนักงานขาย
การลบทูเพิลใดเอนทิตีพนักงานขาย จะมีเงื่อไข คือ จะไม่สามารถลบพนักงานขายออกได้ถ้ายังมี
ลูกค้าที่ใช้บริการพนักงานขายคนนั้นอยู่(DLT RSTR) ส่วนแก้ไขค่ารหัสพนักงานขายในเอนทิตีพนักงาน
ขาย จะกระทาเป็นทอดๆ คือ จะตามไปเปลี่ยนค่าของของรหัสพนักงานขายในเอนทิตีลูกค้าสาหรับลูกค้าที่
ใช้บริการพนักงานขายคนนั้นๆอยู่(UPD CSCD) เป็นต้น

More Related Content

What's hot

ตัวอย่างโครงงานคอมพิวเตอร์
ตัวอย่างโครงงานคอมพิวเตอร์ตัวอย่างโครงงานคอมพิวเตอร์
ตัวอย่างโครงงานคอมพิวเตอร์Anirut Yotsean
 
Chapter 9 environment for design thinking
Chapter 9 environment for design thinkingChapter 9 environment for design thinking
Chapter 9 environment for design thinkingTeetut Tresirichod
 
Chapter 12 design thinking in product
Chapter 12 design thinking in productChapter 12 design thinking in product
Chapter 12 design thinking in productTeetut Tresirichod
 
สรุปสถานการณ์ปัญหาตามทฤษฎีพุทธิปัญญานิยม
สรุปสถานการณ์ปัญหาตามทฤษฎีพุทธิปัญญานิยมสรุปสถานการณ์ปัญหาตามทฤษฎีพุทธิปัญญานิยม
สรุปสถานการณ์ปัญหาตามทฤษฎีพุทธิปัญญานิยมjeerawan_l
 
Chapter 3 mindsets of design thinking
Chapter 3 mindsets of design thinkingChapter 3 mindsets of design thinking
Chapter 3 mindsets of design thinkingTeetut Tresirichod
 
หลักการออกแบบผลิตภัณฑ์
หลักการออกแบบผลิตภัณฑ์หลักการออกแบบผลิตภัณฑ์
หลักการออกแบบผลิตภัณฑ์SRINAKARIN MOTHER PRINCESS SCHOOL
 
การสอบป้องกันวิทยานิพนธ์ ดร.ภูดิท กรรณิการ์
การสอบป้องกันวิทยานิพนธ์ ดร.ภูดิท  กรรณิการ์การสอบป้องกันวิทยานิพนธ์ ดร.ภูดิท  กรรณิการ์
การสอบป้องกันวิทยานิพนธ์ ดร.ภูดิท กรรณิการ์Prachyanun Nilsook
 
โครงงานพัฒนาเกม 8
โครงงานพัฒนาเกม 8โครงงานพัฒนาเกม 8
โครงงานพัฒนาเกม 8Aungkana Na Na
 
สอนSpss
สอนSpssสอนSpss
สอนSpsskaew393
 
โครงงานคอมพิวเตอร์เรื่อง การออกแบบอาคาร บ้าน เรือน ด้วยโปรแกรม 3 มิติ
โครงงานคอมพิวเตอร์เรื่อง การออกแบบอาคาร บ้าน เรือน ด้วยโปรแกรม 3 มิติโครงงานคอมพิวเตอร์เรื่อง การออกแบบอาคาร บ้าน เรือน ด้วยโปรแกรม 3 มิติ
โครงงานคอมพิวเตอร์เรื่อง การออกแบบอาคาร บ้าน เรือน ด้วยโปรแกรม 3 มิติพัน พัน
 
02 บทที่ 2-เอกสารที่เกี่ยวข้อง
02 บทที่ 2-เอกสารที่เกี่ยวข้อง02 บทที่ 2-เอกสารที่เกี่ยวข้อง
02 บทที่ 2-เอกสารที่เกี่ยวข้องM'suKanya MinHyuk
 
บทที่ 1 พื้นฐานไมโครโปรเซสเซอร์และไมโครคอนโทรลเลอร์
บทที่ 1 พื้นฐานไมโครโปรเซสเซอร์และไมโครคอนโทรลเลอร์บทที่ 1 พื้นฐานไมโครโปรเซสเซอร์และไมโครคอนโทรลเลอร์
บทที่ 1 พื้นฐานไมโครโปรเซสเซอร์และไมโครคอนโทรลเลอร์Nattawut Kathaisong
 
04 บทที่ 4-ผลการดำเนินโครงงาน
04 บทที่ 4-ผลการดำเนินโครงงาน04 บทที่ 4-ผลการดำเนินโครงงาน
04 บทที่ 4-ผลการดำเนินโครงงานChamp Wachwittayakhang
 
ปฏิสัมพันธ์ระหว่างมนุษย์กับคอมพิวเตอร์ (Human Computer Interaction)
ปฏิสัมพันธ์ระหว่างมนุษย์กับคอมพิวเตอร์ (Human Computer Interaction)ปฏิสัมพันธ์ระหว่างมนุษย์กับคอมพิวเตอร์ (Human Computer Interaction)
ปฏิสัมพันธ์ระหว่างมนุษย์กับคอมพิวเตอร์ (Human Computer Interaction)Dr.Kridsanapong Lertbumroongchai
 
วิถีสร้างการเรียนรู้เพื่อศิษย์ในศตวรรษที่ 21
วิถีสร้างการเรียนรู้เพื่อศิษย์ในศตวรรษที่ 21วิถีสร้างการเรียนรู้เพื่อศิษย์ในศตวรรษที่ 21
วิถีสร้างการเรียนรู้เพื่อศิษย์ในศตวรรษที่ 21Teacher Sophonnawit
 

What's hot (20)

ตัวอย่างโครงงานคอมพิวเตอร์
ตัวอย่างโครงงานคอมพิวเตอร์ตัวอย่างโครงงานคอมพิวเตอร์
ตัวอย่างโครงงานคอมพิวเตอร์
 
Chapter 9 environment for design thinking
Chapter 9 environment for design thinkingChapter 9 environment for design thinking
Chapter 9 environment for design thinking
 
Chapter 12 design thinking in product
Chapter 12 design thinking in productChapter 12 design thinking in product
Chapter 12 design thinking in product
 
สรุปสถานการณ์ปัญหาตามทฤษฎีพุทธิปัญญานิยม
สรุปสถานการณ์ปัญหาตามทฤษฎีพุทธิปัญญานิยมสรุปสถานการณ์ปัญหาตามทฤษฎีพุทธิปัญญานิยม
สรุปสถานการณ์ปัญหาตามทฤษฎีพุทธิปัญญานิยม
 
Chapter 3 mindsets of design thinking
Chapter 3 mindsets of design thinkingChapter 3 mindsets of design thinking
Chapter 3 mindsets of design thinking
 
หลักการออกแบบผลิตภัณฑ์
หลักการออกแบบผลิตภัณฑ์หลักการออกแบบผลิตภัณฑ์
หลักการออกแบบผลิตภัณฑ์
 
การสอบป้องกันวิทยานิพนธ์ ดร.ภูดิท กรรณิการ์
การสอบป้องกันวิทยานิพนธ์ ดร.ภูดิท  กรรณิการ์การสอบป้องกันวิทยานิพนธ์ ดร.ภูดิท  กรรณิการ์
การสอบป้องกันวิทยานิพนธ์ ดร.ภูดิท กรรณิการ์
 
ชีวประวัติ มหาตมา คานธี
ชีวประวัติ มหาตมา  คานธีชีวประวัติ มหาตมา  คานธี
ชีวประวัติ มหาตมา คานธี
 
โครงงานพัฒนาเกม 8
โครงงานพัฒนาเกม 8โครงงานพัฒนาเกม 8
โครงงานพัฒนาเกม 8
 
สอนSpss
สอนSpssสอนSpss
สอนSpss
 
โครงงานคอมพิวเตอร์เรื่อง การออกแบบอาคาร บ้าน เรือน ด้วยโปรแกรม 3 มิติ
โครงงานคอมพิวเตอร์เรื่อง การออกแบบอาคาร บ้าน เรือน ด้วยโปรแกรม 3 มิติโครงงานคอมพิวเตอร์เรื่อง การออกแบบอาคาร บ้าน เรือน ด้วยโปรแกรม 3 มิติ
โครงงานคอมพิวเตอร์เรื่อง การออกแบบอาคาร บ้าน เรือน ด้วยโปรแกรม 3 มิติ
 
02 บทที่ 2-เอกสารที่เกี่ยวข้อง
02 บทที่ 2-เอกสารที่เกี่ยวข้อง02 บทที่ 2-เอกสารที่เกี่ยวข้อง
02 บทที่ 2-เอกสารที่เกี่ยวข้อง
 
บทที่ 1 พื้นฐานไมโครโปรเซสเซอร์และไมโครคอนโทรลเลอร์
บทที่ 1 พื้นฐานไมโครโปรเซสเซอร์และไมโครคอนโทรลเลอร์บทที่ 1 พื้นฐานไมโครโปรเซสเซอร์และไมโครคอนโทรลเลอร์
บทที่ 1 พื้นฐานไมโครโปรเซสเซอร์และไมโครคอนโทรลเลอร์
 
Chapter 8 test
Chapter 8 testChapter 8 test
Chapter 8 test
 
ตัวอย่างโครงงาน
ตัวอย่างโครงงานตัวอย่างโครงงาน
ตัวอย่างโครงงาน
 
Chapter 5 define
Chapter 5 defineChapter 5 define
Chapter 5 define
 
Com03
Com03Com03
Com03
 
04 บทที่ 4-ผลการดำเนินโครงงาน
04 บทที่ 4-ผลการดำเนินโครงงาน04 บทที่ 4-ผลการดำเนินโครงงาน
04 บทที่ 4-ผลการดำเนินโครงงาน
 
ปฏิสัมพันธ์ระหว่างมนุษย์กับคอมพิวเตอร์ (Human Computer Interaction)
ปฏิสัมพันธ์ระหว่างมนุษย์กับคอมพิวเตอร์ (Human Computer Interaction)ปฏิสัมพันธ์ระหว่างมนุษย์กับคอมพิวเตอร์ (Human Computer Interaction)
ปฏิสัมพันธ์ระหว่างมนุษย์กับคอมพิวเตอร์ (Human Computer Interaction)
 
วิถีสร้างการเรียนรู้เพื่อศิษย์ในศตวรรษที่ 21
วิถีสร้างการเรียนรู้เพื่อศิษย์ในศตวรรษที่ 21วิถีสร้างการเรียนรู้เพื่อศิษย์ในศตวรรษที่ 21
วิถีสร้างการเรียนรู้เพื่อศิษย์ในศตวรรษที่ 21
 

Similar to บทที่ 5

บทที่ 2
บทที่ 2บทที่ 2
บทที่ 2pianojrtk
 
บทที่ 2
บทที่ 2บทที่ 2
บทที่ 2pianojrtk
 
บทที่ 6 ระบบสารสนเทศสำหรับผู้บริหาร
บทที่ 6 ระบบสารสนเทศสำหรับผู้บริหารบทที่ 6 ระบบสารสนเทศสำหรับผู้บริหาร
บทที่ 6 ระบบสารสนเทศสำหรับผู้บริหารPrakaywan Tumsangwan
 
ตัวอย่างบทที่ 3 วิทยานิพนธ์เว็บไซต์เพื่อสุขภาพ
ตัวอย่างบทที่ 3 วิทยานิพนธ์เว็บไซต์เพื่อสุขภาพตัวอย่างบทที่ 3 วิทยานิพนธ์เว็บไซต์เพื่อสุขภาพ
ตัวอย่างบทที่ 3 วิทยานิพนธ์เว็บไซต์เพื่อสุขภาพrubtumproject.com
 
ความหมายของเทคโนโลยีสารสนเทศ
ความหมายของเทคโนโลยีสารสนเทศความหมายของเทคโนโลยีสารสนเทศ
ความหมายของเทคโนโลยีสารสนเทศPaweena Kittitongchaikul
 
บทที่ 2 การแก้ปัญหาด้วยกระบวนการเทคโนโลยีสารสนเทศ
บทที่ 2 การแก้ปัญหาด้วยกระบวนการเทคโนโลยีสารสนเทศบทที่ 2 การแก้ปัญหาด้วยกระบวนการเทคโนโลยีสารสนเทศ
บทที่ 2 การแก้ปัญหาด้วยกระบวนการเทคโนโลยีสารสนเทศLatcha MaMiew
 
หน่วยการเรียนรู้ที่ 2
หน่วยการเรียนรู้ที่ 2หน่วยการเรียนรู้ที่ 2
หน่วยการเรียนรู้ที่ 2Ja Phenpitcha
 
หน่วยการเรียนรู้ที่ 2-คอม
หน่วยการเรียนรู้ที่ 2-คอมหน่วยการเรียนรู้ที่ 2-คอม
หน่วยการเรียนรู้ที่ 2-คอมJa Phenpitcha
 

Similar to บทที่ 5 (20)

บทที่ 2
บทที่ 2บทที่ 2
บทที่ 2
 
บทที่ 2
บทที่ 2บทที่ 2
บทที่ 2
 
บทที่ 6 ระบบสารสนเทศสำหรับผู้บริหาร
บทที่ 6 ระบบสารสนเทศสำหรับผู้บริหารบทที่ 6 ระบบสารสนเทศสำหรับผู้บริหาร
บทที่ 6 ระบบสารสนเทศสำหรับผู้บริหาร
 
Chapter 02
Chapter 02Chapter 02
Chapter 02
 
ตัวอย่างบทที่ 3 วิทยานิพนธ์เว็บไซต์เพื่อสุขภาพ
ตัวอย่างบทที่ 3 วิทยานิพนธ์เว็บไซต์เพื่อสุขภาพตัวอย่างบทที่ 3 วิทยานิพนธ์เว็บไซต์เพื่อสุขภาพ
ตัวอย่างบทที่ 3 วิทยานิพนธ์เว็บไซต์เพื่อสุขภาพ
 
Data management pub
Data management pubData management pub
Data management pub
 
Sallai pro
Sallai proSallai pro
Sallai pro
 
Lesson3 devenlopment-program
Lesson3 devenlopment-programLesson3 devenlopment-program
Lesson3 devenlopment-program
 
ความหมายของเทคโนโลยีสารสนเทศ
ความหมายของเทคโนโลยีสารสนเทศความหมายของเทคโนโลยีสารสนเทศ
ความหมายของเทคโนโลยีสารสนเทศ
 
Project Sky
Project SkyProject Sky
Project Sky
 
ใบความรู้ การเขียนโปรแกรม
ใบความรู้ การเขียนโปรแกรมใบความรู้ การเขียนโปรแกรม
ใบความรู้ การเขียนโปรแกรม
 
บทที่ 2 การแก้ปัญหาด้วยกระบวนการเทคโนโลยีสารสนเทศ
บทที่ 2 การแก้ปัญหาด้วยกระบวนการเทคโนโลยีสารสนเทศบทที่ 2 การแก้ปัญหาด้วยกระบวนการเทคโนโลยีสารสนเทศ
บทที่ 2 การแก้ปัญหาด้วยกระบวนการเทคโนโลยีสารสนเทศ
 
Unit 4 normalazation
Unit 4 normalazationUnit 4 normalazation
Unit 4 normalazation
 
Lesson 4 (misson)2
Lesson 4 (misson)2Lesson 4 (misson)2
Lesson 4 (misson)2
 
Lesson 4 (misson)2
Lesson 4 (misson)2Lesson 4 (misson)2
Lesson 4 (misson)2
 
Lesson 4 (misson)
Lesson 4 (misson)Lesson 4 (misson)
Lesson 4 (misson)
 
หน่วยการเรียนรู้ที่ 2
หน่วยการเรียนรู้ที่ 2หน่วยการเรียนรู้ที่ 2
หน่วยการเรียนรู้ที่ 2
 
หน่วยการเรียนรู้ที่ 2-คอม
หน่วยการเรียนรู้ที่ 2-คอมหน่วยการเรียนรู้ที่ 2-คอม
หน่วยการเรียนรู้ที่ 2-คอม
 
พ้อย
พ้อยพ้อย
พ้อย
 
E R P7 How
E R P7 HowE R P7 How
E R P7 How
 

More from nunzaza

บทที่ 10
บทที่ 10บทที่ 10
บทที่ 10nunzaza
 
บทที่ 8
บทที่ 8บทที่ 8
บทที่ 8nunzaza
 
บทที่ 6
บทที่ 6บทที่ 6
บทที่ 6nunzaza
 
บทที่ 4
บทที่  4บทที่  4
บทที่ 4nunzaza
 
บทที่ 3
บทที่ 3บทที่ 3
บทที่ 3nunzaza
 
บทที่ 2
บทที่ 2บทที่ 2
บทที่ 2nunzaza
 
บทที่ 1
บทที่ 1บทที่ 1
บทที่ 1nunzaza
 

More from nunzaza (7)

บทที่ 10
บทที่ 10บทที่ 10
บทที่ 10
 
บทที่ 8
บทที่ 8บทที่ 8
บทที่ 8
 
บทที่ 6
บทที่ 6บทที่ 6
บทที่ 6
 
บทที่ 4
บทที่  4บทที่  4
บทที่ 4
 
บทที่ 3
บทที่ 3บทที่ 3
บทที่ 3
 
บทที่ 2
บทที่ 2บทที่ 2
บทที่ 2
 
บทที่ 1
บทที่ 1บทที่ 1
บทที่ 1
 

บทที่ 5

  • 2. ขั้นตอนการออกแบบฐานข้อมูล ขั้นตอนการออกแบบฐานข้อมูล เริ่มจากการศึกษา วิเคราะห์ระงานเดิมและปัญหาที่ เกิดในระบบนั้นๆ รวมทั้งรวบรวมความต้องการของผู้ใช้และกฎเกณฑ์ข้อบังคับต่างๆ สูตรต่างๆ นามาประมวลเข้าด้วยกัน เพื่อดาเนินการออกแบบฐานข้อมูลในระดับแนวคิด ซึ่งการออกแบบใน ระดับแนวคิดสามารถกระทาเป็นขั้นตอนามลาดับ ได้แก่ 1.สร้างเอนทิตีจากความต้องการ 2.ปรับรีเลชันต่างๆ ให้อยู่ในรูปแบบบรรทัดฐาน (Normalization) 3.ระบุคีย์ต้องใช้ในแต่ละรีเลชัน 4.ระบุกฎเกณฑ์ ข้อจากัด ที่ต้องคานึงถึง 5.นาผลที่ได้จาก 4 ขั้นตอนแรกมารวบรวมเข้าด้วยกัน
  • 3. ขั้นตอนที่ 1 สร้างเอนทิตีจากความต้องการ หลังจากทาการศึกษารายละเอียดของระบบงานที่ออกแบบแล้ว จึงกาหนดเอนทิตีที่เกี่ยวข้อง ว่าควรจะมีเอนทิตีอะไรบ้าง ในแต่ละเอนทิตีนั้นควรจะมีแอททริบิวต์ใดเป็นคีย์ ตัวอย่างเช่น ถ้าต้องการ เก็บข้อมูลเกี่ยวกับอาจารย์และภาควิชาที่อาจารย์สังกัดอยู่ ฐานข้อมูลก็ควรจะประกอบด้วย 2 เอนทิตี คือ เอนทิตีของภาควิชา และเอนทิตีของอาจารย์ โดยกาหนดว่า แต่ละภาควิชามีอาจารย์ได้หลายคน และ อาจารย์แต่ละคนจะสังกัดอยู่เพียง 1 ภาควิชา ดังนี้ ภาควิชา (รหัสภาควิชา, ชื่อภาควิชา, ที่ตั้งของภาควิชา) อาจารย์ (รหัสอาจารย์, ชื่ออาจารย์, ที่อยู่, โทรศัพท์, เงินเดือน, รหัสภาควิชา) จากตัวอย่างดังกล่าวจะเห็นได้ว่า หลังจากกาหนดเอนทิตีที่ต้องใช้แล้ว เราจะสร้างรีเลชัน ขึ้นมาสาหรับแต่ละเอนทิตี แล้วพิจารณาว่าในแต่ละเอนทิตีนั้นควรจะประกอบด้วยแอททริบิวต์อะไรบ้าง จะใช้แอททริบิวต์ใดเป็นคีย์หลัก รวมทั้งพิจารณาความสัมพันธ์ในแต่ละเอนทิตี ว่ามีความสัมพันธ์กัน แบบใดใน 3 ชนิด ที่ได้เคยกล่าวในรายละเอียดมาแล้วในหน่วยที่ผ่านมา คือ ความสัมพันธ์แบบหนึ่งต่อ หนึ่ง แบบหนึ่งต่อกลุ่ม หรือแบบกลุ่มต่อกลุ่ม
  • 4. ขั้นตอนที่ 2 ปรับรีเลชันต่าง ๆ ให้อยู่ในรูปแบบบรรทัดฐาน (Normalization) เป็นการปรับรีเลชันแต่ละตัวให้อยู่ในรูปแบบบรรทัดฐาน เพื่อให้โครงสร้างของข้อมูลไม่มี ความซ้าซ้อน ข้อมูลถูกต้องเชื่อถือได้ ในการออกแบบฐานข้อมูลจึงต้องพิจารณาว่า จะต้องทาให้อยู่ใน รูปแบบบรรทัดฐานถึงขั้นไหน ซึ่งได้ปกติแล้วอย่างน้อยจะต้องทาการปรับถึงรูปแบบบรรทัดฐานระดับที่ 3 แต่ในบางกรณีก็อาจต้องปรับถึงรูปแบบบรรทัดฐานระดับที่ 4 และระดับที่ 5 ในการปรับรีเลชันให้อยู่ ในรูปแบบบรรทัดฐาน จะได้กล่าวรายละเอียดในหัวข้อต่อไป ขั้นตอนที่ 3 รุบุคีย์ที่ต้องใช้ในแต่ละรีเลชัน จากที่กล่าวมาในขั้นตอนที่ 1 เมื่อกาหนดเอนทิตีและระบุความสัมพันธ์ระหว่างเอนทิตีแล้วก็ ต้องทาการระบุแอททริวิวต์ต่างๆ ที่ใช้เป็นคีย์ ได้แก่ คีย์หลัก คีย์สารอง คีย์นอก เช่น พิจารณาว่าคีย์หลักของแต่ละเอนทิตีควรจะเป็นแอททริบิวต์ใด มีแอททริบิวต์มากกว่า 1 แอ ททริบิวต์หรือไม่ ที่จะสามารถใช้เป็นคีย์หลักได้
  • 5. ความสัมพันธ์ระหว่างค่าของแอททริบิวต์ในแต่ละรีเลชัน 1. ความสัมพันธ์ระหว่างค่าของแอททริบิวต์แบบฟังก์ชัน (Functional Dependency) เป็นความสัมพันธ์ระหว่างค่าของแอททริบิวต์ในลักษณะที่แอททริบิวต์ตั้งแต่หนึ่งแอททริบิวต์ ที่มาประกอบกัน สามารถไประบุค่าของแอททริบิวต์อื่นๆ ในทูเพิลนั้นๆ ได้ 2. ความสัมพันธ์ระหว่างค่าขอแอททริบิวต์แบบบางส่วน (Partial Dependency) เป็นความสัมพันธ์ระหว่างค่าของแอททริบิวต์แบบบางส่วน จะเกิดเมื่อคีย์มีลักษณะเป็นคีย์ ผสมแล้ว แอททริบิต์ที่เป็นบางส่วนของคีย์หลัก สามารถไประบุค่าของแอททริบิวต์อื่นๆ ที่ไม่ใช่คีย์หลัก (Non-Key Attribute)ในรีเลชันนั้นได้
  • 6. 3. ความสัมพันธ์ระหว่างค่าของแอททริบิวต์แบบทรานซิทีฟ (Transitive Dependeney) เป็นความสัมพันธ์ระหว่างค่าของแอททริบิวต์ ในลักษณะที่เกิดจากการออกแบบฐานข้อมูลยัง ไม่เหมาะสม เช่น ในบางรีเลชันแม้จะมีแอททริบิวต์ที่เป็นคีย์หลัก ซึ่งสามารถระบุค่าของแอททริบิวต์อื่นๆ ในทูเพิลนั้นแล้วก็ตาม แต่ก็ยังพบว่ามีบางแอททริบิวต์ที่ไม่ไช่คีย์หลักแต่จะสามารถไประบุค่าของแอททริ บิวต์อื่นๆ ในทูเพิลนั้นได้ด้วย ความสัมพันธ์ระหว่างคาของแอททริบิวต์ในลักษณะนี้เราจะเรียกว่าเป็นแบบ ทรานซิทีฟ 4. ความสัมพันธ์ระหว่างค่าของแอททริบิวต์แบบหลายค่า (Multivalued Dependency) เป็นความสัมพันธ้ระหว่างค่าของแอททริบิวต์ ที่เกิดในกรณีที่รีเลชันนั้นประกอบด้วยแอททริบิ วต์อย่างน้อย 3 แอททริบิวต์ โดยแอททริบิวต์หนึ่งจะสามารถไประบุค่าของแอททริบิวต์อื่นๆ ได้หลายค่า เราจะเรียกรีเลชันนั้นว่ามีความสัมพันธ์ระหว่างค่าของแอททริบิวต์แบบหลายค่า
  • 7. การทารีเลชันให้อยู่รูปแบบที่เป็นบรรทัดฐาน(Normalization) 1.รูปแบบบรรทัดฐานระดับที่ 1 (FirstNormal Form : 1 NF) 2.รูปแบบบรรทัดฐานะดับที่ 2 (Second Normal Form : 2NF) รีเลชันใดๆ จะอยู่ในรูปแบบบรรทัดฐานระดับที่ 2 เมื่อ รีเลชันนั้นอยู่ในรูปแบบบรรทัดฐาน ระดับที่ 1 และทุกแอททริบิวต์ที่ได้ได้เป็นคีย์หลัก จะต้องขึ้นกับแอททริบิวต์ที่เป็นคีย์หลัก หรือแอททริบิวต์ ทั้งหมดที่ประกอบเป็นคีย์หลัก หรือกล่าวอีกนัยหนึ่งคือ ต้องไม่มีความสัมพันธ์ระหว่างค่าของแอททริบิวต์ แบบบางส่วนเกิดขึ้น 2.1 ความผิดพลาดที่เกิดจากกการเพิ่มข้อมูล (Insert Anomaly) หากบริษัทนี้ต้องการนาสินค้าชนิดใหม่มาขาย เช่น “โทรศัพท์” โดยกาหนดรหัสสินค้าเป็น A185 นั่นหมายความว่า การเพิ่มข้อมูลสินค้า “โทรศัพท์” เข้าไปในรีเลชันการสั่ง จะกระทาได้ต่อเมื่อต้องมี รหัสการสั่งด้วย เนื่องจากรีเลชันการสั่งตามตารางที่ 5.3 กาหนดให้คีย์หลักของตารางประกอบด้วย รหัสการ สั่งและรหัสสินค้า ดังนั้นแล้วการที่จะเพิ่มข้อมูลสินค้า จะกระทาได้ต่อเมื่อมีการสั่งซื้อสินค้า “โทรศัพท์” แล้ว เท่านั้น จึงเป็นปัญหาที่เกิดขึ้น
  • 8. 2.2 ความผิดพลาดที่เกิดจากการลบข้อมูล (Delete Anomaly) หากลูกค้าขอยกเลิกการสั่งจากรหัสการสั่ง 304 ก็จะทาให้ต้องลบข้อมูลในทูเพิลสุดท้ายออกไป เป็นผลให้ รายการสินค้ารหัส z181 เครื่องซักผ้า ต้องหายไปด้วย ทั้งที่ไม่ได้มีการเลิกขายเครื่องซักผ้า 2.3 ความผิดพลาดที่เกิดจากการปรับปรุงข้อมูล(Update Anomaly) หากต้องการแก้ไขข้อมูล T104 ตู้เย็น จะทาให้เกิดความยุ่งยากและเสียเวลา เช่น ถ้าต้องการแก้ชื่อสินค้า “ตู้เย็น” เป็น “ตู้ไอศกรีม” การแก้ไขข้อมูลดังกล่าวจะต้องค้นหาข้อมูลรหัสสินค้าจากทุกทูเพิลที่เป็นรหัส T104 มาแก้ไข ซึ่งทาให้เสียเวลา และหากแก้ไม่ครบทุกทูเพิลก็จะเกิดปัญหาข้อมูลขัดแย้งกันตามมา
  • 9. 3. รูปแบบบรรทัดฐานระดับที่ 3 (Third Normal Form : 3NF) รีเลชันใดๆ จะอยู่ในรูปแบบบรรทัดฐานระดับที่ 3 เมื่อ รีเลชันนั้นอยู่ในรูปแบบบรรทัดฐานระดับที่ 2 และแอททริบิวต์ที่ไม่ได้เป็ นคีย์หลัก ต้องขึ้นกับแอททริบิวต์ที่เป็ นคีย์หลักเท่านั้น หรือกล่าวอีกอย่าง หนึ่งคือ ต้องไม่มีความสัมพันธ์ระหว่างค่าของแอททริบิวต์แบบทรานซิทีฟเกิดขึ้น 3.1 ความผิดพลาดที่เกิดจากการเพิ่มข้อมูล (Insert Anomaly) หากบริษัทนี้มีพนักงานขายเพิ่มขึ้น คือ รหัสพนักงาน 75 ชื่อ มารุต จะไม่สามารถเพิ่มข้อมูลมารุตเข้า ไปในรีเลชันลูกค้าดังกล่าวได้ ถ้ามารุตยังไม่มีลูกค้าของตนเอง 3.2 ความผิดพลาดที่เกิดจารกการลบข้อมูล (Delete Anomaly) หากมีการลบข้อมูลลูกค้า ที่อยู่ในความดูแลของพนักงานขายรหัส 13 ที่ชื่อ มาลีออกจากรีเลชัน จะ กระทาไม่ได้ เพราะจะทาให้ข้อมูลพนักงานขาย รหัสพนักงาน 13 ถูกลบออกจากรีเลชันไปด้วย ทั้งที่ พนักงานขายที่ชื่อสมควรยังคงทางานอยู่ 3.3 ความผิดพลาดที่เกิดจากการปรับปรุงข้อมูล (Update Anomaly) พนักงานรหัส 13 ชื่อสมควร เปลี่ยนชื่อเป็น สมศักดิ์ การแก้ไขจะยุ่งยากและเสียเวลา เพราะต้องแก้ไข ชื่อพนักงานขายดังกล่าวให้ครบทุกทูเพิล หากแก้ไขไม่ครบทุกทูเพิล ก็จะให้เกิดปัญหาข้อมูลขัดแย้ง ตามมา
  • 10. 4. รูปแบบบรรทัดฐานของบอยซ์และคอดด์ (Boyce/Codd Normal Form : BCNF) รีเลชันใดๆ จะอยู่ในรูปแบบบรรทัดฐานของบอยซ์และคอดด์ เมื่อ รีเลชันนั้นอยู่ในรูปแบบ บรรทัดฐานระดับที่ 3 และม่มีแอททริบิวต์ที่ไม่ใช่คีย์หลัก แต่สามารถไประบุค่าแอททริบิวต์ที่เป็นคีย์หลัก หรือ ส่วนหนึ่งส่วนใดของคีย์หลักในกรณีที่คีย์หลักเป็นคีย์ผสม 5. รูปแบบบรรทัดฐานระดับ 4 (Fourth Normal Form : 4 NF) รีเลชันใดๆ จะอยู่ในรูปแบบบรรทัดฐานระดับที่ 4 เมื่อ รีเลชันนั้นอยู่ในรูปแบบ BCNF และ ไม่มีการขึ้นต่อกันเชิงกลุ่ม หรือกล่าวอีกอย่างหนึ่งคือ ต้องไม่มีความสัมพันธ์ระหว่างค่าของแอททริบิวต์แบบ หลายค่าเกิดขึ้น
  • 11. 5.1 ความผิดพลาดที่เกิดจากการเพิ่มข้อมูล (Insert Anomaly) ถ้ามีพนักงานขายคนใหม่เข้ามา โดยให้รหัสพนักงานขายเป็น 55 ถ้าพนักงานขายคน นี้ยังไม่มีลูกค้าที่ต้องดูแล จะมีปัญหาที่ไม่สามารถเพิ่มมาข้อมูลลงในตารางได้ เนื่องจากคีย์หลักจะ เป็นค่าว่างไม่ได้ 5.2 ความผิดพลาดที่เกิดจากการลบข้อมูล (Delete Anomaly) กรณีลูกค้ารหัส 700 เลิกซื้อขายสินค้ากับบริษัท จะต้องลงข้อมูลรหัสลูกค้า 700 ออกไปก็ จะทาให้ข้อมูลรหัสพนักงานขาย 40 ถูกลบออกไปด้วย 5.3 ความผิดพลาดที่เกิดจากการปรับปรุงข้อมูล (Update Anomaly) ถ้ารหัสพนักงานขาย 13 เปลี่ยนเขตการดูแลจากจังหวัดชลบุรี เป็นจังหวัดขอนแก่น ก็จะต้องแก้ไข ข้อมูลหลายที่ในตาราง และถ้าแก้ไขไม่หมดทุกที่จะทาให้เกิดปัญหาข้อมูลขัดแย้งตามมา
  • 12. 6. รูปแบบบรรทัดฐานระดับที่ 5 (Fifth Normal Form : 5NF) รีเลชันใดๆ จะอยู่ในรูปแบบบรรทัดฐานระดับที่ 5 เมื่อ รีเลชันนั้นอยู่ในรูปแบบบรรทัดฐานระดับที่ 4 และมีคีย์หลักเป็นคีย์ผสมที่ประกอบด้วยแอททริบิวต์ตั้งแต่ 3 แอททรีบิวต์ขึ้นไป ถ้าแตกรีเลชันนั้นออกเป็น รีเลชันย่อยตั้งแต่ 3 รีเลชันขึ้นไป โดยการจับคู่แอททริบิวต์แต่ละคู่ของรีเลชันเดิมเป็นคีย์ผสม และเมื่อทาการ เชื่อมโยงรีเลชันย่อยทั้งหมดแล้ว จะต้องไม่ทาให้เกิดข้อมูลใหม่ที่ต่างไปจากรีเลชันเดิม ภาษาที่ใช้ในการออกแบบฐานข้อมูล เมื่อได้ทาการออกแบบฐานข้อมูลเรียบร้อยแล้ว เราก็ควรจะสรุปผลของการออกแบบ วิธีหนึ่ งที่จะช่วยให้ การสรุปผลการสรุปปารออกแบบสมบูรณ์ยิ่งขึ้น คือ การใช้ภาษาในการออกแบบ (Datadase Design Languge : DBDL)
  • 13. จากตัวอย่างข้างต้นเราไม่สามารถใช้ DBDL ด้วยการแสดงชื่อเอนทิตี และตามด้วยชื่อของแอททริบิวต์ต่างๆ ในวงเล็บ ขีดเส้นใต้แอททริบิวต์ที่เป็นคีย์หลัก ดังที่เคยทามาในหน่วยแรกๆ นอกจากนี้ใน DBDL จะสามารถ ระบุคัย์อื่นๆ และคุณสมบัติเพิ่มเติมได้อีก ได้แก่ 1. ใส่ * ถ้าแอททริบิวต์ใดสามารถเก็บคาว่างได้ 2. ใส่ CK หมายถึง คีย์คู่แข่ง (Candidate Key) 3. ใส่ SK หมายถึง คีย์รอง (SecondaryKey) 4. ใส่ FK หมายถึง คีย์นอก (Foreign Key) ถ้าอนุญาตให้คีย์นอกเป็นค่าว่างได้ให้ใส่เครื่องหมาย * ที่ชื่อของคีย์ ตัวนั้น 5. การแสดงคุณสมบัติของคีย์หลัก ตัวที่คีย์นอกนั้นๆ อ้างถึง ในการปรับปรุงค่าจะใช้ DLT (DELETE)หมายถึง การลบ UPD (UPDATE) หมายถึง การแก้ไขค่า จะเป็นแบบใด ได้แก่ เงื่อนไขในการปรับปรุงค่าจะเป็นแบบใด ได้แก่ RSTR (RESTRICT) หมายถึง การแก้ไข หรือลบข้อมูลแบบมีข้อจากัด CSCD(CASCADE) หหมายถึง การแก้ไข หรือลบข้อมูลแบบเป็นทอดๆ NLE (NULLIFY) หมายถึง การแก้ไข หรือลบข้อมูลโดยเปลี่ยนแปลงเป็นค่าว่าง
  • 14. ดังนั้น จากตัวอย่างเอนทิตีลูกค้า ข้างต้น จึงสามารถละบุรายละเอียดเพิ่มขึ้น ได้อีกตัวอย่างเช่น ลูกค้า(รหัสลูกค้, ชื่อลูกค้า,ที่อยู่ ,วงเงินเครดิต,ยอดเงินค้างชาระ,รหัสพนักงานขาย) SK ชื่อลูกค้า FK รหัสพนักงานขาย ---> พนักงานขาย DLT RSTR UPD CSCD อธิบายส่วนที่ระบุเพิ่มเติมจากตัวอย่างข้างบนได้ดังนี้ SK คือ คีย์รอง ในที่นี้จะใช้แอททริบิวต์ชื่อลูกค้า เป็นคีย์รอง FK คือ คีย์นอก ได้แก่ รหัสพนักงานขาย ซึ่งจะอ่างอิงถึงค่าแอททริบิวในแอททิตีพนักงานขาย การลบ หรือแก้ไขค่าของรหัสพนักงานขาย การลบทูเพิลใดเอนทิตีพนักงานขาย จะมีเงื่อไข คือ จะไม่สามารถลบพนักงานขายออกได้ถ้ายังมี ลูกค้าที่ใช้บริการพนักงานขายคนนั้นอยู่(DLT RSTR) ส่วนแก้ไขค่ารหัสพนักงานขายในเอนทิตีพนักงาน ขาย จะกระทาเป็นทอดๆ คือ จะตามไปเปลี่ยนค่าของของรหัสพนักงานขายในเอนทิตีลูกค้าสาหรับลูกค้าที่ ใช้บริการพนักงานขายคนนั้นๆอยู่(UPD CSCD) เป็นต้น