ซอฟต์แวร์พัฒนาระบบฐานข้อมูล Normalization

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
HO Session 14: Database Design Principles
Advertisements

การออกแบบฐานข้อมูลในระดับ Conceptual
บทที่ 2 เทคนิคการปรับปรุงคุณภาพ
สาขาวิชาคอมพิวเตอร์ คณะวิทยาศาสตร์และเทคโนโลยี
หลักสูตรโรงเรียนวัฒนาวิทยาลัย ในหลักสูตรการศึกษาขั้นพื้นฐาน พ.ศ.2544
แนะนำรายวิชา GED40003 คอมพิวเตอร์กับชีวิต
การจำลองความคิด รายวิชา ง40102 หลักการแก้ปัญหาและการโปรแกรม
แผนการสอน วิชา Database Design and Development
Functional Programming
Entity-Relationship Model
Feature Driven Development
การพัฒนาระบบฐานข้อมูล ด้วยโปรแกรม SQL
ความรู้เบื้องต้นเกี่ยวกับฐานข้อมูล
หน่วยที่ 1 ระบบคอมพิวเตอร์
Normalization.
บทที่ 8 การออกแบบข้อมูล (Data Design) โครงสร้างข้อมูล (Data Structure)
การเขียนรายงานการทดลอง
การเตรียมเอกสาร สอบหัวข้อโครงงาน
Object-Oriented Analysis and Design
2 การเก็บรวบรวมข้อมูล Data Collection.
Use Case Diagram.
ส่วนที่ 4 System Design การออกแบบระบบ.
บทที่ 3 แบบจำลองข้อมูล Data Models Calculus
การออกแบบแบบจำลองข้อมูล
การออกแบบและพัฒนาซอฟต์แวร์ บทที่ 5 การพัฒนาซอฟต์แวร์ด้วย MS Visual Basic 2010 ปริญญา น้อยดอนไพร สาขาวิชาวิทยาการคอมพิวเตอร์ คณะวิทยาศาสตร์และเทคโนโลยี
การออกแบบและพัฒนาซอฟต์แวร์ บทที่ 7 การประเมินขนาดซอฟต์แวร์
การออกแบบฐานข้อมูลเชิงสัมพันธ์
การจัดทำคู่มือ การปฏิบัติงาน Work Manual
บทที่ 7 คำสั่งสำหรับเขียนโปรแกรม
บทที่ 1 ความรู้พื้นฐานในการ พัฒนาระบบ
การแปลง E-R เป็น Table.
ประวัติความเป็นมาของฐานข้อมูลและยกตัวอย่างโปรแกรมในการจัดการฐานข้อมูล
การออกแบบฐานข้อมูลและการบริหารธุรกิจ
ประชากรและการสุ่มกลุ่มตัวอย่าง
The Relational Data Model
โปรแกรมภาษาจาวาเบื้องต้น Basic Java Programming 3(2-2-5)
บทที่ 3 การวิเคราะห์ Analysis.
การสอบถามข้อมูลด้วยฟังก์ชั่นสำหรับ
การสอบถามข้อมูลแบบซ้อนกัน
Data Modeling Chapter 6.
การทำ Normalization อ. นุชรัตน์ นุชประยูร.
บทนำเกี่ยวกับระบบฐานข้อมูล
ฐานข้อมูลเชิงสัมพันธ์ (Relational Database)
พีชคณิตบูลีน และการออกแบบวงจรลอจิก (Boolean Algebra and Design of Logic Circuit)
เรื่องการออกแบบฐานข้อมูล
(การลดความซ้ำซ้อนของข้อมูล)
การออกแบบระบบฐานข้อมูล
ศ.ดร.สุมาลี สังข์ศรี มหาวิทยาลัยสุโขทัยธรรมาธิราช
ง การงานอาชีพและเทคโนโลยี 1 ครูสหรัฐ บัวทอง
งานเทคโนโลยีสารสนเทศ โรงเรียนพนมเบญจา
ภาระงาน 3.1 การวิเคราะห์และออกแบบฐานข้อมูล
การนำเสนอและการประเมินผลโครงงาน
ความรู้เบื้องต้นเกี่ยวกับระบบ Introduction to the System
Normalization – Special Problem (DB) Choopan Rattanapoka
การออกแบบฐานข้อมูลในระดับตรรกะ
โมเดลเชิงสัมพันธ์ The relational model.
จัดทำโดย เด็กหญิง นันท์นภัส ขะชาติ ชั้น ม.1/13 เลขที่ 24
หลักการเขียนโปรแกรม ( )
Domain Name System   (DNS).
Chapter 1 : Introduction to Database System
หลักการเขียนโครงการ.
โครงสร้างข้อมูลแบบ สแตก (stack)
1 Introduction to SQL กนกวรรธน์ เซี่ยงเจ็น สำนักวิชาเทคโนโลยีสารสนเทศ และการสื่อสาร มหาวิทยาลัยนเรศวร วิทยาเขต สารสนเทศพะเยา.
การเปรียบเทียบผลสัมฤทธิ์ทางการเรียนวิชาคณิตศาสตร์พื้นฐาน
ตัวอย่างการปรับบรรทัดฐาน 1NF >> 3NF
วุฒิการศึกษา/สถานศึกษา
Normalization Lecture 9.
การทำ Normalization 14/11/61.
ห้องแลปการคิดสร้างสรรค์
กระบวนการปรับบรรทัดฐาน Normalization Process
ใบสำเนางานนำเสนอ:

ซอฟต์แวร์พัฒนาระบบฐานข้อมูล Normalization V.2507201301 ซอฟต์แวร์พัฒนาระบบฐานข้อมูล Normalization ปริญญา น้อยดอนไพร สาขาวิชาวิทยาการคอมพิวเตอร์ คณะวิทยาศาสตร์และเทคโนโลยี มหาวิทยาลัยราชภัฏสุราษฎร์ธานี

วัตถุประสงค์ นักศึกษามีความรู้ความเข้าใจ ดังนี้ Normalization Functional Dependency (FDs) ประเภทของ Functional Dependency First Normal Form (1NF) Second Normal Form (2NF) Third Normal Form (3NF)

Normalization Normalization คือ วิธีการใช้ในการตรวจสอบและแก้ปัญหาทางด้านความซ้ำซ้อนของข้อมูล โดยการดำเนินการให้ข้อมูลในแต่ละ Relation อยู่ในรูปที่เป็นหน่วยที่เล็กที่สุดที่ไม่สามารถแตกย่อยเป็นหน่วยย่อย ๆ ได้อีก โดยยังคงความสัมพันธ์ระหว่างข้อมูลใน Relation ต่าง ๆไว้ตามหลักการที่กำหนดไว้ใน Relational Model

Normalization ขั้นตอนในการทำ Normalization เป็นการดำเนินงานอย่างเป็นลำดับที่กำหนดไว้ด้วยกันเป็นขั้นตอน ตามปัญหาที่เกิดขึ้นในขั้นตอนนั้น ๆ ซึ่งแต่ละขั้นตอนเป็นดังนี้ First Normalization Form (1NF) Second Normalization Form (2NF) Third Normalization Form (3NF) Boyce-Codd Normalization Form (BCNF) Fourth Normalization Form (4NF) Fifth Normalization Form (5NF)

Functional Dependency (FDs) การพิจารณาโครงสร้างแต่ละ Relation ว่ามีโครงสร้างอยู่ใน Normal Form ระดับใด จะพิจารณาจาก Functional Dependency ซึ่งความสัมพันธ์ระหว่าง Attribute ต่าง ๆภายใน Relation กับ Attribute หรือกลุ่ม Attribute ที่ทำหน้าที่เป็น Key ของ Relation นั้น ซึ่งความสัมพันธ์นี้ จะถูกนิยามด้วยรูปแบบทางคณิตศาสตร์ที่เรียกว่า “Functional Dependency” ดังนี้ FD : Determinant-attribute Dependency-attribute

Functional Dependency (FDs) โดยที่ค่า Determinant-attribute หมายถึง Attribute ที่ระบุค่าด้วยค่าใดค่าหนึ่งแล้ว สามารถแสดงค่าของ Dependency-attribute ซึ่งเป็น Attribute ที่มีความสัมพันธ์กับ Determinant-attribute นั้นออกมาเช่น ตารางแสดงความสัมพันธ์ระหว่างหมายเลขบัตรประชาชน และชื่อเจ้าของบัตรดังนี้

