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

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

ส่วนที่ 4 System Design การออกแบบระบบ. Chapter 12 Database Design การออกแบบฐานข้อมูล.

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


งานนำเสนอเรื่อง: "ส่วนที่ 4 System Design การออกแบบระบบ. Chapter 12 Database Design การออกแบบฐานข้อมูล."— ใบสำเนางานนำเสนอ:

1 ส่วนที่ 4 System Design การออกแบบระบบ

2 Chapter 12 Database Design การออกแบบฐานข้อมูล

3 System Development Life Cycle : SDLC 12.2 กิจกรรมในขั้นตอนนี้ได้แก่ 1. การออกแบบฟอร์มและรายงาน 2. การออกแบบ GUI 3. การออกแบบฐานข้อมูล

4 Learning Objectives 12.3  เพื่อให้ผู้เรียนสามารถเข้าใจและอธิบายต้นแบบของฐานข้อมูลได้  เข้าใจและสามารถปรับปรุงโครงสร้างข้อมูลของฐานข้อมูลโดยการ ทำ Normalization ได้  สามารถอธิบายการออกแบบฐานข้อมูล Database Design

5 Topics 12.4  การออกแบบฐานข้อมูล  ฐานข้อมูลเชิงสัมพันธ์  การออกแบบฐานข้อมูลระดับตรรกะ  Normalization

6 การออกแบบฐานข้อมูล 12.5 ขั้นตอนการออกแบบฐานข้อมูล แบ่งออกเป็น 3 ระดับ คือ  Conceptual Design  Logical Design  Physical Design

7 การออกแบบฐานข้อมูล 12.6  Conceptual Design : การอธิบายถึงข้อมูลและความสัมพันธ์กันของ ข้อมูลในระบบที่เราวิเคราะห์มา โดยกำหนดว่าจากความต้องการของผู้ใช้ จะต้องมีข้อมูลอะไรบ้าง และข้อมูลแต่ละตัวมีความสัมพันธ์กันอย่างไร และมี ข้อจำกัดอะไรบ้าง แสดงโดยใช้ High-Level Conceptual Data Model ใน ที่นี้เราใช้ E-R Model  Logical Design : จากโครงสร้างของฐานข้อมูลที่ได้จากการออกแบบ ฐานข้อมูลในระดับ Conceptual แล้วนำโครงสร้างนั้นมาอิงกับ Data Model เพื่อแปลงเป็นตาราง (Relational Data Model) หรือความสัมพันธ์ตาม แนวคิดของ Data Model จากนั้นต้องมีการปรับปรุงโครงสร้างของฐานข้อมูล ให้มีความซ้ำซ้อนกันน้อยที่สุด โดยใช้ทฤษฎีการทำ Normalization  Physical Design : จากนั้นเป็นขั้นตอนการ Implement โดยนำ DBMS มา ใช้ Implement ผลลัพธ์ที่ได้ คือ Database Schema และขั้นตอนสุดท้าย คือการออกแบบการจัดเก็บข้อมูลลงใน Disk เป็นเรื่องของ Internal Storage Structure การเข้าถึงข้อมูลจะทำอย่างไร

8 ตัวอย่างฐานข้อมูลเชิงสัมพันธ์ 12.7

9 แบบจำลองข้อมูลเชิงสัมพันธ์ (Relational Database Model) 12.8 แบบจำลองข้อมูลเชิงสัมพันธ์ (Relational Database Model) คือ แบบจำลองที่นำเสนอโครงสร้างของข้อมูลที่อยู่ในฐานข้อมูลเชิงสัมพันธ์ โดยเสนอในรูปแบบตาราง (Table) หรือ Relations Relations คือ ตาราง 2 มิติที่ใช้บรรจุข้อมูล โดยแต่ละ Relations จะ ประกอบด้วยชุดของแถว (Row) เรียกว่า “Tuple”และ คอลัมน์ (Column) เรียกว่า “Field” หรือ “Attribute”

10 แบบจำลองข้อมูลเชิงสัมพันธ์ (Relational Database Model) 12.9 Emp_IDEmp_NameEmp_SexEmp_DepSalary 110 วิลาวัลย์ ขำคม F โปรแกรมเมอร์ 15, อุษาวดี เจริญกุล F โปรแกรมเมอร์ 15, นพพร บุญชู M การตลาด 12, กษมา ร่มเย็น M การตลาด 11, วนิดา แซ่ลี้ F การตลาด 12,500 EMPLOYEE(Emp_ID,Emp_Sex,Emp_Name,Emp_Dep,Salary)

