[ Emp @ 11.01.2009. 12:20 ] @
Pozdrav svima.
Nacrtao sam E-R dijagram za sledeći zadatak:


Molim ako neko može da mi ukaže na greške,jer ih vjerovatno ima. :)
Takodje me zanima i kako da napravim vezu "direktorijum može da sadrži druge direktorijume"
Radio sam ga u ERwin-u.



edit:eto i slike

[Ovu poruku je menjao Emp dana 11.01.2009. u 20:10 GMT+1]
[ momsab @ 11.01.2009. 12:59 ] @
daj lepo sliku
[ Getsbi @ 11.01.2009. 20:19 ] @
Citat:
Emp: ......Takodje me zanima i kako da napravim vezu "direktorijum može da sadrži druge direktorijume"....


U entitetu Direktorijum dodaj atribut NadredjeniDirektorijum. Potom koristeći neidentifikujuću vezu klikni na
Naziv_dir, a potom na novi atribut NadredjeniDirektorijum. Tako se rekurzijom postiže hijerarhija.
[ Emp @ 12.01.2009. 10:04 ] @
Ne mogu da otvorim tvoj atach Getsbi.
Ne kapiram bas to oko veze izmedju Naziv_dir i NadredjeniDirektorijum,jer ne mogu da spajam atribute vezama vec enitete?
[ Getsbi @ 12.01.2009. 18:59 ] @
Citat:
Emp: .....ne mogu da spajam atribute vezama vec enitete?


Naravno da može. Veza se zove rekurzivna, hijerarhijskog je tipa i nad jednom tabelom. (postoji i rekurzivna veza nad dve tabele i ona je mrežnog tipa).
Slika je dole. Opis rada u prethodnom postu. Moj prošli atach fajl je snimljen verzijom 4.1.4. Verovatno je do verzije ErWin-a.
[ Emp @ 13.01.2009. 14:27 ] @
Hvala Getsbi!
Ostatak dijagrama je dobar?
[ Getsbi @ 13.01.2009. 15:34 ] @
Sad sam tek obratio pažnju na zadatak sa slike iz prvog posta.
Po meni fali entitet "KljucnaRec". Veze "Korisnik" sa "Dokument" i "Revizija" preko potkategorija treba da budu neidentifikujuće, eventualno obaveznog tipa kao i veza "KljucnaRec" sa "Dokument". Znači ovi atributi ne treba da budu delovi primarnog ključa u "Dokument" i "Revizija"

Kod ovakvog postavljanja zadataka gde nema dodatnog zapitkivanja, uvek postoji mogućnost lošeg razumevanja. Zato se ograđujem. Po meni bi bilo otprilike ovako kako sam nacrtao.

I još nešto. Ako osim "Kreatora" i "Revizora" neće postojati ni jedan drugi korisnik onda bi veza kategorije mogla da ostane kao potpuna struktura (ovako kako si je predstavio). U suprotnom ako poželiš da bude još i "ObičanKorisnik" (koji čita dokumente i vrši pretrage) i nastaviš da širiš krug, moraćeš da prebaciš na nepotpunu strukturu.

Obzirom da je zadatak, nek ostne ovako.







[Ovu poruku je menjao Getsbi dana 13.01.2009. u 16:48 GMT+1]
[ Emp @ 14.01.2009. 11:30 ] @
Heh i ja tek sad vidim da se spominje Ključna riječ u tekstu.Zaboravih na to.
To bi bilo to onda.
Hvala još jednom Getsbi.
[ Emp @ 15.01.2009. 16:21 ] @
Ponovo ja.
Javljaju mi se problemi kad pokušam da napravim bazu od ovog ER dijagrama.
Tačnije,problem mi pravi ona veza kojom se postiže rekurzija,jer kad pravim bazu bez nje,onda ide bez problema.


