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

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

สัปดาห์ที่ 2 การออกแบบฐานข้อมูลระดับตรรกะ1 การออกแบบฐานข้อมูลในระดับตรรกะ Logical Database Design.

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


งานนำเสนอเรื่อง: "สัปดาห์ที่ 2 การออกแบบฐานข้อมูลระดับตรรกะ1 การออกแบบฐานข้อมูลในระดับตรรกะ Logical Database Design."— ใบสำเนางานนำเสนอ:

1 สัปดาห์ที่ 2 การออกแบบฐานข้อมูลระดับตรรกะ1 การออกแบบฐานข้อมูลในระดับตรรกะ Logical Database Design

2 สัปดาห์ที่ 2 การออกแบบฐานข้อมูลระดับตรรกะ2 วัตถุประสงค์ 1.อธิบายความแตกต่างระหว่างระบบแฟ้มข้อมูล (file processing systems) และระบบจัดการฐานข้อมูล (database systems) ได้ 2.อธิบายถึงองค์ประกอบของระบบการจัดการฐานข้อมูล (database management system- DBMS) ได้ 3.เข้าใจแนวความคิดของแบบจำลองข้อมูลเชิงสัมพันธ์ ซึ่งประกอบด้วย entities, fields, records, files, tables, และ key fields 4.ออกแบบความสัมพันธ์ของข้อมูลและเขียนเป็น แผนภาพแสดง ความสัมพันธ์ระหว่างข้อมูล entity-relationship diagram : E-R Diagram) 5.ทราบความหมายของ cardinality, cardinality notation, และ crow’s foot notation 6.สามารถเขียนสามารถแปลงแผนภาพแสดงความสัมพันธ์ให้อยู่ในรูปของ ตารางในแบบจำลองข้อมูลเชิงสัมพันธ์ได้ 7.สามารถใช้ทฤษฏี normalization โดยปรับให้ตารางอยู่ในรูปแบบของ first, second และ third normal form

3 สัปดาห์ที่ 2 การออกแบบฐานข้อมูลระดับตรรกะ3 System development life cycle with logical design phase highlighted

4 สัปดาห์ที่ 2 การออกแบบฐานข้อมูลระดับตรรกะ4 แนวความคิดเกี่ยวกับฐานข้อมูล การจัดการกับข้อมูลใช้เดิมใช้ ระบบแฟ้มข้อมูล (file processing systems) แต่มีข้อเสียมากเนื่องมาจากขาดความยืดหยุ่นในการ แก้ไข และมีความซ้ำซ้อนของข้อมูล ระบบแฟ้มข้อมูลนั้นต้องอาศัยโปรแกรมเมอร์ที่มีความชำนาญ เพื่อพัฒนาโปรแกรมในการอ่านข้อมูลจากแฟ้มข้อมูลนำมา ประมวลผล โดยทั่วไปภาษาคอมพิวเตอร์ที่ใช้ในการพัฒนา โปรแกรมเป็นภาษาคอมพิวเตอร์ในยุคที่ 3 เช่นภาษาโคบอล (COBOL) ภาษาฟอร์แทน(FORTAN) และภาษาเบสิก (BASIC) ภาษาซี ( C )

5 สัปดาห์ที่ 2 การออกแบบฐานข้อมูลระดับตรรกะ5 file processing systems Duplicate Data

6 สัปดาห์ที่ 2 การออกแบบฐานข้อมูลระดับตรรกะ6 การเขียนโปรแกรมรับข้อมูลทางแป้นพิมพ์และ เขียนข้อมูลลงแฟ้มข้อมูล ในภาษา Pascal Program File_write; TYPE Student = RECORD ID: String[8]; Name: String[40]; GPA: Real; End; VARf : FILE OF Student; s : Student; count : integer; Begin Assign(f,’student.dat’) Rewrite(f); Count := 1; While count <= 5 Do Begin Readln(s.ID,s.Name); Readln(s.GPA); Write(f,s); count := count+1; End; Close(f); End. การนิยามโครงสร้างของข้อมูลใน แฟ้มข้อมูล ได้แก่ ชื่อฟิลด์ และ ขนาดของฟิลด์ไว้ ในส่วนนิยาม ข้อมูล ด้วยเหตุนี้ทำให้การพัฒนา โปรแกรมแต่ละโปรแกรมขึ้นใช้งาน นั้นผูกติดกับแฟ้มข้อมูลต่าง ๆ ซึ่ง เป็นปัญหาเรื่องโครงสร้างข้อมูลและ ตัวโปรแกรมไม่เป็นอิสระต่อกัน ดังนั้นเมื่อมีการเปลี่ยนแปลง โครงสร้างของแฟ้มข้อมูลใด แฟ้มข้อมูลหนึ่งจำเป็นต้องแก้ไข โปรแกรมต่าง ๆ ที่มีการเรียกใช้ ข้อมูลจากแฟ้มข้อมูลนั้นด้วย