11 คุณสมบัติของ Relation ข้อมูลที่อยู่ใน Attribute 1 Attribute และ Row 1 Row จะต้องมี คุณสมบัติ Atomic คือมีค่าเพียงค่าเดียวเท่านั้น หรือเรียกว่า “Single- Valued” 2. ข้อมูลที่อยู่ใน Attribute เดียวกันจะต้องอยู่ภายในขอบเขตของค่าที่ เป็นไปได้ (Domain) เดียวกัน 3. ข้อมูลในแต่ละแถว (Tuple) จะต้องมีค่าไม่ซ้ำกันเลย เช่น กรณีที่ใน แผนกงานหนึ่ง มีพนักงานชื่อและนามสกุลเดียวกัน 2 คน ในการเก็บข้อมูล ของพนักงานทั้งสองจะต้องไม่มีค่าซ้ำกันดังตัวอย่าง

12 คุณสมบัติของ Relation Emp_IDEmp_NameEmp_SexEmp_DepSalary 110 วิลาวัลย์ ขำคม F โปรแกรมเมอร์ 15, วิลาวัลย์ ขำคม F โปรแกรมเมอร์ 15, อุษาวดี เจริญกุล F โปรแกรมเมอร์ 15, นพพร บุญชู M การตลาด 12, กษมา ร่มเย็น M การตลาด 11, วนิดา แซ่ลี้ F การตลาด 12,500 มี Emp_I D ทำ ให้ไม่ ซ้ำกัน

13 คุณสมบัติของ Relation ลำดับการจัดเรียงของ Attributes จากซ้ายไปขวา ไม่จำเป็นต้องมีการ เรียงลำดับ 5. ลำดับของข้อมูลแต่ละแถวจากบนลงล่าง ไม่จำเป็นต้องมีการเรียงลำดับ

14 คุณสมบัติของ Relation Emp_IDEmp_NameEmp_SexEmp_DepSalary 110 วิลาวัลย์ ขำคม F โปรแกรมเมอร์ 15, อุษาวดี เจริญ กุล F โปรแกรมเมอร์ 15,10 0 M นพพร บุญชู 002 การตลาด ฝ่ายขาย 18, กษมา ร่มเย็น M การตลาด 11, วนิดา แซ่ลี้ F การตลาด 12,

15 คุณสมบัติของ Relation Emp_IDEmp_NameEmp_SexEmp_DepSalary 110 วิลาวัลย์ ขำคม F โปรแกรมเมอร์ 15, วิลาวัลย์ ขำคม F โปรแกรมเมอร์ 15, อุษาวดี เจริญกุล F โปรแกรมเมอร์ 15, นพพร บุญชู M การตลาด 12, กษมา ร่มเย็น M การตลาด 11, วนิดา แซ่ลี้ F การตลาด 12,500 4,5

16 Integrity Rule สามารถแบ่งเป็น 2 ส่วน ดังนี้  Entity Integrity Rule เป็นกฏเกณฑ์เพื่อควบคุมความถูกต้องของ Entity ซึ่ง จะต้องมีลักษณะจำแนกความแตกต่างหรืออ้างถึงสมาชิกได้ และจะต้องไม่เป็น ค่าว่าง “Primary Key”  Referential Integrity Rule เป็นกฏเกณฑ์ที่ใช้รักษาความสัมพันธ์ของข้อมูล และใช้ในการอ้างถึงข้อมูลระหว่าง Table “Foreign Key”

17 การปรับเปลี่ยนโครงสร้างของข้อมูล ให้อยู่ในระดับตรรกะ ในการปรับเปลี่ยนโครงสร้างของข้อมูลให้อยู่ในระดับตรรกะมีดังนี้ 1.การกำจัด Composite Attribute 2.การกำจัด Multi-valued Attribute 3.การกำจัด External Identifier

18 การกำจัด Composite Attribute PERSON Name Age Sex Address Street City State PERSON Name Age Sex Street City State วิธีที่ 1 แยก Composite Attribute ออกเป็น Attribute ย่อย

19 การกำจัด Composite Attribute PERSON Name Age Sex Address Street City State PERSON Name Age Sex Address วิธีที่ 2 ยุบ Composite Attribute ให้เหลือเพียง Attribute เดียว

