Osnovni pojmi - Vegova

Download Report

Transcript Osnovni pojmi - Vegova

Relacijski model
podatkov
Glavne značilnosti RM



Podatki se združujejo v tabelah
Tabele so medsebojno logično povezane.
Povezava tabel je izvedena s pomočjo enakih stolpcev
tabel.

Relacijska PB je sestavljena iz množice
poimenovanih in logično povezanih tabel.

Zakaj relacijski model?
– SUPB-ji neposredno podpirajo relacijski (in/ali) objektni model
(ne pa tudi ERM)
2
Primer relacijske PB
Dijak_ID
103
109
201
205
…
Priimek
Dolinar
Mlinar
Novak
Kovač
…
Dijak
Ime
Jana
Andrej
Miha
Tanja
…
E-mail
[email protected]
[email protected]
(null)
[email protected]
…
Vaja
Kategorija
DN
DN
KN
ŠN
DN
…
Številka_vaje
1
2
1
1
3
…
Dijak_ID
103
103
201
201
201
103
205
…
Naslov
SUPB
SQL
SUPB
Relacijski model
SUPB
…
Max_št_točk
10
10
14
20
10
…
Rezultati
Kategorija
Številka_vaje
DN
1
KN
1
DN
1
DN
2
KN
1
DN
3
ŠN
1
…
…
Točke
7
10
8
9
14
8
4
…
3
Osnovni koncepti relacijskega PM
1.
2.
3.
4.
5.
6.
Relacija, atributi
Shema relacijske podatkovne baze
Stanje relacije
Vrednosti in zaloge vrednosti atributov
Atomarnost vrednosti atributov
Domene
4
Shematski prikaz strukture
relacijske PB
Podatkovna baza
Relacija 1
Relacija 2 …
Relacija n
n-terica 1
n-terica 2 …
n-terica m
Atribut 1
Atribut 2
Atribut k
5
1. Relacija, atributi
Relacija je predstavljena s tabelo
 Atributi so predstavljeni s stolpci tabele.





Relacijska PB je sestavljena iz 1 ali več tabel.
Tabela je sestavljena iz 1 ali več stolpcev.
V tabeli je zapisanih 0, 1 ali več vrstic – t.i. n-teric
relacije. // n-terica = tuple
Vrednosti podatkovnih elementov so zapisane v
presečišču vrstic in stolpcev. // vrednosti atributov za
določeno n-terico
6
1. Relacija, atributi

(nad.)
Relacija (matematično gledano) = množica nteric.
vrstni red vrstic znotraj tabele je (načeloma)
nedefiniran.
v relaciji (ker gre za množico elementov) ni podvajanj n-teric

Opomba:

RM ne zahteva in ne opredeljuje nobene posebne
podatkovne strukture za fizično shranjevanje podatkov.
Tabele/relacije predstavljalo le logični pogled na podatke.

Večina današnjih SUPBjev dovoljuje podvajanje vrstic tabele,
dokler le-ta nima definiranega ključa.
7
1. Relacija, atributi
(nad.)
Shematski prikaz relacije
8
2. Shema relacijske PB




Vse sestavine relacijske podatkovne baze morajo biti
opisane.
Opis relacijske PB = shema PB.
Shema PB je sestavljena iz shem posameznih relacij.
Shema relacijske PB opredeljuje:
1. imena tabel, ki sestavljajo podatkovno bazo;
2. atribute oziroma imena stolpcev vsake tabele;
3. podatkovne tipe posameznih stolpcev - v vsakem stolpcu lahko
shranjujemo le podatke nekega določenega tipa (nize znakov,
cela ali realna števila, datume, …) in
4. integritetne omejitve – to so pogoji, ki jih morajo izpolnjevati
podatki, ki so zapisani v podatkovni bazi.
9
2. Shema relacijske PB
Dijaki
IDDijak Priimek
Ime
Razred
10205
Mlinar
Mateja G2A
10301
Dolenc Mitja G2A
10305
Verk
Marija G2C
10309
Žavbi
Jana G2B
10310
Juh
Polona G2C
(nad.)
Telefon
01-123-333
03-313-313
NULL
NULL
01-111-111
Ime tabele = Dijaki
Atributi tabele Dijaki: IDDijak, Priimek, Ime, Razred, Telefon
Podatkovni tipi in integritetne omejitve atributov:
• IDDijak = TEXT(5); zahtevan vnos 5 števk, vrednost se v tabeli ne ponovi
• Priimek = TEXT(20); vpisani podatki se prikažejo kot velike črke
• Ime = TEXT(10)
• Razred = TEXT(3); zahteva vnos ČrkaŠtevkaČrka; "G2A“|"G2B“|"G2C“|null
• Telefon = TEXT(11)
10
Naloga

Naredi shemo relacijske PB za:
– Avto
– Televizor
– Vlak
– Predmet v šoli
11
3. Stanje relacije

Stanje relacije = primerek podane relacijske sheme
Opredeljeno je z množico vrstic, ki so zapisane v relaciji
Vzorčna tabela Dijaki ima trenutno 5 vrstic.

Stanje relacije je lahko:


– legalno (dovoljeno) - vrednosti vseh atributov so skladne z opredeljenimi
integritetnimi omejitvami ali
– nelegalno (nedovoljeno).

