Predstavitev "Osnovne definicije relacijskega podatkovnega modela". Predstavitev "model relacijske baze podatkov" Predstavitev osnovnih konceptov relacijske baze podatkov

Predstavitev
Predstavitev "Osnovne definicije relacijskega podatkovnega modela". Predstavitev "model relacijske baze podatkov" Predstavitev osnovnih konceptov relacijske baze podatkov

Podobni dokumenti

    povzetek, dodan 3. 8. 2010

    Osnovni principi načrtovanja relacijskih baz podatkov in njihova praktična implementacija v MS Access. Konceptualni in logični modeli relacijske baze podatkov, njena fizična zasnova. Avtomatizacija procesa interakcije s strankami in dobavitelji.

    tečajna naloga, dodana 03/10/2015

    Razvoj konceptualnega modela baze podatkov Auto Championship: opis predmetnega področja, katalog nalog, opis tabel, podatkovni diagram, ER diagram. Zasnova relacijskega modela "Športni kompleks". Izvedba in rezultat delovanja baze podatkov.

    tečajna naloga, dodana 14.06.2011

    Pojem baze podatkov, njena arhitektura. Klasifikacija baz podatkov. Osnovni podatkovni modeli. Primeri strukturiranih in nestrukturiranih podatkov. Prednosti in slabosti arhitekture datotečnega strežnika. Hierarhični podatkovni model. Vrste indeksov, normalizacija.

    predstavitev, dodana 8.6.2014

    Funkcije avtomatiziranega sistema "Oddelek za podiplomski študij". Oblikovanje relacijskega modela in razvoj kode baze podatkov SQL. Analiza informacijske podpore funkcij. Oblikovanje globalnega modela ER. Specifikacije lokalnih omejitev in pravil.

    tečajna naloga, dodana 01.04.2011

    Gradnja infološkega podatkovnega modela za katalog digitalne trgovine z diski. Okno za ustvarjanje novih datotek. Vrste podatkov v Visual FoxPro. Seznam vrst indeksov. Zgradba tabel, povezave med njimi. Prilagajanje videza obrazca. Izbira polja za razvrščanje podatkov.

    tečajna naloga, dodana 24.09.2013

    Računalniški informacijski sistem. Glavna razlika med sistemom baze podatkov in tradicionalnim datotečnim sistemom. Gradnja konceptualnega modela, relacijskega modela. Normalizacija. Oblikovanje baze podatkov v ACCESS. Ustvarjanje SQL poizvedb.

    tečajna naloga, dodana 06.11.2008

    Relacijska algebra kot sistem operacij nad relacijami v relacijskem podatkovnem modelu. Operatorji teorije množic, sintaksa operacije unije, preseka, odštevanja in kartezičnega produkta. Uporaba baz podatkov v računalništvu.

    tečajna naloga, dodana 01.02.2015

    Značilnosti omrežnega podatkovnega modela in njegove prednosti. Konstrukcija hierarhičnega podatkovnega modela, ki temelji na principu hierarhične podrejenosti tipov objektov, ki ga z uvedbo redundance privede do oblike drevesa. Relacijski model, ki temelji na relacijski teoriji.

    povzetek, dodan 28.11.2011

    Opredelitev baze podatkov in bank podatkov. Sestavine banke podatkov. Osnovne zahteve za integrirano tehnologijo za shranjevanje in obdelavo podatkov. Sistem upravljanja in modeli za organizacijo dostopa do baz podatkov. Razvoj in administracija aplikacij.

Zajete teme: 1. Relacijski model - Kratka zgodovina relacijskega modela - Uporabljena terminologija - Alternativna terminologija - Matematične relacije - Relacije in njihove lastnosti v bazi podatkov - Relacijski ključi - Predstavitev shem v relacijski bazi podatkov - Relacijska celovitost 2. Relacijski jeziki​ ​3. Relacijska algebra – Unarne operacije relacijske algebre – Množične operacije – Unijske operacije – Delitev 4. Relacijski račun – Relacijski račun tupl – Relacijski račun domen 5. Drugi jeziki

Relacijski model Struktura procesiranja informacij v relacijski bazi podatkov Relacijska algebra Podatki. Relacijski podatkovni model Relacijska baza podatkov SQL - standardni poizvedovalni jezik

Relacijski model Cilji izdelave relacijskega modela: 1) Zagotavljanje visoke stopnje neodvisnosti podatkov. 2) Normalizacija relacij, tj. ustvarjanje relacij brez ponavljajočih se skupin. 3) Razširitev jezikov za upravljanje podatkov z vključitvijo operacij na nizih.

Relacijski model Uporabljena terminologija Kot uspešen matematik je Codd obširno uporabljal matematično terminologijo teorije množic in predikatne logike. Relacijski model temelji na matematičnem konceptu odnosa, katerega fizična predstavitev je tabela.

Uporabljena terminologija Relacijska podatkovna struktura Atribut razmerja Domena Kardinalnost Tuple Stopnja razmerja Podatkovne tabele Relacijska baza podatkov

Uporabljena terminologija Številka Priimek Ocena 6 Ivanov 5 17 Petrov 4 19 Sidorov 4. 5 STOPNJA RELACIJSKE KARDINALNOSTI ATRIBUTI CUPLE Struktura relacijskih podatkov

Uporabljena terminologija Relacija je ravna tabela (dvodimenzionalna), sestavljena iz stolpcev in vrstic. Atribut je poimenovan stolpec razmerja. Domena je niz veljavnih vrednosti za enega ali več atributov, ki uporabniku omogoča centralno definiranje pomena in vira vrednosti, ki jih atributi lahko prejmejo. Tuple je relacijski niz. Tuple se imenujejo razširitev, stanje ali telo relacije, ki se nenehno spreminja. Opis strukture razmerja, skupaj s specifikacijo domen in morebitnimi drugimi omejitvami glede možnih vrednosti atributov, se včasih imenuje njegova glava (ali namen).

Uporabljena terminologija Stopnja razmerja je določena s številom atributov, ki jih vsebuje. Kardinalnost je število nizov, ki jih vsebuje relacija. Kardinalnost - lastnosti relacijskega telesa (spremembe z vsakim dodatkom ali odstranitvijo tuplev). Relacijska zbirka podatkov je niz normaliziranih odnosov. Relacijska zbirka podatkov je sestavljena iz odnosov, katerih struktura je določena s posebnimi tehnikami, imenovanimi normalizacija.

Alternativna terminologija Uradni izrazi Nadomestni 1 Nadomestni 2 Relacijska tabela Datoteka Tuple Vrstica Zapis Atribut Stolpec Polje

Relacije in njihove lastnosti v zbirki podatkov Relacijska shema je ime relacije, ki ji sledi veliko parov atributov in domen. atributi A 1, A 2, . . Relacijska shema: domeni D 1, D 2. . Dn (A 1: D 1... An: Dn) V relacijskem modelu je relacija lahko predstavljena kot poljubna podmnožica kartezičnega produkta, tabela pa je fizična predstavitev takšne relacije.

Relacije in njihove lastnosti v bazi podatkov Lastnosti relacij: Relacija ima edinstveno ime. Vsaka relacijska celica vsebuje samo atomsko (nedeljivo) vrednost. Vsak atribut ima edinstveno ime. Vrednosti atributov so vzete iz iste domene. Vrstni red atributov ni pomemben. Vsaka torka je unikatna, kar pomeni, da ne more biti dvojnikov. Vrstni red tulp v relaciji ni pomemben.

