Algebra relațională a codului

Setul de operațiuni set-teoretice include operațiuni:

Sindicatul (UNIUNEA) a două relații cu aceleași anteturi produce o relație care include toate tuplurile care intră în cel puțin una din relațiile de operand (tabelul din rândurile primului și celui de-al doilea tabel).







Intersecția (INTERSECT) a două relații cu aceleași anteturi produce o relație care include toate tuplurile care intră în ambele relații de operand.

Diferența (MINUS) a două relații cu aceleași titluri include toate tuplurile care intră în prima relație de operand, astfel încât nici una dintre ele nu este inclusă în relația care este al doilea operand.

Un produs cartezian (TIMES) a două relații a căror intersecție de anteturi este goală produce o relație a cărei tupluri sunt produse prin combinarea tuplurilor primului și al doilea operand (îmbinarea coloanelor).

Operațiile relaționale speciale includ:

· O constrângere (WHERE) a unei relații la o anumită condiție este o relație care include tuplurile relației operand care satisface această condiție.

  • Proiecțiile (PROIECT) ale unei relații cu un anumit subset al setului atributelor sale produc o relație, ale cărei nopți sunt subseturi corespondente ale tuplurilor relației de operand.

· Adunarea (ÎNCETAREA) a două relații pe o anumită condiție are ca rezultat o relație rezultantă, ale cărei nopți sunt produse prin combinarea tuplurilor din prima și a doua relație și satisfacerea acestei condiții. Rețineți, de asemenea, că în aplicațiile practice conexiunea nu este efectuată, de regulă, exact ca o restricție a produsului cartezian. Există algoritmi mai eficienți care garantează același rezultat.







· Diviziunea relațională (DIVIDE BY) are doi operanzi - relații binare și unare. Relația rezultată constă din tuple unare incluzând prima valoare a atributului primelor tuplele operanzilor astfel încât valorile setate ale doilea atribut (pentru o valoare fixă ​​a primului atribut) include o multitudine de valori ale doilea operand.

Redenumirea (RENAME) produce o relație al cărei corp coincide cu corpul operandului, dar numele de atribute sunt schimbate.

· Atributul (: =) vă permite să salvați rezultatul calculării unei expresii relaționale într-o relație de bază de date existentă.

REDENUMESTE UNDE = PROIECT ORI = = INTERSECT ÎNREGISTREAZĂ = DIVIDE BY UNION = MINUS algebra nu este închis în sens matematic (de exemplu, TIMES antet dacă nu identică este raportul). Dar folosirea operației RENAME ne permite să folosim algebra Codd aproape ca o algebră închisă.

Diviziunea relațională. o explicație pentru oameni. Să se dea două relații - A cu titlul 1. a2. o. b1. b2. bm> și B cu titlul 1. b2. bm>. Vom presupune că atributul bi al relației A și atributul bi al relației B nu au numai același nume, dar sunt de asemenea definite pe același domeniu. Apelăm setul de atribute j> atributul compozit a, și setul de atribute j> - atributul compound b. După aceasta vom vorbi despre diviziunea relațională a relației binare A (a, b) într-o relație unară B (b).

Rezultatul împărțirii A cu B este relația unară C (a) constând din tuple v astfel încât în ​​relația A există tupluri astfel că multitudinea de valori include o multitudine de valori ale atributului b în relația B.

Să presupunem că într-o bază de date a angajaților sprijinit de două atitudini: Salariaților (NUME OTD_NOMER) și numele (e), cu NAMES relații unare conține toate numele care au angajații organizației. Apoi, după efectuarea unei diviziuni relațională atitudinea personalului denumește atitudinea va fi primită relație unară conținând numărul de departamente, ale căror angajați au tot potențialul în numele organizației.







Articole similare

Trimiteți-le prietenilor: