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

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

บทที่ 3 แบบจำลองข้อมูล Data Models Calculus

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


งานนำเสนอเรื่อง: "บทที่ 3 แบบจำลองข้อมูล Data Models Calculus"— ใบสำเนางานนำเสนอ:

1 บทที่ 3 แบบจำลองข้อมูล Data Models Calculus

2 Relational Calculus แคลคูลัสเชิงสัมพันธ์หรือ Nonprocedural Query Language เป็นแบบจำลองของคำสั่งสำหรับเรียกใช้ข้อมูลจาก Relation ซึ่งให้ผลลัพธ์เหมือน Relational Algebra แต่จะเป็นคำสังที่ใช้การกำหนดข้อมูลต่างๆ ที่ต้องการจาก Relation โดยไม่ต้องสนใจวิธีการที่จะได้มาซึ่งผลลัพธ์นั้นจะต้องใช้การกระทำอะไรบ้าง มี 2 รูปแบบคือ 1. Tuple-Oriented Relational Calculus 2. Domain-Oriented Relational Calculus

3 Relational Calculus 1. Tuple-Oriented Relational Calculus
มีการใช้ตัวแปรแทน Tuple ใน Relation ซึ่งตัวแปรนี้จะถูกเรียกว่า Tuple Variable หรือ Range Variable เมื่อต้องการใช้คำสั่ง Relational Calculus เพื่ออ้างถึง Tuple ใน Relation ใด ต้องกระทำผ่าน Tuple Variable ที่ทำหน้าที่แทน Tuple ของ Relation นั้นแทน

4 Relational Calculus การกำหนดชื่อตัวแปร รูปแบบคำสั่ง
RANGE OF ชื่อตัวแปรทัพเพิล IS ชื่อรีเลชั่น เช่น การกำหนดชื่อตัวแปร E เป็น EMPLOYEE RANGE OF E IS EMPLOYEE และหากต้องการแสดงกลุ่มทัปเพิล E ทั้งหมดตามเงื่อนไขเป็นจริงใน P(E) เขียนได้ว่า { S | P (E)} โดย P คือสูตรหรือเงื่อนไขทางตรรกะ

5 1. Tuple-Oriented Relational Calculus
ตัวอย่างที่ 3.16 ต้องการคิวรี่ข้อมูลทุกแอตตริบิวต์ ของพนักงานที่มีเงินเดือนมากกว่า 10000 RANG OF E IS EMPLOYEE { E | E.Salary > 10000} ตัวอย่างที่ 3.17 ต้องการคิวรีข้อมูลเฉพาะแอตตริบิวต์ empNo,EmpName,Salary ของพนักงานที่มีเงินเดือนมากว่า บาท { E.empNo,E.EmpName,E.Salary | E.Salary > 10000}

6 1. Tuple-Oriented Relational Calculus
สามารถแปลงเป็นคำสั่ง SQL ดังนี้ Select E.empNo,E.EmpName,E.Salary From EMPLOYEE AS E Where E.Salary > 10000

7 1. Tuple-Oriented Relational Calculus
สัญลักษณ์ Quantifiers มาใช้งานเพิ่มเติม Existential Quantifiers  = there exists Universal Quantifiers  = for all