Relacijski ključi Superkey je atribut ali niz atributov, ki enolično identificira tuple danega razmerja. Ključ kandidata je nadključ, ki ne vsebuje podmnožice, ki je tudi nadključ za relacijo. Potencialni ključ K za dano relacijo R ima dve lastnosti: Edinstvenost. V vsaki torki vrednost relacije R ključa K enolično identificira to torko. Nezmanjšanost. Nobena veljavna podmnožica ključa K nima lastnosti edinstvenosti.

Relacijski ključi Prisotnost podvojenih vrednosti v določenem obstoječem naboru tork dokazuje, da neka kombinacija atributov ne more biti kandidatni ključ. Če je ključ sestavljen iz več atributov, se imenuje sestavljeni ključ. Primarni ključ je kandidatni ključ, ki je izbran za enolično identifikacijo tulp znotraj relacije. Ker relacija ne vsebuje podvojenih tupl, je vsako vrstico vedno mogoče enolično identificirati. To pomeni, da ima odnos vedno primarni ključ.

Relacijski ključi Potencialni ključi, ki niso izbrani kot primarni ključ, se imenujejo nadomestni ključi. Tuji ključ je atribut ali niz atributov znotraj relacije, ki ustreza kandidatnemu ključu neke (morda iste) relacije.

Predstavitev shem v relacijski bazi podatkov Relacijsko bazo podatkov lahko sestavlja poljubno število relacij. Konceptualni model ali konceptualna shema je niz vseh relacijskih baz podatkov.

Relacijska celovitost Podatkovni model ima dva dela: - nadzorni del, ki določa tipe dovoljenih operacij s podatki, - niz omejitev integritete, ki zagotavljajo pravilnost podatkov. Kvalifikator NULL je uveden v povezavi z vzdrževanjem pravil celovitosti in označuje, da je vrednost atributa trenutno neznana ali nesprejemljiva za ta niz. Ničle in presledki predstavljajo neko vrednost, medtem ko je ključna beseda NULL namenjena označevanju odsotnosti neke vrednosti.

Relacijska celovitost Celovitost entitete pomeni, da noben atribut primarnega ključa v razmerju ne sme vsebovati manjkajočih vrednosti, označenih s kvalifikatorjem NULL. Če je kjer koli v primarnem ključu kvalifikator NULL, to pomeni, da vsi njegovi atributi niso potrebni za enolično identifikacijo tulp. To je v nasprotju z definicijo primarnega ključa.

Relacijska celovitost Referenčna celovitost. Če tuji ključ obstaja v relaciji, potem se mora vrednost tujega ključa bodisi ujemati z vrednostjo kandidatnega ključa nekega niza v njegovi osnovni relaciji ali pa mora biti podana s kvalifikatorjem NULL. Omejitve celovitosti podatkov podjetja so dodatna pravila celovitosti, ki jih določijo uporabniki ali skrbniki baz podatkov.

Relacijski jeziki Relacijska algebra je proceduralni jezik (na visoki ravni). Uporaba: sporočilo DBMS o tem, kako zgraditi zahtevano relacijo na podlagi ene ali več obstoječih relacij v bazi podatkov. Relacijski račun je neproceduralni jezik. Uporaba: Določitev, kakšna bo relacija, ustvarjena iz ene ali več drugih relacij baze podatkov. Relacijsko popolna uporaba jezika: Izpeljite katero koli relacijo, ki jo je mogoče izpeljati z relacijskim računom.

Relacijska algebra je teoretični jezik operacij, ki vam na podlagi ene ali več relacij omogoča ustvarjanje druge relacije, ne da bi spremenili same prvotne relacije.

Osnovne operacije relacijske algebre: - selekcija - projekcija - kartezični produkt - unija - razlika (množična razlika) Dodatne operacije: - združevanje - presečišče - deljenje (deljenje) Relacijska algebra

Unarne operacije relacijske algebre Izberi operacijo: deluje na eni sami relaciji R. Definira nastalo relacijo z isto glavo kot relacija R in telo, sestavljeno iz tulp, katerih vrednosti atributov, ko jih zamenjamo v pogoj (predikat), dajo vrednost true .

Unarne operacije relacijske algebre Najenostavnejši primer: X Y je pogoj (predikat), je eden izmed primerjalnih operatorjev (itd.), X in Y sta atributa relacije R ali skalarne vrednosti. Izberite sintakso operacije: R kjer ali R kjer (X Y) Sintaksa SQL: izberite * iz R kjer (X Y)

Unarne operacije relacijske algebre Primer operacij in vzorčenja Relacija R (podatki o študentih) Rezultat vzorca R kjer je povprečna ocena<5 Номер студента Фамилия Средний балл 6 17 19 Иванов Петров Сидоров 5 4 4, 5 Номер студента Фамилия Средний балл 17 19 Петров Сидоров 4 4,

Operacije unarne relacijske algebre Operacija projekcije: deluje na eni sami relaciji R. Definira novo relacijo z glavo (X, ..., Z), ki vsebuje navpično podmnožico relacije R, ustvarjeno z ekstrahiranjem vrednosti podanih atributov iz rezultat podvojenih vrstic. Sintaksa operacije projekcije: R [ X , …, Z ] Sintaksa SQL: Izberite X , Y , …, Z iz R

Unarne operacije relacijske algebre Primer operacij in projekcije Relacija R (podatki o učiteljih) Predmet Geografija Zgodovina Filozofija Osebna številka Priimek Predmet 4587 Bondarenko Geografija 2136 Voronin Zgodovina 5496 Anisimova Filozofija Projekcija R [Predmet]

Operacije množice Kartezični produkt R×S definira novo relacijo, ki je rezultat veriženja (to je veriženja) vsake tule v relaciji R z vsako tulo v relaciji S. Sintaksa za operacijo kartezičnega produkta je: R krat S Sintaksa SQL je: Izberite * iz R, S

Številka študenta Priimek 6 Ivanov 17 Petrov 19 Sidorov Šifra predmeta Ime 101 Fizika 102 Matematika 103 Računalništvo. Množične operacije Primer kartezičnega produkta Relacija R (dijaki) Relacija S (predmeti)

Številka študenta Priimek Šifra predmeta Naziv 6 Ivanov 101 Fizika 6 Ivanov 102 Matematika 6 Ivanov 103 Računalništvo 17 Petrov 101 Fizika 17 Petrov 102 Matematika 17 Petrov 103 Računalništvo 19 Sidorov 101 Fizika 19 Sidorov 102 Matematika 19 Sidorov 103 Inform atika. Relacija R TIMES Soperacije z množicami

