Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

ออเปอเรเตอร์พื้นฐานในพีชคณิตสัมพันธ์ (Relational Algebra)


พีชคณิตสัมพันธ์ (Relational Algebra) เป็นภาษาคำสั่งเชิงกระบวนการ ใช้เพื่อให้ตาราง/ความสัมพันธ์เดียวเป็นผลลัพธ์จากการดำเนินการบนความสัมพันธ์มากกว่าหนึ่ง บางออเปอเรเตอร์พื้นฐานจะถูกอภิปรายที่นี่

ในหลักสูตรของเรา เราจะใช้สามความสัมพันธ์ (ตาราง) −

ตาราง 1: course

Course_idName
1Computer science
2Information Technology
3mechanical

ตาราง 2: students

Roll No.Nameaddressage
1RamDelhi18
2Rajuhyderabad20
4FaizDelhi22
5Salmanhyderabad20

ตาราง 3: Hostel

St. No.Nameaddressage
1RamDelhi18
2Akashhyderabad20
3nehaJhansi21

บนความสัมพันธ์เหล่านี้ เราจะดำเนินการบางอย่างเพื่อสร้างความสัมพันธ์ใหม่จากการดำเนินการที่ทำ

  • การดำเนินการเลือก (σ) − ออเปอเรเตอร์เลือกที่แทนด้วย sigma σ ใช้เลือกทูเพิลของความสัมพันธ์บนเงื่อนไขบางอย่าง เฉพาะทูเพิลที่อยู่ภายใต้เงื่อนไขบางอย่างเท่านั้นที่ถูกเลือก

ไวยากรณ์

σ(condition)(relation_name)

ตัวอย่าง

เลือกนักเรียนที่มี course id 1 σ(course_id = 1)(student)

ผลลัพธ์

Roll No.Nameaddressage
4FaizDelhi22
  • การดำเนินการฉาย (∏) ออเปอเรเตอร์ฉายที่แทนด้วย ∏ ใช้เลือกคอลัมน์จากความสัมพันธ์เฉพาะ เฉพาะคอลัมน์ที่ระบุเท่านั้นที่ถูกเลือก

ไวยากรณ์

∏(column1 , column2 , … , columnn)(relation_name)

ตัวอย่าง

ลองเลือกชื่อและหมายเลขของนักเรียนทั้งหมดที่อยู่ในหอพัก ∏( st. No. , name)(hostel)

ผลลัพธ์

St. No.Name
1Ram
2Akash
3neha

แถวจะไม่ซ้ำกันในการฉายเสมอ นั่นคือ ถ้ามีนักเรียนอีกคนชื่อ panjak อีกคนจะถูกลบออก

  • Cross Product (X) - Cross product แทนด้วยสัญลักษณ์ X และใช้หาค่าการ join ของสองตัวแปร ใน cross product ทูเพิลแต่ละอันของ relation1 จะถูก cross กับทูเพิลแต่ละอันของ relation2 ซึ่งทำให้ความสัมพันธ์ผลลัพธ์มีออเดอร์ nXm โดยที่ n คือจำนวนทูเพิลใน relation1 และ m คือจำนวนทูเพิลใน relation2

ไวยากรณ์

relation1 X relation2

ตัวอย่าง

ลองหา cross product ของตาราง course และ hostel

student X course


St. No.NameaddressageCourse_idName
1RamDelhi181Computer science
1RamDelhi182Information Technology
1RamDelhi183mechanical
2Akashhyderabad201Computer science
2Akashhyderabad202Information Technology
2Akashhyderabad203mechanical
3nehaJhansi211Computer science
3nehaJhansi212Information Technology
3nehaJhansi213mechanical
  • Union (U) - ยูเนียนของสองความสัมพันธ์ relation1 และ relation2 จะให้ทูเพิลที่อยู่ใน relation1 หรือ relation2 แตทูเพิลที่อยู่ในทั้ง relation1 และ relation2 จะถูกนับเพียงครั้งเดียว

    นอกจากนี้ ทั้งสองความสัมพันธ์ควรเป็นโดเมนเดียวกันสำหรับการหายูเนียน

ไวยากรณ์

relation1 U relation2 

ตัวอย่าง

ลองหายูเนียนของ student และ hostel

student U hostel


Roll No.Nameaddressage
1RamDelhi18
2Rajuhyderabad20
4FaizDelhi22
5Salmanhyderabad20
2Akashhyderabad20
3nehaJhansi21
  • Minus (-) operator − ออเปอเรเตอร์ - แทนด้วยสัญลักษณ์ - Relation1 - relation2 จะผลลัพธ์เป็นความสัมพันธ์ที่ทูเพิลอยู่ใน relation1 และไม่อยู่ใน relation2 สำหรับการคำนวณ minus ด้วย ความสัมพันธ์ต้องเป็น union compatible

ไวยากรณ์

relation1 - relation2

ตัวอย่าง

ลองหาการดำเนินการ student - hostel

student - hostel


Roll No.Nameaddressage
2Rajuhyderabad20
4FaizDelhi22
5Salmanhyderabad20
  • rename(ρ) − การดำเนินการเปลี่ยนชื่อที่แทนด้วย ρ ใช้เปลี่ยนชื่อความสัมพันธ์ที่กำหนดให้เป็นชื่ออื่นที่กำหนด

ไวยากรณ์

ρ(new_name , old_name)