Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Základy RA RA = matematický základ pro relační modul DBS jazyk SQL Relační DBS = Relační algebra + Relační model Doména = množina hodnot stejného typu/významu.

Podobné prezentace


Prezentace na téma: "Základy RA RA = matematický základ pro relační modul DBS jazyk SQL Relační DBS = Relační algebra + Relační model Doména = množina hodnot stejného typu/významu."— Transkript prezentace:

1 Základy RA RA = matematický základ pro relační modul DBS jazyk SQL Relační DBS = Relační algebra + Relační model Doména = množina hodnot stejného typu/významu (např. věk, příjmení); hodnoty v doméně jsou stejného datového typu (čísla, znaky, datum) Atribut = název domény pro použití v relaci; definovaný nad doménou hodnot datového typu Relace = libovolná podmnožina kartézského součinu (trvalá, odvozená, dočasná); představa tabulky, která má v řádcích prvky a ve sloupcích hodnoty jednotlivých atributů. Relaci budeme zapisovat jejím názvem a výčtem atributů.

2 jménopříjmenívěkpohlavípovolání MarekDvořák29mužOSVČ KláraSmutná16ženastudent EduardStarý75muždůchodce FrantišekZakopal42mužzaměstnanec RůženaStraková37ženazaměstnanec KarelHrubec56mužzemědělec Příklad relace OSOBA(JMÉNO, PŘÍJMENÍ, VĚK, POHLAVÍ, POVOLÁNÍ) Jaké má relace atributy? Co je doménou jednotlivých atributů?

3 Projekce, B ⊆ A Projekce je operací volby (výběru); vytváříme novou relaci, která obsahuje pouze některé atributy dané relace, např. jméno a příjmení. Operace, která vytvoří relaci R[B] tak, že z R(A) odřízne sloupce A-B. Zapisujeme ji pomocí [], relace R projekce B => R[B] příjmenívěk Dvořák29 Smutná16 Starý75 Zakopal42 Straková37 Hrubec56 Příklad projekce OSOBA[PŘÍJMENÍ, VĚK]

4 Selekce (restrikce), R(ρ) Selekce vytvoří novou relaci R(ρ) tak, že z relace R ponechá pouze prvky splňující podmínku ρ Označujeme ji relace R(ATRIBUT = hodnota). Podmínky lez spojovat logickými operátory AND a OR. jménopříjmenívěkpohlavípovolání EduardStarý75muždůchodce KarelHrubec56mužzemědělec Příklad selekce OSOBA(VĚK>50)

5 Množinové operace I nad relacemi stejného řádu je to sjednocení ( ∪ ), průnik (∩), rozdíl (-) AB b2 d3 Relace R(A,B) Relace S(A,B) AB a1 d3 e1 b2 Sjednocení ( ∪ ) R ∪ S={t | t ∈ R ∨ t ∈ S} Relace R ∪ S AB a1 d3 e1 AB d3 Průnik ( ∩ ) R ∩ S={t | t ∈ R ∧ t ∈ S} Relace R ∩ S AB a1 e1 Rozdíl (-) R - S={t | t ∈ R ∧ t ∉ S} Relace R-S

6 Množinové operace II nad všemi relacemi Kartézský součin, R×S Množina uspořádaných dvojic [r, s], pro které platí, že prvky r patří do množiny R a zároveň s patří do S (R×S={rs | r ∈ R ∧ s ∈ S}, kde rs=(r 1, r 2,..., r n, s 1, s 2,..., s m )). Spojení, R*S Mějme relace R a S, spojení relací R a S podle Θ na atributu r i relace R a atributu s j relace S budeme označovat: R*S, kde Θ ∈ {, ≠}. Spojení R*S je definováno: R*S ={rs | r ∈ R ∧ s ∈ S ∧ r i Θs j } Jedná se o operaci, která vytvoří maximální relaci U=R*S z relací R(A) a S(B), kde A je množina atributů relace R a B je množina atributů relace S. Atributy relace U pak bude tvořit množina A ∪ B. Pak platí: U[A] ∈ R(A) ∧ U[B] ∈ S(B). Přirozené spojení (R*S) pracuje intuitivně, jedná se přes rovnost atributů stejného názvu a domény. Jinými slovy: Přirozené spojení ze součinu R×S vybere ty záznamy, které mají na stejně pojmenovaných sloupcích stejné hodnoty, přitom stejně pojmenované sloupce se objeví ve výsledném spojení pouze jednou.

7 Příklad ABC a13 c12 a21 CD 2a 2c 1b RS R.AR.BR.CS.CS.D a132a a132c a131b c122a c122c c121b a212a a212c a211b R×SR×S ABCD c12a c12c a21b R*S R.AR.BR.CS.CS.D a132a a212a c122c R*S R.AR.BR.CS.CS.D a132a a132c c122a c122c R*S

8 Hodnoty NULL a tříhodnotová logika ANDTrueFalseNull True FalseNull False Null FalseNull ORTrueFalseNull True FalseTrueFalseNull XORTrueFalseNull TrueFalseTrueNull FalseTrueFalseNull TrueNull Logické operátory AND OR XOR: =TrueFalseNull True FalseNull False TrueNull  TrueFalseNull TrueFalseTrueNull FalseTrueFalseNull OperandIs NullIs NotNull FalseTrue FalseTrue False True NullTrueFalse Speciální operátor IS NULL a IS NOT NULL Srovnání:

9 IDKAUTORNÁZEVSTRANY 1BalzacLesk a bída kurtizán485 2PoláčekMuži v offsidu257 3SienkiewiczQuo vadis386 4DrdaNěmá barikáda125 5ZolaNana49 6BalzacOtec Goriot285 7DrdaDalskabáty, hříšná ves aneb Zapomenutý čert78 8TolstojVojna a mír684 KNIHA(IDK, AUTOR, NÁZEV, STRANY) IDCJMÉNOVĚKADRESA 1Martin45Břeclav 2František25Znojmo 3Jana95Brno 4Ondřej12Znojmo 5Eliška17Hodonín 6Matěj9Brno CTENAR(IDC, JMÉNO, VĚK, ADRESA) CTENARKNIHA 67 16 54 47 11 33 18 VYPUJCKY(CTENAR, KNIHA)

10 Zadání příkladů 1. jména čtenářů starších 25 let 2. id a název knih od Balzaca 3. jména a adresy čtenářů ve věku 17 až 50 let 4. jména autorů, kteří napsali knihu delší než 400 stran 5. id knih, které měl půjčené Martin 6. název a autora knih, které měla půjčené Eliška

11 Zadání příkladů 7. jména a adresy všech čtenářů, kteří mají vypůjčenu nějakou knihu 8. název knih, které neměl nikdy nikdo vypůjčené 9 jména a věk čtenářů, kterým je více než 18 let a nemají nic půjčeno 10. věk a adresu čtenářů, kteří mají knihu < 80 stránek

12 Zadání příkladů 11. jména čtenářů, kteří měli vypůjčenu knihu od Drdy, a k nim název vypůjčené knihy 12. jména a adresy čtenářů, kteří měli půjčenu knihu s více než 400 stranami a nejsou z Břeclavi 13. jména čtenářů a názvy knih, kde počet stran je menší než věk 14. Vytvořte spojení všech relací využitím kartézského součinu


Stáhnout ppt "Základy RA RA = matematický základ pro relační modul DBS jazyk SQL Relační DBS = Relační algebra + Relační model Doména = množina hodnot stejného typu/významu."

Podobné prezentace


Reklamy Google