งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

ตัวอย่างการ ปรับบรรทัด ฐาน 1NF >> 3NF. Bill_ No Bill_DateP_IDP_Name Unit Price QTYTotal Cus_ ID Cus_ Name Address Emp _ID Emp_ Name B0011/08/2004P01Sofa.

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "ตัวอย่างการ ปรับบรรทัด ฐาน 1NF >> 3NF. Bill_ No Bill_DateP_IDP_Name Unit Price QTYTotal Cus_ ID Cus_ Name Address Emp _ID Emp_ Name B0011/08/2004P01Sofa."— ใบสำเนางานนำเสนอ:

1 ตัวอย่างการ ปรับบรรทัด ฐาน 1NF >> 3NF

2 Bill_ No Bill_DateP_IDP_Name Unit Price QTYTotal Cus_ ID Cus_ Name Address Emp _ID Emp_ Name B0011/08/2004P01Sofa Bed12,5001 C03PimAustraliaE02Smith P03Dinning Table5,000210,000 B0021/08/2004P02Bed15,000230,000C03PimAustraliaE03Benny P05Electric Fan3, ,000 P04Printer12,000224,000 B0033/08/2004P01Sofa Bed12, ,000C01Jennife r NewzelandE01Johnso n B0044/08/2004P03Dinning Table5,000210,000C02DavidUSAE01Johnso n P05Electric Fan3,000515,000 B0054/08/2004P07Air Conditioner20,000240,000C01Jennife r New zelandE02Smith P04Printer12,0001 ตารางที่ยังไม่เป็น Normal Form ขั้นใด

3 Step 1 : ขจัด Derived Attribute(ถ้ามี) Bill_ No Bill_DateP_IDP_Name Unit Price QTYTotal Cus_ ID Cus_ Name Address Emp _ID Emp _Nam e B0011/08/2004P01Sofa Bed12,5001 C03PimAustraliaE02Smith P03Dinning Table5,000210,000 B0021/08/2004P02Bed15,000230,000C03PimAustraliaE03Benny P05Electric Fan3, ,000 P04Printer12,000224,000 B0033/08/2004P01Sofa Bed12, ,00 0 C01Jennif er NewzelandE01Johns on B0044/08/2004P03Dinning Table5,000210,000C02DavidUSAE01Johns on P05Electric Fan3,000515,000 B0054/08/2004P07Air Conditioner 20,000240,000C01Jennif er New zeland E02Smith P04Printer12,0001 เกิดจาก UnitPrice * QTY

4 รีเลชันที่ขจัด Derived Attr. แล้ว Bill_ No Bill_DateP_IDP_Name Unit Price QTY Cus_ ID Cus_ Name Address Emp_ ID Emp_ Name B0011/08/2004P01Sofa Bed12,5001C03PimAustraliaE02Smith P03Dinning Table5,0002 B0021/08/2004P02Bed15,0002C03PimAustraliaE03Benny P05Electric Fan3,00010 P04Printer12,0002 B0033/08/2004P01Sofa Bed12,50010C01Jennife r NewzelandE01Johnso n B0044/08/2004P03Dinning Table5,0002C02DavidUSAE01Johnso n P05Electric Fan3,0005 B0054/08/2004P07Air Conditioner20,0002C01Jennife r New zelandE02Smith P04Printer12,0001

5 First Normal Form (1NF) นิยามของ 1NF รีเลชันที่เป็น 1NF ต้องไม่มีกลุ่ม ข้อมูลซ้ำ (Repeating Group) และไม่มีแอตทริบิวต์ที่มีหลาย ค่า (Multivalued Attribute) นิยามของ 1NF รีเลชันที่เป็น 1NF ต้องไม่มีกลุ่ม ข้อมูลซ้ำ (Repeating Group) และไม่มีแอตทริบิวต์ที่มีหลาย ค่า (Multivalued Attribute)

6 ขจัด Multivalued Attr. และ Repeating Group Bill_ No Bill_DateP_IDP_Name Unit Price QTY Cus_ ID Cus_ Name Address Emp_ ID Emp_ Name B0011/08/2004P01Sofa Bed12,5001C03PimAustraliaE02Smith P03Dinning Table5,0002 B0021/08/2004P02Bed15,0002C03PimAustraliaE03Benny P05Electric Fan3,00010 P04Printer12,0002 B0033/08/2004P01Sofa Bed12,50010C01Jennife r NewzelandE01Johnso n B0044/08/2004P03Dinning Table5,0002C02DavidUSAE01Johnso n P05Electric Fan3,0005 B0054/08/2004P07Air Conditioner20,0002C01Jennife r New zelandE02Smith P04Printer12,0001

7 Bill_ No Bill_DateP_IDP_Name Unit Price QTY Cus_ ID Cus_ Name Address Emp_ ID Emp_ Name B0011/08/2004P01Sofa Bed12,5001C03PimAustraliaE02Smith B0011/08/2004P03Dinning Table5,0002C03PimAustraliaE02Smith B0021/08/2004P02Bed15,0002C03PimAustraliaE03Benny B0021/08/2004P05Electric Fan3,00010C03PimAustraliaE03Benny B0021/08/2004P04Printer12,0002C03PimAustraliaE03Benny B0033/08/2004P01Sofa Bed12,50010C01JenniferNewzelandE01Johnson B0044/08/2004P03Dinning Table5,0002C02DavidUSAE01Johnson B0044/08/2004P05Electric Fan3,0005C02DavidUSAE01Johnson B0054/08/2004P07Air Conditioner20,0002C01JenniferNewzelandE02Smith B0054/08/2004P04Printer12,0001C01JenniferNewzelandE02Smith รีเลชันที่ไม่มี Multivalued Attr. และ Repeating group โดยการแยกแต่ละข้อมูลออกเป็นเอกเทศในแต่ละทูเพิล

8 หา Functional Dependency FD1 : Bill_No  Bill_date, Cus_ID,Cus_Name, Address, Emp_ID, Emp_Name FD2 : P_ID  P_name, UnitPrice FD3 : Bill_No, P_ID  QTY FD4 : Cus_ID  Cus_Name, Address FD5 : Emp_ID  Emp_Name เอา FD1, FD2 และ FD3 มารวมกัน(Composition)ได้ FD6 : BiLL_No, P_ID  Bill_date, Cus_ID,Cus_Name, Address, Emp_ID, Emp_Name,P_Name, UnitPrice ดังนั้นพิจารณาได้ว่า primary key ของรีเลชันคือ Bill_No รวม กับ P_ID

9 รีเลชันที่อยู่ในรูป 1NF Bill_ No Bill_DateP_IDP_Name Unit Price QT Y Cus _ID Cus_ Name Address Emp_ ID Emp_ Name B0011/08/2004P01Sofa Bed12,5001C03PimAustraliaE02Smith B0011/08/2004P03Dinning Table5,0002C03PimAustraliaE02Smith B0021/08/2004P02Bed15,0002C03PimAustraliaE03Benny B0021/08/2004P05Electric Fan3,00010C03PimAustraliaE03Benny B0021/08/2004P04Printer12,0002C03PimAustraliaE03Benny B0033/08/2004P01Sofa Bed12,50010C01JenniferNewzelandE01Johnson B0044/08/2004P03Dinning Table5,0002C02DavidUSAE01Johnson B0044/08/2004P05Electric Fan3,0005C02DavidUSAE01Johnson B0054/08/2004P07Air Conditioner20,0002C01JenniferNewzelandE02Smith B0054/08/2004P04Printer12,0001C01JenniferNewzelandE02Smith

10 Second Normal Form (2NF) นิยามของ 2NF รีเลชันที่เป็น 2NF ต้องต้องเป็น 1NF มาก่อน และ ไม่มีแอตทริ บิวต์ที่ขึ้นต่อกันกับบางส่วนของ คีย์หลัก (Partial Dependency) นิยามของ 2NF รีเลชันที่เป็น 2NF ต้องต้องเป็น 1NF มาก่อน และ ไม่มีแอตทริ บิวต์ที่ขึ้นต่อกันกับบางส่วนของ คีย์หลัก (Partial Dependency)

11 รีเลชันอยู่ในรูป 1NF แต่ไม่เป็น 2NF เนื่องจากมี Partial Dependency Bill_ No Bill_DateP_IDP_Name Unit Price QT Y Cus _ID Cus_ Name Address Emp_ ID Emp_ Name B0011/08/2004P01Sofa Bed12,5001C03PimAustraliaE02Smith B0011/08/2004P03Dinning Table5,0002C03PimAustraliaE02Smith B0021/08/2004P02Bed15,0002C03PimAustraliaE03Benny B0021/08/2004P05Electric Fan3,00010C03PimAustraliaE03Benny B0021/08/2004P04Printer12,0002C03PimAustraliaE03Benny B0033/08/2004P01Sofa Bed12,50010C01JenniferNewzelandE01Johnson B0044/08/2004P03Dinning Table5,0002C02DavidUSAE01Johnson B0044/08/2004P05Electric Fan3,0005C02DavidUSAE01Johnson B0054/08/2004P07Air Conditioner20,0002C01JenniferNewzelandE02Smith B0054/08/2004P04Printer12,0001C01JenniferNewzelandE02Smith Partial Dependency Fully Functional Dependency

12 วิธรการปรับจาก 1NF เป็น 2NF ให้แตกรีเลชัน โดยเอากลุ่มแอตทริ บิวต์ที่ขึ้นกับบางส่วนของ Primary ออกเป็นรีเลชันใหม่ Unit PriceP_NameP_IDEmp_NameEmp_IDAddressCus_NameCus_IDBill_DateBill_NoQTYP_IDBill_No