20 การกำจัด Multivalued Attribute กรณีกำจัด Multi-valued Attribute ของ Entity จะมีขั้นตอนดังนี้ 1.แปลง Multi-valued Attribute ของ Entity ไปเป็น Entity ใหม่โดยที่ Entity ใหม่นี้จะประกอบไปด้วย Attribute ที่ได้มาจาก Multi-valued Attribute และ Identifier ของ Entity เดิม 2.รวมทุก Attribute ของ Entity ใหม่เป็น Identifier ของ Entity ใหม่

21 การกำจัด Multi-valued Attribute กรณีกำจัด Multi-valued Attribute ของ Relationship จะมีขั้นตอนดังนี้ 1.แปลง Multi-valued Attribute ของ Relationshipไปเป็น Entity ใหม่ โดยที่ Entity ใหม่นี้จะประกอบด้วย Attribute ที่ได้มาจาก Multi-valued Attribute และ Identifier ของ Entity ที่มีความสัมพันธ์กับ Relationship นั้น สำหรับการ เลือก Identifier มาเป็น Attribute ของ Entity ใหม่จะมีหลักการดังนี้ ถ้าเป็น One-to-One Relationship ให้เลือก Identifier จาก Entity ใดก็ ได้ที่มีความสัมพันธ์กับ Relationship นั้นมาเป็น Attribute ของ Entity ใหม่ ถ้าเป็น One-to-Many Relationship ให้เลือก Identifier จาก Entity ทางด้าน Many ที่มีความสัมพันธ์กับ Relationship นั้นมาเป็น Attribute ของ Entity ใหม่ ถ้าเป็น Many-to-Many Relationship ให้เลือก Identifier จากทั้ง 2 Entityที่มีความสัมพันธ์กับ Relationship นั้นมาเป็น Attribute ของ Entity ใหม่ 2.รวมทุก Attribute ของ Entity ใหม่เป็น Identifier ของ Entity ใหม่

22 การกำจัด Multi-valued Attribute PRODUCT Product_Code Material_Code Description Price PRODUCT_MATERIAL Product_Code Material_Code เป็น Multivalue attribute

23 การกำจัด External Identifier เนื่องจาก Relational Model จะไม่ปรากฏ Identifier แบบ External Identifier ดังนั้นจึงต้องแปลง External Identifier ให้อยู่ในรูป Internal Identifier โดยมีขั้นตอนดังนี้ 1.แปลง External Identifier ไปเป็น Attribute ใหม่ของ Weak โดย Attribute ใหม่นี้จะทำหน้าที่เป็น Identifier ร่วมกับ Identifier เดิมของ Weak Entity 2.ตัด Relationship ระหว่าง Strong Entity และ Weak Entity ทิ้ง

24 การกำจัด External Identifier University ENROLL STUDENT University-Code U_Name City Age STD_Name Student_No เป็น External Identifier ของ Entity Student

25 การกำจัด External Identifier University University-Code U_Name City STD_Name Student_No University-Code Age STUDENT

26 Relational Schema Relational Schema เป็นรูปแบบที่ใช้แสดงถึงโครงสร้างของแต่ละ Entity ใน Relational Model ซึ่งประกอบขึ้นจากเซตของ Attribute ภายใต้ Relation นั้น โดยมีรูปแบบ ดังนี้ Relation-Name(A1,A2,A3,…,An) โดยที่ Relation-Name หมายถึง ชื่อของ Relation A1,A2,….,An หมายถึง รายชื่อ Attribute ภายใต้ Relation นั้น เมื่อนำแต่ละ Relation มาประกอบกันจะปรากฏเป็น โครงสร้างทั้งหมดของฐานข้อมูล เรียกว่า Relational Database Schema

27 การแปลง Entity ไปเป็น Relation Emp_Name EMPLOYEE Emp-No Sex Age EMPLOYEE(Emp-No,Emp-Name,Sex,Age)

28 การแปลง Relationship ไปเป็น Relation ในการแปลง Relationship ไปเป็น Relation นั้นจะแปลงตาม Cardinality ของ Relationship ได้ดังนี้  กรณีที่เป็น One-to-One Relationship ในการแปลงสามารถทำได้ 2 กรณี ดังนี้  กรณีที่ 1 Entity มีความสัมพันธ์กับแบบ Total Participation คือ สมาชิกทุก ตัวใน Entity หนึ่งมีความสัมพันธ์กับอีก Entity หนึ่ง อย่างน้อย 1 ตัว โดยในกรณีนี้ ให้ทำการแปลงทั้ง Entity และ Relationship ที่สัมพันธ์กันเป็น Relation เดียวที่ ประกอบขึ้นจาก Attribute ของทั้ง Entity และ Relationship ที่สัมพันธ์กันนั้น พร้อมกับกำหนด Primary key จาก Identifier ของ Entity ใด Entity หนึ่งที่ สัมพันธ์กัน

