ดาวน์โหลดงานนำเสนอ
งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ
1
Week 5 Online available at http://www.ict.pyo.nu.ac.th/somporns/db
Database Design Week 5 Online available at
2
Contents แบบแผนการออกแบบฐานข้อมูล
การออกแบบฐานข้อมูลในระดับแนวคิด การออกแบบฐานข้อมูลในระดับตรรกะ การออกแบบฐานข้อมูลในระดับกายภาพ CASE Tools (Computer-Aided Software Engineering) กฎความคงสภาพของข้อมูล (Data Integrity Rule) กฎความคงสภาพของเอนทิตี้ โดเมน และการอ้างอิง การแปลงรูป ER-Diagram ไปเป็นรีเลชัน
3
แบบแผนการออกแบบฐานข้อมูล
ขั้นตอนหลักในการออกแบบฐานข้อมูล มี 3 ระดับดังนี้ การออกแบบฐานข้อมูลในระดับแนวคิด (Conceptual Database Design) การออกแบบฐานข้อมูลในระดับตรรกะ (Logical Database Design) การออกแบบฐานข้อมูลในระดับกายภาพ (Physical Database Design)
4
การออกแบบฐานข้อมูลในระดับแนวคิด (Conceptual Database Design)
การออกแบบฐานข้อมูลในระดับนี้ เกี่ยวข้องกับการกำหนดเค้าโครงหรือสคีมาในระดับเบื้องต้น เป็นเพียงแนวคิดยังไม่สามารถนำไปใช้งานได้จริง ผลลัพธ์ที่ได้จากกการออกแบบในระดับนี้ คือ ชนิดของเอนทิตี้ ชนิดของความสัมพันธ์ แอทริบิวต์ แอทริบิวต์ของโดเมน คีย์คู่แข่ง คีย์หลัก ER-Diagram
5
การออกแบบฐานข้อมูลในระดับตรรกะ (Logical Database Design)
เป็นกระบวนการสร้างแบบจำลองให้มีความชัดเจนยิ่งขึ้น โดยการออกแบบในขั้นตอนนี้เกี่ยวข้องกับ แปลงแบบจำลองในระดับแนวคิดเป็นแบบจำลองในระดับตรรกะ ใช้เทคนิคการออกแบบรีเลชันด้วยการ normalization ตรวจสอบโมเดลร่วมกับผู้ใช้ ว่าครอบคลุมและสนับสนุนการทำงานครบถ้วนหรือไม่ (ในขั้นตอนนี้จะทำการตรวจสอบและแก้ไขจนกว่าจะได้โมเดลที่ตรงกับความต้องการของผู้ใช้) ER-Diagram
6
การออกแบบฐานข้อมูลในระดับกายภาพ (Physical Database Design)
เป็นขั้นตอนที่จะพัฒนาฐานข้อมูลเพื่อใช้งานจริง พิจารณาแหล่งจัดเก็บข้อมูล โครงสร้างข้อมูล เลือก DBMS ที่จะมาใช้งาน
7
CASE Tools เป็นเครื่องมือที่ใช้ในการออกแบบฐานข้อมูล โดยจะช่วยออกแบบฐานข้อมูลในระดับตรรกะแล้วแปลงให้อยู่ในระดับกายภาพ ซึ่งมีหลายโปรแกรมให้เลือกใช้งาน เช่น Visible Analyst Erwin Visio Rational Rose Designer-2000
8
กฎความคงสภาพของข้อมูล (Data Integrity Rule)
คือ การควบคุมความถูกต้องของข้อมูลเพื่อให้ข้อมูลในฐานข้อมูลนั้นมีความถูกต้องตรงกัน ป้องกันไม่ให้เกิดข้อผิดพลาดในข้อมูลที่บันทึกอยู่ในฐานข้อมูล ซึ่งข้อผิดพลาดนั้นอาจเกิดจากการเพิ่ม การลบ และการเปลี่ยนแปลงข้อมูล กฎความคงสภาพของข้อมูลมี 3 กฎเกณฑ์หลักๆ คือ กฎความคงสภาพของเอนทิตี้ กฎความคงสภาพของโดเมน กฎความคงสภาพของการอ้างอิง
9
กฎความคงสภาพของข้อมูล (Data Integrity Rule)
กฎความคงสภาพของเอนทิตี้ แอทริบิวต์ที่เป็นคีย์หลักจะไม่เป็นค่าว่าง (Not null) กฎความคงสภาพของโดเมน เป็นกฎที่ใช้ควบคุมค่าของข้อมูลให้มีค่าที่เหมะสม เช่น เกรดเฉลี่ย จะต้องมีค่าระหว่าง 0.00 – 4.00 การพัฒนาฐานข้อมูลก็ต้องสามารถตรวจสอบให้การป้อนค่าดังกล่าวต้องไม่ติดลบ และมีค่าไม่เกิน 4.00 เป็นต้น กฎความคงสภาพของการอ้างอิง เป็นการกำหนดสำหรับรีเลชันที่มีคีย์นอก (Foreign Key: FK) ที่อ้างอิงไปที่คีย์หลัก (Primary Key: PK) ในอีกรีเลชัน
10
กฎความคงสภาพของข้อมูล (Data Integrity Rule)
กฎความคงสภาพของการอ้างอิง ซึ่งมีความเป็นไปได้ในการอ้างอิง คือ Restricted ไม่อนุญาตให้มีการแก้ไขข้อมูลที่เป็นคีย์ ถ้าคีย์นั้นยังมีการอ้างอิงหรือใช้งานจากรีเลชันอื่นอยู่ Cascased อนุญาตให้มีการแก้ไขข้อมูลที่เป็นคีย์หลักได้ โดยจะทำการแก้ไขคีย์นอกที่อยู่ในรีเลชันอื่นด้วย Nullify อนุญาตให้มีการแก้ไขข้อมูลที่เป็นคีย์หลักได้ โดยจะทำการแก้ไขคีย์นอกที่อยู่ในรีเลชันอื่นด้วยการใส่ค่าเป็น Null
11
การแปลง ER-Diagram เป็นรีเลชัน
ในความเป็นจริงการแปลง ER-Diagram เป็นรีเลชันนั้นเครื่องมือ CASE Tools หลายตัวสามารถทำได้ แต่เพื่อให้เข้าในกระบวนการดังกล่าว และถือว่าเป็นสิ่งสำคัญที่ต้องเรียนรู้ ในหัวข้อนี้จึงจะกล่าวถึงขั้นตอนและวิธีการในการแปลงรูป ER-Diagram
12
การแปลง ER-Diagram เป็นรีเลชัน
ชื่อเอนทิตี้ เป็น ชื่อรีเลชัน แอทริบิวต์ของเอนทิตี้ เป็น แอทริบิวต์ของรีเลชัน Composite Attribute ของเอนทิตี้ จะถูกแยกเป็น Simple Attribute ของรีเลชัน Multivalued Attribute ของเอนทิตี้ จะถูกแยกมาเป็นรีเลชันใหม่ โดยประกอบไปด้วยคีย์ของเอนทิตี้และ Multivalued Attribute
13
การแปลง ER-Diagram เป็นรีเลชัน
Employee EmpID EmpName EmpAddress State City Street Zipcode Skill
14
การแปลง ER-Diagram เป็นรีเลชัน
Employee (EmpID, EmpName, Street, City, State, Zipcode) EmpSkill (EmpID, Skill) การเขียนจะใช้ตัวพิมพ์ใหญ่หรือเล็กก็ได้
15
การแปลง ER-Diagram เป็นรีเลชัน
กรณีที่ความสัมพันธ์ระหว่างเอนทิตี้เป็นแบบ หนึ่งต่อหนึ่ง ก็ฝากคีย์ไปไว้อีกรีเลชันหนึ่ง ซึ่งจะเป็นรีเลชันฝั่งใดก็ได้ DepName EmpName DepID EmpID Manage Employee Department 1 1
16
การแปลง ER-Diagram เป็นรีเลชัน
Employee (EmpID, EmpName) Department (DepID, DepName, MgrID) การเขียนจะใช้ตัวพิมพ์ใหญ่หรือเล็กก็ได้
17
การแปลง ER-Diagram เป็นรีเลชัน
กรณีที่ความสัมพันธ์ระหว่างเอนทิตี้เป็นแบบ หนึ่งต่อกลุ่มให้นำ PK ของฝั่งหนึ่งไปไว้ฝั่งกลุ่ม DepName EmpName DepID EmpID Works For Employee Department M 1
18
การแปลง ER-Diagram เป็นรีเลชัน
Employee (EmpID, EmpName, DepID) Department (DepID, DepName) การเขียนจะใช้ตัวพิมพ์ใหญ่หรือเล็กก็ได้
19
การแปลง ER-Diagram เป็นรีเลชัน
กรณีที่ความสัมพันธ์ระหว่างเอนทิตี้เป็นแบบ กลุ่มต่อกลุ่มให้สร้างรีเลชันใหม่โดยจะมี PK ของทั้งสองฝั่งเป็นแอทริบิวต์ในรีเลชัน และถ้าใน ER-Diagram มีแอทริบิวต์ที่อยู่บนรีเลชัน แอทริบิวต์นั้นก็จะกลายเป็นแอทริบิวต์ของรีเลชันใหม่ที่สร้างมาด้วย
20
การแปลง ER-Diagram เป็นรีเลชัน
กรณีที่ความสัมพันธ์ระหว่างเอนทิตี้เป็นแบบ กลุ่มต่อกลุ่ม Quantity UnitPrice OrderDate ProdID OrderID Requests Order Product M M 20
21
การแปลง ER-Diagram เป็นรีเลชัน
Order (OrderID, OrderDate) Product (ProdID, UnitPrice) OrderProduct (OrderID, ProdId, Quantity) การเขียนจะใช้ตัวพิมพ์ใหญ่หรือเล็กก็ได้
22
การแปลง ER-Diagram เป็นรีเลชัน
กรณีที่ความสัมพันธ์ระหว่างเอนทิตี้เป็นแบบ Unary แบบ หนึ่งต่อกลุ่ม EmpName Employee (EmpID, EmpName, MgrID) EmpID Manages Employee 1 M
23
การแปลง ER-Diagram เป็นรีเลชัน
กรณีที่ความสัมพันธ์ระหว่างเอนทิตี้เป็นแบบ Unary แบบ กลุ่มต่อกลุ่ม Name Item (ItemID, Name) Component (ItemID, ComponentID, Quantity) ItemID Quantity Contains Item M N
24
การแปลง ER-Diagram เป็นรีเลชัน
กรณีที่ความสัมพันธ์ระหว่างเอนทิตี้เป็นแบบ Ternary ให้สร้างรีเลชันใหม่โดยจะมี PK ของเอนทิตี้ที่เป็นฝั่งหนึ่งมาเป็นแอทริบิวต์ในรีเลชัน และถ้าใน ER-Diagram มีแอทริบิวต์ที่อยู่บนรีเลชัน แอทริบิวต์นั้นก็จะกลายเป็นแอทริบิวต์ของรีเลชันใหม่ที่สร้างมาด้วย 24
25
การแปลง ER-Diagram เป็นรีเลชัน
กรณีที่ความสัมพันธ์ระหว่างเอนทิตี้เป็นแบบ Ternary Patient PatientID Name PatientTreat M Physician PhysicianID Treatment Treatmentcode Desc 1 Result Date Time 25
26
การแปลง ER-Diagram เป็นรีเลชัน
กรณีที่ความสัมพันธ์ระหว่างเอนทิตี้เป็นแบบ Ternary Patient (patientid, name) Physician (physicianid, name) Treatment (treatmentcode, desc) PatientTreat (patientid, physicianid, treatmentcode, date, time, result) การเขียนจะใช้ตัวพิมพ์ใหญ่หรือเล็กก็ได้ 26
27
การแปลง ER-Diagram เป็นรีเลชัน
กรณีที่ความสัมพันธ์ระหว่างเอนทิตี้เป็นแบบ Supertype/Subtype ให้นำแอทริบิวต์ของเอนทิตี้ที่เป็น supertype มาเป็นแอทริบิวต์ของเอนทิตี้ของ subtype 27
28
การแปลง ER-Diagram เป็นรีเลชัน
กรณีที่ความสัมพันธ์ระหว่างเอนทิตี้เป็นแบบ Supertype/Subtype EmpName Address EmpID DateHire Employee HourlyRate Emp_Type = ContractNo “H” d “C” “S” Hourly Employee Salaried Employee Consultant AnnualSalary StockOption BillingRate 28
29
การแปลง ER-Diagram เป็นรีเลชัน
กรณีที่ความสัมพันธ์ระหว่างเอนทิตี้เป็นแบบ Supertype/Subtype Employee (EmpID, Empname, Address, DateHire) HourlyEmployee (EmpID, Empname, Address, DateHire, HourlyRate) SalariedEmployee (EmpID, Empname, Address, DateHire, AnnualSalary, StockOption) Consultant (EmpID, Empname, Address, DateHire, ContractNo, BillingRate) 29
งานนำเสนอที่คล้ายกัน
© 2024 SlidePlayer.in.th Inc.
All rights reserved.