7 สัปดาห์ที่ 2 การออกแบบฐานข้อมูลระดับตรรกะ7 ปัญหาในการจัดการข้อมูลด้วยแฟ้มข้อมูล ปัญหาความซ้ำซ้อนกันของข้อมูลและความขัดแย้งกันของข้อมูล ( Data redundancy and inconsistency ) ความยากในการเข้าถึงข้อมูล (Difficulty in accessing data) ความไม่เป็นอันหนึ่งอันเดียวกันของข้อมูล (Data Isolation) การกำหนดความถูกต้องของข้อมูล (Integrity problem) ปัญหาที่เกิดจากการ Update ข้อมูลที่อยู่อย่างกระจัดกระจาย (Atomicity of Update ) ปัญหาการใช้ข้อมูลตัวเดียวพร้อมกันจากผู้ใช้หลายคน (Concurrent access by multiple users) ความปลอดภัยของข้อมูล (Security problem)

8 สัปดาห์ที่ 2 การออกแบบฐานข้อมูลระดับตรรกะ8 ระบบฐานข้อมูล (Database System) แนวคิดของระบบฐานข้อมูล คือ การเก็บรวบรวม ข้อมูลที่มีความสัมพันธ์ไว้ในที่เดียวกัน ซึ่งจาก เดิมการจัดเก็บอยู่ในแฟ้มข้อมูลที่ถูกจัดเก็บแบบ กระจายไปตามหน่วยงาน โดยการจัดเก็บในรูป ของฐานข้อมูลจะเป็นแหล่งศูนย์รวมของข้อมูล จากแผนกต่างๆ ผู้ใช้งานแต่ละแผนกสามารถใช้ ข้อมูลจากส่วนกลางนี้ได้ ลดความซ้ำซ้อนกัน ของข้อมูล

9 สัปดาห์ที่ 2 การออกแบบฐานข้อมูลระดับตรรกะ9 ระบบการจัดการฐานข้อมูล (Database Management System: DBMS) ระบบจัดการฐานข้อมูล หรือมักเรียกสั้น ๆ ว่า DBMS คือ โปรแกรมที่ใช้เป็นเครื่องมือในการ จัดการฐานข้อมูล ซึ่ง DBMS จะประกอบด้วย ฟังก์ชันหน้าที่ต่าง ๆ ในการจัดการกับข้อมูล รวมทั้งภาษาที่ใช้ทำงานกับข้อมูล DBMS จะ เป็นตัวกลางระหว่าง ฐานข้อมูล กับ ผู้ใช้ โดยจะ ทำหน้าที่ในการสร้าง เรียกใช้ และการปรับปรุง ข้อมูล

10 สัปดาห์ที่ 2 การออกแบบฐานข้อมูลระดับตรรกะ10 Database System DBMS Database containing centralized shared data Application #1 Application #2 Application #3

11 สัปดาห์ที่ 2 การออกแบบฐานข้อมูลระดับตรรกะ11 ความสำคัญของระบบฐานข้อมูล ลดการเก็บข้อมูลที่ซ้ำซ้อน รักษาความถูกต้องของข้อมูล การป้องกันและการรักษาความปลอดภัยให้กับข้อมูล ทำได้สะดวก สามารถใช้ข้อมูลร่วมกันได้ มีความเป็นอิสระของข้อมูล สามารถขยายงานได้ง่าย ทำให้ข้อมูลบูรณะกลับสู่สภาพปกติได้อย่างรวดเร็วและ มีมาตรฐาน

12 สัปดาห์ที่ 2 การออกแบบฐานข้อมูลระดับตรรกะ12 สถาปัตยกรรมของฐานข้อมูล (Database Architecture)

13 สัปดาห์ที่ 2 การออกแบบฐานข้อมูลระดับตรรกะ13 ขั้นตอนการออกแบบฐานข้อมูล แบ่งออกเป็น 3 ระดับ คือ –Conceptual Design –Logical Design –Physical Design