29 การแปลง Relationship ไปเป็น Relation CUSTOMER Cust-No Cust_Name Ship-Address CUST-SHIPPING(Cust-No,Cust-Name,Ship-Address) WITH SHIPPING-INFO Cust-No 1 1 (1,1)

30 การแปลง Relationship ไปเป็น Relation  กรณีที่ 2 Entity มีความสัมพันธ์กับแบบ Partial Participation คือ สมาชิกบาง ตัวใน Entity หนึ่งไปมีความสัมพันธ์กับสมาชิกบางตัวของอีก Entity หนึ่ง โดยใน กรณีนี้ ให้ทำการแปลงแต่ละ Entity ที่มีสัมพันธ์กันเป็นแต่ละ Relation ที่มี Primary key ซึ่งเลือกจาก Identifier ของ Entity เหล่านั้นส่วน Relationship สามารถทำได้ 2 วิธีดังนี้  วิธีที่ 1 แปลง Relationship ไปเป็น Relation ที่ประกอบด้วย Attribute ของ Relationship นั้นเองรวมกับ Attribute ที่เป็น Identifier ของ Entity ที่สัมพันธ์กับ Relationship นั้นส่วน Primary Key ให้เลือกจาก Identifier ของ Entity ใด Entity หนึ่งที่สัมพันธ์กับ Relationship นั้น

31 การแปลงโครงร่างของ Relationship ให้อยู่ในรูปของ Relational Schema แบบ Partial Participant CUSTOMER Cust-No Cust_Name Credit-Limit CUSTOMER(Cust-No,Cust-Name) CREDIT-CARD(Card_Type,Card-No,Credit-Limit) POSSESSES-CARD(Card-Type,Card-No,Cust-No) Possesses CREDIT-CARD 1 1 (0,1) (1,1) Card-No Card-Type

32 การแปลง Relationship ไปเป็น Relation  วิธีที่ 2 วิธีนี้สามารถทำได้เช่นเดียวกับวิธีที่ 1 แต่การเลือกPrimary Key ให้เลือกจาก Identifier ของทุก Entity ที่สัมพันธ์กับ Relationship นั้น ดัง ตัวอย่าง

33 การแปลงโครงร่างของ Relationship ให้อยู่ในรูปของ Relational Schema แบบ Partial Participant MALE Male-SSN Name MALE(Male-SSN, Name) FEMALE(Female-SSN, Name) MARRIAGE(Male-SSN,Female-SSN,Date,Duration) MARRIAGE FEMALE 1 1 (0,1) Female-SSN Date Duration

34 การแปลง Relationship ไปเป็น Relation  กรณีที่เป็น One-to-Many Relationship ในการแปลงสามารถทำได้ 2 กรณี ดังนี้  กรณีที่ 1 Entity มีความสัมพันธ์กับแบบ Total Participation คือ ให้ย้ายทุก Attribute ของRelationship รวมทั้งสำเนา Identifier ของ Entity ทางด้าน One ไปเป็น Attribute ของ Entity ทางด้าน Many จากนั้นจึงแปลงทั้ง 2 Entity ไป เป็น Relation ดังตัวอย่าง

35 การแปลงโครงร่างของ Relationship ให้อยู่ในรูปของ Relational Schema CITY BELONG-TO City-NamePopulation Governor State-Name STATE Population (1,1) (1,n) M 1 CITY(City-Name,State-Name,Population) STATE(State-Name,Governor,Population)

36 การแปลง Relationship ไปเป็น Relation  กรณีที่ 2 Entity มีความสัมพันธ์กับแบบ Partial Participation ให้แปลงทั้ง 2 Entity และ Relationship ไปเป็นแต่ละ Relation แต่ Relation ของ Relationship จะประกอบด้วย Attribute ของ Relationship เองรวมกับ Identifier ของทั้ง 2 Entity ที่สัมพันธ์กับ Relationship นั้น ส่วน Primary Key ให้เลือกจาก Identifier ของ Entity ใด Entity หนึ่งที่สัมพันธ์กับ Relationship นั้น ดังตัวอย่าง

