3 Relacioni model.pdf

Embed Size (px)

Citation preview

  • 7/23/2019 3 Relacioni model.pdf

    1/44

    Relacioni model podataka

    Baze podataka 2011/2012

    Katedra za raunarstvo

    Elektronski fakultet u Niu

    Prof.dr Leonid Stoimenov

  • 7/23/2019 3 Relacioni model.pdf

    2/44

    3Pregled predavanja

    Istorijat relacionog modela podataka Strukturna komponenta

    Integritetna komponenta

    SQL - podjezik za definisanje podataka

  • 7/23/2019 3 Relacioni model.pdf

    3/44

  • 7/23/2019 3 Relacioni model.pdf

    4/44

    3Neke karakteristike relacionogmodela podataka

    Jednostavan i elegantan Baza podataka je kolekcija vie relacija

    Svaka relacija je tabela sa vrstama i kolonama

    Tabelarna reprezentacija omoguava da se lako razume sadraj baze podataka, i

    da se za manipulaciju podacima koristi jednostavan jezikvisokog nivoa SQL

    SQL obuhvata DDL, DML, SDL

  • 7/23/2019 3 Relacioni model.pdf

    5/44

    3Koncepti relacionog modelapodataka

    Koncepti na nivou ekstenzije: Domen atributa Torka Pojava relacije Pojava baze podataka

    Koncepti na nivou intenzije Atribut ema relacije ema baze podataka

    Svi ostali koncepti se izvode iz osnovnih primenomodreenih formalnih matematikih - pravila

  • 7/23/2019 3 Relacioni model.pdf

    6/44

    3Koncepti relacionog modela

    U relacionom modelu podataka baza podataka se predstavlja

    kao kolekcija relacija Relacija je tabela vrednosti

    Svaka vrsta tabele predstavlja kolekciju vrednosti podataka kojesu u nekom odnosu Koristei koncepte ER modela podataka moemo rei da svaka vrsta

    tablice odgovara nekoj pojavi entiteta iz realnog sveta ili nekoj pojavipoveznika

    Svaka kolona tabele predstavlja kolekciju vrednosti podatakakoja opisuje neku odabranu osobinu realnog sistema Koristei koncepte ER modela podataka moemo rei da svaka kolona

    tabele odgovara nekom atributu entiteta ili poveznika

    Sve vrednosti u jednoj koloni pripadaju istom tipu podataka

    U terminologiji relacionog modela podataka vrste se nazivajutorke, kolone atributi, a tabela se naziva relacija

  • 7/23/2019 3 Relacioni model.pdf

    7/44

    3Definicija relacije

    Neka je A={A1, A2,..., An} skup atributa realnog sistema, i neka jesvakom atributu Ai pridruen domen Di Domeni ne moraju biti razliiti

    Definicija relacije

    Relacija R na skupovima D1, D2,..., Dnje skup n-torki (torki) odkojih svaka sadri prvi element iz D1, drugi iz D2, ... , n-ti iz Dn

    U relacionom modelu podataka domen D je skup atominih

    vrednosti Domeni se specificiraju preko tipa podataka Korisno je da svaki domen ima naziv

  • 7/23/2019 3 Relacioni model.pdf

    8/44

    3Domen

    Logika definicija domena: Lokalni_telefonski_broj: skup 6-cifrenih telefonskih brojeva koji

    su validni na podruju lokalne mrene grupe Ocena_studenta: celi broj izmeu 6 i 10 Kod_obrazovnog_profila: skup oznaka profila Elektronskog

    fakulteta: E,EEN,EMK,MIM,RI,T,US

    Tip podataka ili format domena: Lokalni_telefonski_broj: CHARACTER string oblika ccc-ccc Prelazna_ocena_studenta: INTEGER broj iz opsega 6-10 Kod_obrazovnog_profila: CHARACTER string iz skupa

    {E,EEN,EMK,MIM,RI,T,US}

  • 7/23/2019 3 Relacioni model.pdf

    9/44

    3Atribut

    U relacionom modelu podataka polazna osnova za definisanje

    koncepata strukturalne komponente je univerzalni skupatributa Obeleava se sa U, pri emu je U={Ai|i=1,n} To je skup stributa realnog sistema ili nekog njegovog dela koji se posmatra

    mini sveta Svaki atribut Ai opisuje neku odabranu osobinu realnog sistema

    Svakom atributu je pridruen domen, u oznaci dom(Ai), iz kojeg uzimavrednosti

    U relacionom modelu podataka Svaki atribut ima pridruen domen Vie atributa moe imati isti domen Domeni su skupovi atominih vrednosti

    Svi nazivi atributa u relaciji moraju biti razliiti

  • 7/23/2019 3 Relacioni model.pdf

    10/44

    3ema relacije

    ema relacijeje imenovana dvojka, u oznaci N(R,C), gde je: N naziv eme relacije, RU skup atributa relacije, a

    C skup ogranienja integriteta relacije

    Nje neformalna komponenta definicije koja opisuje njenu

    semantiku u prirodnom jeziku Skup ogranienja integriteta C opisuje odnose izmeu elemenata

    domena atributa iz R Ograniava koje e se torke pojaviti u instanci ove relacije

    ema relacije slui da opie relaciju

  • 7/23/2019 3 Relacioni model.pdf

    11/44

    3Primer eme relacije

    Posmatraemo tip entiteta STUDENT sa atributima{IND,IME,PREZIME,BPI} Pri emu je uoeno da vae ogranienja(1) svaki student ima broj indeksa i ne postoje dva

    studenta sa istim brojem indeksa(2) broj poloenih ispita (BPI) je vei od nule i manjiod 50

    ema relacije koja predstavlja model ove klaseentiteta bi imala oblik:

    STUDENT({IND,IME,PREZIME,BPI}, {1, 2})

  • 7/23/2019 3 Relacioni model.pdf

    12/44

    3Obeleavanje eme relacije

    Uobiajeno je da se ema relacije obeleava saR(A1, A2,..., An)R(A1:D1, A2:D2,..., An:Dn)

    R naziv (ime) relacije A1, A2,..., An lista atributa relacije

    D1, D2,..., Dn lista domena atributa relacije

    A1 ogranienje tipa primarni klju relacije Primer :

    RADNIK2 (MBR, LIME, LD, SBR)

    RADNIK1 (MBR:integer, LIME:char(15),LD:real, SBR:integer)

    Naziv

    relacijeNazivi atributa

    relacije

    Domeni

    atributa

  • 7/23/2019 3 Relacioni model.pdf

    13/44

    3Pojava (instanca) relacije

    Pojava relacije rnad emom relacije (R,C), u oznaci r(R),jeskup n-torki t = {t1,t2,...,tk} koje zadovoljavaju ogranienja C Svaka n-torka predstavlja ureenu listu od n-vrednosti, t=,

    gde viDi ili vi=null i-ta vrednost torke t, koja odgovara atributu Ai, se obeleava sa t[Ai]

    Primer:Jedna pojava relacije radniknad emom relacijeRADNIK (MBR, LIME, LD, SBR)je:

  • 7/23/2019 3 Relacioni model.pdf

    14/44

    3Tabelarno predstavljanje relacije

    Relacija r nad emom relacije R(A1, A2, ..., An) se predstavljatabelom ije kolone odgovaraju atributima, a vrste pojedinimn-torkama vrednosti ovih atributa Sve vrste moraju biti razliite

    Primer:Relacija radnik definisana nad emom relacije

    RADNIK(MBR, LIME, LD,SBR) se predstavlja tabelom

    MBR LIME LD SBR

    2203 MIRA 50000 10

    2817 PERA 40000 20

    2932 MIRA 35000 10

    2995 GOCA 18000 30

    radnik

  • 7/23/2019 3 Relacioni model.pdf

    15/44

    3Svojstva relacije

    ema relacije ne sadri dva jednaka naziva atributa Redosled naziva atributa u relaciji nije bitan

    Relacija ne sadri dve jednake torke Redosled torki u relaciji nije bitan

    Razlog:

    Prva dva svojstva proizilaze iz definicije eme relacije (skup nazivaatributa, po definiciji skup ne moe sadrati dva meusobnojednaka elementa)

    Druga dva svojstva proizilaze iz definicije relacije (skup torki).Posledica promene redosleda atributa i torki u relaciji nee bitigubitak informacije sadrane u relaciji.

    ( ) l

  • 7/23/2019 3 Relacioni model.pdf

    16/44

    3ema i pojava (instanca) relacionebaze podatka

    ema relacione baze podataka predstavlja konaan skupema relacija baze podatakaRi (i=1, 2,..., m) i skupmeurelacionih ogranienjaIC Oznaava se sa S(R1,R2,...,Rm;IC)

    Pojava baze podataka nad emom S(R1,R2,...,Rm;IC), jeskup pojava ri ema relacija Ri(i=1, 2,..., m), pri emusvako ri zadovoljava ogranienja integriteta IC

    Oznaava se sa s

  • 7/23/2019 3 Relacioni model.pdf

    17/44

    3Primer: ema relacione baze podatakaFAKULTET

    FAKULTET({STUDENT,PROFESOR,PREDMET,ZAPISNIK, NASTAVA};IC)STUDENT(Ind,Ime,Adresa,Status)PROFESOR(Id,Ime,KatId)PREDMET(KatId,PrKod,PrNaziv,Opis)

    ZAPISNIK(StudId,PrKod,Rok,Ocena)IZBOR(StudId,PrKod,Semestar)NASTAVA(ProfId,PrKod,Semestar)

    U ovoj emi je definisano: Ime eme baze podataka Imena ema relacija Imena atributa

    Ogranienja integriteta IC nisu definisana

  • 7/23/2019 3 Relacioni model.pdf

    18/44

    3Primer: ema relacione baze podatakaFAKULTET ogranienje domena

    FAKULTET({STUDENT, PROFESOR, PREDMET, ZAPISNIK, NASTAVA}; IC)

    STUDENT(Ind:INTEGER, Ime:STRING, Adresa:STRING, Status:STRING)

    PROFESOR(Id:INTEGER, Ime:STRING, KatId:STRING)

    PREDMET(KatID:STRING, PrKod:STRING,PrNaziv:STRING, Opis:STRING)

    ZAPISNIK(StudId:INTEGER, PrKod:STRING, Rok:STRING, Ocena:INTEGER)

    IZBOR(StudId:INTEGER, PrKod:STRING, Semestar:STRING)

    NASTAVA(ProfId:INTEGER, PrKod:STRING, Semestar:STRING)

    U ovoj emi su definisana ogranienja domena

    Ostala ogranienja integriteta e biti definisana kasnije

  • 7/23/2019 3 Relacioni model.pdf

    19/44

    3Primer: ema relacione baze podatakaPREDUZEE

    PREDUZEE ({RADNIK, SEKTOR,PROJEKAT};IC)RADNIK(MBR, LIME, LD, SBR)

    SEKTOR(SBR, SNAZIV, SLOK)

    PROJEKAT(PBR, PNAZIV, SBR,PRUK)

    Svaka ema relacije sadri specifikaciju primarnog kljua(podvueni atribut u emi relacije) i specifikaciju stranihkljueva (italic u emi relacije)

  • 7/23/2019 3 Relacioni model.pdf

    20/44

    3Pojava baze podataka PREDUZEEradnik MBR LIME LD SB R

    2203

    2817

    2932

    2995

    3305

    35153819

    MIRA

    PERA

    MIRA

    GOCA

    LAZA

    JOVANVLADA

    50 000

    40 000

    35 000

    18 000

    60 000

    20 00065 000

    10

    20

    10

    30

    40

    2030

    sektor projekatSBR SNAZIV SLOK PBR PNAZIV S B R PR U K

    10

    20

    30

    40

    PROIZVODNJA

    PROIZVODNJA

    ININJERING

    RAZVOJ

    NI

    BEOGRAD

    NI

    NI

    100

    200

    300

    400

    PC

    HOST

    LAN

    VIPX

    10

    20

    30

    40

    2203

    3305

    3819

    2817

  • 7/23/2019 3 Relacioni model.pdf

    21/44

    3Klju relacije (1)

    Svaka ema relacije ima bar jedan kljuDefinicija kljua:Skup atributa X R predstavlja klju eme relacije (R,C),ako za svako r vae sledea dva uslova:

    U1: (

    u,v r)(u[X]=v[X] u=v)U2: (

    Y X)( U1)

    U1: definiejedinstvenost vrednosti kjuaU2: definie minimalnost skupa atributa kljua Jedna ema relacije moe imati vie kljueva

    To su ekvivalentni kljuevi ili kljuevi kandidati Jedan od ekvivalentnih kljueva se bira za primarni klju

  • 7/23/2019 3 Relacioni model.pdf

    22/44

    3Klju relacije (2) Super klju (vai uslov U1)

    Atribut ili skup atributa koji na jedinstven nain identifikuje torku urelaciji

    Kandidat klju (vae uslovi U1 i U2) Super klju iji nijedan pravi podskup nema svojstvo super kljua u toj

    relaciji

    Primarni klju (vae uslovi U1 i U2) Kandidat klju izabran od strane projektanta baze podataka da na

    jedinstven nain identifikuje torke relacije Preko ovog kljua se najee vri traenje u relaciji On se koristi kao strani klju u drugim emama relacija

    Strani klju Atribut ili skup atributa jedne relacije koji se uparuje sa kljuem

    kandidatom druge ili iste relacije

  • 7/23/2019 3 Relacioni model.pdf

    23/44

    3Strani (spoljnji) klju relacije

    Skup atributa SK relacije r je strani klju ove relacije akozadovoljava sledea dva uslova:

    1. Ako se relacija r referencira na relaciju q, tada atributi iz SK

    relacije r moraju imati isti domen kao atributi primarnog kljuaPK relacije q

    2. Ako se torka t1 relacije r referencira na torku t2 relacije q, tadavrednost stranog kljua SK u torki t1 relacije r mora biti jednakavrednosti primarnog kljua PK u torki t2 relacije q ili moe imatinedefinisanu (NULL) vrednost

    3

  • 7/23/2019 3 Relacioni model.pdf

    24/44

    3Primer: ema baze podataka FAKULTETKljuevi kandidati

    FAKULTET({STUDENT, PROFESOR, PREDMET, ZAPISNIK, NASTAVA}; IC)

    STUDENT(Ind:INTEGER, Ime:STRING, Adresa:STRING,Status:STRING),Klju: {Ind}

    PROFESOR(Id:INTEGER, Ime:STRING, KatId:STRING), Klju: {Id}PREDMET(KatId:STRING, PrKod:STRING,PrNaziv:STRING, Opis:STRING),

    Kljuevi: {PrKod}, {KatId,PrNaziv}

    ZAPISNIK(StudId:INTEGER, PrKod:STRING, Rok:STRING, Ocena:INTEGER),Klju: {StudId,PrKod,Rok}IZBOR(StudId:INTEGER, PrKod:STRING, Semestar:STRING), Klju:

    {StudId,PrKod,Semestar}

    NASTAVA(ProfId:INTEGER, PrKod:STRING, Semestar:STRING), Klju:{PrKod,Semestar}

    U ovoj emi je definisano ogranienje domena i delimino ogranienjekljua (kljuevi kandidati

    Ostala ogranienja integriteta e biti definisana kasnije

    3

  • 7/23/2019 3 Relacioni model.pdf

    25/44

    3Primer: ema baze podataka FAKULTETPrimarni kljuevi

    FAKULTET(STUDENT, PROFESOR, PREDMET, ZAPISNIK, NASTAVA, IC)

    STUDENT(Ind:INTEGER, Ime:STRING, Adresa:STRING,Status:STRING)

    PROFESOR(Id:INTEGER, Ime:STRING, KatId:STRING)

    PREDMET(KatId:STRING, PrKod:STRING,PrNaziv:STRING,Opis:STRING)

    ZAPISNIK(StudId:INTEGER, PrKod:STRING, Rok:STRING,Ocena:INTEGER)

    IZBOR(StudId:INTEGER, PrKod:STRING, Semestar:STRING)

    NASTAVA(ProfId:INTEGER, PrKod:STRING, Semestar:STRING)

    U ovoj emi su definisani domeni atributa i primarni klju Ostala ogranienja integriteta e biti definisana kasnije

    3

  • 7/23/2019 3 Relacioni model.pdf

    26/44

    3Primer: ema FAKULTETDefinicije stranih kljueva

    ZAPISNIK(StudId) referencira STUDENT(Ind)ZAPISNIK(PrKod) referencira PREDMET(PrKod)

    IZBOR(StudId) referencira STUDENT(Ind)

    IZBOR(PrKod) referencira PREDMET(PrKod)

    NASTAVA(ProfId) referencira PROFESOR(Id)

    NASTAVA(PrKod) referencira PREDMET(PrKod)

    Gore su definisana ogranienja integriteta tipa ogranienjestranog kljua

    IZBOR(PrKod,Semestar) referencira NASTAVA (PrKod,Semestar)

    Definisano ogranienje tipa zavisnost sadravanjao tomekasnije

    3

  • 7/23/2019 3 Relacioni model.pdf

    27/44

    3Integritetna komponenta (1)

    Ogranienja predstavljaju neophodni sastavni deo definicije eme baze

    podataka Koriste se pri formiranju i auriranju baze podataka u cilju odravanja sadraja

    baze podataka u saglasnosti sa uoenim odnosima izmeu atributa realnogsistema

    Ogranienja se mogu klasifikovati kao:

    Ogranienja torkiproveravaju se za svaku torku relacije Primer: ogranienje 2 : broj poloenih ispita (BPI) je vei od nule i manji od 50

    2(r)=T (ur)(0u[BPI]50)

    Relaciona ogranienja proveravaju se meusobni odnosi vie torki jednerelacije

    Ovim se regulie lokalna konzistentnost usaglaenost pojave relacije sa

    definicijom eme relacije Primer: ogranienje 1: 1(r)=T (u,vr)(u[IND]=v[IND]u=v)

    Meurelaciona ogranienja Regulie se globalna konzistentnost baze podataka - usaglaenost pojave baze

    podataka sa definicijom eme baze podataka

    3

  • 7/23/2019 3 Relacioni model.pdf

    28/44

    3Integritetna komponenta (2)

    U relacionom modelu podataka definiu se ogranienja uodnosu na kljueve, tipove entiteta, meusobnoreferenciranje i semantiku relacija

    Nazivaju se redom: integritet kljueva integritet entiteta

    referencijalni integritet

    semantiki integritet

    3

  • 7/23/2019 3 Relacioni model.pdf

    29/44

    3Integritet kljueva Vrednosti kljueva kandidata moraju biti jedinstvene u

    pojavi eme relacije Ovim se definie ogranienje jedinstvenosti

    Razlog :

    Jedinstvenost vrednosti kljueva kandidata je posledicainjenice da relacija predstavlja skup torki, te stoga u relaciji nemogu postojati dve iste torke

    3

  • 7/23/2019 3 Relacioni model.pdf

    30/44

    3Integritet entiteta

    Niti vrednost primarnog kljua, niti bilo koje njegovekomponente, nesme imati nepoznatu (NULL) vrednost upojavi relacije

    Razlog:

    Poto primarni klju slui za identifikaciju pojedinih torkirelacije, to nepoznata vrednost primarnog kljua bionemoguila da se neke torke relacije identifikuju

    3

  • 7/23/2019 3 Relacioni model.pdf

    31/44

    3Referencijalni integritet To je zahtev da referencirana torka mora postojati (kada

    semantika podataka to zahteva) Vaan tip referencijalnog integriteta je ogranienje stranog

    kljua Ako u relaciji postoji strani klju, tada vrednost stranog kljua mora biti

    jednaka vrednosti kljua kandidata neke torke referencirane relacije ili

    imati null vrednost To je ogranienje koje se definie izmeu dve relacije u cilju

    odravanja konzistentnosti meu torkama ovih relacija Razlog:

    Referencijalni integritet obezbeuje da se svaka torka iz jedne relacije

    referencira samo na postojeu torku u drugoj ili istoj relaciji

    3S tiki i t it t

  • 7/23/2019 3 Relacioni model.pdf

    32/44

    3Semantiki integritetOpta ogranienja

    Dodatna pravila koja specificira korisnik ili DBA, a koja definiuili ograniavaju neke aspekte realnog sistema

    Primer Broj zaposlenih u svakom sektoru preduzea nesme biti vei

    od 20 Plata rukovodioca mora biti vea od plata njegovih radnika Ako korisnik postavi takvo ogranienje, onda on oekuje da ga

    DBMS proverava i da nee dozvoliti da se u relacijusektorunese 21-vi radnik, odnosno u relaciju radnik LD radnika koji

    je vei od LD-a njegovog rukovodioca

    3

  • 7/23/2019 3 Relacioni model.pdf

    33/44

    3Specifikacija ogranienja U relacijama baze podataka i izmeu relacija baze podataka

    postoji veliki broj ogranienja integriteta Ova ogranienja treba eksplicitno uneti u emu baze podataka U emi relacije se eksplicitno specificiraju

    Domeni atributa

    Primarni klju Strani kljuevi i referenca na primarni klju Da li atribut moe imati NULL vrednost Da li atribut mora imati jedinstvenu vrednost

    Da li atribut ima podrazumevanu vrednost

    Ostala semantika ogranienja (koristi se mehanizam trigera i trvrnji)

    3

  • 7/23/2019 3 Relacioni model.pdf

    34/44

    3Ogranienja integriteta i DBMS Ogranienja integriteta se specificiraju u emi baze podataka i

    eksplicitno specificiraju korienjem DDL-a, tako da ih DBMSmoe automatski nadzirati

    Semantika ogranienja se mogu specificirati i kontrolisatiunutar aplikacionih programa za auriranje baze podataka ili se

    mogu specificirati u emi baze podataka korienjemjezika zaspecificiranje ogranienja

    Veina komercijalnih DBMS-a podrava integritet kljua ientiteta, dok manji broj podrava referencijalni i semantiki

    integritet

    3SQL definisanje podataka

  • 7/23/2019 3 Relacioni model.pdf

    35/44

    3SQL - definisanje podatakaSpecificiranje tipa relacije

    STUDENT (Ind:INTEGER, Ime:STRING,Adresa:STRING,Status:STRING), Klju: {Ind}

    CREATE TABLE STUDENT (Ind INTEGER,

    Ime CHAR(20),

    Adresa CHAR(50),

    Status CHAR(10) )

    3SQL d fi i j d k

  • 7/23/2019 3 Relacioni model.pdf

    36/44

    3SQL- definisanje podatakaSpecificiranje ogranienja kljua (1)

    STUDENT (Ind:INTEGER, Ime:STRING,Adresa:STRING,Status:STRING), Klju: {Ind}

    CREATE TABLE STUDENT (

    Ind INTEGER,Ime CHAR(20),

    Adresa CHAR(50),

    Status CHAR(10),

    PRIMARY KEY (Ind ) )

    3SQL d fi i j d k

  • 7/23/2019 3 Relacioni model.pdf

    37/44

    3SQL - definisanje podatakaSpecificiranje ogranienja kljua (2)

    PREDMET(KatId:STRING, PrKod:STRING,PrNaziv:STRING,Opis:STRING), Kljuevi: {PrKod}, {KatId,PrNaziv}

    CREATE TABLE PREDMET (

    KatId CHAR(6),PrKod CHAR(4),

    PrNaziv CHAR(20),

    Opis CHAR(100),

    PRIMARY KEY (PrKod),UNIQUE (KatId,PrNaziv) )

    3SQL definisanje podataka S ifi i j

  • 7/23/2019 3 Relacioni model.pdf

    38/44

    3SQL - definisanje podataka SpecificiranjeNULL i podrazumevanih vrednosti

    STUDENT(Ind:INTEGER, Ime:STRING, Adresa:STRING,Status:STRING), Klju: {Ind}

    CREATE TABLE STUDENT (

    Ind INTEGER,

    Ime CHAR(20) NOT NULL,

    Adresa CHAR(50),

    Status CHAR(10) DEFAULT Bruco',PRIMARY KEY (Ind ) )

    CREATE TABLE STUDENT (

    Ind INTEGER PRIMARY KEY,

    Ime CHAR(20) NOT NULL,

    Adresa CHAR(50),

    Status CHAR(10) DEFAULT Bruco' )

    3SQL d fi i j d t k

  • 7/23/2019 3 Relacioni model.pdf

    39/44

    3SQL - definisanje podatakaSpecificiranje semantikih ogranienja

    ZAPISNIK(StudId:INTEGER, PrKod:STRING, Rok:STRING, Ocena:INTEGER),Klju: {StudId,PrKod,Rok}

    CREATE TABLE ZAPISNIK (

    StudId INTEGER,PrKod CHAR(6),

    Rok CHAR(6),

    Ocena INTEGER NOT NULL,

    PRIMARY KEY (StudId,PrKod,Rok),

    CHECK (Ocena IN ( 5,6,7,8,9,10) AND VALUE IS NOT NULL),CHECK (StudId >0 AND StudId

  • 7/23/2019 3 Relacioni model.pdf

    40/44

    3SQL - definisanje podatakaKreiranje korisniki definisanog domena

    CREATE DOMAIN OCENA INTEGER

    CHECK (VALUE IN (5,6,7,8,9,10) AND VALUE IS NOT NULL )

    CREATE DOMAIN OCENA INTEGER

    CHECK (Ocena >4 AND Ocena 0 AND StudId

  • 7/23/2019 3 Relacioni model.pdf

    41/44

    3SQL - definisanje podatakaSpecificiranje ogranienja stranog kljua

    STUDENT(Ind, Ime, Adresa,Status)

    PROFESOR(Id, Ime, KatId)PREDMET(KatId, PrKod, PrNaziv, Opis)

    ZAPISNIK(StudId, PrKod, Rok, Ocena)

    IZBOR(StudId, PrKod, Semestar)

    NASTAVA(ProfId, PrKod, Semestar)

    CREATE TABLE ZAPISNIK (

    StudId INTEGER,

    PrKod CHAR(6),

    Rok CHAR(6),

    Ocena OCENA,PRIMARY KEY (StudId,PrKod,Rok),

    FOREIGN KEY (StudId) REFERENCES STUDENT(Ind),

    FOREIGN KEY (PrKod) REFERENCES PREDMET )

    3SQL - manipulacija podacima

  • 7/23/2019 3 Relacioni model.pdf

    42/44

    3SQL manipulacija podacimaUnos, brisanje i auriranje torki

    INSERT

    INTO STUDENT(Ind, Ime, Adresa,Status)VALUES (11708, Ana, Niavska 11 Pirot,apsolvent) Mogu se izostaviti imena atributa (kolona) u klauzuli INTO, ali se

    vrednosti atributa moraju navesti u redosledu koji je defiisan emomrelacije

    Dobar stil je da se imena atributa eksplicitno navedu

    DELETE

    FROM STUDENT S

    WHERE S.ime= Ana Iz tabele STUDENT brie torku koja u koloni Ime ima vrednost Ana

    UPDATE STUDENT S

    SET S.Status= poslediplomacWHERE S.ind= 11708

    U tabeli STUDENT aurira torku koja u koloni Ind ima vrednost 11708tako to postavlja novu vrednost poslediplomac u koloni Status

    3

  • 7/23/2019 3 Relacioni model.pdf

    43/44

    3Operacijska komponenta

    Nad relacijama je definisan skup operacija Operacije omoguavaju specificiranje upita nad bazom

    podataka

    Rezultat pretraivanja je nova relacija koja moe bitiformirana od jedne ili vie relacija

    Postoje dva tipa operacija nad relacionim modelompodataka: Operacije relacione algebre

    Operacije relacionog rauna Nad torkama Nad domenima

  • 7/23/2019 3 Relacioni model.pdf

    44/44

    Relacioni model podataka

    Pitanja ???