Relational algebra
This presentation is the property of its rightful owner.
Sponsored Links
1 / 133

Relational Algebra PowerPoint PPT Presentation


  • 239 Views
  • Uploaded on
  • Presentation posted in: General

DBMS. Database Management System. Relational Algebra. 4122206A ระบบจัดการฐานข้อมูล 3(2-2) อ.ชนิดา คำเพ็ง สาขาวิชาเทคโนโลยีสารสนเทศ. Outline. Relational Database วิธีจัดการข้อมูลใน Relational Database. ฐานข้อมูลเชิงสัมพันธ์. ทำให้ผู้ใช้เห็นภาพของข้อมูลได้ง่าย

Download Presentation

Relational Algebra

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Relational algebra

DBMS

Database Management System

Relational Algebra

4122206A ระบบจัดการฐานข้อมูล 3(2-2)อ.ชนิดา คำเพ็งสาขาวิชาเทคโนโลยีสารสนเทศ


Outline

Outline

  • Relational Database

  • วิธีจัดการข้อมูลใน Relational Database

Database Management System


Relational algebra

ฐานข้อมูลเชิงสัมพันธ์

  • ทำให้ผู้ใช้เห็นภาพของข้อมูลได้ง่าย

  • ผู้ใช้ไม่ต้องรู้ว่าข้อมูลถูกจัดเก็บจริงอย่างไรและวิธีการเรียกใช้ข้อมูล

  • ภาษาที่ใช้ในการเรียกดูข้อมูล คล้ายภาษาอังกฤษ

  • การเรียกใช้ข้อมูลทำได้ง่าย โดยใช้โอเปอเรเตอร์ทางคณิตศาสตร์ เช่น Join, intersect , Union

Database Management System


Structure of relational databases

โครงสร้างการจัดเก็บข้อมูลของฐานข้อมูลเชิงสัมพันธ์(Structure of Relational Databases)

  • มีโครงสร้างข้อมูลเป็นตาราง(Relation) 2 มิติ ประกอบด้วย Row และ Column

Database Management System


Relational algebra

Attribute

โครงสร้างฐานข้อมูลเชิงสัมพันธ์

Employee

Cardinality

Relation

Degree

Primary Key

Foreign Key

Payroll

Database Management System


Relational algebra

คุณสมบัติของรีเลชั่น

  • ข้อมูลในแต่ละคอลัมน์เก็บได้เพียงค่าเดียวเท่านั้น

  • ข้อมูลในแต่ละแถวภายในรีเลชั่นเดียวกันต้องไม่ซ้ำกัน

  • คอลัมน์จะเรียงลำดับอย่างไรก็ได้

  • แต่ละแถวจะเรียงลำดับอย่างไรก็ได้

Database Management System


Relational database

วิธีจัดการข้อมูลใน Relational Database

  • Relational Database มีภาษาที่ใช้สำหรับจัดการกับข้อมูล 2 ภาษาคือ

    • Relational Algebra

      • ภาษาที่ DBMS ใช้อยู่ภายในระบบฐานข้อมูล

    • Relational Calculus

      • ภาษาที่ใช้กำหนดว่าต้องการอะไร

      • ถูกพัฒนาจนเป็นภาษา SQL ในปัจจุบัน

Database Management System


Relational algebra

ภาษาที่ใช้สำหรับจัดการข้อมูล

User Program

Relational Calculus

DBMS

Relational Algebra

Database

Database Management System


Relational algebra1

Relational Algebra

  • Relational Algebra เรียกอีกอย่างว่า Relational query language

  • ใช้ในการจัดการข้อมูล โดยการระบุตัวกระทำ กับความสัมพันธ์ที่ต้องการจัดการ ผลลัพธ์ที่ได้คือ ความสัมพันธ์ใหม่

  • มีคำสั่งพื้นฐาน 8 ตัว

Database Management System


Relational algebra

คำสั่งพื้นฐาน 8 ตัว

  • Select()หรือ Restrict เลือกแถวจากความสัมพันธ์

  • Project() เลือกเฉพาะคอลัมน์ที่ต้องการจากความสัมพันธ์

  • Product() สามารถรวมความสัมพันธ์ได้

  • Difference(-) หาความแตกต่างระหว่าง 2 ความสัมพันธ์

  • Union () เชื่อม 2 ความสัมพันธ์เข้าด้วยกัน

Database Management System


Relational algebra

คำสั่งพื้นฐาน 8 ตัว(ต่อ)

  • Intersection ()

  • Join (⋈)

  • Division ()