37 การแปลงโครงร่างของ Relationship ให้อยู่ในรูปของ Relational Schema SALEMAN WRITES NamePhone-No Date Order_No ORDER (1,n) (0,1)M 1 SALEMAN(Name, Phone-No) ORDER(Order-No, Date) SALE-ORDER(Order-No, Name, Discount-Rate) Discount- Rate

38 การแปลง Relationship ไปเป็น Relation  กรณีที่เป็น Many-to-Many Relationship ให้ทำการแปลงทั้ง 2 Entity และ Relationship ไปเป็นแต่ละ Relation แต่ Relation ของ Relationship จะประกอบด้วย Attribute ของ Relationship เอง รวมกับIdentifier ของทั้ง 2 Entity ที่สัมพันธ์กับ Relationship นั้น ส่วน Primary Key ให้เลือกจาก Identifier ของทั้ง2 Entity ที่สัมพันธ์กับ Relationship นั้น ดัง ตัวอย่าง

39 การแปลงโครงร่างของ Relationship ให้อยู่ในรูปของ Relational Schema STUDENT Student-No Name Course_No COURSE (1,n) M N STUDENT(Student_No, Last-Name,GPA) COURSE(Course-No, Course-Name) ENROLL-IN(Student-No, Course-No, Semester,Grade) GPA Grade Semester Course-Name ENROLL-IN

40 การแปลง Relationship ไปเป็น Relation  กรณีที่เป็น N-ary Relationship ให้แปลงทุก Entity และ Relationship ไปเป็นแต่ละ Relation แต่ Relation ของ Relationship จะประกอบด้วย Attribute ของ Relationship เอง รวมกับ Identifier ของทุก Entity ที่สัมพันธ์กับ Relationship นั้น ส่วน Primary Key ให้เลือกจาก Identifier ของทุก Entity ที่สัมพันธ์กับ Relationship นั้น ดัง ตัวอย่าง

41 การแปลงโครงร่างของ Relationship ให้อยู่ในรูปของ Relational Schema Product-Code Name M M PRODUCT(Product-Code, Name, Description) PART(Part-Code, Description) SUPPLIER(Supplier-Code, Name, Address, Telephone) SUPPLY(Product-Code, Part-Code, Supplier-Code, Quantity) Description Part-Code Name PRODUCT PART SUPPLY M Description Supplier-Code Quantity Address Telephone SUPPLIER

42 การแปลง Relationship ไปเป็น Relation กรณีที่เป็น Recursive Relationship ให้แปลงทุก Entity และ Relationship ไปเป็นแต่ละ Relation แต่ Relation ของ Relationship จะประกอบขึ้นจาก Identifier ของ Entity ที่สัมพันธ์กับ Relationship นั้นจำนวน 2 ชุด ซึ่งแต่ละชุดจะให้ชื่อตาม Role ของ Entity ใน Relationship นั้นรวมกับ Attribute ของ Relationship เอง ส่วนการเลือก Primary Key จะสามารถทำได้ 2 กรณีดังนี้  กรณีเป็น One-to-Many Relationship ให้เลือก Primary Key จาก Identifier ทางด้าน Many  กรณีเป็น Many-to-Many Relationship ให้เลือก Primary Key 2 ด้าน รวมกัน

43 การแปลงโครงร่างของ Relationship ให้อยู่ในรูปของ Relational Schema EMPLOYEE Name IS- Subor d MANAGER-OF Date-of-Birth IS- Manager- of

44 กรณีที่เป็น Recursive Relationship กรณีกำหนดให้ลูกจ้างแต่ละคนสามารถมีนายจ้างได้หลายคน ความสัมพันธ์จึงอยู่ ในลักษณะ Many-to-Many ดังนั้นทั้ง Attribute “NAME-OF-MANAGER” และ “NAME-OF-SUBORDINATE” จึงถูกกำหนดให้เป็น Primary Key ของ Relation ดังนี้ EMPLOYEE(Name, Date-Of-Birth) MANAGER-OF (Name-Of-Manager, Name-of-Subordinate)

