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

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
ครั้งที่ 9 Function(ต่อ).
Advertisements

ภาษา SQL (Structured Query Language)
วิชา องค์ประกอบศิลป์สำหรับคอมพิวเตอร์ รหัส
โครงการแลกเปลี่ยนเรียนรู้ เกี่ยวกับระเบียบกระทรวงการคลัง
Functional Programming
ชนิดของข้อมูลและตัวดำเนินการ
Probability & Statistics
Security and Integrity
การเลือกข้อมูลชุด ด้วยคำสั่ง IN
Object-Oriented Analysis and Design
Use Case Diagram.
SCC : Suthida Chaichomchuen
SCC : Suthida Chaichomchuen
บทที่ 3 แบบจำลองข้อมูล Data Models Algebra
การออกแบบแบบจำลองข้อมูล
A.5 Solving Equations การแก้สมการ.
การเขียนโปรแกรมเชิงวัตถุ ด้วยภาษาจาวา
บทที่ 3 ตัวดำเนินการ และ นิพจน์
การแปลงภาพสีเทาให้เป็นภาพขาวดำ
บทที่ 11 การเขียนโปรแกรมภาษาซี
การเขียนรายงานการใช้เอกสารประกอบการสอน
สถาปัตยกรรมของระบบฐานข้อมูล
บทที่ 2 อาร์เรย์ อาร์เรย์ คือ ชุดของตัวแปรเดียวกัน ซึ่งสมาชิกของอาร์เรย์จะเป็นตัวแปรพื้นฐาน จำนวนสมาชิกในอาร์เรย์มีขนานแน่นอน และสมาชิกของอาร์เรย์แต้ละตัว.
ไวยากรณ์ของภาษาการทำโปรแกรม (1) (Syntax of programming languages)
ฐานข้อมูลเชิงสัมพันธ์
โครงสร้างข้อมูลแบบคิว
การออกแบบฐานข้อมูลและการบริหารธุรกิจ
รายวิชา ระบบฐานข้อมูล 1 หลักการวิเคราะห์และออกแบบระบบฐานข้อมูล
ง40208 การเขียนไดนามิกเว็บเพจ ศูนย์คอมพิวเตอร์ โรงเรียนปลวกแดงพิทยาคม
แถวลำดับ (array) ง40202 การเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์
ความสัมพันธ์และความสัมพันธ์ทวิภาค
The Relational Data Model
สัปดาห์ที่ 7 การแปลงลาปลาซ The Laplace Transform.
SQL Structured Query Language.
บทที่ 3 การวิเคราะห์ Analysis.
คำสั่งควบคุมการทำงานของ ActionScripts
CHARPTER 4 การสอบถามข้อมูลแบบมีเงื่อนไข
การสอบถามข้อมูลแบบซ้อนกัน
Data Modeling Chapter 6.
ฐานข้อมูลเชิงสัมพันธ์ (Relational Database)
สำนักวิชาเทคโนโลยีสารสนเทศและการสื่อสาร มหาวิทยาลัยนเรศวร พะเยา
เสรี ชิโนดม ฟังก์ชัน เสรี ชิโนดม
โปรแกรม Microsoft Access
วิทยา กรระสี (วท.บ. วิทยาการคอมพิวเตอร์)
1. ศัพท์พื้นฐานของฐานข้อมูล
CHAPTER 12 SQL.
การสร้างแบบสอบถาม และ การกำหนดเงื่อนไข.
เรื่องการประยุกต์ของสมการเชิงเส้นตัวแปรเดียว
SQL Structured Query Language.
เรื่องการประยุกต์ของสมการเชิงเส้นตัวแปรเดียว
BCS 121 บท 5 การโปรแกรมเชิงวัตถุ (Object-Oriented Programming)
หลักการเขียนโปรแกรม ( )
แบบฝึกหัด จงหาคำตอบที่ดีที่สุด หรือหาค่ากำไรสูงสุด จาก
โมเดลเชิงสัมพันธ์ The relational model.
เรื่องการประยุกต์ของสมการเชิงเส้นตัวแปรเดียว
หลักการเขียนโปรแกรม ( )
E-R to Relational Mapping Algorithm
Enhanced Entity-Relationship Modeling
ค่าความจริงของประโยคที่มีตัวบ่งปริมาณ 2 ตัว
บทที่ 7 เงื่อนไขในภาษาซี
สื่อการสอนด้วยโปรมแกรม “Microsoft Multipoint”
แบบจำลองข้อมูล (Data Model)
1 Functions กนกวรรธน์ เซี่ยงเจ็น สำนักวิชาเทคโนโลยีสารสนเทศ และการสื่อสาร มหาวิทยาลัยนเรศวร พะเยา.
โครงสร้างข้อมูลแบบ สแตก (stack)
Lecture 5 SQL (Structured Query Language)
1 Introduction to SQL กนกวรรธน์ เซี่ยงเจ็น สำนักวิชาเทคโนโลยีสารสนเทศ และการสื่อสาร มหาวิทยาลัยนเรศวร วิทยาเขต สารสนเทศพะเยา.
Normalization Lecture 9.
โดย อ.อภิพงศ์ ปิงยศ รายวิชา สธ312 ระบบการจัดการฐานข้อมูลทางธุรกิจ
บทที่ 5 การควบคุมความถูกต้องให้กับข้อมูล (Data Integrity)
ใบสำเนางานนำเสนอ:

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

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

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

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

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

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

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

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)

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

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

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 =“เชียงใหม่”) }

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) )}

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 =“กรุงเทพฯ”) }

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

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

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

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