Functional Dependency (FDs) Person_ID Person_Name 1922224757784 สมเกียรติ 1733299743822 น้ำผึ้ง 1439224567381 กาญจนา 3829112233289 พินรัฏ 3294779122333 ดวงแก้ว 1995553434654 Person_ID Person_Name

Functional Dependency (FDs) Person_ID Person_Name จากรูปแสดงการกำหนดความสัมพันธ์ระหว่าง Attribute ในรูปของ Functional Dependency

ประเภท Functional Dependency (FDs) 1. Functional Dependency ที่เกิดขึ้นจากความสัมพันธ์ระหว่าง Determinant และ Dependency อย่างละ 1 ค่า เช่นความสัมพันธ์ระหว่างหมายเลขบัตรประจำตัวประชาชนและชื่อเจ้าของบัตร ดังตารางนี้ Person_ID Person_Name 1922224757784 สมเกียรติ 1733299743822 น้ำผึ้ง Person_ID Person_Name

ประเภท Functional Dependency (FDs) 2. Functional Dependency ที่เกิดขึ้นจากความสัมพันธ์ระหว่าง Determinant 1 ค่ากับ Dependency หลายค่า เช่น หมายเลขบัตรประชาชน และข้อมูลที่ปรากฏอยู่บนบัตรประชาชน ดังตารางนี้ Person_ID Person_Name LName Address BirthDate 1922224757784 สมเกียรติ ชื่นยศ 123 บ้านโป่ง ราชบุรี 3/03/2511 1733299743822 น้ำผึ้ง สู่สุข 39/6 คลองสาน กทม. 24/6/2539 1439224567381 กาญจนา หิรัญรัตน์ 24/6 ลาดพร้าว1 กทม.

ประเภท Functional Dependency (FDs) Person_ID Person_Name LName Address BirthDate 1922224757784 สมเกียรติ ชื่นยศ 123 บ้านโป่ง ราชบุรี 3/03/2511 1733299743822 น้ำผึ้ง สู่สุข 39/6 คลองสาน กทม. 24/6/2539 1439224567381 กาญจนา หิรัญรัตน์ 24/6 ลาดพร้าว1 กทม. Person_ID Person_Name , LName , Address , BirthDate

ประเภท Functional Dependency (FDs) 3. Functional Dependency ที่มีความสัมพันธ์ 2 ทาง ซึ่งเป็น Functional Dependency ทั้ง Determinant และ Dependency ต่างสามารถทำหน้าที่ของอีกฝ่ายหนึ่งได้ เช่น ความสัมพันธ์ระหว่างชื่อของผู้จัดการโครงการ (Attribute “Manager”) กับชื่อโครงการ (Attribute “Project_No”) ซึ่งถ้าทราบชื่อผู้จัดการโครงการจะสามารถทราบถึงชื่อของโครงการที่ผู้จัดการนั้นเป็นเจ้าของได้ ในขณะเดียวกัน เมื่อทราบชื่อโครงการก็จะสามารถทราบถึงชื่อของผู้จัดการโครงการนั้นได้ เช่นเดียวกัน ดังตารางต่อไปนี้

ประเภท Functional Dependency (FDs) Project_No Manager PJ001 EM004 PJ002 EM045 PJ003 EM981 Project_No Manager Manager Project_No Manager Project_No

ประเภท Functional Dependency (FDs) 4. Functional Dependency ที่ต้องใช้ Determinant มากกว่า 1 ค่า เพื่ออ้างถึง Dependency เช่น ความสัมพันธ์ระหว่างจำนวนสินค้าที่ผลิตได้ของสินค้าแต่ละชนิดภายใต้สายการผลิตต่างๆ ดังตารางต่อไปนี้

ประเภท Functional Dependency (FDs) Product_Line Item_No Used_Qut L001 I012 I019 I024 30 40 90 L004 I001 73 L005 45 98 34 Product_Line , Item_No Used_Qut

