ดาวน์โหลดงานนำเสนอ
งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ
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 =“เชียงราย” )}
งานนำเสนอที่คล้ายกัน
© 2024 SlidePlayer.in.th Inc.
All rights reserved.