8 1. Tuple-Oriented Relational Calculus
ตัวอย่างที่ 3.18 จงแสดงทัปเพิลของรีเลชั่น BRANCH ที่มี BranchNo ตรงกับ BranchNo ในทัปเพิลของรีเลชั่น EMPLOYEE และสาขาที่อยู่ในจังหวัดลำปาง RANG OF E IS EMPLOYEE RANG OF B IS BRANCH  B (B.branchNo=E.branchNo  B.City = “ลำปาง” โอเปอร์เรชั่นทางด้านตรรกะ ประกอบด้วย  (AND)  (OR) และ  (NOT)

9 1. Tuple-Oriented Relational Calculus
ตัวอย่างที่ 3.19 จงแสดงทุกทัปเพิลในรีเลชั่น BRANCH เฉพาะสาขาที่ไม่อยู่ในจังหวัดกรุงเทพฯ RANG OF B IS BRANCH  B (B.city  = “กรุงเทพฯ” หรือเขียนอีกแบบว่า  B (B.city  = “กรุงเทพฯ”)

10 1. Tuple-Oriented Relational Calculus
ตัวอย่างที่ 3.20 จงแสดงรายชื่อของผู้จัดการที่เงินเดือนสูงกว่า บาท RANG OF E IS EMPLOYEE {E.employee | E.position = “ผู้จัดการ”  E.salary > 25000}

11 1. Tuple-Oriented Relational Calculus
ตัวอย่างที่ 3.21 จงแสดงข้อมูลพนักงานที่ดูแลบ้านเช่าในจังหวัดเชียงใหม่ RANG OF E IS EMPLOYEE RANG OF P IS PROPERTY_FOR_RENT {E | P (P.empNo= E.empNo  P.City =“เชียงใหม่”) }

12 1. Tuple-Oriented Relational Calculus
ตัวอย่างที่ 3.22 จงแสดงรายชื่อพนักงานปัจจุบันที่ไม่ได้รับมอบหมายให้ดูแลบ้านเช่า RANG OF E IS EMPLOYEE RANG OF P IS PROPERTY_FOR_RENT {E.empName | ~(P (E.empNo= P.empNo) )} หรือ {E.empName |  P (~(E.empNo= P.empNo) )}

13 1. Tuple-Oriented Relational Calculus
ตัวอย่างที่ 3.23 จงแสดงรายชื่อและคำติชมของลูกค้าที่เข้ามาเยี่ยมชมบ้านเช่าในกรุงเทพฯ RANG OF C IS CLIENT RANG OF V IS VIEWING RANG OF P IS PROPERTY_FOR_RENT {C.clientName, V.comment |   (C.clientNo = V.clientNo) P (V.propertyNo =P. propertyNo  P.City =“กรุงเทพฯ”) }

14 Relational Calculus 2. Domain-Oriented Relational Calculus
จะใช้ตัวแปรแทน Domain ของข้อมูลแทน Tuple เรียกว่า “Domain Variable” หรือ “Scalar Variable” การใช้ Domain ของข้อมูลจะอ้างถึง การเป็นสมาชิกของข้อมูลภายใต้เงื่อนไขที่กำหนดในคำสั่งนั้นแทน กล่าวคือจะใช้การระบุค่าของ Attribute ต่างๆ ของ Relation ที่ต้องการให้แสดงข้อมูลออกมาแทนการใช้เงื่อนไขเพื่อจำกัดเฉพาะจำนวน Tuple ที่เป็นไปตามเงื่อนไขตามที่กำหนดใน Tuple-Orinted Relational Calculus

15 Relational Calculus รูปแบบ R(pair, pair…)
โดยที่ R คือ ชื่อของ Relation ที่เป็นเจ้าของAttribute pair คือ ค่าของ Attribute ที่ต้องการ โดยจะอยู่ในรูปแบบ a:v ที่ซึ่ง a ได้แก่ ชื่อ Attribute ส่วน v ได้แก่ค่าของ Attribute นั้น

16 2. Domain-Oriented Relational Calculus
ตัวอย่างที่ 3.24 จงแสดงรายชื่อพนักงานที่เป็นผู้จัดการที่เงินเดือนสูงกว่า 25000 {empName |  position,  salary (EMPLOYEE(empName,position,salary)  position =“Manager”  salary > 25000}

17 2. Domain-Oriented Relational Calculus
ตัวอย่างที่ 3.25 แสดงพนักงานที่ดูแลบ้านเช่าจังหวัดเชียงราย {empName,propertyNo |  empNo EMPLOYEE(empNo,empName)   city (PROPERTY_FOR_RENT(propertyNo,empNo) ^ P.city =“เชียงราย” )}


ดาวน์โหลด ppt บทที่ 3 แบบจำลองข้อมูล Data Models Calculus

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


Ads by Google