Back to Home

DataBase System

Lesson1234569101112131415

Lesson 7 : Database Management Application



Lesson Plan
Section No.
Section 1
Section 2
Test
PDF file
PPT File


<<Prev pageCourse MapNext page>>

Print content of this page
Save content of this page

 

การทำให้ฐานข้อมูลเป็นรูปแบบที่เป็นบรรทัดฐาน

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

  1. การแปลงเอนทิตีและความสัมพันธ์ระหว่างเอนทิตีให้เป็นรีเลชัน

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

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

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

  • ความสัมพันธ์แบบหนึ่งต่อกลุ่มระหว่างรีเลชันสินค้าและรีเลชันการจัดซื้อ
  • ความสัมพันธ์แบบหนึ่งต่อกลุ่มระหว่างรีเลชันใบสั่งซื้อสินค้าและรีเลชันการจัดซื้อ
  • ความสัมพันธ์แบบหนึ่งต่อกลุ่มระหว่างรีเลชันบริษัทขายส่งและรีเลชันใบสั่งซื้อสินค้า
  • ความสัมพันธ์แบบหนึ่งต่อกลุ่มระหว่างรีเลชันบริษัทขายส่งและรีเลชันสินค้า
  • ความสัมพันธ์แบบหนึ่งต่อกลุ่มระหว่างรีเลชันบริษัทขายส่งและรีเลชันใบส่งสินค้า
  • ความสัมพันธ์แบบหนึ่งต่อหนึ่งระหว่างรีเลชันใบสั่งซื้อสินค้าและรีเลชันใบส่งสินค้า
  • ความสัมพันธ์แบบหนึ่งต่อกลุ่มระหว่างรีเลชันสินค้าและรีเลชันการส่ง
  • ความสัมพันธ์แบบหนึ่งต่อกลุ่มระหว่างรีเลชันใบส่งสินค้าและรีเลชันการส่ง
  • ความสัมพันธ์แบบหนึ่งต่อกลุ่มระหว่างรีเลชันสินค้าและรีเลชันการขาย
  • ความสัมพันธ์แบบหนึ่งต่อกลุ่มระหว่างรีเลชันใบเสร็จรับเงินและรีเลชันการขาย
    1. การกำหนดแอททริบิวต์ต่าง ๆ คีย์หลัก และคีย์นอกในแต่ละรีเลชัน

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

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

รหัสบริษัท

ชื่อบริษัท

ที่อยู่

โทรศัพท์

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

รหัสสินค้า

ชื่อสินค้า

สินค้าในคลัง

ราคาขายต่อหน่วย

จุดสั่งซื้อ

รหัสบริษัท

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

เลขที่ใบสั่งซื้อ

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

รหัสบริษัท

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

เลขที่ใบสั่งซื้อ

รหัสสินค้า

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

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

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

เลขที่ใบส่งสินค้า

วันที่ส่งสินค้า

ราคาขายส่งต่อหน่วย

เลขที่ใบสั่งซื้อ

รหัสบริษัท

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

เลขที่ใบสั่งซื้อ

รหัสสินค้า

    • รีเลชันใบเสร็จรับเงิน ประกอบด้วยแอททริบิวต์ เลขที่ใบเสร็จรับเงิน วันที่ออกใบเสร็จ โดยมี แอททริบิวต์เลขที่ใบเสร็จรับเงินเป็นคีย์หลัก

เลขที่ใบเสร็จรับเงิน

วันที่ออกใบเสร็จ

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

เลขที่ใบเสร็จรับเงิน

รหัสสินค้า

จำนวนที่ขาย

    1. การทำให้รีเลชันมีคุณสมบัติอยู่ในรูปแบบที่เป็นบรรทัดฐาน

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

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

จากการตรวจสอบโครงร่างฐานข้อมูลเชิงสัมพันธ์ของระบบฐานข้อมูลงานซื้อขายสินค้าในซุปเปอร์ สโตร์จะพบว่า

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

รหัสบริษัท

ชื่อบริษัท

ที่อยู่

โทรศัพท์

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

รหัสสินค้า

ชื่อสินค้า

สินค้าในคลัง

ราคาขายต่อหน่วย

จุดสั่งซื้อ

รหัสบริษัท

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

เลขที่ใบสั่งซื้อ

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

รหัสบริษัท

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

เลขที่ใบส่งสินค้า

วันที่ส่งสินค้า

ราคาขายส่งต่อหน่วย

เลขที่ใบสั่งซื้อ

รหัสบริษัท

    • รีเลชันใบเสร็จรับเงิน ประกอบด้วยแอททริบิวต์ เลขที่ใบเสร็จรับเงิน วันที่ออกใบเสร็จ โดยมี แอททริบิวต์เลขที่ใบเสร็จรับเงินเป็นคีย์หลัก

เลขที่ใบเสร็จรับเงิน

วันที่ออกใบเสร็จ

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

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

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

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

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

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

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

ส่วนรีเลชันอื่น ๆ อีก 3 รีเลชัน คือ รีเลชันการจัดทำ รีเลชันการส่ง และรีเลชันการขาย

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

เลขที่ใบสั่งซื้อ

รหัสสินค้า

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

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

เลขที่ใบสั่งซื้อ

รหัสสินค้า

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

เลขที่ใบเสร็จรับเงิน

รหัสสินค้า

จำนวนที่ขาย

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

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

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

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

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

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

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

 

 

Last Updated: 12/13/2001 11:22:06 AM
© โครงการเครือข่ายสารสนเทศเพื่อพัฒนาการศึกษา ทบวงมหาวิทยาลัย