14 สัปดาห์ที่ 2 การออกแบบฐานข้อมูลระดับตรรกะ14 ขั้นตอนการออกแบบฐานข้อมูล 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 การเข้าถึงข้อมูลจะทำอย่างไร

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

16 สัปดาห์ที่ 2 การออกแบบฐานข้อมูลระดับตรรกะ16 แบบจำลองฐานข้อมูลเชิงสัมพันธ์ (Relational Database) Relational Model ถูก introduced โดย Ted Codd ในปี 1970 ซึ่ง Relational Model represent ข้อมูลอยู่ในรูปตาราง 2 มิติ เรียกตารางนี้ว่า Relation แต่ละคอลัมน์ของตารางความสัมพันธ์ เรียกว่า แอททริบิว(attribute) ของ ความสัมพันธ์ ค่าและขอบเขตของข้อมูลของแอททริบิวเรียกว่า โดเมน(Domain) แต่ละแถวของตารางความสัมพันธ์ เรียกว่า แถว (Row) หรือ ทูเพิล(tuple) ของความสัมพันธ์ แต่ละแถว (Row) จะต้องไม่ซ้ำกัน ไม่มีลำดับของแถว (Row) ข้อมูลในแต่ละคอลัมน์จะต้องเป็นหนึ่งเดียว customer-name Main North Park customer-street Harrison Rye Pittsfield customer-city attributes (or columns) tuples (or rows) Jones Smith Curry Lindsay

17 สัปดาห์ที่ 2 การออกแบบฐานข้อมูลระดับตรรกะ17 ตัวอย่างของฐานข้อมูลเชิง สัมพันธ์

18 สัปดาห์ที่ 2 การออกแบบฐานข้อมูลระดับตรรกะ18 Constraint คือ เงื่อนไข, ข้อจำกัด ที่ทุก ๆ Relation instances ต้องยึดถือ Three main type of constraint 1. Key constraint 2. Entity integrity constraint 3. Referential integrity constraint Relational Integrity Constraint

19 สัปดาห์ที่ 2 การออกแบบฐานข้อมูลระดับตรรกะ19 Key constraint ฐานข้อมูลเชิงสัมพันธ์จะจัดเก็บข้อมูลในตาราง 2 มิติ ที่ประกอบด้วยจำนวนแถวและ คอลัมน์ซึ่งจำเป็นต้องมีการกำหนดคอลัมน์หรือกลุ่มของคอลัมน์เพื่อใช้ในการระบุแถว ต่าง ๆ เพื่อทำให้แต่ละแถวมีความแตกต่างกันหรือมีความเป็นเอกลักษณ์ (Uniqueness property) ซึ่งเรียกว่า คีย์ –Superkey คือ แอททริบิวต์หรือกลุ่มของแอททริบิวต์ที่บ่งบอกถึงความเป็น เอกลักษณ์ (uniquely) ของแต่ละ Row ใน Relation –Candidate key คือ คีย์คู่แข่ง ซึ่งก็คือ Superkey โดยจะไม่มีสับเซต ของคีย์ ใดในคีย์คู่แข่งที่สามารถกำหนดเป็น superkey ได้อีก –Primary Key (PK) คือ Candidate key นั่นเอง แต่เป็น Candidate key ที่ผ่านการคัดเลือกเพื่อให้คีย์หลัก และใช้ในการอ้างอิงความเป็นเอกลักษณ์ของ Relationนั้น ๆ –Alternate Key คือ Candidate Key อื่นๆ ที่ไม่ได้เป็น Primary Key –Foreign key (FK) คือคีย์นอก Primary Key (PK) ของ Relationหนึ่งและ ไปปรากฏเป็น Attribute ในอีกรีเลชั่นหนึ่ง ซึ่ง Foreign key (FK) จัดเป็นคีย์ที่ สำคัญมากในฐานข้อมูลเชิงสัมพันธ์เพราะว่าเป็นตัวชี้ในการเชื่อมความสัมพันธ์ ระหว่าง Table

20 สัปดาห์ที่ 2 การออกแบบฐานข้อมูลระดับตรรกะ20 Entity integrity constraint “Primary Key ของแต่ละ Table ไม่ สามารถมีค่าเป็น Null ได้” ** Null คือ ไม่ทราบค่าหรือ ไม่มีค่า Referential Integrity “ค่าของ foreign key จะต้องมาจาก ค่าของ primary key หรือไม่ก็มีค่า เป็น Null”