Database Management System


Select or restrict

Select or Restrict

  • การดึงข้อมูลจากรีเลชั่นเฉพาะแถวที่ต้องการ

  • ตัวอย่าง ต้องการสินค้าที่ราคาต่ำกว่า 1000 บาท

Database Management System


Select

ตัวอย่างคำสั่ง Select

  • ตัวอย่าง ต้องการสินค้าที่ราคาต่ำกว่า 1000 บาท

Database Management System


Selection restrict

Selection (Restrict)

Database Management System


Selection restrict1

Selection (Restrict)

รูปแบบ

ชื่อรีเลชั่น WHERE<CONDITION>

เงื่อนไข(ตาราง)

Database Management System


Selection restrict2

Selection (Restrict)

นักศึกษา

ตัวอย่าง

จังหวัด=‘นครราชสีมา’(นักศึกษา)

Database Management System


Selection restrict3

Selection (Restrict)

นักศึกษา

ตัวอย่าง

จังหวัด=‘นครราชสีมา’(นักศึกษา)

Database Management System


Selection restrict4

Selection (Restrict)

นักศึกษา

ตัวอย่าง

จังหวัด=‘นคราชสีมา’(นักศึกษา)

Database Management System


Selection restrict5

Selection (Restrict)

นักศึกษา

ตัวอย่าง

จังหวัด=‘นคราชสีมา’(นักศึกษา)

Database Management System


Selection restrict6

Selection (Restrict)

นักศึกษา

ตัวอย่าง

ชื่อ=‘แดง’(นักศึกษา)

Database Management System


Selection restrict7

Selection (Restrict)

นักศึกษา

ตัวอย่าง

ชื่อ=‘แดง’(นักศึกษา)

Database Management System


Selection restrict8

Selection (Restrict)

นักศึกษา

ตัวอย่าง

ชื่อ=‘แดง’(นักศึกษา)

Database Management System


Selection restrict9

Selection (Restrict)

นักศึกษา

ตัวอย่าง

ชื่อ=‘แดง’(นักศึกษา)

Database Management System


Selection restrict10

Selection (Restrict)

นักศึกษา

ตัวอย่าง

Database Management System


Selection restrict11

Selection (Restrict)

นักศึกษา

ตัวอย่าง

รหัส=‘B001’(นักศึกษา)

Database Management System


Selection restrict12

Selection (Restrict)

นักศึกษา

ตัวอย่าง

จังหวัด=‘นครราชสีมา’AND สาขาวิชา=‘โยธา’(นักศึกษา)

Database Management System


Selection restrict13

Selection (Restrict)

นักศึกษา

ตัวอย่าง

จังหวัด=‘นครราชสีมา’AND สาขาวิชา=‘โยธา’(นักศึกษา)

Database Management System


Selection restrict14

Selection (Restrict)

นักศึกษา

ตัวอย่าง

จังหวัด=‘นครราชสีมา’AND สาขาวิชา=‘โยธา’(นักศึกษา)

Database Management System


Selection restrict15

Selection (Restrict)

นักศึกษา

ตัวอย่าง

จังหวัด=‘นครราชสีมา’AND สาขาวิชา=‘โยธา’(นักศึกษา)

Database Management System


Selection restrict16

Selection (Restrict)

นักศึกษา

ตัวอย่าง

จังหวัด=‘นครราชสีมา’OR สาขาวิชา=‘โยธา’(นักศึกษา)

Database Management System


Selection restrict17

Selection (Restrict)

นักศึกษา

ตัวอย่าง

จังหวัด=‘นครราชสีมา’OR สาขาวิชา=‘โยธา’(นักศึกษา)

Database Management System


Selection restrict18

Selection (Restrict)

นักศึกษา

ตัวอย่าง

จังหวัด=‘นครราชสีมา’OR สาขาวิชา=‘โยธา’(นักศึกษา)

Database Management System


Selection restrict19

Selection (Restrict)

นักศึกษา

ตัวอย่าง

จังหวัด=‘นครราชสีมา’OR สาขาวิชา=‘โยธา’(นักศึกษา)

Database Management System


Selection restrict20

Selection (Restrict)

นักศึกษา

ตัวอย่าง

จังหวัด=‘นครราชสีมา’OR สาขาวิชา=‘โยธา’(นักศึกษา)

Database Management System


Selection restrict21

Selection (Restrict)

นักศึกษา

ตัวอย่าง

จังหวัด=‘นครราชสีมา’OR สาขาวิชา=‘โยธา’(นักศึกษา)