45 กรณีที่เป็น Recursive Relationship กรณีกำหนดให้ลูกจ้างแต่ละคนสามารถมีนายจ้างได้เพียงคนเดียว ความสัมพันธ์ จึงอยู่ในลักษณะ One-to-Many ดังนั้น Attribute “Name-Of-Subordinate” จึงถูก กำหนดให้เป็น Primary Key ของ Relationเพียง Attribute ดังนี้ EMPLOYEE(Name, Date-Of-Birth) MANAGER-OF (Name-Of-Subordinate, Name-of-Manager) แต่บางกรณี ถ้าค่าของ Attribute “Name-of-Subordinate” ของ Relation “Manager-Of” และ Attribute “Name” ของ Relation “Employee” มีค่า เดียวกัน สามารถยุบ Relation “Manager-Of” เพื่อไปเป็น Attribute ของ Relation “Employee” EMPLOYEE(Name, Date-Of-Birth, Name-Of-Manager)

46 การทำ Normalization  Normalization คือ กระบวนการปรับปรุงโครงสร้างข้อมูลของฐานข้อมูลที่มีความ ซ้ำซ้อนให้อยู่ในรูปแบบที่เป็นบรรทัดฐาน  Normal Form มีอยู่ 6 ระดับด้วยกัน คือ 1. First Normal Form (1NF) เพื่อจำกัดกลุ่มข้อมูลที่ซ้ำซ้อนกัน 2. Second Normal Form (2NF) เพื่อจำกัดความสัมพันธ์แบบ Partial Dependency ที่เกิดขึ้นระหว่าง Attribute 3. Third Normal Form (3NF) เพื่อจำกัดความสัมพันธ์แบบ Transitive Dependency ที่เกิดขึ้นระหว่าง Attribute 4. Boyce-Codd Normal Form (BCNF) เพื่อจำกัดปัญหาแบบ Update Anomaly ที่ อาจเหลืออยู่ 5. Fourth Normal Form (4NF) เพื่อจำกัดปัญหาแบบ Multi-Value Dependency ที่ เกิดขึ้นของ Attribute 6. Fifth Normal Form (5NF) เพื่อจำกัดปัญหาแบบ Join Dependency ที่เกิดขึ้นของ Attribute

47 ขั้นตอนการทำ Normalization Entity ที่มีข้อมูลซ้ำซ้อน 1NF 2NF 3NF กำจัดกลุ่มข้อมูลซ้ำซ้อน กำจัด Partial Dependenc y กำจัด Transitive Dependenc y

48 การทำ Normalization Partial Dependency คือความสัมพันธ์ที่ต้องมี Determinant-attribute มากกว่า 1 ตัว (มี Primary key/Identifier มากกว่า 1 Attributes นั่นเอง) ความสัมพันธ์ระหว่างค่าของ Attribute เมื่อ Attribute ที่เป็น Determinant บางตัวสามารถระบุค่าของ Attribute อื่นที่ไม่ใช่ Identifier ได้ EmpIDCourseNoDateCompleteCourseName Partial Dependency

49 การทำ Normalization Transitive Dependency คือความสัมพันธ์ระหว่าง Attribute ที่ไม่ใช่ Determinant Attribute (Attribute ที่ไม่ใช่ Primary Key นั่นเอง) ไป ขึ้นอยู่กับ Attribute อื่นที่ไม่ได้เป็น Determinant Attribute เหมือนกัน Emp_IDNameJob_ClassChg_Hour Transitive Dependency

50 ตัวอย่างข้อมูล EmpIDEmpNameDeptNoDeptNameSalaryCourse NO Course Name Date Complete 110วิลาวัลย์ ขำคม01Account15,000C1Acc PAC12/ C2SPSS30/04/ อุษาวดี เจริญกุล01Account15,100C1Acc PAC12/ นพพร บุญชู03IT12,000C33D Studio max 31/03/2002 C2SPSS30/04/ กสมา ร่มเย็น03IT11,000C2SPSS30/04/ วนิดา แซ่ลิ้ม02Marketing12,500C1Acc PAC12/06/2002

51 First Normal Form (1NF) First Normal Form (1NF) เพื่อกำจัดกลุ่มข้อมูลที่ซ้ำซ้อนกัน (Repeating Group)  วิธีแก้ไข (กำจัด Repeating Group) เติมข้อมูลใน Attribute ที่ว่างให้เต็ม และนำ “CourseNo” มาเป็น Primary Key ร่วมกับ “EmpID”