Operacije množice Operacija združevanja R S izhaja iz veriženja R in S, da se tvori ena sama relacija z isto glavo kot relaciji R in S in telo, sestavljeno iz tulpov, ki pripadajo R ali S ali obema (z največjim številom tork če so podvojene tuple izključene. Sintaksa operacije unije: R zveza S. Sintaksa SQL: (izberite * iz R) zveza (izberite * iz S)

Številka študenta Priimek Povprečna ocena 6 Ivanov 5 17 Petrov 4 19 Sidorov 4, 5 Številka študenta Priimek Povprečna ocena 6 Ivanov 5 18 Pušnikov 3, 5 19 Sidorov 4, 5 Operacije z množicami Primer operacije unije Relacija R (podatki o študentih ) Relacija S (podatki o študentih)

Številka učenca Priimek Povprečna ocena 6 Ivanov 5 17 Petrov 4 19 Sidorov 4, 5 18 Pušnikov 3, 5 Kombiniranje odnosov R in S Operacije z množicami

Operacije množice Razlikovna operacija R-S definira relacijo z isto glavo kot relaciji R in S in telo, sestavljeno iz zbirk, ki pripadajo relaciji R in ne pripadajo relaciji S, kot so prisotne v relaciji R, ne pa tudi v relaciji Razlika sintaksa operacije: R minus S Sintaksa SQL: (izberite * iz R) razen (izberite * iz S)

Operacije z množicami (schshibka) Primer operacije razlike Relacija R Številka študenta Priimek Povprečna ocena 6 Ivanov 5 17 Petrov 4 19 Sidorov 4, 5 Relacija S Številka študenta Priimek Povprečna ocena 6 Petrov 4 18 Sidorov 4, 5 20 20 Pušnikov 3 ,

Operacije z množicami Številka študenta Priimek Povprečna ocena 17 Petrov 4 19 Sidorov 4, 5 Relacija R MINUS S

Operacije niza Operacija presečišča R ∩ S definira relacijo, ki vsebuje tuple, prisotne v relaciji R in relaciji S. Sintaksa operacije presečišča: R presek S Sintaksa SQL: (Izberi * iz R) preseči (izberi * iz S)

Operacije z množicami Primer operacije presečišča Številka študenta Priimek Povprečna ocena 6 Ivanov 5 17 Petrov 4 19 Sidorov 4, 5 Relacija R (podatki o študentih) Številka študenta Priimek Povprečna ocena 6 Ivanov 5 18 Pušnikov 3, 5 20 Sidorov 4, 5 Relacija S (podatki o študentih)

Številka učenca Priimek Povprečna ocena 6 Ivanov 5 Operacije z množicami Relacija R PRESEČIŠČE S

Operacije združevanja. Operacija združevanja, kombinacija kartezičnega zmnožka in izbire, je enakovredna operaciji izbire iz kartezičnega zmnožka dveh operandov odnosov tistih nizov, ki izpolnjujejo pogoj, naveden v predikatu za združevanje kot izbirno formulo. Povezava relacij R in S glede na pogoj F se imenuje relacija (R krat S), kjer je F Sintaksa v jeziku SQL: Izberite R. *, S. * iz R, S kjer je f

Operacije združevanja Vrste operacij združevanja: - theta združevanje - ekvivalenčno združevanje (poseben primer theta združevanja) - naravno združevanje - zunanje združevanje - polzdruževanje

Operacije združevanja Theta združevanje definira relacijo, ki vsebuje torke iz kartezičnega produkta relacij R in S, ki izpolnjujejo predikat F. Predikat F ima obliko kjer je eden od primerjalnih operatorjev (<, >=, = ali -=). — povezavo relacije R po atributu X z relacijo S po atributu Y imenujemo relacija (R krat S), kjer je (X Y). Sintaksa SQL: izberite * iz R, S, kjer je (R. X S. Y) SRF iib. Sa. R. .

Operacije povezave Primer theta povezave Baza podatkov hrani informacije o: - učiteljih; - predmeti. Opomba: učitelji imajo pravico poučevati predmete, katerih status ni višji od statusa učitelja. Osebna številka Priimek X (Status učitelja) 4587 Bondarenko 4 2136 Voronin 1 5496 Anisimova 2 Relacija R (Učitelji) Koda predmeta Ime Y (Status predmeta) 101 Zgodovina 3 102 Geografija 2 103 Filozofija 1 Relacija S (Predmeti)

Pridružite se operacijam Odgovorite na vprašanje: »Kateri učitelji so usposobljeni za poučevanje katerih predmetov? » daje -povezavo R [ X Y ] S: Osebna številka Priimek X (Status učitelja) Koda predmeta Ime Y (Status predmeta) 4587 Bondarenko 4 101 Zgodovina 3 4587 Bondarenko 4 102 Geografija 2 4587 Bondarenko 4 103 Filozofija 1 2136 Voronin 1 103 Filozofija 1 5496 Anisimova 2 102 Geografija 2 5496 Anisimova 2 103 Filozofija 1 Odnos »Kateri učitelji poučujejo katere predmete? "

Operacije združevanja Equi-join (ekvivalenčno združevanje) je poseben primer -join, ko obstaja preprosto enakost (predikat F vsebuje samo operator enakosti (=)). Equi-join sintaksa: R [ X = Y ] S SQL sintaksa: izberite R. *, S . * od R, S kjer je (R. X = S. Y)

Operacije združevanja (Napaka) Primer equi-join Številka študenta S NUM Priimek študenta S IME 6 Ivanov 17 Petrov 19 Relacija Sidorov S (Študenti) Koda predmeta PCOD Ime predmeta P IME 101 Fizika 102 Matematika 103 Računalništvo Relacija P (Predmeti)

Številka študenta S ŠTEV Šifra predmeta PCOD Povprečje predmeta SRBALL 6 101 4. 5 6 102 4 6 103 5 17 101 3. 5 17 102 4 19 101 4. 5 Operacije povezav Relacija SP (Študij) Odgovor na vprašanje: » Katere predmete so študirali s strani študentov? “, daje enakovredno povezavo S [ S NUM= S NUM] SP. Ker imajo razmerja enake atribute, jih je treba najprej preimenovati. Dobimo: (S preimenuj S NUM kot S NUM 1)[ S NUM 1= S NUM 2](SP preimenuj S NUM kot S NUM 2).

Številka študenta S ŠTEV 1 Priimek študenta S IME Številka študenta S ŠT. 2 Šifra predmeta PCOD Povprečna ocena pri predmetu SRBALL 6 Ivanov 6 101 4, 5 6 Ivanov 6 102 4 6 Ivanov 6 103 5 17 Petrov 17 101 3, 5 17 Petrov 17 102 4 19 Sidorov 19 101 4, 5 Povezovalne operacije Relacija »Katere predmete učijo kateri učenci? "

Operacije združevanja Naravno združevanje je združevanje, ki temelji na enakovrednosti dveh relacij R in S, izvedenih na vseh skupnih atributih, iz katerih rezultatov je izključen en primerek vsakega skupnega atributa. Sintaksa za naravno združevanje je: R združevanje S. Naravno združevanje se izvede na vseh istih atributih. S.R.

Povezovalne operacije Primer naravne povezave Poenostavljen zapis: Odgovor na vprašanje »Katere predmete učijo kateri učenci? “ v obliki naravne povezave treh relacij S spoj SP spoj P: Številka učenca S ŠTEV Priimek učenca S IME Šifra predmeta PCOD Ime predmeta P IME Povprečna ocena pri predmetu SRBALL 6 Ivanov 101 Fizika 4, 5 6 Ivanov 102 Matematika 4 6 Ivanov 103 Računalništvo 5 17 Petrov 101 Fizika 3, 5 17 Petrov 102 Matematika 4 19 Sidorov 101 Fizika 4, 5 Relacija S JOIN SP JOIN P

Operacije združevanja Zunanja operacija združevanja se uporablja pri združevanju dveh relacij, katerih stolpci imajo neenake vrednosti. Zunanji spoj: levo in desno. Levi zunanji spoj: Tuple v relaciji R, ki nimajo ujemajočih se vrednosti v skupnih stolpcih relacije S, so prav tako vključene v relacijo rezultata. Oznaka za manjkajoče vrednosti v drugi relaciji je determinanta NULL. S.R.

Številka študenta Priimek Povprečna ocena 6 Ivanov 5 17 Petrov 3 19 Sidorov 4 Opomba: študent se lahko udeleži olimpijade pri predmetih, pri katerih ugotovljena skupna ocena ni višja od povprečne ocene študenta. Naloga: na podlagi razmerij R in S sestavite seznam učencev in predmetov, pri katerih sodelujejo na olimpijadah. Operacije združevanja Primer levega zunanjega združevalnega razmerja R

Razmerje S Koda predmeta Ime Skupni rezultat 101 Fizika 4, 5 102 Kemija 4 Številka študenta Priimek Povprečni rezultat Koda predmeta Ime Skupni rezultat 6 Ivanov 5 101 Fizika 4, 5 6 Ivanov 5 102 Kemija 4 17 Petrov 3 NULL 19 Sidorov 4 102 Kemija 4 Tabela ((P(R))S)< Операции соединения

Operacije združevanja Desno zunanje združevanje: Relacija rezultata vsebuje vse torke desne relacije. Polno zunanje združevanje: Relacija rezultata je zapolnjena z vsemi tuplemi iz obeh relacij in kvalifikatorji NULL se uporabljajo za označevanje neujemajočih se vrednosti tuple.

Operacije združevanja. Operacija pol-združevanja: definira relacijo, ki vsebuje tiste tuple relacije R, ki so vključeni v unijo relacij R in S. Formulacija operacije pol-združevanja z uporabo operatorjev projekcije in združevanja: SRF)SR(PSRFAF, kjer je A množica vseh atributov v relaciji R.

Primer operacije polzdruževanja Številka študenta Priimek Povprečni rezultat Koda predmeta Ime Skupni rezultat 6 Ivanov 5 101 Fizika 4, 5 6 Ivanov 5 102 Kemija 4 19 Sidorov 4 102 Kemija 4 Kombinacijske operacije

Operacija deljenja Naj: - je relacija R definirana na množici atributov A; — relacija S - na množici atributov B; - V A; — C=A-B (C je niz atributov relacije R, ki niso atributi relacije S). Rezultat deljenja R S je množica tulk relacije R, definiranih na množici atributov C, ki ustrezajo kombinaciji vseh tulk relacije S.

Operacija deljenja Primer operacije deljenja Relacija R Številka skupine Število študentov Polno ime kustosa Šifra predmeta Ime predmeta TM-31 20 Ivanov 01 Matematika TM-32 22 Petrov 01 Matematika TI-31 13 Sidorov 01 Matematika TM-31 20 Ivanov 02 Fizika TM -32 22 Petrov 02 Fizika

Relacija S T 1: Izberite 'Subject code', 'Subject name' iz operacije R Division Številka skupine Število študentov Polno ime kustosa TM-31 20 Ivanov TM-32 22 Petrov TI-31 13 Sidorov Subject code Ime predmeta 01 Matematika 02 Fizika

T 21: Izberite * iz T 1, S Operacija delitve Šifra predmeta Ime predmeta Številka skupine Število študentov Polno ime kustosa 01 Matematika TM-31 20 Ivanov 01 Matematika TM-32 22 Petrov 01 Matematika TI-31 13 Sidorov 02 Fizika TM- 31 20 Ivanov 02 Fizika TM-32 22 Petrov 02 Fizika TI-31 13 Sidorov

T 22: (Izberite * iz T 21) razen (Izberite * iz R) T 2: Izberite 'Subject code', 'Subject name' iz T 22 Operacija deljenja P = T 1- T 2 Subject code Ime subjekta Številka skupine Število študenti Polno ime kustosa 02 Fizika TI-31 13 Sidorov Šifra predmeta Ime predmeta 02 Fizika Šifra predmeta Ime predmeta 01 Matematika

Relacijski račun Izvor imena "relacijski račun": iz dela simbolne logike, imenovanega predikatni račun. Relacijski račun obstaja v dveh oblikah: - relacijski račun tork; — relacijski račun domen.

Relacijski račun Predikat v logiki prvega reda je funkcija resnice s parametri. Sodba je izraz, ki ga funkcija sprejme po zamenjavi vrednosti namesto parametrov. Sodba: resnična in lažna. Naj bo: P predikat; x je spremenljivka. Potem: je množica vseh vrednosti x, za katere je sodba P resnična. Predikate je mogoče kombinirati z uporabo logičnih operatorjev: (AND), (О R) in (N OT), da tvorijo sestavljene predikate.))x(P|x(

Relacijski tupni račun Naloga relacijskega tupnega računa je najti tuple, za katere je predikat resničen. Račun temelji na spremenljivkah tuple. Spremenljivke tuple so spremenljivke, katerih obseg je navedena relacija.

Primer zahteve: “Izberi atribute št. skladišča, naslov, ident. šifra, datum, polno ime kupca za naročila s količino >60" Vnos zahteve: ( S | R (S) ^ S. količina > 6 0) Pojasnilo: Izraz "S. število ur ” je vrednost atributa števila ur za torko. Tuple relacijski račun

Tuple Relational Calculus Dve vrsti kvantifikatorjev se uporabljata za označevanje števila primerkov, za katere je treba uporabiti predikat: - kvantifikator obstoja (simbol "obstaja"): uporablja se v formuli, ki mora biti resnična za vsaj en primer; — splošni kvantifikator (simbol „za vse“): uporablja se v izrazih, ki veljajo za vse primere.

Primer uporabe kvantifikatorja obstoja Študent (S) ^ (Zv) (Letnica rojstva (B) ^ (V. ime = S. ime) ^ V. skupina = 'TI-31') Izraz pomeni: v relacija Letnica rojstva obstaja tuple , ki ima enako vrednost atributa name kot vrednost atributa name v trenutni tuple S iz relacije Študent, atribut skupine iz tore B pa ima vrednost 'TI-31'. Primer uporabe splošnega kvantifikatorja (B) (B. skupina * 'TI-31') Izraz pomeni: v nobenem tulu relacije Letnica rojstva vrednost atributa skupine ni enaka 'TM-31'. Tuple relacijski račun

Proste spremenljivke so tuple spremenljivke, ki niso kvalificirane s kvantifikatorji, sicer jih imenujemo vezane spremenljivke. V relacijskem računu so edine veljavne formule nedvoumna in nesmiselna zaporedja. Tuple relacijski račun

Pravila za konstruiranje formule v predikatnem računu: 1. Če je P n-arna formula (predikat z n argumenti), so t 1, t 2, ..., tn konstante ali spremenljivke, potem je P (t 1, t 2 , ..., tn) - pravilno sestavljena formula. 2. Če sta t in t 2 konstanti ali spremenljivki iz iste domene, je eden od primerjalnih operatorjev (<, >=, -=), potem je t 1 t 2 pravilno sestavljena formula. 3. Če sta F 1, F 2 formuli, potem je F 1 F 2 konjunkcija formul, F 1 F 2 je disjunkcija in je negacija. 4. Če je F 1 formula s prosto spremenljivko X, sta tudi F (X) in F (X) formuli. Tuple relacijski račun

Domenski relacijski račun Vrednosti spremenljivk, uporabljenih v domenskem relacijskem računu, so vzete iz domen in ne iz relacijskih tupl. Pot: P(d 1, d 2, ..., dn) - predikat; d 1, d 2, …, dn so spremenljivke. Potem je: ( d 1, d 2, ..., dn |P(d 1, d 2, ..., dn)) množica vseh domenskih spremenljivk, za katere je predikat resničen. Izraz R(x, y) je resničen, če in samo če ima relacija R torko z vrednostma x in y v dveh svojih atributih.

Primer Iskanje: imena vseh vodij, katerih plača presega 2500 grivna. (Ime, priimek položaj, plača ((priimek, položaj, plača) položaj = plača 'manager'>2500)) Račun relacijske domene

Drugi jeziki Dodatne kategorije relacijskih jezikov: - na podlagi transformacij; — grafični jeziki; - jeziki četrte generacije. Jeziki, ki temeljijo na transformaciji, so razred neproceduralnih jezikov, ki uporabljajo relacije za pretvorbo izvornih podatkov v zahtevano obliko (primeri: SQUARE, SEQUEL in njegove različice, SQL).

Grafični jeziki so risba ali druga grafična predstavitev strukture odnosa. Uporabnik ustvari vzorec želenega rezultata, sistem pa vrne zahtevane podatke v podani obliki (primer: QBE). Jeziki četrte generacije: - z omejenim naborom ukazov ustvarite popolnoma pripravljeno aplikacijo, ki izpolnjuje zahteve kupcev; — zagotoviti uporabniku prijazno razvojno okolje. Drugi jeziki


Edgar Frank "Ted" Codd Edgar Frank Codd, Dorset, Anglija, Williams Island, Florida je ustvaril in opisal koncept relacijskih baz podatkov in relacijske algebre; za načrtovanje baze podatkov je predlagal aparat za normalizacijo relacij Edgar Frank "Ted" Codd Edgar Frank Codd, Dorset, Anglija, Williams Island, Florida ustvaril in opisal koncept relacijskih baz podatkov in relacijske algebre; za načrtovanje baze podatkov je predlagal aparat za normalizacijo relacij Relacijski podatkovni model




Informacijsko pravilo - vse informacije v relacijski bazi podatkov (vključno z imeni tabel in stolpcev) morajo biti definirane strogo kot vrednosti v tabelah. Informacijsko pravilo - vse informacije v relacijski bazi podatkov (vključno z imeni tabel in stolpcev) morajo biti definirane strogo kot vrednosti v tabelah. Zajamčen dostop – za katero koli vrednost v relacijski zbirki podatkov mora biti zajamčeno, da je na voljo za uporabo prek kombinacije imena tabele, vrednosti primarnega ključa in imena stolpca. Zajamčen dostop – za katero koli vrednost v relacijski zbirki podatkov mora biti zagotovljeno, da je na voljo za uporabo prek kombinacije imena tabele, vrednosti primarnega ključa in imena stolpca Podpora za ničelne vrednosti - DBMS mora biti sposoben obravnavati ničelne vrednosti (neznane, nedefinirane ali neuporabljene vrednosti) v nasprotju s privzetimi vrednostmi in neodvisno za katero koli domeno. Podpora za ničelne vrednosti - DBMS mora biti sposoben obravnavati ničelne vrednosti (neznane, nedefinirane ali neuporabljene vrednosti) v nasprotju s privzetimi vrednostmi in neodvisno za vse domene. Informacijsko pravilo - vse informacije v relacijski bazi podatkov (vključno z imeni tabel in stolpcev) morajo biti definirane strogo kot vrednosti v tabelah. Informacijsko pravilo - vse informacije v relacijski bazi podatkov (vključno z imeni tabel in stolpcev) morajo biti definirane strogo kot vrednosti v tabelah. Zajamčen dostop – za katero koli vrednost v relacijski zbirki podatkov mora biti zajamčeno, da je na voljo za uporabo prek kombinacije imena tabele, vrednosti primarnega ključa in imena stolpca. Zajamčen dostop – za katero koli vrednost v relacijski zbirki podatkov mora biti zagotovljeno, da je na voljo za uporabo prek kombinacije imena tabele, vrednosti primarnega ključa in imena stolpca Podpora za ničelne vrednosti - DBMS mora biti sposoben obravnavati ničelne vrednosti (neznane, nedefinirane ali neuporabljene vrednosti) v nasprotju s privzetimi vrednostmi in neodvisno za katero koli domeno. Podpora za ničelne vrednosti - DBMS mora biti sposoben obravnavati ničelne vrednosti (neznane, nedefinirane ali neuporabljene vrednosti) v nasprotju s privzetimi vrednostmi in neodvisno za vse domene. CODDOVIH 12 PRAVIL


Spletni relacijski katalog – opis baze podatkov in njene vsebine mora biti predstavljen na logični ravni kot tabele, za katere je mogoče uporabiti poizvedbe z uporabo jezika baze podatkov. Spletni relacijski katalog – opis baze podatkov in njene vsebine mora biti predstavljen na logični ravni kot tabele, za katere je mogoče uporabiti poizvedbe z uporabo jezika baze podatkov. Celovit jezik za upravljanje podatkov - Vsaj eden od podprtih jezikov mora imeti dobro definirano sintakso in biti celovit. Podpirati mora opis podatkovne strukture in manipulacijo, pravila celovitosti, avtorizacijo in transakcije. Celovit jezik za upravljanje podatkov - Vsaj eden od podprtih jezikov mora imeti dobro definirano sintakso in biti celovit. Podpirati mora opis podatkovne strukture in manipulacijo, pravila celovitosti, avtorizacijo in transakcije. Pravilo posodobitve pogledov - vse poglede, ki jih je teoretično mogoče posodobiti, je mogoče posodobiti prek sistema. Pravilo posodobitve pogledov - vse poglede, ki jih je teoretično mogoče posodobiti, je mogoče posodobiti prek sistema. Vstavljanje, posodabljanje in brisanje - DBMS ne podpira le poizvedbe za izbiro podatkov, ampak tudi vstavljanje, posodabljanje in brisanje Vstavljanje, posodabljanje in brisanje - DBMS ne podpira samo poizvedbe za izbiro podatkov, temveč tudi vstavljanje, posodabljanje in brisanje Spletna relacija katalog – opis baze podatkov in njene vsebine morajo biti predstavljeni na logični ravni kot tabele, po katerih je mogoče poizvedovati z uporabo jezika baze podatkov. Spletni relacijski katalog – opis baze podatkov in njene vsebine mora biti predstavljen na logični ravni kot tabele, za katere je mogoče uporabiti poizvedbe z uporabo jezika baze podatkov. Celovit jezik za upravljanje podatkov - Vsaj eden od podprtih jezikov mora imeti dobro definirano sintakso in biti celovit. Podpirati mora opis podatkovne strukture in manipulacijo, pravila integritete, avtorizacijo in transakcije. Celovit jezik za upravljanje podatkov - Vsaj eden od podprtih jezikov mora imeti dobro definirano sintakso in biti celovit. Podpirati mora opis podatkovne strukture in manipulacijo, pravila integritete, avtorizacijo in transakcije. Pravilo posodobitve pogledov - vse poglede, ki jih je teoretično mogoče posodobiti, je mogoče posodobiti prek sistema. Pravilo posodobitve pogledov - vse poglede, ki jih je teoretično mogoče posodobiti, je mogoče posodobiti prek sistema. Vstavljanje, posodabljanje in brisanje - DBMS ne podpira le poizvedbe za izbiro podatkov, ampak tudi vstavljanje, posodabljanje in brisanje Vstavljanje, posodabljanje in brisanje - DBMS ne podpira samo poizvedbe za izbiro podatkov, ampak tudi vstavljanje, posodabljanje in brisanje 12 PRAVILA TRSKA


Fizična neodvisnost podatkov - na aplikacijske programe in posebne programe logično ne vplivajo spremembe načinov fizičnega dostopa do podatkov in strukture shranjevanja podatkov. Fizična neodvisnost podatkov - na aplikacijske programe in posebne programe logično ne vplivajo spremembe načinov fizičnega dostopa do podatkov in strukture shranjevanja podatkov. Logična neodvisnost podatkov - spremembe v strukturah tabel logično ne vplivajo na aplikacijske programe in posebne programe v razumnih mejah. Logična neodvisnost podatkov - spremembe v strukturah tabel logično ne vplivajo na aplikacijske programe in posebne programe v razumnih mejah. Neodvisnost integritete - jezik baze podatkov mora biti sposoben definirati pravila integritete. Shranjeni bi morali biti v spletnem imeniku in ne bi jih smeli zaobiti. Neodvisnost integritete - jezik baze podatkov mora biti sposoben definirati pravila integritete. Shranjeni bi morali biti v spletnem imeniku in ne bi jih smeli zaobiti. Neodvisnost distribucije - na aplikacijske programe in posebne programe logično ne vpliva, ali so podatki uporabljeni prvič ali večkrat. Neodvisnost distribucije - na aplikacijske programe in posebne programe logično ne vpliva, ali so podatki uporabljeni prvič ali večkrat. Integriteta - nezmožnost zaobiti pravila celovitosti, definirana v jeziku baze podatkov z uporabo jezikov na nizki ravni Kontinuiteta - nezmožnost obiti pravila celovitosti, definirana v jeziku baze podatkov z uporabo jezikov na nizki ravni Fizična neodvisnost podatkov - aplikacijski programi in posebni programi so nanje logično ne vplivajo spremembe v metodah dostopa do podatkov fizičnih podatkov in strukturah za shranjevanje podatkov. Fizična neodvisnost podatkov - na aplikacijske programe in posebne programe logično ne vplivajo spremembe načinov fizičnega dostopa do podatkov in strukture shranjevanja podatkov. Logična neodvisnost podatkov - na aplikacijske programe in posebne programe spremembe v strukturah tabel ne vplivajo logično, v razumnih mejah. Logična neodvisnost podatkov - na aplikacijske programe in posebne programe spremembe v strukturah tabel ne vplivajo logično, v razumnih mejah. Neodvisnost integritete - jezik baze podatkov mora biti sposoben definirati pravila integritete. Shranjeni bi morali biti v spletnem imeniku in ne bi jih smeli zaobiti. Neodvisnost integritete - jezik baze podatkov mora biti sposoben definirati pravila integritete. Shranjeni bi morali biti v spletnem imeniku in ne bi jih smeli zaobiti. Neodvisnost distribucije - na aplikacijske programe in posebne programe logično ne vpliva, ali so podatki uporabljeni prvič ali večkrat. Neodvisnost distribucije - na aplikacijske programe in posebne programe logično ne vpliva, ali so podatki uporabljeni prvič ali večkrat. Integriteta - nezmožnost zaobiti pravila integritete, definirana v jeziku baze podatkov z uporabo jezikov na nizki ravni ​​Continuity - nezmožnost obiti pravila integritete, definirana v jeziku baze podatkov z uporabo jezikov na nizki ravni ​​12 PRAVILA CODD


Najpogostejša interpretacija relacijskega podatkovnega modela pripada K. Date. Glede na Date je relacijski model sestavljen iz treh delov: strukturnega dela. Cel del. Manipulacijski delManipulacijski del Strukturni del.Strukturni del. Cel del. Manipulacijski del Manipulacijski del


Strukturni del opisuje, katere objekte obravnava relacijski model. Predpostavlja se, da je edina podatkovna struktura, ki se uporablja v relacijskem modelu, normalizirana n-arna relacija, ki opisuje, katere objekte obravnava relacijski model. Predpostavlja se, da so edina podatkovna struktura, uporabljena v relacijskem modelu, normalizirana n-arna razmerja. Del celovitosti opisuje posebno vrsto omejitve, ki mora biti izpolnjena za vsako razmerje v kateri koli relacijski bazi podatkov. To sta celovitost entitete in celovitost zunanjega ključa, ki opisujeta posebno vrsto omejitve, ki mora biti izpolnjena za katero koli razmerje v kateri koli relacijski bazi podatkov. To sta celovitost entitete in celovitost tujega ključa. Manipulacijski del opisuje dva enakovredna načina manipuliranja z relacijskimi podatki - relacijsko algebro in relacijski račun. Manipulacijski del opisuje dva enakovredna načina manipuliranja z relacijskimi podatki - relacijsko algebro in relacijski račun. Relacijski podatkovni model


Domena ima edinstveno ime (znotraj baze podatkov). Domena je definirana na nekem enostavnem podatkovnem tipu ali drugi domeni. Domena je definirana na nekem preprostem podatkovnem tipu ali drugi domeni. Domena ima lahko nek logični pogoj, ki ji omogoča, da opiše podnabor podatkov, ki je veljaven za dano domeno. Domena ima lahko nek logični pogoj, ki ji omogoča, da opiše podnabor podatkov, ki je veljaven za dano domeno. Domena nosi določeno pomensko obremenitev. Osnovne definicije Relacijski podatkovni model Domena je semantični koncept. Domeno si lahko predstavljamo kot podmnožico vrednosti neke vrste podatkov, ki imajo določen pomen. Za domeno so značilne naslednje lastnosti:


Osnovne definicije Relacija je niz tupl, ki ustreza eni shemi relacije. Pravzaprav je koncept relacijske sheme najbližji konceptu strukturnega podatkovnega tipa v programskih jezikih. Relacijski podatkovni model Tuple je nabor parov (ime atributa, vrednost), ki vsebuje eno pojavitev vsakega imena atributa. "Vrednost" je veljavna vrednost za domeno danega atributa Preprosto povedano, tuple je zbirka poimenovanih vrednosti danega tipa.


Relacijska algebra Relacijski račun Tretji del relacijskega modela, manipulacijski del, navaja, da se do relacijskih podatkov dostopa z uporabo relacijske algebre ali enakovrednega relacijskega računa. Relacijski podatkovni model


Izvedbe specifičnih relacijskih DBMS trenutno ne uporabljajo čiste relacijske algebre ali relacijskega računa v njihovi čisti obliki. De facto standard za dostop do relacijskih podatkov je postal SQL (Structured Query Language). SQL je mešanica operatorjev relacijske algebre in izrazov relacijskega računa, ki uporablja sintakso, ki je podobna angleškim stavkom in je razširjena z dodatnimi funkcijami, ki jih v relacijski algebri ali relacijskem računu ni.




OSNOVE RELACIJSKE ALGEBRE Relacijska algebra je niz operatorjev, ki sprejmejo relacije kot argumente in kot rezultat vrnejo relacije. Tako je relacijski operator videti kot funkcija z relacijami kot argumenti: Zaprtost relacijske algebre







ZDRUŽENJE OPERATORJEV TEORETIKE MNOŽIC. Unija dveh tipsko združljivih relacij A in B je relacija z isto glavo kot relaciji A in B in telo, sestavljeno iz tulp, ki pripadajo A ali B ali obema relacijama. Komentiraj. Unija, tako kot katera koli relacija, ne more vsebovati identičnih tulp. Če je torej določena tulka vključena tako v relacijo A kot v relacijo B, je enkrat vključena v unijo.








Komentiraj. Kot je razvidno iz zgornjega primera, potencialni (možni) ključi, ki so bili v relacijah A in B, niso podedovani z unijo teh relacij. Zato lahko v uniji relacij A in B atribut števila vsebuje podvojene vrednosti. Če temu ne bi bilo tako in bi bili ključi podedovani, bi bilo to v nasprotju s konceptom unije kot »unije množic«. Seveda ima unija relacij A in B, tako kot vsaka relacija, možen ključ, na primer sestavljen iz vseh atributov.









Kartezični produkt Kartezični produkt dveh relacij A in B je relacija, katere glava je veriženje glav relacij A in B, telo pa je sestavljeno iz tulpov, ki so veriženje tulkov relacij A*B=((A1B1) (A1B2)…..AnBn): Kartezični produkt sintakse: A KRAT B



Komentiraj. Sama operacija kartezičnega produkta ni zelo pomembna, ker ne daje nobenih novih informacij v primerjavi s prvotnim razmerjem. Za resnične poizvedbe se ta operacija skoraj nikoli ne uporablja. Vendar pa je operacija kartezičnega produkta pomembna za izvajanje posebnih relacijskih operacij.




Vzorčenje (omejitev, izbira) Vzorčenje (omejitev, izbira) na relaciji A s pogojem je relacija z enako glavo kot relacija A in telo, sestavljeno iz tulp, katerih vrednosti atributov, ko jih nadomestimo v pogoj, dajo vrednost TRUE. je logični izraz, ki lahko vključuje atribute relacije A in (ali) skalarne izraze. PRAV. je logični izraz, ki lahko vključuje atribute relacije A in (ali) skalarne izraze. V najenostavnejšem primeru ima pogoj obliko kjer je eden od primerjalnih operatorjev (itd.), in in sta atributa relacije ali skalarne vrednosti. Takšni izbori se imenujejo -vzorci (theta-vzorci) ali -omejitve, -izbori. V najpreprostejšem primeru ima pogoj obliko kjer je eden od primerjalnih operatorjev (itd.), in sta relacijski atribut ali skalarna vrednost. Takšni vzorci se imenujejo -vzorci (theta vzorci) ali -omejitve, -izbori. Izberite sintakso operacije: Izberite sintakso operacije: Ali



Projekcija Projekcija relacije A na atribute X,Y,Z, kjer vsak od atributov pripada relaciji A, je relacija z glavo (X,Y,Z) in telesom, ki vsebuje nabor tulp oblike (x , y, z), tako da v relaciji A obstajajo tuple z vrednostjo atributa X enako x, vrednostjo atributa Y enako y, ..., vrednostjo atributa Z enako z. Sintaksa operacije projekcije A Opomba. Operacija projekcije ustvari "navpično rezino" relacije, v kateri so odstranjene vse podvojene tuple, ki nastanejo med takšno rezino.



Povezave odnosov. Poleg operacij selekcije in projekcije je ena najpomembnejših relacijskih operacij. Običajno se upošteva več vrst operacij združevanja: – Splošna operacija združevanja – Theta združevanje – Equi združevanje – Naravna združevanje




Splošna operacija združevanja Tako je operacija združevanja rezultat zaporedne uporabe kartezičnega produkta in selekcijskih operacij. Če imata razmerja A in B atribute z istimi imeni, je treba te atribute pred izvedbo združevanja preimenovati.


Theta Join Definicija Naj relacija A vsebuje atribut X, relacija B vsebuje atribut Y in Theta je eden od primerjalnih operatorjev (in tako naprej). Potem se povezava relacije A z atributom X z relacijo B z atributom Y imenuje relacija. To je poseben primer splošne operacije združevanja. Včasih se za operacijo -join uporablja naslednja krajša sintaksa:


Primer.7 Theta povezava Predstavljajte si podjetje, ki hrani podatke o dobaviteljih in dobavljenih delih. Naj se dobaviteljem in delom dodeli določen status. Naj bo poslovanje podjetja organizirano tako, da imajo dobavitelji pravico dobaviti samo tiste dele, katerih status ni višji od statusa dobavitelja.


Primer.7 Theta povezava Številka dobavitelja Ime dobavitelja (status dobavitelja) X 1Ivanov4 2Petrov2 3Sidorov1 Tabela 13 Relacija A (Dobavitelji) Številka dela Ime dela Status dela Y 1Vijak3 2Matica2 3Vijak1 Tabela 14 Relacija B (Deli)


Primer.7 Theta povezava Številka dobavitelja Ime dobavitelja Status dobavitelja X Številka dela Ime dela Status dela Y 1Ivanov41Bolt3 1Ivanov42Nut2 1Ivanov43Screw1 2Petrov13Screw1 3Sidorov22Nut2 3Sidorov23Screw1 Tabela 15 Relacija “Kateri dobavitelji dobavljajo katere dele”


Primer8. Enakopovezava Naj obstajajo relacije P, D in PD, ki shranjujejo informacije o dobaviteljih, delih in dobavah (za udobje bomo uvedli kratka imena atributov): Številka dela DNUM Ime dela DNAME 1Vijak 2Matica 3Vijak Številka dobavitelja PNUM Ime dobavitelja PNAME 1Ivanov 2Petrov 3Sidorov Tabela 16 Relacija P (Dobavitelji) Tabela 17 Relacija D (Podrobnosti)


Primer8. Equi-connection Številka dobavitelja PNUM Številka dela DNUM Dostavljena količina VOLUME Tabela 18 Razmerje PD (dobava)


Primer8. Equi-connection Številka dobavitelja PNUM1 Ime dobavitelja PNAME Številka dobavitelja PNUM2 Številka dela DNUM Dobavljena količina VOLUME 1Ivanov Ivanov Ivanov Petrov Petrov Sidorov Tabela 19 Razmerje "Katere dele dobavljajo kateri dobavitelji"


Primer8. Equi-join Slabost enakopravnega združevanja je, da če pride do združevanja nad atributi z istimi imeni (in to se najpogosteje zgodi!), potem se v nastali relaciji pojavita dva atributa z enakimi vrednostmi. V našem primeru atributa PNUM1 in PNUM2 vsebujeta podvojene podatke. Te pomanjkljivosti se lahko znebite tako, da naredite projekcijo čez vse atribute, razen enega od podvojenih. Tako deluje naravna povezava.


Naravna povezava Definicija Naj sta podani relaciji A(A1,..., An,X1,..., Xm) in B(X1,...,Xm,B1,...,Bn), ki imata enake atribute ( X1,...,Xn) (tj. atributi z istimi imeni in definirani na istih domenah). Potem je naravna povezava relacij A in B relacija z glavo (A1,..., Аn,Х1,..., Хm,В1,...,Вn) in telesom, ki vsebuje množico tupl (а1 ,...,аn,x1,...,xn,b1 ,…,bn), tako da je naravno združevanje tako pomembno, da se zanj uporablja posebna sintaksa: A JOIN B


Naravna povezava Opomba. Sintaksa naravnega združevanja ne določa, na katerih atributih združevanje temelji. Naravna povezava se vzpostavi z uporabo vseh istih atributov. Komentiraj. Naravno združevanje je enakovredno naslednjemu zaporedju relacijskih operacij: – Preimenuj enake atribute v relacijah – Izvedba kartezičnega produkta relacij – Izvedba izbire na ujemajočih se vrednostih atributov, ki so imeli isto ime – Izvedba projekcije, odstranitev podvojenih atributov – Preimenujte atribute in jim vrnite izvirna imena Opomba. Izvedete lahko zaporedno naravno povezavo več odnosov. Ni težko preveriti, da ima naravna povezava (pa tudi splošna povezava) lastnost asociativnosti, tj. (A ZDRUŽI B) ZDRUŽI C=A ZDRUŽI (IN ZDRUŽI C)


Primer9. Naravni spoj V prejšnjem primeru je odgovor na vprašanje "katere dele dobavljajo dobavitelji" preprosteje zapisan kot naravni spoj treh relacij P JOIN PD JOIN D (za lažjo predstavo smo vrstni red atributov spremenili , to dovoljujejo lastnosti odnosov): Številka dobavitelja PNUM Ime dobavitelja PNAME Številka dela DNUM Ime dela DNAME Dobavljena količina VOLUME 1Ivanov1Bolt100 1Ivanov2Nut200 1Ivanov3Screw300 2Petrov1Bolt150 2Petrov2Nut250 3Sidorov1Bolt1000 Tabela 20 Razmerje P JOIN PD JOIN D


Opredelitev delitve. Naj sta podana razmerja A(X1,..., Хn,Y1,..., Ym) in B(Y1,...,Ym) in sta atributa Y1,...,Ym skupna obema odnosov. Delitev relacij A z B je relacija z glavo (X1,...,Xn) in telesom, ki vsebuje niz tulkov (x1,...,xn), tako da za vse tuple v relaciji A obstaja tuple. Relacija A deluje kot dividenda, relacija B deluje kot delitelj. Delitev razmerij je podobna deljenju števil z ostankom. Sintaksa operacije deljenja:


Primer. Divizija Odgovorimo na vprašanje, "kateri dobavitelji dobavljajo vse dele?" Kot dividendo vzamemo projekcijo X=PD[ PNUM,DNUM], ki vsebuje številke dobaviteljev in številke delov, ki so jih dobavili: Številka dobavitelja PNUM Številka dela DNUM Tabela 21 Projekcija X=PD


Primer. Deljenje Kot delilnik vzamemo projekcijo Y=D [DNUM], ki vsebuje seznam števil vseh delov (ni nujno, da jih kdo priskrbi): Številka dela DNUM Tabela 22 Projekcija Y=D Izberite DISTINCT PNUM iz Y, X kjer NE OBSTAJA (izberite DNUM od X, kjer je Y.DNUM=X.DNUM) Divizija daje seznam številk prodajalcev, ki dobavljajo vse dele: Tabela 23 Razmerje X DEVIDEBY Y Številka prodajalca PNUM 1


Zaključek Vsi operatorji relacijske algebre niso neodvisni - nekateri so izraženi z drugimi relacijskimi operatorji. Operatorje združevanja, presečišča in deljenja je mogoče izraziti z drugimi relacijskimi operatorji, tj. ti operaterji niso primitivni. Preostali relacijski operatorji (unija, odštevanje, kartezični produkt, selekcija, projekcija) so primitivni operatorji - ni jih mogoče izraziti drug z drugim.


Razlike med relacijsko algebro in SQL Obstaja več vrst poizvedb, ki jih ni mogoče izraziti z relacijsko algebro. Te vključujejo poizvedbe, ki zahtevajo odgovor za zagotovitev seznama atributov, ki izpolnjujejo določene pogoje, konstrukcijo tranzitivnega zapiranja relacij in konstrukcijo navzkrižnih tabel. Za pridobitev odgovorov na taka vprašanja je treba uporabiti proceduralne razširitve relacijskih jezikov.

1 diapozitiv

2 diapozitiv

Jedro vsake baze podatkov je podatkovni model. Podatkovni model je niz podatkovnih struktur, omejitev celovitosti in operacij manipulacije podatkov. Z uporabo podatkovnega modela je mogoče predstaviti objekte domene in odnose med njimi. Podatkovni model je niz podatkovnih struktur in operacij obdelave.

3 diapozitiv

4 diapozitiv

Hierarhični podatkovni model Objekti, povezani s hierarhičnimi odnosi, tvorijo usmerjen graf (obrnjeno drevo). Osnovni pojmi hierarhične strukture so: raven, element (vozlišče), povezava. Vozlišče je zbirka atributov podatkov, ki opisujejo objekt. V hierarhičnem drevesnem diagramu so vozlišča predstavljena kot vozlišča v grafu. Vsako vozlišče na nižji ravni je povezano samo z enim vozliščem na višji ravni. Hierarhično drevo ima samo eno točko (koren drevesa), ki ni podrejena nobeni drugi točki in se nahaja na najvišji (prvi) ravni. Odvisna (podrejena) vozlišča se nahajajo na drugem, tretjem itd. stopnje. Število dreves v bazi je določeno s številom korenskih zapisov. Vsak zapis baze podatkov ima samo eno (hierarhično) pot od korenskega zapisa.

5 diapozitiv

6 diapozitiv

Omrežni podatkovni model V omrežni strukturi z enakimi osnovnimi koncepti (nivo, vozlišče, povezava) je vsak element lahko povezan s katerim koli drugim elementom. Primer kompleksne mrežne strukture je struktura podatkovne baze, ki vsebuje podatke o študentih, ki sodelujejo v raziskovalnih projektih. Možna je udeležba enega študenta na več IR, kot tudi sodelovanje več študentov pri izdelavi enega IR.

7 diapozitiv

Relacijski podatkovni model Relacijski model je osredotočen na organiziranje podatkov v obliki dvodimenzionalnih tabel. Vsaka relacijska tabela je dvodimenzionalna matrika in ima naslednje lastnosti: vsak element tabele je en podatkovni element; vsi stolpci v tabeli so homogeni, tj. vsi elementi v stolpcu so enakega tipa (številski, znakovni itd.) in dolžine; vsak stolpec ima edinstveno ime; v tabeli ni enakih vrstic; Vrstni red vrstic in stolpcev je lahko poljuben.

8 diapozitiv

Relacijska tabela lahko predstavlja informacije o študentih, ki študirajo na univerzi, katerih vsaka vrednost enolično identificira ustrezni zapis, se imenuje preprost ključ (ključno polje). Če so zapisi enolično identificirani z vrednostmi več polj, ima takšna tabela baze podatkov sestavljeni ključ. V primeru je ključno polje tabele “Številka osebne mape”.

podvojene tuple izhaja iz definicije relacije kot niza tuples. V klasični teoriji množic je po definiciji vsaka množica sestavljena iz različnih elementov. Ta lastnost pomeni, da ima vsaka relacija tako imenovani primarni ključ - nabor atributov, katerih vrednosti enolično definirajo relacijsko zbirko. Za vsako relacijo ima to lastnost vsaj celoten nabor njenih atributov. Pri formalnem definiranju primarnega ključa pa je treba zagotoviti njegovo »minimalnost«, tj. nabor atributov primarnega ključa ne sme vključevati atributov, ki jih je mogoče zavreči, ne da bi pri tem poškodovali glavno lastnost – enolično identifikacijo tuple. Koncept primarnega ključa je izjemno pomemben v povezavi s konceptom celovitosti baze podatkov. Če pogledamo naprej, opažamo, da številne praktične izvedbe RDBMS dopuščajo kršitev lastnosti edinstvenosti tuplev za vmesne odnose, ki so implicitno ustvarjeni pri izvajanju poizvedb. Takšne relacije niso množice, ampak multimnožice, ki v nekaterih primerih omogočajo doseganje določenih prednosti, včasih pa vodijo do resnih težav.