21 สัปดาห์ที่ 2 การออกแบบฐานข้อมูลระดับตรรกะ21 แผนภาพแสดงความสัมพันธ์ระหว่างข้อมูล (Entity-Relationship Diagram) องค์ประกอบที่สำคัญของ E-R Diagram –Entity, Associative Entity –Attribute –Relationship –Relationship Degree –Relationship Cardinality

22 สัปดาห์ที่ 2 การออกแบบฐานข้อมูลระดับตรรกะ22 สัญลักษณ์ที่ใช้ใน E-R Diagram

23 สัปดาห์ที่ 2 การออกแบบฐานข้อมูลระดับตรรกะ23 ตัวอย่าง E-R Diagram

24 สัปดาห์ที่ 2 การออกแบบฐานข้อมูลระดับตรรกะ24 Transforming ER Diagrams into Relations 1.สำหรับ Regular Entities ให้สร้างเป็น 1 Relationโดย –Simple attributes: จะกลายเป็น attributes ของ Table –Composite attributes: เอา ส่วนประกอบย่อยของ Composite attribute มาเป็น attributes ของ Table –Multi-valued Attribute – สร้าง Relationขึ้นมาใหม่ ประกอบด้วย Attribute ที่เป็น Multivalues และใช้ Primary Key จาก Entity หลักร่วมกับ attributes ใน Relationนั้น

25 สัปดาห์ที่ 2 การออกแบบฐานข้อมูลระดับตรรกะ25 (a) CUSTOMER entity type with simple attributes Mapping a regular entity (b) CUSTOMER relation

26 สัปดาห์ที่ 2 การออกแบบฐานข้อมูลระดับตรรกะ26 (a) CUSTOMER entity type with composite attribute Mapping a composite attribute (b) CUSTOMER relation with address detail

27 สัปดาห์ที่ 2 การออกแบบฐานข้อมูลระดับตรรกะ27 Mapping a multivalued attribute 1 – to – many relationship between original entity and new relation (a) Multivalued attribute becomes a separate relation with foreign key (b)

28 สัปดาห์ที่ 2 การออกแบบฐานข้อมูลระดับตรรกะ28 Transforming ER Diagrams into Relations 2. สำหรับ Weak Entities –ให้สร้าง Relationขึ้นมาใหม่ โดย Attribute คือ Attribute ของ Weak Entities รวมกับ Primary Key ของ Strong Entity

29 สัปดาห์ที่ 2 การออกแบบฐานข้อมูลระดับตรรกะ29 Example of mapping a weak entity (a) Weak entity DEPENDENT

30 สัปดาห์ที่ 2 การออกแบบฐานข้อมูลระดับตรรกะ30 Relations resulting from weak entity NOTE: the domain constraint for the foreign key should NOT allow null value if DEPENDENT is a weak entity Foreign key Composite primary key

31 สัปดาห์ที่ 2 การออกแบบฐานข้อมูลระดับตรรกะ31 Transforming ER Diagrams into Relations 3. สำหรับความสัมพันธ์ แบบ Binary Relationships –One-to-Many – เอา Primary key ของ Entity ฝั่ง One มา เป็น foreign key ให้ Relationของ Entity ฝั่ง many –Many-to-Many – สร้าง Relationขึ้นมาใหม่ โดยเอา primary keys ของทั้งสอง Entity มาเป็น primary key ร่วมกัน –One-to-One – เอา Primary key ของ Entity ที่มี ความสัมพันธ์ แบบ mandatory (บังคับให้ทุกสมาชิกใน Entity เข้าร่วมในความสัมพันธ์) มาเป็น foreign key ใน Relationของ Entity ฝั่งที่เป็น optional

32 สัปดาห์ที่ 2 การออกแบบฐานข้อมูลระดับตรรกะ32 Example of mapping a 1:M relationship (a) Relationship between customers and orders Note the mandatory one

33 สัปดาห์ที่ 2 การออกแบบฐานข้อมูลระดับตรรกะ33 Mapping the relationship Again, no null value in the foreign key…this is because of the mandatory minimum cardinality Foreign key

34 สัปดาห์ที่ 2 การออกแบบฐานข้อมูลระดับตรรกะ34 Example of mapping an M:N relationship (a) ER diagram (M:N) The Supplies relationship will need to become a separate relation