52 ผลลัพธ์การทำ 1NF EmpIDEmpNameDeptNoDeptNameSalaryCourse NO Course Name Date Complete 110วิลาวัลย์ ขำคม01Account15,000C1Acc PAC12/ วิลาวัลย์ ขำคม01Account15,000C2SPSS30/04/ อุษาวดี เจริญกุล01Account15,100C1Acc PAC12/ นพพร บุญชู03IT12,000C33D Studio max 31/03/ นพพร บุญชู03IT12,000C2SPSS30/04/ กษมา ร่มเย็น03IT11,000C2SPSS30/04/ วนิดา แซ่ลิ้ม02Marketing12,500C1Acc PAC12/06/2002

53 Second Normal Form (2NF) Entity หรือ Relationship จะมีคุณสมบัติเป็น 2 NF ได้เมื่อ 1.Entity นั้นจะต้องมีคุณสมบัติ 1NF 2.Attributes จะต้องไม่มีความสัมพันธ์กันแบบ Partial Dependency กล่าวคือ Nonprime Attribute จะต้องไม่ ขึ้นอยู่กับ Identifier ตัวใดตัวหนึ่ง กรณีที่ Identifier นั้นเกิด จาก Attribute มากกว่า 1 Attribute  วิธีการแก้ไข (กำจัด Partial Dependency) แยก Attribute ที่ขึ้นตรงต่อกันออกมาเป็น Relation ใหม่ โดยมี Attribute ที่สามารถระบุค่าอื่นได้เป็น Primary Key

54 ผลลัพธ์การทำ 1NF EmpIDEmpNameDeptNoDeptNameSalaryCourse NO Course Name Date Complete FD1: EmpID,CourseNo -> DateComplete FD2: EmpID -> EmpName, DeptNo, DepName, Salary FD3: CourseNo -> CourseName

55 ผลลัพธ์การทำ 2NF EmployeeCourse EmpIDEmpNameDeptNoDeptNameSalary 110วิลาวัลย์ ขำคม01Account15, อุษาวดี เจริญกุล01Account15, นพพร บุญชู03IT12, กสมา ร่มเย็น03IT11, วนิดา แซ่ลิ้ม02Marketing12,500 Course NO Course Name C1Acc PAC C2SPSS C33D Studio max

56 ผลลัพธ์การทำ 2NF EmpIDCourse NO Date Complete 110C112/ C230/04/ C112/ C331/03/ C230/04/ C230/04/ C112/06/2002 Emp_Course

57 Third Normal Form (3NF) Entity หรือ Relationship จะมีคุณสมบัติเป็น 3NF ได้เมื่อ 1.Entity นั้นจะต้องมีคุณสมบัติ 2NF 2.ต้องเป็น Entity ที่ Attributes ไม่มีความสัมพันธ์แบบ Transitive Dependency กล่าวคือเกิดกรณีที่ Nonprime Attribute (หรือ Attribute ที่ไม่ใช่ Identifier นั่นเอง) ไปขึ้นอยู่ กับ Nonprime attribute ด้วยกันเอง  วิธีการแก้ไข (กำจัด Transitive Dependency) แยก Attribute ที่ขึ้นตรงต่อกันออกมาเป็น Relation ใหม่ โดยมี Attribute ที่สามารถระบุค่าอื่นได้เป็น Primary Key และเก็บ Attribute ที่เป็น Key ไว้ในทำหน้าที่เป็น Foreign Key ใน Relation เดิม

58 ผลลัพธ์การทำ 3NF EmpIDEmpNameDeptNoDeptNameSalary FD1: EmpID -> EmpName, DeptNo, Salary FD2: DeptN0 -> DepName

59 ผลลัพธ์การทำ 3NF EmpIDEmpNameDeptNoSalary 110วิลาวัลย์ ขำคม0115, อุษาวดี เจริญกุล0115, นพพร บุญชู0312, กสมา ร่มเย็น0311, วนิดา แซ่ลิ้ม0212,500 DeptNoDeptName 01Account 02Marketing 03IT EmployeeDepartment

60 Reference Book and Text Book ตำราอ้างอิง  การวิเคราะห์และออกแบบระบบ กิตติ ภักดีวัฒนกุล และพนิดา พานิชกุล  Modern Systems Analysis & Design : Jeffrey A. Hoffer, Joey F.George, Joseph S. Valacich 12.59

61 Q & A 12.60


ดาวน์โหลด ppt ส่วนที่ 4 System Design การออกแบบระบบ. Chapter 12 Database Design การออกแบบฐานข้อมูล.

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


Ads by Google