13 Bill_Date Cus_ ID Cus_ Name Address Emp _ID Emp_ Name B0011/08/2004C03PimAustraliaE02Smith B0021/08/2004C03PimAustraliaE03Benny B0033/08/2004C01JenniferNewzelandE01Johnson B0044/08/2004C02DavidUSAE01Johnson B0054/08/2004C01JenniferNewzelandE02Smith P_IDP_NameUnit Price P01Sofa Bed12,500 P03Dinning Table5,000 P02Bed15,000 P05Electric Fan3,000 P04Printer12,000 P07Air Conditioner20,000 Bill_NoP_IDQTY B001P011 B001P032 B002P022 B002P0510 B002P042 B003P0110 B004P032 B004P055 B005P072 B005P041 Bill Product Bill_Details

14 Thrid Normal Form (3NF) นิยามของ 3NF รีเลชันที่เป็น 3NF ต้องต้องเป็น 2NF มาก่อน และ ไม่มีแอตทริ บิวต์ที่ไม่ได้เป็นคีย์หลักขึ้นต่อค่า ของแอตทริบิวต์ที่ไม่ได้เป็นคีย์ หลัก (Transitive Dependency) นิยามของ 3NF รีเลชันที่เป็น 3NF ต้องต้องเป็น 2NF มาก่อน และ ไม่มีแอตทริ บิวต์ที่ไม่ได้เป็นคีย์หลักขึ้นต่อค่า ของแอตทริบิวต์ที่ไม่ได้เป็นคีย์ หลัก (Transitive Dependency)

15 Bill_NoBill_Date Cus_ ID Cus_ Name Address Emp _ID Emp_ Name B0011/08/2004C03PimAustraliaE02Smith B0021/08/2004C03PimAustraliaE03Benny B0033/08/2004C01JenniferNewzelandE01Johnson B0044/08/2004C02DavidUSAE01Johnson B0054/08/2004C01JenniferNewzelandE02Smith P_IDP_NameUnit Price P01Sofa Bed12,500 P03Dinning Table5,000 P02Bed15,000 P05Electric Fan3,000 P04Printer12,000 P07Air Conditioner20,000 Bill_NoP_IDQTY B001P011 B001P032 B002P022 B002P0510 B002P042 B003P0110 B004P032 B004P055 B005P072 B005P041 Bill Product Bill_Details เป็น 3NF แล้ว ยังไม่เป็น 3NF

16 P_IDP_NameUnit Price P01Sofa Bed12,500 P03Dinning Table5,000 P02Bed15,000 P05Electric Fan3,000 P04Printer12,000 P07Air Conditioner20,000 Product อาจแตกตารางเป็นดังนี้ P_IDP_Name P01Sofa Bed P03Dinning Table P02Bed P05Electric Fan P04Printer P07Air Conditioner P_NameUnit Price Sofa Bed12,500 Dinning Table5,000 Bed15,000 Electric Fan3,000 Printer12,000 Air Conditioner20,000 แต่การแตกแบบนี้ทำให้ เกิดความซ้ำซ้อนมากกว่า จึงไม่นิยมแตกออก ให้ใช้รีเลชัน Product เดิมก่อนแตก

17 Bill_NoBill_Date Cus_ ID Cus_ Name Address Emp _ID Emp_ Name B0011/08/2004C03PimAustraliaE02Smith B0021/08/2004C03PimAustraliaE03Benny B0033/08/2004C01JenniferNewzelandE01Johnson B0044/08/2004C02DavidUSAE01Johnson B0054/08/2004C01JenniferNewzelandE02Smith Bill Cus_IDCus_NameAddress C03PimAustralia C01JenniferNewzeland C02DavidUSA Emp_IDEmp_Name E02Smith E03Benny E01Johnson Bill_NoBill_DateCus_IDEmp_ID B0011/08/2004C03E02 B0021/08/2004C03E03 B0033/08/2004C01E01 B0044/08/2004C02E01 B0054/08/2004C01E02 Customer แตกรีเลชันได้เป็นดังนี้ Employee Bill Transitive Dependency

18 P_IDP_NameUnit Price P01Sofa Bed12,500 P03Dinning Table5,000 P02Bed15,000 P05Electric Fan3,000 P04Printer12,000 P07Air Conditioner20,000 Product Bill_NoP_IDQTY B001P011 B001P032 B002P022 B002P0510 B002P042 B003P0110 B004P032 B004P055 B005P072 B005P041 Bill_Details Cus_IDCus_NameAddress C03PimAustralia C01JenniferNewzeland C02DavidUSA Emp_IDEmp_Name E02Smith E03Benny E01Johnson Bill_NoBill_DateCus_IDEmp_ID B0011/08/2004C03E02 B0021/08/2004C03E03 B0033/08/2004C01E01 B0044/08/2004C02E01 B0054/08/2004C01E02 Customer Employee Bill


ดาวน์โหลด ppt ตัวอย่างการ ปรับบรรทัด ฐาน 1NF >> 3NF. Bill_ No Bill_DateP_IDP_Name Unit Price QTYTotal Cus_ ID Cus_ Name Address Emp _ID Emp_ Name B0011/08/2004P01Sofa.

งานนำเสนอที่คล้ายกัน


Ads by Google