Database Management System


Project

Project

การเลือกเฉพาะบางคอลัมน์ของความสัมพันธ์ขึ้นมาแสดง

ตัวอย่างเลือกเฉพาะชื่อสินค้าและราคา

Database Management System


Project1

Project

Database Management System


Project2

Project

รูปแบบ

ชื่อรีเลชั่น [ชื่อแอททริบิวต์ 1, ชื่อแอททริบิวต์ 2, …]

 ชื่อแอททริบิวต์ 1, ชื่อแอททริบิวต์ 2, …(ตาราง)

Database Management System


Project3

Project

รูปแบบ

ชื่อรีเลชั่น WHERE <CONDITION> [ชื่อแอททริบิวต์ 1, …]

condition(ชื่อแอททริบิวต์ 1, …(Relation))

Database Management System


Project4

Project

นักศึกษา

ตัวอย่าง

Database Management System


Project5

Project

นักศึกษา

ตัวอย่าง

จังหวัด(นักศึกษา)

Database Management System


Project6

Project

นักศึกษา

ตัวอย่าง

จังหวัด(นักศึกษา)

Database Management System


Project7

Project

นักศึกษา

ตัวอย่าง

จังหวัด(นักศึกษา)

Database Management System


Project8

Project

นักศึกษา

ตัวอย่าง

จังหวัด(นักศึกษา)

Database Management System


Project9

Project

นักศึกษา

ตัวอย่าง

ชื่อ, จังหวัด, สาขาวิชา(นักศึกษา)

Database Management System


Project10

Project

นักศึกษา

ตัวอย่าง

ชื่อ,จังหวัด(นักศึกษา)

Database Management System


Project11

Project

นักศึกษา

ตัวอย่าง

ชื่อ,จังหวัด(นักศึกษา)

Database Management System


Project12

Project

นักศึกษา

ตัวอย่าง

ชื่อ,รหัส,สาขาวิชา(นักศึกษา)

Database Management System


Project13

Project

ตัวอย่าง

ชื่อ,รหัส,สาขาวิชา(นักศึกษา)

Database Management System


Project14

Project

นักศึกษา

ตัวอย่าง

ชื่อ,รหัส,สาขาวิชา(นักศึกษา)

Database Management System


Project15

Project

นักศึกษา

ตัวอย่าง

ชื่อ,รหัส,สาขาวิชา(นักศึกษา)

Database Management System


Project restrict

Project & Restrict

นักศึกษา

ตัวอย่าง

ชื่อ=‘แดง’(รหัส,ชื่อ,สาขาวิชา(นักศึกษา))

Database Management System


Project restrict1

Project & Restrict

นักศึกษา

ตัวอย่าง

จังหวัด=‘นครราชสีมา’(รหัส,ชื่อ,สาขาวิชา(นักศึกษา))

Database Management System


Project restrict2

Project & Restrict

นักศึกษา

ตัวอย่าง

ชื่อ=‘แดง’(รหัส,ชื่อ,สาขาวิชา(นักศึกษา))

Database Management System


Project restrict3

Project & Restrict

นักศึกษา

ตัวอย่าง

ชื่อ=‘แดง’(รหัส,ชื่อ,สาขาวิชา(นักศึกษา))

Database Management System


Project restrict4

Project & Restrict

นักศึกษา

ตัวอย่าง

ชื่อ=‘แดง’(รหัส,ชื่อ,สาขาวิชา(นักศึกษา))

Database Management System


Project restrict5

Project & Restrict

นักศึกษา

ตัวอย่าง

ชื่อ=‘แดง’(รหัส,ชื่อ,สาขาวิชา(นักศึกษา))

Database Management System


Product

Product

  • เป็นการจับคู่ข้อมูลระหว่างรีเลชั่นตั้งแต่ 2 รีเลชั่นขึ้นไป โดยหลักการดังนี้

    • จำนวนแถวข้อมูลในผลลัพธ์จะเท่ากับจำนวนแถวข้อมูลจากรีเลชั่นแรกคูณกับจำนวนแถวข้อมูลของรีเลชั่นที่สอง

    • วิธีการจับคู่ จะทำโดยนำแถวข้อมูลจากรีเลชั่นแรกไปจับคู่กับข้อมูลทุกแถวในอีกรีเลชั่นหนึ่ง ผลลัพธ์จะแสดงทุก แอตทริบิวต์

Database Management System


Product1

ตัวอย่างคำสั่ง Product

คารางลูกค้า

คารางสินค้า

ผลลัพธ์

Database Management System