Bez rekurzivne veze bi išla ovako:
Code:
CREATE TABLE Direktorijum (
       Naziv_dir            varchar(45) NOT NULL,
       Opis_dir             varchar(45) NULL,
       Datum_kreiranja_dir  datetime NULL,
       NadredjeniDirektorijum varchar(45) NULL,
       PRIMARY KEY NONCLUSTERED (Naziv_dir)
)
go



e šta sad treba dodati na ovo gore za tu rekurzivnu vezu?

[ Getsbi @ 15.01.2009. 18:09 ] @
Ne kapiraju svi DBMS-ovi rekurzivnu vezu. Isključi je u ErWin-u. Generiši šemu baze podataka sa tim poljem NadređeniDirektorijum. Ponovo vrati rekurzivnu vezu u ErWin modelu.
Inače ErWin je bogatiji opcijama jer samo pogledaj sa koliko DBMS-ova treba da sarađuje (preko 20).
[ Emp @ 15.01.2009. 18:34 ] @
Hm...ne kapiram te.
Misliš da napravim bazu podataka bez te rekurzivne veze?

SQLserver2005 javlja grešku "Cannot define PRIMARY KEY constraint on nullable column in table 'Direktorijum'." kod:

Code:
CREATE TABLE Direktorijum (
       Naziv_dir            varchar(45) NULL,
       Opis_dir             varchar(45) NULL,
       Datum_kreiranja_dir  datetime NULL,
       NadredjeniDirektorijum varchar(45) NULL,
       PRIMARY KEY NONCLUSTERED (Naziv_dir), 
       FOREIGN KEY (Naziv_dir)
                             REFERENCES Direktorijum
)
go


Mada ovo i izgleda glupo jer je Naziv_dir i primary i foreign key?
Kako to ide kod rekurzivne veze?
Probao sam da stavim da je NadredjeniDirektorijum foreign key,ali isto neće.

PS.izvini što te smaram..ti mi jedini odgovaraš:)
[ Getsbi @ 15.01.2009. 20:41 ] @
Samo raskini rekurzivnu vezu u ErWinu. Postaraj se da Naziv_dir bude primarni ključ u entitetu direktorijum i da ne bude Null. Zadrži atribut NadredjeniDirektorijum. Ne možeš na silu da staviš da NadredjeniDirektorijum bude foreign key. Nakon generisanja šeme baze podataka vrati rekurzivnu vezu kakva je bila. ErWin je grafičko-tekstualna dokumentacija i za to treba da ostane dosledno predstavljen model.
U SQL Serveru ćeš imati normalnu tabelu Direktorijum (Naziv_dir (PK), Opis_dir, Datum_kreiranja_dir, NadredjeniDirektorijum).

Doslednosti radi ovaj zadnji prekrsti u oba alata kao Ndredjeni_dir. To sam ja malo našarenio sa notacijom koju ja koristim. To isto važi i za KljucnaRecID.



[Ovu poruku je menjao Getsbi dana 15.01.2009. u 21:54 GMT+1]
[ Emp @ 16.01.2009. 02:36 ] @
Ok,kapiram sad.
Zahvaljujem
[ 2-D @ 21.01.2009. 20:03 ] @
Pozdrav svima, imam jedan problem oko crtanja er dijagrama. Naime, imali smo kolokvijum iz baza podataka koji je položilo 5 od 34 studenta.
Predmet je, kao što sam već rekao, Baze podata, smer - Dizajner medija u obrazovanju, fakultet - Pedagoški Sombor.

Problem je u sledećem - dobili smo tekst zadatka (kolokvijum.doc) na osnovu kojeg smo trebali da nacrtamo er dijagram. Ovako je trebalo da izgleda rešenje, po asistentu - (picture002.jpg)

Da ne ulazim u polemiku o asistentu i profesoru, metodu bodovanja i ostalom, ja bih zamolio da li iko može da nacrta kako on misli da bi trebalo da izgleda ovaj dijagram, čisto jer mi treba još koje rešenje, pošto mi se ovo čini da baš i nije tačno. Unapred hvala

[Ovu poruku je menjao 2-D dana 22.01.2009. u 14:04 GMT+1]