Za legalnost stanja relacije v praksi skrbi SUPB

vpogled v stanje relacije – notacija: tabela.Ai ali tabela[Ai].

Formalno zapisane vrednosti prve vrstice tabele Dijaki:
– dijaki.IDDijak = 10205, dijaki.Priimek='Mlinar', dijaki.Ime='Mateja',
dijaki.Razred='G2A' in dijaki.Telefon='01-123-333'
12
4. Vrednosti in zaloge vrednosti
atributov




Vnosi v tabelo (podatki) - podatkovne vrednosti iz neke določene
zaloge vrednosti, ki je opredeljena za vsak podatek posebej.
Izbor možnih zalog vrednosti določa SUPB; različni SUPB-ji 
različni tipi podatkov
Osnovni tipi podatkov: nizi znakov, števila (cela, realna), datum,
čas, valuta, binarni podatki, …
Relacijski podatkovni model je neodvisen od katerekoli konkretne
izbire podatkovnih tipov! // Pri opredelitvi relacijskega modela je množica
tipov le parameter sheme.

Razširitve nekaterih sodobnih SUPB-jev omogočajo uporabnikom definiranje
novih podatkovnih tipov – lastnost sodobnih OR sistemov.
13
5. Atomarnost vrednosti atributov

en vnos podatka v tabelo = atomaren (nedeljiv) podatek
Klasični RM ne dovoljuje uvajanja struktur in večvrednostnih
vrednosti atributov  vsaka celica v tabeli lahko vsebuje le eno
število, niz znakov, datum …,

Podpora kompleksnim vrednostim (množice, seznami, zapisi,
gnezdene tabele, …) je značilna za objektno-relacijske sisteme.

Opomba:

– obstajajo v resnici kompleksne strukture, katerih kompleksnost je s
pomočjo vgrajenih funkcij uporabnikom prikrita; primer: DATE,
TEXT(n),…
– deljivost vrednosti atributov je vidna šele na nivoju vrednosti podatkov
in ne na nivoju samega podatkovnega modela.
14
6. Domene




Domena - okrajšano ime za standardne tipe podatkov.
Za domeno lahko opredelimo tudi dodatne integritetne omejitve: zahtevan
podatek, le pozitivna vrednost, ….
Zagotavljajo:
– Enoličnost in konsistentnost podatkovnih tipov
– Boljše razumevanje strukture PB
Primeri:
–
–
–
–
–
–
// Primer kreiranja domene za podatek Številka vaje v podatkovni bazi FireBird
Create Domain "Zap_st_vaje" As Smallint Check (>0);
// Isti primer za podatkovno bazo MS SQL server
Exec sp_addtype 'Zap_st_vaje', 'Smallint', 'NOT NULL'
go
// Primer kreiranja domene za niz treh znakov (vnos je zahtevan) v podatkovni bazi
FireBird.
– Create Domain "Niz3" As Char(3) Check (Not NULL);

Zmožnost kreiranja domen - odvisna od izbranega SUPB-ja (mySQL, Paradox
ne podpirata domen)
15
Notacija zapisa shem
Relacijska shema PB S

Opredeljuje:
1. končno množico imen relacij {R1, …, Rm},
2. za vsako relacijo Ri, relacijsko shemo sch(Ri)
3. množico C integritetih omejitev (ključe, zunanje
ključe, vrste referencialnih integritet)

Primer podajanja relacijske sheme PB:

S = ({R1, R2, R3},sch,C).
Za podajanje relacijskih shem podatkovne baze obstaja veliko
različnih notacij!
17
Relacijska shema relacije s

Opredeljuje:
1. končno zaporedje A1 … An imen atributov in
2. za vsak atribut Ai podatkovni tip (ali domeno) Di, naj
bo dom(Ai):=val(Di) - domena atributa Ai je množica
vseh možnih vrednosti, ki jih ponuja domena Di


Primer podajanja relacijske sheme relacije:
s = (A1:D1, …, An : Dn)
Opomba: imena atributov ene relacijske sheme morajo biti
različna.
18
Možnosti za podajanje relacijske
sheme v praksi
1. Oris tabele
2. Tabelarična predstavitev
19
Možnosti za podajanje relacijske
sheme v praksi (nad.)
3. Formalna notacija
– ime relacije (tabele), ki ji sledi le seznam atributov, po
potrebi lahko dodamo tudi podatkovne tipe stolpcev
Vaja(Kategorija, Številka_vaje, Naslov, Max_st_točk)
Vaja(Kategorija:Char(2), Stevilka_vaje:Smallint, …)
4. SQL DDL stavek
– Odvisno od izbranega SUPB-ja
– Za uporabnike pretirano ‘tehnična’ predstavitev sheme 
primerna za komunikacijo le med tehničnim osebjem
(načrtovalci, administrator PB, programerji, …)
20
Formalna notacija zapisa
relacijske sheme





Ime_relacije(atribut1, atribut2, ….)
Primarni ključ relacije podčrtamo
Opcijske atribute označimo z o
Označevanje tujih ključev:
ime_atributaime_starševske_tabele
Primeri:
– Dijak(DijakID, Priimek, Ime, Telefono)
– Krožek(KrozekID,Kategorija,Številka_vaje ,Datum, Opis)
– Obiskuje(DijakIDDijak,KrozekIDKrozek)
21