Product2

Product

Database Management System


Product3

Product

Database Management System


Product4

Product

Database Management System


Product5

Product

Database Management System


Product6

Product

Database Management System


Product7

Product

Database Management System


Product8

Product

รูปแบบ

ชื่อรีเลชั่นแรกชื่อรีเลชั่นสอง

Relation  Relation

Database Management System


Product9

Product

วิชา

นักศึกษา

ตัวอย่าง

Database Management System


Product10

Product

วิชา

นักศึกษา

ตัวอย่าง

นักศึกษาวิชา

Database Management System


Product11

Product

วิชา

นักศึกษา

นักศึกษาวิชา

Database Management System


Product12

Product

วิชา

นักศึกษา

นักศึกษาวิชา

Database Management System


Union

Union

  • นำข้อมูลจาก 2 รีเลชั่นมารวมกัน โดยถ้ารายการซ้ำจะแสดงเพียงแถวเดียว

  • การ Union มีข้อกำหนดว่า แอตทริบิวต์ในลำดับที่ตรงกันจาก 2 รีเลชั่น ต้องมีชนิดของข้อมูลตรงกัน มิฉะนั้นจะ Union ไม่ได้

Database Management System


Union1

ตัวอย่าง Union

Union

Database Management System


Union2

Union

รูปแบบ

ชื่อรีเลชั่นแรก UNION ชื่อรีเลชั่นสอง

Relation  Relation

Database Management System


Union3

Union

A

ตัวอย่าง

Database Management System


Union4

Union

B

ตัวอย่าง

Database Management System


Union5

Union

A

ตัวอย่าง

B

Database Management System


Union6

Union

ตัวอย่าง

A

B

Database Management System


Union7

Union

ตัวอย่าง

A

B

Database Management System


Union8

Union

ตัวอย่าง

A

B

Database Management System


Union9

Union

ตัวอย่าง

A

B

Database Management System


Union10

Union

ตัวอย่าง

A U B

Database Management System


Intersect

Intersect

  • คล้าย Union ต่างกันเฉพาะผลลัพธ์จะเลือกเฉพาะรายการที่เหมือนกันจาก 2 รีเลชั่น

Database Management System


Intersect1

ตัวอย่าง Intersect

Intersect

Database Management System


Intersection

Intersection

รูปแบบ

ชื่อรีเลชั่นแรก INTERSECT ชื่อรีเลชั่นสอง

Relation  Relation

Database Management System


Intersection1

Intersection

A

ตัวอย่าง

B

Database Management System


Intersection2

Intersection

A

ตัวอย่าง

B

Database Management System


Intersection3

Intersection

ตัวอย่าง

A

B

Database Management System


Intersection4

Intersection

ตัวอย่าง

A

B

Database Management System


Intersection5

Intersection

ตัวอย่าง

A

B

Database Management System


Intersection6

Intersection

ตัวอย่าง

A

B

Database Management System


Intersection7

Intersection

ตัวอย่าง

A

B

A  B

Database Management System


Difference

Difference

  • เป็นการแสดงข้อมูลเฉพาะแถวของรีเลชั่นแรกที่ต่างจากแถวข้อมูลในรีเลชั่นที่สอง

Database Management System


Difference1

ตัวอย่าง Difference

Difference

Database Management System


Difference2

Difference

รูปแบบ

ชื่อรีเลชั่นแรก MINUS ชื่อรีเลชั่นสอง

Relation - Relation

Database Management System


Difference3

Difference

A

ตัวอย่าง

B

Database Management System


Difference4

Difference

A

ตัวอย่าง

B

Database Management System


Difference5

Difference

A

ตัวอย่าง

B

Database Management System


Difference6

Difference

ตัวอย่าง

A - B

Database Management System


Division

Division

  • เป็นการหาผลลัพธ์จาก 2 รีเลชั่น โดยที่รีเลชั่นตัวตั้งจะมีแอตทริบิวต์มากกว่าอีกรีเลชั่นที่เป็นตัวหาร โดยที่รีเลชั่นทั้งสองมีแอททริบิวต์อย่างน้อยหนึ่ง

    แอททริบิวต์ที่เหมือนกัน

  • ผลลัพธ์ที่ได้ จะเป็นค่าของแอททริบิวต์จากรีเลชั่นที่มีจำนวนแอททริบิวต์มากกว่า

Database Management System


Division1

ตัวอย่าง Division

ตัวตั้ง

ตัวหาร

Database Management System


2 division

ตัวอย่าง2 Division

ตัวตั้ง