35 สัปดาห์ที่ 2 การออกแบบฐานข้อมูลระดับตรรกะ35 Three resulting relations New intersecti on relation Foreign key Composite primary key

36 สัปดาห์ที่ 2 การออกแบบฐานข้อมูลระดับตรรกะ36 Mapping a binary 1:1 relationship (a) Binary 1:1 relationship

37 สัปดาห์ที่ 2 การออกแบบฐานข้อมูลระดับตรรกะ37 Resulting relations

38 สัปดาห์ที่ 2 การออกแบบฐานข้อมูลระดับตรรกะ38 Transforming ER Diagrams into Relations 4. สำหรับความสัมพันธ์ แบบ Unary Relationships –One-to-Many – เอา Primary Key ของ Entity ของตัวเอง มาเป็น foreign key อีกครั้งหนึ่ง –Many-to-Many – สร้าง Relationขึ้นมาใหม่ โดยTwo relations: สร้างขึ้นมาใหม่อีก 1 Relationแล้วเอา Primary Key ของ Entity ตัวเองมาเป็น Primary Key ร่วมกับ Attribute ใหม่ที่สร้างขึ้นมาให้ร่วมกันแล้วมีคุณสมบัติ Unique

39 สัปดาห์ที่ 2 การออกแบบฐานข้อมูลระดับตรรกะ39 Mapping a unary 1:N relationship (a) EMPLOYEE entity with Manages relationship (b) EMPLOYEE relation with recursive foreign key

40 สัปดาห์ที่ 2 การออกแบบฐานข้อมูลระดับตรรกะ40 Figure 5-18: Mapping a unary M:N relationship (a) Bill-of- materials relationships (M:N) (b) ITEM and COMPONENT relations

41 สัปดาห์ที่ 2 การออกแบบฐานข้อมูลระดับตรรกะ41 แบบฝึกหัด Mapping E-R Diagram เป็น Relation (Table)

42 สัปดาห์ที่ 2 การออกแบบฐานข้อมูลระดับตรรกะ42

43 สัปดาห์ที่ 2 การออกแบบฐานข้อมูลระดับตรรกะ43 Normalization Normalization คือ กระบวนการปรับปรุงโครงสร้างข้อมูลของ ฐานข้อมูลที่มีความซ้ำซ้อนให้อยู่ในรูปแบบที่เป็นบรรทัดฐาน Normal Form มีอยู่ 3 ระดับด้วยกัน คือ 1. Normal Form ระดับที่ 1 หรือเรียกว่า 1NF 2. Normal Form ระดับที่ 2 หรือเรียกว่า 2NF 3. Normal Form ระดับที่ 3 หรือเรียกว่า 3NF นอกจากนี้ยังมีระดับที่ทำให้ Normal Form ระดับที่ 3 มีความแข็งแกร่งขึ้น กว่าเดิม เรียกว่า BCNF ( Boyce-Codd Normal Form) ซึ่งพัฒนาขึ้นโดย R.Boyce และ E.F.Codd โดย Normal Form ทุกระดับตั้งอยู่บนพื้นฐานของ ฟังก์ชันการขึ้นต่อกันระหว่างแอททริบิวต์ของ Relation ( Functional Dependency ) Normal Form ในระดับที่สูงขึ้นไปอีกที่อยู่ถัดจาก BCNF ก็ได้ถูกพัฒนาขึ้น คือ Normal Form ระดับที่ 4 ( 4NF) และระดับที่ 5 (5NF) ซึ่งพัฒนาโดย Fagin(1977,1979) อย่างไรก็ตามรูปแบบ 4NF และ 5NF ในทางปฏิบัติถือว่า เกิดขึ้นได้ยากมาก

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

45 สัปดาห์ที่ 2 การออกแบบฐานข้อมูลระดับตรรกะ45 กระบวนการ Normalization Steps in normalization

46 สัปดาห์ที่ 2 การออกแบบฐานข้อมูลระดับตรรกะ46 First Normal Form (1NF) “Relation ที่อยู่ในรูป 1NF ถ้า ค่าของ Attribute เป็น atomic นั่นคือ มีค่าเพียงค่า เดียวเท่านั้น ไม่สามารถแบ่งแยกได้”