First Normal Form (1NF) ขั้นตอนนี้เป็นขั้นตอนสำหรับปรับโครงสร้างของ Relation เพื่อให้ทุก Attribute ของ Relation มีคุณสมบัติ Atomicity กล่าวคือ โครงสร้างข้อมูลของ Relation ในแบบ 1NF ต้องประกอบด้วย Table ที่อยู่ในรูป 1NF มี Attribute ที่ได้กำหนดให้เป็น Primary Key ไม่มี Repeating Group Attribute อื่นๆ ต้องขึ้นอยู่กับ Primary Key

First Normal Form (1NF) ตัวอย่างที่ 1 แสดงการทำ First Normal Form โดยกำหนดให้ Relation “Order” มีข้อมูลดังนี้

Cust_No Cust_Name City Zone_Sale Order_Content Product_ID Order_Qut C001 นารี เกิดสว่าง อยุธยา 001 P001 P003 P004 24 30 50 C002 สลักจิตร สว่างภาพ ศรีสะเกษ 002 P002 29 40 C003 สุทิศา เจ๊กสกุล เชียงใหม่ 004 P005 60 C004 ต้นสาย ตันเจริญ

Cust_No Cust_Name City Zone_Sale Product_ID Order_Qut C001 นารี เกิดสว่าง อยุธยา 001 P001 24 P003 30 P004 50 C002 สลักจิตร สว่างภาพ ศรีสะเกษ 002 29 P002 40 C003 สุทิศา เจ๊กสกุล เชียงใหม่ 004 P005 60 C004 ต้นสาย ตันเจริญ

First Normal Form (1NF) ผลลัพธ์ที่ได้จากการทำ 1NF ในรูปของ Function Dependency ดังนี้ Cust_No,Product_ID Cust_Name,City,Zone_Sale, Order_Qut เขียนให้อยู่ในรูปแบบของ Table ได้ดังนี้ Order(Cust_No,Product_ID,Cust_Name,City,Zone_Sale,Order_Qut)

Second Normal Form (2NF) Table ที่อยู่ในรูปแบบ 2NF จะต้อง 1. อยู่ในรูปแบบของ 1NF และ 2. ไม่มี Partial dependency Partial dependency เกิดขึ้นในกรณีที่มีข้อมูลในบาง Attribute ขึ้นอยู่กับ Dependency บางส่วนของ Primary Key จาก table ที่ได้จาก 1NF เราหาได้ว่า Cust_No และ Product_ID รวมกัน ทำหน้าที่เป็น Primary Key ขั้นตอนต่อไปคือ หาว่า มี Attribute ใดบ้างที่มีความเป็น Partial dependency นั้นคือ ขึ้นอยู่กับ Cust_No เพียงอย่างเดียวหรือขึ้นอยู่กับ

Second Normal Form (2NF) Product_ID เพียงอย่างเดียว และ Attribute ใด ที่ขึ้นอยู่กับ Cust_No และ Product_ID อย่างแท้จริง ผลลัพธ์ที่ได้จากการทำ 2NF ในรูปของ Function Dependency ดังนี้ Cust_No Cust_Name,City,Zone_Sale Cust_No ,Product_ID Order_Qut

Second Normal Form (2NF) เขียนให้อยู่ในรูปแบบของ Table ได้ดังนี้ Customer(Cust_No, Cust_Name,City,Zone_Sale) Order (Cust_No ,Product_ID,Order_Qut)

Third Normal Form (3NF) Table ที่อยู่ในรูปแบบ 3NF จะต้อง 2. ไม่มี Transitive dependency Transitive dependency เกิดขึ้นในกรณีที่มี Attribute บางตัว ขึ้นอยู่กับ Dependency Attribute ที่ไม่ใช่ Key (non-key attribute) จาก ตารางที่ได้จาก 2NF

Third Normal Form (3NF) ผลลัพธ์ที่ได้จากการทำ 3NF ในรูปของ Function Dependency ดังนี้ Cust_No Cust_Name,Zone_Sale Zone_Sale City Cust_No ,Product_ID Order_Qut

Third Normal Form (3NF) เขียนให้อยู่ในรูปแบบของ Table ได้ดังนี้ Customer(Cust_No, Cust_Name,Zone_Sale) CustZone (Zone_Sale ,City) Order (Cust_No ,Product_ID,Order_Qut)