ตัวหาร

Database Management System


Division2

Division

V  W

Database Management System


Division3

Division

รูปแบบ

ชื่อรีเลชั่น DIVIDEBY ชื่อรีเลชั่น

Relation  Relation

Database Management System


Division4

Division

ตัวอย่าง

O  P

Database Management System


Division5

Division

ตัวอย่าง

O  P

Database Management System


Division6

Division

ตัวอย่าง

O  P

Database Management System


Division7

Division

ตัวอย่าง

O  P

Database Management System


Division8

Division

ตัวอย่าง

O  P

Database Management System


Division9

Division

ตัวอย่าง

O  P

Database Management System


Division10

Division

ตัวอย่าง

O  P

Database Management System


Division11

Division

ตัวอย่าง

O  P

Database Management System


Relational algebra

Join

  • เป็นการจับคู่ข้อมูลระหว่างรีเลชั่นตั้งแต่ 2 รีเลชั่นขึ้นไป คล้าย product ต่างกันที่การ join จะแสดงผลลัพธ์เฉพาะแถวที่ตรงกับเงื่อนไขที่กำหนดไว้

  • การ Join มีหลายแบบดังนี้

    • Natural-Join คือ Equi-Join ที่ join ทุกคอลัมน์ที่ซ้ำกัน

    • Outer Join

Database Management System


Natural join

Natural Join

  • จับคู่ระหว่าง 2 รีเลชั่น

  • ผลลัพธ์ของ Natural Join จะได้แถวข้อมูลที่แอตทริบิวต์ที่ใช้จับคู่มีค่าเท่ากัน และตัดแอตทริบิวต์ที่ซ้ำกันออกไป 1 ตัว

Database Management System


Natural join1

ตัวอย่าง Natural Join

รีเลชั่นสินค้า

รีเลชั่นการสั่งซื้อ

Database Management System


Natural join2

ตัวอย่าง Natural Join(ต่อ)

ขั้น 1ทำงานเหมือนการทำ product

Database Management System


Natural join3

ตัวอย่าง Natural Join(ต่อ)

ขั้น 2 เลือกแถวที่มีค่ารหัสสินค้าเท่ากัน

Database Management System


Natural join4

ตัวอย่าง Natural Join(ต่อ)

ขั้น 3 ตัดแอตทริบิวต์ที่ซ้ำกันออกไป

Database Management System


Outer join

Outer Join

  • เป็นการ join ที่นอกจากจะให้ผลลัพธ์ของแถวข้อมูลที่มีเงื่อนไขตรงกันแล้ว ยังให้ผลลัพธ์ของแถวที่ข้อมูลไม่สามารถจับคู่กันได้ออกมาด้วย

  • โดยค่าของแอตทริบิวต์ทางฝั่งรีเลชั่นที่มีค่าไม่ตรงกันนั้นจะแสดงเป็นค่า Null

Database Management System


Outer join1

ตัวอย่าง Outer Join

รีเลชั่นสินค้า

รีเลชั่นการสั่งซื้อ

Database Management System


Outer join2

ตัวอย่าง Outer Join(ต่อ)

Database Management System


Relational algebra

Join

Database Management System


Relational algebra

Join

Database Management System


Relational algebra

Join

Database Management System


Relational algebra

Join

Database Management System


Relational algebra

Join

Database Management System


Relational algebra

Join

Database Management System


Relational algebra

Join

Database Management System


Relational algebra

Join

รูปแบบ

ชื่อรีเลชั่น JOIN ชื่อรีเลชั่น

Relation ⋈Relation

Database Management System


Relational algebra

Join

Y

X

Database Management System


Relational algebra

Join

Y

X

Database Management System


Relational algebra

Join

Y

X

Database Management System


Relational algebra

Join

Y

X

X⋈Y

Database Management System


Relational algebra

แบบฝึกหัด

  • Player (Name, position, age, height, weight)

  • จากตาราง จงเขียนความสัมพันธ์ในรูปแบบของ Relational Algebra และหาผลลัพธ์ดังต่อไปนี้

  • เมื่อต้องการแสดงข้อมูลผู้เล่นที่มีอายุมากกว่า 23 ปี

  • เมื่อต้องการแสดงข้อมูลผู้เล่นที่มีความสูงตั้งแต่ 180 ขึ้นไป หรือ มีน้ำหนักน้อยว่า 80

  • เมื่อต้องการแสดงชื่อผู้เล่นที่เป็นกองหน้า และมีอายุน้อยกว่า 25 ปี

Database Management System


  • Login