47 สัปดาห์ที่ 2 การออกแบบฐานข้อมูลระดับตรรกะ47 Normalization into 1 NF Dname Dnumber Dmgrssn Dlocation Research {Bellaire,sugarland,houston} Administration stafford Headquarter Houston Relation schema that is not in 1NF Dname Dnumber Dmgrssn Dlocation Research Bellaire Research sugarland Research houston Administration stafford Headquarter Houston 1NF relaton with redundancy

48 สัปดาห์ที่ 2 การออกแบบฐานข้อมูลระดับตรรกะ48 ฟังก์ชันการขึ้นตรงต่อกัน (Functionally Dependent :FD) ใน Relation ใดๆ Attribute Y เป็น FD กับ Attribute X ก็ต่อเมื่อ ถ้าทราบค่า X จะต้อง ทราบค่าของ Y สัญลักษณ์ –S.SID  S.SName –S.SID  S.City –S.SID  S.(SName,City)

49 สัปดาห์ที่ 2 การออกแบบฐานข้อมูลระดับตรรกะ49 2 st Normal Form (2NF) Relation ใดๆจะเป็น 2NF ก็ต่อเมื่อ –ต้องมีคุณสมบัติเป็น 1NF –ทุกๆ Non-key Attribute ต้องเป็น Fully FD กับ Primary Key เท่านั้นนั่นคือ ไม่มี Non-key Attribute ตัวใดที่เป็น Partially FD กับ Primary key

50 สัปดาห์ที่ 2 การออกแบบฐานข้อมูลระดับตรรกะ50 SSN PNUMBER HOURS ENAME PNAME PLOCATION FD1 FD2 FD3 Non-Key Attribute Key Attribute ไม่อยู่ใน 2 NF เนื่องจาก FD2,FD3

51 สัปดาห์ที่ 2 การออกแบบฐานข้อมูลระดับตรรกะ51 SSN PNUMBER HOURS ENAME PNAME PLOCATION FD1 FD2 FD3 SSN PNUMBER HOURS SSN ENAME PNUMBER PNAME PLOCATION แตกให้อยู่ใน รูป2 NF Second Normal Form Emp_Proj Emp_Proj2 Emp_Proj3 Emp_Proj1 Ssn,Pnumber  Hours Ssn  Ename Pnumber  Pname,Plocation

52 สัปดาห์ที่ 2 การออกแบบฐานข้อมูลระดับตรรกะ52 Functional Dependencies in EMPLOYEE EmpIDCourseTitleDateCompletedSalaryDeptNameName Dependency on entire primary key Dependency on only part of the key EmpID, CourseTitle  DateCompleted EmpID  Name, DeptName, Salary Therefore, NOT in 2 nd Normal Form!!

53 สัปดาห์ที่ 2 การออกแบบฐานข้อมูลระดับตรรกะ53 Getting it into 2 nd Normal Form decomposed into two separate relations EmpIDSalaryDeptNameNameCourseTitleDateCompletedEmpID Both are full functional dependencies

54 สัปดาห์ที่ 2 การออกแบบฐานข้อมูลระดับตรรกะ54 Third Normal Form : 3NF “Relation ที่อยู่ในรูปของ 3NF ก็ ต่อเมื่อ 1.Relation ที่อยู่ในรูป 2 NF 2.ต้องไม่มี FD ระหว่าง Non-key Attribute หรือไม่มี Transitively FD on Primary Key”

55 สัปดาห์ที่ 2 การออกแบบฐานข้อมูลระดับตรรกะ55 Relation with transitive dependency (a) SALES relation with simple data

56 สัปดาห์ที่ 2 การออกแบบฐานข้อมูลระดับตรรกะ56 Relation with transitive dependency CustID  Name CustID  Salesperson CustID  Region All this is OK (2 nd NF) BUT Salesperson  Region FD ระหว่าง Non-key Attribute

57 สัปดาห์ที่ 2 การออกแบบฐานข้อมูลระดับตรรกะ57 Removing a transitive dependency (a) Decomposing the SALES relation

58 สัปดาห์ที่ 2 การออกแบบฐานข้อมูลระดับตรรกะ58 Relations in 3NF Now, there are no transitive dependencies… Both relations are in 3 rd NF CustID  Name CustID  Salesperson Salesperson  Region


ดาวน์โหลด ppt สัปดาห์ที่ 2 การออกแบบฐานข้อมูลระดับตรรกะ1 การออกแบบฐานข้อมูลในระดับตรรกะ Logical Database Design.

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


Ads by Google